@aws-cdk/aws-ec2-alpha 2.164.1-alpha.0 → 2.166.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 +1106 -262
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +25 -1
- package/README.md +132 -4
- package/awslint.json +0 -2
- package/lib/ipam.d.ts +5 -0
- package/lib/ipam.js +9 -2
- package/lib/route.js +7 -7
- package/lib/subnet-v2.d.ts +47 -0
- package/lib/subnet-v2.js +101 -15
- package/lib/util.js +6 -6
- package/lib/vpc-v2-base.d.ts +36 -3
- package/lib/vpc-v2-base.js +7 -4
- package/lib/vpc-v2.d.ts +165 -10
- package/lib/vpc-v2.js +121 -8
- package/package.json +8 -8
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.166.0",
|
|
12
12
|
"constructs": "^10.0.0"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -3861,7 +3861,7 @@
|
|
|
3861
3861
|
"stability": "experimental"
|
|
3862
3862
|
},
|
|
3863
3863
|
"homepage": "https://github.com/aws/aws-cdk",
|
|
3864
|
-
"jsiiVersion": "5.
|
|
3864
|
+
"jsiiVersion": "5.5.8 (build 06b640f)",
|
|
3865
3865
|
"keywords": [
|
|
3866
3866
|
"aws",
|
|
3867
3867
|
"cdk",
|
|
@@ -3883,7 +3883,7 @@
|
|
|
3883
3883
|
},
|
|
3884
3884
|
"name": "@aws-cdk/aws-ec2-alpha",
|
|
3885
3885
|
"readme": {
|
|
3886
|
-
"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\nImporting existing VPC in an account into CDK as a `VpcV2` is not yet supported.\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\nSame as `VpcV2`, importing existing subnets is not yet supported.\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## 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"
|
|
3886
|
+
"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## 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"
|
|
3887
3887
|
},
|
|
3888
3888
|
"repository": {
|
|
3889
3889
|
"directory": "packages/@aws-cdk/aws-ec2-alpha",
|
|
@@ -4101,7 +4101,7 @@
|
|
|
4101
4101
|
"kind": "interface",
|
|
4102
4102
|
"locationInModule": {
|
|
4103
4103
|
"filename": "lib/vpc-v2-base.ts",
|
|
4104
|
-
"line":
|
|
4104
|
+
"line": 12
|
|
4105
4105
|
},
|
|
4106
4106
|
"name": "EgressOnlyInternetGatewayOptions",
|
|
4107
4107
|
"properties": [
|
|
@@ -4115,7 +4115,7 @@
|
|
|
4115
4115
|
"immutable": true,
|
|
4116
4116
|
"locationInModule": {
|
|
4117
4117
|
"filename": "lib/vpc-v2-base.ts",
|
|
4118
|
-
"line":
|
|
4118
|
+
"line": 25
|
|
4119
4119
|
},
|
|
4120
4120
|
"name": "destination",
|
|
4121
4121
|
"optional": true,
|
|
@@ -4133,7 +4133,7 @@
|
|
|
4133
4133
|
"immutable": true,
|
|
4134
4134
|
"locationInModule": {
|
|
4135
4135
|
"filename": "lib/vpc-v2-base.ts",
|
|
4136
|
-
"line":
|
|
4136
|
+
"line": 18
|
|
4137
4137
|
},
|
|
4138
4138
|
"name": "subnets",
|
|
4139
4139
|
"optional": true,
|
|
@@ -4215,7 +4215,7 @@
|
|
|
4215
4215
|
"kind": "interface",
|
|
4216
4216
|
"locationInModule": {
|
|
4217
4217
|
"filename": "lib/vpc-v2.ts",
|
|
4218
|
-
"line":
|
|
4218
|
+
"line": 129
|
|
4219
4219
|
},
|
|
4220
4220
|
"methods": [
|
|
4221
4221
|
{
|
|
@@ -4226,7 +4226,7 @@
|
|
|
4226
4226
|
},
|
|
4227
4227
|
"locationInModule": {
|
|
4228
4228
|
"filename": "lib/vpc-v2.ts",
|
|
4229
|
-
"line":
|
|
4229
|
+
"line": 135
|
|
4230
4230
|
},
|
|
4231
4231
|
"name": "allocateVpcCidr",
|
|
4232
4232
|
"returns": {
|
|
@@ -4260,7 +4260,7 @@
|
|
|
4260
4260
|
},
|
|
4261
4261
|
"locationInModule": {
|
|
4262
4262
|
"filename": "lib/ipam.ts",
|
|
4263
|
-
"line":
|
|
4263
|
+
"line": 204
|
|
4264
4264
|
},
|
|
4265
4265
|
"name": "provisionCidr",
|
|
4266
4266
|
"parameters": [
|
|
@@ -4325,6 +4325,28 @@
|
|
|
4325
4325
|
"type": {
|
|
4326
4326
|
"primitive": "string"
|
|
4327
4327
|
}
|
|
4328
|
+
},
|
|
4329
|
+
{
|
|
4330
|
+
"abstract": true,
|
|
4331
|
+
"docs": {
|
|
4332
|
+
"stability": "experimental",
|
|
4333
|
+
"summary": "Pool CIDR for IPv4 to be provisioned using IPAM Required to check for subnet IP range is within the VPC range."
|
|
4334
|
+
},
|
|
4335
|
+
"immutable": true,
|
|
4336
|
+
"locationInModule": {
|
|
4337
|
+
"filename": "lib/ipam.ts",
|
|
4338
|
+
"line": 199
|
|
4339
|
+
},
|
|
4340
|
+
"name": "ipamIpv4Cidrs",
|
|
4341
|
+
"optional": true,
|
|
4342
|
+
"type": {
|
|
4343
|
+
"collection": {
|
|
4344
|
+
"elementtype": {
|
|
4345
|
+
"primitive": "string"
|
|
4346
|
+
},
|
|
4347
|
+
"kind": "array"
|
|
4348
|
+
}
|
|
4349
|
+
}
|
|
4328
4350
|
}
|
|
4329
4351
|
],
|
|
4330
4352
|
"symbolId": "lib/ipam:IIpamPool"
|
|
@@ -4339,7 +4361,7 @@
|
|
|
4339
4361
|
"kind": "interface",
|
|
4340
4362
|
"locationInModule": {
|
|
4341
4363
|
"filename": "lib/ipam.ts",
|
|
4342
|
-
"line":
|
|
4364
|
+
"line": 279
|
|
4343
4365
|
},
|
|
4344
4366
|
"methods": [
|
|
4345
4367
|
{
|
|
@@ -4350,7 +4372,7 @@
|
|
|
4350
4372
|
},
|
|
4351
4373
|
"locationInModule": {
|
|
4352
4374
|
"filename": "lib/ipam.ts",
|
|
4353
|
-
"line":
|
|
4375
|
+
"line": 300
|
|
4354
4376
|
},
|
|
4355
4377
|
"name": "addPool",
|
|
4356
4378
|
"parameters": [
|
|
@@ -4385,7 +4407,7 @@
|
|
|
4385
4407
|
"immutable": true,
|
|
4386
4408
|
"locationInModule": {
|
|
4387
4409
|
"filename": "lib/ipam.ts",
|
|
4388
|
-
"line":
|
|
4410
|
+
"line": 285
|
|
4389
4411
|
},
|
|
4390
4412
|
"name": "scope",
|
|
4391
4413
|
"type": {
|
|
@@ -4401,7 +4423,7 @@
|
|
|
4401
4423
|
"immutable": true,
|
|
4402
4424
|
"locationInModule": {
|
|
4403
4425
|
"filename": "lib/ipam.ts",
|
|
4404
|
-
"line":
|
|
4426
|
+
"line": 290
|
|
4405
4427
|
},
|
|
4406
4428
|
"name": "scopeId",
|
|
4407
4429
|
"type": {
|
|
@@ -4417,7 +4439,7 @@
|
|
|
4417
4439
|
"immutable": true,
|
|
4418
4440
|
"locationInModule": {
|
|
4419
4441
|
"filename": "lib/ipam.ts",
|
|
4420
|
-
"line":
|
|
4442
|
+
"line": 295
|
|
4421
4443
|
},
|
|
4422
4444
|
"name": "scopeType",
|
|
4423
4445
|
"optional": true,
|
|
@@ -4609,6 +4631,92 @@
|
|
|
4609
4631
|
],
|
|
4610
4632
|
"symbolId": "lib/subnet-v2:ISubnetV2"
|
|
4611
4633
|
},
|
|
4634
|
+
"@aws-cdk/aws-ec2-alpha.IVPCCidrBlock": {
|
|
4635
|
+
"assembly": "@aws-cdk/aws-ec2-alpha",
|
|
4636
|
+
"docs": {
|
|
4637
|
+
"stability": "experimental",
|
|
4638
|
+
"summary": "Interface to create L2 for VPC Cidr Block."
|
|
4639
|
+
},
|
|
4640
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.IVPCCidrBlock",
|
|
4641
|
+
"kind": "interface",
|
|
4642
|
+
"locationInModule": {
|
|
4643
|
+
"filename": "lib/vpc-v2.ts",
|
|
4644
|
+
"line": 626
|
|
4645
|
+
},
|
|
4646
|
+
"name": "IVPCCidrBlock",
|
|
4647
|
+
"properties": [
|
|
4648
|
+
{
|
|
4649
|
+
"abstract": true,
|
|
4650
|
+
"docs": {
|
|
4651
|
+
"stability": "experimental",
|
|
4652
|
+
"summary": "Amazon Provided Ipv6."
|
|
4653
|
+
},
|
|
4654
|
+
"immutable": true,
|
|
4655
|
+
"locationInModule": {
|
|
4656
|
+
"filename": "lib/vpc-v2.ts",
|
|
4657
|
+
"line": 630
|
|
4658
|
+
},
|
|
4659
|
+
"name": "amazonProvidedIpv6CidrBlock",
|
|
4660
|
+
"optional": true,
|
|
4661
|
+
"type": {
|
|
4662
|
+
"primitive": "boolean"
|
|
4663
|
+
}
|
|
4664
|
+
},
|
|
4665
|
+
{
|
|
4666
|
+
"abstract": true,
|
|
4667
|
+
"docs": {
|
|
4668
|
+
"default": "- no CIDR block provided",
|
|
4669
|
+
"stability": "experimental",
|
|
4670
|
+
"summary": "The secondary IPv4 CIDR Block."
|
|
4671
|
+
},
|
|
4672
|
+
"immutable": true,
|
|
4673
|
+
"locationInModule": {
|
|
4674
|
+
"filename": "lib/vpc-v2.ts",
|
|
4675
|
+
"line": 637
|
|
4676
|
+
},
|
|
4677
|
+
"name": "cidrBlock",
|
|
4678
|
+
"optional": true,
|
|
4679
|
+
"type": {
|
|
4680
|
+
"primitive": "string"
|
|
4681
|
+
}
|
|
4682
|
+
},
|
|
4683
|
+
{
|
|
4684
|
+
"abstract": true,
|
|
4685
|
+
"docs": {
|
|
4686
|
+
"stability": "experimental",
|
|
4687
|
+
"summary": "IPAM pool for IPv4 address type."
|
|
4688
|
+
},
|
|
4689
|
+
"immutable": true,
|
|
4690
|
+
"locationInModule": {
|
|
4691
|
+
"filename": "lib/vpc-v2.ts",
|
|
4692
|
+
"line": 647
|
|
4693
|
+
},
|
|
4694
|
+
"name": "ipv4IpamPoolId",
|
|
4695
|
+
"optional": true,
|
|
4696
|
+
"type": {
|
|
4697
|
+
"primitive": "string"
|
|
4698
|
+
}
|
|
4699
|
+
},
|
|
4700
|
+
{
|
|
4701
|
+
"abstract": true,
|
|
4702
|
+
"docs": {
|
|
4703
|
+
"stability": "experimental",
|
|
4704
|
+
"summary": "IPAM pool for IPv6 address type."
|
|
4705
|
+
},
|
|
4706
|
+
"immutable": true,
|
|
4707
|
+
"locationInModule": {
|
|
4708
|
+
"filename": "lib/vpc-v2.ts",
|
|
4709
|
+
"line": 642
|
|
4710
|
+
},
|
|
4711
|
+
"name": "ipv6IpamPoolId",
|
|
4712
|
+
"optional": true,
|
|
4713
|
+
"type": {
|
|
4714
|
+
"primitive": "string"
|
|
4715
|
+
}
|
|
4716
|
+
}
|
|
4717
|
+
],
|
|
4718
|
+
"symbolId": "lib/vpc-v2:IVPCCidrBlock"
|
|
4719
|
+
},
|
|
4612
4720
|
"@aws-cdk/aws-ec2-alpha.IVpcV2": {
|
|
4613
4721
|
"assembly": "@aws-cdk/aws-ec2-alpha",
|
|
4614
4722
|
"docs": {
|
|
@@ -4622,7 +4730,7 @@
|
|
|
4622
4730
|
"kind": "interface",
|
|
4623
4731
|
"locationInModule": {
|
|
4624
4732
|
"filename": "lib/vpc-v2-base.ts",
|
|
4625
|
-
"line":
|
|
4733
|
+
"line": 84
|
|
4626
4734
|
},
|
|
4627
4735
|
"methods": [
|
|
4628
4736
|
{
|
|
@@ -4634,7 +4742,7 @@
|
|
|
4634
4742
|
},
|
|
4635
4743
|
"locationInModule": {
|
|
4636
4744
|
"filename": "lib/vpc-v2-base.ts",
|
|
4637
|
-
"line":
|
|
4745
|
+
"line": 126
|
|
4638
4746
|
},
|
|
4639
4747
|
"name": "addEgressOnlyInternetGateway",
|
|
4640
4748
|
"parameters": [
|
|
@@ -4657,7 +4765,7 @@
|
|
|
4657
4765
|
},
|
|
4658
4766
|
"locationInModule": {
|
|
4659
4767
|
"filename": "lib/vpc-v2-base.ts",
|
|
4660
|
-
"line":
|
|
4768
|
+
"line": 134
|
|
4661
4769
|
},
|
|
4662
4770
|
"name": "addInternetGateway",
|
|
4663
4771
|
"parameters": [
|
|
@@ -4680,7 +4788,7 @@
|
|
|
4680
4788
|
},
|
|
4681
4789
|
"locationInModule": {
|
|
4682
4790
|
"filename": "lib/vpc-v2-base.ts",
|
|
4683
|
-
"line":
|
|
4791
|
+
"line": 151
|
|
4684
4792
|
},
|
|
4685
4793
|
"name": "addNatGateway",
|
|
4686
4794
|
"parameters": [
|
|
@@ -4707,7 +4815,7 @@
|
|
|
4707
4815
|
},
|
|
4708
4816
|
"locationInModule": {
|
|
4709
4817
|
"filename": "lib/vpc-v2-base.ts",
|
|
4710
|
-
"line":
|
|
4818
|
+
"line": 142
|
|
4711
4819
|
},
|
|
4712
4820
|
"name": "enableVpnGatewayV2",
|
|
4713
4821
|
"parameters": [
|
|
@@ -4737,13 +4845,69 @@
|
|
|
4737
4845
|
"immutable": true,
|
|
4738
4846
|
"locationInModule": {
|
|
4739
4847
|
"filename": "lib/vpc-v2-base.ts",
|
|
4740
|
-
"line":
|
|
4848
|
+
"line": 98
|
|
4741
4849
|
},
|
|
4742
4850
|
"name": "ipv4CidrBlock",
|
|
4743
4851
|
"type": {
|
|
4744
4852
|
"primitive": "string"
|
|
4745
4853
|
}
|
|
4746
4854
|
},
|
|
4855
|
+
{
|
|
4856
|
+
"abstract": true,
|
|
4857
|
+
"docs": {
|
|
4858
|
+
"default": "- the account id of the parent stack",
|
|
4859
|
+
"stability": "experimental",
|
|
4860
|
+
"summary": "The ID of the AWS account that owns the VPC."
|
|
4861
|
+
},
|
|
4862
|
+
"immutable": true,
|
|
4863
|
+
"locationInModule": {
|
|
4864
|
+
"filename": "lib/vpc-v2-base.ts",
|
|
4865
|
+
"line": 112
|
|
4866
|
+
},
|
|
4867
|
+
"name": "ownerAccountId",
|
|
4868
|
+
"type": {
|
|
4869
|
+
"primitive": "string"
|
|
4870
|
+
}
|
|
4871
|
+
},
|
|
4872
|
+
{
|
|
4873
|
+
"abstract": true,
|
|
4874
|
+
"docs": {
|
|
4875
|
+
"default": "- current stack's environment region",
|
|
4876
|
+
"stability": "experimental",
|
|
4877
|
+
"summary": "Optional to override inferred region."
|
|
4878
|
+
},
|
|
4879
|
+
"immutable": true,
|
|
4880
|
+
"locationInModule": {
|
|
4881
|
+
"filename": "lib/vpc-v2-base.ts",
|
|
4882
|
+
"line": 105
|
|
4883
|
+
},
|
|
4884
|
+
"name": "region",
|
|
4885
|
+
"type": {
|
|
4886
|
+
"primitive": "string"
|
|
4887
|
+
}
|
|
4888
|
+
},
|
|
4889
|
+
{
|
|
4890
|
+
"abstract": true,
|
|
4891
|
+
"docs": {
|
|
4892
|
+
"stability": "experimental",
|
|
4893
|
+
"summary": "IPv4 CIDR provisioned under pool Required to check for overlapping CIDRs after provisioning is complete under IPAM pool."
|
|
4894
|
+
},
|
|
4895
|
+
"immutable": true,
|
|
4896
|
+
"locationInModule": {
|
|
4897
|
+
"filename": "lib/vpc-v2-base.ts",
|
|
4898
|
+
"line": 119
|
|
4899
|
+
},
|
|
4900
|
+
"name": "ipv4IpamProvisionedCidrs",
|
|
4901
|
+
"optional": true,
|
|
4902
|
+
"type": {
|
|
4903
|
+
"collection": {
|
|
4904
|
+
"elementtype": {
|
|
4905
|
+
"primitive": "string"
|
|
4906
|
+
},
|
|
4907
|
+
"kind": "array"
|
|
4908
|
+
}
|
|
4909
|
+
}
|
|
4910
|
+
},
|
|
4747
4911
|
{
|
|
4748
4912
|
"abstract": true,
|
|
4749
4913
|
"docs": {
|
|
@@ -4754,13 +4918,14 @@
|
|
|
4754
4918
|
"immutable": true,
|
|
4755
4919
|
"locationInModule": {
|
|
4756
4920
|
"filename": "lib/vpc-v2-base.ts",
|
|
4757
|
-
"line":
|
|
4921
|
+
"line": 90
|
|
4758
4922
|
},
|
|
4759
4923
|
"name": "secondaryCidrBlock",
|
|
4924
|
+
"optional": true,
|
|
4760
4925
|
"type": {
|
|
4761
4926
|
"collection": {
|
|
4762
4927
|
"elementtype": {
|
|
4763
|
-
"fqn": "aws-cdk-
|
|
4928
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.IVPCCidrBlock"
|
|
4764
4929
|
},
|
|
4765
4930
|
"kind": "array"
|
|
4766
4931
|
}
|
|
@@ -4901,7 +5066,7 @@
|
|
|
4901
5066
|
"kind": "interface",
|
|
4902
5067
|
"locationInModule": {
|
|
4903
5068
|
"filename": "lib/vpc-v2-base.ts",
|
|
4904
|
-
"line":
|
|
5069
|
+
"line": 31
|
|
4905
5070
|
},
|
|
4906
5071
|
"name": "InternetGatewayOptions",
|
|
4907
5072
|
"properties": [
|
|
@@ -4915,7 +5080,7 @@
|
|
|
4915
5080
|
"immutable": true,
|
|
4916
5081
|
"locationInModule": {
|
|
4917
5082
|
"filename": "lib/vpc-v2-base.ts",
|
|
4918
|
-
"line":
|
|
5083
|
+
"line": 38
|
|
4919
5084
|
},
|
|
4920
5085
|
"name": "ipv4Destination",
|
|
4921
5086
|
"optional": true,
|
|
@@ -4933,7 +5098,7 @@
|
|
|
4933
5098
|
"immutable": true,
|
|
4934
5099
|
"locationInModule": {
|
|
4935
5100
|
"filename": "lib/vpc-v2-base.ts",
|
|
4936
|
-
"line":
|
|
5101
|
+
"line": 45
|
|
4937
5102
|
},
|
|
4938
5103
|
"name": "ipv6Destination",
|
|
4939
5104
|
"optional": true,
|
|
@@ -5019,7 +5184,7 @@
|
|
|
5019
5184
|
"kind": "class",
|
|
5020
5185
|
"locationInModule": {
|
|
5021
5186
|
"filename": "lib/vpc-v2.ts",
|
|
5022
|
-
"line":
|
|
5187
|
+
"line": 23
|
|
5023
5188
|
},
|
|
5024
5189
|
"methods": [
|
|
5025
5190
|
{
|
|
@@ -5029,7 +5194,7 @@
|
|
|
5029
5194
|
},
|
|
5030
5195
|
"locationInModule": {
|
|
5031
5196
|
"filename": "lib/vpc-v2.ts",
|
|
5032
|
-
"line":
|
|
5197
|
+
"line": 49
|
|
5033
5198
|
},
|
|
5034
5199
|
"name": "amazonProvidedIpv6",
|
|
5035
5200
|
"parameters": [
|
|
@@ -5054,7 +5219,7 @@
|
|
|
5054
5219
|
},
|
|
5055
5220
|
"locationInModule": {
|
|
5056
5221
|
"filename": "lib/vpc-v2.ts",
|
|
5057
|
-
"line":
|
|
5222
|
+
"line": 28
|
|
5058
5223
|
},
|
|
5059
5224
|
"name": "ipv4",
|
|
5060
5225
|
"parameters": [
|
|
@@ -5086,7 +5251,7 @@
|
|
|
5086
5251
|
},
|
|
5087
5252
|
"locationInModule": {
|
|
5088
5253
|
"filename": "lib/vpc-v2.ts",
|
|
5089
|
-
"line":
|
|
5254
|
+
"line": 35
|
|
5090
5255
|
},
|
|
5091
5256
|
"name": "ipv4Ipam",
|
|
5092
5257
|
"parameters": [
|
|
@@ -5111,7 +5276,7 @@
|
|
|
5111
5276
|
},
|
|
5112
5277
|
"locationInModule": {
|
|
5113
5278
|
"filename": "lib/vpc-v2.ts",
|
|
5114
|
-
"line":
|
|
5279
|
+
"line": 42
|
|
5115
5280
|
},
|
|
5116
5281
|
"name": "ipv6Ipam",
|
|
5117
5282
|
"parameters": [
|
|
@@ -5138,7 +5303,7 @@
|
|
|
5138
5303
|
"docs": {
|
|
5139
5304
|
"stability": "experimental",
|
|
5140
5305
|
"summary": "IPv4 or IPv6 CIDR range for the subnet.",
|
|
5141
|
-
"example": "\nconst
|
|
5306
|
+
"example": "\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});",
|
|
5142
5307
|
"custom": {
|
|
5143
5308
|
"exampleMetadata": "infused"
|
|
5144
5309
|
}
|
|
@@ -5206,7 +5371,7 @@
|
|
|
5206
5371
|
},
|
|
5207
5372
|
"locationInModule": {
|
|
5208
5373
|
"filename": "lib/ipam.ts",
|
|
5209
|
-
"line":
|
|
5374
|
+
"line": 497
|
|
5210
5375
|
},
|
|
5211
5376
|
"parameters": [
|
|
5212
5377
|
{
|
|
@@ -5233,7 +5398,7 @@
|
|
|
5233
5398
|
"kind": "class",
|
|
5234
5399
|
"locationInModule": {
|
|
5235
5400
|
"filename": "lib/ipam.ts",
|
|
5236
|
-
"line":
|
|
5401
|
+
"line": 464
|
|
5237
5402
|
},
|
|
5238
5403
|
"methods": [
|
|
5239
5404
|
{
|
|
@@ -5243,7 +5408,7 @@
|
|
|
5243
5408
|
},
|
|
5244
5409
|
"locationInModule": {
|
|
5245
5410
|
"filename": "lib/ipam.ts",
|
|
5246
|
-
"line":
|
|
5411
|
+
"line": 531
|
|
5247
5412
|
},
|
|
5248
5413
|
"name": "addScope",
|
|
5249
5414
|
"parameters": [
|
|
@@ -5286,7 +5451,7 @@
|
|
|
5286
5451
|
"immutable": true,
|
|
5287
5452
|
"locationInModule": {
|
|
5288
5453
|
"filename": "lib/ipam.ts",
|
|
5289
|
-
"line":
|
|
5454
|
+
"line": 485
|
|
5290
5455
|
},
|
|
5291
5456
|
"name": "ipamId",
|
|
5292
5457
|
"type": {
|
|
@@ -5301,7 +5466,7 @@
|
|
|
5301
5466
|
"immutable": true,
|
|
5302
5467
|
"locationInModule": {
|
|
5303
5468
|
"filename": "lib/ipam.ts",
|
|
5304
|
-
"line":
|
|
5469
|
+
"line": 490
|
|
5305
5470
|
},
|
|
5306
5471
|
"name": "operatingRegions",
|
|
5307
5472
|
"type": {
|
|
@@ -5323,7 +5488,7 @@
|
|
|
5323
5488
|
"immutable": true,
|
|
5324
5489
|
"locationInModule": {
|
|
5325
5490
|
"filename": "lib/ipam.ts",
|
|
5326
|
-
"line":
|
|
5491
|
+
"line": 477
|
|
5327
5492
|
},
|
|
5328
5493
|
"name": "privateScope",
|
|
5329
5494
|
"type": {
|
|
@@ -5340,7 +5505,7 @@
|
|
|
5340
5505
|
"immutable": true,
|
|
5341
5506
|
"locationInModule": {
|
|
5342
5507
|
"filename": "lib/ipam.ts",
|
|
5343
|
-
"line":
|
|
5508
|
+
"line": 470
|
|
5344
5509
|
},
|
|
5345
5510
|
"name": "publicScope",
|
|
5346
5511
|
"type": {
|
|
@@ -5355,7 +5520,7 @@
|
|
|
5355
5520
|
"immutable": true,
|
|
5356
5521
|
"locationInModule": {
|
|
5357
5522
|
"filename": "lib/ipam.ts",
|
|
5358
|
-
"line":
|
|
5523
|
+
"line": 495
|
|
5359
5524
|
},
|
|
5360
5525
|
"name": "scopes",
|
|
5361
5526
|
"type": {
|
|
@@ -5386,7 +5551,7 @@
|
|
|
5386
5551
|
"kind": "interface",
|
|
5387
5552
|
"locationInModule": {
|
|
5388
5553
|
"filename": "lib/ipam.ts",
|
|
5389
|
-
"line":
|
|
5554
|
+
"line": 251
|
|
5390
5555
|
},
|
|
5391
5556
|
"name": "IpamOptions",
|
|
5392
5557
|
"properties": [
|
|
@@ -5399,7 +5564,7 @@
|
|
|
5399
5564
|
"immutable": true,
|
|
5400
5565
|
"locationInModule": {
|
|
5401
5566
|
"filename": "lib/ipam.ts",
|
|
5402
|
-
"line":
|
|
5567
|
+
"line": 273
|
|
5403
5568
|
},
|
|
5404
5569
|
"name": "cidrBlockName",
|
|
5405
5570
|
"type": {
|
|
@@ -5416,7 +5581,7 @@
|
|
|
5416
5581
|
"immutable": true,
|
|
5417
5582
|
"locationInModule": {
|
|
5418
5583
|
"filename": "lib/ipam.ts",
|
|
5419
|
-
"line":
|
|
5584
|
+
"line": 267
|
|
5420
5585
|
},
|
|
5421
5586
|
"name": "ipamPool",
|
|
5422
5587
|
"optional": true,
|
|
@@ -5434,7 +5599,7 @@
|
|
|
5434
5599
|
"immutable": true,
|
|
5435
5600
|
"locationInModule": {
|
|
5436
5601
|
"filename": "lib/ipam.ts",
|
|
5437
|
-
"line":
|
|
5602
|
+
"line": 259
|
|
5438
5603
|
},
|
|
5439
5604
|
"name": "netmaskLength",
|
|
5440
5605
|
"optional": true,
|
|
@@ -5622,7 +5787,7 @@
|
|
|
5622
5787
|
"kind": "interface",
|
|
5623
5788
|
"locationInModule": {
|
|
5624
5789
|
"filename": "lib/ipam.ts",
|
|
5625
|
-
"line":
|
|
5790
|
+
"line": 236
|
|
5626
5791
|
},
|
|
5627
5792
|
"name": "IpamScopeOptions",
|
|
5628
5793
|
"properties": [
|
|
@@ -5636,7 +5801,7 @@
|
|
|
5636
5801
|
"immutable": true,
|
|
5637
5802
|
"locationInModule": {
|
|
5638
5803
|
"filename": "lib/ipam.ts",
|
|
5639
|
-
"line":
|
|
5804
|
+
"line": 243
|
|
5640
5805
|
},
|
|
5641
5806
|
"name": "ipamScopeName",
|
|
5642
5807
|
"optional": true,
|
|
@@ -6772,7 +6937,7 @@
|
|
|
6772
6937
|
"kind": "interface",
|
|
6773
6938
|
"locationInModule": {
|
|
6774
6939
|
"filename": "lib/vpc-v2.ts",
|
|
6775
|
-
"line":
|
|
6940
|
+
"line": 12
|
|
6776
6941
|
},
|
|
6777
6942
|
"name": "SecondaryAddressProps",
|
|
6778
6943
|
"properties": [
|
|
@@ -6785,7 +6950,7 @@
|
|
|
6785
6950
|
"immutable": true,
|
|
6786
6951
|
"locationInModule": {
|
|
6787
6952
|
"filename": "lib/vpc-v2.ts",
|
|
6788
|
-
"line":
|
|
6953
|
+
"line": 17
|
|
6789
6954
|
},
|
|
6790
6955
|
"name": "cidrBlockName",
|
|
6791
6956
|
"type": {
|
|
@@ -6806,7 +6971,7 @@
|
|
|
6806
6971
|
"remarks": "It extends the Resource class and implements the ISubnet interface.\n\nInstances of this class can be used to create and manage subnets within a VpcV2 instance.\nSubnets can be configured with specific IP address ranges (IPv4 and IPv6), availability zones,\nand subnet types (e.g., public, private, isolated).",
|
|
6807
6972
|
"stability": "experimental",
|
|
6808
6973
|
"summary": "The SubnetV2 class represents a subnet within a VPC (Virtual Private Cloud) in AWS.",
|
|
6809
|
-
"example": "\nconst
|
|
6974
|
+
"example": "\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});"
|
|
6810
6975
|
},
|
|
6811
6976
|
"fqn": "@aws-cdk/aws-ec2-alpha.SubnetV2",
|
|
6812
6977
|
"initializer": {
|
|
@@ -6816,7 +6981,7 @@
|
|
|
6816
6981
|
},
|
|
6817
6982
|
"locationInModule": {
|
|
6818
6983
|
"filename": "lib/subnet-v2.ts",
|
|
6819
|
-
"line":
|
|
6984
|
+
"line": 236
|
|
6820
6985
|
},
|
|
6821
6986
|
"parameters": [
|
|
6822
6987
|
{
|
|
@@ -6857,6 +7022,43 @@
|
|
|
6857
7022
|
"line": 121
|
|
6858
7023
|
},
|
|
6859
7024
|
"methods": [
|
|
7025
|
+
{
|
|
7026
|
+
"docs": {
|
|
7027
|
+
"stability": "experimental",
|
|
7028
|
+
"summary": "Import an existing subnet to the VPC."
|
|
7029
|
+
},
|
|
7030
|
+
"locationInModule": {
|
|
7031
|
+
"filename": "lib/subnet-v2.ts",
|
|
7032
|
+
"line": 126
|
|
7033
|
+
},
|
|
7034
|
+
"name": "fromSubnetV2Attributes",
|
|
7035
|
+
"parameters": [
|
|
7036
|
+
{
|
|
7037
|
+
"name": "scope",
|
|
7038
|
+
"type": {
|
|
7039
|
+
"fqn": "constructs.Construct"
|
|
7040
|
+
}
|
|
7041
|
+
},
|
|
7042
|
+
{
|
|
7043
|
+
"name": "id",
|
|
7044
|
+
"type": {
|
|
7045
|
+
"primitive": "string"
|
|
7046
|
+
}
|
|
7047
|
+
},
|
|
7048
|
+
{
|
|
7049
|
+
"name": "attrs",
|
|
7050
|
+
"type": {
|
|
7051
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.SubnetV2Attributes"
|
|
7052
|
+
}
|
|
7053
|
+
}
|
|
7054
|
+
],
|
|
7055
|
+
"returns": {
|
|
7056
|
+
"type": {
|
|
7057
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.ISubnetV2"
|
|
7058
|
+
}
|
|
7059
|
+
},
|
|
7060
|
+
"static": true
|
|
7061
|
+
},
|
|
6860
7062
|
{
|
|
6861
7063
|
"docs": {
|
|
6862
7064
|
"stability": "experimental",
|
|
@@ -6864,7 +7066,7 @@
|
|
|
6864
7066
|
},
|
|
6865
7067
|
"locationInModule": {
|
|
6866
7068
|
"filename": "lib/subnet-v2.ts",
|
|
6867
|
-
"line":
|
|
7069
|
+
"line": 314
|
|
6868
7070
|
},
|
|
6869
7071
|
"name": "associateNetworkAcl",
|
|
6870
7072
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -6901,7 +7103,7 @@
|
|
|
6901
7103
|
"immutable": true,
|
|
6902
7104
|
"locationInModule": {
|
|
6903
7105
|
"filename": "lib/subnet-v2.ts",
|
|
6904
|
-
"line":
|
|
7106
|
+
"line": 188
|
|
6905
7107
|
},
|
|
6906
7108
|
"name": "availabilityZone",
|
|
6907
7109
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -6917,7 +7119,7 @@
|
|
|
6917
7119
|
"immutable": true,
|
|
6918
7120
|
"locationInModule": {
|
|
6919
7121
|
"filename": "lib/subnet-v2.ts",
|
|
6920
|
-
"line":
|
|
7122
|
+
"line": 200
|
|
6921
7123
|
},
|
|
6922
7124
|
"name": "internetConnectivityEstablished",
|
|
6923
7125
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -6933,7 +7135,7 @@
|
|
|
6933
7135
|
"immutable": true,
|
|
6934
7136
|
"locationInModule": {
|
|
6935
7137
|
"filename": "lib/subnet-v2.ts",
|
|
6936
|
-
"line":
|
|
7138
|
+
"line": 213
|
|
6937
7139
|
},
|
|
6938
7140
|
"name": "ipv4CidrBlock",
|
|
6939
7141
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -6949,7 +7151,7 @@
|
|
|
6949
7151
|
"immutable": true,
|
|
6950
7152
|
"locationInModule": {
|
|
6951
7153
|
"filename": "lib/subnet-v2.ts",
|
|
6952
|
-
"line":
|
|
7154
|
+
"line": 336
|
|
6953
7155
|
},
|
|
6954
7156
|
"name": "networkAcl",
|
|
6955
7157
|
"type": {
|
|
@@ -6964,7 +7166,7 @@
|
|
|
6964
7166
|
"immutable": true,
|
|
6965
7167
|
"locationInModule": {
|
|
6966
7168
|
"filename": "lib/subnet-v2.ts",
|
|
6967
|
-
"line":
|
|
7169
|
+
"line": 328
|
|
6968
7170
|
},
|
|
6969
7171
|
"name": "routeTable",
|
|
6970
7172
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -6983,7 +7185,7 @@
|
|
|
6983
7185
|
"immutable": true,
|
|
6984
7186
|
"locationInModule": {
|
|
6985
7187
|
"filename": "lib/subnet-v2.ts",
|
|
6986
|
-
"line":
|
|
7188
|
+
"line": 194
|
|
6987
7189
|
},
|
|
6988
7190
|
"name": "subnetId",
|
|
6989
7191
|
"overrides": "aws-cdk-lib.aws_ec2.ISubnet",
|
|
@@ -6999,7 +7201,7 @@
|
|
|
6999
7201
|
"immutable": true,
|
|
7000
7202
|
"locationInModule": {
|
|
7001
7203
|
"filename": "lib/subnet-v2.ts",
|
|
7002
|
-
"line":
|
|
7204
|
+
"line": 218
|
|
7003
7205
|
},
|
|
7004
7206
|
"name": "ipv6CidrBlock",
|
|
7005
7207
|
"optional": true,
|
|
@@ -7019,7 +7221,7 @@
|
|
|
7019
7221
|
"immutable": true,
|
|
7020
7222
|
"locationInModule": {
|
|
7021
7223
|
"filename": "lib/subnet-v2.ts",
|
|
7022
|
-
"line":
|
|
7224
|
+
"line": 224
|
|
7023
7225
|
},
|
|
7024
7226
|
"name": "subnetType",
|
|
7025
7227
|
"optional": true,
|
|
@@ -7031,35 +7233,36 @@
|
|
|
7031
7233
|
],
|
|
7032
7234
|
"symbolId": "lib/subnet-v2:SubnetV2"
|
|
7033
7235
|
},
|
|
7034
|
-
"@aws-cdk/aws-ec2-alpha.
|
|
7236
|
+
"@aws-cdk/aws-ec2-alpha.SubnetV2Attributes": {
|
|
7035
7237
|
"assembly": "@aws-cdk/aws-ec2-alpha",
|
|
7036
7238
|
"datatype": true,
|
|
7037
7239
|
"docs": {
|
|
7038
7240
|
"stability": "experimental",
|
|
7039
|
-
"summary": "Properties to
|
|
7040
|
-
"example": "\
|
|
7241
|
+
"summary": "Properties required to import a subnet.",
|
|
7242
|
+
"example": "\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});",
|
|
7041
7243
|
"custom": {
|
|
7042
7244
|
"exampleMetadata": "infused"
|
|
7043
7245
|
}
|
|
7044
7246
|
},
|
|
7045
|
-
"fqn": "@aws-cdk/aws-ec2-alpha.
|
|
7247
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.SubnetV2Attributes",
|
|
7046
7248
|
"kind": "interface",
|
|
7047
7249
|
"locationInModule": {
|
|
7048
7250
|
"filename": "lib/subnet-v2.ts",
|
|
7049
|
-
"line":
|
|
7251
|
+
"line": 344
|
|
7050
7252
|
},
|
|
7051
|
-
"name": "
|
|
7253
|
+
"name": "SubnetV2Attributes",
|
|
7052
7254
|
"properties": [
|
|
7053
7255
|
{
|
|
7054
7256
|
"abstract": true,
|
|
7055
7257
|
"docs": {
|
|
7258
|
+
"default": "- No AZ information, cannot use AZ selection features",
|
|
7056
7259
|
"stability": "experimental",
|
|
7057
|
-
"summary": "
|
|
7260
|
+
"summary": "The Availability Zone this subnet is located in."
|
|
7058
7261
|
},
|
|
7059
7262
|
"immutable": true,
|
|
7060
7263
|
"locationInModule": {
|
|
7061
7264
|
"filename": "lib/subnet-v2.ts",
|
|
7062
|
-
"line":
|
|
7265
|
+
"line": 350
|
|
7063
7266
|
},
|
|
7064
7267
|
"name": "availabilityZone",
|
|
7065
7268
|
"type": {
|
|
@@ -7069,128 +7272,440 @@
|
|
|
7069
7272
|
{
|
|
7070
7273
|
"abstract": true,
|
|
7071
7274
|
"docs": {
|
|
7072
|
-
"
|
|
7275
|
+
"default": "- No CIDR information, cannot use CIDR filter features",
|
|
7073
7276
|
"stability": "experimental",
|
|
7074
|
-
"summary": "
|
|
7277
|
+
"summary": "The IPv4 CIDR block associated with the subnet."
|
|
7075
7278
|
},
|
|
7076
7279
|
"immutable": true,
|
|
7077
7280
|
"locationInModule": {
|
|
7078
7281
|
"filename": "lib/subnet-v2.ts",
|
|
7079
|
-
"line":
|
|
7282
|
+
"line": 357
|
|
7080
7283
|
},
|
|
7081
7284
|
"name": "ipv4CidrBlock",
|
|
7082
7285
|
"type": {
|
|
7083
|
-
"
|
|
7286
|
+
"primitive": "string"
|
|
7084
7287
|
}
|
|
7085
7288
|
},
|
|
7086
7289
|
{
|
|
7087
7290
|
"abstract": true,
|
|
7088
7291
|
"docs": {
|
|
7089
|
-
"remarks": "The Subnet type will control the ability to route and connect to the\nInternet.\n\nTODO: Add validation check `subnetType` when adding resources (e.g. cannot add NatGateway to private)",
|
|
7090
7292
|
"stability": "experimental",
|
|
7091
|
-
"summary": "The
|
|
7293
|
+
"summary": "The subnetId for this particular subnet."
|
|
7092
7294
|
},
|
|
7093
7295
|
"immutable": true,
|
|
7094
7296
|
"locationInModule": {
|
|
7095
7297
|
"filename": "lib/subnet-v2.ts",
|
|
7096
|
-
"line":
|
|
7298
|
+
"line": 376
|
|
7097
7299
|
},
|
|
7098
|
-
"name": "
|
|
7300
|
+
"name": "subnetId",
|
|
7099
7301
|
"type": {
|
|
7100
|
-
"
|
|
7302
|
+
"primitive": "string"
|
|
7101
7303
|
}
|
|
7102
7304
|
},
|
|
7103
7305
|
{
|
|
7104
7306
|
"abstract": true,
|
|
7105
7307
|
"docs": {
|
|
7106
7308
|
"stability": "experimental",
|
|
7107
|
-
"summary": "
|
|
7309
|
+
"summary": "The type of subnet (public or private) that this subnet represents."
|
|
7108
7310
|
},
|
|
7109
7311
|
"immutable": true,
|
|
7110
7312
|
"locationInModule": {
|
|
7111
7313
|
"filename": "lib/subnet-v2.ts",
|
|
7112
|
-
"line":
|
|
7314
|
+
"line": 381
|
|
7113
7315
|
},
|
|
7114
|
-
"name": "
|
|
7316
|
+
"name": "subnetType",
|
|
7115
7317
|
"type": {
|
|
7116
|
-
"fqn": "
|
|
7318
|
+
"fqn": "aws-cdk-lib.aws_ec2.SubnetType"
|
|
7117
7319
|
}
|
|
7118
7320
|
},
|
|
7119
7321
|
{
|
|
7120
7322
|
"abstract": true,
|
|
7121
7323
|
"docs": {
|
|
7122
|
-
"default": "-
|
|
7123
|
-
"remarks": "If you specify AssignIpv6AddressOnCreation, you must also specify Ipv6CidrBlock.",
|
|
7324
|
+
"default": "- No CIDR information, cannot use CIDR filter features",
|
|
7124
7325
|
"stability": "experimental",
|
|
7125
|
-
"summary": "
|
|
7326
|
+
"summary": "The IPv4 CIDR block associated with the subnet."
|
|
7126
7327
|
},
|
|
7127
7328
|
"immutable": true,
|
|
7128
7329
|
"locationInModule": {
|
|
7129
7330
|
"filename": "lib/subnet-v2.ts",
|
|
7130
|
-
"line":
|
|
7331
|
+
"line": 364
|
|
7131
7332
|
},
|
|
7132
|
-
"name": "
|
|
7333
|
+
"name": "ipv6CidrBlock",
|
|
7133
7334
|
"optional": true,
|
|
7134
7335
|
"type": {
|
|
7135
|
-
"primitive": "
|
|
7336
|
+
"primitive": "string"
|
|
7136
7337
|
}
|
|
7137
7338
|
},
|
|
7138
7339
|
{
|
|
7139
7340
|
"abstract": true,
|
|
7140
7341
|
"docs": {
|
|
7141
|
-
"default": "- No
|
|
7342
|
+
"default": "- No route table information, cannot create VPC endpoints",
|
|
7142
7343
|
"stability": "experimental",
|
|
7143
|
-
"summary": "
|
|
7344
|
+
"summary": "The ID of the route table for this particular subnet."
|
|
7144
7345
|
},
|
|
7145
7346
|
"immutable": true,
|
|
7146
7347
|
"locationInModule": {
|
|
7147
7348
|
"filename": "lib/subnet-v2.ts",
|
|
7148
|
-
"line":
|
|
7349
|
+
"line": 371
|
|
7149
7350
|
},
|
|
7150
|
-
"name": "
|
|
7351
|
+
"name": "routeTableId",
|
|
7151
7352
|
"optional": true,
|
|
7152
7353
|
"type": {
|
|
7153
|
-
"
|
|
7354
|
+
"primitive": "string"
|
|
7154
7355
|
}
|
|
7155
7356
|
},
|
|
7156
7357
|
{
|
|
7157
7358
|
"abstract": true,
|
|
7158
7359
|
"docs": {
|
|
7159
|
-
"default": "-
|
|
7360
|
+
"default": "- no subnet name",
|
|
7160
7361
|
"stability": "experimental",
|
|
7161
|
-
"summary": "
|
|
7362
|
+
"summary": "Name of the given subnet."
|
|
7162
7363
|
},
|
|
7163
7364
|
"immutable": true,
|
|
7164
7365
|
"locationInModule": {
|
|
7165
7366
|
"filename": "lib/subnet-v2.ts",
|
|
7166
|
-
"line":
|
|
7367
|
+
"line": 388
|
|
7167
7368
|
},
|
|
7168
|
-
"name": "
|
|
7369
|
+
"name": "subnetName",
|
|
7169
7370
|
"optional": true,
|
|
7170
7371
|
"type": {
|
|
7171
|
-
"
|
|
7372
|
+
"primitive": "string"
|
|
7172
7373
|
}
|
|
7173
|
-
}
|
|
7174
|
-
|
|
7175
|
-
|
|
7176
|
-
|
|
7177
|
-
|
|
7374
|
+
}
|
|
7375
|
+
],
|
|
7376
|
+
"symbolId": "lib/subnet-v2:SubnetV2Attributes"
|
|
7377
|
+
},
|
|
7378
|
+
"@aws-cdk/aws-ec2-alpha.SubnetV2Props": {
|
|
7379
|
+
"assembly": "@aws-cdk/aws-ec2-alpha",
|
|
7380
|
+
"datatype": true,
|
|
7381
|
+
"docs": {
|
|
7382
|
+
"stability": "experimental",
|
|
7383
|
+
"summary": "Properties to define subnet for VPC.",
|
|
7384
|
+
"example": "\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});",
|
|
7385
|
+
"custom": {
|
|
7386
|
+
"exampleMetadata": "infused"
|
|
7387
|
+
}
|
|
7388
|
+
},
|
|
7389
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.SubnetV2Props",
|
|
7390
|
+
"kind": "interface",
|
|
7391
|
+
"locationInModule": {
|
|
7392
|
+
"filename": "lib/subnet-v2.ts",
|
|
7393
|
+
"line": 33
|
|
7394
|
+
},
|
|
7395
|
+
"name": "SubnetV2Props",
|
|
7396
|
+
"properties": [
|
|
7397
|
+
{
|
|
7398
|
+
"abstract": true,
|
|
7399
|
+
"docs": {
|
|
7400
|
+
"stability": "experimental",
|
|
7401
|
+
"summary": "Custom AZ for the subnet."
|
|
7402
|
+
},
|
|
7403
|
+
"immutable": true,
|
|
7404
|
+
"locationInModule": {
|
|
7405
|
+
"filename": "lib/subnet-v2.ts",
|
|
7406
|
+
"line": 55
|
|
7407
|
+
},
|
|
7408
|
+
"name": "availabilityZone",
|
|
7409
|
+
"type": {
|
|
7410
|
+
"primitive": "string"
|
|
7411
|
+
}
|
|
7412
|
+
},
|
|
7413
|
+
{
|
|
7414
|
+
"abstract": true,
|
|
7415
|
+
"docs": {
|
|
7416
|
+
"remarks": "See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-cidrblock",
|
|
7417
|
+
"stability": "experimental",
|
|
7418
|
+
"summary": "ipv4 cidr to assign to this subnet."
|
|
7419
|
+
},
|
|
7420
|
+
"immutable": true,
|
|
7421
|
+
"locationInModule": {
|
|
7422
|
+
"filename": "lib/subnet-v2.ts",
|
|
7423
|
+
"line": 43
|
|
7424
|
+
},
|
|
7425
|
+
"name": "ipv4CidrBlock",
|
|
7426
|
+
"type": {
|
|
7427
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.IpCidr"
|
|
7428
|
+
}
|
|
7429
|
+
},
|
|
7430
|
+
{
|
|
7431
|
+
"abstract": true,
|
|
7432
|
+
"docs": {
|
|
7433
|
+
"remarks": "The Subnet type will control the ability to route and connect to the\nInternet.\n\nTODO: Add validation check `subnetType` when adding resources (e.g. cannot add NatGateway to private)",
|
|
7434
|
+
"stability": "experimental",
|
|
7435
|
+
"summary": "The type of Subnet to configure."
|
|
7436
|
+
},
|
|
7437
|
+
"immutable": true,
|
|
7438
|
+
"locationInModule": {
|
|
7439
|
+
"filename": "lib/subnet-v2.ts",
|
|
7440
|
+
"line": 72
|
|
7441
|
+
},
|
|
7442
|
+
"name": "subnetType",
|
|
7443
|
+
"type": {
|
|
7444
|
+
"fqn": "aws-cdk-lib.aws_ec2.SubnetType"
|
|
7445
|
+
}
|
|
7446
|
+
},
|
|
7447
|
+
{
|
|
7448
|
+
"abstract": true,
|
|
7449
|
+
"docs": {
|
|
7450
|
+
"stability": "experimental",
|
|
7451
|
+
"summary": "VPC Prop."
|
|
7452
|
+
},
|
|
7453
|
+
"immutable": true,
|
|
7454
|
+
"locationInModule": {
|
|
7455
|
+
"filename": "lib/subnet-v2.ts",
|
|
7456
|
+
"line": 37
|
|
7457
|
+
},
|
|
7458
|
+
"name": "vpc",
|
|
7459
|
+
"type": {
|
|
7460
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.IVpcV2"
|
|
7461
|
+
}
|
|
7462
|
+
},
|
|
7463
|
+
{
|
|
7464
|
+
"abstract": true,
|
|
7465
|
+
"docs": {
|
|
7466
|
+
"default": "- undefined in case not provided as an input",
|
|
7467
|
+
"remarks": "If you specify AssignIpv6AddressOnCreation, you must also specify Ipv6CidrBlock.",
|
|
7468
|
+
"stability": "experimental",
|
|
7469
|
+
"summary": "Indicates whether a network interface created in this subnet receives an IPv6 address."
|
|
7470
|
+
},
|
|
7471
|
+
"immutable": true,
|
|
7472
|
+
"locationInModule": {
|
|
7473
|
+
"filename": "lib/subnet-v2.ts",
|
|
7474
|
+
"line": 87
|
|
7475
|
+
},
|
|
7476
|
+
"name": "assignIpv6AddressOnCreation",
|
|
7477
|
+
"optional": true,
|
|
7478
|
+
"type": {
|
|
7479
|
+
"primitive": "boolean"
|
|
7480
|
+
}
|
|
7481
|
+
},
|
|
7482
|
+
{
|
|
7483
|
+
"abstract": true,
|
|
7484
|
+
"docs": {
|
|
7485
|
+
"default": "- No Ipv6 address",
|
|
7486
|
+
"stability": "experimental",
|
|
7487
|
+
"summary": "Ipv6 CIDR Range for subnet."
|
|
7488
|
+
},
|
|
7489
|
+
"immutable": true,
|
|
7490
|
+
"locationInModule": {
|
|
7491
|
+
"filename": "lib/subnet-v2.ts",
|
|
7492
|
+
"line": 50
|
|
7493
|
+
},
|
|
7494
|
+
"name": "ipv6CidrBlock",
|
|
7495
|
+
"optional": true,
|
|
7496
|
+
"type": {
|
|
7497
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.IpCidr"
|
|
7498
|
+
}
|
|
7499
|
+
},
|
|
7500
|
+
{
|
|
7501
|
+
"abstract": true,
|
|
7502
|
+
"docs": {
|
|
7503
|
+
"default": "- a default route table created",
|
|
7504
|
+
"stability": "experimental",
|
|
7505
|
+
"summary": "Custom Route for subnet."
|
|
7506
|
+
},
|
|
7507
|
+
"immutable": true,
|
|
7508
|
+
"locationInModule": {
|
|
7509
|
+
"filename": "lib/subnet-v2.ts",
|
|
7510
|
+
"line": 62
|
|
7511
|
+
},
|
|
7512
|
+
"name": "routeTable",
|
|
7513
|
+
"optional": true,
|
|
7514
|
+
"type": {
|
|
7515
|
+
"fqn": "aws-cdk-lib.aws_ec2.IRouteTable"
|
|
7516
|
+
}
|
|
7517
|
+
},
|
|
7518
|
+
{
|
|
7519
|
+
"abstract": true,
|
|
7520
|
+
"docs": {
|
|
7521
|
+
"default": "- provisioned with an autogenerated name by CDK",
|
|
7522
|
+
"stability": "experimental",
|
|
7523
|
+
"summary": "Subnet name."
|
|
7524
|
+
},
|
|
7525
|
+
"immutable": true,
|
|
7526
|
+
"locationInModule": {
|
|
7527
|
+
"filename": "lib/subnet-v2.ts",
|
|
7528
|
+
"line": 79
|
|
7529
|
+
},
|
|
7530
|
+
"name": "subnetName",
|
|
7531
|
+
"optional": true,
|
|
7532
|
+
"type": {
|
|
7533
|
+
"primitive": "string"
|
|
7534
|
+
}
|
|
7535
|
+
}
|
|
7536
|
+
],
|
|
7537
|
+
"symbolId": "lib/subnet-v2:SubnetV2Props"
|
|
7538
|
+
},
|
|
7539
|
+
"@aws-cdk/aws-ec2-alpha.VPCCidrBlockattributes": {
|
|
7540
|
+
"assembly": "@aws-cdk/aws-ec2-alpha",
|
|
7541
|
+
"datatype": true,
|
|
7542
|
+
"docs": {
|
|
7543
|
+
"stability": "experimental",
|
|
7544
|
+
"summary": "Attributes for VPCCidrBlock used for defining a new CIDR Block and also for importing an existing CIDR.",
|
|
7545
|
+
"example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as ec2_alpha from '@aws-cdk/aws-ec2-alpha';\nconst vPCCidrBlockattributes: ec2_alpha.VPCCidrBlockattributes = {\n amazonProvidedIpv6CidrBlock: false,\n cidrBlock: 'cidrBlock',\n cidrBlockName: 'cidrBlockName',\n ipv4IpamPoolId: 'ipv4IpamPoolId',\n ipv4IpamProvisionedCidrs: ['ipv4IpamProvisionedCidrs'],\n ipv4NetmaskLength: 123,\n ipv6IpamPoolId: 'ipv6IpamPoolId',\n ipv6NetmaskLength: 123,\n};",
|
|
7546
|
+
"custom": {
|
|
7547
|
+
"exampleMetadata": "fixture=_generated"
|
|
7548
|
+
}
|
|
7549
|
+
},
|
|
7550
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.VPCCidrBlockattributes",
|
|
7551
|
+
"kind": "interface",
|
|
7552
|
+
"locationInModule": {
|
|
7553
|
+
"filename": "lib/vpc-v2.ts",
|
|
7554
|
+
"line": 654
|
|
7555
|
+
},
|
|
7556
|
+
"name": "VPCCidrBlockattributes",
|
|
7557
|
+
"properties": [
|
|
7558
|
+
{
|
|
7559
|
+
"abstract": true,
|
|
7560
|
+
"docs": {
|
|
7561
|
+
"default": "false",
|
|
7562
|
+
"stability": "experimental",
|
|
7563
|
+
"summary": "Amazon Provided Ipv6."
|
|
7564
|
+
},
|
|
7565
|
+
"immutable": true,
|
|
7566
|
+
"locationInModule": {
|
|
7567
|
+
"filename": "lib/vpc-v2.ts",
|
|
7568
|
+
"line": 660
|
|
7569
|
+
},
|
|
7570
|
+
"name": "amazonProvidedIpv6CidrBlock",
|
|
7571
|
+
"optional": true,
|
|
7572
|
+
"type": {
|
|
7573
|
+
"primitive": "boolean"
|
|
7574
|
+
}
|
|
7575
|
+
},
|
|
7576
|
+
{
|
|
7577
|
+
"abstract": true,
|
|
7578
|
+
"docs": {
|
|
7579
|
+
"default": "- no CIDR block provided",
|
|
7580
|
+
"stability": "experimental",
|
|
7581
|
+
"summary": "The secondary IPv4 CIDR Block."
|
|
7582
|
+
},
|
|
7583
|
+
"immutable": true,
|
|
7584
|
+
"locationInModule": {
|
|
7585
|
+
"filename": "lib/vpc-v2.ts",
|
|
7586
|
+
"line": 667
|
|
7587
|
+
},
|
|
7588
|
+
"name": "cidrBlock",
|
|
7589
|
+
"optional": true,
|
|
7590
|
+
"type": {
|
|
7591
|
+
"primitive": "string"
|
|
7592
|
+
}
|
|
7593
|
+
},
|
|
7594
|
+
{
|
|
7595
|
+
"abstract": true,
|
|
7596
|
+
"docs": {
|
|
7597
|
+
"default": "- no CIDR block provided",
|
|
7598
|
+
"stability": "experimental",
|
|
7599
|
+
"summary": "The secondary IPv4 CIDR Block."
|
|
7600
|
+
},
|
|
7601
|
+
"immutable": true,
|
|
7602
|
+
"locationInModule": {
|
|
7603
|
+
"filename": "lib/vpc-v2.ts",
|
|
7604
|
+
"line": 674
|
|
7605
|
+
},
|
|
7606
|
+
"name": "cidrBlockName",
|
|
7607
|
+
"optional": true,
|
|
7608
|
+
"type": {
|
|
7609
|
+
"primitive": "string"
|
|
7610
|
+
}
|
|
7611
|
+
},
|
|
7612
|
+
{
|
|
7613
|
+
"abstract": true,
|
|
7614
|
+
"docs": {
|
|
7615
|
+
"default": "- no IPAM pool Id provided for IPv4",
|
|
7616
|
+
"stability": "experimental",
|
|
7617
|
+
"summary": "IPAM pool for IPv4 address type."
|
|
7618
|
+
},
|
|
7619
|
+
"immutable": true,
|
|
7620
|
+
"locationInModule": {
|
|
7621
|
+
"filename": "lib/vpc-v2.ts",
|
|
7622
|
+
"line": 702
|
|
7623
|
+
},
|
|
7624
|
+
"name": "ipv4IpamPoolId",
|
|
7625
|
+
"optional": true,
|
|
7626
|
+
"type": {
|
|
7627
|
+
"primitive": "string"
|
|
7628
|
+
}
|
|
7629
|
+
},
|
|
7630
|
+
{
|
|
7631
|
+
"abstract": true,
|
|
7632
|
+
"docs": {
|
|
7633
|
+
"default": "- no IPAM IPv4 CIDR range is provisioned using IPAM",
|
|
7634
|
+
"stability": "experimental",
|
|
7635
|
+
"summary": "IPv4 CIDR provisioned under pool Required to check for overlapping CIDRs after provisioning is complete under IPAM pool."
|
|
7636
|
+
},
|
|
7637
|
+
"immutable": true,
|
|
7638
|
+
"locationInModule": {
|
|
7639
|
+
"filename": "lib/vpc-v2.ts",
|
|
7640
|
+
"line": 710
|
|
7641
|
+
},
|
|
7642
|
+
"name": "ipv4IpamProvisionedCidrs",
|
|
7643
|
+
"optional": true,
|
|
7644
|
+
"type": {
|
|
7645
|
+
"collection": {
|
|
7646
|
+
"elementtype": {
|
|
7647
|
+
"primitive": "string"
|
|
7648
|
+
},
|
|
7649
|
+
"kind": "array"
|
|
7650
|
+
}
|
|
7651
|
+
}
|
|
7652
|
+
},
|
|
7653
|
+
{
|
|
7654
|
+
"abstract": true,
|
|
7655
|
+
"docs": {
|
|
7656
|
+
"default": "- no Net mask length configured for IPv4",
|
|
7657
|
+
"stability": "experimental",
|
|
7658
|
+
"summary": "Net mask length for IPv4 address type."
|
|
7659
|
+
},
|
|
7660
|
+
"immutable": true,
|
|
7661
|
+
"locationInModule": {
|
|
7662
|
+
"filename": "lib/vpc-v2.ts",
|
|
7663
|
+
"line": 688
|
|
7664
|
+
},
|
|
7665
|
+
"name": "ipv4NetmaskLength",
|
|
7666
|
+
"optional": true,
|
|
7667
|
+
"type": {
|
|
7668
|
+
"primitive": "number"
|
|
7669
|
+
}
|
|
7670
|
+
},
|
|
7671
|
+
{
|
|
7672
|
+
"abstract": true,
|
|
7673
|
+
"docs": {
|
|
7674
|
+
"default": "- no IPAM pool Id provided for IPv6",
|
|
7178
7675
|
"stability": "experimental",
|
|
7179
|
-
"summary": "
|
|
7676
|
+
"summary": "IPAM pool for IPv6 address type."
|
|
7180
7677
|
},
|
|
7181
7678
|
"immutable": true,
|
|
7182
7679
|
"locationInModule": {
|
|
7183
|
-
"filename": "lib/
|
|
7184
|
-
"line":
|
|
7680
|
+
"filename": "lib/vpc-v2.ts",
|
|
7681
|
+
"line": 695
|
|
7185
7682
|
},
|
|
7186
|
-
"name": "
|
|
7683
|
+
"name": "ipv6IpamPoolId",
|
|
7187
7684
|
"optional": true,
|
|
7188
7685
|
"type": {
|
|
7189
7686
|
"primitive": "string"
|
|
7190
7687
|
}
|
|
7688
|
+
},
|
|
7689
|
+
{
|
|
7690
|
+
"abstract": true,
|
|
7691
|
+
"docs": {
|
|
7692
|
+
"default": "- no Net mask length configured for IPv6",
|
|
7693
|
+
"stability": "experimental",
|
|
7694
|
+
"summary": "Net mask length for IPv6 address type."
|
|
7695
|
+
},
|
|
7696
|
+
"immutable": true,
|
|
7697
|
+
"locationInModule": {
|
|
7698
|
+
"filename": "lib/vpc-v2.ts",
|
|
7699
|
+
"line": 681
|
|
7700
|
+
},
|
|
7701
|
+
"name": "ipv6NetmaskLength",
|
|
7702
|
+
"optional": true,
|
|
7703
|
+
"type": {
|
|
7704
|
+
"primitive": "number"
|
|
7705
|
+
}
|
|
7191
7706
|
}
|
|
7192
7707
|
],
|
|
7193
|
-
"symbolId": "lib/
|
|
7708
|
+
"symbolId": "lib/vpc-v2:VPCCidrBlockattributes"
|
|
7194
7709
|
},
|
|
7195
7710
|
"@aws-cdk/aws-ec2-alpha.VPNGatewayV2": {
|
|
7196
7711
|
"assembly": "@aws-cdk/aws-ec2-alpha",
|
|
@@ -7324,7 +7839,7 @@
|
|
|
7324
7839
|
"kind": "interface",
|
|
7325
7840
|
"locationInModule": {
|
|
7326
7841
|
"filename": "lib/vpc-v2-base.ts",
|
|
7327
|
-
"line":
|
|
7842
|
+
"line": 51
|
|
7328
7843
|
},
|
|
7329
7844
|
"name": "VPNGatewayV2Options",
|
|
7330
7845
|
"properties": [
|
|
@@ -7338,7 +7853,7 @@
|
|
|
7338
7853
|
"immutable": true,
|
|
7339
7854
|
"locationInModule": {
|
|
7340
7855
|
"filename": "lib/vpc-v2-base.ts",
|
|
7341
|
-
"line":
|
|
7856
|
+
"line": 56
|
|
7342
7857
|
},
|
|
7343
7858
|
"name": "type",
|
|
7344
7859
|
"type": {
|
|
@@ -7355,7 +7870,7 @@
|
|
|
7355
7870
|
"immutable": true,
|
|
7356
7871
|
"locationInModule": {
|
|
7357
7872
|
"filename": "lib/vpc-v2-base.ts",
|
|
7358
|
-
"line":
|
|
7873
|
+
"line": 63
|
|
7359
7874
|
},
|
|
7360
7875
|
"name": "amazonSideAsn",
|
|
7361
7876
|
"optional": true,
|
|
@@ -7373,7 +7888,7 @@
|
|
|
7373
7888
|
"immutable": true,
|
|
7374
7889
|
"locationInModule": {
|
|
7375
7890
|
"filename": "lib/vpc-v2-base.ts",
|
|
7376
|
-
"line":
|
|
7891
|
+
"line": 70
|
|
7377
7892
|
},
|
|
7378
7893
|
"name": "vpnGatewayName",
|
|
7379
7894
|
"optional": true,
|
|
@@ -7391,7 +7906,7 @@
|
|
|
7391
7906
|
"immutable": true,
|
|
7392
7907
|
"locationInModule": {
|
|
7393
7908
|
"filename": "lib/vpc-v2-base.ts",
|
|
7394
|
-
"line":
|
|
7909
|
+
"line": 77
|
|
7395
7910
|
},
|
|
7396
7911
|
"name": "vpnRoutePropagation",
|
|
7397
7912
|
"optional": true,
|
|
@@ -7454,7 +7969,7 @@
|
|
|
7454
7969
|
"docs": {
|
|
7455
7970
|
"stability": "experimental",
|
|
7456
7971
|
"summary": "Consolidated return parameters to pass to VPC construct.",
|
|
7457
|
-
"example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as ec2_alpha from '@aws-cdk/aws-ec2-alpha';\nimport * as cdk from 'aws-cdk-lib';\n\ndeclare const cfnResource: cdk.CfnResource;\ndeclare const ipamPool: ec2_alpha.IIpamPool;\nconst vpcCidrOptions: ec2_alpha.VpcCidrOptions = {\n amazonProvided: false,\n cidrBlockName: 'cidrBlockName',\n dependencies: [cfnResource],\n ipv4CidrBlock: 'ipv4CidrBlock',\n ipv4IpamPool: ipamPool,\n ipv4NetmaskLength: 123,\n ipv6IpamPool: ipamPool,\n ipv6NetmaskLength: 123,\n};",
|
|
7972
|
+
"example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as ec2_alpha from '@aws-cdk/aws-ec2-alpha';\nimport * as cdk from 'aws-cdk-lib';\n\ndeclare const cfnResource: cdk.CfnResource;\ndeclare const ipamPool: ec2_alpha.IIpamPool;\nconst vpcCidrOptions: ec2_alpha.VpcCidrOptions = {\n amazonProvided: false,\n cidrBlockName: 'cidrBlockName',\n dependencies: [cfnResource],\n ipv4CidrBlock: 'ipv4CidrBlock',\n ipv4IpamPool: ipamPool,\n ipv4IpamProvisionedCidrs: ['ipv4IpamProvisionedCidrs'],\n ipv4NetmaskLength: 123,\n ipv6IpamPool: ipamPool,\n ipv6NetmaskLength: 123,\n};",
|
|
7458
7973
|
"custom": {
|
|
7459
7974
|
"exampleMetadata": "fixture=_generated"
|
|
7460
7975
|
}
|
|
@@ -7463,7 +7978,7 @@
|
|
|
7463
7978
|
"kind": "interface",
|
|
7464
7979
|
"locationInModule": {
|
|
7465
7980
|
"filename": "lib/vpc-v2.ts",
|
|
7466
|
-
"line":
|
|
7981
|
+
"line": 57
|
|
7467
7982
|
},
|
|
7468
7983
|
"name": "VpcCidrOptions",
|
|
7469
7984
|
"properties": [
|
|
@@ -7477,7 +7992,7 @@
|
|
|
7477
7992
|
"immutable": true,
|
|
7478
7993
|
"locationInModule": {
|
|
7479
7994
|
"filename": "lib/vpc-v2.ts",
|
|
7480
|
-
"line":
|
|
7995
|
+
"line": 100
|
|
7481
7996
|
},
|
|
7482
7997
|
"name": "amazonProvided",
|
|
7483
7998
|
"optional": true,
|
|
@@ -7495,7 +8010,7 @@
|
|
|
7495
8010
|
"immutable": true,
|
|
7496
8011
|
"locationInModule": {
|
|
7497
8012
|
"filename": "lib/vpc-v2.ts",
|
|
7498
|
-
"line":
|
|
8013
|
+
"line": 115
|
|
7499
8014
|
},
|
|
7500
8015
|
"name": "cidrBlockName",
|
|
7501
8016
|
"optional": true,
|
|
@@ -7513,7 +8028,7 @@
|
|
|
7513
8028
|
"immutable": true,
|
|
7514
8029
|
"locationInModule": {
|
|
7515
8030
|
"filename": "lib/vpc-v2.ts",
|
|
7516
|
-
"line":
|
|
8031
|
+
"line": 107
|
|
7517
8032
|
},
|
|
7518
8033
|
"name": "dependencies",
|
|
7519
8034
|
"optional": true,
|
|
@@ -7536,7 +8051,7 @@
|
|
|
7536
8051
|
"immutable": true,
|
|
7537
8052
|
"locationInModule": {
|
|
7538
8053
|
"filename": "lib/vpc-v2.ts",
|
|
7539
|
-
"line":
|
|
8054
|
+
"line": 64
|
|
7540
8055
|
},
|
|
7541
8056
|
"name": "ipv4CidrBlock",
|
|
7542
8057
|
"optional": true,
|
|
@@ -7554,7 +8069,7 @@
|
|
|
7554
8069
|
"immutable": true,
|
|
7555
8070
|
"locationInModule": {
|
|
7556
8071
|
"filename": "lib/vpc-v2.ts",
|
|
7557
|
-
"line":
|
|
8072
|
+
"line": 78
|
|
7558
8073
|
},
|
|
7559
8074
|
"name": "ipv4IpamPool",
|
|
7560
8075
|
"optional": true,
|
|
@@ -7562,6 +8077,29 @@
|
|
|
7562
8077
|
"fqn": "@aws-cdk/aws-ec2-alpha.IIpamPool"
|
|
7563
8078
|
}
|
|
7564
8079
|
},
|
|
8080
|
+
{
|
|
8081
|
+
"abstract": true,
|
|
8082
|
+
"docs": {
|
|
8083
|
+
"default": "- no IPAM IPv4 CIDR range is provisioned using IPAM",
|
|
8084
|
+
"stability": "experimental",
|
|
8085
|
+
"summary": "IPv4 CIDR provisioned under pool Required to check for overlapping CIDRs after provisioning is complete under IPAM pool."
|
|
8086
|
+
},
|
|
8087
|
+
"immutable": true,
|
|
8088
|
+
"locationInModule": {
|
|
8089
|
+
"filename": "lib/vpc-v2.ts",
|
|
8090
|
+
"line": 123
|
|
8091
|
+
},
|
|
8092
|
+
"name": "ipv4IpamProvisionedCidrs",
|
|
8093
|
+
"optional": true,
|
|
8094
|
+
"type": {
|
|
8095
|
+
"collection": {
|
|
8096
|
+
"elementtype": {
|
|
8097
|
+
"primitive": "string"
|
|
8098
|
+
},
|
|
8099
|
+
"kind": "array"
|
|
8100
|
+
}
|
|
8101
|
+
}
|
|
8102
|
+
},
|
|
7565
8103
|
{
|
|
7566
8104
|
"abstract": true,
|
|
7567
8105
|
"docs": {
|
|
@@ -7572,7 +8110,7 @@
|
|
|
7572
8110
|
"immutable": true,
|
|
7573
8111
|
"locationInModule": {
|
|
7574
8112
|
"filename": "lib/vpc-v2.ts",
|
|
7575
|
-
"line":
|
|
8113
|
+
"line": 71
|
|
7576
8114
|
},
|
|
7577
8115
|
"name": "ipv4NetmaskLength",
|
|
7578
8116
|
"optional": true,
|
|
@@ -7590,7 +8128,7 @@
|
|
|
7590
8128
|
"immutable": true,
|
|
7591
8129
|
"locationInModule": {
|
|
7592
8130
|
"filename": "lib/vpc-v2.ts",
|
|
7593
|
-
"line":
|
|
8131
|
+
"line": 93
|
|
7594
8132
|
},
|
|
7595
8133
|
"name": "ipv6IpamPool",
|
|
7596
8134
|
"optional": true,
|
|
@@ -7608,7 +8146,7 @@
|
|
|
7608
8146
|
"immutable": true,
|
|
7609
8147
|
"locationInModule": {
|
|
7610
8148
|
"filename": "lib/vpc-v2.ts",
|
|
7611
|
-
"line":
|
|
8149
|
+
"line": 85
|
|
7612
8150
|
},
|
|
7613
8151
|
"name": "ipv6NetmaskLength",
|
|
7614
8152
|
"optional": true,
|
|
@@ -7639,7 +8177,7 @@
|
|
|
7639
8177
|
},
|
|
7640
8178
|
"locationInModule": {
|
|
7641
8179
|
"filename": "lib/vpc-v2.ts",
|
|
7642
|
-
"line":
|
|
8180
|
+
"line": 442
|
|
7643
8181
|
},
|
|
7644
8182
|
"parameters": [
|
|
7645
8183
|
{
|
|
@@ -7661,88 +8199,312 @@
|
|
|
7661
8199
|
"fqn": "@aws-cdk/aws-ec2-alpha.VpcV2Props"
|
|
7662
8200
|
}
|
|
7663
8201
|
}
|
|
7664
|
-
]
|
|
7665
|
-
},
|
|
7666
|
-
"kind": "class",
|
|
7667
|
-
"locationInModule": {
|
|
7668
|
-
"filename": "lib/vpc-v2.ts",
|
|
7669
|
-
"line":
|
|
7670
|
-
},
|
|
7671
|
-
"
|
|
7672
|
-
|
|
8202
|
+
]
|
|
8203
|
+
},
|
|
8204
|
+
"kind": "class",
|
|
8205
|
+
"locationInModule": {
|
|
8206
|
+
"filename": "lib/vpc-v2.ts",
|
|
8207
|
+
"line": 261
|
|
8208
|
+
},
|
|
8209
|
+
"methods": [
|
|
8210
|
+
{
|
|
8211
|
+
"docs": {
|
|
8212
|
+
"stability": "experimental",
|
|
8213
|
+
"summary": "Create a VPC from existing attributes."
|
|
8214
|
+
},
|
|
8215
|
+
"locationInModule": {
|
|
8216
|
+
"filename": "lib/vpc-v2.ts",
|
|
8217
|
+
"line": 266
|
|
8218
|
+
},
|
|
8219
|
+
"name": "fromVpcV2Attributes",
|
|
8220
|
+
"parameters": [
|
|
8221
|
+
{
|
|
8222
|
+
"name": "scope",
|
|
8223
|
+
"type": {
|
|
8224
|
+
"fqn": "constructs.Construct"
|
|
8225
|
+
}
|
|
8226
|
+
},
|
|
8227
|
+
{
|
|
8228
|
+
"name": "id",
|
|
8229
|
+
"type": {
|
|
8230
|
+
"primitive": "string"
|
|
8231
|
+
}
|
|
8232
|
+
},
|
|
8233
|
+
{
|
|
8234
|
+
"name": "attrs",
|
|
8235
|
+
"type": {
|
|
8236
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.VpcV2Attributes"
|
|
8237
|
+
}
|
|
8238
|
+
}
|
|
8239
|
+
],
|
|
8240
|
+
"returns": {
|
|
8241
|
+
"type": {
|
|
8242
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.IVpcV2"
|
|
8243
|
+
}
|
|
8244
|
+
},
|
|
8245
|
+
"static": true
|
|
8246
|
+
}
|
|
8247
|
+
],
|
|
8248
|
+
"name": "VpcV2",
|
|
8249
|
+
"properties": [
|
|
8250
|
+
{
|
|
8251
|
+
"docs": {
|
|
8252
|
+
"stability": "experimental",
|
|
8253
|
+
"summary": "Indicates if instances launched in this VPC will have public DNS hostnames."
|
|
8254
|
+
},
|
|
8255
|
+
"immutable": true,
|
|
8256
|
+
"locationInModule": {
|
|
8257
|
+
"filename": "lib/vpc-v2.ts",
|
|
8258
|
+
"line": 382
|
|
8259
|
+
},
|
|
8260
|
+
"name": "dnsHostnamesEnabled",
|
|
8261
|
+
"type": {
|
|
8262
|
+
"primitive": "boolean"
|
|
8263
|
+
}
|
|
8264
|
+
},
|
|
8265
|
+
{
|
|
8266
|
+
"docs": {
|
|
8267
|
+
"stability": "experimental",
|
|
8268
|
+
"summary": "Indicates if DNS support is enabled for this VPC."
|
|
8269
|
+
},
|
|
8270
|
+
"immutable": true,
|
|
8271
|
+
"locationInModule": {
|
|
8272
|
+
"filename": "lib/vpc-v2.ts",
|
|
8273
|
+
"line": 387
|
|
8274
|
+
},
|
|
8275
|
+
"name": "dnsSupportEnabled",
|
|
8276
|
+
"type": {
|
|
8277
|
+
"primitive": "boolean"
|
|
8278
|
+
}
|
|
8279
|
+
},
|
|
8280
|
+
{
|
|
8281
|
+
"docs": {
|
|
8282
|
+
"stability": "experimental",
|
|
8283
|
+
"summary": "To define dependency on internet connectivity."
|
|
8284
|
+
},
|
|
8285
|
+
"immutable": true,
|
|
8286
|
+
"locationInModule": {
|
|
8287
|
+
"filename": "lib/vpc-v2.ts",
|
|
8288
|
+
"line": 407
|
|
8289
|
+
},
|
|
8290
|
+
"name": "internetConnectivityEstablished",
|
|
8291
|
+
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
8292
|
+
"type": {
|
|
8293
|
+
"fqn": "constructs.IDependable"
|
|
8294
|
+
}
|
|
8295
|
+
},
|
|
8296
|
+
{
|
|
8297
|
+
"docs": {
|
|
8298
|
+
"stability": "experimental",
|
|
8299
|
+
"summary": "The provider of ipv4 addresses."
|
|
8300
|
+
},
|
|
8301
|
+
"immutable": true,
|
|
8302
|
+
"locationInModule": {
|
|
8303
|
+
"filename": "lib/vpc-v2.ts",
|
|
8304
|
+
"line": 372
|
|
8305
|
+
},
|
|
8306
|
+
"name": "ipAddresses",
|
|
8307
|
+
"type": {
|
|
8308
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.IIpAddresses"
|
|
8309
|
+
}
|
|
8310
|
+
},
|
|
8311
|
+
{
|
|
8312
|
+
"docs": {
|
|
8313
|
+
"remarks": "Needed in order to validate the vpc range of subnet\ncurrent prop vpcCidrBlock refers to the token value\nFor more information, see the {@link https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html#vpc-sizing-ipv4}.",
|
|
8314
|
+
"stability": "experimental",
|
|
8315
|
+
"summary": "The primary IPv4 CIDR block associated with the VPC."
|
|
8316
|
+
},
|
|
8317
|
+
"immutable": true,
|
|
8318
|
+
"locationInModule": {
|
|
8319
|
+
"filename": "lib/vpc-v2.ts",
|
|
8320
|
+
"line": 440
|
|
8321
|
+
},
|
|
8322
|
+
"name": "ipv4CidrBlock",
|
|
8323
|
+
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
8324
|
+
"type": {
|
|
8325
|
+
"primitive": "string"
|
|
8326
|
+
}
|
|
8327
|
+
},
|
|
8328
|
+
{
|
|
8329
|
+
"docs": {
|
|
8330
|
+
"remarks": "See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#aws-resource-ec2-vpc-return-values",
|
|
8331
|
+
"stability": "experimental",
|
|
8332
|
+
"summary": "The IPv6 CIDR blocks for the VPC."
|
|
8333
|
+
},
|
|
8334
|
+
"immutable": true,
|
|
8335
|
+
"locationInModule": {
|
|
8336
|
+
"filename": "lib/vpc-v2.ts",
|
|
8337
|
+
"line": 367
|
|
8338
|
+
},
|
|
8339
|
+
"name": "ipv6CidrBlocks",
|
|
8340
|
+
"type": {
|
|
8341
|
+
"collection": {
|
|
8342
|
+
"elementtype": {
|
|
8343
|
+
"primitive": "string"
|
|
8344
|
+
},
|
|
8345
|
+
"kind": "array"
|
|
8346
|
+
}
|
|
8347
|
+
}
|
|
8348
|
+
},
|
|
8349
|
+
{
|
|
8350
|
+
"docs": {
|
|
8351
|
+
"stability": "experimental",
|
|
8352
|
+
"summary": "Isolated Subnets that are part of this VPC."
|
|
8353
|
+
},
|
|
8354
|
+
"immutable": true,
|
|
8355
|
+
"locationInModule": {
|
|
8356
|
+
"filename": "lib/vpc-v2.ts",
|
|
8357
|
+
"line": 392
|
|
8358
|
+
},
|
|
8359
|
+
"name": "isolatedSubnets",
|
|
8360
|
+
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
8361
|
+
"type": {
|
|
8362
|
+
"collection": {
|
|
8363
|
+
"elementtype": {
|
|
8364
|
+
"fqn": "aws-cdk-lib.aws_ec2.ISubnet"
|
|
8365
|
+
},
|
|
8366
|
+
"kind": "array"
|
|
8367
|
+
}
|
|
8368
|
+
}
|
|
8369
|
+
},
|
|
8370
|
+
{
|
|
8371
|
+
"docs": {
|
|
8372
|
+
"stability": "experimental",
|
|
8373
|
+
"summary": "Identifier of the owner for this VPC."
|
|
8374
|
+
},
|
|
8375
|
+
"immutable": true,
|
|
8376
|
+
"locationInModule": {
|
|
8377
|
+
"filename": "lib/vpc-v2.ts",
|
|
8378
|
+
"line": 429
|
|
8379
|
+
},
|
|
8380
|
+
"name": "ownerAccountId",
|
|
8381
|
+
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
8382
|
+
"type": {
|
|
8383
|
+
"primitive": "string"
|
|
8384
|
+
}
|
|
8385
|
+
},
|
|
8386
|
+
{
|
|
8387
|
+
"docs": {
|
|
8388
|
+
"stability": "experimental",
|
|
8389
|
+
"summary": "Pbulic Subnets that are part of this VPC."
|
|
8390
|
+
},
|
|
8391
|
+
"immutable": true,
|
|
8392
|
+
"locationInModule": {
|
|
8393
|
+
"filename": "lib/vpc-v2.ts",
|
|
8394
|
+
"line": 402
|
|
8395
|
+
},
|
|
8396
|
+
"name": "privateSubnets",
|
|
8397
|
+
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
8398
|
+
"type": {
|
|
8399
|
+
"collection": {
|
|
8400
|
+
"elementtype": {
|
|
8401
|
+
"fqn": "aws-cdk-lib.aws_ec2.ISubnet"
|
|
8402
|
+
},
|
|
8403
|
+
"kind": "array"
|
|
8404
|
+
}
|
|
8405
|
+
}
|
|
8406
|
+
},
|
|
8407
|
+
{
|
|
8408
|
+
"docs": {
|
|
8409
|
+
"stability": "experimental",
|
|
8410
|
+
"summary": "Public Subnets that are part of this VPC."
|
|
8411
|
+
},
|
|
8412
|
+
"immutable": true,
|
|
8413
|
+
"locationInModule": {
|
|
8414
|
+
"filename": "lib/vpc-v2.ts",
|
|
8415
|
+
"line": 397
|
|
8416
|
+
},
|
|
8417
|
+
"name": "publicSubnets",
|
|
8418
|
+
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
8419
|
+
"type": {
|
|
8420
|
+
"collection": {
|
|
8421
|
+
"elementtype": {
|
|
8422
|
+
"fqn": "aws-cdk-lib.aws_ec2.ISubnet"
|
|
8423
|
+
},
|
|
8424
|
+
"kind": "array"
|
|
8425
|
+
}
|
|
8426
|
+
}
|
|
8427
|
+
},
|
|
7673
8428
|
{
|
|
7674
8429
|
"docs": {
|
|
7675
8430
|
"stability": "experimental",
|
|
7676
|
-
"summary": "
|
|
8431
|
+
"summary": "Region for this VPC."
|
|
7677
8432
|
},
|
|
7678
8433
|
"immutable": true,
|
|
7679
8434
|
"locationInModule": {
|
|
7680
8435
|
"filename": "lib/vpc-v2.ts",
|
|
7681
|
-
"line":
|
|
8436
|
+
"line": 424
|
|
7682
8437
|
},
|
|
7683
|
-
"name": "
|
|
8438
|
+
"name": "region",
|
|
8439
|
+
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
7684
8440
|
"type": {
|
|
7685
|
-
"primitive": "
|
|
8441
|
+
"primitive": "string"
|
|
7686
8442
|
}
|
|
7687
8443
|
},
|
|
7688
8444
|
{
|
|
7689
8445
|
"docs": {
|
|
7690
8446
|
"stability": "experimental",
|
|
7691
|
-
"summary": "
|
|
8447
|
+
"summary": "The AWS CloudFormation resource representing the VPC."
|
|
7692
8448
|
},
|
|
7693
8449
|
"immutable": true,
|
|
7694
8450
|
"locationInModule": {
|
|
7695
8451
|
"filename": "lib/vpc-v2.ts",
|
|
7696
|
-
"line":
|
|
8452
|
+
"line": 377
|
|
7697
8453
|
},
|
|
7698
|
-
"name": "
|
|
8454
|
+
"name": "resource",
|
|
7699
8455
|
"type": {
|
|
7700
|
-
"
|
|
8456
|
+
"fqn": "aws-cdk-lib.aws_ec2.CfnVPC"
|
|
7701
8457
|
}
|
|
7702
8458
|
},
|
|
7703
8459
|
{
|
|
7704
8460
|
"docs": {
|
|
8461
|
+
"default": "false",
|
|
7705
8462
|
"stability": "experimental",
|
|
7706
|
-
"summary": "
|
|
8463
|
+
"summary": "For validation to define IPv6 subnets, set to true in case of Amazon Provided IPv6 cidr range if true, IPv6 addresses can be attached to the subnets."
|
|
7707
8464
|
},
|
|
7708
8465
|
"immutable": true,
|
|
7709
8466
|
"locationInModule": {
|
|
7710
8467
|
"filename": "lib/vpc-v2.ts",
|
|
7711
|
-
"line":
|
|
8468
|
+
"line": 438
|
|
7712
8469
|
},
|
|
7713
|
-
"name": "
|
|
7714
|
-
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
8470
|
+
"name": "useIpv6",
|
|
7715
8471
|
"type": {
|
|
7716
|
-
"
|
|
8472
|
+
"primitive": "boolean"
|
|
7717
8473
|
}
|
|
7718
8474
|
},
|
|
7719
8475
|
{
|
|
7720
8476
|
"docs": {
|
|
8477
|
+
"custom": {
|
|
8478
|
+
"attribute": "true"
|
|
8479
|
+
},
|
|
7721
8480
|
"stability": "experimental",
|
|
7722
|
-
"summary": "
|
|
8481
|
+
"summary": "Arn of this VPC."
|
|
7723
8482
|
},
|
|
7724
8483
|
"immutable": true,
|
|
7725
8484
|
"locationInModule": {
|
|
7726
8485
|
"filename": "lib/vpc-v2.ts",
|
|
7727
|
-
"line":
|
|
8486
|
+
"line": 356
|
|
7728
8487
|
},
|
|
7729
|
-
"name": "
|
|
8488
|
+
"name": "vpcArn",
|
|
8489
|
+
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
7730
8490
|
"type": {
|
|
7731
|
-
"
|
|
8491
|
+
"primitive": "string"
|
|
7732
8492
|
}
|
|
7733
8493
|
},
|
|
7734
8494
|
{
|
|
7735
8495
|
"docs": {
|
|
7736
|
-
"
|
|
8496
|
+
"custom": {
|
|
8497
|
+
"attribute": "true"
|
|
8498
|
+
},
|
|
7737
8499
|
"stability": "experimental",
|
|
7738
|
-
"summary": "
|
|
8500
|
+
"summary": "CIDR range for this VPC."
|
|
7739
8501
|
},
|
|
7740
8502
|
"immutable": true,
|
|
7741
8503
|
"locationInModule": {
|
|
7742
8504
|
"filename": "lib/vpc-v2.ts",
|
|
7743
|
-
"line":
|
|
8505
|
+
"line": 361
|
|
7744
8506
|
},
|
|
7745
|
-
"name": "
|
|
8507
|
+
"name": "vpcCidrBlock",
|
|
7746
8508
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
7747
8509
|
"type": {
|
|
7748
8510
|
"primitive": "string"
|
|
@@ -7750,41 +8512,37 @@
|
|
|
7750
8512
|
},
|
|
7751
8513
|
{
|
|
7752
8514
|
"docs": {
|
|
7753
|
-
"remarks": "See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#aws-resource-ec2-vpc-return-values",
|
|
7754
8515
|
"stability": "experimental",
|
|
7755
|
-
"summary": "
|
|
8516
|
+
"summary": "Identifier for this VPC."
|
|
7756
8517
|
},
|
|
7757
8518
|
"immutable": true,
|
|
7758
8519
|
"locationInModule": {
|
|
7759
8520
|
"filename": "lib/vpc-v2.ts",
|
|
7760
|
-
"line":
|
|
8521
|
+
"line": 351
|
|
7761
8522
|
},
|
|
7762
|
-
"name": "
|
|
8523
|
+
"name": "vpcId",
|
|
8524
|
+
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
7763
8525
|
"type": {
|
|
7764
|
-
"
|
|
7765
|
-
"elementtype": {
|
|
7766
|
-
"primitive": "string"
|
|
7767
|
-
},
|
|
7768
|
-
"kind": "array"
|
|
7769
|
-
}
|
|
8526
|
+
"primitive": "string"
|
|
7770
8527
|
}
|
|
7771
8528
|
},
|
|
7772
8529
|
{
|
|
7773
8530
|
"docs": {
|
|
7774
8531
|
"stability": "experimental",
|
|
7775
|
-
"summary": "
|
|
8532
|
+
"summary": "IPv4 CIDR provisioned using IPAM pool Required to check for overlapping CIDRs after provisioning is complete under IPAM."
|
|
7776
8533
|
},
|
|
7777
8534
|
"immutable": true,
|
|
7778
8535
|
"locationInModule": {
|
|
7779
8536
|
"filename": "lib/vpc-v2.ts",
|
|
7780
|
-
"line":
|
|
8537
|
+
"line": 419
|
|
7781
8538
|
},
|
|
7782
|
-
"name": "
|
|
8539
|
+
"name": "ipv4IpamProvisionedCidrs",
|
|
8540
|
+
"optional": true,
|
|
7783
8541
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
7784
8542
|
"type": {
|
|
7785
8543
|
"collection": {
|
|
7786
8544
|
"elementtype": {
|
|
7787
|
-
"
|
|
8545
|
+
"primitive": "string"
|
|
7788
8546
|
},
|
|
7789
8547
|
"kind": "array"
|
|
7790
8548
|
}
|
|
@@ -7793,153 +8551,181 @@
|
|
|
7793
8551
|
{
|
|
7794
8552
|
"docs": {
|
|
7795
8553
|
"stability": "experimental",
|
|
7796
|
-
"summary": "
|
|
8554
|
+
"summary": "reference to all secondary blocks attached."
|
|
7797
8555
|
},
|
|
7798
8556
|
"immutable": true,
|
|
7799
8557
|
"locationInModule": {
|
|
7800
8558
|
"filename": "lib/vpc-v2.ts",
|
|
7801
|
-
"line":
|
|
8559
|
+
"line": 412
|
|
7802
8560
|
},
|
|
7803
|
-
"name": "
|
|
8561
|
+
"name": "secondaryCidrBlock",
|
|
8562
|
+
"optional": true,
|
|
7804
8563
|
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
7805
8564
|
"type": {
|
|
7806
8565
|
"collection": {
|
|
7807
8566
|
"elementtype": {
|
|
7808
|
-
"fqn": "aws-cdk-
|
|
8567
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.IVPCCidrBlock"
|
|
7809
8568
|
},
|
|
7810
8569
|
"kind": "array"
|
|
7811
8570
|
}
|
|
7812
8571
|
}
|
|
7813
|
-
}
|
|
8572
|
+
}
|
|
8573
|
+
],
|
|
8574
|
+
"symbolId": "lib/vpc-v2:VpcV2"
|
|
8575
|
+
},
|
|
8576
|
+
"@aws-cdk/aws-ec2-alpha.VpcV2Attributes": {
|
|
8577
|
+
"assembly": "@aws-cdk/aws-ec2-alpha",
|
|
8578
|
+
"datatype": true,
|
|
8579
|
+
"docs": {
|
|
8580
|
+
"stability": "experimental",
|
|
8581
|
+
"summary": "Options to import a VPC created outside of CDK stack.",
|
|
8582
|
+
"example": "\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});",
|
|
8583
|
+
"custom": {
|
|
8584
|
+
"exampleMetadata": "infused"
|
|
8585
|
+
}
|
|
8586
|
+
},
|
|
8587
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.VpcV2Attributes",
|
|
8588
|
+
"kind": "interface",
|
|
8589
|
+
"locationInModule": {
|
|
8590
|
+
"filename": "lib/vpc-v2.ts",
|
|
8591
|
+
"line": 198
|
|
8592
|
+
},
|
|
8593
|
+
"name": "VpcV2Attributes",
|
|
8594
|
+
"properties": [
|
|
7814
8595
|
{
|
|
8596
|
+
"abstract": true,
|
|
7815
8597
|
"docs": {
|
|
7816
8598
|
"stability": "experimental",
|
|
7817
|
-
"summary": "
|
|
8599
|
+
"summary": "Primary VPC CIDR Block of the imported VPC Can only be IPv4."
|
|
7818
8600
|
},
|
|
7819
8601
|
"immutable": true,
|
|
7820
8602
|
"locationInModule": {
|
|
7821
8603
|
"filename": "lib/vpc-v2.ts",
|
|
7822
|
-
"line":
|
|
8604
|
+
"line": 230
|
|
7823
8605
|
},
|
|
7824
|
-
"name": "
|
|
7825
|
-
"overrides": "@aws-cdk/aws-ec2-alpha.VpcV2Base",
|
|
8606
|
+
"name": "vpcCidrBlock",
|
|
7826
8607
|
"type": {
|
|
7827
|
-
"
|
|
7828
|
-
"elementtype": {
|
|
7829
|
-
"fqn": "aws-cdk-lib.aws_ec2.ISubnet"
|
|
7830
|
-
},
|
|
7831
|
-
"kind": "array"
|
|
7832
|
-
}
|
|
8608
|
+
"primitive": "string"
|
|
7833
8609
|
}
|
|
7834
8610
|
},
|
|
7835
8611
|
{
|
|
8612
|
+
"abstract": true,
|
|
7836
8613
|
"docs": {
|
|
7837
8614
|
"stability": "experimental",
|
|
7838
|
-
"summary": "The
|
|
8615
|
+
"summary": "The VPC ID Refers to physical Id of the resource."
|
|
7839
8616
|
},
|
|
7840
8617
|
"immutable": true,
|
|
7841
8618
|
"locationInModule": {
|
|
7842
8619
|
"filename": "lib/vpc-v2.ts",
|
|
7843
|
-
"line":
|
|
8620
|
+
"line": 204
|
|
7844
8621
|
},
|
|
7845
|
-
"name": "
|
|
8622
|
+
"name": "vpcId",
|
|
7846
8623
|
"type": {
|
|
7847
|
-
"
|
|
8624
|
+
"primitive": "string"
|
|
7848
8625
|
}
|
|
7849
8626
|
},
|
|
7850
8627
|
{
|
|
8628
|
+
"abstract": true,
|
|
7851
8629
|
"docs": {
|
|
8630
|
+
"default": "- constructed with stack account value",
|
|
7852
8631
|
"stability": "experimental",
|
|
7853
|
-
"summary": "
|
|
8632
|
+
"summary": "The ID of the AWS account that owns the imported VPC required in case of cross account VPC as given value will be used to set field account for imported VPC, which then later can be used for establishing VPC peering connection."
|
|
7854
8633
|
},
|
|
7855
8634
|
"immutable": true,
|
|
7856
8635
|
"locationInModule": {
|
|
7857
8636
|
"filename": "lib/vpc-v2.ts",
|
|
7858
|
-
"line":
|
|
8637
|
+
"line": 224
|
|
7859
8638
|
},
|
|
7860
|
-
"name": "
|
|
7861
|
-
"
|
|
8639
|
+
"name": "ownerAccountId",
|
|
8640
|
+
"optional": true,
|
|
7862
8641
|
"type": {
|
|
7863
|
-
"
|
|
7864
|
-
"elementtype": {
|
|
7865
|
-
"fqn": "aws-cdk-lib.aws_ec2.CfnVPCCidrBlock"
|
|
7866
|
-
},
|
|
7867
|
-
"kind": "array"
|
|
7868
|
-
}
|
|
8642
|
+
"primitive": "string"
|
|
7869
8643
|
}
|
|
7870
8644
|
},
|
|
7871
8645
|
{
|
|
8646
|
+
"abstract": true,
|
|
7872
8647
|
"docs": {
|
|
7873
|
-
"default": "
|
|
8648
|
+
"default": "- constructed with stack region value",
|
|
7874
8649
|
"stability": "experimental",
|
|
7875
|
-
"summary": "
|
|
8650
|
+
"summary": "Region in which imported VPC is hosted required in case of cross region VPC as given value will be used to set field region for imported VPC, which then later can be used for establishing VPC peering connection."
|
|
7876
8651
|
},
|
|
7877
8652
|
"immutable": true,
|
|
7878
8653
|
"locationInModule": {
|
|
7879
8654
|
"filename": "lib/vpc-v2.ts",
|
|
7880
|
-
"line":
|
|
8655
|
+
"line": 214
|
|
7881
8656
|
},
|
|
7882
|
-
"name": "
|
|
8657
|
+
"name": "region",
|
|
8658
|
+
"optional": true,
|
|
7883
8659
|
"type": {
|
|
7884
|
-
"primitive": "
|
|
8660
|
+
"primitive": "string"
|
|
7885
8661
|
}
|
|
7886
8662
|
},
|
|
7887
8663
|
{
|
|
8664
|
+
"abstract": true,
|
|
7888
8665
|
"docs": {
|
|
7889
|
-
"
|
|
7890
|
-
"attribute": "true"
|
|
7891
|
-
},
|
|
8666
|
+
"default": "- No secondary IP address",
|
|
7892
8667
|
"stability": "experimental",
|
|
7893
|
-
"summary": "
|
|
8668
|
+
"summary": "Import Secondary CIDR blocks associated with VPC."
|
|
7894
8669
|
},
|
|
7895
8670
|
"immutable": true,
|
|
7896
8671
|
"locationInModule": {
|
|
7897
8672
|
"filename": "lib/vpc-v2.ts",
|
|
7898
|
-
"line":
|
|
8673
|
+
"line": 251
|
|
7899
8674
|
},
|
|
7900
|
-
"name": "
|
|
7901
|
-
"
|
|
8675
|
+
"name": "secondaryCidrBlocks",
|
|
8676
|
+
"optional": true,
|
|
7902
8677
|
"type": {
|
|
7903
|
-
"
|
|
8678
|
+
"collection": {
|
|
8679
|
+
"elementtype": {
|
|
8680
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.VPCCidrBlockattributes"
|
|
8681
|
+
},
|
|
8682
|
+
"kind": "array"
|
|
8683
|
+
}
|
|
7904
8684
|
}
|
|
7905
8685
|
},
|
|
7906
8686
|
{
|
|
8687
|
+
"abstract": true,
|
|
7907
8688
|
"docs": {
|
|
7908
|
-
"
|
|
7909
|
-
"attribute": "true"
|
|
7910
|
-
},
|
|
8689
|
+
"default": "- no subnets provided to be imported",
|
|
7911
8690
|
"stability": "experimental",
|
|
7912
|
-
"summary": "
|
|
8691
|
+
"summary": "Subnets associated with imported VPC."
|
|
7913
8692
|
},
|
|
7914
8693
|
"immutable": true,
|
|
7915
8694
|
"locationInModule": {
|
|
7916
8695
|
"filename": "lib/vpc-v2.ts",
|
|
7917
|
-
"line":
|
|
8696
|
+
"line": 244
|
|
7918
8697
|
},
|
|
7919
|
-
"name": "
|
|
7920
|
-
"
|
|
8698
|
+
"name": "subnets",
|
|
8699
|
+
"optional": true,
|
|
7921
8700
|
"type": {
|
|
7922
|
-
"
|
|
8701
|
+
"collection": {
|
|
8702
|
+
"elementtype": {
|
|
8703
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.SubnetV2Attributes"
|
|
8704
|
+
},
|
|
8705
|
+
"kind": "array"
|
|
8706
|
+
}
|
|
7923
8707
|
}
|
|
7924
8708
|
},
|
|
7925
8709
|
{
|
|
8710
|
+
"abstract": true,
|
|
7926
8711
|
"docs": {
|
|
8712
|
+
"default": "- No VPN Gateway",
|
|
7927
8713
|
"stability": "experimental",
|
|
7928
|
-
"summary": "
|
|
8714
|
+
"summary": "A VPN Gateway is attached to the VPC."
|
|
7929
8715
|
},
|
|
7930
8716
|
"immutable": true,
|
|
7931
8717
|
"locationInModule": {
|
|
7932
8718
|
"filename": "lib/vpc-v2.ts",
|
|
7933
|
-
"line":
|
|
8719
|
+
"line": 237
|
|
7934
8720
|
},
|
|
7935
|
-
"name": "
|
|
7936
|
-
"
|
|
8721
|
+
"name": "vpnGatewayId",
|
|
8722
|
+
"optional": true,
|
|
7937
8723
|
"type": {
|
|
7938
8724
|
"primitive": "string"
|
|
7939
8725
|
}
|
|
7940
8726
|
}
|
|
7941
8727
|
],
|
|
7942
|
-
"symbolId": "lib/vpc-v2:
|
|
8728
|
+
"symbolId": "lib/vpc-v2:VpcV2Attributes"
|
|
7943
8729
|
},
|
|
7944
8730
|
"@aws-cdk/aws-ec2-alpha.VpcV2Base": {
|
|
7945
8731
|
"abstract": true,
|
|
@@ -7987,7 +8773,7 @@
|
|
|
7987
8773
|
"kind": "class",
|
|
7988
8774
|
"locationInModule": {
|
|
7989
8775
|
"filename": "lib/vpc-v2-base.ts",
|
|
7990
|
-
"line":
|
|
8776
|
+
"line": 160
|
|
7991
8777
|
},
|
|
7992
8778
|
"methods": [
|
|
7993
8779
|
{
|
|
@@ -7997,7 +8783,7 @@
|
|
|
7997
8783
|
},
|
|
7998
8784
|
"locationInModule": {
|
|
7999
8785
|
"filename": "lib/vpc-v2-base.ts",
|
|
8000
|
-
"line":
|
|
8786
|
+
"line": 348
|
|
8001
8787
|
},
|
|
8002
8788
|
"name": "addClientVpnEndpoint",
|
|
8003
8789
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -8029,7 +8815,7 @@
|
|
|
8029
8815
|
},
|
|
8030
8816
|
"locationInModule": {
|
|
8031
8817
|
"filename": "lib/vpc-v2-base.ts",
|
|
8032
|
-
"line":
|
|
8818
|
+
"line": 381
|
|
8033
8819
|
},
|
|
8034
8820
|
"name": "addEgressOnlyInternetGateway",
|
|
8035
8821
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -8050,7 +8836,7 @@
|
|
|
8050
8836
|
},
|
|
8051
8837
|
"locationInModule": {
|
|
8052
8838
|
"filename": "lib/vpc-v2-base.ts",
|
|
8053
|
-
"line":
|
|
8839
|
+
"line": 483
|
|
8054
8840
|
},
|
|
8055
8841
|
"name": "addFlowLog",
|
|
8056
8842
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -8082,7 +8868,7 @@
|
|
|
8082
8868
|
},
|
|
8083
8869
|
"locationInModule": {
|
|
8084
8870
|
"filename": "lib/vpc-v2-base.ts",
|
|
8085
|
-
"line":
|
|
8871
|
+
"line": 368
|
|
8086
8872
|
},
|
|
8087
8873
|
"name": "addGatewayEndpoint",
|
|
8088
8874
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -8113,7 +8899,7 @@
|
|
|
8113
8899
|
},
|
|
8114
8900
|
"locationInModule": {
|
|
8115
8901
|
"filename": "lib/vpc-v2-base.ts",
|
|
8116
|
-
"line":
|
|
8902
|
+
"line": 358
|
|
8117
8903
|
},
|
|
8118
8904
|
"name": "addInterfaceEndpoint",
|
|
8119
8905
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -8145,7 +8931,7 @@
|
|
|
8145
8931
|
},
|
|
8146
8932
|
"locationInModule": {
|
|
8147
8933
|
"filename": "lib/vpc-v2-base.ts",
|
|
8148
|
-
"line":
|
|
8934
|
+
"line": 422
|
|
8149
8935
|
},
|
|
8150
8936
|
"name": "addInternetGateway",
|
|
8151
8937
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -8166,7 +8952,7 @@
|
|
|
8166
8952
|
},
|
|
8167
8953
|
"locationInModule": {
|
|
8168
8954
|
"filename": "lib/vpc-v2-base.ts",
|
|
8169
|
-
"line":
|
|
8955
|
+
"line": 470
|
|
8170
8956
|
},
|
|
8171
8957
|
"name": "addNatGateway",
|
|
8172
8958
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -8191,7 +8977,7 @@
|
|
|
8191
8977
|
},
|
|
8192
8978
|
"locationInModule": {
|
|
8193
8979
|
"filename": "lib/vpc-v2-base.ts",
|
|
8194
|
-
"line":
|
|
8980
|
+
"line": 338
|
|
8195
8981
|
},
|
|
8196
8982
|
"name": "addVpnConnection",
|
|
8197
8983
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -8223,7 +9009,7 @@
|
|
|
8223
9009
|
},
|
|
8224
9010
|
"locationInModule": {
|
|
8225
9011
|
"filename": "lib/vpc-v2-base.ts",
|
|
8226
|
-
"line":
|
|
9012
|
+
"line": 281
|
|
8227
9013
|
},
|
|
8228
9014
|
"name": "enableVpnGateway",
|
|
8229
9015
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -8243,7 +9029,7 @@
|
|
|
8243
9029
|
},
|
|
8244
9030
|
"locationInModule": {
|
|
8245
9031
|
"filename": "lib/vpc-v2-base.ts",
|
|
8246
|
-
"line":
|
|
9032
|
+
"line": 319
|
|
8247
9033
|
},
|
|
8248
9034
|
"name": "enableVpnGatewayV2",
|
|
8249
9035
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -8268,7 +9054,7 @@
|
|
|
8268
9054
|
},
|
|
8269
9055
|
"locationInModule": {
|
|
8270
9056
|
"filename": "lib/vpc-v2-base.ts",
|
|
8271
|
-
"line":
|
|
9057
|
+
"line": 507
|
|
8272
9058
|
},
|
|
8273
9059
|
"name": "selectSubnetObjects",
|
|
8274
9060
|
"parameters": [
|
|
@@ -8300,7 +9086,7 @@
|
|
|
8300
9086
|
},
|
|
8301
9087
|
"locationInModule": {
|
|
8302
9088
|
"filename": "lib/vpc-v2-base.ts",
|
|
8303
|
-
"line":
|
|
9089
|
+
"line": 263
|
|
8304
9090
|
},
|
|
8305
9091
|
"name": "selectSubnets",
|
|
8306
9092
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -8330,7 +9116,7 @@
|
|
|
8330
9116
|
"immutable": true,
|
|
8331
9117
|
"locationInModule": {
|
|
8332
9118
|
"filename": "lib/vpc-v2-base.ts",
|
|
8333
|
-
"line":
|
|
9119
|
+
"line": 195
|
|
8334
9120
|
},
|
|
8335
9121
|
"name": "availabilityZones",
|
|
8336
9122
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -8352,7 +9138,7 @@
|
|
|
8352
9138
|
"immutable": true,
|
|
8353
9139
|
"locationInModule": {
|
|
8354
9140
|
"filename": "lib/vpc-v2-base.ts",
|
|
8355
|
-
"line":
|
|
9141
|
+
"line": 200
|
|
8356
9142
|
},
|
|
8357
9143
|
"name": "internetConnectivityEstablished",
|
|
8358
9144
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -8370,7 +9156,7 @@
|
|
|
8370
9156
|
"immutable": true,
|
|
8371
9157
|
"locationInModule": {
|
|
8372
9158
|
"filename": "lib/vpc-v2-base.ts",
|
|
8373
|
-
"line":
|
|
9159
|
+
"line": 221
|
|
8374
9160
|
},
|
|
8375
9161
|
"name": "ipv4CidrBlock",
|
|
8376
9162
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -8387,7 +9173,7 @@
|
|
|
8387
9173
|
"immutable": true,
|
|
8388
9174
|
"locationInModule": {
|
|
8389
9175
|
"filename": "lib/vpc-v2-base.ts",
|
|
8390
|
-
"line":
|
|
9176
|
+
"line": 190
|
|
8391
9177
|
},
|
|
8392
9178
|
"name": "isolatedSubnets",
|
|
8393
9179
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -8400,6 +9186,23 @@
|
|
|
8400
9186
|
}
|
|
8401
9187
|
}
|
|
8402
9188
|
},
|
|
9189
|
+
{
|
|
9190
|
+
"abstract": true,
|
|
9191
|
+
"docs": {
|
|
9192
|
+
"stability": "experimental",
|
|
9193
|
+
"summary": "Identifier of the owner for this VPC."
|
|
9194
|
+
},
|
|
9195
|
+
"immutable": true,
|
|
9196
|
+
"locationInModule": {
|
|
9197
|
+
"filename": "lib/vpc-v2-base.ts",
|
|
9198
|
+
"line": 231
|
|
9199
|
+
},
|
|
9200
|
+
"name": "ownerAccountId",
|
|
9201
|
+
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
9202
|
+
"type": {
|
|
9203
|
+
"primitive": "string"
|
|
9204
|
+
}
|
|
9205
|
+
},
|
|
8403
9206
|
{
|
|
8404
9207
|
"docs": {
|
|
8405
9208
|
"stability": "experimental",
|
|
@@ -8408,7 +9211,7 @@
|
|
|
8408
9211
|
"immutable": true,
|
|
8409
9212
|
"locationInModule": {
|
|
8410
9213
|
"filename": "lib/vpc-v2-base.ts",
|
|
8411
|
-
"line":
|
|
9214
|
+
"line": 185
|
|
8412
9215
|
},
|
|
8413
9216
|
"name": "privateSubnets",
|
|
8414
9217
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -8429,7 +9232,7 @@
|
|
|
8429
9232
|
"immutable": true,
|
|
8430
9233
|
"locationInModule": {
|
|
8431
9234
|
"filename": "lib/vpc-v2-base.ts",
|
|
8432
|
-
"line":
|
|
9235
|
+
"line": 180
|
|
8433
9236
|
},
|
|
8434
9237
|
"name": "publicSubnets",
|
|
8435
9238
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -8446,22 +9249,17 @@
|
|
|
8446
9249
|
"abstract": true,
|
|
8447
9250
|
"docs": {
|
|
8448
9251
|
"stability": "experimental",
|
|
8449
|
-
"summary": "
|
|
9252
|
+
"summary": "Region for this VPC."
|
|
8450
9253
|
},
|
|
8451
9254
|
"immutable": true,
|
|
8452
9255
|
"locationInModule": {
|
|
8453
9256
|
"filename": "lib/vpc-v2-base.ts",
|
|
8454
|
-
"line":
|
|
9257
|
+
"line": 226
|
|
8455
9258
|
},
|
|
8456
|
-
"name": "
|
|
9259
|
+
"name": "region",
|
|
8457
9260
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
8458
9261
|
"type": {
|
|
8459
|
-
"
|
|
8460
|
-
"elementtype": {
|
|
8461
|
-
"fqn": "aws-cdk-lib.aws_ec2.CfnVPCCidrBlock"
|
|
8462
|
-
},
|
|
8463
|
-
"kind": "array"
|
|
8464
|
-
}
|
|
9262
|
+
"primitive": "string"
|
|
8465
9263
|
}
|
|
8466
9264
|
},
|
|
8467
9265
|
{
|
|
@@ -8473,7 +9271,7 @@
|
|
|
8473
9271
|
"immutable": true,
|
|
8474
9272
|
"locationInModule": {
|
|
8475
9273
|
"filename": "lib/vpc-v2-base.ts",
|
|
8476
|
-
"line":
|
|
9274
|
+
"line": 170
|
|
8477
9275
|
},
|
|
8478
9276
|
"name": "vpcArn",
|
|
8479
9277
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -8490,7 +9288,7 @@
|
|
|
8490
9288
|
"immutable": true,
|
|
8491
9289
|
"locationInModule": {
|
|
8492
9290
|
"filename": "lib/vpc-v2-base.ts",
|
|
8493
|
-
"line":
|
|
9291
|
+
"line": 175
|
|
8494
9292
|
},
|
|
8495
9293
|
"name": "vpcCidrBlock",
|
|
8496
9294
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -8507,7 +9305,7 @@
|
|
|
8507
9305
|
"immutable": true,
|
|
8508
9306
|
"locationInModule": {
|
|
8509
9307
|
"filename": "lib/vpc-v2-base.ts",
|
|
8510
|
-
"line":
|
|
9308
|
+
"line": 165
|
|
8511
9309
|
},
|
|
8512
9310
|
"name": "vpcId",
|
|
8513
9311
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -8523,7 +9321,7 @@
|
|
|
8523
9321
|
"immutable": true,
|
|
8524
9322
|
"locationInModule": {
|
|
8525
9323
|
"filename": "lib/vpc-v2-base.ts",
|
|
8526
|
-
"line":
|
|
9324
|
+
"line": 500
|
|
8527
9325
|
},
|
|
8528
9326
|
"name": "internetGatewayId",
|
|
8529
9327
|
"optional": true,
|
|
@@ -8531,6 +9329,52 @@
|
|
|
8531
9329
|
"primitive": "string"
|
|
8532
9330
|
}
|
|
8533
9331
|
},
|
|
9332
|
+
{
|
|
9333
|
+
"abstract": true,
|
|
9334
|
+
"docs": {
|
|
9335
|
+
"stability": "experimental",
|
|
9336
|
+
"summary": "IPv4 CIDR provisioned under pool Required to check for overlapping CIDRs after provisioning is complete under IPAM pool."
|
|
9337
|
+
},
|
|
9338
|
+
"immutable": true,
|
|
9339
|
+
"locationInModule": {
|
|
9340
|
+
"filename": "lib/vpc-v2-base.ts",
|
|
9341
|
+
"line": 238
|
|
9342
|
+
},
|
|
9343
|
+
"name": "ipv4IpamProvisionedCidrs",
|
|
9344
|
+
"optional": true,
|
|
9345
|
+
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
9346
|
+
"type": {
|
|
9347
|
+
"collection": {
|
|
9348
|
+
"elementtype": {
|
|
9349
|
+
"primitive": "string"
|
|
9350
|
+
},
|
|
9351
|
+
"kind": "array"
|
|
9352
|
+
}
|
|
9353
|
+
}
|
|
9354
|
+
},
|
|
9355
|
+
{
|
|
9356
|
+
"abstract": true,
|
|
9357
|
+
"docs": {
|
|
9358
|
+
"stability": "experimental",
|
|
9359
|
+
"summary": "Secondary IPs for the VPC, can be multiple Ipv4 or Ipv6 Ipv4 should be within RFC#1918 range."
|
|
9360
|
+
},
|
|
9361
|
+
"immutable": true,
|
|
9362
|
+
"locationInModule": {
|
|
9363
|
+
"filename": "lib/vpc-v2-base.ts",
|
|
9364
|
+
"line": 213
|
|
9365
|
+
},
|
|
9366
|
+
"name": "secondaryCidrBlock",
|
|
9367
|
+
"optional": true,
|
|
9368
|
+
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
9369
|
+
"type": {
|
|
9370
|
+
"collection": {
|
|
9371
|
+
"elementtype": {
|
|
9372
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.IVPCCidrBlock"
|
|
9373
|
+
},
|
|
9374
|
+
"kind": "array"
|
|
9375
|
+
}
|
|
9376
|
+
}
|
|
9377
|
+
},
|
|
8534
9378
|
{
|
|
8535
9379
|
"docs": {
|
|
8536
9380
|
"stability": "experimental",
|
|
@@ -8539,7 +9383,7 @@
|
|
|
8539
9383
|
"immutable": true,
|
|
8540
9384
|
"locationInModule": {
|
|
8541
9385
|
"filename": "lib/vpc-v2-base.ts",
|
|
8542
|
-
"line":
|
|
9386
|
+
"line": 493
|
|
8543
9387
|
},
|
|
8544
9388
|
"name": "vpnGatewayId",
|
|
8545
9389
|
"optional": true,
|
|
@@ -8555,7 +9399,7 @@
|
|
|
8555
9399
|
},
|
|
8556
9400
|
"locationInModule": {
|
|
8557
9401
|
"filename": "lib/vpc-v2-base.ts",
|
|
8558
|
-
"line":
|
|
9402
|
+
"line": 243
|
|
8559
9403
|
},
|
|
8560
9404
|
"name": "incompleteSubnetDefinition",
|
|
8561
9405
|
"protected": true,
|
|
@@ -8581,7 +9425,7 @@
|
|
|
8581
9425
|
"kind": "interface",
|
|
8582
9426
|
"locationInModule": {
|
|
8583
9427
|
"filename": "lib/vpc-v2.ts",
|
|
8584
|
-
"line":
|
|
9428
|
+
"line": 143
|
|
8585
9429
|
},
|
|
8586
9430
|
"name": "VpcV2Props",
|
|
8587
9431
|
"properties": [
|
|
@@ -8596,7 +9440,7 @@
|
|
|
8596
9440
|
"immutable": true,
|
|
8597
9441
|
"locationInModule": {
|
|
8598
9442
|
"filename": "lib/vpc-v2.ts",
|
|
8599
|
-
"line":
|
|
9443
|
+
"line": 185
|
|
8600
9444
|
},
|
|
8601
9445
|
"name": "defaultInstanceTenancy",
|
|
8602
9446
|
"optional": true,
|
|
@@ -8614,7 +9458,7 @@
|
|
|
8614
9458
|
"immutable": true,
|
|
8615
9459
|
"locationInModule": {
|
|
8616
9460
|
"filename": "lib/vpc-v2.ts",
|
|
8617
|
-
"line":
|
|
9461
|
+
"line": 166
|
|
8618
9462
|
},
|
|
8619
9463
|
"name": "enableDnsHostnames",
|
|
8620
9464
|
"optional": true,
|
|
@@ -8632,7 +9476,7 @@
|
|
|
8632
9476
|
"immutable": true,
|
|
8633
9477
|
"locationInModule": {
|
|
8634
9478
|
"filename": "lib/vpc-v2.ts",
|
|
8635
|
-
"line":
|
|
9479
|
+
"line": 173
|
|
8636
9480
|
},
|
|
8637
9481
|
"name": "enableDnsSupport",
|
|
8638
9482
|
"optional": true,
|
|
@@ -8651,7 +9495,7 @@
|
|
|
8651
9495
|
"immutable": true,
|
|
8652
9496
|
"locationInModule": {
|
|
8653
9497
|
"filename": "lib/vpc-v2.ts",
|
|
8654
|
-
"line":
|
|
9498
|
+
"line": 150
|
|
8655
9499
|
},
|
|
8656
9500
|
"name": "primaryAddressBlock",
|
|
8657
9501
|
"optional": true,
|
|
@@ -8671,7 +9515,7 @@
|
|
|
8671
9515
|
"immutable": true,
|
|
8672
9516
|
"locationInModule": {
|
|
8673
9517
|
"filename": "lib/vpc-v2.ts",
|
|
8674
|
-
"line":
|
|
9518
|
+
"line": 159
|
|
8675
9519
|
},
|
|
8676
9520
|
"name": "secondaryAddressBlocks",
|
|
8677
9521
|
"optional": true,
|
|
@@ -8694,7 +9538,7 @@
|
|
|
8694
9538
|
"immutable": true,
|
|
8695
9539
|
"locationInModule": {
|
|
8696
9540
|
"filename": "lib/vpc-v2.ts",
|
|
8697
|
-
"line":
|
|
9541
|
+
"line": 192
|
|
8698
9542
|
},
|
|
8699
9543
|
"name": "vpcName",
|
|
8700
9544
|
"optional": true,
|
|
@@ -8706,6 +9550,6 @@
|
|
|
8706
9550
|
"symbolId": "lib/vpc-v2:VpcV2Props"
|
|
8707
9551
|
}
|
|
8708
9552
|
},
|
|
8709
|
-
"version": "2.
|
|
9553
|
+
"version": "2.166.0-alpha.0",
|
|
8710
9554
|
"fingerprint": "**********"
|
|
8711
9555
|
}
|