public MyStack() { var elasticbeanstalk = new Aws.Iam.ServiceLinkedRole("elasticbeanstalk", new Aws.Iam.ServiceLinkedRoleArgs { AwsServiceName = "elasticbeanstalk.amazonaws.com", }); }
public MyStack() { var config = new Config(); var vpc = config.RequireObject <dynamic>("vpc"); var domain = config.Get("domain") ?? "tf-test"; var selectedVpc = Output.Create(Aws.Ec2.GetVpc.InvokeAsync(new Aws.Ec2.GetVpcArgs { Tags = { { "Name", vpc }, }, })); var selectedSubnetIds = selectedVpc.Apply(selectedVpc => Output.Create(Aws.Ec2.GetSubnetIds.InvokeAsync(new Aws.Ec2.GetSubnetIdsArgs { Tags = { { "Tier", "private" }, }, VpcId = selectedVpc.Id, }))); var currentRegion = Output.Create(Aws.GetRegion.InvokeAsync()); var currentCallerIdentity = Output.Create(Aws.GetCallerIdentity.InvokeAsync()); var esSecurityGroup = new Aws.Ec2.SecurityGroup("esSecurityGroup", new Aws.Ec2.SecurityGroupArgs { Description = "Managed by Pulumi", Ingress = { new Aws.Ec2.Inputs.SecurityGroupIngressArgs { CidrBlocks = { selectedVpc.Apply(selectedVpc => selectedVpc.CidrBlock), }, FromPort = 443, Protocol = "tcp", ToPort = 443, }, }, VpcId = selectedVpc.Apply(selectedVpc => selectedVpc.Id), }); var esServiceLinkedRole = new Aws.Iam.ServiceLinkedRole("esServiceLinkedRole", new Aws.Iam.ServiceLinkedRoleArgs { AwsServiceName = "es.amazonaws.com", }); var esDomain = new Aws.ElasticSearch.Domain("esDomain", new Aws.ElasticSearch.DomainArgs { AccessPolicies = Output.Tuple(currentRegion, currentCallerIdentity).Apply(values => { var currentRegion = values.Item1; var currentCallerIdentity = values.Item2; return(@$ "{{ " "Version" ": " "2012-10-17" ", " "Statement" ": [