@aws-cdk/aws-ec2-alpha 2.174.0-alpha.0 → 2.175.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 +385 -223
- package/.jsii.tabl.json.gz +0 -0
- package/README.md +19 -0
- package/lib/ipam.d.ts +12 -0
- package/lib/ipam.js +13 -3
- package/lib/route.d.ts +7 -1
- package/lib/route.js +38 -11
- package/lib/subnet-v2.js +18 -3
- package/lib/vpc-v2-base.d.ts +23 -0
- package/lib/vpc-v2-base.js +7 -2
- package/lib/vpc-v2.d.ts +5 -0
- package/lib/vpc-v2.js +10 -4
- package/package.json +7 -7
- package/rosetta/default.ts-fixture +1 -1
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.175.0",
|
|
12
12
|
"constructs": "^10.0.0"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -3948,7 +3948,7 @@
|
|
|
3948
3948
|
},
|
|
3949
3949
|
"name": "@aws-cdk/aws-ec2-alpha",
|
|
3950
3950
|
"readme": {
|
|
3951
|
-
"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 accpeptorVpc 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 propogation, 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 `vpnRoutePropogation` 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 destinatation 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 acount 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 acount 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"
|
|
3951
|
+
"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 accpeptorVpc 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 propogation, 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 `vpnRoutePropogation` 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 destinatation 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 acount 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 acount 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"
|
|
3952
3952
|
},
|
|
3953
3953
|
"repository": {
|
|
3954
3954
|
"directory": "packages/@aws-cdk/aws-ec2-alpha",
|
|
@@ -4068,7 +4068,7 @@
|
|
|
4068
4068
|
},
|
|
4069
4069
|
"locationInModule": {
|
|
4070
4070
|
"filename": "lib/route.ts",
|
|
4071
|
-
"line":
|
|
4071
|
+
"line": 237
|
|
4072
4072
|
},
|
|
4073
4073
|
"parameters": [
|
|
4074
4074
|
{
|
|
@@ -4097,7 +4097,7 @@
|
|
|
4097
4097
|
"kind": "class",
|
|
4098
4098
|
"locationInModule": {
|
|
4099
4099
|
"filename": "lib/route.ts",
|
|
4100
|
-
"line":
|
|
4100
|
+
"line": 221
|
|
4101
4101
|
},
|
|
4102
4102
|
"name": "EgressOnlyInternetGateway",
|
|
4103
4103
|
"properties": [
|
|
@@ -4109,7 +4109,7 @@
|
|
|
4109
4109
|
"immutable": true,
|
|
4110
4110
|
"locationInModule": {
|
|
4111
4111
|
"filename": "lib/route.ts",
|
|
4112
|
-
"line":
|
|
4112
|
+
"line": 235
|
|
4113
4113
|
},
|
|
4114
4114
|
"name": "resource",
|
|
4115
4115
|
"type": {
|
|
@@ -4124,7 +4124,7 @@
|
|
|
4124
4124
|
"immutable": true,
|
|
4125
4125
|
"locationInModule": {
|
|
4126
4126
|
"filename": "lib/route.ts",
|
|
4127
|
-
"line":
|
|
4127
|
+
"line": 230
|
|
4128
4128
|
},
|
|
4129
4129
|
"name": "routerTargetId",
|
|
4130
4130
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteTarget",
|
|
@@ -4140,7 +4140,7 @@
|
|
|
4140
4140
|
"immutable": true,
|
|
4141
4141
|
"locationInModule": {
|
|
4142
4142
|
"filename": "lib/route.ts",
|
|
4143
|
-
"line":
|
|
4143
|
+
"line": 225
|
|
4144
4144
|
},
|
|
4145
4145
|
"name": "routerType",
|
|
4146
4146
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteTarget",
|
|
@@ -4188,6 +4188,25 @@
|
|
|
4188
4188
|
"primitive": "string"
|
|
4189
4189
|
}
|
|
4190
4190
|
},
|
|
4191
|
+
{
|
|
4192
|
+
"abstract": true,
|
|
4193
|
+
"docs": {
|
|
4194
|
+
"default": "- no name tag associated and provisioned without a resource name",
|
|
4195
|
+
"remarks": "Provided name will be used for tagging",
|
|
4196
|
+
"stability": "experimental",
|
|
4197
|
+
"summary": "The resource name of the egress-only internet gateway."
|
|
4198
|
+
},
|
|
4199
|
+
"immutable": true,
|
|
4200
|
+
"locationInModule": {
|
|
4201
|
+
"filename": "lib/vpc-v2-base.ts",
|
|
4202
|
+
"line": 34
|
|
4203
|
+
},
|
|
4204
|
+
"name": "egressOnlyInternetGatewayName",
|
|
4205
|
+
"optional": true,
|
|
4206
|
+
"type": {
|
|
4207
|
+
"primitive": "string"
|
|
4208
|
+
}
|
|
4209
|
+
},
|
|
4191
4210
|
{
|
|
4192
4211
|
"abstract": true,
|
|
4193
4212
|
"docs": {
|
|
@@ -4314,7 +4333,7 @@
|
|
|
4314
4333
|
"kind": "interface",
|
|
4315
4334
|
"locationInModule": {
|
|
4316
4335
|
"filename": "lib/ipam.ts",
|
|
4317
|
-
"line":
|
|
4336
|
+
"line": 185
|
|
4318
4337
|
},
|
|
4319
4338
|
"methods": [
|
|
4320
4339
|
{
|
|
@@ -4325,7 +4344,7 @@
|
|
|
4325
4344
|
},
|
|
4326
4345
|
"locationInModule": {
|
|
4327
4346
|
"filename": "lib/ipam.ts",
|
|
4328
|
-
"line":
|
|
4347
|
+
"line": 206
|
|
4329
4348
|
},
|
|
4330
4349
|
"name": "provisionCidr",
|
|
4331
4350
|
"parameters": [
|
|
@@ -4360,7 +4379,7 @@
|
|
|
4360
4379
|
"immutable": true,
|
|
4361
4380
|
"locationInModule": {
|
|
4362
4381
|
"filename": "lib/ipam.ts",
|
|
4363
|
-
"line":
|
|
4382
|
+
"line": 195
|
|
4364
4383
|
},
|
|
4365
4384
|
"name": "ipamCidrs",
|
|
4366
4385
|
"type": {
|
|
@@ -4384,7 +4403,7 @@
|
|
|
4384
4403
|
"immutable": true,
|
|
4385
4404
|
"locationInModule": {
|
|
4386
4405
|
"filename": "lib/ipam.ts",
|
|
4387
|
-
"line":
|
|
4406
|
+
"line": 190
|
|
4388
4407
|
},
|
|
4389
4408
|
"name": "ipamPoolId",
|
|
4390
4409
|
"type": {
|
|
@@ -4400,7 +4419,7 @@
|
|
|
4400
4419
|
"immutable": true,
|
|
4401
4420
|
"locationInModule": {
|
|
4402
4421
|
"filename": "lib/ipam.ts",
|
|
4403
|
-
"line":
|
|
4422
|
+
"line": 201
|
|
4404
4423
|
},
|
|
4405
4424
|
"name": "ipamIpv4Cidrs",
|
|
4406
4425
|
"optional": true,
|
|
@@ -4426,7 +4445,7 @@
|
|
|
4426
4445
|
"kind": "interface",
|
|
4427
4446
|
"locationInModule": {
|
|
4428
4447
|
"filename": "lib/ipam.ts",
|
|
4429
|
-
"line":
|
|
4448
|
+
"line": 281
|
|
4430
4449
|
},
|
|
4431
4450
|
"methods": [
|
|
4432
4451
|
{
|
|
@@ -4437,7 +4456,7 @@
|
|
|
4437
4456
|
},
|
|
4438
4457
|
"locationInModule": {
|
|
4439
4458
|
"filename": "lib/ipam.ts",
|
|
4440
|
-
"line":
|
|
4459
|
+
"line": 302
|
|
4441
4460
|
},
|
|
4442
4461
|
"name": "addPool",
|
|
4443
4462
|
"parameters": [
|
|
@@ -4472,7 +4491,7 @@
|
|
|
4472
4491
|
"immutable": true,
|
|
4473
4492
|
"locationInModule": {
|
|
4474
4493
|
"filename": "lib/ipam.ts",
|
|
4475
|
-
"line":
|
|
4494
|
+
"line": 287
|
|
4476
4495
|
},
|
|
4477
4496
|
"name": "scope",
|
|
4478
4497
|
"type": {
|
|
@@ -4488,7 +4507,7 @@
|
|
|
4488
4507
|
"immutable": true,
|
|
4489
4508
|
"locationInModule": {
|
|
4490
4509
|
"filename": "lib/ipam.ts",
|
|
4491
|
-
"line":
|
|
4510
|
+
"line": 292
|
|
4492
4511
|
},
|
|
4493
4512
|
"name": "scopeId",
|
|
4494
4513
|
"type": {
|
|
@@ -4504,7 +4523,7 @@
|
|
|
4504
4523
|
"immutable": true,
|
|
4505
4524
|
"locationInModule": {
|
|
4506
4525
|
"filename": "lib/ipam.ts",
|
|
4507
|
-
"line":
|
|
4526
|
+
"line": 297
|
|
4508
4527
|
},
|
|
4509
4528
|
"name": "scopeType",
|
|
4510
4529
|
"optional": true,
|
|
@@ -4580,7 +4599,7 @@
|
|
|
4580
4599
|
"kind": "interface",
|
|
4581
4600
|
"locationInModule": {
|
|
4582
4601
|
"filename": "lib/route.ts",
|
|
4583
|
-
"line":
|
|
4602
|
+
"line": 623
|
|
4584
4603
|
},
|
|
4585
4604
|
"name": "IRouteV2",
|
|
4586
4605
|
"properties": [
|
|
@@ -4594,7 +4613,7 @@
|
|
|
4594
4613
|
"immutable": true,
|
|
4595
4614
|
"locationInModule": {
|
|
4596
4615
|
"filename": "lib/route.ts",
|
|
4597
|
-
"line":
|
|
4616
|
+
"line": 636
|
|
4598
4617
|
},
|
|
4599
4618
|
"name": "destination",
|
|
4600
4619
|
"type": {
|
|
@@ -4613,7 +4632,7 @@
|
|
|
4613
4632
|
"immutable": true,
|
|
4614
4633
|
"locationInModule": {
|
|
4615
4634
|
"filename": "lib/route.ts",
|
|
4616
|
-
"line":
|
|
4635
|
+
"line": 628
|
|
4617
4636
|
},
|
|
4618
4637
|
"name": "routeTable",
|
|
4619
4638
|
"type": {
|
|
@@ -4629,7 +4648,7 @@
|
|
|
4629
4648
|
"immutable": true,
|
|
4630
4649
|
"locationInModule": {
|
|
4631
4650
|
"filename": "lib/route.ts",
|
|
4632
|
-
"line":
|
|
4651
|
+
"line": 641
|
|
4633
4652
|
},
|
|
4634
4653
|
"name": "target",
|
|
4635
4654
|
"type": {
|
|
@@ -4652,7 +4671,7 @@
|
|
|
4652
4671
|
"kind": "interface",
|
|
4653
4672
|
"locationInModule": {
|
|
4654
4673
|
"filename": "lib/subnet-v2.ts",
|
|
4655
|
-
"line":
|
|
4674
|
+
"line": 104
|
|
4656
4675
|
},
|
|
4657
4676
|
"name": "ISubnetV2",
|
|
4658
4677
|
"properties": [
|
|
@@ -4665,7 +4684,7 @@
|
|
|
4665
4684
|
"immutable": true,
|
|
4666
4685
|
"locationInModule": {
|
|
4667
4686
|
"filename": "lib/subnet-v2.ts",
|
|
4668
|
-
"line":
|
|
4687
|
+
"line": 109
|
|
4669
4688
|
},
|
|
4670
4689
|
"name": "ipv6CidrBlock",
|
|
4671
4690
|
"optional": true,
|
|
@@ -4685,7 +4704,7 @@
|
|
|
4685
4704
|
"immutable": true,
|
|
4686
4705
|
"locationInModule": {
|
|
4687
4706
|
"filename": "lib/subnet-v2.ts",
|
|
4688
|
-
"line":
|
|
4707
|
+
"line": 116
|
|
4689
4708
|
},
|
|
4690
4709
|
"name": "subnetType",
|
|
4691
4710
|
"optional": true,
|
|
@@ -4706,7 +4725,7 @@
|
|
|
4706
4725
|
"kind": "interface",
|
|
4707
4726
|
"locationInModule": {
|
|
4708
4727
|
"filename": "lib/vpc-v2.ts",
|
|
4709
|
-
"line":
|
|
4728
|
+
"line": 639
|
|
4710
4729
|
},
|
|
4711
4730
|
"name": "IVPCCidrBlock",
|
|
4712
4731
|
"properties": [
|
|
@@ -4719,7 +4738,7 @@
|
|
|
4719
4738
|
"immutable": true,
|
|
4720
4739
|
"locationInModule": {
|
|
4721
4740
|
"filename": "lib/vpc-v2.ts",
|
|
4722
|
-
"line":
|
|
4741
|
+
"line": 643
|
|
4723
4742
|
},
|
|
4724
4743
|
"name": "amazonProvidedIpv6CidrBlock",
|
|
4725
4744
|
"optional": true,
|
|
@@ -4737,7 +4756,7 @@
|
|
|
4737
4756
|
"immutable": true,
|
|
4738
4757
|
"locationInModule": {
|
|
4739
4758
|
"filename": "lib/vpc-v2.ts",
|
|
4740
|
-
"line":
|
|
4759
|
+
"line": 650
|
|
4741
4760
|
},
|
|
4742
4761
|
"name": "cidrBlock",
|
|
4743
4762
|
"optional": true,
|
|
@@ -4754,7 +4773,7 @@
|
|
|
4754
4773
|
"immutable": true,
|
|
4755
4774
|
"locationInModule": {
|
|
4756
4775
|
"filename": "lib/vpc-v2.ts",
|
|
4757
|
-
"line":
|
|
4776
|
+
"line": 660
|
|
4758
4777
|
},
|
|
4759
4778
|
"name": "ipv4IpamPoolId",
|
|
4760
4779
|
"optional": true,
|
|
@@ -4771,7 +4790,7 @@
|
|
|
4771
4790
|
"immutable": true,
|
|
4772
4791
|
"locationInModule": {
|
|
4773
4792
|
"filename": "lib/vpc-v2.ts",
|
|
4774
|
-
"line":
|
|
4793
|
+
"line": 655
|
|
4775
4794
|
},
|
|
4776
4795
|
"name": "ipv6IpamPoolId",
|
|
4777
4796
|
"optional": true,
|
|
@@ -4795,7 +4814,7 @@
|
|
|
4795
4814
|
"kind": "interface",
|
|
4796
4815
|
"locationInModule": {
|
|
4797
4816
|
"filename": "lib/vpc-v2-base.ts",
|
|
4798
|
-
"line":
|
|
4817
|
+
"line": 101
|
|
4799
4818
|
},
|
|
4800
4819
|
"methods": [
|
|
4801
4820
|
{
|
|
@@ -4807,7 +4826,7 @@
|
|
|
4807
4826
|
},
|
|
4808
4827
|
"locationInModule": {
|
|
4809
4828
|
"filename": "lib/vpc-v2-base.ts",
|
|
4810
|
-
"line":
|
|
4829
|
+
"line": 149
|
|
4811
4830
|
},
|
|
4812
4831
|
"name": "addEgressOnlyInternetGateway",
|
|
4813
4832
|
"parameters": [
|
|
@@ -4830,7 +4849,7 @@
|
|
|
4830
4849
|
},
|
|
4831
4850
|
"locationInModule": {
|
|
4832
4851
|
"filename": "lib/vpc-v2-base.ts",
|
|
4833
|
-
"line":
|
|
4852
|
+
"line": 157
|
|
4834
4853
|
},
|
|
4835
4854
|
"name": "addInternetGateway",
|
|
4836
4855
|
"parameters": [
|
|
@@ -4853,7 +4872,7 @@
|
|
|
4853
4872
|
},
|
|
4854
4873
|
"locationInModule": {
|
|
4855
4874
|
"filename": "lib/vpc-v2-base.ts",
|
|
4856
|
-
"line":
|
|
4875
|
+
"line": 174
|
|
4857
4876
|
},
|
|
4858
4877
|
"name": "addNatGateway",
|
|
4859
4878
|
"parameters": [
|
|
@@ -4879,7 +4898,7 @@
|
|
|
4879
4898
|
},
|
|
4880
4899
|
"locationInModule": {
|
|
4881
4900
|
"filename": "lib/vpc-v2-base.ts",
|
|
4882
|
-
"line":
|
|
4901
|
+
"line": 181
|
|
4883
4902
|
},
|
|
4884
4903
|
"name": "createAcceptorVpcRole",
|
|
4885
4904
|
"parameters": [
|
|
@@ -4905,7 +4924,7 @@
|
|
|
4905
4924
|
},
|
|
4906
4925
|
"locationInModule": {
|
|
4907
4926
|
"filename": "lib/vpc-v2-base.ts",
|
|
4908
|
-
"line":
|
|
4927
|
+
"line": 188
|
|
4909
4928
|
},
|
|
4910
4929
|
"name": "createPeeringConnection",
|
|
4911
4930
|
"parameters": [
|
|
@@ -4938,7 +4957,7 @@
|
|
|
4938
4957
|
},
|
|
4939
4958
|
"locationInModule": {
|
|
4940
4959
|
"filename": "lib/vpc-v2-base.ts",
|
|
4941
|
-
"line":
|
|
4960
|
+
"line": 165
|
|
4942
4961
|
},
|
|
4943
4962
|
"name": "enableVpnGatewayV2",
|
|
4944
4963
|
"parameters": [
|
|
@@ -4968,7 +4987,7 @@
|
|
|
4968
4987
|
"immutable": true,
|
|
4969
4988
|
"locationInModule": {
|
|
4970
4989
|
"filename": "lib/vpc-v2-base.ts",
|
|
4971
|
-
"line":
|
|
4990
|
+
"line": 115
|
|
4972
4991
|
},
|
|
4973
4992
|
"name": "ipv4CidrBlock",
|
|
4974
4993
|
"type": {
|
|
@@ -4985,7 +5004,7 @@
|
|
|
4985
5004
|
"immutable": true,
|
|
4986
5005
|
"locationInModule": {
|
|
4987
5006
|
"filename": "lib/vpc-v2-base.ts",
|
|
4988
|
-
"line":
|
|
5007
|
+
"line": 129
|
|
4989
5008
|
},
|
|
4990
5009
|
"name": "ownerAccountId",
|
|
4991
5010
|
"type": {
|
|
@@ -5002,7 +5021,7 @@
|
|
|
5002
5021
|
"immutable": true,
|
|
5003
5022
|
"locationInModule": {
|
|
5004
5023
|
"filename": "lib/vpc-v2-base.ts",
|
|
5005
|
-
"line":
|
|
5024
|
+
"line": 122
|
|
5006
5025
|
},
|
|
5007
5026
|
"name": "region",
|
|
5008
5027
|
"type": {
|
|
@@ -5018,7 +5037,7 @@
|
|
|
5018
5037
|
"immutable": true,
|
|
5019
5038
|
"locationInModule": {
|
|
5020
5039
|
"filename": "lib/vpc-v2-base.ts",
|
|
5021
|
-
"line":
|
|
5040
|
+
"line": 136
|
|
5022
5041
|
},
|
|
5023
5042
|
"name": "ipv4IpamProvisionedCidrs",
|
|
5024
5043
|
"optional": true,
|
|
@@ -5041,7 +5060,7 @@
|
|
|
5041
5060
|
"immutable": true,
|
|
5042
5061
|
"locationInModule": {
|
|
5043
5062
|
"filename": "lib/vpc-v2-base.ts",
|
|
5044
|
-
"line":
|
|
5063
|
+
"line": 107
|
|
5045
5064
|
},
|
|
5046
5065
|
"name": "secondaryCidrBlock",
|
|
5047
5066
|
"optional": true,
|
|
@@ -5053,6 +5072,26 @@
|
|
|
5053
5072
|
"kind": "array"
|
|
5054
5073
|
}
|
|
5055
5074
|
}
|
|
5075
|
+
},
|
|
5076
|
+
{
|
|
5077
|
+
"abstract": true,
|
|
5078
|
+
"docs": {
|
|
5079
|
+
"custom": {
|
|
5080
|
+
"attribute": "true"
|
|
5081
|
+
},
|
|
5082
|
+
"stability": "experimental",
|
|
5083
|
+
"summary": "VpcName to be used for tagging its components."
|
|
5084
|
+
},
|
|
5085
|
+
"immutable": true,
|
|
5086
|
+
"locationInModule": {
|
|
5087
|
+
"filename": "lib/vpc-v2-base.ts",
|
|
5088
|
+
"line": 142
|
|
5089
|
+
},
|
|
5090
|
+
"name": "vpcName",
|
|
5091
|
+
"optional": true,
|
|
5092
|
+
"type": {
|
|
5093
|
+
"primitive": "string"
|
|
5094
|
+
}
|
|
5056
5095
|
}
|
|
5057
5096
|
],
|
|
5058
5097
|
"symbolId": "lib/vpc-v2-base:IVpcV2"
|
|
@@ -5076,7 +5115,7 @@
|
|
|
5076
5115
|
},
|
|
5077
5116
|
"locationInModule": {
|
|
5078
5117
|
"filename": "lib/route.ts",
|
|
5079
|
-
"line":
|
|
5118
|
+
"line": 279
|
|
5080
5119
|
},
|
|
5081
5120
|
"parameters": [
|
|
5082
5121
|
{
|
|
@@ -5105,7 +5144,7 @@
|
|
|
5105
5144
|
"kind": "class",
|
|
5106
5145
|
"locationInModule": {
|
|
5107
5146
|
"filename": "lib/route.ts",
|
|
5108
|
-
"line":
|
|
5147
|
+
"line": 258
|
|
5109
5148
|
},
|
|
5110
5149
|
"name": "InternetGateway",
|
|
5111
5150
|
"properties": [
|
|
@@ -5117,7 +5156,7 @@
|
|
|
5117
5156
|
"immutable": true,
|
|
5118
5157
|
"locationInModule": {
|
|
5119
5158
|
"filename": "lib/route.ts",
|
|
5120
|
-
"line":
|
|
5159
|
+
"line": 277
|
|
5121
5160
|
},
|
|
5122
5161
|
"name": "resource",
|
|
5123
5162
|
"type": {
|
|
@@ -5132,7 +5171,7 @@
|
|
|
5132
5171
|
"immutable": true,
|
|
5133
5172
|
"locationInModule": {
|
|
5134
5173
|
"filename": "lib/route.ts",
|
|
5135
|
-
"line":
|
|
5174
|
+
"line": 267
|
|
5136
5175
|
},
|
|
5137
5176
|
"name": "routerTargetId",
|
|
5138
5177
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteTarget",
|
|
@@ -5148,7 +5187,7 @@
|
|
|
5148
5187
|
"immutable": true,
|
|
5149
5188
|
"locationInModule": {
|
|
5150
5189
|
"filename": "lib/route.ts",
|
|
5151
|
-
"line":
|
|
5190
|
+
"line": 262
|
|
5152
5191
|
},
|
|
5153
5192
|
"name": "routerType",
|
|
5154
5193
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteTarget",
|
|
@@ -5164,7 +5203,7 @@
|
|
|
5164
5203
|
"immutable": true,
|
|
5165
5204
|
"locationInModule": {
|
|
5166
5205
|
"filename": "lib/route.ts",
|
|
5167
|
-
"line":
|
|
5206
|
+
"line": 272
|
|
5168
5207
|
},
|
|
5169
5208
|
"name": "vpcId",
|
|
5170
5209
|
"type": {
|
|
@@ -5189,10 +5228,29 @@
|
|
|
5189
5228
|
"kind": "interface",
|
|
5190
5229
|
"locationInModule": {
|
|
5191
5230
|
"filename": "lib/vpc-v2-base.ts",
|
|
5192
|
-
"line":
|
|
5231
|
+
"line": 40
|
|
5193
5232
|
},
|
|
5194
5233
|
"name": "InternetGatewayOptions",
|
|
5195
5234
|
"properties": [
|
|
5235
|
+
{
|
|
5236
|
+
"abstract": true,
|
|
5237
|
+
"docs": {
|
|
5238
|
+
"default": "- provisioned without a resource name",
|
|
5239
|
+
"remarks": "Provided name will be used for tagging",
|
|
5240
|
+
"stability": "experimental",
|
|
5241
|
+
"summary": "The resource name of the internet gateway."
|
|
5242
|
+
},
|
|
5243
|
+
"immutable": true,
|
|
5244
|
+
"locationInModule": {
|
|
5245
|
+
"filename": "lib/vpc-v2-base.ts",
|
|
5246
|
+
"line": 62
|
|
5247
|
+
},
|
|
5248
|
+
"name": "internetGatewayName",
|
|
5249
|
+
"optional": true,
|
|
5250
|
+
"type": {
|
|
5251
|
+
"primitive": "string"
|
|
5252
|
+
}
|
|
5253
|
+
},
|
|
5196
5254
|
{
|
|
5197
5255
|
"abstract": true,
|
|
5198
5256
|
"docs": {
|
|
@@ -5203,7 +5261,7 @@
|
|
|
5203
5261
|
"immutable": true,
|
|
5204
5262
|
"locationInModule": {
|
|
5205
5263
|
"filename": "lib/vpc-v2-base.ts",
|
|
5206
|
-
"line":
|
|
5264
|
+
"line": 47
|
|
5207
5265
|
},
|
|
5208
5266
|
"name": "ipv4Destination",
|
|
5209
5267
|
"optional": true,
|
|
@@ -5221,7 +5279,7 @@
|
|
|
5221
5279
|
"immutable": true,
|
|
5222
5280
|
"locationInModule": {
|
|
5223
5281
|
"filename": "lib/vpc-v2-base.ts",
|
|
5224
|
-
"line":
|
|
5282
|
+
"line": 54
|
|
5225
5283
|
},
|
|
5226
5284
|
"name": "ipv6Destination",
|
|
5227
5285
|
"optional": true,
|
|
@@ -5494,7 +5552,7 @@
|
|
|
5494
5552
|
},
|
|
5495
5553
|
"locationInModule": {
|
|
5496
5554
|
"filename": "lib/ipam.ts",
|
|
5497
|
-
"line":
|
|
5555
|
+
"line": 512
|
|
5498
5556
|
},
|
|
5499
5557
|
"parameters": [
|
|
5500
5558
|
{
|
|
@@ -5521,7 +5579,7 @@
|
|
|
5521
5579
|
"kind": "class",
|
|
5522
5580
|
"locationInModule": {
|
|
5523
5581
|
"filename": "lib/ipam.ts",
|
|
5524
|
-
"line":
|
|
5582
|
+
"line": 472
|
|
5525
5583
|
},
|
|
5526
5584
|
"methods": [
|
|
5527
5585
|
{
|
|
@@ -5531,7 +5589,7 @@
|
|
|
5531
5589
|
},
|
|
5532
5590
|
"locationInModule": {
|
|
5533
5591
|
"filename": "lib/ipam.ts",
|
|
5534
|
-
"line":
|
|
5592
|
+
"line": 549
|
|
5535
5593
|
},
|
|
5536
5594
|
"name": "addScope",
|
|
5537
5595
|
"parameters": [
|
|
@@ -5574,7 +5632,7 @@
|
|
|
5574
5632
|
"immutable": true,
|
|
5575
5633
|
"locationInModule": {
|
|
5576
5634
|
"filename": "lib/ipam.ts",
|
|
5577
|
-
"line":
|
|
5635
|
+
"line": 493
|
|
5578
5636
|
},
|
|
5579
5637
|
"name": "ipamId",
|
|
5580
5638
|
"type": {
|
|
@@ -5589,7 +5647,7 @@
|
|
|
5589
5647
|
"immutable": true,
|
|
5590
5648
|
"locationInModule": {
|
|
5591
5649
|
"filename": "lib/ipam.ts",
|
|
5592
|
-
"line":
|
|
5650
|
+
"line": 498
|
|
5593
5651
|
},
|
|
5594
5652
|
"name": "operatingRegions",
|
|
5595
5653
|
"type": {
|
|
@@ -5611,7 +5669,7 @@
|
|
|
5611
5669
|
"immutable": true,
|
|
5612
5670
|
"locationInModule": {
|
|
5613
5671
|
"filename": "lib/ipam.ts",
|
|
5614
|
-
"line":
|
|
5672
|
+
"line": 485
|
|
5615
5673
|
},
|
|
5616
5674
|
"name": "privateScope",
|
|
5617
5675
|
"type": {
|
|
@@ -5628,7 +5686,7 @@
|
|
|
5628
5686
|
"immutable": true,
|
|
5629
5687
|
"locationInModule": {
|
|
5630
5688
|
"filename": "lib/ipam.ts",
|
|
5631
|
-
"line":
|
|
5689
|
+
"line": 478
|
|
5632
5690
|
},
|
|
5633
5691
|
"name": "publicScope",
|
|
5634
5692
|
"type": {
|
|
@@ -5643,7 +5701,7 @@
|
|
|
5643
5701
|
"immutable": true,
|
|
5644
5702
|
"locationInModule": {
|
|
5645
5703
|
"filename": "lib/ipam.ts",
|
|
5646
|
-
"line":
|
|
5704
|
+
"line": 503
|
|
5647
5705
|
},
|
|
5648
5706
|
"name": "scopes",
|
|
5649
5707
|
"type": {
|
|
@@ -5654,6 +5712,26 @@
|
|
|
5654
5712
|
"kind": "array"
|
|
5655
5713
|
}
|
|
5656
5714
|
}
|
|
5715
|
+
},
|
|
5716
|
+
{
|
|
5717
|
+
"docs": {
|
|
5718
|
+
"custom": {
|
|
5719
|
+
"attribute": "IpamName"
|
|
5720
|
+
},
|
|
5721
|
+
"default": "no tag specified",
|
|
5722
|
+
"stability": "experimental",
|
|
5723
|
+
"summary": "IPAM name to be used for tagging."
|
|
5724
|
+
},
|
|
5725
|
+
"immutable": true,
|
|
5726
|
+
"locationInModule": {
|
|
5727
|
+
"filename": "lib/ipam.ts",
|
|
5728
|
+
"line": 510
|
|
5729
|
+
},
|
|
5730
|
+
"name": "ipamName",
|
|
5731
|
+
"optional": true,
|
|
5732
|
+
"type": {
|
|
5733
|
+
"primitive": "string"
|
|
5734
|
+
}
|
|
5657
5735
|
}
|
|
5658
5736
|
],
|
|
5659
5737
|
"symbolId": "lib/ipam:Ipam"
|
|
@@ -5674,7 +5752,7 @@
|
|
|
5674
5752
|
"kind": "interface",
|
|
5675
5753
|
"locationInModule": {
|
|
5676
5754
|
"filename": "lib/ipam.ts",
|
|
5677
|
-
"line":
|
|
5755
|
+
"line": 253
|
|
5678
5756
|
},
|
|
5679
5757
|
"name": "IpamOptions",
|
|
5680
5758
|
"properties": [
|
|
@@ -5687,7 +5765,7 @@
|
|
|
5687
5765
|
"immutable": true,
|
|
5688
5766
|
"locationInModule": {
|
|
5689
5767
|
"filename": "lib/ipam.ts",
|
|
5690
|
-
"line":
|
|
5768
|
+
"line": 275
|
|
5691
5769
|
},
|
|
5692
5770
|
"name": "cidrBlockName",
|
|
5693
5771
|
"type": {
|
|
@@ -5704,7 +5782,7 @@
|
|
|
5704
5782
|
"immutable": true,
|
|
5705
5783
|
"locationInModule": {
|
|
5706
5784
|
"filename": "lib/ipam.ts",
|
|
5707
|
-
"line":
|
|
5785
|
+
"line": 269
|
|
5708
5786
|
},
|
|
5709
5787
|
"name": "ipamPool",
|
|
5710
5788
|
"optional": true,
|
|
@@ -5722,7 +5800,7 @@
|
|
|
5722
5800
|
"immutable": true,
|
|
5723
5801
|
"locationInModule": {
|
|
5724
5802
|
"filename": "lib/ipam.ts",
|
|
5725
|
-
"line":
|
|
5803
|
+
"line": 261
|
|
5726
5804
|
},
|
|
5727
5805
|
"name": "netmaskLength",
|
|
5728
5806
|
"optional": true,
|
|
@@ -5750,7 +5828,7 @@
|
|
|
5750
5828
|
"kind": "interface",
|
|
5751
5829
|
"locationInModule": {
|
|
5752
5830
|
"filename": "lib/ipam.ts",
|
|
5753
|
-
"line":
|
|
5831
|
+
"line": 166
|
|
5754
5832
|
},
|
|
5755
5833
|
"name": "IpamPoolCidrProvisioningOptions",
|
|
5756
5834
|
"properties": [
|
|
@@ -5764,7 +5842,7 @@
|
|
|
5764
5842
|
"immutable": true,
|
|
5765
5843
|
"locationInModule": {
|
|
5766
5844
|
"filename": "lib/ipam.ts",
|
|
5767
|
-
"line":
|
|
5845
|
+
"line": 179
|
|
5768
5846
|
},
|
|
5769
5847
|
"name": "cidr",
|
|
5770
5848
|
"optional": true,
|
|
@@ -5782,7 +5860,7 @@
|
|
|
5782
5860
|
"immutable": true,
|
|
5783
5861
|
"locationInModule": {
|
|
5784
5862
|
"filename": "lib/ipam.ts",
|
|
5785
|
-
"line":
|
|
5863
|
+
"line": 172
|
|
5786
5864
|
},
|
|
5787
5865
|
"name": "netmaskLength",
|
|
5788
5866
|
"optional": true,
|
|
@@ -5910,7 +5988,7 @@
|
|
|
5910
5988
|
"kind": "interface",
|
|
5911
5989
|
"locationInModule": {
|
|
5912
5990
|
"filename": "lib/ipam.ts",
|
|
5913
|
-
"line":
|
|
5991
|
+
"line": 238
|
|
5914
5992
|
},
|
|
5915
5993
|
"name": "IpamScopeOptions",
|
|
5916
5994
|
"properties": [
|
|
@@ -5924,7 +6002,7 @@
|
|
|
5924
6002
|
"immutable": true,
|
|
5925
6003
|
"locationInModule": {
|
|
5926
6004
|
"filename": "lib/ipam.ts",
|
|
5927
|
-
"line":
|
|
6005
|
+
"line": 245
|
|
5928
6006
|
},
|
|
5929
6007
|
"name": "ipamScopeName",
|
|
5930
6008
|
"optional": true,
|
|
@@ -6021,7 +6099,7 @@
|
|
|
6021
6099
|
},
|
|
6022
6100
|
"locationInModule": {
|
|
6023
6101
|
"filename": "lib/route.ts",
|
|
6024
|
-
"line":
|
|
6102
|
+
"line": 423
|
|
6025
6103
|
},
|
|
6026
6104
|
"parameters": [
|
|
6027
6105
|
{
|
|
@@ -6050,10 +6128,28 @@
|
|
|
6050
6128
|
"kind": "class",
|
|
6051
6129
|
"locationInModule": {
|
|
6052
6130
|
"filename": "lib/route.ts",
|
|
6053
|
-
"line":
|
|
6131
|
+
"line": 385
|
|
6054
6132
|
},
|
|
6055
6133
|
"name": "NatGateway",
|
|
6056
6134
|
"properties": [
|
|
6135
|
+
{
|
|
6136
|
+
"docs": {
|
|
6137
|
+
"custom": {
|
|
6138
|
+
"attribute": "true"
|
|
6139
|
+
},
|
|
6140
|
+
"stability": "experimental",
|
|
6141
|
+
"summary": "Id of the NatGateway."
|
|
6142
|
+
},
|
|
6143
|
+
"immutable": true,
|
|
6144
|
+
"locationInModule": {
|
|
6145
|
+
"filename": "lib/route.ts",
|
|
6146
|
+
"line": 391
|
|
6147
|
+
},
|
|
6148
|
+
"name": "natGatewayId",
|
|
6149
|
+
"type": {
|
|
6150
|
+
"primitive": "string"
|
|
6151
|
+
}
|
|
6152
|
+
},
|
|
6057
6153
|
{
|
|
6058
6154
|
"docs": {
|
|
6059
6155
|
"stability": "experimental",
|
|
@@ -6062,7 +6158,7 @@
|
|
|
6062
6158
|
"immutable": true,
|
|
6063
6159
|
"locationInModule": {
|
|
6064
6160
|
"filename": "lib/route.ts",
|
|
6065
|
-
"line":
|
|
6161
|
+
"line": 421
|
|
6066
6162
|
},
|
|
6067
6163
|
"name": "resource",
|
|
6068
6164
|
"type": {
|
|
@@ -6077,7 +6173,7 @@
|
|
|
6077
6173
|
"immutable": true,
|
|
6078
6174
|
"locationInModule": {
|
|
6079
6175
|
"filename": "lib/route.ts",
|
|
6080
|
-
"line":
|
|
6176
|
+
"line": 401
|
|
6081
6177
|
},
|
|
6082
6178
|
"name": "routerTargetId",
|
|
6083
6179
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteTarget",
|
|
@@ -6093,7 +6189,7 @@
|
|
|
6093
6189
|
"immutable": true,
|
|
6094
6190
|
"locationInModule": {
|
|
6095
6191
|
"filename": "lib/route.ts",
|
|
6096
|
-
"line":
|
|
6192
|
+
"line": 396
|
|
6097
6193
|
},
|
|
6098
6194
|
"name": "routerType",
|
|
6099
6195
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteTarget",
|
|
@@ -6110,7 +6206,7 @@
|
|
|
6110
6206
|
"immutable": true,
|
|
6111
6207
|
"locationInModule": {
|
|
6112
6208
|
"filename": "lib/route.ts",
|
|
6113
|
-
"line":
|
|
6209
|
+
"line": 408
|
|
6114
6210
|
},
|
|
6115
6211
|
"name": "connectivityType",
|
|
6116
6212
|
"optional": true,
|
|
@@ -6127,7 +6223,7 @@
|
|
|
6127
6223
|
"immutable": true,
|
|
6128
6224
|
"locationInModule": {
|
|
6129
6225
|
"filename": "lib/route.ts",
|
|
6130
|
-
"line":
|
|
6226
|
+
"line": 416
|
|
6131
6227
|
},
|
|
6132
6228
|
"name": "maxDrainDuration",
|
|
6133
6229
|
"optional": true,
|
|
@@ -6435,6 +6531,24 @@
|
|
|
6435
6531
|
"fqn": "@aws-cdk/aws-ec2-alpha.AwsServiceName"
|
|
6436
6532
|
}
|
|
6437
6533
|
},
|
|
6534
|
+
{
|
|
6535
|
+
"abstract": true,
|
|
6536
|
+
"docs": {
|
|
6537
|
+
"default": "- autogenerated by CDK if not provided",
|
|
6538
|
+
"stability": "experimental",
|
|
6539
|
+
"summary": "IPAM Pool resource name to be used for tagging."
|
|
6540
|
+
},
|
|
6541
|
+
"immutable": true,
|
|
6542
|
+
"locationInModule": {
|
|
6543
|
+
"filename": "lib/ipam.ts",
|
|
6544
|
+
"line": 145
|
|
6545
|
+
},
|
|
6546
|
+
"name": "ipamPoolName",
|
|
6547
|
+
"optional": true,
|
|
6548
|
+
"type": {
|
|
6549
|
+
"primitive": "string"
|
|
6550
|
+
}
|
|
6551
|
+
},
|
|
6438
6552
|
{
|
|
6439
6553
|
"abstract": true,
|
|
6440
6554
|
"docs": {
|
|
@@ -6519,7 +6633,7 @@
|
|
|
6519
6633
|
},
|
|
6520
6634
|
"locationInModule": {
|
|
6521
6635
|
"filename": "lib/route.ts",
|
|
6522
|
-
"line":
|
|
6636
|
+
"line": 718
|
|
6523
6637
|
},
|
|
6524
6638
|
"parameters": [
|
|
6525
6639
|
{
|
|
@@ -6548,7 +6662,7 @@
|
|
|
6548
6662
|
"kind": "class",
|
|
6549
6663
|
"locationInModule": {
|
|
6550
6664
|
"filename": "lib/route.ts",
|
|
6551
|
-
"line":
|
|
6665
|
+
"line": 679
|
|
6552
6666
|
},
|
|
6553
6667
|
"name": "Route",
|
|
6554
6668
|
"properties": [
|
|
@@ -6561,7 +6675,7 @@
|
|
|
6561
6675
|
"immutable": true,
|
|
6562
6676
|
"locationInModule": {
|
|
6563
6677
|
"filename": "lib/route.ts",
|
|
6564
|
-
"line":
|
|
6678
|
+
"line": 685
|
|
6565
6679
|
},
|
|
6566
6680
|
"name": "destination",
|
|
6567
6681
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteV2",
|
|
@@ -6580,7 +6694,7 @@
|
|
|
6580
6694
|
"immutable": true,
|
|
6581
6695
|
"locationInModule": {
|
|
6582
6696
|
"filename": "lib/route.ts",
|
|
6583
|
-
"line":
|
|
6697
|
+
"line": 696
|
|
6584
6698
|
},
|
|
6585
6699
|
"name": "routeTable",
|
|
6586
6700
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteV2",
|
|
@@ -6596,7 +6710,7 @@
|
|
|
6596
6710
|
"immutable": true,
|
|
6597
6711
|
"locationInModule": {
|
|
6598
6712
|
"filename": "lib/route.ts",
|
|
6599
|
-
"line":
|
|
6713
|
+
"line": 690
|
|
6600
6714
|
},
|
|
6601
6715
|
"name": "target",
|
|
6602
6716
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteV2",
|
|
@@ -6612,7 +6726,7 @@
|
|
|
6612
6726
|
"immutable": true,
|
|
6613
6727
|
"locationInModule": {
|
|
6614
6728
|
"filename": "lib/route.ts",
|
|
6615
|
-
"line":
|
|
6729
|
+
"line": 701
|
|
6616
6730
|
},
|
|
6617
6731
|
"name": "targetRouterType",
|
|
6618
6732
|
"type": {
|
|
@@ -6627,7 +6741,7 @@
|
|
|
6627
6741
|
"immutable": true,
|
|
6628
6742
|
"locationInModule": {
|
|
6629
6743
|
"filename": "lib/route.ts",
|
|
6630
|
-
"line":
|
|
6744
|
+
"line": 706
|
|
6631
6745
|
},
|
|
6632
6746
|
"name": "resource",
|
|
6633
6747
|
"optional": true,
|
|
@@ -6653,7 +6767,7 @@
|
|
|
6653
6767
|
"kind": "interface",
|
|
6654
6768
|
"locationInModule": {
|
|
6655
6769
|
"filename": "lib/route.ts",
|
|
6656
|
-
"line":
|
|
6770
|
+
"line": 647
|
|
6657
6771
|
},
|
|
6658
6772
|
"name": "RouteProps",
|
|
6659
6773
|
"properties": [
|
|
@@ -6667,7 +6781,7 @@
|
|
|
6667
6781
|
"immutable": true,
|
|
6668
6782
|
"locationInModule": {
|
|
6669
6783
|
"filename": "lib/route.ts",
|
|
6670
|
-
"line":
|
|
6784
|
+
"line": 660
|
|
6671
6785
|
},
|
|
6672
6786
|
"name": "destination",
|
|
6673
6787
|
"type": {
|
|
@@ -6686,7 +6800,7 @@
|
|
|
6686
6800
|
"immutable": true,
|
|
6687
6801
|
"locationInModule": {
|
|
6688
6802
|
"filename": "lib/route.ts",
|
|
6689
|
-
"line":
|
|
6803
|
+
"line": 653
|
|
6690
6804
|
},
|
|
6691
6805
|
"name": "routeTable",
|
|
6692
6806
|
"type": {
|
|
@@ -6702,7 +6816,7 @@
|
|
|
6702
6816
|
"immutable": true,
|
|
6703
6817
|
"locationInModule": {
|
|
6704
6818
|
"filename": "lib/route.ts",
|
|
6705
|
-
"line":
|
|
6819
|
+
"line": 665
|
|
6706
6820
|
},
|
|
6707
6821
|
"name": "target",
|
|
6708
6822
|
"type": {
|
|
@@ -6719,7 +6833,7 @@
|
|
|
6719
6833
|
"immutable": true,
|
|
6720
6834
|
"locationInModule": {
|
|
6721
6835
|
"filename": "lib/route.ts",
|
|
6722
|
-
"line":
|
|
6836
|
+
"line": 672
|
|
6723
6837
|
},
|
|
6724
6838
|
"name": "routeName",
|
|
6725
6839
|
"optional": true,
|
|
@@ -6749,7 +6863,7 @@
|
|
|
6749
6863
|
},
|
|
6750
6864
|
"locationInModule": {
|
|
6751
6865
|
"filename": "lib/route.ts",
|
|
6752
|
-
"line":
|
|
6866
|
+
"line": 790
|
|
6753
6867
|
},
|
|
6754
6868
|
"parameters": [
|
|
6755
6869
|
{
|
|
@@ -6778,7 +6892,7 @@
|
|
|
6778
6892
|
"kind": "class",
|
|
6779
6893
|
"locationInModule": {
|
|
6780
6894
|
"filename": "lib/route.ts",
|
|
6781
|
-
"line":
|
|
6895
|
+
"line": 779
|
|
6782
6896
|
},
|
|
6783
6897
|
"methods": [
|
|
6784
6898
|
{
|
|
@@ -6788,7 +6902,7 @@
|
|
|
6788
6902
|
},
|
|
6789
6903
|
"locationInModule": {
|
|
6790
6904
|
"filename": "lib/route.ts",
|
|
6791
|
-
"line":
|
|
6905
|
+
"line": 811
|
|
6792
6906
|
},
|
|
6793
6907
|
"name": "addRoute",
|
|
6794
6908
|
"parameters": [
|
|
@@ -6815,6 +6929,16 @@
|
|
|
6815
6929
|
"type": {
|
|
6816
6930
|
"fqn": "@aws-cdk/aws-ec2-alpha.RouteTargetType"
|
|
6817
6931
|
}
|
|
6932
|
+
},
|
|
6933
|
+
{
|
|
6934
|
+
"docs": {
|
|
6935
|
+
"summary": "The resource name of the route."
|
|
6936
|
+
},
|
|
6937
|
+
"name": "routeName",
|
|
6938
|
+
"optional": true,
|
|
6939
|
+
"type": {
|
|
6940
|
+
"primitive": "string"
|
|
6941
|
+
}
|
|
6818
6942
|
}
|
|
6819
6943
|
]
|
|
6820
6944
|
}
|
|
@@ -6829,7 +6953,7 @@
|
|
|
6829
6953
|
"immutable": true,
|
|
6830
6954
|
"locationInModule": {
|
|
6831
6955
|
"filename": "lib/route.ts",
|
|
6832
|
-
"line":
|
|
6956
|
+
"line": 788
|
|
6833
6957
|
},
|
|
6834
6958
|
"name": "resource",
|
|
6835
6959
|
"type": {
|
|
@@ -6844,7 +6968,7 @@
|
|
|
6844
6968
|
"immutable": true,
|
|
6845
6969
|
"locationInModule": {
|
|
6846
6970
|
"filename": "lib/route.ts",
|
|
6847
|
-
"line":
|
|
6971
|
+
"line": 783
|
|
6848
6972
|
},
|
|
6849
6973
|
"name": "routeTableId",
|
|
6850
6974
|
"overrides": "aws-cdk-lib.aws_ec2.IRouteTable",
|
|
@@ -6870,7 +6994,7 @@
|
|
|
6870
6994
|
"kind": "interface",
|
|
6871
6995
|
"locationInModule": {
|
|
6872
6996
|
"filename": "lib/route.ts",
|
|
6873
|
-
"line":
|
|
6997
|
+
"line": 761
|
|
6874
6998
|
},
|
|
6875
6999
|
"name": "RouteTableProps",
|
|
6876
7000
|
"properties": [
|
|
@@ -6883,7 +7007,7 @@
|
|
|
6883
7007
|
"immutable": true,
|
|
6884
7008
|
"locationInModule": {
|
|
6885
7009
|
"filename": "lib/route.ts",
|
|
6886
|
-
"line":
|
|
7010
|
+
"line": 765
|
|
6887
7011
|
},
|
|
6888
7012
|
"name": "vpc",
|
|
6889
7013
|
"type": {
|
|
@@ -6900,7 +7024,7 @@
|
|
|
6900
7024
|
"immutable": true,
|
|
6901
7025
|
"locationInModule": {
|
|
6902
7026
|
"filename": "lib/route.ts",
|
|
6903
|
-
"line":
|
|
7027
|
+
"line": 772
|
|
6904
7028
|
},
|
|
6905
7029
|
"name": "routeTableName",
|
|
6906
7030
|
"optional": true,
|
|
@@ -6926,7 +7050,7 @@
|
|
|
6926
7050
|
"kind": "interface",
|
|
6927
7051
|
"locationInModule": {
|
|
6928
7052
|
"filename": "lib/route.ts",
|
|
6929
|
-
"line":
|
|
7053
|
+
"line": 572
|
|
6930
7054
|
},
|
|
6931
7055
|
"name": "RouteTargetProps",
|
|
6932
7056
|
"properties": [
|
|
@@ -6941,7 +7065,7 @@
|
|
|
6941
7065
|
"immutable": true,
|
|
6942
7066
|
"locationInModule": {
|
|
6943
7067
|
"filename": "lib/route.ts",
|
|
6944
|
-
"line":
|
|
7068
|
+
"line": 587
|
|
6945
7069
|
},
|
|
6946
7070
|
"name": "endpoint",
|
|
6947
7071
|
"optional": true,
|
|
@@ -6960,7 +7084,7 @@
|
|
|
6960
7084
|
"immutable": true,
|
|
6961
7085
|
"locationInModule": {
|
|
6962
7086
|
"filename": "lib/route.ts",
|
|
6963
|
-
"line":
|
|
7087
|
+
"line": 579
|
|
6964
7088
|
},
|
|
6965
7089
|
"name": "gateway",
|
|
6966
7090
|
"optional": true,
|
|
@@ -6988,7 +7112,7 @@
|
|
|
6988
7112
|
},
|
|
6989
7113
|
"locationInModule": {
|
|
6990
7114
|
"filename": "lib/route.ts",
|
|
6991
|
-
"line":
|
|
7115
|
+
"line": 610
|
|
6992
7116
|
},
|
|
6993
7117
|
"parameters": [
|
|
6994
7118
|
{
|
|
@@ -7002,7 +7126,7 @@
|
|
|
7002
7126
|
"kind": "class",
|
|
7003
7127
|
"locationInModule": {
|
|
7004
7128
|
"filename": "lib/route.ts",
|
|
7005
|
-
"line":
|
|
7129
|
+
"line": 593
|
|
7006
7130
|
},
|
|
7007
7131
|
"name": "RouteTargetType",
|
|
7008
7132
|
"properties": [
|
|
@@ -7016,7 +7140,7 @@
|
|
|
7016
7140
|
"immutable": true,
|
|
7017
7141
|
"locationInModule": {
|
|
7018
7142
|
"filename": "lib/route.ts",
|
|
7019
|
-
"line":
|
|
7143
|
+
"line": 608
|
|
7020
7144
|
},
|
|
7021
7145
|
"name": "endpoint",
|
|
7022
7146
|
"optional": true,
|
|
@@ -7034,7 +7158,7 @@
|
|
|
7034
7158
|
"immutable": true,
|
|
7035
7159
|
"locationInModule": {
|
|
7036
7160
|
"filename": "lib/route.ts",
|
|
7037
|
-
"line":
|
|
7161
|
+
"line": 600
|
|
7038
7162
|
},
|
|
7039
7163
|
"name": "gateway",
|
|
7040
7164
|
"optional": true,
|
|
@@ -7104,7 +7228,7 @@
|
|
|
7104
7228
|
},
|
|
7105
7229
|
"locationInModule": {
|
|
7106
7230
|
"filename": "lib/subnet-v2.ts",
|
|
7107
|
-
"line":
|
|
7231
|
+
"line": 246
|
|
7108
7232
|
},
|
|
7109
7233
|
"parameters": [
|
|
7110
7234
|
{
|
|
@@ -7142,7 +7266,7 @@
|
|
|
7142
7266
|
"kind": "class",
|
|
7143
7267
|
"locationInModule": {
|
|
7144
7268
|
"filename": "lib/subnet-v2.ts",
|
|
7145
|
-
"line":
|
|
7269
|
+
"line": 131
|
|
7146
7270
|
},
|
|
7147
7271
|
"methods": [
|
|
7148
7272
|
{
|
|
@@ -7152,7 +7276,7 @@
|
|
|
7152
7276
|
},
|
|
7153
7277
|
"locationInModule": {
|
|
7154
7278
|
"filename": "lib/subnet-v2.ts",
|
|
7155
|
-
"line":
|
|
7279
|
+
"line": 136
|
|
7156
7280
|
},
|
|
7157
7281
|
"name": "fromSubnetV2Attributes",
|
|
7158
7282
|
"parameters": [
|
|
@@ -7189,7 +7313,7 @@
|
|
|
7189
7313
|
},
|
|
7190
7314
|
"locationInModule": {
|
|
7191
7315
|
"filename": "lib/subnet-v2.ts",
|
|
7192
|
-
"line":
|
|
7316
|
+
"line": 333
|
|
7193
7317
|
},
|
|
7194
7318
|
"name": "associateNetworkAcl",
|
|
7195
7319
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -7226,7 +7350,7 @@
|
|
|
7226
7350
|
"immutable": true,
|
|
7227
7351
|
"locationInModule": {
|
|
7228
7352
|
"filename": "lib/subnet-v2.ts",
|
|
7229
|
-
"line":
|
|
7353
|
+
"line": 198
|
|
7230
7354
|
},
|
|
7231
7355
|
"name": "availabilityZone",
|
|
7232
7356
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -7242,7 +7366,7 @@
|
|
|
7242
7366
|
"immutable": true,
|
|
7243
7367
|
"locationInModule": {
|
|
7244
7368
|
"filename": "lib/subnet-v2.ts",
|
|
7245
|
-
"line":
|
|
7369
|
+
"line": 210
|
|
7246
7370
|
},
|
|
7247
7371
|
"name": "internetConnectivityEstablished",
|
|
7248
7372
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -7258,7 +7382,7 @@
|
|
|
7258
7382
|
"immutable": true,
|
|
7259
7383
|
"locationInModule": {
|
|
7260
7384
|
"filename": "lib/subnet-v2.ts",
|
|
7261
|
-
"line":
|
|
7385
|
+
"line": 223
|
|
7262
7386
|
},
|
|
7263
7387
|
"name": "ipv4CidrBlock",
|
|
7264
7388
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -7274,7 +7398,7 @@
|
|
|
7274
7398
|
"immutable": true,
|
|
7275
7399
|
"locationInModule": {
|
|
7276
7400
|
"filename": "lib/subnet-v2.ts",
|
|
7277
|
-
"line":
|
|
7401
|
+
"line": 355
|
|
7278
7402
|
},
|
|
7279
7403
|
"name": "networkAcl",
|
|
7280
7404
|
"type": {
|
|
@@ -7289,7 +7413,7 @@
|
|
|
7289
7413
|
"immutable": true,
|
|
7290
7414
|
"locationInModule": {
|
|
7291
7415
|
"filename": "lib/subnet-v2.ts",
|
|
7292
|
-
"line":
|
|
7416
|
+
"line": 347
|
|
7293
7417
|
},
|
|
7294
7418
|
"name": "routeTable",
|
|
7295
7419
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -7308,7 +7432,7 @@
|
|
|
7308
7432
|
"immutable": true,
|
|
7309
7433
|
"locationInModule": {
|
|
7310
7434
|
"filename": "lib/subnet-v2.ts",
|
|
7311
|
-
"line":
|
|
7435
|
+
"line": 204
|
|
7312
7436
|
},
|
|
7313
7437
|
"name": "subnetId",
|
|
7314
7438
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -7324,7 +7448,7 @@
|
|
|
7324
7448
|
"immutable": true,
|
|
7325
7449
|
"locationInModule": {
|
|
7326
7450
|
"filename": "lib/subnet-v2.ts",
|
|
7327
|
-
"line":
|
|
7451
|
+
"line": 228
|
|
7328
7452
|
},
|
|
7329
7453
|
"name": "ipv6CidrBlock",
|
|
7330
7454
|
"optional": true,
|
|
@@ -7344,7 +7468,7 @@
|
|
|
7344
7468
|
"immutable": true,
|
|
7345
7469
|
"locationInModule": {
|
|
7346
7470
|
"filename": "lib/subnet-v2.ts",
|
|
7347
|
-
"line":
|
|
7471
|
+
"line": 234
|
|
7348
7472
|
},
|
|
7349
7473
|
"name": "subnetType",
|
|
7350
7474
|
"optional": true,
|
|
@@ -7371,7 +7495,7 @@
|
|
|
7371
7495
|
"kind": "interface",
|
|
7372
7496
|
"locationInModule": {
|
|
7373
7497
|
"filename": "lib/subnet-v2.ts",
|
|
7374
|
-
"line":
|
|
7498
|
+
"line": 363
|
|
7375
7499
|
},
|
|
7376
7500
|
"name": "SubnetV2Attributes",
|
|
7377
7501
|
"properties": [
|
|
@@ -7385,7 +7509,7 @@
|
|
|
7385
7509
|
"immutable": true,
|
|
7386
7510
|
"locationInModule": {
|
|
7387
7511
|
"filename": "lib/subnet-v2.ts",
|
|
7388
|
-
"line":
|
|
7512
|
+
"line": 369
|
|
7389
7513
|
},
|
|
7390
7514
|
"name": "availabilityZone",
|
|
7391
7515
|
"type": {
|
|
@@ -7402,7 +7526,7 @@
|
|
|
7402
7526
|
"immutable": true,
|
|
7403
7527
|
"locationInModule": {
|
|
7404
7528
|
"filename": "lib/subnet-v2.ts",
|
|
7405
|
-
"line":
|
|
7529
|
+
"line": 376
|
|
7406
7530
|
},
|
|
7407
7531
|
"name": "ipv4CidrBlock",
|
|
7408
7532
|
"type": {
|
|
@@ -7418,7 +7542,7 @@
|
|
|
7418
7542
|
"immutable": true,
|
|
7419
7543
|
"locationInModule": {
|
|
7420
7544
|
"filename": "lib/subnet-v2.ts",
|
|
7421
|
-
"line":
|
|
7545
|
+
"line": 395
|
|
7422
7546
|
},
|
|
7423
7547
|
"name": "subnetId",
|
|
7424
7548
|
"type": {
|
|
@@ -7434,7 +7558,7 @@
|
|
|
7434
7558
|
"immutable": true,
|
|
7435
7559
|
"locationInModule": {
|
|
7436
7560
|
"filename": "lib/subnet-v2.ts",
|
|
7437
|
-
"line":
|
|
7561
|
+
"line": 400
|
|
7438
7562
|
},
|
|
7439
7563
|
"name": "subnetType",
|
|
7440
7564
|
"type": {
|
|
@@ -7451,7 +7575,7 @@
|
|
|
7451
7575
|
"immutable": true,
|
|
7452
7576
|
"locationInModule": {
|
|
7453
7577
|
"filename": "lib/subnet-v2.ts",
|
|
7454
|
-
"line":
|
|
7578
|
+
"line": 383
|
|
7455
7579
|
},
|
|
7456
7580
|
"name": "ipv6CidrBlock",
|
|
7457
7581
|
"optional": true,
|
|
@@ -7469,7 +7593,7 @@
|
|
|
7469
7593
|
"immutable": true,
|
|
7470
7594
|
"locationInModule": {
|
|
7471
7595
|
"filename": "lib/subnet-v2.ts",
|
|
7472
|
-
"line":
|
|
7596
|
+
"line": 390
|
|
7473
7597
|
},
|
|
7474
7598
|
"name": "routeTableId",
|
|
7475
7599
|
"optional": true,
|
|
@@ -7487,7 +7611,7 @@
|
|
|
7487
7611
|
"immutable": true,
|
|
7488
7612
|
"locationInModule": {
|
|
7489
7613
|
"filename": "lib/subnet-v2.ts",
|
|
7490
|
-
"line":
|
|
7614
|
+
"line": 407
|
|
7491
7615
|
},
|
|
7492
7616
|
"name": "subnetName",
|
|
7493
7617
|
"optional": true,
|
|
@@ -7513,7 +7637,7 @@
|
|
|
7513
7637
|
"kind": "interface",
|
|
7514
7638
|
"locationInModule": {
|
|
7515
7639
|
"filename": "lib/subnet-v2.ts",
|
|
7516
|
-
"line":
|
|
7640
|
+
"line": 43
|
|
7517
7641
|
},
|
|
7518
7642
|
"name": "SubnetV2Props",
|
|
7519
7643
|
"properties": [
|
|
@@ -7526,7 +7650,7 @@
|
|
|
7526
7650
|
"immutable": true,
|
|
7527
7651
|
"locationInModule": {
|
|
7528
7652
|
"filename": "lib/subnet-v2.ts",
|
|
7529
|
-
"line":
|
|
7653
|
+
"line": 65
|
|
7530
7654
|
},
|
|
7531
7655
|
"name": "availabilityZone",
|
|
7532
7656
|
"type": {
|
|
@@ -7543,7 +7667,7 @@
|
|
|
7543
7667
|
"immutable": true,
|
|
7544
7668
|
"locationInModule": {
|
|
7545
7669
|
"filename": "lib/subnet-v2.ts",
|
|
7546
|
-
"line":
|
|
7670
|
+
"line": 53
|
|
7547
7671
|
},
|
|
7548
7672
|
"name": "ipv4CidrBlock",
|
|
7549
7673
|
"type": {
|
|
@@ -7560,7 +7684,7 @@
|
|
|
7560
7684
|
"immutable": true,
|
|
7561
7685
|
"locationInModule": {
|
|
7562
7686
|
"filename": "lib/subnet-v2.ts",
|
|
7563
|
-
"line":
|
|
7687
|
+
"line": 82
|
|
7564
7688
|
},
|
|
7565
7689
|
"name": "subnetType",
|
|
7566
7690
|
"type": {
|
|
@@ -7576,7 +7700,7 @@
|
|
|
7576
7700
|
"immutable": true,
|
|
7577
7701
|
"locationInModule": {
|
|
7578
7702
|
"filename": "lib/subnet-v2.ts",
|
|
7579
|
-
"line":
|
|
7703
|
+
"line": 47
|
|
7580
7704
|
},
|
|
7581
7705
|
"name": "vpc",
|
|
7582
7706
|
"type": {
|
|
@@ -7594,7 +7718,7 @@
|
|
|
7594
7718
|
"immutable": true,
|
|
7595
7719
|
"locationInModule": {
|
|
7596
7720
|
"filename": "lib/subnet-v2.ts",
|
|
7597
|
-
"line":
|
|
7721
|
+
"line": 97
|
|
7598
7722
|
},
|
|
7599
7723
|
"name": "assignIpv6AddressOnCreation",
|
|
7600
7724
|
"optional": true,
|
|
@@ -7612,7 +7736,7 @@
|
|
|
7612
7736
|
"immutable": true,
|
|
7613
7737
|
"locationInModule": {
|
|
7614
7738
|
"filename": "lib/subnet-v2.ts",
|
|
7615
|
-
"line":
|
|
7739
|
+
"line": 60
|
|
7616
7740
|
},
|
|
7617
7741
|
"name": "ipv6CidrBlock",
|
|
7618
7742
|
"optional": true,
|
|
@@ -7630,7 +7754,7 @@
|
|
|
7630
7754
|
"immutable": true,
|
|
7631
7755
|
"locationInModule": {
|
|
7632
7756
|
"filename": "lib/subnet-v2.ts",
|
|
7633
|
-
"line":
|
|
7757
|
+
"line": 72
|
|
7634
7758
|
},
|
|
7635
7759
|
"name": "routeTable",
|
|
7636
7760
|
"optional": true,
|
|
@@ -7648,7 +7772,7 @@
|
|
|
7648
7772
|
"immutable": true,
|
|
7649
7773
|
"locationInModule": {
|
|
7650
7774
|
"filename": "lib/subnet-v2.ts",
|
|
7651
|
-
"line":
|
|
7775
|
+
"line": 89
|
|
7652
7776
|
},
|
|
7653
7777
|
"name": "subnetName",
|
|
7654
7778
|
"optional": true,
|
|
@@ -7674,7 +7798,7 @@
|
|
|
7674
7798
|
"kind": "interface",
|
|
7675
7799
|
"locationInModule": {
|
|
7676
7800
|
"filename": "lib/vpc-v2.ts",
|
|
7677
|
-
"line":
|
|
7801
|
+
"line": 667
|
|
7678
7802
|
},
|
|
7679
7803
|
"name": "VPCCidrBlockattributes",
|
|
7680
7804
|
"properties": [
|
|
@@ -7688,7 +7812,7 @@
|
|
|
7688
7812
|
"immutable": true,
|
|
7689
7813
|
"locationInModule": {
|
|
7690
7814
|
"filename": "lib/vpc-v2.ts",
|
|
7691
|
-
"line":
|
|
7815
|
+
"line": 673
|
|
7692
7816
|
},
|
|
7693
7817
|
"name": "amazonProvidedIpv6CidrBlock",
|
|
7694
7818
|
"optional": true,
|
|
@@ -7706,7 +7830,7 @@
|
|
|
7706
7830
|
"immutable": true,
|
|
7707
7831
|
"locationInModule": {
|
|
7708
7832
|
"filename": "lib/vpc-v2.ts",
|
|
7709
|
-
"line":
|
|
7833
|
+
"line": 680
|
|
7710
7834
|
},
|
|
7711
7835
|
"name": "cidrBlock",
|
|
7712
7836
|
"optional": true,
|
|
@@ -7724,7 +7848,7 @@
|
|
|
7724
7848
|
"immutable": true,
|
|
7725
7849
|
"locationInModule": {
|
|
7726
7850
|
"filename": "lib/vpc-v2.ts",
|
|
7727
|
-
"line":
|
|
7851
|
+
"line": 687
|
|
7728
7852
|
},
|
|
7729
7853
|
"name": "cidrBlockName",
|
|
7730
7854
|
"optional": true,
|
|
@@ -7742,7 +7866,7 @@
|
|
|
7742
7866
|
"immutable": true,
|
|
7743
7867
|
"locationInModule": {
|
|
7744
7868
|
"filename": "lib/vpc-v2.ts",
|
|
7745
|
-
"line":
|
|
7869
|
+
"line": 715
|
|
7746
7870
|
},
|
|
7747
7871
|
"name": "ipv4IpamPoolId",
|
|
7748
7872
|
"optional": true,
|
|
@@ -7760,7 +7884,7 @@
|
|
|
7760
7884
|
"immutable": true,
|
|
7761
7885
|
"locationInModule": {
|
|
7762
7886
|
"filename": "lib/vpc-v2.ts",
|
|
7763
|
-
"line":
|
|
7887
|
+
"line": 723
|
|
7764
7888
|
},
|
|
7765
7889
|
"name": "ipv4IpamProvisionedCidrs",
|
|
7766
7890
|
"optional": true,
|
|
@@ -7783,7 +7907,7 @@
|
|
|
7783
7907
|
"immutable": true,
|
|
7784
7908
|
"locationInModule": {
|
|
7785
7909
|
"filename": "lib/vpc-v2.ts",
|
|
7786
|
-
"line":
|
|
7910
|
+
"line": 701
|
|
7787
7911
|
},
|
|
7788
7912
|
"name": "ipv4NetmaskLength",
|
|
7789
7913
|
"optional": true,
|
|
@@ -7801,7 +7925,7 @@
|
|
|
7801
7925
|
"immutable": true,
|
|
7802
7926
|
"locationInModule": {
|
|
7803
7927
|
"filename": "lib/vpc-v2.ts",
|
|
7804
|
-
"line":
|
|
7928
|
+
"line": 708
|
|
7805
7929
|
},
|
|
7806
7930
|
"name": "ipv6IpamPoolId",
|
|
7807
7931
|
"optional": true,
|
|
@@ -7819,7 +7943,7 @@
|
|
|
7819
7943
|
"immutable": true,
|
|
7820
7944
|
"locationInModule": {
|
|
7821
7945
|
"filename": "lib/vpc-v2.ts",
|
|
7822
|
-
"line":
|
|
7946
|
+
"line": 694
|
|
7823
7947
|
},
|
|
7824
7948
|
"name": "ipv6NetmaskLength",
|
|
7825
7949
|
"optional": true,
|
|
@@ -7849,7 +7973,7 @@
|
|
|
7849
7973
|
},
|
|
7850
7974
|
"locationInModule": {
|
|
7851
7975
|
"filename": "lib/route.ts",
|
|
7852
|
-
"line":
|
|
7976
|
+
"line": 490
|
|
7853
7977
|
},
|
|
7854
7978
|
"parameters": [
|
|
7855
7979
|
{
|
|
@@ -7878,7 +8002,7 @@
|
|
|
7878
8002
|
"kind": "class",
|
|
7879
8003
|
"locationInModule": {
|
|
7880
8004
|
"filename": "lib/route.ts",
|
|
7881
|
-
"line":
|
|
8005
|
+
"line": 473
|
|
7882
8006
|
},
|
|
7883
8007
|
"name": "VPCPeeringConnection",
|
|
7884
8008
|
"properties": [
|
|
@@ -7890,7 +8014,7 @@
|
|
|
7890
8014
|
"immutable": true,
|
|
7891
8015
|
"locationInModule": {
|
|
7892
8016
|
"filename": "lib/route.ts",
|
|
7893
|
-
"line":
|
|
8017
|
+
"line": 488
|
|
7894
8018
|
},
|
|
7895
8019
|
"name": "resource",
|
|
7896
8020
|
"type": {
|
|
@@ -7905,7 +8029,7 @@
|
|
|
7905
8029
|
"immutable": true,
|
|
7906
8030
|
"locationInModule": {
|
|
7907
8031
|
"filename": "lib/route.ts",
|
|
7908
|
-
"line":
|
|
8032
|
+
"line": 483
|
|
7909
8033
|
},
|
|
7910
8034
|
"name": "routerTargetId",
|
|
7911
8035
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteTarget",
|
|
@@ -7921,7 +8045,7 @@
|
|
|
7921
8045
|
"immutable": true,
|
|
7922
8046
|
"locationInModule": {
|
|
7923
8047
|
"filename": "lib/route.ts",
|
|
7924
|
-
"line":
|
|
8048
|
+
"line": 478
|
|
7925
8049
|
},
|
|
7926
8050
|
"name": "routerType",
|
|
7927
8051
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteTarget",
|
|
@@ -8066,7 +8190,7 @@
|
|
|
8066
8190
|
},
|
|
8067
8191
|
"locationInModule": {
|
|
8068
8192
|
"filename": "lib/route.ts",
|
|
8069
|
-
"line":
|
|
8193
|
+
"line": 336
|
|
8070
8194
|
},
|
|
8071
8195
|
"parameters": [
|
|
8072
8196
|
{
|
|
@@ -8095,7 +8219,7 @@
|
|
|
8095
8219
|
"kind": "class",
|
|
8096
8220
|
"locationInModule": {
|
|
8097
8221
|
"filename": "lib/route.ts",
|
|
8098
|
-
"line":
|
|
8222
|
+
"line": 305
|
|
8099
8223
|
},
|
|
8100
8224
|
"name": "VPNGatewayV2",
|
|
8101
8225
|
"properties": [
|
|
@@ -8107,7 +8231,7 @@
|
|
|
8107
8231
|
"immutable": true,
|
|
8108
8232
|
"locationInModule": {
|
|
8109
8233
|
"filename": "lib/route.ts",
|
|
8110
|
-
"line":
|
|
8234
|
+
"line": 324
|
|
8111
8235
|
},
|
|
8112
8236
|
"name": "resource",
|
|
8113
8237
|
"type": {
|
|
@@ -8122,7 +8246,7 @@
|
|
|
8122
8246
|
"immutable": true,
|
|
8123
8247
|
"locationInModule": {
|
|
8124
8248
|
"filename": "lib/route.ts",
|
|
8125
|
-
"line":
|
|
8249
|
+
"line": 314
|
|
8126
8250
|
},
|
|
8127
8251
|
"name": "routerTargetId",
|
|
8128
8252
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteTarget",
|
|
@@ -8138,7 +8262,7 @@
|
|
|
8138
8262
|
"immutable": true,
|
|
8139
8263
|
"locationInModule": {
|
|
8140
8264
|
"filename": "lib/route.ts",
|
|
8141
|
-
"line":
|
|
8265
|
+
"line": 309
|
|
8142
8266
|
},
|
|
8143
8267
|
"name": "routerType",
|
|
8144
8268
|
"overrides": "@aws-cdk/aws-ec2-alpha.IRouteTarget",
|
|
@@ -8154,7 +8278,7 @@
|
|
|
8154
8278
|
"immutable": true,
|
|
8155
8279
|
"locationInModule": {
|
|
8156
8280
|
"filename": "lib/route.ts",
|
|
8157
|
-
"line":
|
|
8281
|
+
"line": 319
|
|
8158
8282
|
},
|
|
8159
8283
|
"name": "vpcId",
|
|
8160
8284
|
"type": {
|
|
@@ -8179,7 +8303,7 @@
|
|
|
8179
8303
|
"kind": "interface",
|
|
8180
8304
|
"locationInModule": {
|
|
8181
8305
|
"filename": "lib/vpc-v2-base.ts",
|
|
8182
|
-
"line":
|
|
8306
|
+
"line": 68
|
|
8183
8307
|
},
|
|
8184
8308
|
"name": "VPNGatewayV2Options",
|
|
8185
8309
|
"properties": [
|
|
@@ -8193,7 +8317,7 @@
|
|
|
8193
8317
|
"immutable": true,
|
|
8194
8318
|
"locationInModule": {
|
|
8195
8319
|
"filename": "lib/vpc-v2-base.ts",
|
|
8196
|
-
"line":
|
|
8320
|
+
"line": 73
|
|
8197
8321
|
},
|
|
8198
8322
|
"name": "type",
|
|
8199
8323
|
"type": {
|
|
@@ -8210,7 +8334,7 @@
|
|
|
8210
8334
|
"immutable": true,
|
|
8211
8335
|
"locationInModule": {
|
|
8212
8336
|
"filename": "lib/vpc-v2-base.ts",
|
|
8213
|
-
"line":
|
|
8337
|
+
"line": 80
|
|
8214
8338
|
},
|
|
8215
8339
|
"name": "amazonSideAsn",
|
|
8216
8340
|
"optional": true,
|
|
@@ -8228,7 +8352,7 @@
|
|
|
8228
8352
|
"immutable": true,
|
|
8229
8353
|
"locationInModule": {
|
|
8230
8354
|
"filename": "lib/vpc-v2-base.ts",
|
|
8231
|
-
"line":
|
|
8355
|
+
"line": 87
|
|
8232
8356
|
},
|
|
8233
8357
|
"name": "vpnGatewayName",
|
|
8234
8358
|
"optional": true,
|
|
@@ -8246,7 +8370,7 @@
|
|
|
8246
8370
|
"immutable": true,
|
|
8247
8371
|
"locationInModule": {
|
|
8248
8372
|
"filename": "lib/vpc-v2-base.ts",
|
|
8249
|
-
"line":
|
|
8373
|
+
"line": 94
|
|
8250
8374
|
},
|
|
8251
8375
|
"name": "vpnRoutePropagation",
|
|
8252
8376
|
"optional": true,
|
|
@@ -8517,7 +8641,7 @@
|
|
|
8517
8641
|
},
|
|
8518
8642
|
"locationInModule": {
|
|
8519
8643
|
"filename": "lib/vpc-v2.ts",
|
|
8520
|
-
"line":
|
|
8644
|
+
"line": 454
|
|
8521
8645
|
},
|
|
8522
8646
|
"parameters": [
|
|
8523
8647
|
{
|
|
@@ -8544,7 +8668,7 @@
|
|
|
8544
8668
|
"kind": "class",
|
|
8545
8669
|
"locationInModule": {
|
|
8546
8670
|
"filename": "lib/vpc-v2.ts",
|
|
8547
|
-
"line":
|
|
8671
|
+
"line": 266
|
|
8548
8672
|
},
|
|
8549
8673
|
"methods": [
|
|
8550
8674
|
{
|
|
@@ -8554,7 +8678,7 @@
|
|
|
8554
8678
|
},
|
|
8555
8679
|
"locationInModule": {
|
|
8556
8680
|
"filename": "lib/vpc-v2.ts",
|
|
8557
|
-
"line":
|
|
8681
|
+
"line": 271
|
|
8558
8682
|
},
|
|
8559
8683
|
"name": "fromVpcV2Attributes",
|
|
8560
8684
|
"parameters": [
|
|
@@ -8595,7 +8719,7 @@
|
|
|
8595
8719
|
"immutable": true,
|
|
8596
8720
|
"locationInModule": {
|
|
8597
8721
|
"filename": "lib/vpc-v2.ts",
|
|
8598
|
-
"line":
|
|
8722
|
+
"line": 388
|
|
8599
8723
|
},
|
|
8600
8724
|
"name": "dnsHostnamesEnabled",
|
|
8601
8725
|
"type": {
|
|
@@ -8610,7 +8734,7 @@
|
|
|
8610
8734
|
"immutable": true,
|
|
8611
8735
|
"locationInModule": {
|
|
8612
8736
|
"filename": "lib/vpc-v2.ts",
|
|
8613
|
-
"line":
|
|
8737
|
+
"line": 393
|
|
8614
8738
|
},
|
|
8615
8739
|
"name": "dnsSupportEnabled",
|
|
8616
8740
|
"type": {
|
|
@@ -8625,7 +8749,7 @@
|
|
|
8625
8749
|
"immutable": true,
|
|
8626
8750
|
"locationInModule": {
|
|
8627
8751
|
"filename": "lib/vpc-v2.ts",
|
|
8628
|
-
"line":
|
|
8752
|
+
"line": 413
|
|
8629
8753
|
},
|
|
8630
8754
|
"name": "internetConnectivityEstablished",
|
|
8631
8755
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8641,7 +8765,7 @@
|
|
|
8641
8765
|
"immutable": true,
|
|
8642
8766
|
"locationInModule": {
|
|
8643
8767
|
"filename": "lib/vpc-v2.ts",
|
|
8644
|
-
"line":
|
|
8768
|
+
"line": 378
|
|
8645
8769
|
},
|
|
8646
8770
|
"name": "ipAddresses",
|
|
8647
8771
|
"type": {
|
|
@@ -8657,7 +8781,7 @@
|
|
|
8657
8781
|
"immutable": true,
|
|
8658
8782
|
"locationInModule": {
|
|
8659
8783
|
"filename": "lib/vpc-v2.ts",
|
|
8660
|
-
"line":
|
|
8784
|
+
"line": 452
|
|
8661
8785
|
},
|
|
8662
8786
|
"name": "ipv4CidrBlock",
|
|
8663
8787
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8674,7 +8798,7 @@
|
|
|
8674
8798
|
"immutable": true,
|
|
8675
8799
|
"locationInModule": {
|
|
8676
8800
|
"filename": "lib/vpc-v2.ts",
|
|
8677
|
-
"line":
|
|
8801
|
+
"line": 373
|
|
8678
8802
|
},
|
|
8679
8803
|
"name": "ipv6CidrBlocks",
|
|
8680
8804
|
"type": {
|
|
@@ -8694,7 +8818,7 @@
|
|
|
8694
8818
|
"immutable": true,
|
|
8695
8819
|
"locationInModule": {
|
|
8696
8820
|
"filename": "lib/vpc-v2.ts",
|
|
8697
|
-
"line":
|
|
8821
|
+
"line": 398
|
|
8698
8822
|
},
|
|
8699
8823
|
"name": "isolatedSubnets",
|
|
8700
8824
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8715,7 +8839,7 @@
|
|
|
8715
8839
|
"immutable": true,
|
|
8716
8840
|
"locationInModule": {
|
|
8717
8841
|
"filename": "lib/vpc-v2.ts",
|
|
8718
|
-
"line":
|
|
8842
|
+
"line": 435
|
|
8719
8843
|
},
|
|
8720
8844
|
"name": "ownerAccountId",
|
|
8721
8845
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8731,7 +8855,7 @@
|
|
|
8731
8855
|
"immutable": true,
|
|
8732
8856
|
"locationInModule": {
|
|
8733
8857
|
"filename": "lib/vpc-v2.ts",
|
|
8734
|
-
"line":
|
|
8858
|
+
"line": 408
|
|
8735
8859
|
},
|
|
8736
8860
|
"name": "privateSubnets",
|
|
8737
8861
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8752,7 +8876,7 @@
|
|
|
8752
8876
|
"immutable": true,
|
|
8753
8877
|
"locationInModule": {
|
|
8754
8878
|
"filename": "lib/vpc-v2.ts",
|
|
8755
|
-
"line":
|
|
8879
|
+
"line": 403
|
|
8756
8880
|
},
|
|
8757
8881
|
"name": "publicSubnets",
|
|
8758
8882
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8773,7 +8897,7 @@
|
|
|
8773
8897
|
"immutable": true,
|
|
8774
8898
|
"locationInModule": {
|
|
8775
8899
|
"filename": "lib/vpc-v2.ts",
|
|
8776
|
-
"line":
|
|
8900
|
+
"line": 430
|
|
8777
8901
|
},
|
|
8778
8902
|
"name": "region",
|
|
8779
8903
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8789,7 +8913,7 @@
|
|
|
8789
8913
|
"immutable": true,
|
|
8790
8914
|
"locationInModule": {
|
|
8791
8915
|
"filename": "lib/vpc-v2.ts",
|
|
8792
|
-
"line":
|
|
8916
|
+
"line": 383
|
|
8793
8917
|
},
|
|
8794
8918
|
"name": "resource",
|
|
8795
8919
|
"type": {
|
|
@@ -8805,7 +8929,7 @@
|
|
|
8805
8929
|
"immutable": true,
|
|
8806
8930
|
"locationInModule": {
|
|
8807
8931
|
"filename": "lib/vpc-v2.ts",
|
|
8808
|
-
"line":
|
|
8932
|
+
"line": 444
|
|
8809
8933
|
},
|
|
8810
8934
|
"name": "useIpv6",
|
|
8811
8935
|
"type": {
|
|
@@ -8823,7 +8947,7 @@
|
|
|
8823
8947
|
"immutable": true,
|
|
8824
8948
|
"locationInModule": {
|
|
8825
8949
|
"filename": "lib/vpc-v2.ts",
|
|
8826
|
-
"line":
|
|
8950
|
+
"line": 362
|
|
8827
8951
|
},
|
|
8828
8952
|
"name": "vpcArn",
|
|
8829
8953
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8842,7 +8966,7 @@
|
|
|
8842
8966
|
"immutable": true,
|
|
8843
8967
|
"locationInModule": {
|
|
8844
8968
|
"filename": "lib/vpc-v2.ts",
|
|
8845
|
-
"line":
|
|
8969
|
+
"line": 367
|
|
8846
8970
|
},
|
|
8847
8971
|
"name": "vpcCidrBlock",
|
|
8848
8972
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8858,7 +8982,7 @@
|
|
|
8858
8982
|
"immutable": true,
|
|
8859
8983
|
"locationInModule": {
|
|
8860
8984
|
"filename": "lib/vpc-v2.ts",
|
|
8861
|
-
"line":
|
|
8985
|
+
"line": 357
|
|
8862
8986
|
},
|
|
8863
8987
|
"name": "vpcId",
|
|
8864
8988
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
@@ -8874,7 +8998,7 @@
|
|
|
8874
8998
|
"immutable": true,
|
|
8875
8999
|
"locationInModule": {
|
|
8876
9000
|
"filename": "lib/vpc-v2.ts",
|
|
8877
|
-
"line":
|
|
9001
|
+
"line": 425
|
|
8878
9002
|
},
|
|
8879
9003
|
"name": "ipv4IpamProvisionedCidrs",
|
|
8880
9004
|
"optional": true,
|
|
@@ -8896,7 +9020,7 @@
|
|
|
8896
9020
|
"immutable": true,
|
|
8897
9021
|
"locationInModule": {
|
|
8898
9022
|
"filename": "lib/vpc-v2.ts",
|
|
8899
|
-
"line":
|
|
9023
|
+
"line": 418
|
|
8900
9024
|
},
|
|
8901
9025
|
"name": "secondaryCidrBlock",
|
|
8902
9026
|
"optional": true,
|
|
@@ -8909,6 +9033,26 @@
|
|
|
8909
9033
|
"kind": "array"
|
|
8910
9034
|
}
|
|
8911
9035
|
}
|
|
9036
|
+
},
|
|
9037
|
+
{
|
|
9038
|
+
"docs": {
|
|
9039
|
+
"custom": {
|
|
9040
|
+
"attribute": "true"
|
|
9041
|
+
},
|
|
9042
|
+
"stability": "experimental",
|
|
9043
|
+
"summary": "VpcName to be used for tagging its components."
|
|
9044
|
+
},
|
|
9045
|
+
"immutable": true,
|
|
9046
|
+
"locationInModule": {
|
|
9047
|
+
"filename": "lib/vpc-v2.ts",
|
|
9048
|
+
"line": 450
|
|
9049
|
+
},
|
|
9050
|
+
"name": "vpcName",
|
|
9051
|
+
"optional": true,
|
|
9052
|
+
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
9053
|
+
"type": {
|
|
9054
|
+
"primitive": "string"
|
|
9055
|
+
}
|
|
8912
9056
|
}
|
|
8913
9057
|
],
|
|
8914
9058
|
"symbolId": "lib/vpc-v2:VpcV2"
|
|
@@ -8928,7 +9072,7 @@
|
|
|
8928
9072
|
"kind": "interface",
|
|
8929
9073
|
"locationInModule": {
|
|
8930
9074
|
"filename": "lib/vpc-v2.ts",
|
|
8931
|
-
"line":
|
|
9075
|
+
"line": 203
|
|
8932
9076
|
},
|
|
8933
9077
|
"name": "VpcV2Attributes",
|
|
8934
9078
|
"properties": [
|
|
@@ -8941,7 +9085,7 @@
|
|
|
8941
9085
|
"immutable": true,
|
|
8942
9086
|
"locationInModule": {
|
|
8943
9087
|
"filename": "lib/vpc-v2.ts",
|
|
8944
|
-
"line":
|
|
9088
|
+
"line": 235
|
|
8945
9089
|
},
|
|
8946
9090
|
"name": "vpcCidrBlock",
|
|
8947
9091
|
"type": {
|
|
@@ -8957,7 +9101,7 @@
|
|
|
8957
9101
|
"immutable": true,
|
|
8958
9102
|
"locationInModule": {
|
|
8959
9103
|
"filename": "lib/vpc-v2.ts",
|
|
8960
|
-
"line":
|
|
9104
|
+
"line": 209
|
|
8961
9105
|
},
|
|
8962
9106
|
"name": "vpcId",
|
|
8963
9107
|
"type": {
|
|
@@ -8974,7 +9118,7 @@
|
|
|
8974
9118
|
"immutable": true,
|
|
8975
9119
|
"locationInModule": {
|
|
8976
9120
|
"filename": "lib/vpc-v2.ts",
|
|
8977
|
-
"line":
|
|
9121
|
+
"line": 229
|
|
8978
9122
|
},
|
|
8979
9123
|
"name": "ownerAccountId",
|
|
8980
9124
|
"optional": true,
|
|
@@ -8992,7 +9136,7 @@
|
|
|
8992
9136
|
"immutable": true,
|
|
8993
9137
|
"locationInModule": {
|
|
8994
9138
|
"filename": "lib/vpc-v2.ts",
|
|
8995
|
-
"line":
|
|
9139
|
+
"line": 219
|
|
8996
9140
|
},
|
|
8997
9141
|
"name": "region",
|
|
8998
9142
|
"optional": true,
|
|
@@ -9010,7 +9154,7 @@
|
|
|
9010
9154
|
"immutable": true,
|
|
9011
9155
|
"locationInModule": {
|
|
9012
9156
|
"filename": "lib/vpc-v2.ts",
|
|
9013
|
-
"line":
|
|
9157
|
+
"line": 256
|
|
9014
9158
|
},
|
|
9015
9159
|
"name": "secondaryCidrBlocks",
|
|
9016
9160
|
"optional": true,
|
|
@@ -9033,7 +9177,7 @@
|
|
|
9033
9177
|
"immutable": true,
|
|
9034
9178
|
"locationInModule": {
|
|
9035
9179
|
"filename": "lib/vpc-v2.ts",
|
|
9036
|
-
"line":
|
|
9180
|
+
"line": 249
|
|
9037
9181
|
},
|
|
9038
9182
|
"name": "subnets",
|
|
9039
9183
|
"optional": true,
|
|
@@ -9056,7 +9200,7 @@
|
|
|
9056
9200
|
"immutable": true,
|
|
9057
9201
|
"locationInModule": {
|
|
9058
9202
|
"filename": "lib/vpc-v2.ts",
|
|
9059
|
-
"line":
|
|
9203
|
+
"line": 242
|
|
9060
9204
|
},
|
|
9061
9205
|
"name": "vpnGatewayId",
|
|
9062
9206
|
"optional": true,
|
|
@@ -9113,7 +9257,7 @@
|
|
|
9113
9257
|
"kind": "class",
|
|
9114
9258
|
"locationInModule": {
|
|
9115
9259
|
"filename": "lib/vpc-v2-base.ts",
|
|
9116
|
-
"line":
|
|
9260
|
+
"line": 196
|
|
9117
9261
|
},
|
|
9118
9262
|
"methods": [
|
|
9119
9263
|
{
|
|
@@ -9123,7 +9267,7 @@
|
|
|
9123
9267
|
},
|
|
9124
9268
|
"locationInModule": {
|
|
9125
9269
|
"filename": "lib/vpc-v2-base.ts",
|
|
9126
|
-
"line":
|
|
9270
|
+
"line": 390
|
|
9127
9271
|
},
|
|
9128
9272
|
"name": "addClientVpnEndpoint",
|
|
9129
9273
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9155,7 +9299,7 @@
|
|
|
9155
9299
|
},
|
|
9156
9300
|
"locationInModule": {
|
|
9157
9301
|
"filename": "lib/vpc-v2-base.ts",
|
|
9158
|
-
"line":
|
|
9302
|
+
"line": 423
|
|
9159
9303
|
},
|
|
9160
9304
|
"name": "addEgressOnlyInternetGateway",
|
|
9161
9305
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9176,7 +9320,7 @@
|
|
|
9176
9320
|
},
|
|
9177
9321
|
"locationInModule": {
|
|
9178
9322
|
"filename": "lib/vpc-v2-base.ts",
|
|
9179
|
-
"line":
|
|
9323
|
+
"line": 531
|
|
9180
9324
|
},
|
|
9181
9325
|
"name": "addFlowLog",
|
|
9182
9326
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9208,7 +9352,7 @@
|
|
|
9208
9352
|
},
|
|
9209
9353
|
"locationInModule": {
|
|
9210
9354
|
"filename": "lib/vpc-v2-base.ts",
|
|
9211
|
-
"line":
|
|
9355
|
+
"line": 410
|
|
9212
9356
|
},
|
|
9213
9357
|
"name": "addGatewayEndpoint",
|
|
9214
9358
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9239,7 +9383,7 @@
|
|
|
9239
9383
|
},
|
|
9240
9384
|
"locationInModule": {
|
|
9241
9385
|
"filename": "lib/vpc-v2-base.ts",
|
|
9242
|
-
"line":
|
|
9386
|
+
"line": 400
|
|
9243
9387
|
},
|
|
9244
9388
|
"name": "addInterfaceEndpoint",
|
|
9245
9389
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9271,7 +9415,7 @@
|
|
|
9271
9415
|
},
|
|
9272
9416
|
"locationInModule": {
|
|
9273
9417
|
"filename": "lib/vpc-v2-base.ts",
|
|
9274
|
-
"line":
|
|
9418
|
+
"line": 467
|
|
9275
9419
|
},
|
|
9276
9420
|
"name": "addInternetGateway",
|
|
9277
9421
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9292,7 +9436,7 @@
|
|
|
9292
9436
|
},
|
|
9293
9437
|
"locationInModule": {
|
|
9294
9438
|
"filename": "lib/vpc-v2-base.ts",
|
|
9295
|
-
"line":
|
|
9439
|
+
"line": 518
|
|
9296
9440
|
},
|
|
9297
9441
|
"name": "addNatGateway",
|
|
9298
9442
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9317,7 +9461,7 @@
|
|
|
9317
9461
|
},
|
|
9318
9462
|
"locationInModule": {
|
|
9319
9463
|
"filename": "lib/vpc-v2-base.ts",
|
|
9320
|
-
"line":
|
|
9464
|
+
"line": 380
|
|
9321
9465
|
},
|
|
9322
9466
|
"name": "addVpnConnection",
|
|
9323
9467
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9348,7 +9492,7 @@
|
|
|
9348
9492
|
},
|
|
9349
9493
|
"locationInModule": {
|
|
9350
9494
|
"filename": "lib/vpc-v2-base.ts",
|
|
9351
|
-
"line":
|
|
9495
|
+
"line": 541
|
|
9352
9496
|
},
|
|
9353
9497
|
"name": "createAcceptorVpcRole",
|
|
9354
9498
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9373,7 +9517,7 @@
|
|
|
9373
9517
|
},
|
|
9374
9518
|
"locationInModule": {
|
|
9375
9519
|
"filename": "lib/vpc-v2-base.ts",
|
|
9376
|
-
"line":
|
|
9520
|
+
"line": 571
|
|
9377
9521
|
},
|
|
9378
9522
|
"name": "createPeeringConnection",
|
|
9379
9523
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9405,7 +9549,7 @@
|
|
|
9405
9549
|
},
|
|
9406
9550
|
"locationInModule": {
|
|
9407
9551
|
"filename": "lib/vpc-v2-base.ts",
|
|
9408
|
-
"line":
|
|
9552
|
+
"line": 322
|
|
9409
9553
|
},
|
|
9410
9554
|
"name": "enableVpnGateway",
|
|
9411
9555
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9425,7 +9569,7 @@
|
|
|
9425
9569
|
},
|
|
9426
9570
|
"locationInModule": {
|
|
9427
9571
|
"filename": "lib/vpc-v2-base.ts",
|
|
9428
|
-
"line":
|
|
9572
|
+
"line": 360
|
|
9429
9573
|
},
|
|
9430
9574
|
"name": "enableVpnGatewayV2",
|
|
9431
9575
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9450,7 +9594,7 @@
|
|
|
9450
9594
|
},
|
|
9451
9595
|
"locationInModule": {
|
|
9452
9596
|
"filename": "lib/vpc-v2-base.ts",
|
|
9453
|
-
"line":
|
|
9597
|
+
"line": 595
|
|
9454
9598
|
},
|
|
9455
9599
|
"name": "selectSubnetObjects",
|
|
9456
9600
|
"parameters": [
|
|
@@ -9482,7 +9626,7 @@
|
|
|
9482
9626
|
},
|
|
9483
9627
|
"locationInModule": {
|
|
9484
9628
|
"filename": "lib/vpc-v2-base.ts",
|
|
9485
|
-
"line":
|
|
9629
|
+
"line": 304
|
|
9486
9630
|
},
|
|
9487
9631
|
"name": "selectSubnets",
|
|
9488
9632
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9512,7 +9656,7 @@
|
|
|
9512
9656
|
"immutable": true,
|
|
9513
9657
|
"locationInModule": {
|
|
9514
9658
|
"filename": "lib/vpc-v2-base.ts",
|
|
9515
|
-
"line":
|
|
9659
|
+
"line": 231
|
|
9516
9660
|
},
|
|
9517
9661
|
"name": "availabilityZones",
|
|
9518
9662
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9534,7 +9678,7 @@
|
|
|
9534
9678
|
"immutable": true,
|
|
9535
9679
|
"locationInModule": {
|
|
9536
9680
|
"filename": "lib/vpc-v2-base.ts",
|
|
9537
|
-
"line":
|
|
9681
|
+
"line": 236
|
|
9538
9682
|
},
|
|
9539
9683
|
"name": "internetConnectivityEstablished",
|
|
9540
9684
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9552,7 +9696,7 @@
|
|
|
9552
9696
|
"immutable": true,
|
|
9553
9697
|
"locationInModule": {
|
|
9554
9698
|
"filename": "lib/vpc-v2-base.ts",
|
|
9555
|
-
"line":
|
|
9699
|
+
"line": 257
|
|
9556
9700
|
},
|
|
9557
9701
|
"name": "ipv4CidrBlock",
|
|
9558
9702
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9569,7 +9713,7 @@
|
|
|
9569
9713
|
"immutable": true,
|
|
9570
9714
|
"locationInModule": {
|
|
9571
9715
|
"filename": "lib/vpc-v2-base.ts",
|
|
9572
|
-
"line":
|
|
9716
|
+
"line": 226
|
|
9573
9717
|
},
|
|
9574
9718
|
"name": "isolatedSubnets",
|
|
9575
9719
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9591,7 +9735,7 @@
|
|
|
9591
9735
|
"immutable": true,
|
|
9592
9736
|
"locationInModule": {
|
|
9593
9737
|
"filename": "lib/vpc-v2-base.ts",
|
|
9594
|
-
"line":
|
|
9738
|
+
"line": 272
|
|
9595
9739
|
},
|
|
9596
9740
|
"name": "ownerAccountId",
|
|
9597
9741
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9607,7 +9751,7 @@
|
|
|
9607
9751
|
"immutable": true,
|
|
9608
9752
|
"locationInModule": {
|
|
9609
9753
|
"filename": "lib/vpc-v2-base.ts",
|
|
9610
|
-
"line":
|
|
9754
|
+
"line": 221
|
|
9611
9755
|
},
|
|
9612
9756
|
"name": "privateSubnets",
|
|
9613
9757
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9628,7 +9772,7 @@
|
|
|
9628
9772
|
"immutable": true,
|
|
9629
9773
|
"locationInModule": {
|
|
9630
9774
|
"filename": "lib/vpc-v2-base.ts",
|
|
9631
|
-
"line":
|
|
9775
|
+
"line": 216
|
|
9632
9776
|
},
|
|
9633
9777
|
"name": "publicSubnets",
|
|
9634
9778
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9650,7 +9794,7 @@
|
|
|
9650
9794
|
"immutable": true,
|
|
9651
9795
|
"locationInModule": {
|
|
9652
9796
|
"filename": "lib/vpc-v2-base.ts",
|
|
9653
|
-
"line":
|
|
9797
|
+
"line": 267
|
|
9654
9798
|
},
|
|
9655
9799
|
"name": "region",
|
|
9656
9800
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -9667,7 +9811,7 @@
|
|
|
9667
9811
|
"immutable": true,
|
|
9668
9812
|
"locationInModule": {
|
|
9669
9813
|
"filename": "lib/vpc-v2-base.ts",
|
|
9670
|
-
"line":
|
|
9814
|
+
"line": 206
|
|
9671
9815
|
},
|
|
9672
9816
|
"name": "vpcArn",
|
|
9673
9817
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9684,7 +9828,7 @@
|
|
|
9684
9828
|
"immutable": true,
|
|
9685
9829
|
"locationInModule": {
|
|
9686
9830
|
"filename": "lib/vpc-v2-base.ts",
|
|
9687
|
-
"line":
|
|
9831
|
+
"line": 211
|
|
9688
9832
|
},
|
|
9689
9833
|
"name": "vpcCidrBlock",
|
|
9690
9834
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9701,7 +9845,7 @@
|
|
|
9701
9845
|
"immutable": true,
|
|
9702
9846
|
"locationInModule": {
|
|
9703
9847
|
"filename": "lib/vpc-v2-base.ts",
|
|
9704
|
-
"line":
|
|
9848
|
+
"line": 201
|
|
9705
9849
|
},
|
|
9706
9850
|
"name": "vpcId",
|
|
9707
9851
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -9717,7 +9861,7 @@
|
|
|
9717
9861
|
"immutable": true,
|
|
9718
9862
|
"locationInModule": {
|
|
9719
9863
|
"filename": "lib/vpc-v2-base.ts",
|
|
9720
|
-
"line":
|
|
9864
|
+
"line": 588
|
|
9721
9865
|
},
|
|
9722
9866
|
"name": "internetGatewayId",
|
|
9723
9867
|
"optional": true,
|
|
@@ -9734,7 +9878,7 @@
|
|
|
9734
9878
|
"immutable": true,
|
|
9735
9879
|
"locationInModule": {
|
|
9736
9880
|
"filename": "lib/vpc-v2-base.ts",
|
|
9737
|
-
"line":
|
|
9881
|
+
"line": 279
|
|
9738
9882
|
},
|
|
9739
9883
|
"name": "ipv4IpamProvisionedCidrs",
|
|
9740
9884
|
"optional": true,
|
|
@@ -9757,7 +9901,7 @@
|
|
|
9757
9901
|
"immutable": true,
|
|
9758
9902
|
"locationInModule": {
|
|
9759
9903
|
"filename": "lib/vpc-v2-base.ts",
|
|
9760
|
-
"line":
|
|
9904
|
+
"line": 249
|
|
9761
9905
|
},
|
|
9762
9906
|
"name": "secondaryCidrBlock",
|
|
9763
9907
|
"optional": true,
|
|
@@ -9771,6 +9915,24 @@
|
|
|
9771
9915
|
}
|
|
9772
9916
|
}
|
|
9773
9917
|
},
|
|
9918
|
+
{
|
|
9919
|
+
"abstract": true,
|
|
9920
|
+
"docs": {
|
|
9921
|
+
"stability": "experimental",
|
|
9922
|
+
"summary": "VpcName to be used for tagging its components."
|
|
9923
|
+
},
|
|
9924
|
+
"immutable": true,
|
|
9925
|
+
"locationInModule": {
|
|
9926
|
+
"filename": "lib/vpc-v2-base.ts",
|
|
9927
|
+
"line": 262
|
|
9928
|
+
},
|
|
9929
|
+
"name": "vpcName",
|
|
9930
|
+
"optional": true,
|
|
9931
|
+
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
9932
|
+
"type": {
|
|
9933
|
+
"primitive": "string"
|
|
9934
|
+
}
|
|
9935
|
+
},
|
|
9774
9936
|
{
|
|
9775
9937
|
"docs": {
|
|
9776
9938
|
"stability": "experimental",
|
|
@@ -9779,7 +9941,7 @@
|
|
|
9779
9941
|
"immutable": true,
|
|
9780
9942
|
"locationInModule": {
|
|
9781
9943
|
"filename": "lib/vpc-v2-base.ts",
|
|
9782
|
-
"line":
|
|
9944
|
+
"line": 581
|
|
9783
9945
|
},
|
|
9784
9946
|
"name": "vpnGatewayId",
|
|
9785
9947
|
"optional": true,
|
|
@@ -9795,7 +9957,7 @@
|
|
|
9795
9957
|
},
|
|
9796
9958
|
"locationInModule": {
|
|
9797
9959
|
"filename": "lib/vpc-v2-base.ts",
|
|
9798
|
-
"line":
|
|
9960
|
+
"line": 284
|
|
9799
9961
|
},
|
|
9800
9962
|
"name": "incompleteSubnetDefinition",
|
|
9801
9963
|
"protected": true,
|
|
@@ -9821,7 +9983,7 @@
|
|
|
9821
9983
|
"kind": "interface",
|
|
9822
9984
|
"locationInModule": {
|
|
9823
9985
|
"filename": "lib/vpc-v2.ts",
|
|
9824
|
-
"line":
|
|
9986
|
+
"line": 148
|
|
9825
9987
|
},
|
|
9826
9988
|
"name": "VpcV2Props",
|
|
9827
9989
|
"properties": [
|
|
@@ -9836,7 +9998,7 @@
|
|
|
9836
9998
|
"immutable": true,
|
|
9837
9999
|
"locationInModule": {
|
|
9838
10000
|
"filename": "lib/vpc-v2.ts",
|
|
9839
|
-
"line":
|
|
10001
|
+
"line": 190
|
|
9840
10002
|
},
|
|
9841
10003
|
"name": "defaultInstanceTenancy",
|
|
9842
10004
|
"optional": true,
|
|
@@ -9854,7 +10016,7 @@
|
|
|
9854
10016
|
"immutable": true,
|
|
9855
10017
|
"locationInModule": {
|
|
9856
10018
|
"filename": "lib/vpc-v2.ts",
|
|
9857
|
-
"line":
|
|
10019
|
+
"line": 171
|
|
9858
10020
|
},
|
|
9859
10021
|
"name": "enableDnsHostnames",
|
|
9860
10022
|
"optional": true,
|
|
@@ -9872,7 +10034,7 @@
|
|
|
9872
10034
|
"immutable": true,
|
|
9873
10035
|
"locationInModule": {
|
|
9874
10036
|
"filename": "lib/vpc-v2.ts",
|
|
9875
|
-
"line":
|
|
10037
|
+
"line": 178
|
|
9876
10038
|
},
|
|
9877
10039
|
"name": "enableDnsSupport",
|
|
9878
10040
|
"optional": true,
|
|
@@ -9891,7 +10053,7 @@
|
|
|
9891
10053
|
"immutable": true,
|
|
9892
10054
|
"locationInModule": {
|
|
9893
10055
|
"filename": "lib/vpc-v2.ts",
|
|
9894
|
-
"line":
|
|
10056
|
+
"line": 155
|
|
9895
10057
|
},
|
|
9896
10058
|
"name": "primaryAddressBlock",
|
|
9897
10059
|
"optional": true,
|
|
@@ -9911,7 +10073,7 @@
|
|
|
9911
10073
|
"immutable": true,
|
|
9912
10074
|
"locationInModule": {
|
|
9913
10075
|
"filename": "lib/vpc-v2.ts",
|
|
9914
|
-
"line":
|
|
10076
|
+
"line": 164
|
|
9915
10077
|
},
|
|
9916
10078
|
"name": "secondaryAddressBlocks",
|
|
9917
10079
|
"optional": true,
|
|
@@ -9934,7 +10096,7 @@
|
|
|
9934
10096
|
"immutable": true,
|
|
9935
10097
|
"locationInModule": {
|
|
9936
10098
|
"filename": "lib/vpc-v2.ts",
|
|
9937
|
-
"line":
|
|
10099
|
+
"line": 197
|
|
9938
10100
|
},
|
|
9939
10101
|
"name": "vpcName",
|
|
9940
10102
|
"optional": true,
|
|
@@ -9946,6 +10108,6 @@
|
|
|
9946
10108
|
"symbolId": "lib/vpc-v2:VpcV2Props"
|
|
9947
10109
|
}
|
|
9948
10110
|
},
|
|
9949
|
-
"version": "2.
|
|
10111
|
+
"version": "2.175.0-alpha.0",
|
|
9950
10112
|
"fingerprint": "**********"
|
|
9951
10113
|
}
|