Skip to content

IPAM

The IPAM (IP Address Manager) resource allows you to manage your IP address allocations and configurations within AWS EC2. For more details, refer to the AWS EC2 IPAMs documentation.

Minimal Example

Create a basic IPAM resource with required properties and a description.

ts
import AWS from "alchemy/aws/control";

const simpleIpam = await AWS.EC2.IPAM("simpleIpam", {
  Description: "Basic IPAM for managing IP addresses",
  Tier: "standard",
  EnablePrivateGua: true
});

Advanced Configuration

Configure an IPAM with additional options such as operating regions and tags.

ts
const advancedIpam = await AWS.EC2.IPAM("advancedIpam", {
  Description: "Advanced IPAM for multi-region management",
  Tier: "standard",
  EnablePrivateGua: true,
  OperatingRegions: [{
    RegionName: "us-west-1"
  }, {
    RegionName: "us-east-1"
  }],
  Tags: [{
    Key: "Project",
    Value: "Networking"
  }, {
    Key: "Environment",
    Value: "Production"
  }]
});

Resource Discovery Exclusions

Create an IPAM with specific exclusions for resource discovery within organizational units.

ts
const ipamWithExclusions = await AWS.EC2.IPAM("ipamWithExclusions", {
  Description: "IPAM with organizational unit exclusions",
  Tier: "standard",
  EnablePrivateGua: true,
  DefaultResourceDiscoveryOrganizationalUnitExclusions: [{
    OrganizationalUnitId: "ou-12345678"
  }]
});

Adoption of Existing Resources

Initialize an IPAM that adopts existing resources instead of failing if a resource already exists.

ts
const adoptedIpam = await AWS.EC2.IPAM("adoptedIpam", {
  Description: "IPAM that adopts existing resources",
  Tier: "standard",
  EnablePrivateGua: true,
  adopt: true
});