pulumi/pkg/codegen/internal/test/testdata/aws-webserver.pp.cs
Mikhail Shilkov f66100ce28
Initial support for C# program gen (#4611)
Initial support for C# program gen
2020-05-19 10:18:38 +02:00

71 lines
1.9 KiB
C#

using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
// Create a new security group for port 80.
var securityGroup = new Aws.Ec2.SecurityGroup("securityGroup", new Aws.Ec2.SecurityGroupArgs
{
Ingress =
{
new Aws.Ec2.Inputs.SecurityGroupIngressArgs
{
Protocol = "tcp",
FromPort = 0,
ToPort = 0,
CidrBlocks =
{
"0.0.0.0/0",
},
},
},
});
var ami = Output.Create(Aws.GetAmi.InvokeAsync(new Aws.GetAmiArgs
{
Filters =
{
new Aws.Inputs.GetAmiFilterArgs
{
Name = "name",
Values =
{
"amzn-ami-hvm-*-x86_64-ebs",
},
},
},
Owners =
{
"137112412989",
},
MostRecent = true,
}));
// Create a simple web server using the startup script for the instance.
var server = new Aws.Ec2.Instance("server", new Aws.Ec2.InstanceArgs
{
Tags =
{
{ "Name", "web-server-www" },
},
InstanceType = "t2.micro",
SecurityGroups =
{
securityGroup.Name,
},
Ami = ami.Apply(ami => ami.Id),
UserData = @"#!/bin/bash
echo ""Hello, World!"" > index.html
nohup python -m SimpleHTTPServer 80 &
",
});
this.PublicIp = server.PublicIp;
this.PublicHostName = server.PublicDns;
}
[Output("publicIp")]
public Output<string> PublicIp { get; set; }
[Output("publicHostName")]
public Output<string> PublicHostName { get; set; }
}