@aws-cdk/aws-ec2-alpha 2.176.0-alpha.0 → 2.177.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +410 -191
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +3 -1
- package/README.md +32 -0
- package/lib/ipam.js +3 -3
- package/lib/route.js +11 -11
- package/lib/subnet-v2.js +7 -7
- package/lib/util.d.ts +2 -7
- package/lib/util.js +53 -21
- package/lib/vpc-v2-base.js +7 -7
- package/lib/vpc-v2.d.ts +56 -0
- package/lib/vpc-v2.js +50 -10
- package/package.json +7 -7
package/.jsii
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"url": "https://aws.amazon.com"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"aws-cdk-lib": "^2.
|
|
11
|
+
"aws-cdk-lib": "^2.177.0",
|
|
12
12
|
"constructs": "^10.0.0"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -2567,6 +2567,32 @@
|
|
|
2567
2567
|
}
|
|
2568
2568
|
}
|
|
2569
2569
|
},
|
|
2570
|
+
"aws-cdk-lib.aws_notifications": {
|
|
2571
|
+
"targets": {
|
|
2572
|
+
"dotnet": {
|
|
2573
|
+
"package": "Amazon.CDK.AWS.Notifications"
|
|
2574
|
+
},
|
|
2575
|
+
"java": {
|
|
2576
|
+
"package": "software.amazon.awscdk.services.notifications"
|
|
2577
|
+
},
|
|
2578
|
+
"python": {
|
|
2579
|
+
"module": "aws_cdk.aws_notifications"
|
|
2580
|
+
}
|
|
2581
|
+
}
|
|
2582
|
+
},
|
|
2583
|
+
"aws-cdk-lib.aws_notificationscontacts": {
|
|
2584
|
+
"targets": {
|
|
2585
|
+
"dotnet": {
|
|
2586
|
+
"package": "Amazon.CDK.AWS.NotificationsContacts"
|
|
2587
|
+
},
|
|
2588
|
+
"java": {
|
|
2589
|
+
"package": "software.amazon.awscdk.services.notificationscontacts"
|
|
2590
|
+
},
|
|
2591
|
+
"python": {
|
|
2592
|
+
"module": "aws_cdk.aws_notificationscontacts"
|
|
2593
|
+
}
|
|
2594
|
+
}
|
|
2595
|
+
},
|
|
2570
2596
|
"aws-cdk-lib.aws_oam": {
|
|
2571
2597
|
"targets": {
|
|
2572
2598
|
"dotnet": {
|
|
@@ -3913,7 +3939,7 @@
|
|
|
3913
3939
|
"stability": "experimental"
|
|
3914
3940
|
},
|
|
3915
3941
|
"homepage": "https://github.com/aws/aws-cdk",
|
|
3916
|
-
"jsiiVersion": "5.7.
|
|
3942
|
+
"jsiiVersion": "5.7.4 (build fc2a28e)",
|
|
3917
3943
|
"keywords": [
|
|
3918
3944
|
"aws",
|
|
3919
3945
|
"cdk",
|
|
@@ -3935,7 +3961,7 @@
|
|
|
3935
3961
|
},
|
|
3936
3962
|
"name": "@aws-cdk/aws-ec2-alpha",
|
|
3937
3963
|
"readme": {
|
|
3938
|
-
"markdown": "# Amazon VpcV2 Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\n\n## VpcV2\n\n`VpcV2` is a re-write of the [`ec2.Vpc`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Vpc.html) construct. This new construct enables higher level of customization\non the VPC being created. `VpcV2` implements the existing [`IVpc`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html), therefore,\n`VpcV2` is compatible with other constructs that accepts `IVpc` (e.g. [`ApplicationLoadBalancer`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer.html#construct-props)).\n\nTo create a VPC with both IPv4 and IPv6 support:\n\n```ts\n\nconst stack = new Stack();\nnew VpcV2(this, 'Vpc', {\n primaryAddressBlock: IpAddresses.ipv4('10.0.0.0/24'),\n secondaryAddressBlocks: [\n IpAddresses.amazonProvidedIpv6({cidrBlockName: 'AmazonProvidedIpv6'}),\n ],\n});\n```\n\n`VpcV2` does not automatically create subnets or allocate IP addresses, which is different from the `Vpc` construct.\n\n## SubnetV2\n\n`SubnetV2` is a re-write of the [`ec2.Subnet`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Subnet.html) construct.\nThis new construct can be used to add subnets to a `VpcV2` instance:\n\n```ts\n\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc', {\n secondaryAddressBlocks: [\n IpAddresses.amazonProvidedIpv6({ cidrBlockName: 'AmazonProvidedIp'}),\n ],\n});\n\nnew SubnetV2(this, 'subnetA', {\n vpc: myVpc,\n availabilityZone: 'us-east-1a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n ipv6CidrBlock: new IpCidr('2a05:d02c:25:4000::/60'),\n subnetType: SubnetType.PRIVATE_ISOLATED,\n})\n```\n\n## IP Addresses Management\n\nBy default `VpcV2` uses `10.0.0.0/16` as the primary CIDR if none is defined.\nAdditional CIDRs can be adding to the VPC via the `secondaryAddressBlocks` prop.\nThe following example illustrates the different options of defining the address blocks:\n\n```ts\n\nconst stack = new Stack();\nconst ipam = new Ipam(this, 'Ipam', {\n operatingRegion: ['us-west-1']\n});\nconst ipamPublicPool = ipam.publicScope.addPool('PublicPoolA', {\n addressFamily: AddressFamily.IP_V6,\n awsService: AwsServiceName.EC2,\n locale: 'us-west-1',\n publicIpSource: IpamPoolPublicIpSource.AMAZON,\n});\nipamPublicPool.provisionCidr('PublicPoolACidrA', { netmaskLength: 52 } );\n\nconst ipamPrivatePool = ipam.privateScope.addPool('PrivatePoolA', {\n addressFamily: AddressFamily.IP_V4,\n});\nipamPrivatePool.provisionCidr('PrivatePoolACidrA', { netmaskLength: 8 } );\n\nnew VpcV2(this, 'Vpc', {\n primaryAddressBlock: IpAddresses.ipv4('10.0.0.0/24'),\n secondaryAddressBlocks: [\n IpAddresses.amazonProvidedIpv6({ cidrBlockName: 'AmazonIpv6' }),\n IpAddresses.ipv6Ipam({\n ipamPool: ipamPublicPool,\n netmaskLength: 52,\n cidrBlockName: 'ipv6Ipam',\n }),\n IpAddresses.ipv4Ipam({\n ipamPool: ipamPrivatePool,\n netmaskLength: 8,\n cidrBlockName: 'ipv4Ipam',\n }),\n ],\n});\n```\n\nSince `VpcV2` does not create subnets automatically, users have full control over IP addresses allocation across subnets.\n\n\n## Routing\n\n`RouteTable` is a new construct that allows for route tables to be customized in a variety of ways. For instance, the following example shows how a custom route table can be created and appended to a subnet:\n\n```ts\n\nconst myVpc = new VpcV2(this, 'Vpc');\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: myVpc,\n});\nconst subnet = new SubnetV2(this, 'Subnet', {\n vpc: myVpc,\n routeTable,\n availabilityZone: 'eu-west-2a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n subnetType: SubnetType.PRIVATE_ISOLATED,\n});\n```\n\n`Routes` can be created to link subnets to various different AWS services via gateways and endpoints. Each unique route target has its own dedicated construct that can be routed to a given subnet via the `Route` construct. An example using the `InternetGateway` construct can be seen below:\n\n```ts\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc');\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: myVpc,\n});\nconst subnet = new SubnetV2(this, 'Subnet', {\n vpc: myVpc,\n availabilityZone: 'eu-west-2a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n subnetType: SubnetType.PRIVATE_ISOLATED });\n\nconst igw = new InternetGateway(this, 'IGW', {\n vpc: myVpc,\n});\nnew Route(this, 'IgwRoute', {\n routeTable,\n destination: '0.0.0.0/0',\n target: { gateway: igw },\n});\n```\n\nAlternatively, `Routes` can also be created via method `addRoute` in the `RouteTable` class. An example using the `EgressOnlyInternetGateway` construct can be seen below:\nNote: `EgressOnlyInternetGateway` can only be used to set up outbound IPv6 routing.\n\n```ts\n\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc',{\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n secondaryAddressBlocks: [IpAddresses.amazonProvidedIpv6({\n cidrBlockName: 'AmazonProvided',\n })]\n });\n\nconst eigw = new EgressOnlyInternetGateway(this, 'EIGW', {\n vpc: myVpc,\n});\n\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: myVpc,\n});\n\nrouteTable.addRoute('EIGW', '::/0', { gateway: eigw });\n```\n\nOther route targets may require a deeper set of parameters to set up properly. For instance, the example below illustrates how to set up a `NatGateway`:\n\n```ts\n\nconst myVpc = new VpcV2(this, 'Vpc');\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: myVpc,\n});\nconst subnet = new SubnetV2(this, 'Subnet', {\n vpc: myVpc,\n availabilityZone: 'eu-west-2a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n subnetType: SubnetType.PRIVATE_ISOLATED });\n\nconst natgw = new NatGateway(this, 'NatGW', {\n subnet: subnet,\n vpc: myVpc,\n connectivityType: NatConnectivityType.PRIVATE,\n privateIpAddress: '10.0.0.42',\n});\nnew Route(this, 'NatGwRoute', {\n routeTable,\n destination: '0.0.0.0/0',\n target: { gateway: natgw },\n});\n```\n\nIt is also possible to set up endpoints connecting other AWS services. For instance, the example below illustrates the linking of a Dynamo DB endpoint via the existing `ec2.GatewayVpcEndpoint` construct as a route target:\n\n```ts\n\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc');\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: myVpc,\n});\nconst subnet = new SubnetV2(this, 'Subnet', {\n vpc: myVpc,\n availabilityZone: 'eu-west-2a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n subnetType: SubnetType.PRIVATE });\n\nconst dynamoEndpoint = new ec2.GatewayVpcEndpoint(this, 'DynamoEndpoint', {\n service: ec2.GatewayVpcEndpointAwsService.DYNAMODB,\n vpc: myVpc,\n subnets: [subnet],\n});\nnew Route(this, 'DynamoDBRoute', {\n routeTable,\n destination: '0.0.0.0/0',\n target: { endpoint: dynamoEndpoint },\n});\n\n```\n\n## VPC Peering Connection\n\nVPC peering connection allows you to connect two VPCs and route traffic between them using private IP addresses. The VpcV2 construct supports creating VPC peering connections through the `VPCPeeringConnection` construct from the `route` module.\n\nPeering Connection cannot be established between two VPCs with overlapping CIDR ranges. Please make sure the two VPC CIDRs do not overlap with each other else it will throw an error.\n\nFor more information, see [What is VPC peering?](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html).\n\nThe following show examples of how to create a peering connection between two VPCs for all possible combinations of same-account or cross-account, and same-region or cross-region configurations.\n\nNote: You cannot create a VPC peering connection between VPCs that have matching or overlapping CIDR blocks\n\n**Case 1: Same Account and Same Region Peering Connection**\n\n```ts\nconst stack = new Stack();\n\nconst vpcA = new VpcV2(this, 'VpcA', {\n primaryAddressBlock: IpAddresses.ipv4('10.0.0.0/16'),\n});\n\nconst vpcB = new VpcV2(this, 'VpcB', {\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n});\n\nconst peeringConnection = vpcA.createPeeringConnection('sameAccountSameRegionPeering', {\n acceptorVpc: vpcB,\n});\n```\n\n**Case 2: Same Account and Cross Region Peering Connection**\n\nThere is no difference from Case 1 when calling `createPeeringConnection`. The only change is that one of the VPCs are created in another stack with a different region. To establish cross region VPC peering connection, acceptorVpc needs to be imported to the requestor VPC stack using `fromVpcV2Attributes` method.\n\n```ts\nconst app = new App();\n\nconst stackA = new Stack(app, 'VpcStackA', { env: { account: '000000000000', region: 'us-east-1' } });\nconst stackB = new Stack(app, 'VpcStackB', { env: { account: '000000000000', region: 'us-west-2' } });\n\nconst vpcA = new VpcV2(stackA, 'VpcA', {\n primaryAddressBlock: IpAddresses.ipv4('10.0.0.0/16'),\n});\n\nnew VpcV2(stackB, 'VpcB', {\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n});\n\nconst vpcB = VpcV2.fromVpcV2Attributes(stackA, 'ImportedVpcB', {\n vpcId: 'MockVpcBid',\n vpcCidrBlock: '10.1.0.0/16',\n region: 'us-west-2',\n ownerAccountId: '000000000000',\n });\n\n\nconst peeringConnection = vpcA.createPeeringConnection('sameAccountCrossRegionPeering', {\n acceptorVpc: vpcB,\n});\n```\n\n**Case 3: Cross Account Peering Connection**\n\nFor cross-account connections, the acceptor account needs an IAM role that grants the requestor account permission to initiate the connection. Create a new IAM role in the acceptor account using method `createAcceptorVpcRole` to provide the necessary permissions.\n\nOnce role is created in account, provide role arn for field `peerRoleArn` under method `createPeeringConnection`\n\n```ts\nconst stack = new Stack();\n\nconst acceptorVpc = new VpcV2(this, 'VpcA', {\n primaryAddressBlock: IpAddresses.ipv4('10.0.0.0/16'),\n});\n\nconst acceptorRoleArn = acceptorVpc.createAcceptorVpcRole('000000000000'); // Requestor account ID\n```\n\nAfter creating an IAM role in the acceptor account, we can initiate the peering connection request from the requestor VPC. Import acceptorVpc to the stack using `fromVpcV2Attributes` method, it is recommended to specify owner account id of the acceptor VPC in case of cross account peering connection, if acceptor VPC is hosted in different region provide region value for import as well.\nThe following code snippet demonstrates how to set up VPC peering between two VPCs in different AWS accounts using CDK:\n\n```ts\nconst stack = new Stack();\n\nconst acceptorVpc = VpcV2.fromVpcV2Attributes(this, 'acceptorVpc', {\n vpcId: 'vpc-XXXX',\n vpcCidrBlock: '10.0.0.0/16',\n region: 'us-east-2',\n ownerAccountId: '111111111111',\n });\n\nconst acceptorRoleArn = 'arn:aws:iam::111111111111:role/VpcPeeringRole';\n\nconst requestorVpc = new VpcV2(this, 'VpcB', {\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n});\n\nconst peeringConnection = requestorVpc.createPeeringConnection('crossAccountCrossRegionPeering', {\n acceptorVpc: acceptorVpc,\n peerRoleArn: acceptorRoleArn,\n});\n```\n\n### Route Table Configuration\n\nAfter establishing the VPC peering connection, routes must be added to the respective route tables in the VPCs to enable traffic flow. If a route is added to the requestor stack, information will be able to flow from the requestor VPC to the acceptor VPC, but not in the reverse direction. For bi-directional communication, routes need to be added in both VPCs from their respective stacks.\n\nFor more information, see [Update your route tables for a VPC peering connection](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-routing.html).\n\n```ts\nconst stack = new Stack();\n\nconst acceptorVpc = new VpcV2(this, 'VpcA', {\n primaryAddressBlock: IpAddresses.ipv4('10.0.0.0/16'),\n});\n\nconst requestorVpc = new VpcV2(this, 'VpcB', {\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n});\n\nconst peeringConnection = requestorVpc.createPeeringConnection('peeringConnection', {\n acceptorVpc: acceptorVpc,\n});\n\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: requestorVpc,\n});\n\nrouteTable.addRoute('vpcPeeringRoute', '10.0.0.0/16', { gateway: peeringConnection });\n```\n\nThis can also be done using AWS CLI. For more information, see [create-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route.html).\n\n```bash\n# Add a route to the requestor VPC route table\naws ec2 create-route --route-table-id rtb-requestor --destination-cidr-block 10.0.0.0/16 --vpc-peering-connection-id pcx-xxxxxxxx\n\n# For bi-directional add a route in the acceptor vpc account as well\naws ec2 create-route --route-table-id rtb-acceptor --destination-cidr-block 10.1.0.0/16 --vpc-peering-connection-id pcx-xxxxxxxx\n```\n\n### Deleting the Peering Connection\n\nTo delete a VPC peering connection, use the following command:\n\n```bash\naws ec2 delete-vpc-peering-connection --vpc-peering-connection-id pcx-xxxxxxxx\n```\n\nFor more information, see [Delete a VPC peering connection](https://docs.aws.amazon.com/vpc/latest/peering/create-vpc-peering-connection.html#delete-vpc-peering-connection).\n\n## Adding Egress-Only Internet Gateway to VPC\n\nAn egress-only internet gateway is a horizontally scaled, redundant, and highly available VPC component that allows outbound communication over IPv6 from instances in your VPC to the internet, and prevents the internet from initiating an IPv6 connection with your instances.\n\nFor more information see [Enable outbound IPv6 traffic using an egress-only internet gateway](https://docs.aws.amazon.com/vpc/latest/userguide/egress-only-internet-gateway.html).\n\nVpcV2 supports adding an egress only internet gateway to VPC using the `addEgressOnlyInternetGateway` method.\n\nBy default, this method sets up a route to all outbound IPv6 address ranges, unless a specific destination is provided by the user. It can only be configured for IPv6-enabled VPCs.\nThe `Subnets` parameter accepts a `SubnetFilter`, which can be based on a `SubnetType` in VpcV2. A new route will be added to the route tables of all subnets that match this filter.\n\n```ts\n\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc',{\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n secondaryAddressBlocks: [IpAddresses.amazonProvidedIpv6({\n cidrBlockName: 'AmazonProvided',\n })]\n });\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: myVpc,\n});\nconst subnet = new SubnetV2(this, 'Subnet', {\n vpc: myVpc,\n availabilityZone: 'eu-west-2a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n ipv6CidrBlock: new IpCidr('2001:db8:1::/64'),\n subnetType: SubnetType.PRIVATE });\n\nmyVpc.addEgressOnlyInternetGateway({\n subnets: [{subnetType: SubnetType.PRIVATE}],\n destination: '::/60',\n})\n```\n\n## Adding NATGateway to the VPC\n\nA NAT gateway is a Network Address Translation (NAT) service.You can use a NAT gateway so that instances in a private subnet can connect to services outside your VPC but external services cannot initiate a connection with those instances.\n\nFor more information, see [NAT gateway basics](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html).\n\nWhen you create a NAT gateway, you specify one of the following connectivity types:\n\n**Public – (Default)**: Instances in private subnets can connect to the internet through a public NAT gateway, but cannot receive unsolicited inbound connections from the internet\n\n**Private**: Instances in private subnets can connect to other VPCs or your on-premises network through a private NAT gateway.\n\nTo define the NAT gateway connectivity type as `ConnectivityType.Public`, you need to ensure that there is an IGW(Internet Gateway) attached to the subnet's VPC.\nSince a NATGW is associated with a particular subnet, providing `subnet` field in the input props is mandatory.\n\nAdditionally, you can set up a route in any route table with the target set to the NAT Gateway. The function `addNatGateway` returns a `NATGateway` object that you can reference later.\n\nThe code example below provides the definition for adding a NAT gateway to your subnet:\n\n```ts\n\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc');\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: myVpc,\n});\nconst subnet = new SubnetV2(this, 'Subnet', {\n vpc: myVpc,\n availabilityZone: 'eu-west-2a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n subnetType: SubnetType.PUBLIC });\n\nmyVpc.addInternetGateway();\nmyVpc.addNatGateway({\n subnet: subnet,\n connectivityType: NatConnectivityType.PUBLIC,\n});\n```\n\n## Enable VPNGateway for the VPC\n\nA virtual private gateway is the endpoint on the VPC side of your VPN connection.\n\nFor more information, see [What is AWS Site-to-Site VPN?](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html).\n\nVPN route propagation is a feature in Amazon Web Services (AWS) that automatically updates route tables in your Virtual Private Cloud (VPC) with routes learned from a VPN connection.\n\nTo enable VPN route propagation, use the `vpnRoutePropagation` property to specify the subnets as an input to the function. VPN route propagation will then be enabled for each subnet with the corresponding route table IDs.\n\nAdditionally, you can set up a route in any route table with the target set to the VPN Gateway. The function `enableVpnGatewayV2` returns a `VPNGatewayV2` object that you can reference later.\n\nThe code example below provides the definition for setting up a VPN gateway with `vpnRoutePropagation` enabled:\n\n```ts\n\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc');\nconst vpnGateway = myVpc.enableVpnGatewayV2({\n vpnRoutePropagation: [{ subnetType: SubnetType.PUBLIC }],\n type: VpnConnectionType.IPSEC_1,\n});\n\nconst routeTable = new RouteTable(stack, 'routeTable', {\n vpc: myVpc\n } );\n\nnew Route(stack, 'route', {\n destination: '172.31.0.0/24',\n target: { gateway: vpnGateway },\n routeTable: routeTable,\n});\n```\n\n## Adding InternetGateway to the VPC\n\nAn internet gateway is a horizontally scaled, redundant, and highly available VPC component that allows communication between your VPC and the internet. It supports both IPv4 and IPv6 traffic.\n\nFor more information, see [Enable VPC internet access using internet gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-igw-internet-access.html).\n\nYou can add an internet gateway to a VPC using `addInternetGateway` method. By default, this method creates a route in all Public Subnets with outbound destination set to `0.0.0.0` for IPv4 and `::0` for IPv6 enabled VPC.\nInstead of using the default settings, you can configure a custom destination range by providing an optional input `destination` to the method.\n\nThe code example below shows how to add an internet gateway with a custom outbound destination IP range:\n\n```ts\n\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc');\n\nconst subnet = new SubnetV2(this, 'Subnet', {\n vpc: myVpc,\n availabilityZone: 'eu-west-2a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n subnetType: SubnetType.PUBLIC });\n\nmyVpc.addInternetGateway({\n ipv4Destination: '192.168.0.0/16',\n});\n```\n\n## Importing an existing VPC\n\nYou can import an existing VPC and its subnets using the `VpcV2.fromVpcV2Attributes()` method or an individual subnet using `SubnetV2.fromSubnetV2Attributes()` method.\n\n### Importing a VPC\n\nTo import an existing VPC, use the `VpcV2.fromVpcV2Attributes()` method. You'll need to provide the VPC ID, primary CIDR block, and information about the subnets. You can import secondary address as well created through IPAM, BYOIP(IPv4) or enabled through Amazon Provided IPv6. You must provide VPC Id and its primary CIDR block for importing it.\n\nIf you wish to add a new subnet to imported VPC, new subnet's IP range(IPv4) will be validated against provided secondary and primary address block to confirm that it is within the the range of VPC.\n\nHere's an example of importing a VPC with only the required parameters\n\n``` ts\n\nconst stack = new Stack();\n\nconst importedVpc = VpcV2.fromVpcV2Attributes(stack, 'ImportedVpc', {\n vpcId: 'mockVpcID',\n vpcCidrBlock: '10.0.0.0/16',\n});\n\n```\n\nIn case of cross account or cross region VPC, its recommended to provide region and ownerAccountId so that these values for the VPC can be used to populate correct arn value for the VPC. If a VPC region and account ID is not provided, then region and account configured in the stack will be used. Furthermore, these fields will be referenced later while setting up VPC peering connection, so its necessary to set these fields to a correct value.\n\nBelow is an example of importing a cross region and cross account VPC, VPC arn for this case would be 'arn:aws:ec2:us-west-2:123456789012:vpc/mockVpcID'\n\n``` ts\n\nconst stack = new Stack();\n\n//Importing a cross account or cross region VPC\nconst importedVpc = VpcV2.fromVpcV2Attributes(stack, 'ImportedVpc', {\n vpcId: 'mockVpcID',\n vpcCidrBlock: '10.0.0.0/16',\n ownerAccountId: '123456789012',\n region: 'us-west-2',\n});\n\n```\n\nHere's an example of how to import a VPC with multiple CIDR blocks, IPv6 support, and different subnet types:\n\nIn this example, we're importing a VPC with:\n\n - A primary CIDR block (10.1.0.0/16)\n - One secondary IPv4 CIDR block (10.2.0.0/16)\n - Two secondary address using IPAM pool (IPv4 and IPv6)\n - VPC has Amazon-provided IPv6 CIDR enabled\n - An isolated subnet in us-west-2a\n - A public subnet in us-west-2b\n\n```ts\n\nconst stack = new Stack();\n\nconst importedVpc = VpcV2.fromVpcV2Attributes(this, 'ImportedVPC', {\n vpcId: 'vpc-XXX',\n vpcCidrBlock: '10.1.0.0/16',\n secondaryCidrBlocks: [\n {\n cidrBlock: '10.2.0.0/16',\n cidrBlockName: 'ImportedBlock1',\n },\n {\n ipv6IpamPoolId: 'ipam-pool-XXX',\n ipv6NetmaskLength: 52,\n cidrBlockName: 'ImportedIpamIpv6',\n },\n {\n ipv4IpamPoolId: 'ipam-pool-XXX',\n ipv4IpamProvisionedCidrs: ['10.2.0.0/16'],\n cidrBlockName: 'ImportedIpamIpv4',\n },\n {\n amazonProvidedIpv6CidrBlock: true,\n }\n ],\n subnets: [{\n subnetName: 'IsolatedSubnet2',\n subnetId: 'subnet-03cd773c0fe08ed26',\n subnetType: SubnetType.PRIVATE_ISOLATED,\n availabilityZone: 'us-west-2a',\n ipv4CidrBlock: '10.2.0.0/24',\n routeTableId: 'rtb-0871c310f98da2cbb',\n },\n {\n subnetId: 'subnet-0fa477e01db27d820',\n subnetType: SubnetType.PUBLIC,\n availabilityZone: 'us-west-2b',\n ipv4CidrBlock: '10.3.0.0/24',\n routeTableId: 'rtb-014f3043098fe4b96',\n }],\n});\n\n// You can now use the imported VPC in your stack\n\n// Adding a new subnet to the imported VPC\nconst importedSubnet = new SubnetV2(this, 'NewSubnet', {\n availabilityZone: 'us-west-2a',\n ipv4CidrBlock: new IpCidr('10.2.2.0/24'),\n vpc: importedVpc,\n subnetType: SubnetType.PUBLIC,\n});\n\n// Adding gateways to the imported VPC\nimportedVpc.addInternetGateway();\nimportedVpc.addNatGateway({ subnet: importedSubnet });\nimportedVpc.addEgressOnlyInternetGateway();\n```\n\nYou can add more subnets as needed by including additional entries in the `isolatedSubnets`, `publicSubnets`, or other subnet type arrays (e.g., `privateSubnets`).\n\n### Importing Subnets\n\nYou can also import individual subnets using the `SubnetV2.fromSubnetV2Attributes()` method. This is useful when you need to work with specific subnets independently of a VPC.\n\nHere's an example of how to import a subnet:\n\n```ts\n\nSubnetV2.fromSubnetV2Attributes(this, 'ImportedSubnet', {\n subnetId: 'subnet-0123456789abcdef0',\n availabilityZone: 'us-west-2a',\n ipv4CidrBlock: '10.2.0.0/24',\n routeTableId: 'rtb-0871c310f98da2cbb',\n subnetType: SubnetType.PRIVATE_ISOLATED,\n});\n```\n\nBy importing existing VPCs and subnets, you can easily integrate your existing AWS infrastructure with new resources created through CDK. This is particularly useful when you need to work with pre-existing network configurations or when you're migrating existing infrastructure to CDK.\n\n### Tagging VPC and its components\n\nBy default, when a resource name is given to the construct, it automatically adds a tag with the key `Name` and the value set to the provided resource name. To add additional custom tags, use the Tag Manager, like this: `Tags.of(myConstruct).add('key', 'value');`.\n\nFor example, if the `vpcName` is set to `TestVpc`, the following code will add a tag to the VPC with `key: Name` and `value: TestVpc`.\n\n```ts\n\nconst vpc = new VpcV2(this, 'VPC-integ-test-tag', {\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n enableDnsHostnames: true,\n enableDnsSupport: true,\n vpcName: 'CDKintegTestVPC',\n});\n\n// Add custom tags if needed\nTags.of(vpc).add('Environment', 'Production');\n```\n"
|
|
3964
|
+
"markdown": "# Amazon VpcV2 Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\n\n## VpcV2\n\n`VpcV2` is a re-write of the [`ec2.Vpc`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Vpc.html) construct. This new construct enables higher level of customization\non the VPC being created. `VpcV2` implements the existing [`IVpc`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html), therefore,\n`VpcV2` is compatible with other constructs that accepts `IVpc` (e.g. [`ApplicationLoadBalancer`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer.html#construct-props)).\n\nTo create a VPC with both IPv4 and IPv6 support:\n\n```ts\n\nconst stack = new Stack();\nnew VpcV2(this, 'Vpc', {\n primaryAddressBlock: IpAddresses.ipv4('10.0.0.0/24'),\n secondaryAddressBlocks: [\n IpAddresses.amazonProvidedIpv6({cidrBlockName: 'AmazonProvidedIpv6'}),\n ],\n});\n```\n\n`VpcV2` does not automatically create subnets or allocate IP addresses, which is different from the `Vpc` construct.\n\n## SubnetV2\n\n`SubnetV2` is a re-write of the [`ec2.Subnet`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Subnet.html) construct.\nThis new construct can be used to add subnets to a `VpcV2` instance:\n\n```ts\n\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc', {\n secondaryAddressBlocks: [\n IpAddresses.amazonProvidedIpv6({ cidrBlockName: 'AmazonProvidedIp'}),\n ],\n});\n\nnew SubnetV2(this, 'subnetA', {\n vpc: myVpc,\n availabilityZone: 'us-east-1a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n ipv6CidrBlock: new IpCidr('2a05:d02c:25:4000::/60'),\n subnetType: SubnetType.PRIVATE_ISOLATED,\n})\n```\n\n## IP Addresses Management\n\nBy default `VpcV2` uses `10.0.0.0/16` as the primary CIDR if none is defined.\nAdditional CIDRs can be adding to the VPC via the `secondaryAddressBlocks` prop.\nThe following example illustrates the different options of defining the address blocks:\n\n```ts\n\nconst stack = new Stack();\nconst ipam = new Ipam(this, 'Ipam', {\n operatingRegion: ['us-west-1']\n});\nconst ipamPublicPool = ipam.publicScope.addPool('PublicPoolA', {\n addressFamily: AddressFamily.IP_V6,\n awsService: AwsServiceName.EC2,\n locale: 'us-west-1',\n publicIpSource: IpamPoolPublicIpSource.AMAZON,\n});\nipamPublicPool.provisionCidr('PublicPoolACidrA', { netmaskLength: 52 } );\n\nconst ipamPrivatePool = ipam.privateScope.addPool('PrivatePoolA', {\n addressFamily: AddressFamily.IP_V4,\n});\nipamPrivatePool.provisionCidr('PrivatePoolACidrA', { netmaskLength: 8 } );\n\nnew VpcV2(this, 'Vpc', {\n primaryAddressBlock: IpAddresses.ipv4('10.0.0.0/24'),\n secondaryAddressBlocks: [\n IpAddresses.amazonProvidedIpv6({ cidrBlockName: 'AmazonIpv6' }),\n IpAddresses.ipv6Ipam({\n ipamPool: ipamPublicPool,\n netmaskLength: 52,\n cidrBlockName: 'ipv6Ipam',\n }),\n IpAddresses.ipv4Ipam({\n ipamPool: ipamPrivatePool,\n netmaskLength: 8,\n cidrBlockName: 'ipv4Ipam',\n }),\n ],\n});\n```\n\nSince `VpcV2` does not create subnets automatically, users have full control over IP addresses allocation across subnets.\n\n### Bring your own IPv6 addresses (BYOIP)\n\nIf you have your own IP address that you would like to use with EC2, you can set up an IPv6 pool via the AWS CLI, and use that pool ID in your application.\n\nOnce you have certified your IP address block with an ROA and have obtained an X-509 certificate, you can run the following command to provision your CIDR block in your AWS account:\n\n```shell\naws ec2 provision-byoip-cidr --region <region> --cidr <your CIDR block> --cidr-authorization-context Message=\"1|aws|<account>|<your CIDR block>|<expiration date>|SHA256\".Signature=\"<signature>\"\n```\n\nWhen your BYOIP CIDR is provisioned, you can run the following command to retrieve your IPv6 pool ID, which will be used in your VPC declaration:\n\n```shell\naws ec2 describe-byoip-cidr --region <region>\n```\n\nFor more help on setting up your IPv6 address, please review the [EC2 Documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html).\n\nOnce you have provisioned your address block, you can use the IPv6 in your VPC as follows:\n\n```ts\nconst myVpc = new VpcV2(this, 'Vpc', {\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n secondaryAddressBlocks: [IpAddresses.ipv6ByoipPool({\n cidrBlockName: 'MyByoipCidrBlock',\n ipv6PoolId: 'ipv6pool-ec2-someHashValue',\n ipv6CidrBlock: '2001:db8::/32'\n })],\n enableDnsHostnames: true,\n enableDnsSupport: true,\n});\n```\n\n## Routing\n\n`RouteTable` is a new construct that allows for route tables to be customized in a variety of ways. For instance, the following example shows how a custom route table can be created and appended to a subnet:\n\n```ts\n\nconst myVpc = new VpcV2(this, 'Vpc');\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: myVpc,\n});\nconst subnet = new SubnetV2(this, 'Subnet', {\n vpc: myVpc,\n routeTable,\n availabilityZone: 'eu-west-2a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n subnetType: SubnetType.PRIVATE_ISOLATED,\n});\n```\n\n`Routes` can be created to link subnets to various different AWS services via gateways and endpoints. Each unique route target has its own dedicated construct that can be routed to a given subnet via the `Route` construct. An example using the `InternetGateway` construct can be seen below:\n\n```ts\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc');\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: myVpc,\n});\nconst subnet = new SubnetV2(this, 'Subnet', {\n vpc: myVpc,\n availabilityZone: 'eu-west-2a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n subnetType: SubnetType.PRIVATE_ISOLATED });\n\nconst igw = new InternetGateway(this, 'IGW', {\n vpc: myVpc,\n});\nnew Route(this, 'IgwRoute', {\n routeTable,\n destination: '0.0.0.0/0',\n target: { gateway: igw },\n});\n```\n\nAlternatively, `Routes` can also be created via method `addRoute` in the `RouteTable` class. An example using the `EgressOnlyInternetGateway` construct can be seen below:\nNote: `EgressOnlyInternetGateway` can only be used to set up outbound IPv6 routing.\n\n```ts\n\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc',{\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n secondaryAddressBlocks: [IpAddresses.amazonProvidedIpv6({\n cidrBlockName: 'AmazonProvided',\n })]\n });\n\nconst eigw = new EgressOnlyInternetGateway(this, 'EIGW', {\n vpc: myVpc,\n});\n\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: myVpc,\n});\n\nrouteTable.addRoute('EIGW', '::/0', { gateway: eigw });\n```\n\nOther route targets may require a deeper set of parameters to set up properly. For instance, the example below illustrates how to set up a `NatGateway`:\n\n```ts\n\nconst myVpc = new VpcV2(this, 'Vpc');\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: myVpc,\n});\nconst subnet = new SubnetV2(this, 'Subnet', {\n vpc: myVpc,\n availabilityZone: 'eu-west-2a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n subnetType: SubnetType.PRIVATE_ISOLATED });\n\nconst natgw = new NatGateway(this, 'NatGW', {\n subnet: subnet,\n vpc: myVpc,\n connectivityType: NatConnectivityType.PRIVATE,\n privateIpAddress: '10.0.0.42',\n});\nnew Route(this, 'NatGwRoute', {\n routeTable,\n destination: '0.0.0.0/0',\n target: { gateway: natgw },\n});\n```\n\nIt is also possible to set up endpoints connecting other AWS services. For instance, the example below illustrates the linking of a Dynamo DB endpoint via the existing `ec2.GatewayVpcEndpoint` construct as a route target:\n\n```ts\n\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc');\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: myVpc,\n});\nconst subnet = new SubnetV2(this, 'Subnet', {\n vpc: myVpc,\n availabilityZone: 'eu-west-2a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n subnetType: SubnetType.PRIVATE });\n\nconst dynamoEndpoint = new ec2.GatewayVpcEndpoint(this, 'DynamoEndpoint', {\n service: ec2.GatewayVpcEndpointAwsService.DYNAMODB,\n vpc: myVpc,\n subnets: [subnet],\n});\nnew Route(this, 'DynamoDBRoute', {\n routeTable,\n destination: '0.0.0.0/0',\n target: { endpoint: dynamoEndpoint },\n});\n\n```\n\n## VPC Peering Connection\n\nVPC peering connection allows you to connect two VPCs and route traffic between them using private IP addresses. The VpcV2 construct supports creating VPC peering connections through the `VPCPeeringConnection` construct from the `route` module.\n\nPeering Connection cannot be established between two VPCs with overlapping CIDR ranges. Please make sure the two VPC CIDRs do not overlap with each other else it will throw an error.\n\nFor more information, see [What is VPC peering?](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html).\n\nThe following show examples of how to create a peering connection between two VPCs for all possible combinations of same-account or cross-account, and same-region or cross-region configurations.\n\nNote: You cannot create a VPC peering connection between VPCs that have matching or overlapping CIDR blocks\n\n**Case 1: Same Account and Same Region Peering Connection**\n\n```ts\nconst stack = new Stack();\n\nconst vpcA = new VpcV2(this, 'VpcA', {\n primaryAddressBlock: IpAddresses.ipv4('10.0.0.0/16'),\n});\n\nconst vpcB = new VpcV2(this, 'VpcB', {\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n});\n\nconst peeringConnection = vpcA.createPeeringConnection('sameAccountSameRegionPeering', {\n acceptorVpc: vpcB,\n});\n```\n\n**Case 2: Same Account and Cross Region Peering Connection**\n\nThere is no difference from Case 1 when calling `createPeeringConnection`. The only change is that one of the VPCs are created in another stack with a different region. To establish cross region VPC peering connection, acceptorVpc needs to be imported to the requestor VPC stack using `fromVpcV2Attributes` method.\n\n```ts\nconst app = new App();\n\nconst stackA = new Stack(app, 'VpcStackA', { env: { account: '000000000000', region: 'us-east-1' } });\nconst stackB = new Stack(app, 'VpcStackB', { env: { account: '000000000000', region: 'us-west-2' } });\n\nconst vpcA = new VpcV2(stackA, 'VpcA', {\n primaryAddressBlock: IpAddresses.ipv4('10.0.0.0/16'),\n});\n\nnew VpcV2(stackB, 'VpcB', {\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n});\n\nconst vpcB = VpcV2.fromVpcV2Attributes(stackA, 'ImportedVpcB', {\n vpcId: 'MockVpcBid',\n vpcCidrBlock: '10.1.0.0/16',\n region: 'us-west-2',\n ownerAccountId: '000000000000',\n });\n\n\nconst peeringConnection = vpcA.createPeeringConnection('sameAccountCrossRegionPeering', {\n acceptorVpc: vpcB,\n});\n```\n\n**Case 3: Cross Account Peering Connection**\n\nFor cross-account connections, the acceptor account needs an IAM role that grants the requestor account permission to initiate the connection. Create a new IAM role in the acceptor account using method `createAcceptorVpcRole` to provide the necessary permissions.\n\nOnce role is created in account, provide role arn for field `peerRoleArn` under method `createPeeringConnection`\n\n```ts\nconst stack = new Stack();\n\nconst acceptorVpc = new VpcV2(this, 'VpcA', {\n primaryAddressBlock: IpAddresses.ipv4('10.0.0.0/16'),\n});\n\nconst acceptorRoleArn = acceptorVpc.createAcceptorVpcRole('000000000000'); // Requestor account ID\n```\n\nAfter creating an IAM role in the acceptor account, we can initiate the peering connection request from the requestor VPC. Import acceptorVpc to the stack using `fromVpcV2Attributes` method, it is recommended to specify owner account id of the acceptor VPC in case of cross account peering connection, if acceptor VPC is hosted in different region provide region value for import as well.\nThe following code snippet demonstrates how to set up VPC peering between two VPCs in different AWS accounts using CDK:\n\n```ts\nconst stack = new Stack();\n\nconst acceptorVpc = VpcV2.fromVpcV2Attributes(this, 'acceptorVpc', {\n vpcId: 'vpc-XXXX',\n vpcCidrBlock: '10.0.0.0/16',\n region: 'us-east-2',\n ownerAccountId: '111111111111',\n });\n\nconst acceptorRoleArn = 'arn:aws:iam::111111111111:role/VpcPeeringRole';\n\nconst requestorVpc = new VpcV2(this, 'VpcB', {\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n});\n\nconst peeringConnection = requestorVpc.createPeeringConnection('crossAccountCrossRegionPeering', {\n acceptorVpc: acceptorVpc,\n peerRoleArn: acceptorRoleArn,\n});\n```\n\n### Route Table Configuration\n\nAfter establishing the VPC peering connection, routes must be added to the respective route tables in the VPCs to enable traffic flow. If a route is added to the requestor stack, information will be able to flow from the requestor VPC to the acceptor VPC, but not in the reverse direction. For bi-directional communication, routes need to be added in both VPCs from their respective stacks.\n\nFor more information, see [Update your route tables for a VPC peering connection](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-routing.html).\n\n```ts\nconst stack = new Stack();\n\nconst acceptorVpc = new VpcV2(this, 'VpcA', {\n primaryAddressBlock: IpAddresses.ipv4('10.0.0.0/16'),\n});\n\nconst requestorVpc = new VpcV2(this, 'VpcB', {\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n});\n\nconst peeringConnection = requestorVpc.createPeeringConnection('peeringConnection', {\n acceptorVpc: acceptorVpc,\n});\n\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: requestorVpc,\n});\n\nrouteTable.addRoute('vpcPeeringRoute', '10.0.0.0/16', { gateway: peeringConnection });\n```\n\nThis can also be done using AWS CLI. For more information, see [create-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route.html).\n\n```bash\n# Add a route to the requestor VPC route table\naws ec2 create-route --route-table-id rtb-requestor --destination-cidr-block 10.0.0.0/16 --vpc-peering-connection-id pcx-xxxxxxxx\n\n# For bi-directional add a route in the acceptor vpc account as well\naws ec2 create-route --route-table-id rtb-acceptor --destination-cidr-block 10.1.0.0/16 --vpc-peering-connection-id pcx-xxxxxxxx\n```\n\n### Deleting the Peering Connection\n\nTo delete a VPC peering connection, use the following command:\n\n```bash\naws ec2 delete-vpc-peering-connection --vpc-peering-connection-id pcx-xxxxxxxx\n```\n\nFor more information, see [Delete a VPC peering connection](https://docs.aws.amazon.com/vpc/latest/peering/create-vpc-peering-connection.html#delete-vpc-peering-connection).\n\n## Adding Egress-Only Internet Gateway to VPC\n\nAn egress-only internet gateway is a horizontally scaled, redundant, and highly available VPC component that allows outbound communication over IPv6 from instances in your VPC to the internet, and prevents the internet from initiating an IPv6 connection with your instances.\n\nFor more information see [Enable outbound IPv6 traffic using an egress-only internet gateway](https://docs.aws.amazon.com/vpc/latest/userguide/egress-only-internet-gateway.html).\n\nVpcV2 supports adding an egress only internet gateway to VPC using the `addEgressOnlyInternetGateway` method.\n\nBy default, this method sets up a route to all outbound IPv6 address ranges, unless a specific destination is provided by the user. It can only be configured for IPv6-enabled VPCs.\nThe `Subnets` parameter accepts a `SubnetFilter`, which can be based on a `SubnetType` in VpcV2. A new route will be added to the route tables of all subnets that match this filter.\n\n```ts\n\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc',{\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n secondaryAddressBlocks: [IpAddresses.amazonProvidedIpv6({\n cidrBlockName: 'AmazonProvided',\n })]\n });\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: myVpc,\n});\nconst subnet = new SubnetV2(this, 'Subnet', {\n vpc: myVpc,\n availabilityZone: 'eu-west-2a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n ipv6CidrBlock: new IpCidr('2001:db8:1::/64'),\n subnetType: SubnetType.PRIVATE });\n\nmyVpc.addEgressOnlyInternetGateway({\n subnets: [{subnetType: SubnetType.PRIVATE}],\n destination: '::/60',\n})\n```\n\n## Adding NATGateway to the VPC\n\nA NAT gateway is a Network Address Translation (NAT) service.You can use a NAT gateway so that instances in a private subnet can connect to services outside your VPC but external services cannot initiate a connection with those instances.\n\nFor more information, see [NAT gateway basics](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html).\n\nWhen you create a NAT gateway, you specify one of the following connectivity types:\n\n**Public – (Default)**: Instances in private subnets can connect to the internet through a public NAT gateway, but cannot receive unsolicited inbound connections from the internet\n\n**Private**: Instances in private subnets can connect to other VPCs or your on-premises network through a private NAT gateway.\n\nTo define the NAT gateway connectivity type as `ConnectivityType.Public`, you need to ensure that there is an IGW(Internet Gateway) attached to the subnet's VPC.\nSince a NATGW is associated with a particular subnet, providing `subnet` field in the input props is mandatory.\n\nAdditionally, you can set up a route in any route table with the target set to the NAT Gateway. The function `addNatGateway` returns a `NATGateway` object that you can reference later.\n\nThe code example below provides the definition for adding a NAT gateway to your subnet:\n\n```ts\n\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc');\nconst routeTable = new RouteTable(this, 'RouteTable', {\n vpc: myVpc,\n});\nconst subnet = new SubnetV2(this, 'Subnet', {\n vpc: myVpc,\n availabilityZone: 'eu-west-2a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n subnetType: SubnetType.PUBLIC });\n\nmyVpc.addInternetGateway();\nmyVpc.addNatGateway({\n subnet: subnet,\n connectivityType: NatConnectivityType.PUBLIC,\n});\n```\n\n## Enable VPNGateway for the VPC\n\nA virtual private gateway is the endpoint on the VPC side of your VPN connection.\n\nFor more information, see [What is AWS Site-to-Site VPN?](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html).\n\nVPN route propagation is a feature in Amazon Web Services (AWS) that automatically updates route tables in your Virtual Private Cloud (VPC) with routes learned from a VPN connection.\n\nTo enable VPN route propagation, use the `vpnRoutePropagation` property to specify the subnets as an input to the function. VPN route propagation will then be enabled for each subnet with the corresponding route table IDs.\n\nAdditionally, you can set up a route in any route table with the target set to the VPN Gateway. The function `enableVpnGatewayV2` returns a `VPNGatewayV2` object that you can reference later.\n\nThe code example below provides the definition for setting up a VPN gateway with `vpnRoutePropagation` enabled:\n\n```ts\n\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc');\nconst vpnGateway = myVpc.enableVpnGatewayV2({\n vpnRoutePropagation: [{ subnetType: SubnetType.PUBLIC }],\n type: VpnConnectionType.IPSEC_1,\n});\n\nconst routeTable = new RouteTable(stack, 'routeTable', {\n vpc: myVpc\n } );\n\nnew Route(stack, 'route', {\n destination: '172.31.0.0/24',\n target: { gateway: vpnGateway },\n routeTable: routeTable,\n});\n```\n\n## Adding InternetGateway to the VPC\n\nAn internet gateway is a horizontally scaled, redundant, and highly available VPC component that allows communication between your VPC and the internet. It supports both IPv4 and IPv6 traffic.\n\nFor more information, see [Enable VPC internet access using internet gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-igw-internet-access.html).\n\nYou can add an internet gateway to a VPC using `addInternetGateway` method. By default, this method creates a route in all Public Subnets with outbound destination set to `0.0.0.0` for IPv4 and `::0` for IPv6 enabled VPC.\nInstead of using the default settings, you can configure a custom destination range by providing an optional input `destination` to the method.\n\nThe code example below shows how to add an internet gateway with a custom outbound destination IP range:\n\n```ts\n\nconst stack = new Stack();\nconst myVpc = new VpcV2(this, 'Vpc');\n\nconst subnet = new SubnetV2(this, 'Subnet', {\n vpc: myVpc,\n availabilityZone: 'eu-west-2a',\n ipv4CidrBlock: new IpCidr('10.0.0.0/24'),\n subnetType: SubnetType.PUBLIC });\n\nmyVpc.addInternetGateway({\n ipv4Destination: '192.168.0.0/16',\n});\n```\n\n## Importing an existing VPC\n\nYou can import an existing VPC and its subnets using the `VpcV2.fromVpcV2Attributes()` method or an individual subnet using `SubnetV2.fromSubnetV2Attributes()` method.\n\n### Importing a VPC\n\nTo import an existing VPC, use the `VpcV2.fromVpcV2Attributes()` method. You'll need to provide the VPC ID, primary CIDR block, and information about the subnets. You can import secondary address as well created through IPAM, BYOIP(IPv4) or enabled through Amazon Provided IPv6. You must provide VPC Id and its primary CIDR block for importing it.\n\nIf you wish to add a new subnet to imported VPC, new subnet's IP range(IPv4) will be validated against provided secondary and primary address block to confirm that it is within the the range of VPC.\n\nHere's an example of importing a VPC with only the required parameters\n\n``` ts\n\nconst stack = new Stack();\n\nconst importedVpc = VpcV2.fromVpcV2Attributes(stack, 'ImportedVpc', {\n vpcId: 'mockVpcID',\n vpcCidrBlock: '10.0.0.0/16',\n});\n\n```\n\nIn case of cross account or cross region VPC, its recommended to provide region and ownerAccountId so that these values for the VPC can be used to populate correct arn value for the VPC. If a VPC region and account ID is not provided, then region and account configured in the stack will be used. Furthermore, these fields will be referenced later while setting up VPC peering connection, so its necessary to set these fields to a correct value.\n\nBelow is an example of importing a cross region and cross account VPC, VPC arn for this case would be 'arn:aws:ec2:us-west-2:123456789012:vpc/mockVpcID'\n\n``` ts\n\nconst stack = new Stack();\n\n//Importing a cross account or cross region VPC\nconst importedVpc = VpcV2.fromVpcV2Attributes(stack, 'ImportedVpc', {\n vpcId: 'mockVpcID',\n vpcCidrBlock: '10.0.0.0/16',\n ownerAccountId: '123456789012',\n region: 'us-west-2',\n});\n\n```\n\nHere's an example of how to import a VPC with multiple CIDR blocks, IPv6 support, and different subnet types:\n\nIn this example, we're importing a VPC with:\n\n - A primary CIDR block (10.1.0.0/16)\n - One secondary IPv4 CIDR block (10.2.0.0/16)\n - Two secondary address using IPAM pool (IPv4 and IPv6)\n - VPC has Amazon-provided IPv6 CIDR enabled\n - An isolated subnet in us-west-2a\n - A public subnet in us-west-2b\n\n```ts\n\nconst stack = new Stack();\n\nconst importedVpc = VpcV2.fromVpcV2Attributes(this, 'ImportedVPC', {\n vpcId: 'vpc-XXX',\n vpcCidrBlock: '10.1.0.0/16',\n secondaryCidrBlocks: [\n {\n cidrBlock: '10.2.0.0/16',\n cidrBlockName: 'ImportedBlock1',\n },\n {\n ipv6IpamPoolId: 'ipam-pool-XXX',\n ipv6NetmaskLength: 52,\n cidrBlockName: 'ImportedIpamIpv6',\n },\n {\n ipv4IpamPoolId: 'ipam-pool-XXX',\n ipv4IpamProvisionedCidrs: ['10.2.0.0/16'],\n cidrBlockName: 'ImportedIpamIpv4',\n },\n {\n amazonProvidedIpv6CidrBlock: true,\n }\n ],\n subnets: [{\n subnetName: 'IsolatedSubnet2',\n subnetId: 'subnet-03cd773c0fe08ed26',\n subnetType: SubnetType.PRIVATE_ISOLATED,\n availabilityZone: 'us-west-2a',\n ipv4CidrBlock: '10.2.0.0/24',\n routeTableId: 'rtb-0871c310f98da2cbb',\n },\n {\n subnetId: 'subnet-0fa477e01db27d820',\n subnetType: SubnetType.PUBLIC,\n availabilityZone: 'us-west-2b',\n ipv4CidrBlock: '10.3.0.0/24',\n routeTableId: 'rtb-014f3043098fe4b96',\n }],\n});\n\n// You can now use the imported VPC in your stack\n\n// Adding a new subnet to the imported VPC\nconst importedSubnet = new SubnetV2(this, 'NewSubnet', {\n availabilityZone: 'us-west-2a',\n ipv4CidrBlock: new IpCidr('10.2.2.0/24'),\n vpc: importedVpc,\n subnetType: SubnetType.PUBLIC,\n});\n\n// Adding gateways to the imported VPC\nimportedVpc.addInternetGateway();\nimportedVpc.addNatGateway({ subnet: importedSubnet });\nimportedVpc.addEgressOnlyInternetGateway();\n```\n\nYou can add more subnets as needed by including additional entries in the `isolatedSubnets`, `publicSubnets`, or other subnet type arrays (e.g., `privateSubnets`).\n\n### Importing Subnets\n\nYou can also import individual subnets using the `SubnetV2.fromSubnetV2Attributes()` method. This is useful when you need to work with specific subnets independently of a VPC.\n\nHere's an example of how to import a subnet:\n\n```ts\n\nSubnetV2.fromSubnetV2Attributes(this, 'ImportedSubnet', {\n subnetId: 'subnet-0123456789abcdef0',\n availabilityZone: 'us-west-2a',\n ipv4CidrBlock: '10.2.0.0/24',\n routeTableId: 'rtb-0871c310f98da2cbb',\n subnetType: SubnetType.PRIVATE_ISOLATED,\n});\n```\n\nBy importing existing VPCs and subnets, you can easily integrate your existing AWS infrastructure with new resources created through CDK. This is particularly useful when you need to work with pre-existing network configurations or when you're migrating existing infrastructure to CDK.\n\n### Tagging VPC and its components\n\nBy default, when a resource name is given to the construct, it automatically adds a tag with the key `Name` and the value set to the provided resource name. To add additional custom tags, use the Tag Manager, like this: `Tags.of(myConstruct).add('key', 'value');`.\n\nFor example, if the `vpcName` is set to `TestVpc`, the following code will add a tag to the VPC with `key: Name` and `value: TestVpc`.\n\n```ts\n\nconst vpc = new VpcV2(this, 'VPC-integ-test-tag', {\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n enableDnsHostnames: true,\n enableDnsSupport: true,\n vpcName: 'CDKintegTestVPC',\n});\n\n// Add custom tags if needed\nTags.of(vpc).add('Environment', 'Production');\n```\n"
|
|
3939
3965
|
},
|
|
3940
3966
|
"repository": {
|
|
3941
3967
|
"directory": "packages/@aws-cdk/aws-ec2-alpha",
|
|
@@ -4286,7 +4312,7 @@
|
|
|
4286
4312
|
"kind": "interface",
|
|
4287
4313
|
"locationInModule": {
|
|
4288
4314
|
"filename": "lib/vpc-v2.ts",
|
|
4289
|
-
"line":
|
|
4315
|
+
"line": 170
|
|
4290
4316
|
},
|
|
4291
4317
|
"methods": [
|
|
4292
4318
|
{
|
|
@@ -4297,7 +4323,7 @@
|
|
|
4297
4323
|
},
|
|
4298
4324
|
"locationInModule": {
|
|
4299
4325
|
"filename": "lib/vpc-v2.ts",
|
|
4300
|
-
"line":
|
|
4326
|
+
"line": 176
|
|
4301
4327
|
},
|
|
4302
4328
|
"name": "allocateVpcCidr",
|
|
4303
4329
|
"returns": {
|
|
@@ -4586,7 +4612,7 @@
|
|
|
4586
4612
|
"kind": "interface",
|
|
4587
4613
|
"locationInModule": {
|
|
4588
4614
|
"filename": "lib/route.ts",
|
|
4589
|
-
"line":
|
|
4615
|
+
"line": 620
|
|
4590
4616
|
},
|
|
4591
4617
|
"name": "IRouteV2",
|
|
4592
4618
|
"properties": [
|
|
@@ -4600,7 +4626,7 @@
|
|
|
4600
4626
|
"immutable": true,
|
|
4601
4627
|
"locationInModule": {
|
|
4602
4628
|
"filename": "lib/route.ts",
|
|
4603
|
-
"line":
|
|
4629
|
+
"line": 633
|
|
4604
4630
|
},
|
|
4605
4631
|
"name": "destination",
|
|
4606
4632
|
"type": {
|
|
@@ -4619,7 +4645,7 @@
|
|
|
4619
4645
|
"immutable": true,
|
|
4620
4646
|
"locationInModule": {
|
|
4621
4647
|
"filename": "lib/route.ts",
|
|
4622
|
-
"line":
|
|
4648
|
+
"line": 625
|
|
4623
4649
|
},
|
|
4624
4650
|
"name": "routeTable",
|
|
4625
4651
|
"type": {
|
|
@@ -4635,7 +4661,7 @@
|
|
|
4635
4661
|
"immutable": true,
|
|
4636
4662
|
"locationInModule": {
|
|
4637
4663
|
"filename": "lib/route.ts",
|
|
4638
|
-
"line":
|
|
4664
|
+
"line": 638
|
|
4639
4665
|
},
|
|
4640
4666
|
"name": "target",
|
|
4641
4667
|
"type": {
|
|
@@ -4658,7 +4684,7 @@
|
|
|
4658
4684
|
"kind": "interface",
|
|
4659
4685
|
"locationInModule": {
|
|
4660
4686
|
"filename": "lib/subnet-v2.ts",
|
|
4661
|
-
"line":
|
|
4687
|
+
"line": 103
|
|
4662
4688
|
},
|
|
4663
4689
|
"name": "ISubnetV2",
|
|
4664
4690
|
"properties": [
|
|
@@ -4671,7 +4697,7 @@
|
|
|
4671
4697
|
"immutable": true,
|
|
4672
4698
|
"locationInModule": {
|
|
4673
4699
|
"filename": "lib/subnet-v2.ts",
|
|
4674
|
-
"line":
|
|
4700
|
+
"line": 108
|
|
4675
4701
|
},
|
|
4676
4702
|
"name": "ipv6CidrBlock",
|
|
4677
4703
|
"optional": true,
|
|
@@ -4691,7 +4717,7 @@
|
|
|
4691
4717
|
"immutable": true,
|
|
4692
4718
|
"locationInModule": {
|
|
4693
4719
|
"filename": "lib/subnet-v2.ts",
|
|
4694
|
-
"line":
|
|
4720
|
+
"line": 115
|
|
4695
4721
|
},
|
|
4696
4722
|
"name": "subnetType",
|
|
4697
4723
|
"optional": true,
|
|
@@ -4712,7 +4738,7 @@
|
|
|
4712
4738
|
"kind": "interface",
|
|
4713
4739
|
"locationInModule": {
|
|
4714
4740
|
"filename": "lib/vpc-v2.ts",
|
|
4715
|
-
"line":
|
|
4741
|
+
"line": 693
|
|
4716
4742
|
},
|
|
4717
4743
|
"name": "IVPCCidrBlock",
|
|
4718
4744
|
"properties": [
|
|
@@ -4725,7 +4751,7 @@
|
|
|
4725
4751
|
"immutable": true,
|
|
4726
4752
|
"locationInModule": {
|
|
4727
4753
|
"filename": "lib/vpc-v2.ts",
|
|
4728
|
-
"line":
|
|
4754
|
+
"line": 697
|
|
4729
4755
|
},
|
|
4730
4756
|
"name": "amazonProvidedIpv6CidrBlock",
|
|
4731
4757
|
"optional": true,
|
|
@@ -4743,7 +4769,7 @@
|
|
|
4743
4769
|
"immutable": true,
|
|
4744
4770
|
"locationInModule": {
|
|
4745
4771
|
"filename": "lib/vpc-v2.ts",
|
|
4746
|
-
"line":
|
|
4772
|
+
"line": 704
|
|
4747
4773
|
},
|
|
4748
4774
|
"name": "cidrBlock",
|
|
4749
4775
|
"optional": true,
|
|
@@ -4760,7 +4786,7 @@
|
|
|
4760
4786
|
"immutable": true,
|
|
4761
4787
|
"locationInModule": {
|
|
4762
4788
|
"filename": "lib/vpc-v2.ts",
|
|
4763
|
-
"line":
|
|
4789
|
+
"line": 714
|
|
4764
4790
|
},
|
|
4765
4791
|
"name": "ipv4IpamPoolId",
|
|
4766
4792
|
"optional": true,
|
|
@@ -4768,6 +4794,23 @@
|
|
|
4768
4794
|
"primitive": "string"
|
|
4769
4795
|
}
|
|
4770
4796
|
},
|
|
4797
|
+
{
|
|
4798
|
+
"abstract": true,
|
|
4799
|
+
"docs": {
|
|
4800
|
+
"stability": "experimental",
|
|
4801
|
+
"summary": "The IPv6 CIDR block from the specified IPv6 address pool."
|
|
4802
|
+
},
|
|
4803
|
+
"immutable": true,
|
|
4804
|
+
"locationInModule": {
|
|
4805
|
+
"filename": "lib/vpc-v2.ts",
|
|
4806
|
+
"line": 719
|
|
4807
|
+
},
|
|
4808
|
+
"name": "ipv6CidrBlock",
|
|
4809
|
+
"optional": true,
|
|
4810
|
+
"type": {
|
|
4811
|
+
"primitive": "string"
|
|
4812
|
+
}
|
|
4813
|
+
},
|
|
4771
4814
|
{
|
|
4772
4815
|
"abstract": true,
|
|
4773
4816
|
"docs": {
|
|
@@ -4777,13 +4820,30 @@
|
|
|
4777
4820
|
"immutable": true,
|
|
4778
4821
|
"locationInModule": {
|
|
4779
4822
|
"filename": "lib/vpc-v2.ts",
|
|
4780
|
-
"line":
|
|
4823
|
+
"line": 709
|
|
4781
4824
|
},
|
|
4782
4825
|
"name": "ipv6IpamPoolId",
|
|
4783
4826
|
"optional": true,
|
|
4784
4827
|
"type": {
|
|
4785
4828
|
"primitive": "string"
|
|
4786
4829
|
}
|
|
4830
|
+
},
|
|
4831
|
+
{
|
|
4832
|
+
"abstract": true,
|
|
4833
|
+
"docs": {
|
|
4834
|
+
"stability": "experimental",
|
|
4835
|
+
"summary": "The ID of the IPv6 address pool from which to allocate the IPv6 CIDR block."
|
|
4836
|
+
},
|
|
4837
|
+
"immutable": true,
|
|
4838
|
+
"locationInModule": {
|
|
4839
|
+
"filename": "lib/vpc-v2.ts",
|
|
4840
|
+
"line": 724
|
|
4841
|
+
},
|
|
4842
|
+
"name": "ipv6Pool",
|
|
4843
|
+
"optional": true,
|
|
4844
|
+
"type": {
|
|
4845
|
+
"primitive": "string"
|
|
4846
|
+
}
|
|
4787
4847
|
}
|
|
4788
4848
|
],
|
|
4789
4849
|
"symbolId": "lib/vpc-v2:IVPCCidrBlock"
|
|
@@ -5352,7 +5412,7 @@
|
|
|
5352
5412
|
"kind": "class",
|
|
5353
5413
|
"locationInModule": {
|
|
5354
5414
|
"filename": "lib/vpc-v2.ts",
|
|
5355
|
-
"line":
|
|
5415
|
+
"line": 44
|
|
5356
5416
|
},
|
|
5357
5417
|
"methods": [
|
|
5358
5418
|
{
|
|
@@ -5362,7 +5422,7 @@
|
|
|
5362
5422
|
},
|
|
5363
5423
|
"locationInModule": {
|
|
5364
5424
|
"filename": "lib/vpc-v2.ts",
|
|
5365
|
-
"line":
|
|
5425
|
+
"line": 69
|
|
5366
5426
|
},
|
|
5367
5427
|
"name": "amazonProvidedIpv6",
|
|
5368
5428
|
"parameters": [
|
|
@@ -5387,7 +5447,7 @@
|
|
|
5387
5447
|
},
|
|
5388
5448
|
"locationInModule": {
|
|
5389
5449
|
"filename": "lib/vpc-v2.ts",
|
|
5390
|
-
"line":
|
|
5450
|
+
"line": 48
|
|
5391
5451
|
},
|
|
5392
5452
|
"name": "ipv4",
|
|
5393
5453
|
"parameters": [
|
|
@@ -5419,7 +5479,7 @@
|
|
|
5419
5479
|
},
|
|
5420
5480
|
"locationInModule": {
|
|
5421
5481
|
"filename": "lib/vpc-v2.ts",
|
|
5422
|
-
"line":
|
|
5482
|
+
"line": 55
|
|
5423
5483
|
},
|
|
5424
5484
|
"name": "ipv4Ipam",
|
|
5425
5485
|
"parameters": [
|
|
@@ -5437,6 +5497,31 @@
|
|
|
5437
5497
|
},
|
|
5438
5498
|
"static": true
|
|
5439
5499
|
},
|
|
5500
|
+
{
|
|
5501
|
+
"docs": {
|
|
5502
|
+
"stability": "experimental",
|
|
5503
|
+
"summary": "A BYOIP IPv6 address pool."
|
|
5504
|
+
},
|
|
5505
|
+
"locationInModule": {
|
|
5506
|
+
"filename": "lib/vpc-v2.ts",
|
|
5507
|
+
"line": 76
|
|
5508
|
+
},
|
|
5509
|
+
"name": "ipv6ByoipPool",
|
|
5510
|
+
"parameters": [
|
|
5511
|
+
{
|
|
5512
|
+
"name": "props",
|
|
5513
|
+
"type": {
|
|
5514
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.Ipv6PoolSecondaryAddressProps"
|
|
5515
|
+
}
|
|
5516
|
+
}
|
|
5517
|
+
],
|
|
5518
|
+
"returns": {
|
|
5519
|
+
"type": {
|
|
5520
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.IIpAddresses"
|
|
5521
|
+
}
|
|
5522
|
+
},
|
|
5523
|
+
"static": true
|
|
5524
|
+
},
|
|
5440
5525
|
{
|
|
5441
5526
|
"docs": {
|
|
5442
5527
|
"stability": "experimental",
|
|
@@ -5444,7 +5529,7 @@
|
|
|
5444
5529
|
},
|
|
5445
5530
|
"locationInModule": {
|
|
5446
5531
|
"filename": "lib/vpc-v2.ts",
|
|
5447
|
-
"line":
|
|
5532
|
+
"line": 62
|
|
5448
5533
|
},
|
|
5449
5534
|
"name": "ipv6Ipam",
|
|
5450
5535
|
"parameters": [
|
|
@@ -5483,7 +5568,7 @@
|
|
|
5483
5568
|
},
|
|
5484
5569
|
"locationInModule": {
|
|
5485
5570
|
"filename": "lib/subnet-v2.ts",
|
|
5486
|
-
"line":
|
|
5571
|
+
"line": 24
|
|
5487
5572
|
},
|
|
5488
5573
|
"parameters": [
|
|
5489
5574
|
{
|
|
@@ -5509,7 +5594,7 @@
|
|
|
5509
5594
|
"immutable": true,
|
|
5510
5595
|
"locationInModule": {
|
|
5511
5596
|
"filename": "lib/subnet-v2.ts",
|
|
5512
|
-
"line":
|
|
5597
|
+
"line": 23
|
|
5513
5598
|
},
|
|
5514
5599
|
"name": "cidr",
|
|
5515
5600
|
"type": {
|
|
@@ -5539,7 +5624,7 @@
|
|
|
5539
5624
|
},
|
|
5540
5625
|
"locationInModule": {
|
|
5541
5626
|
"filename": "lib/ipam.ts",
|
|
5542
|
-
"line":
|
|
5627
|
+
"line": 509
|
|
5543
5628
|
},
|
|
5544
5629
|
"parameters": [
|
|
5545
5630
|
{
|
|
@@ -5566,7 +5651,7 @@
|
|
|
5566
5651
|
"kind": "class",
|
|
5567
5652
|
"locationInModule": {
|
|
5568
5653
|
"filename": "lib/ipam.ts",
|
|
5569
|
-
"line":
|
|
5654
|
+
"line": 469
|
|
5570
5655
|
},
|
|
5571
5656
|
"methods": [
|
|
5572
5657
|
{
|
|
@@ -5576,7 +5661,7 @@
|
|
|
5576
5661
|
},
|
|
5577
5662
|
"locationInModule": {
|
|
5578
5663
|
"filename": "lib/ipam.ts",
|
|
5579
|
-
"line":
|
|
5664
|
+
"line": 546
|
|
5580
5665
|
},
|
|
5581
5666
|
"name": "addScope",
|
|
5582
5667
|
"parameters": [
|
|
@@ -5619,7 +5704,7 @@
|
|
|
5619
5704
|
"immutable": true,
|
|
5620
5705
|
"locationInModule": {
|
|
5621
5706
|
"filename": "lib/ipam.ts",
|
|
5622
|
-
"line":
|
|
5707
|
+
"line": 490
|
|
5623
5708
|
},
|
|
5624
5709
|
"name": "ipamId",
|
|
5625
5710
|
"type": {
|
|
@@ -5634,7 +5719,7 @@
|
|
|
5634
5719
|
"immutable": true,
|
|
5635
5720
|
"locationInModule": {
|
|
5636
5721
|
"filename": "lib/ipam.ts",
|
|
5637
|
-
"line":
|
|
5722
|
+
"line": 495
|
|
5638
5723
|
},
|
|
5639
5724
|
"name": "operatingRegions",
|
|
5640
5725
|
"type": {
|
|
@@ -5656,7 +5741,7 @@
|
|
|
5656
5741
|
"immutable": true,
|
|
5657
5742
|
"locationInModule": {
|
|
5658
5743
|
"filename": "lib/ipam.ts",
|
|
5659
|
-
"line":
|
|
5744
|
+
"line": 482
|
|
5660
5745
|
},
|
|
5661
5746
|
"name": "privateScope",
|
|
5662
5747
|
"type": {
|
|
@@ -5673,7 +5758,7 @@
|
|
|
5673
5758
|
"immutable": true,
|
|
5674
5759
|
"locationInModule": {
|
|
5675
5760
|
"filename": "lib/ipam.ts",
|
|
5676
|
-
"line":
|
|
5761
|
+
"line": 475
|
|
5677
5762
|
},
|
|
5678
5763
|
"name": "publicScope",
|
|
5679
5764
|
"type": {
|
|
@@ -5688,7 +5773,7 @@
|
|
|
5688
5773
|
"immutable": true,
|
|
5689
5774
|
"locationInModule": {
|
|
5690
5775
|
"filename": "lib/ipam.ts",
|
|
5691
|
-
"line":
|
|
5776
|
+
"line": 500
|
|
5692
5777
|
},
|
|
5693
5778
|
"name": "scopes",
|
|
5694
5779
|
"type": {
|
|
@@ -5712,7 +5797,7 @@
|
|
|
5712
5797
|
"immutable": true,
|
|
5713
5798
|
"locationInModule": {
|
|
5714
5799
|
"filename": "lib/ipam.ts",
|
|
5715
|
-
"line":
|
|
5800
|
+
"line": 507
|
|
5716
5801
|
},
|
|
5717
5802
|
"name": "ipamName",
|
|
5718
5803
|
"optional": true,
|
|
@@ -6031,6 +6116,67 @@
|
|
|
6031
6116
|
"name": "IpamScopeType",
|
|
6032
6117
|
"symbolId": "lib/ipam:IpamScopeType"
|
|
6033
6118
|
},
|
|
6119
|
+
"@aws-cdk/aws-ec2-alpha.Ipv6PoolSecondaryAddressProps": {
|
|
6120
|
+
"assembly": "@aws-cdk/aws-ec2-alpha",
|
|
6121
|
+
"datatype": true,
|
|
6122
|
+
"docs": {
|
|
6123
|
+
"stability": "experimental",
|
|
6124
|
+
"summary": "Additional props needed for BYOIP IPv6 address props.",
|
|
6125
|
+
"example": "const myVpc = new VpcV2(this, 'Vpc', {\n primaryAddressBlock: IpAddresses.ipv4('10.1.0.0/16'),\n secondaryAddressBlocks: [IpAddresses.ipv6ByoipPool({\n cidrBlockName: 'MyByoipCidrBlock',\n ipv6PoolId: 'ipv6pool-ec2-someHashValue',\n ipv6CidrBlock: '2001:db8::/32'\n })],\n enableDnsHostnames: true,\n enableDnsSupport: true,\n});",
|
|
6126
|
+
"custom": {
|
|
6127
|
+
"exampleMetadata": "infused"
|
|
6128
|
+
}
|
|
6129
|
+
},
|
|
6130
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.Ipv6PoolSecondaryAddressProps",
|
|
6131
|
+
"interfaces": [
|
|
6132
|
+
"@aws-cdk/aws-ec2-alpha.SecondaryAddressProps"
|
|
6133
|
+
],
|
|
6134
|
+
"kind": "interface",
|
|
6135
|
+
"locationInModule": {
|
|
6136
|
+
"filename": "lib/vpc-v2.ts",
|
|
6137
|
+
"line": 23
|
|
6138
|
+
},
|
|
6139
|
+
"name": "Ipv6PoolSecondaryAddressProps",
|
|
6140
|
+
"properties": [
|
|
6141
|
+
{
|
|
6142
|
+
"abstract": true,
|
|
6143
|
+
"docs": {
|
|
6144
|
+
"remarks": "The most specific IPv6 address range that you can bring is /48 for CIDRs that are publicly advertisable\nand /56 for CIDRs that are not publicly advertisable.",
|
|
6145
|
+
"see": "https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-definitions",
|
|
6146
|
+
"stability": "experimental",
|
|
6147
|
+
"summary": "A valid IPv6 CIDR block from the IPv6 address pool onboarded to AWS using BYOIP."
|
|
6148
|
+
},
|
|
6149
|
+
"immutable": true,
|
|
6150
|
+
"locationInModule": {
|
|
6151
|
+
"filename": "lib/vpc-v2.ts",
|
|
6152
|
+
"line": 38
|
|
6153
|
+
},
|
|
6154
|
+
"name": "ipv6CidrBlock",
|
|
6155
|
+
"type": {
|
|
6156
|
+
"primitive": "string"
|
|
6157
|
+
}
|
|
6158
|
+
},
|
|
6159
|
+
{
|
|
6160
|
+
"abstract": true,
|
|
6161
|
+
"docs": {
|
|
6162
|
+
"remarks": "Note: BYOIP Pool ID is different from the IPAM Pool ID.\nTo onboard your IPv6 address range to your AWS account please refer to the below documentation",
|
|
6163
|
+
"see": "https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/byoip-onboard.html",
|
|
6164
|
+
"stability": "experimental",
|
|
6165
|
+
"summary": "ID of the IPv6 address pool from which to allocate the IPv6 CIDR block."
|
|
6166
|
+
},
|
|
6167
|
+
"immutable": true,
|
|
6168
|
+
"locationInModule": {
|
|
6169
|
+
"filename": "lib/vpc-v2.ts",
|
|
6170
|
+
"line": 30
|
|
6171
|
+
},
|
|
6172
|
+
"name": "ipv6PoolId",
|
|
6173
|
+
"type": {
|
|
6174
|
+
"primitive": "string"
|
|
6175
|
+
}
|
|
6176
|
+
}
|
|
6177
|
+
],
|
|
6178
|
+
"symbolId": "lib/vpc-v2:Ipv6PoolSecondaryAddressProps"
|
|
6179
|
+
},
|
|
6034
6180
|
"@aws-cdk/aws-ec2-alpha.NatConnectivityType": {
|
|
6035
6181
|
"assembly": "@aws-cdk/aws-ec2-alpha",
|
|
6036
6182
|
"docs": {
|
|
@@ -6086,7 +6232,7 @@
|
|
|
6086
6232
|
},
|
|
6087
6233
|
"locationInModule": {
|
|
6088
6234
|
"filename": "lib/route.ts",
|
|
6089
|
-
"line":
|
|
6235
|
+
"line": 422
|
|
6090
6236
|
},
|
|
6091
6237
|
"parameters": [
|
|
6092
6238
|
{
|
|
@@ -6130,7 +6276,7 @@
|
|
|
6130
6276
|
"immutable": true,
|
|
6131
6277
|
"locationInModule": {
|
|
6132
6278
|
"filename": "lib/route.ts",
|
|
6133
|
-
"line":
|
|
6279
|
+
"line": 390
|
|
6134
6280
|
},
|
|
6135
6281
|
"name": "natGatewayId",
|
|
6136
6282
|
"type": {
|
|
@@ -6145,7 +6291,7 @@
|
|
|
6145
6291
|
"immutable": true,
|
|
6146
6292
|
"locationInModule": {
|
|
6147
6293
|
"filename": "lib/route.ts",
|
|
6148
|
-
"line":
|
|
6294
|
+
"line": 420
|
|
6149
6295
|
},
|
|
6150
6296
|
"name": "resource",
|
|
6151
6297
|
"type": {
|
|
@@ -6160,7 +6306,7 @@
|
|
|
6160
6306
|
"immutable": true,
|
|
6161
6307
|
"locationInModule": {
|
|
6162
6308
|
"filename": "lib/route.ts",
|
|
6163
|
-
"line":
|
|
6309
|
+
"line": 400
|
|
6164
6310
|
},
|
|
6165
6311
|
"name": "routerTargetId",
|
|
6166
6312
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteTarget",
|
|
@@ -6176,7 +6322,7 @@
|
|
|
6176
6322
|
"immutable": true,
|
|
6177
6323
|
"locationInModule": {
|
|
6178
6324
|
"filename": "lib/route.ts",
|
|
6179
|
-
"line":
|
|
6325
|
+
"line": 395
|
|
6180
6326
|
},
|
|
6181
6327
|
"name": "routerType",
|
|
6182
6328
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteTarget",
|
|
@@ -6193,7 +6339,7 @@
|
|
|
6193
6339
|
"immutable": true,
|
|
6194
6340
|
"locationInModule": {
|
|
6195
6341
|
"filename": "lib/route.ts",
|
|
6196
|
-
"line":
|
|
6342
|
+
"line": 407
|
|
6197
6343
|
},
|
|
6198
6344
|
"name": "connectivityType",
|
|
6199
6345
|
"optional": true,
|
|
@@ -6210,7 +6356,7 @@
|
|
|
6210
6356
|
"immutable": true,
|
|
6211
6357
|
"locationInModule": {
|
|
6212
6358
|
"filename": "lib/route.ts",
|
|
6213
|
-
"line":
|
|
6359
|
+
"line": 415
|
|
6214
6360
|
},
|
|
6215
6361
|
"name": "maxDrainDuration",
|
|
6216
6362
|
"optional": true,
|
|
@@ -6620,7 +6766,7 @@
|
|
|
6620
6766
|
},
|
|
6621
6767
|
"locationInModule": {
|
|
6622
6768
|
"filename": "lib/route.ts",
|
|
6623
|
-
"line":
|
|
6769
|
+
"line": 715
|
|
6624
6770
|
},
|
|
6625
6771
|
"parameters": [
|
|
6626
6772
|
{
|
|
@@ -6649,7 +6795,7 @@
|
|
|
6649
6795
|
"kind": "class",
|
|
6650
6796
|
"locationInModule": {
|
|
6651
6797
|
"filename": "lib/route.ts",
|
|
6652
|
-
"line":
|
|
6798
|
+
"line": 676
|
|
6653
6799
|
},
|
|
6654
6800
|
"name": "Route",
|
|
6655
6801
|
"properties": [
|
|
@@ -6662,7 +6808,7 @@
|
|
|
6662
6808
|
"immutable": true,
|
|
6663
6809
|
"locationInModule": {
|
|
6664
6810
|
"filename": "lib/route.ts",
|
|
6665
|
-
"line":
|
|
6811
|
+
"line": 682
|
|
6666
6812
|
},
|
|
6667
6813
|
"name": "destination",
|
|
6668
6814
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteV2",
|
|
@@ -6681,7 +6827,7 @@
|
|
|
6681
6827
|
"immutable": true,
|
|
6682
6828
|
"locationInModule": {
|
|
6683
6829
|
"filename": "lib/route.ts",
|
|
6684
|
-
"line":
|
|
6830
|
+
"line": 693
|
|
6685
6831
|
},
|
|
6686
6832
|
"name": "routeTable",
|
|
6687
6833
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteV2",
|
|
@@ -6697,7 +6843,7 @@
|
|
|
6697
6843
|
"immutable": true,
|
|
6698
6844
|
"locationInModule": {
|
|
6699
6845
|
"filename": "lib/route.ts",
|
|
6700
|
-
"line":
|
|
6846
|
+
"line": 687
|
|
6701
6847
|
},
|
|
6702
6848
|
"name": "target",
|
|
6703
6849
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteV2",
|
|
@@ -6713,7 +6859,7 @@
|
|
|
6713
6859
|
"immutable": true,
|
|
6714
6860
|
"locationInModule": {
|
|
6715
6861
|
"filename": "lib/route.ts",
|
|
6716
|
-
"line":
|
|
6862
|
+
"line": 698
|
|
6717
6863
|
},
|
|
6718
6864
|
"name": "targetRouterType",
|
|
6719
6865
|
"type": {
|
|
@@ -6728,7 +6874,7 @@
|
|
|
6728
6874
|
"immutable": true,
|
|
6729
6875
|
"locationInModule": {
|
|
6730
6876
|
"filename": "lib/route.ts",
|
|
6731
|
-
"line":
|
|
6877
|
+
"line": 703
|
|
6732
6878
|
},
|
|
6733
6879
|
"name": "resource",
|
|
6734
6880
|
"optional": true,
|
|
@@ -6754,7 +6900,7 @@
|
|
|
6754
6900
|
"kind": "interface",
|
|
6755
6901
|
"locationInModule": {
|
|
6756
6902
|
"filename": "lib/route.ts",
|
|
6757
|
-
"line":
|
|
6903
|
+
"line": 644
|
|
6758
6904
|
},
|
|
6759
6905
|
"name": "RouteProps",
|
|
6760
6906
|
"properties": [
|
|
@@ -6768,7 +6914,7 @@
|
|
|
6768
6914
|
"immutable": true,
|
|
6769
6915
|
"locationInModule": {
|
|
6770
6916
|
"filename": "lib/route.ts",
|
|
6771
|
-
"line":
|
|
6917
|
+
"line": 657
|
|
6772
6918
|
},
|
|
6773
6919
|
"name": "destination",
|
|
6774
6920
|
"type": {
|
|
@@ -6787,7 +6933,7 @@
|
|
|
6787
6933
|
"immutable": true,
|
|
6788
6934
|
"locationInModule": {
|
|
6789
6935
|
"filename": "lib/route.ts",
|
|
6790
|
-
"line":
|
|
6936
|
+
"line": 650
|
|
6791
6937
|
},
|
|
6792
6938
|
"name": "routeTable",
|
|
6793
6939
|
"type": {
|
|
@@ -6803,7 +6949,7 @@
|
|
|
6803
6949
|
"immutable": true,
|
|
6804
6950
|
"locationInModule": {
|
|
6805
6951
|
"filename": "lib/route.ts",
|
|
6806
|
-
"line":
|
|
6952
|
+
"line": 662
|
|
6807
6953
|
},
|
|
6808
6954
|
"name": "target",
|
|
6809
6955
|
"type": {
|
|
@@ -6820,7 +6966,7 @@
|
|
|
6820
6966
|
"immutable": true,
|
|
6821
6967
|
"locationInModule": {
|
|
6822
6968
|
"filename": "lib/route.ts",
|
|
6823
|
-
"line":
|
|
6969
|
+
"line": 669
|
|
6824
6970
|
},
|
|
6825
6971
|
"name": "routeName",
|
|
6826
6972
|
"optional": true,
|
|
@@ -6850,7 +6996,7 @@
|
|
|
6850
6996
|
},
|
|
6851
6997
|
"locationInModule": {
|
|
6852
6998
|
"filename": "lib/route.ts",
|
|
6853
|
-
"line":
|
|
6999
|
+
"line": 787
|
|
6854
7000
|
},
|
|
6855
7001
|
"parameters": [
|
|
6856
7002
|
{
|
|
@@ -6879,7 +7025,7 @@
|
|
|
6879
7025
|
"kind": "class",
|
|
6880
7026
|
"locationInModule": {
|
|
6881
7027
|
"filename": "lib/route.ts",
|
|
6882
|
-
"line":
|
|
7028
|
+
"line": 776
|
|
6883
7029
|
},
|
|
6884
7030
|
"methods": [
|
|
6885
7031
|
{
|
|
@@ -6889,7 +7035,7 @@
|
|
|
6889
7035
|
},
|
|
6890
7036
|
"locationInModule": {
|
|
6891
7037
|
"filename": "lib/route.ts",
|
|
6892
|
-
"line":
|
|
7038
|
+
"line": 808
|
|
6893
7039
|
},
|
|
6894
7040
|
"name": "addRoute",
|
|
6895
7041
|
"parameters": [
|
|
@@ -6940,7 +7086,7 @@
|
|
|
6940
7086
|
"immutable": true,
|
|
6941
7087
|
"locationInModule": {
|
|
6942
7088
|
"filename": "lib/route.ts",
|
|
6943
|
-
"line":
|
|
7089
|
+
"line": 785
|
|
6944
7090
|
},
|
|
6945
7091
|
"name": "resource",
|
|
6946
7092
|
"type": {
|
|
@@ -6955,7 +7101,7 @@
|
|
|
6955
7101
|
"immutable": true,
|
|
6956
7102
|
"locationInModule": {
|
|
6957
7103
|
"filename": "lib/route.ts",
|
|
6958
|
-
"line":
|
|
7104
|
+
"line": 780
|
|
6959
7105
|
},
|
|
6960
7106
|
"name": "routeTableId",
|
|
6961
7107
|
"overrides": "aws-cdk-lib.aws_ec2.IRouteTable",
|
|
@@ -6981,7 +7127,7 @@
|
|
|
6981
7127
|
"kind": "interface",
|
|
6982
7128
|
"locationInModule": {
|
|
6983
7129
|
"filename": "lib/route.ts",
|
|
6984
|
-
"line":
|
|
7130
|
+
"line": 758
|
|
6985
7131
|
},
|
|
6986
7132
|
"name": "RouteTableProps",
|
|
6987
7133
|
"properties": [
|
|
@@ -6994,7 +7140,7 @@
|
|
|
6994
7140
|
"immutable": true,
|
|
6995
7141
|
"locationInModule": {
|
|
6996
7142
|
"filename": "lib/route.ts",
|
|
6997
|
-
"line":
|
|
7143
|
+
"line": 762
|
|
6998
7144
|
},
|
|
6999
7145
|
"name": "vpc",
|
|
7000
7146
|
"type": {
|
|
@@ -7011,7 +7157,7 @@
|
|
|
7011
7157
|
"immutable": true,
|
|
7012
7158
|
"locationInModule": {
|
|
7013
7159
|
"filename": "lib/route.ts",
|
|
7014
|
-
"line":
|
|
7160
|
+
"line": 769
|
|
7015
7161
|
},
|
|
7016
7162
|
"name": "routeTableName",
|
|
7017
7163
|
"optional": true,
|
|
@@ -7037,7 +7183,7 @@
|
|
|
7037
7183
|
"kind": "interface",
|
|
7038
7184
|
"locationInModule": {
|
|
7039
7185
|
"filename": "lib/route.ts",
|
|
7040
|
-
"line":
|
|
7186
|
+
"line": 569
|
|
7041
7187
|
},
|
|
7042
7188
|
"name": "RouteTargetProps",
|
|
7043
7189
|
"properties": [
|
|
@@ -7052,7 +7198,7 @@
|
|
|
7052
7198
|
"immutable": true,
|
|
7053
7199
|
"locationInModule": {
|
|
7054
7200
|
"filename": "lib/route.ts",
|
|
7055
|
-
"line":
|
|
7201
|
+
"line": 584
|
|
7056
7202
|
},
|
|
7057
7203
|
"name": "endpoint",
|
|
7058
7204
|
"optional": true,
|
|
@@ -7071,7 +7217,7 @@
|
|
|
7071
7217
|
"immutable": true,
|
|
7072
7218
|
"locationInModule": {
|
|
7073
7219
|
"filename": "lib/route.ts",
|
|
7074
|
-
"line":
|
|
7220
|
+
"line": 576
|
|
7075
7221
|
},
|
|
7076
7222
|
"name": "gateway",
|
|
7077
7223
|
"optional": true,
|
|
@@ -7099,7 +7245,7 @@
|
|
|
7099
7245
|
},
|
|
7100
7246
|
"locationInModule": {
|
|
7101
7247
|
"filename": "lib/route.ts",
|
|
7102
|
-
"line":
|
|
7248
|
+
"line": 607
|
|
7103
7249
|
},
|
|
7104
7250
|
"parameters": [
|
|
7105
7251
|
{
|
|
@@ -7113,7 +7259,7 @@
|
|
|
7113
7259
|
"kind": "class",
|
|
7114
7260
|
"locationInModule": {
|
|
7115
7261
|
"filename": "lib/route.ts",
|
|
7116
|
-
"line":
|
|
7262
|
+
"line": 590
|
|
7117
7263
|
},
|
|
7118
7264
|
"name": "RouteTargetType",
|
|
7119
7265
|
"properties": [
|
|
@@ -7127,7 +7273,7 @@
|
|
|
7127
7273
|
"immutable": true,
|
|
7128
7274
|
"locationInModule": {
|
|
7129
7275
|
"filename": "lib/route.ts",
|
|
7130
|
-
"line":
|
|
7276
|
+
"line": 605
|
|
7131
7277
|
},
|
|
7132
7278
|
"name": "endpoint",
|
|
7133
7279
|
"optional": true,
|
|
@@ -7145,7 +7291,7 @@
|
|
|
7145
7291
|
"immutable": true,
|
|
7146
7292
|
"locationInModule": {
|
|
7147
7293
|
"filename": "lib/route.ts",
|
|
7148
|
-
"line":
|
|
7294
|
+
"line": 597
|
|
7149
7295
|
},
|
|
7150
7296
|
"name": "gateway",
|
|
7151
7297
|
"optional": true,
|
|
@@ -7215,7 +7361,7 @@
|
|
|
7215
7361
|
},
|
|
7216
7362
|
"locationInModule": {
|
|
7217
7363
|
"filename": "lib/subnet-v2.ts",
|
|
7218
|
-
"line":
|
|
7364
|
+
"line": 243
|
|
7219
7365
|
},
|
|
7220
7366
|
"parameters": [
|
|
7221
7367
|
{
|
|
@@ -7253,7 +7399,7 @@
|
|
|
7253
7399
|
"kind": "class",
|
|
7254
7400
|
"locationInModule": {
|
|
7255
7401
|
"filename": "lib/subnet-v2.ts",
|
|
7256
|
-
"line":
|
|
7402
|
+
"line": 130
|
|
7257
7403
|
},
|
|
7258
7404
|
"methods": [
|
|
7259
7405
|
{
|
|
@@ -7263,7 +7409,7 @@
|
|
|
7263
7409
|
},
|
|
7264
7410
|
"locationInModule": {
|
|
7265
7411
|
"filename": "lib/subnet-v2.ts",
|
|
7266
|
-
"line":
|
|
7412
|
+
"line": 134
|
|
7267
7413
|
},
|
|
7268
7414
|
"name": "fromSubnetV2Attributes",
|
|
7269
7415
|
"parameters": [
|
|
@@ -7300,7 +7446,7 @@
|
|
|
7300
7446
|
},
|
|
7301
7447
|
"locationInModule": {
|
|
7302
7448
|
"filename": "lib/subnet-v2.ts",
|
|
7303
|
-
"line":
|
|
7449
|
+
"line": 330
|
|
7304
7450
|
},
|
|
7305
7451
|
"name": "associateNetworkAcl",
|
|
7306
7452
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -7337,7 +7483,7 @@
|
|
|
7337
7483
|
"immutable": true,
|
|
7338
7484
|
"locationInModule": {
|
|
7339
7485
|
"filename": "lib/subnet-v2.ts",
|
|
7340
|
-
"line":
|
|
7486
|
+
"line": 195
|
|
7341
7487
|
},
|
|
7342
7488
|
"name": "availabilityZone",
|
|
7343
7489
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -7353,7 +7499,7 @@
|
|
|
7353
7499
|
"immutable": true,
|
|
7354
7500
|
"locationInModule": {
|
|
7355
7501
|
"filename": "lib/subnet-v2.ts",
|
|
7356
|
-
"line":
|
|
7502
|
+
"line": 207
|
|
7357
7503
|
},
|
|
7358
7504
|
"name": "internetConnectivityEstablished",
|
|
7359
7505
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -7369,7 +7515,7 @@
|
|
|
7369
7515
|
"immutable": true,
|
|
7370
7516
|
"locationInModule": {
|
|
7371
7517
|
"filename": "lib/subnet-v2.ts",
|
|
7372
|
-
"line":
|
|
7518
|
+
"line": 220
|
|
7373
7519
|
},
|
|
7374
7520
|
"name": "ipv4CidrBlock",
|
|
7375
7521
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -7385,7 +7531,7 @@
|
|
|
7385
7531
|
"immutable": true,
|
|
7386
7532
|
"locationInModule": {
|
|
7387
7533
|
"filename": "lib/subnet-v2.ts",
|
|
7388
|
-
"line":
|
|
7534
|
+
"line": 352
|
|
7389
7535
|
},
|
|
7390
7536
|
"name": "networkAcl",
|
|
7391
7537
|
"type": {
|
|
@@ -7400,7 +7546,7 @@
|
|
|
7400
7546
|
"immutable": true,
|
|
7401
7547
|
"locationInModule": {
|
|
7402
7548
|
"filename": "lib/subnet-v2.ts",
|
|
7403
|
-
"line":
|
|
7549
|
+
"line": 344
|
|
7404
7550
|
},
|
|
7405
7551
|
"name": "routeTable",
|
|
7406
7552
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -7419,7 +7565,7 @@
|
|
|
7419
7565
|
"immutable": true,
|
|
7420
7566
|
"locationInModule": {
|
|
7421
7567
|
"filename": "lib/subnet-v2.ts",
|
|
7422
|
-
"line":
|
|
7568
|
+
"line": 201
|
|
7423
7569
|
},
|
|
7424
7570
|
"name": "subnetId",
|
|
7425
7571
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -7435,7 +7581,7 @@
|
|
|
7435
7581
|
"immutable": true,
|
|
7436
7582
|
"locationInModule": {
|
|
7437
7583
|
"filename": "lib/subnet-v2.ts",
|
|
7438
|
-
"line":
|
|
7584
|
+
"line": 225
|
|
7439
7585
|
},
|
|
7440
7586
|
"name": "ipv6CidrBlock",
|
|
7441
7587
|
"optional": true,
|
|
@@ -7455,7 +7601,7 @@
|
|
|
7455
7601
|
"immutable": true,
|
|
7456
7602
|
"locationInModule": {
|
|
7457
7603
|
"filename": "lib/subnet-v2.ts",
|
|
7458
|
-
"line":
|
|
7604
|
+
"line": 231
|
|
7459
7605
|
},
|
|
7460
7606
|
"name": "subnetType",
|
|
7461
7607
|
"optional": true,
|
|
@@ -7482,7 +7628,7 @@
|
|
|
7482
7628
|
"kind": "interface",
|
|
7483
7629
|
"locationInModule": {
|
|
7484
7630
|
"filename": "lib/subnet-v2.ts",
|
|
7485
|
-
"line":
|
|
7631
|
+
"line": 360
|
|
7486
7632
|
},
|
|
7487
7633
|
"name": "SubnetV2Attributes",
|
|
7488
7634
|
"properties": [
|
|
@@ -7496,7 +7642,7 @@
|
|
|
7496
7642
|
"immutable": true,
|
|
7497
7643
|
"locationInModule": {
|
|
7498
7644
|
"filename": "lib/subnet-v2.ts",
|
|
7499
|
-
"line":
|
|
7645
|
+
"line": 366
|
|
7500
7646
|
},
|
|
7501
7647
|
"name": "availabilityZone",
|
|
7502
7648
|
"type": {
|
|
@@ -7513,7 +7659,7 @@
|
|
|
7513
7659
|
"immutable": true,
|
|
7514
7660
|
"locationInModule": {
|
|
7515
7661
|
"filename": "lib/subnet-v2.ts",
|
|
7516
|
-
"line":
|
|
7662
|
+
"line": 373
|
|
7517
7663
|
},
|
|
7518
7664
|
"name": "ipv4CidrBlock",
|
|
7519
7665
|
"type": {
|
|
@@ -7529,7 +7675,7 @@
|
|
|
7529
7675
|
"immutable": true,
|
|
7530
7676
|
"locationInModule": {
|
|
7531
7677
|
"filename": "lib/subnet-v2.ts",
|
|
7532
|
-
"line":
|
|
7678
|
+
"line": 392
|
|
7533
7679
|
},
|
|
7534
7680
|
"name": "subnetId",
|
|
7535
7681
|
"type": {
|
|
@@ -7545,7 +7691,7 @@
|
|
|
7545
7691
|
"immutable": true,
|
|
7546
7692
|
"locationInModule": {
|
|
7547
7693
|
"filename": "lib/subnet-v2.ts",
|
|
7548
|
-
"line":
|
|
7694
|
+
"line": 397
|
|
7549
7695
|
},
|
|
7550
7696
|
"name": "subnetType",
|
|
7551
7697
|
"type": {
|
|
@@ -7562,7 +7708,7 @@
|
|
|
7562
7708
|
"immutable": true,
|
|
7563
7709
|
"locationInModule": {
|
|
7564
7710
|
"filename": "lib/subnet-v2.ts",
|
|
7565
|
-
"line":
|
|
7711
|
+
"line": 380
|
|
7566
7712
|
},
|
|
7567
7713
|
"name": "ipv6CidrBlock",
|
|
7568
7714
|
"optional": true,
|
|
@@ -7580,7 +7726,7 @@
|
|
|
7580
7726
|
"immutable": true,
|
|
7581
7727
|
"locationInModule": {
|
|
7582
7728
|
"filename": "lib/subnet-v2.ts",
|
|
7583
|
-
"line":
|
|
7729
|
+
"line": 387
|
|
7584
7730
|
},
|
|
7585
7731
|
"name": "routeTableId",
|
|
7586
7732
|
"optional": true,
|
|
@@ -7598,7 +7744,7 @@
|
|
|
7598
7744
|
"immutable": true,
|
|
7599
7745
|
"locationInModule": {
|
|
7600
7746
|
"filename": "lib/subnet-v2.ts",
|
|
7601
|
-
"line":
|
|
7747
|
+
"line": 404
|
|
7602
7748
|
},
|
|
7603
7749
|
"name": "subnetName",
|
|
7604
7750
|
"optional": true,
|
|
@@ -7624,7 +7770,7 @@
|
|
|
7624
7770
|
"kind": "interface",
|
|
7625
7771
|
"locationInModule": {
|
|
7626
7772
|
"filename": "lib/subnet-v2.ts",
|
|
7627
|
-
"line":
|
|
7773
|
+
"line": 42
|
|
7628
7774
|
},
|
|
7629
7775
|
"name": "SubnetV2Props",
|
|
7630
7776
|
"properties": [
|
|
@@ -7637,7 +7783,7 @@
|
|
|
7637
7783
|
"immutable": true,
|
|
7638
7784
|
"locationInModule": {
|
|
7639
7785
|
"filename": "lib/subnet-v2.ts",
|
|
7640
|
-
"line":
|
|
7786
|
+
"line": 64
|
|
7641
7787
|
},
|
|
7642
7788
|
"name": "availabilityZone",
|
|
7643
7789
|
"type": {
|
|
@@ -7654,7 +7800,7 @@
|
|
|
7654
7800
|
"immutable": true,
|
|
7655
7801
|
"locationInModule": {
|
|
7656
7802
|
"filename": "lib/subnet-v2.ts",
|
|
7657
|
-
"line":
|
|
7803
|
+
"line": 52
|
|
7658
7804
|
},
|
|
7659
7805
|
"name": "ipv4CidrBlock",
|
|
7660
7806
|
"type": {
|
|
@@ -7671,7 +7817,7 @@
|
|
|
7671
7817
|
"immutable": true,
|
|
7672
7818
|
"locationInModule": {
|
|
7673
7819
|
"filename": "lib/subnet-v2.ts",
|
|
7674
|
-
"line":
|
|
7820
|
+
"line": 81
|
|
7675
7821
|
},
|
|
7676
7822
|
"name": "subnetType",
|
|
7677
7823
|
"type": {
|
|
@@ -7687,7 +7833,7 @@
|
|
|
7687
7833
|
"immutable": true,
|
|
7688
7834
|
"locationInModule": {
|
|
7689
7835
|
"filename": "lib/subnet-v2.ts",
|
|
7690
|
-
"line":
|
|
7836
|
+
"line": 46
|
|
7691
7837
|
},
|
|
7692
7838
|
"name": "vpc",
|
|
7693
7839
|
"type": {
|
|
@@ -7705,7 +7851,7 @@
|
|
|
7705
7851
|
"immutable": true,
|
|
7706
7852
|
"locationInModule": {
|
|
7707
7853
|
"filename": "lib/subnet-v2.ts",
|
|
7708
|
-
"line":
|
|
7854
|
+
"line": 96
|
|
7709
7855
|
},
|
|
7710
7856
|
"name": "assignIpv6AddressOnCreation",
|
|
7711
7857
|
"optional": true,
|
|
@@ -7723,7 +7869,7 @@
|
|
|
7723
7869
|
"immutable": true,
|
|
7724
7870
|
"locationInModule": {
|
|
7725
7871
|
"filename": "lib/subnet-v2.ts",
|
|
7726
|
-
"line":
|
|
7872
|
+
"line": 59
|
|
7727
7873
|
},
|
|
7728
7874
|
"name": "ipv6CidrBlock",
|
|
7729
7875
|
"optional": true,
|
|
@@ -7741,7 +7887,7 @@
|
|
|
7741
7887
|
"immutable": true,
|
|
7742
7888
|
"locationInModule": {
|
|
7743
7889
|
"filename": "lib/subnet-v2.ts",
|
|
7744
|
-
"line":
|
|
7890
|
+
"line": 71
|
|
7745
7891
|
},
|
|
7746
7892
|
"name": "routeTable",
|
|
7747
7893
|
"optional": true,
|
|
@@ -7759,7 +7905,7 @@
|
|
|
7759
7905
|
"immutable": true,
|
|
7760
7906
|
"locationInModule": {
|
|
7761
7907
|
"filename": "lib/subnet-v2.ts",
|
|
7762
|
-
"line":
|
|
7908
|
+
"line": 88
|
|
7763
7909
|
},
|
|
7764
7910
|
"name": "subnetName",
|
|
7765
7911
|
"optional": true,
|
|
@@ -7776,7 +7922,7 @@
|
|
|
7776
7922
|
"docs": {
|
|
7777
7923
|
"stability": "experimental",
|
|
7778
7924
|
"summary": "Attributes for VPCCidrBlock used for defining a new CIDR Block and also for importing an existing CIDR.",
|
|
7779
|
-
"example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as ec2_alpha from '@aws-cdk/aws-ec2-alpha';\nconst vPCCidrBlockattributes: ec2_alpha.VPCCidrBlockattributes = {\n amazonProvidedIpv6CidrBlock: false,\n cidrBlock: 'cidrBlock',\n cidrBlockName: 'cidrBlockName',\n ipv4IpamPoolId: 'ipv4IpamPoolId',\n ipv4IpamProvisionedCidrs: ['ipv4IpamProvisionedCidrs'],\n ipv4NetmaskLength: 123,\n ipv6IpamPoolId: 'ipv6IpamPoolId',\n ipv6NetmaskLength: 123,\n};",
|
|
7925
|
+
"example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as ec2_alpha from '@aws-cdk/aws-ec2-alpha';\nconst vPCCidrBlockattributes: ec2_alpha.VPCCidrBlockattributes = {\n amazonProvidedIpv6CidrBlock: false,\n cidrBlock: 'cidrBlock',\n cidrBlockName: 'cidrBlockName',\n ipv4IpamPoolId: 'ipv4IpamPoolId',\n ipv4IpamProvisionedCidrs: ['ipv4IpamProvisionedCidrs'],\n ipv4NetmaskLength: 123,\n ipv6CidrBlock: 'ipv6CidrBlock',\n ipv6IpamPoolId: 'ipv6IpamPoolId',\n ipv6NetmaskLength: 123,\n ipv6Pool: 'ipv6Pool',\n};",
|
|
7780
7926
|
"custom": {
|
|
7781
7927
|
"exampleMetadata": "fixture=_generated"
|
|
7782
7928
|
}
|
|
@@ -7785,7 +7931,7 @@
|
|
|
7785
7931
|
"kind": "interface",
|
|
7786
7932
|
"locationInModule": {
|
|
7787
7933
|
"filename": "lib/vpc-v2.ts",
|
|
7788
|
-
"line":
|
|
7934
|
+
"line": 731
|
|
7789
7935
|
},
|
|
7790
7936
|
"name": "VPCCidrBlockattributes",
|
|
7791
7937
|
"properties": [
|
|
@@ -7799,7 +7945,7 @@
|
|
|
7799
7945
|
"immutable": true,
|
|
7800
7946
|
"locationInModule": {
|
|
7801
7947
|
"filename": "lib/vpc-v2.ts",
|
|
7802
|
-
"line":
|
|
7948
|
+
"line": 737
|
|
7803
7949
|
},
|
|
7804
7950
|
"name": "amazonProvidedIpv6CidrBlock",
|
|
7805
7951
|
"optional": true,
|
|
@@ -7817,7 +7963,7 @@
|
|
|
7817
7963
|
"immutable": true,
|
|
7818
7964
|
"locationInModule": {
|
|
7819
7965
|
"filename": "lib/vpc-v2.ts",
|
|
7820
|
-
"line":
|
|
7966
|
+
"line": 744
|
|
7821
7967
|
},
|
|
7822
7968
|
"name": "cidrBlock",
|
|
7823
7969
|
"optional": true,
|
|
@@ -7835,7 +7981,7 @@
|
|
|
7835
7981
|
"immutable": true,
|
|
7836
7982
|
"locationInModule": {
|
|
7837
7983
|
"filename": "lib/vpc-v2.ts",
|
|
7838
|
-
"line":
|
|
7984
|
+
"line": 751
|
|
7839
7985
|
},
|
|
7840
7986
|
"name": "cidrBlockName",
|
|
7841
7987
|
"optional": true,
|
|
@@ -7853,7 +7999,7 @@
|
|
|
7853
7999
|
"immutable": true,
|
|
7854
8000
|
"locationInModule": {
|
|
7855
8001
|
"filename": "lib/vpc-v2.ts",
|
|
7856
|
-
"line":
|
|
8002
|
+
"line": 779
|
|
7857
8003
|
},
|
|
7858
8004
|
"name": "ipv4IpamPoolId",
|
|
7859
8005
|
"optional": true,
|
|
@@ -7871,7 +8017,7 @@
|
|
|
7871
8017
|
"immutable": true,
|
|
7872
8018
|
"locationInModule": {
|
|
7873
8019
|
"filename": "lib/vpc-v2.ts",
|
|
7874
|
-
"line":
|
|
8020
|
+
"line": 787
|
|
7875
8021
|
},
|
|
7876
8022
|
"name": "ipv4IpamProvisionedCidrs",
|
|
7877
8023
|
"optional": true,
|
|
@@ -7894,7 +8040,7 @@
|
|
|
7894
8040
|
"immutable": true,
|
|
7895
8041
|
"locationInModule": {
|
|
7896
8042
|
"filename": "lib/vpc-v2.ts",
|
|
7897
|
-
"line":
|
|
8043
|
+
"line": 765
|
|
7898
8044
|
},
|
|
7899
8045
|
"name": "ipv4NetmaskLength",
|
|
7900
8046
|
"optional": true,
|
|
@@ -7902,6 +8048,24 @@
|
|
|
7902
8048
|
"primitive": "number"
|
|
7903
8049
|
}
|
|
7904
8050
|
},
|
|
8051
|
+
{
|
|
8052
|
+
"abstract": true,
|
|
8053
|
+
"docs": {
|
|
8054
|
+
"default": "- No IPv6 CIDR block associated with VPC.",
|
|
8055
|
+
"stability": "experimental",
|
|
8056
|
+
"summary": "The IPv6 CIDR block from the specified IPv6 address pool."
|
|
8057
|
+
},
|
|
8058
|
+
"immutable": true,
|
|
8059
|
+
"locationInModule": {
|
|
8060
|
+
"filename": "lib/vpc-v2.ts",
|
|
8061
|
+
"line": 794
|
|
8062
|
+
},
|
|
8063
|
+
"name": "ipv6CidrBlock",
|
|
8064
|
+
"optional": true,
|
|
8065
|
+
"type": {
|
|
8066
|
+
"primitive": "string"
|
|
8067
|
+
}
|
|
8068
|
+
},
|
|
7905
8069
|
{
|
|
7906
8070
|
"abstract": true,
|
|
7907
8071
|
"docs": {
|
|
@@ -7912,7 +8076,7 @@
|
|
|
7912
8076
|
"immutable": true,
|
|
7913
8077
|
"locationInModule": {
|
|
7914
8078
|
"filename": "lib/vpc-v2.ts",
|
|
7915
|
-
"line":
|
|
8079
|
+
"line": 772
|
|
7916
8080
|
},
|
|
7917
8081
|
"name": "ipv6IpamPoolId",
|
|
7918
8082
|
"optional": true,
|
|
@@ -7930,13 +8094,32 @@
|
|
|
7930
8094
|
"immutable": true,
|
|
7931
8095
|
"locationInModule": {
|
|
7932
8096
|
"filename": "lib/vpc-v2.ts",
|
|
7933
|
-
"line":
|
|
8097
|
+
"line": 758
|
|
7934
8098
|
},
|
|
7935
8099
|
"name": "ipv6NetmaskLength",
|
|
7936
8100
|
"optional": true,
|
|
7937
8101
|
"type": {
|
|
7938
8102
|
"primitive": "number"
|
|
7939
8103
|
}
|
|
8104
|
+
},
|
|
8105
|
+
{
|
|
8106
|
+
"abstract": true,
|
|
8107
|
+
"docs": {
|
|
8108
|
+
"default": "- No BYOIP pool associated with VPC.",
|
|
8109
|
+
"remarks": "Note: BYOIP Pool ID is different than IPAM Pool ID.",
|
|
8110
|
+
"stability": "experimental",
|
|
8111
|
+
"summary": "The ID of the IPv6 address pool from which to allocate the IPv6 CIDR block."
|
|
8112
|
+
},
|
|
8113
|
+
"immutable": true,
|
|
8114
|
+
"locationInModule": {
|
|
8115
|
+
"filename": "lib/vpc-v2.ts",
|
|
8116
|
+
"line": 802
|
|
8117
|
+
},
|
|
8118
|
+
"name": "ipv6Pool",
|
|
8119
|
+
"optional": true,
|
|
8120
|
+
"type": {
|
|
8121
|
+
"primitive": "string"
|
|
8122
|
+
}
|
|
7940
8123
|
}
|
|
7941
8124
|
],
|
|
7942
8125
|
"symbolId": "lib/vpc-v2:VPCCidrBlockattributes"
|
|
@@ -7960,7 +8143,7 @@
|
|
|
7960
8143
|
},
|
|
7961
8144
|
"locationInModule": {
|
|
7962
8145
|
"filename": "lib/route.ts",
|
|
7963
|
-
"line":
|
|
8146
|
+
"line": 488
|
|
7964
8147
|
},
|
|
7965
8148
|
"parameters": [
|
|
7966
8149
|
{
|
|
@@ -7989,7 +8172,7 @@
|
|
|
7989
8172
|
"kind": "class",
|
|
7990
8173
|
"locationInModule": {
|
|
7991
8174
|
"filename": "lib/route.ts",
|
|
7992
|
-
"line":
|
|
8175
|
+
"line": 472
|
|
7993
8176
|
},
|
|
7994
8177
|
"name": "VPCPeeringConnection",
|
|
7995
8178
|
"properties": [
|
|
@@ -8001,7 +8184,7 @@
|
|
|
8001
8184
|
"immutable": true,
|
|
8002
8185
|
"locationInModule": {
|
|
8003
8186
|
"filename": "lib/route.ts",
|
|
8004
|
-
"line":
|
|
8187
|
+
"line": 486
|
|
8005
8188
|
},
|
|
8006
8189
|
"name": "resource",
|
|
8007
8190
|
"type": {
|
|
@@ -8016,7 +8199,7 @@
|
|
|
8016
8199
|
"immutable": true,
|
|
8017
8200
|
"locationInModule": {
|
|
8018
8201
|
"filename": "lib/route.ts",
|
|
8019
|
-
"line":
|
|
8202
|
+
"line": 481
|
|
8020
8203
|
},
|
|
8021
8204
|
"name": "routerTargetId",
|
|
8022
8205
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteTarget",
|
|
@@ -8032,7 +8215,7 @@
|
|
|
8032
8215
|
"immutable": true,
|
|
8033
8216
|
"locationInModule": {
|
|
8034
8217
|
"filename": "lib/route.ts",
|
|
8035
|
-
"line":
|
|
8218
|
+
"line": 476
|
|
8036
8219
|
},
|
|
8037
8220
|
"name": "routerType",
|
|
8038
8221
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteTarget",
|
|
@@ -8420,7 +8603,7 @@
|
|
|
8420
8603
|
"docs": {
|
|
8421
8604
|
"stability": "experimental",
|
|
8422
8605
|
"summary": "Consolidated return parameters to pass to VPC construct.",
|
|
8423
|
-
"example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as ec2_alpha from '@aws-cdk/aws-ec2-alpha';\nimport * as cdk from 'aws-cdk-lib';\n\ndeclare const cfnResource: cdk.CfnResource;\ndeclare const ipamPool: ec2_alpha.IIpamPool;\nconst vpcCidrOptions: ec2_alpha.VpcCidrOptions = {\n amazonProvided: false,\n cidrBlockName: 'cidrBlockName',\n dependencies: [cfnResource],\n ipv4CidrBlock: 'ipv4CidrBlock',\n ipv4IpamPool: ipamPool,\n ipv4IpamProvisionedCidrs: ['ipv4IpamProvisionedCidrs'],\n ipv4NetmaskLength: 123,\n ipv6IpamPool: ipamPool,\n ipv6NetmaskLength: 123,\n};",
|
|
8606
|
+
"example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as ec2_alpha from '@aws-cdk/aws-ec2-alpha';\nimport * as cdk from 'aws-cdk-lib';\n\ndeclare const cfnResource: cdk.CfnResource;\ndeclare const ipamPool: ec2_alpha.IIpamPool;\nconst vpcCidrOptions: ec2_alpha.VpcCidrOptions = {\n amazonProvided: false,\n cidrBlockName: 'cidrBlockName',\n dependencies: [cfnResource],\n ipv4CidrBlock: 'ipv4CidrBlock',\n ipv4IpamPool: ipamPool,\n ipv4IpamProvisionedCidrs: ['ipv4IpamProvisionedCidrs'],\n ipv4NetmaskLength: 123,\n ipv6CidrBlock: 'ipv6CidrBlock',\n ipv6IpamPool: ipamPool,\n ipv6NetmaskLength: 123,\n ipv6PoolId: 'ipv6PoolId',\n};",
|
|
8424
8607
|
"custom": {
|
|
8425
8608
|
"exampleMetadata": "fixture=_generated"
|
|
8426
8609
|
}
|
|
@@ -8429,7 +8612,7 @@
|
|
|
8429
8612
|
"kind": "interface",
|
|
8430
8613
|
"locationInModule": {
|
|
8431
8614
|
"filename": "lib/vpc-v2.ts",
|
|
8432
|
-
"line":
|
|
8615
|
+
"line": 84
|
|
8433
8616
|
},
|
|
8434
8617
|
"name": "VpcCidrOptions",
|
|
8435
8618
|
"properties": [
|
|
@@ -8443,7 +8626,7 @@
|
|
|
8443
8626
|
"immutable": true,
|
|
8444
8627
|
"locationInModule": {
|
|
8445
8628
|
"filename": "lib/vpc-v2.ts",
|
|
8446
|
-
"line":
|
|
8629
|
+
"line": 127
|
|
8447
8630
|
},
|
|
8448
8631
|
"name": "amazonProvided",
|
|
8449
8632
|
"optional": true,
|
|
@@ -8461,7 +8644,7 @@
|
|
|
8461
8644
|
"immutable": true,
|
|
8462
8645
|
"locationInModule": {
|
|
8463
8646
|
"filename": "lib/vpc-v2.ts",
|
|
8464
|
-
"line":
|
|
8647
|
+
"line": 142
|
|
8465
8648
|
},
|
|
8466
8649
|
"name": "cidrBlockName",
|
|
8467
8650
|
"optional": true,
|
|
@@ -8479,7 +8662,7 @@
|
|
|
8479
8662
|
"immutable": true,
|
|
8480
8663
|
"locationInModule": {
|
|
8481
8664
|
"filename": "lib/vpc-v2.ts",
|
|
8482
|
-
"line":
|
|
8665
|
+
"line": 134
|
|
8483
8666
|
},
|
|
8484
8667
|
"name": "dependencies",
|
|
8485
8668
|
"optional": true,
|
|
@@ -8502,7 +8685,7 @@
|
|
|
8502
8685
|
"immutable": true,
|
|
8503
8686
|
"locationInModule": {
|
|
8504
8687
|
"filename": "lib/vpc-v2.ts",
|
|
8505
|
-
"line":
|
|
8688
|
+
"line": 91
|
|
8506
8689
|
},
|
|
8507
8690
|
"name": "ipv4CidrBlock",
|
|
8508
8691
|
"optional": true,
|
|
@@ -8520,7 +8703,7 @@
|
|
|
8520
8703
|
"immutable": true,
|
|
8521
8704
|
"locationInModule": {
|
|
8522
8705
|
"filename": "lib/vpc-v2.ts",
|
|
8523
|
-
"line":
|
|
8706
|
+
"line": 105
|
|
8524
8707
|
},
|
|
8525
8708
|
"name": "ipv4IpamPool",
|
|
8526
8709
|
"optional": true,
|
|
@@ -8538,7 +8721,7 @@
|
|
|
8538
8721
|
"immutable": true,
|
|
8539
8722
|
"locationInModule": {
|
|
8540
8723
|
"filename": "lib/vpc-v2.ts",
|
|
8541
|
-
"line":
|
|
8724
|
+
"line": 150
|
|
8542
8725
|
},
|
|
8543
8726
|
"name": "ipv4IpamProvisionedCidrs",
|
|
8544
8727
|
"optional": true,
|
|
@@ -8561,7 +8744,7 @@
|
|
|
8561
8744
|
"immutable": true,
|
|
8562
8745
|
"locationInModule": {
|
|
8563
8746
|
"filename": "lib/vpc-v2.ts",
|
|
8564
|
-
"line":
|
|
8747
|
+
"line": 98
|
|
8565
8748
|
},
|
|
8566
8749
|
"name": "ipv4NetmaskLength",
|
|
8567
8750
|
"optional": true,
|
|
@@ -8569,6 +8752,24 @@
|
|
|
8569
8752
|
"primitive": "number"
|
|
8570
8753
|
}
|
|
8571
8754
|
},
|
|
8755
|
+
{
|
|
8756
|
+
"abstract": true,
|
|
8757
|
+
"docs": {
|
|
8758
|
+
"default": "- None",
|
|
8759
|
+
"stability": "experimental",
|
|
8760
|
+
"summary": "IPv6 CIDR block from the BOYIP IPv6 address pool."
|
|
8761
|
+
},
|
|
8762
|
+
"immutable": true,
|
|
8763
|
+
"locationInModule": {
|
|
8764
|
+
"filename": "lib/vpc-v2.ts",
|
|
8765
|
+
"line": 157
|
|
8766
|
+
},
|
|
8767
|
+
"name": "ipv6CidrBlock",
|
|
8768
|
+
"optional": true,
|
|
8769
|
+
"type": {
|
|
8770
|
+
"primitive": "string"
|
|
8771
|
+
}
|
|
8772
|
+
},
|
|
8572
8773
|
{
|
|
8573
8774
|
"abstract": true,
|
|
8574
8775
|
"docs": {
|
|
@@ -8579,7 +8780,7 @@
|
|
|
8579
8780
|
"immutable": true,
|
|
8580
8781
|
"locationInModule": {
|
|
8581
8782
|
"filename": "lib/vpc-v2.ts",
|
|
8582
|
-
"line":
|
|
8783
|
+
"line": 120
|
|
8583
8784
|
},
|
|
8584
8785
|
"name": "ipv6IpamPool",
|
|
8585
8786
|
"optional": true,
|
|
@@ -8597,13 +8798,31 @@
|
|
|
8597
8798
|
"immutable": true,
|
|
8598
8799
|
"locationInModule": {
|
|
8599
8800
|
"filename": "lib/vpc-v2.ts",
|
|
8600
|
-
"line":
|
|
8801
|
+
"line": 112
|
|
8601
8802
|
},
|
|
8602
8803
|
"name": "ipv6NetmaskLength",
|
|
8603
8804
|
"optional": true,
|
|
8604
8805
|
"type": {
|
|
8605
8806
|
"primitive": "number"
|
|
8606
8807
|
}
|
|
8808
|
+
},
|
|
8809
|
+
{
|
|
8810
|
+
"abstract": true,
|
|
8811
|
+
"docs": {
|
|
8812
|
+
"default": "- None",
|
|
8813
|
+
"stability": "experimental",
|
|
8814
|
+
"summary": "ID of the BYOIP IPv6 address pool from which to allocate the IPv6 CIDR block."
|
|
8815
|
+
},
|
|
8816
|
+
"immutable": true,
|
|
8817
|
+
"locationInModule": {
|
|
8818
|
+
"filename": "lib/vpc-v2.ts",
|
|
8819
|
+
"line": 164
|
|
8820
|
+
},
|
|
8821
|
+
"name": "ipv6PoolId",
|
|
8822
|
+
"optional": true,
|
|
8823
|
+
"type": {
|
|
8824
|
+
"primitive": "string"
|
|
8825
|
+
}
|
|
8607
8826
|
}
|
|
8608
8827
|
],
|
|
8609
8828
|
"symbolId": "lib/vpc-v2:VpcCidrOptions"
|
|
@@ -8628,7 +8847,7 @@
|
|
|
8628
8847
|
},
|
|
8629
8848
|
"locationInModule": {
|
|
8630
8849
|
"filename": "lib/vpc-v2.ts",
|
|
8631
|
-
"line":
|
|
8850
|
+
"line": 493
|
|
8632
8851
|
},
|
|
8633
8852
|
"parameters": [
|
|
8634
8853
|
{
|
|
@@ -8655,7 +8874,7 @@
|
|
|
8655
8874
|
"kind": "class",
|
|
8656
8875
|
"locationInModule": {
|
|
8657
8876
|
"filename": "lib/vpc-v2.ts",
|
|
8658
|
-
"line":
|
|
8877
|
+
"line": 307
|
|
8659
8878
|
},
|
|
8660
8879
|
"methods": [
|
|
8661
8880
|
{
|
|
@@ -8665,7 +8884,7 @@
|
|
|
8665
8884
|
},
|
|
8666
8885
|
"locationInModule": {
|
|
8667
8886
|
"filename": "lib/vpc-v2.ts",
|
|
8668
|
-
"line":
|
|
8887
|
+
"line": 311
|
|
8669
8888
|
},
|
|
8670
8889
|
"name": "fromVpcV2Attributes",
|
|
8671
8890
|
"parameters": [
|
|
@@ -8706,7 +8925,7 @@
|
|
|
8706
8925
|
"immutable": true,
|
|
8707
8926
|
"locationInModule": {
|
|
8708
8927
|
"filename": "lib/vpc-v2.ts",
|
|
8709
|
-
"line":
|
|
8928
|
+
"line": 427
|
|
8710
8929
|
},
|
|
8711
8930
|
"name": "dnsHostnamesEnabled",
|
|
8712
8931
|
"type": {
|
|
@@ -8721,7 +8940,7 @@
|
|
|
8721
8940
|
"immutable": true,
|
|
8722
8941
|
"locationInModule": {
|
|
8723
8942
|
"filename": "lib/vpc-v2.ts",
|
|
8724
|
-
"line":
|
|
8943
|
+
"line": 432
|
|
8725
8944
|
},
|
|
8726
8945
|
"name": "dnsSupportEnabled",
|
|
8727
8946
|
"type": {
|
|
@@ -8736,7 +8955,7 @@
|
|
|
8736
8955
|
"immutable": true,
|
|
8737
8956
|
"locationInModule": {
|
|
8738
8957
|
"filename": "lib/vpc-v2.ts",
|
|
8739
|
-
"line":
|
|
8958
|
+
"line": 452
|
|
8740
8959
|
},
|
|
8741
8960
|
"name": "internetConnectivityEstablished",
|
|
8742
8961
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8752,7 +8971,7 @@
|
|
|
8752
8971
|
"immutable": true,
|
|
8753
8972
|
"locationInModule": {
|
|
8754
8973
|
"filename": "lib/vpc-v2.ts",
|
|
8755
|
-
"line":
|
|
8974
|
+
"line": 417
|
|
8756
8975
|
},
|
|
8757
8976
|
"name": "ipAddresses",
|
|
8758
8977
|
"type": {
|
|
@@ -8768,7 +8987,7 @@
|
|
|
8768
8987
|
"immutable": true,
|
|
8769
8988
|
"locationInModule": {
|
|
8770
8989
|
"filename": "lib/vpc-v2.ts",
|
|
8771
|
-
"line":
|
|
8990
|
+
"line": 491
|
|
8772
8991
|
},
|
|
8773
8992
|
"name": "ipv4CidrBlock",
|
|
8774
8993
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8785,7 +9004,7 @@
|
|
|
8785
9004
|
"immutable": true,
|
|
8786
9005
|
"locationInModule": {
|
|
8787
9006
|
"filename": "lib/vpc-v2.ts",
|
|
8788
|
-
"line":
|
|
9007
|
+
"line": 412
|
|
8789
9008
|
},
|
|
8790
9009
|
"name": "ipv6CidrBlocks",
|
|
8791
9010
|
"type": {
|
|
@@ -8805,7 +9024,7 @@
|
|
|
8805
9024
|
"immutable": true,
|
|
8806
9025
|
"locationInModule": {
|
|
8807
9026
|
"filename": "lib/vpc-v2.ts",
|
|
8808
|
-
"line":
|
|
9027
|
+
"line": 437
|
|
8809
9028
|
},
|
|
8810
9029
|
"name": "isolatedSubnets",
|
|
8811
9030
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8826,7 +9045,7 @@
|
|
|
8826
9045
|
"immutable": true,
|
|
8827
9046
|
"locationInModule": {
|
|
8828
9047
|
"filename": "lib/vpc-v2.ts",
|
|
8829
|
-
"line":
|
|
9048
|
+
"line": 474
|
|
8830
9049
|
},
|
|
8831
9050
|
"name": "ownerAccountId",
|
|
8832
9051
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8842,7 +9061,7 @@
|
|
|
8842
9061
|
"immutable": true,
|
|
8843
9062
|
"locationInModule": {
|
|
8844
9063
|
"filename": "lib/vpc-v2.ts",
|
|
8845
|
-
"line":
|
|
9064
|
+
"line": 447
|
|
8846
9065
|
},
|
|
8847
9066
|
"name": "privateSubnets",
|
|
8848
9067
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8863,7 +9082,7 @@
|
|
|
8863
9082
|
"immutable": true,
|
|
8864
9083
|
"locationInModule": {
|
|
8865
9084
|
"filename": "lib/vpc-v2.ts",
|
|
8866
|
-
"line":
|
|
9085
|
+
"line": 442
|
|
8867
9086
|
},
|
|
8868
9087
|
"name": "publicSubnets",
|
|
8869
9088
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8884,7 +9103,7 @@
|
|
|
8884
9103
|
"immutable": true,
|
|
8885
9104
|
"locationInModule": {
|
|
8886
9105
|
"filename": "lib/vpc-v2.ts",
|
|
8887
|
-
"line":
|
|
9106
|
+
"line": 469
|
|
8888
9107
|
},
|
|
8889
9108
|
"name": "region",
|
|
8890
9109
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8900,7 +9119,7 @@
|
|
|
8900
9119
|
"immutable": true,
|
|
8901
9120
|
"locationInModule": {
|
|
8902
9121
|
"filename": "lib/vpc-v2.ts",
|
|
8903
|
-
"line":
|
|
9122
|
+
"line": 422
|
|
8904
9123
|
},
|
|
8905
9124
|
"name": "resource",
|
|
8906
9125
|
"type": {
|
|
@@ -8916,7 +9135,7 @@
|
|
|
8916
9135
|
"immutable": true,
|
|
8917
9136
|
"locationInModule": {
|
|
8918
9137
|
"filename": "lib/vpc-v2.ts",
|
|
8919
|
-
"line":
|
|
9138
|
+
"line": 483
|
|
8920
9139
|
},
|
|
8921
9140
|
"name": "useIpv6",
|
|
8922
9141
|
"type": {
|
|
@@ -8934,7 +9153,7 @@
|
|
|
8934
9153
|
"immutable": true,
|
|
8935
9154
|
"locationInModule": {
|
|
8936
9155
|
"filename": "lib/vpc-v2.ts",
|
|
8937
|
-
"line":
|
|
9156
|
+
"line": 401
|
|
8938
9157
|
},
|
|
8939
9158
|
"name": "vpcArn",
|
|
8940
9159
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8953,7 +9172,7 @@
|
|
|
8953
9172
|
"immutable": true,
|
|
8954
9173
|
"locationInModule": {
|
|
8955
9174
|
"filename": "lib/vpc-v2.ts",
|
|
8956
|
-
"line":
|
|
9175
|
+
"line": 406
|
|
8957
9176
|
},
|
|
8958
9177
|
"name": "vpcCidrBlock",
|
|
8959
9178
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8969,7 +9188,7 @@
|
|
|
8969
9188
|
"immutable": true,
|
|
8970
9189
|
"locationInModule": {
|
|
8971
9190
|
"filename": "lib/vpc-v2.ts",
|
|
8972
|
-
"line":
|
|
9191
|
+
"line": 396
|
|
8973
9192
|
},
|
|
8974
9193
|
"name": "vpcId",
|
|
8975
9194
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8985,7 +9204,7 @@
|
|
|
8985
9204
|
"immutable": true,
|
|
8986
9205
|
"locationInModule": {
|
|
8987
9206
|
"filename": "lib/vpc-v2.ts",
|
|
8988
|
-
"line":
|
|
9207
|
+
"line": 464
|
|
8989
9208
|
},
|
|
8990
9209
|
"name": "ipv4IpamProvisionedCidrs",
|
|
8991
9210
|
"optional": true,
|
|
@@ -9007,7 +9226,7 @@
|
|
|
9007
9226
|
"immutable": true,
|
|
9008
9227
|
"locationInModule": {
|
|
9009
9228
|
"filename": "lib/vpc-v2.ts",
|
|
9010
|
-
"line":
|
|
9229
|
+
"line": 457
|
|
9011
9230
|
},
|
|
9012
9231
|
"name": "secondaryCidrBlock",
|
|
9013
9232
|
"optional": true,
|
|
@@ -9032,7 +9251,7 @@
|
|
|
9032
9251
|
"immutable": true,
|
|
9033
9252
|
"locationInModule": {
|
|
9034
9253
|
"filename": "lib/vpc-v2.ts",
|
|
9035
|
-
"line":
|
|
9254
|
+
"line": 489
|
|
9036
9255
|
},
|
|
9037
9256
|
"name": "vpcName",
|
|
9038
9257
|
"optional": true,
|
|
@@ -9059,7 +9278,7 @@
|
|
|
9059
9278
|
"kind": "interface",
|
|
9060
9279
|
"locationInModule": {
|
|
9061
9280
|
"filename": "lib/vpc-v2.ts",
|
|
9062
|
-
"line":
|
|
9281
|
+
"line": 244
|
|
9063
9282
|
},
|
|
9064
9283
|
"name": "VpcV2Attributes",
|
|
9065
9284
|
"properties": [
|
|
@@ -9072,7 +9291,7 @@
|
|
|
9072
9291
|
"immutable": true,
|
|
9073
9292
|
"locationInModule": {
|
|
9074
9293
|
"filename": "lib/vpc-v2.ts",
|
|
9075
|
-
"line":
|
|
9294
|
+
"line": 276
|
|
9076
9295
|
},
|
|
9077
9296
|
"name": "vpcCidrBlock",
|
|
9078
9297
|
"type": {
|
|
@@ -9088,7 +9307,7 @@
|
|
|
9088
9307
|
"immutable": true,
|
|
9089
9308
|
"locationInModule": {
|
|
9090
9309
|
"filename": "lib/vpc-v2.ts",
|
|
9091
|
-
"line":
|
|
9310
|
+
"line": 250
|
|
9092
9311
|
},
|
|
9093
9312
|
"name": "vpcId",
|
|
9094
9313
|
"type": {
|
|
@@ -9105,7 +9324,7 @@
|
|
|
9105
9324
|
"immutable": true,
|
|
9106
9325
|
"locationInModule": {
|
|
9107
9326
|
"filename": "lib/vpc-v2.ts",
|
|
9108
|
-
"line":
|
|
9327
|
+
"line": 270
|
|
9109
9328
|
},
|
|
9110
9329
|
"name": "ownerAccountId",
|
|
9111
9330
|
"optional": true,
|
|
@@ -9123,7 +9342,7 @@
|
|
|
9123
9342
|
"immutable": true,
|
|
9124
9343
|
"locationInModule": {
|
|
9125
9344
|
"filename": "lib/vpc-v2.ts",
|
|
9126
|
-
"line":
|
|
9345
|
+
"line": 260
|
|
9127
9346
|
},
|
|
9128
9347
|
"name": "region",
|
|
9129
9348
|
"optional": true,
|
|
@@ -9141,7 +9360,7 @@
|
|
|
9141
9360
|
"immutable": true,
|
|
9142
9361
|
"locationInModule": {
|
|
9143
9362
|
"filename": "lib/vpc-v2.ts",
|
|
9144
|
-
"line":
|
|
9363
|
+
"line": 297
|
|
9145
9364
|
},
|
|
9146
9365
|
"name": "secondaryCidrBlocks",
|
|
9147
9366
|
"optional": true,
|
|
@@ -9164,7 +9383,7 @@
|
|
|
9164
9383
|
"immutable": true,
|
|
9165
9384
|
"locationInModule": {
|
|
9166
9385
|
"filename": "lib/vpc-v2.ts",
|
|
9167
|
-
"line":
|
|
9386
|
+
"line": 290
|
|
9168
9387
|
},
|
|
9169
9388
|
"name": "subnets",
|
|
9170
9389
|
"optional": true,
|
|
@@ -9187,7 +9406,7 @@
|
|
|
9187
9406
|
"immutable": true,
|
|
9188
9407
|
"locationInModule": {
|
|
9189
9408
|
"filename": "lib/vpc-v2.ts",
|
|
9190
|
-
"line":
|
|
9409
|
+
"line": 283
|
|
9191
9410
|
},
|
|
9192
9411
|
"name": "vpnGatewayId",
|
|
9193
9412
|
"optional": true,
|
|
@@ -9254,7 +9473,7 @@
|
|
|
9254
9473
|
},
|
|
9255
9474
|
"locationInModule": {
|
|
9256
9475
|
"filename": "lib/vpc-v2-base.ts",
|
|
9257
|
-
"line":
|
|
9476
|
+
"line": 389
|
|
9258
9477
|
},
|
|
9259
9478
|
"name": "addClientVpnEndpoint",
|
|
9260
9479
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9286,7 +9505,7 @@
|
|
|
9286
9505
|
},
|
|
9287
9506
|
"locationInModule": {
|
|
9288
9507
|
"filename": "lib/vpc-v2-base.ts",
|
|
9289
|
-
"line":
|
|
9508
|
+
"line": 422
|
|
9290
9509
|
},
|
|
9291
9510
|
"name": "addEgressOnlyInternetGateway",
|
|
9292
9511
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9307,7 +9526,7 @@
|
|
|
9307
9526
|
},
|
|
9308
9527
|
"locationInModule": {
|
|
9309
9528
|
"filename": "lib/vpc-v2-base.ts",
|
|
9310
|
-
"line":
|
|
9529
|
+
"line": 530
|
|
9311
9530
|
},
|
|
9312
9531
|
"name": "addFlowLog",
|
|
9313
9532
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9339,7 +9558,7 @@
|
|
|
9339
9558
|
},
|
|
9340
9559
|
"locationInModule": {
|
|
9341
9560
|
"filename": "lib/vpc-v2-base.ts",
|
|
9342
|
-
"line":
|
|
9561
|
+
"line": 409
|
|
9343
9562
|
},
|
|
9344
9563
|
"name": "addGatewayEndpoint",
|
|
9345
9564
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9370,7 +9589,7 @@
|
|
|
9370
9589
|
},
|
|
9371
9590
|
"locationInModule": {
|
|
9372
9591
|
"filename": "lib/vpc-v2-base.ts",
|
|
9373
|
-
"line":
|
|
9592
|
+
"line": 399
|
|
9374
9593
|
},
|
|
9375
9594
|
"name": "addInterfaceEndpoint",
|
|
9376
9595
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9402,7 +9621,7 @@
|
|
|
9402
9621
|
},
|
|
9403
9622
|
"locationInModule": {
|
|
9404
9623
|
"filename": "lib/vpc-v2-base.ts",
|
|
9405
|
-
"line":
|
|
9624
|
+
"line": 466
|
|
9406
9625
|
},
|
|
9407
9626
|
"name": "addInternetGateway",
|
|
9408
9627
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9423,7 +9642,7 @@
|
|
|
9423
9642
|
},
|
|
9424
9643
|
"locationInModule": {
|
|
9425
9644
|
"filename": "lib/vpc-v2-base.ts",
|
|
9426
|
-
"line":
|
|
9645
|
+
"line": 517
|
|
9427
9646
|
},
|
|
9428
9647
|
"name": "addNatGateway",
|
|
9429
9648
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9448,7 +9667,7 @@
|
|
|
9448
9667
|
},
|
|
9449
9668
|
"locationInModule": {
|
|
9450
9669
|
"filename": "lib/vpc-v2-base.ts",
|
|
9451
|
-
"line":
|
|
9670
|
+
"line": 379
|
|
9452
9671
|
},
|
|
9453
9672
|
"name": "addVpnConnection",
|
|
9454
9673
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9479,7 +9698,7 @@
|
|
|
9479
9698
|
},
|
|
9480
9699
|
"locationInModule": {
|
|
9481
9700
|
"filename": "lib/vpc-v2-base.ts",
|
|
9482
|
-
"line":
|
|
9701
|
+
"line": 540
|
|
9483
9702
|
},
|
|
9484
9703
|
"name": "createAcceptorVpcRole",
|
|
9485
9704
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9504,7 +9723,7 @@
|
|
|
9504
9723
|
},
|
|
9505
9724
|
"locationInModule": {
|
|
9506
9725
|
"filename": "lib/vpc-v2-base.ts",
|
|
9507
|
-
"line":
|
|
9726
|
+
"line": 570
|
|
9508
9727
|
},
|
|
9509
9728
|
"name": "createPeeringConnection",
|
|
9510
9729
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9536,7 +9755,7 @@
|
|
|
9536
9755
|
},
|
|
9537
9756
|
"locationInModule": {
|
|
9538
9757
|
"filename": "lib/vpc-v2-base.ts",
|
|
9539
|
-
"line":
|
|
9758
|
+
"line": 321
|
|
9540
9759
|
},
|
|
9541
9760
|
"name": "enableVpnGateway",
|
|
9542
9761
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9556,7 +9775,7 @@
|
|
|
9556
9775
|
},
|
|
9557
9776
|
"locationInModule": {
|
|
9558
9777
|
"filename": "lib/vpc-v2-base.ts",
|
|
9559
|
-
"line":
|
|
9778
|
+
"line": 359
|
|
9560
9779
|
},
|
|
9561
9780
|
"name": "enableVpnGatewayV2",
|
|
9562
9781
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9581,7 +9800,7 @@
|
|
|
9581
9800
|
},
|
|
9582
9801
|
"locationInModule": {
|
|
9583
9802
|
"filename": "lib/vpc-v2-base.ts",
|
|
9584
|
-
"line":
|
|
9803
|
+
"line": 594
|
|
9585
9804
|
},
|
|
9586
9805
|
"name": "selectSubnetObjects",
|
|
9587
9806
|
"parameters": [
|
|
@@ -9613,7 +9832,7 @@
|
|
|
9613
9832
|
},
|
|
9614
9833
|
"locationInModule": {
|
|
9615
9834
|
"filename": "lib/vpc-v2-base.ts",
|
|
9616
|
-
"line":
|
|
9835
|
+
"line": 303
|
|
9617
9836
|
},
|
|
9618
9837
|
"name": "selectSubnets",
|
|
9619
9838
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9643,7 +9862,7 @@
|
|
|
9643
9862
|
"immutable": true,
|
|
9644
9863
|
"locationInModule": {
|
|
9645
9864
|
"filename": "lib/vpc-v2-base.ts",
|
|
9646
|
-
"line":
|
|
9865
|
+
"line": 230
|
|
9647
9866
|
},
|
|
9648
9867
|
"name": "availabilityZones",
|
|
9649
9868
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9665,7 +9884,7 @@
|
|
|
9665
9884
|
"immutable": true,
|
|
9666
9885
|
"locationInModule": {
|
|
9667
9886
|
"filename": "lib/vpc-v2-base.ts",
|
|
9668
|
-
"line":
|
|
9887
|
+
"line": 235
|
|
9669
9888
|
},
|
|
9670
9889
|
"name": "internetConnectivityEstablished",
|
|
9671
9890
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9683,7 +9902,7 @@
|
|
|
9683
9902
|
"immutable": true,
|
|
9684
9903
|
"locationInModule": {
|
|
9685
9904
|
"filename": "lib/vpc-v2-base.ts",
|
|
9686
|
-
"line":
|
|
9905
|
+
"line": 256
|
|
9687
9906
|
},
|
|
9688
9907
|
"name": "ipv4CidrBlock",
|
|
9689
9908
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9700,7 +9919,7 @@
|
|
|
9700
9919
|
"immutable": true,
|
|
9701
9920
|
"locationInModule": {
|
|
9702
9921
|
"filename": "lib/vpc-v2-base.ts",
|
|
9703
|
-
"line":
|
|
9922
|
+
"line": 225
|
|
9704
9923
|
},
|
|
9705
9924
|
"name": "isolatedSubnets",
|
|
9706
9925
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9722,7 +9941,7 @@
|
|
|
9722
9941
|
"immutable": true,
|
|
9723
9942
|
"locationInModule": {
|
|
9724
9943
|
"filename": "lib/vpc-v2-base.ts",
|
|
9725
|
-
"line":
|
|
9944
|
+
"line": 271
|
|
9726
9945
|
},
|
|
9727
9946
|
"name": "ownerAccountId",
|
|
9728
9947
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9738,7 +9957,7 @@
|
|
|
9738
9957
|
"immutable": true,
|
|
9739
9958
|
"locationInModule": {
|
|
9740
9959
|
"filename": "lib/vpc-v2-base.ts",
|
|
9741
|
-
"line":
|
|
9960
|
+
"line": 220
|
|
9742
9961
|
},
|
|
9743
9962
|
"name": "privateSubnets",
|
|
9744
9963
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9759,7 +9978,7 @@
|
|
|
9759
9978
|
"immutable": true,
|
|
9760
9979
|
"locationInModule": {
|
|
9761
9980
|
"filename": "lib/vpc-v2-base.ts",
|
|
9762
|
-
"line":
|
|
9981
|
+
"line": 215
|
|
9763
9982
|
},
|
|
9764
9983
|
"name": "publicSubnets",
|
|
9765
9984
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9781,7 +10000,7 @@
|
|
|
9781
10000
|
"immutable": true,
|
|
9782
10001
|
"locationInModule": {
|
|
9783
10002
|
"filename": "lib/vpc-v2-base.ts",
|
|
9784
|
-
"line":
|
|
10003
|
+
"line": 266
|
|
9785
10004
|
},
|
|
9786
10005
|
"name": "region",
|
|
9787
10006
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9798,7 +10017,7 @@
|
|
|
9798
10017
|
"immutable": true,
|
|
9799
10018
|
"locationInModule": {
|
|
9800
10019
|
"filename": "lib/vpc-v2-base.ts",
|
|
9801
|
-
"line":
|
|
10020
|
+
"line": 205
|
|
9802
10021
|
},
|
|
9803
10022
|
"name": "vpcArn",
|
|
9804
10023
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9815,7 +10034,7 @@
|
|
|
9815
10034
|
"immutable": true,
|
|
9816
10035
|
"locationInModule": {
|
|
9817
10036
|
"filename": "lib/vpc-v2-base.ts",
|
|
9818
|
-
"line":
|
|
10037
|
+
"line": 210
|
|
9819
10038
|
},
|
|
9820
10039
|
"name": "vpcCidrBlock",
|
|
9821
10040
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9832,7 +10051,7 @@
|
|
|
9832
10051
|
"immutable": true,
|
|
9833
10052
|
"locationInModule": {
|
|
9834
10053
|
"filename": "lib/vpc-v2-base.ts",
|
|
9835
|
-
"line":
|
|
10054
|
+
"line": 200
|
|
9836
10055
|
},
|
|
9837
10056
|
"name": "vpcId",
|
|
9838
10057
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9848,7 +10067,7 @@
|
|
|
9848
10067
|
"immutable": true,
|
|
9849
10068
|
"locationInModule": {
|
|
9850
10069
|
"filename": "lib/vpc-v2-base.ts",
|
|
9851
|
-
"line":
|
|
10070
|
+
"line": 587
|
|
9852
10071
|
},
|
|
9853
10072
|
"name": "internetGatewayId",
|
|
9854
10073
|
"optional": true,
|
|
@@ -9865,7 +10084,7 @@
|
|
|
9865
10084
|
"immutable": true,
|
|
9866
10085
|
"locationInModule": {
|
|
9867
10086
|
"filename": "lib/vpc-v2-base.ts",
|
|
9868
|
-
"line":
|
|
10087
|
+
"line": 278
|
|
9869
10088
|
},
|
|
9870
10089
|
"name": "ipv4IpamProvisionedCidrs",
|
|
9871
10090
|
"optional": true,
|
|
@@ -9888,7 +10107,7 @@
|
|
|
9888
10107
|
"immutable": true,
|
|
9889
10108
|
"locationInModule": {
|
|
9890
10109
|
"filename": "lib/vpc-v2-base.ts",
|
|
9891
|
-
"line":
|
|
10110
|
+
"line": 248
|
|
9892
10111
|
},
|
|
9893
10112
|
"name": "secondaryCidrBlock",
|
|
9894
10113
|
"optional": true,
|
|
@@ -9911,7 +10130,7 @@
|
|
|
9911
10130
|
"immutable": true,
|
|
9912
10131
|
"locationInModule": {
|
|
9913
10132
|
"filename": "lib/vpc-v2-base.ts",
|
|
9914
|
-
"line":
|
|
10133
|
+
"line": 261
|
|
9915
10134
|
},
|
|
9916
10135
|
"name": "vpcName",
|
|
9917
10136
|
"optional": true,
|
|
@@ -9928,7 +10147,7 @@
|
|
|
9928
10147
|
"immutable": true,
|
|
9929
10148
|
"locationInModule": {
|
|
9930
10149
|
"filename": "lib/vpc-v2-base.ts",
|
|
9931
|
-
"line":
|
|
10150
|
+
"line": 580
|
|
9932
10151
|
},
|
|
9933
10152
|
"name": "vpnGatewayId",
|
|
9934
10153
|
"optional": true,
|
|
@@ -9944,7 +10163,7 @@
|
|
|
9944
10163
|
},
|
|
9945
10164
|
"locationInModule": {
|
|
9946
10165
|
"filename": "lib/vpc-v2-base.ts",
|
|
9947
|
-
"line":
|
|
10166
|
+
"line": 283
|
|
9948
10167
|
},
|
|
9949
10168
|
"name": "incompleteSubnetDefinition",
|
|
9950
10169
|
"protected": true,
|
|
@@ -9970,7 +10189,7 @@
|
|
|
9970
10189
|
"kind": "interface",
|
|
9971
10190
|
"locationInModule": {
|
|
9972
10191
|
"filename": "lib/vpc-v2.ts",
|
|
9973
|
-
"line":
|
|
10192
|
+
"line": 189
|
|
9974
10193
|
},
|
|
9975
10194
|
"name": "VpcV2Props",
|
|
9976
10195
|
"properties": [
|
|
@@ -9985,7 +10204,7 @@
|
|
|
9985
10204
|
"immutable": true,
|
|
9986
10205
|
"locationInModule": {
|
|
9987
10206
|
"filename": "lib/vpc-v2.ts",
|
|
9988
|
-
"line":
|
|
10207
|
+
"line": 231
|
|
9989
10208
|
},
|
|
9990
10209
|
"name": "defaultInstanceTenancy",
|
|
9991
10210
|
"optional": true,
|
|
@@ -10003,7 +10222,7 @@
|
|
|
10003
10222
|
"immutable": true,
|
|
10004
10223
|
"locationInModule": {
|
|
10005
10224
|
"filename": "lib/vpc-v2.ts",
|
|
10006
|
-
"line":
|
|
10225
|
+
"line": 212
|
|
10007
10226
|
},
|
|
10008
10227
|
"name": "enableDnsHostnames",
|
|
10009
10228
|
"optional": true,
|
|
@@ -10021,7 +10240,7 @@
|
|
|
10021
10240
|
"immutable": true,
|
|
10022
10241
|
"locationInModule": {
|
|
10023
10242
|
"filename": "lib/vpc-v2.ts",
|
|
10024
|
-
"line":
|
|
10243
|
+
"line": 219
|
|
10025
10244
|
},
|
|
10026
10245
|
"name": "enableDnsSupport",
|
|
10027
10246
|
"optional": true,
|
|
@@ -10040,7 +10259,7 @@
|
|
|
10040
10259
|
"immutable": true,
|
|
10041
10260
|
"locationInModule": {
|
|
10042
10261
|
"filename": "lib/vpc-v2.ts",
|
|
10043
|
-
"line":
|
|
10262
|
+
"line": 196
|
|
10044
10263
|
},
|
|
10045
10264
|
"name": "primaryAddressBlock",
|
|
10046
10265
|
"optional": true,
|
|
@@ -10060,7 +10279,7 @@
|
|
|
10060
10279
|
"immutable": true,
|
|
10061
10280
|
"locationInModule": {
|
|
10062
10281
|
"filename": "lib/vpc-v2.ts",
|
|
10063
|
-
"line":
|
|
10282
|
+
"line": 205
|
|
10064
10283
|
},
|
|
10065
10284
|
"name": "secondaryAddressBlocks",
|
|
10066
10285
|
"optional": true,
|
|
@@ -10083,7 +10302,7 @@
|
|
|
10083
10302
|
"immutable": true,
|
|
10084
10303
|
"locationInModule": {
|
|
10085
10304
|
"filename": "lib/vpc-v2.ts",
|
|
10086
|
-
"line":
|
|
10305
|
+
"line": 238
|
|
10087
10306
|
},
|
|
10088
10307
|
"name": "vpcName",
|
|
10089
10308
|
"optional": true,
|
|
@@ -10095,6 +10314,6 @@
|
|
|
10095
10314
|
"symbolId": "lib/vpc-v2:VpcV2Props"
|
|
10096
10315
|
}
|
|
10097
10316
|
},
|
|
10098
|
-
"version": "2.
|
|
10317
|
+
"version": "2.177.0-alpha.0",
|
|
10099
10318
|
"fingerprint": "**********"
|
|
10100
10319
|
}
|