IPAMPool
The IPAMPool resource allows you to manage AWS EC2 IPAMPools for efficient IP address management in your AWS environment.
Minimal Example
Section titled “Minimal Example”Create a basic IPAM pool with required properties and some common optional settings:
import AWS from "alchemy/aws/control";
const ipamPool = await AWS.EC2.IPAMPool("myIpamPool", { IpamScopeId: "ipam-scope-12345678", AddressFamily: "ipv4", AllocationDefaultNetmaskLength: 24, Description: "My first IPAM pool for IPv4 addresses"});
Advanced Configuration
Section titled “Advanced Configuration”Configure an IPAM pool with more advanced options including source resources and allocation settings:
const advancedIpamPool = await AWS.EC2.IPAMPool("advancedIpamPool", { IpamScopeId: "ipam-scope-87654321", AddressFamily: "ipv6", AllocationMinNetmaskLength: 48, AllocationMaxNetmaskLength: 64, PublicIpSource: "Amazon", AutoImport: true, Tags: [ { Key: "Environment", Value: "Production" }, { Key: "Project", Value: "IPManagement" } ]});
Creating a Publicly Advertisable IPAM Pool
Section titled “Creating a Publicly Advertisable IPAM Pool”Create an IPAM pool that is publicly addressable and describes its purpose:
const publicIpamPool = await AWS.EC2.IPAMPool("publicIpamPool", { IpamScopeId: "ipam-scope-12345678", AddressFamily: "ipv4", PubliclyAdvertisable: true, Description: "Publicly available IPAM pool for external services", ProvisionedCidrs: [ { Cidr: "203.0.113.0/24" } ]});
Importing Existing Resources
Section titled “Importing Existing Resources”Adopt existing resources into a new IPAM pool instead of failing on conflict:
const importedIpamPool = await AWS.EC2.IPAMPool("importedIpamPool", { IpamScopeId: "ipam-scope-87654321", AddressFamily: "ipv4", SourceIpamPoolId: "existing-ipam-pool-id", adopt: true, Description: "Importing an existing IPAM pool"});