CfnVPCCidrBlockProps Struct
Properties for defining a CfnVPCCidrBlock.
Example
import { KubectlV36Layer } from '@aws-cdk/lambda-layer-kubectl-v36';
declare const vpc: ec2.Vpc;
function associateSubnetWithV6Cidr(vpc: ec2.Vpc, count: number, subnet: ec2.ISubnet) {
const cfnSubnet = subnet.node.defaultChild as ec2.CfnSubnet;
cfnSubnet.ipv6CidrBlock = Fn.select(count, Fn.cidr(Fn.select(0, vpc.vpcIpv6CidrBlocks), 256, (128 - 64).toString()));
cfnSubnet.assignIpv6AddressOnCreation = true;
}
// make an ipv6 cidr
const ipv6cidr = new ec2.CfnVPCCidrBlock(this, 'CIDR6', {
vpcId: vpc.vpcId,
amazonProvidedIpv6CidrBlock: true,
});
// connect the ipv6 cidr to all vpc subnets
let subnetcount = 0;
const subnets = vpc.publicSubnets.concat(vpc.privateSubnets);
for (let subnet of subnets) {
// Wait for the ipv6 cidr to complete
subnet.node.addDependency(ipv6cidr);
associateSubnetWithV6Cidr(vpc, subnetcount, subnet);
subnetcount = subnetcount + 1;
}
const cluster = new eks.Cluster(this, 'hello-eks', {
version: eks.KubernetesVersion.V1_36,
vpc: vpc,
ipFamily: eks.IpFamily.IP_V6,
vpcSubnets: [{ subnets: vpc.publicSubnets }],
kubectlLayer: new KubectlV36Layer(this, 'kubectl'),
});
Properties
amazonProvidedIpv6CidrBlockoptionalboolean | IResolvableamazon_provided_ipv6_cidr_blockoptionaltyping.Union[bool, IResolvable]amazonProvidedIpv6CidrBlockoptionalBooleanAmazonProvidedIpv6CidrBlockoptionalboolAmazonProvidedIpv6CidrBlockoptionalinterface{}#You cannot specify the range of IPv6 addresses or the size of the CIDR block.
cidrBlockoptionalstringcidr_blockoptionalstrcidrBlockoptionalStringCidrBlockoptionalstringCidrBlockoptional*string#ipv4IpamPoolIdoptionalstringipv4_ipam_pool_idoptionalstripv4IpamPoolIdoptionalStringIpv4IpamPoolIdoptionalstringIpv4IpamPoolIdoptional*string#For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide .
ipv4NetmaskLengthoptionalnumberipv4_netmask_lengthoptionalint | floatipv4NetmaskLengthoptionalNumberIpv4NetmaskLengthoptionaldoubleIpv4NetmaskLengthoptional*float64#For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide .
ipv6CidrBlockoptionalstringipv6_cidr_blockoptionalstripv6CidrBlockoptionalStringIpv6CidrBlockoptionalstringIpv6CidrBlockoptional*string#To let Amazon choose the IPv6 CIDR block for you, omit this parameter.
ipv6CidrBlockNetworkBorderGroupoptionalstringipv6_cidr_block_network_border_groupoptionalstripv6CidrBlockNetworkBorderGroupoptionalStringIpv6CidrBlockNetworkBorderGroupoptionalstringIpv6CidrBlockNetworkBorderGroupoptional*string#Use this parameter to limit the CIDR block to this location.
You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.
You can have one IPv6 CIDR block association per network border group.
ipv6IpamPoolIdoptionalstringipv6_ipam_pool_idoptionalstripv6IpamPoolIdoptionalStringIpv6IpamPoolIdoptionalstringIpv6IpamPoolIdoptional*string#For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide .
ipv6NetmaskLengthoptionalnumberipv6_netmask_lengthoptionalint | floatipv6NetmaskLengthoptionalNumberIpv6NetmaskLengthoptionaldoubleIpv6NetmaskLengthoptional*float64#For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide .
ipv6Pooloptionalstringipv6_pooloptionalstripv6PooloptionalStringIpv6PooloptionalstringIpv6Pooloptional*string#