mirror of https://github.com/pulumi/pulumi.git
66 lines
1.6 KiB
C#
66 lines
1.6 KiB
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Pulumi;
|
|
using Aws = Pulumi.Aws;
|
|
|
|
return await Deployment.RunAsync(() =>
|
|
{
|
|
var aws_vpc = new Aws.Ec2.Vpc("aws_vpc", new()
|
|
{
|
|
CidrBlock = "10.0.0.0/16",
|
|
InstanceTenancy = "default",
|
|
});
|
|
|
|
var privateS3VpcEndpoint = new Aws.Ec2.VpcEndpoint("privateS3VpcEndpoint", new()
|
|
{
|
|
VpcId = aws_vpc.Id,
|
|
ServiceName = "com.amazonaws.us-west-2.s3",
|
|
});
|
|
|
|
var privateS3PrefixList = Aws.Ec2.GetPrefixList.Invoke(new()
|
|
{
|
|
PrefixListId = privateS3VpcEndpoint.PrefixListId,
|
|
});
|
|
|
|
var bar = new Aws.Ec2.NetworkAcl("bar", new()
|
|
{
|
|
VpcId = aws_vpc.Id,
|
|
});
|
|
|
|
var privateS3NetworkAclRule = new Aws.Ec2.NetworkAclRule("privateS3NetworkAclRule", new()
|
|
{
|
|
NetworkAclId = bar.Id,
|
|
RuleNumber = 200,
|
|
Egress = false,
|
|
Protocol = "tcp",
|
|
RuleAction = "allow",
|
|
CidrBlock = privateS3PrefixList.Apply(getPrefixListResult => getPrefixListResult.CidrBlocks[0]),
|
|
FromPort = 443,
|
|
ToPort = 443,
|
|
});
|
|
|
|
// A contrived example to test that helper nested records ( `filters`
|
|
// below) generate correctly when using output-versioned function
|
|
// invoke forms.
|
|
var amis = Aws.Ec2.GetAmiIds.Invoke(new()
|
|
{
|
|
Owners = new[]
|
|
{
|
|
bar.Id,
|
|
},
|
|
Filters = new[]
|
|
{
|
|
new Aws.Ec2.Inputs.GetAmiIdsFilterInputArgs
|
|
{
|
|
Name = bar.Id,
|
|
Values = new[]
|
|
{
|
|
"pulumi*",
|
|
},
|
|
},
|
|
},
|
|
});
|
|
|
|
});
|
|
|