Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2"
- "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
- )
- func main() {
- pulumi.Run(func(ctx *pulumi.Context) error {
- // Create a new security group for port 80.
- group, err := ec2.NewSecurityGroup(ctx, "web-secgrp", &ec2.SecurityGroupArgs{
- Ingress: ec2.SecurityGroupIngressArray{
- ec2.SecurityGroupIngressArgs{
- Protocol: pulumi.String("tcp"),
- FromPort: pulumi.Int(80),
- ToPort: pulumi.Int(80),
- CidrBlocks: pulumi.StringArray{pulumi.String("0.0.0.0/0")},
- },
- ec2.SecurityGroupIngressArgs{
- Protocol: pulumi.String("tcp"),
- FromPort: pulumi.Int(22),
- ToPort: pulumi.Int(22),
- CidrBlocks: pulumi.StringArray{pulumi.String("0.0.0.0/0")},
- },
- },
- })
- if err != nil {
- return err
- }
- keypair, err = ec2.NewKeyPair(ctx, "pulumi-deployer", &ec2.KeyPairArgs{
- PublicKey: pulumi.String("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com"),
- })
- srv, err := ec2.NewInstance(ctx, "web-server-www", &ec2.InstanceArgs{
- Tags: pulumi.StringMap{"Name": pulumi.String("web-server-www")},
- InstanceType: pulumi.String("t2.micro"), // t2.micro is available in the AWS free tier.
- KeyName: keypair.KeyName,
- VpcSecurityGroupIds: pulumi.StringArray{group.ID()},
- Ami: pulumi.String("ami-0d058fe428540cd89"),
- UserData: pulumi.String(`#!/bin/bash
- echo "Hello, World!" > index.html
- nohup python -m SimpleHTTPServer 80 &`),
- })
- // Export the resulting server's IP address and DNS name.
- ctx.Export("publicIp", srv.PublicIp)
- ctx.Export("publicHostName", srv.PublicDns)
- return nil
- })
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement