github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/output-funcs-aws-pp/go/output-funcs-aws.go (about) 1 package main 2 3 import ( 4 "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2" 5 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 6 ) 7 8 func main() { 9 pulumi.Run(func(ctx *pulumi.Context) error { 10 aws_vpc, err := ec2.NewVpc(ctx, "aws_vpc", &ec2.VpcArgs{ 11 CidrBlock: pulumi.String("10.0.0.0/16"), 12 InstanceTenancy: pulumi.String("default"), 13 }) 14 if err != nil { 15 return err 16 } 17 privateS3VpcEndpoint, err := ec2.NewVpcEndpoint(ctx, "privateS3VpcEndpoint", &ec2.VpcEndpointArgs{ 18 VpcId: aws_vpc.ID(), 19 ServiceName: pulumi.String("com.amazonaws.us-west-2.s3"), 20 }) 21 if err != nil { 22 return err 23 } 24 privateS3PrefixList := ec2.GetPrefixListOutput(ctx, ec2.GetPrefixListOutputArgs{ 25 PrefixListId: privateS3VpcEndpoint.PrefixListId, 26 }, nil) 27 bar, err := ec2.NewNetworkAcl(ctx, "bar", &ec2.NetworkAclArgs{ 28 VpcId: aws_vpc.ID(), 29 }) 30 if err != nil { 31 return err 32 } 33 _, err = ec2.NewNetworkAclRule(ctx, "privateS3NetworkAclRule", &ec2.NetworkAclRuleArgs{ 34 NetworkAclId: bar.ID(), 35 RuleNumber: pulumi.Int(200), 36 Egress: pulumi.Bool(false), 37 Protocol: pulumi.String("tcp"), 38 RuleAction: pulumi.String("allow"), 39 CidrBlock: privateS3PrefixList.ApplyT(func(privateS3PrefixList ec2.GetPrefixListResult) (string, error) { 40 return privateS3PrefixList.CidrBlocks[0], nil 41 }).(pulumi.StringOutput), 42 FromPort: pulumi.Int(443), 43 ToPort: pulumi.Int(443), 44 }) 45 if err != nil { 46 return err 47 } 48 _ = ec2.GetAmiIdsOutput(ctx, ec2.GetAmiIdsOutputArgs{ 49 Owners: pulumi.StringArray{ 50 bar.ID(), 51 }, 52 Filters: ec2.GetAmiIdsFilterArray{ 53 &ec2.GetAmiIdsFilterArgs{ 54 Name: bar.ID(), 55 Values: pulumi.StringArray{ 56 pulumi.String("pulumi*"), 57 }, 58 }, 59 }, 60 }, nil) 61 return nil 62 }) 63 }