Skip to content
v2.277.0

Experimental

@aws-cdk/aws-ec2-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.

VpcV2Props Struct ​

Properties to define VPC [disable-awslint:from-method].

Example ​

ts
const stack = new Stack();
const myVpc = new VpcV2(this, 'Vpc',{
      primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),
      secondaryAddressBlocks: [IpAddresses.amazonProvidedIpv6({
      cidrBlockName: 'AmazonProvided',
    })]
    });

const eigw = new EgressOnlyInternetGateway(this, 'EIGW', {
  vpc: myVpc,
});

const routeTable = new RouteTable(this, 'RouteTable', {
  vpc: myVpc,
});

routeTable.addRoute('EIGW', '::/0', { gateway: eigw });
python
stack = Stack()
my_vpc = VpcV2(self, "Vpc",
    primary_address_block=IpAddresses.ipv4("10.1.0.0/16"),
    secondary_address_blocks=[IpAddresses.amazon_provided_ipv6(
        cidr_block_name="AmazonProvided"
    )]
)

eigw = EgressOnlyInternetGateway(self, "EIGW",
    vpc=my_vpc
)

route_table = RouteTable(self, "RouteTable",
    vpc=my_vpc
)

route_table.add_route("EIGW", "::/0", {"gateway": eigw})
java
Stack stack = new Stack();
VpcV2 myVpc = VpcV2.Builder.create(this, "Vpc")
        .primaryAddressBlock(IpAddresses.ipv4("10.1.0.0/16"))
        .secondaryAddressBlocks(List.of(IpAddresses.amazonProvidedIpv6(SecondaryAddressProps.builder()
                .cidrBlockName("AmazonProvided")
                .build())))
        .build();

EgressOnlyInternetGateway eigw = EgressOnlyInternetGateway.Builder.create(this, "EIGW")
        .vpc(myVpc)
        .build();

RouteTable routeTable = RouteTable.Builder.create(this, "RouteTable")
        .vpc(myVpc)
        .build();

routeTable.addRoute("EIGW", "::/0", Map.of("gateway", eigw));
csharp
// Install: dotnet add package Amazon.CDK.AWS.ec2.Alpha
var stack = new Stack();
var myVpc = new VpcV2(this, "Vpc", new VpcV2Props {
    PrimaryAddressBlock = IpAddresses.Ipv4("10.1.0.0/16"),
    SecondaryAddressBlocks = new [] { IpAddresses.AmazonProvidedIpv6(new SecondaryAddressProps {
        CidrBlockName = "AmazonProvided"
    }) }
});

var eigw = new EgressOnlyInternetGateway(this, "EIGW", new EgressOnlyInternetGatewayProps {
    Vpc = myVpc
});

var routeTable = new RouteTable(this, "RouteTable", new RouteTableProps {
    Vpc = myVpc
});

routeTable.AddRoute("EIGW", "::/0", new Dictionary<string, IRouteTarget?> { { "gateway", eigw } });
go
// Install: go get github.com/aws/aws-cdk-go/awsec2alpha/v2
stack := awscdk.Newstack()
myVpc := awsec2alpha.NewVpcV2(this, jsii.String("Vpc"), &VpcV2Props{
	PrimaryAddressBlock: awsec2alpha.IpAddresses_Ipv4(jsii.String("10.1.0.0/16")),
	SecondaryAddressBlocks: []IIpAddresses{
		awsec2alpha.IpAddresses_AmazonProvidedIpv6(&SecondaryAddressProps{
			CidrBlockName: jsii.String("AmazonProvided"),
		}),
	},
})

eigw := awsec2alpha.NewEgressOnlyInternetGateway(this, jsii.String("EIGW"), &EgressOnlyInternetGatewayProps{
	Vpc: myVpc,
})

routeTable := awsec2alpha.NewRouteTable(this, jsii.String("RouteTable"), &RouteTableProps{
	Vpc: myVpc,
})

routeTable.AddRoute(jsii.String("EIGW"), jsii.String("::/0"), map[string]iRouteTarget{
	"gateway": eigw,
})

Properties ​

defaultInstanceTenancyoptionalDefaultInstanceTenancydefault_instance_tenancyoptionalDefaultInstanceTenancydefaultInstanceTenancyoptionalDefaultInstanceTenancyDefaultInstanceTenancyoptionalDefaultInstanceTenancyDefaultInstanceTenancyoptionalDefaultInstanceTenancy#
The default tenancy of instances launched into the VPC.

Default: DefaultInstanceTenancy.Default (shared) tenancy

By setting this to dedicated tenancy, instances will be launched on hardware dedicated to a single AWS customer, unless specifically specified at instance launch time. Please note, not all instance types are usable with Dedicated tenancy.

enableDnsHostnamesoptionalbooleanenable_dns_hostnamesoptionalboolenableDnsHostnamesoptionalBooleanEnableDnsHostnamesoptionalboolEnableDnsHostnamesoptional*bool= true#
Indicates whether the instances launched in the VPC get DNS hostnames.
enableDnsSupportoptionalbooleanenable_dns_supportoptionalboolenableDnsSupportoptionalBooleanEnableDnsSupportoptionalboolEnableDnsSupportoptional*bool= true#
Indicates whether the DNS resolution is supported for the VPC.
primaryAddressBlockoptionalIIpAddressesprimary_address_blockoptionalIIpAddressesprimaryAddressBlockoptionalIIpAddressesPrimaryAddressBlockoptionalIIpAddressesPrimaryAddressBlockoptionalIIpAddresses#
A must IPv4 CIDR block for the VPC.

Default: Ipv4 CIDR Block ('10.0.0.0/16')

secondaryAddressBlocksoptionalIIpAddresses[]secondary_address_blocksoptionaltyping.List[IIpAddresses]secondaryAddressBlocksoptionalList<IIpAddresses>SecondaryAddressBlocksoptionalIIpAddresses[]SecondaryAddressBlocksoptional*[]IIpAddresses#
The secondary CIDR blocks associated with the VPC.

Default: No secondary IP address

Can be IPv4 or IPv6, two IPv4 ranges must follow RFC#1918 convention For more information,

vpcNameoptionalstringvpc_nameoptionalstrvpcNameoptionalStringVpcNameoptionalstringVpcNameoptional*string#
Physical name for the VPC.

Default: autogenerated by CDK