Skip to content
GitHubXDiscord

VPCCidrBlock

The VPCCidrBlock resource lets you manage AWS EC2 VPCCidrBlocks for a specified VPC, allowing you to add IPv4 and IPv6 CIDR blocks to your Virtual Private Cloud (VPC).

Create a basic VPC CIDR block with required properties and a common optional property.

import AWS from "alchemy/aws/control";
const vpcCidrBlock = await AWS.EC2.VPCCidrBlock("myVpcCidrBlock", {
VpcId: "vpc-12345678",
CidrBlock: "192.168.1.0/24",
Ipv4NetmaskLength: 24 // Optional: Specify the netmask length for IPv4
});

Add an IPv6 CIDR block with additional properties for IPv6 configuration.

const advancedVpcCidrBlock = await AWS.EC2.VPCCidrBlock("advancedVpcCidrBlock", {
VpcId: "vpc-12345678",
Ipv6CidrBlock: "2001:db8::/64", // Optional: Specify the CIDR block for IPv6
Ipv6NetmaskLength: 64, // Optional: Specify the netmask length for IPv6
AmazonProvidedIpv6CidrBlock: true // Optional: Request an Amazon-provided IPv6 CIDR block
});

If you want to adopt an existing resource instead of failing when it already exists, you can set the adopt property to true.

const adoptVpcCidrBlock = await AWS.EC2.VPCCidrBlock("adoptVpcCidrBlock", {
VpcId: "vpc-12345678",
CidrBlock: "192.168.2.0/24",
adopt: true // Optional: Adopt existing resource if it already exists
});

Create a VPC CIDR block using an IPAM pool for better IP address management.

const ipamVpcCidrBlock = await AWS.EC2.VPCCidrBlock("ipamVpcCidrBlock", {
VpcId: "vpc-12345678",
Ipv4IpamPoolId: "ipam-pool-12345678", // Optional: Specify the IPAM pool ID for IPv4
Ipv6IpamPoolId: "ipam-ipv6-pool-12345678", // Optional: Specify the IPAM pool ID for IPv6
Ipv4NetmaskLength: 24,
Ipv6NetmaskLength: 64
});