ipam
aws-ia/ipam/aws
Terraform Module for create AWS IPAM Resources
Terraform Module for Amazon VPC IP Address Manager on AWS Note: For information regarding the 2.0 upgrade see our upgrade guide. This module helps deploy AWS IPAM including IPAM Pools, Provisioned CIDRs, and can help with sharing those pools via AWS RAM. Built to accommodate a wide range of use cases, this Terraform module can deploy both simple and complex Amazon Virtual Private Cloud (Amazon VPC) IP Address Manager (IPAM) configurations. It supports both symmetrically nested, multi-Region deployments (most common IPAM designs) as well as asymmetically nested deployments. Refer to the examples/ directory in this GitHub repository for examples. The embedded example below describes a symmetrically nested pool structure, including its configuration, implementation details, requirements, and
| Name | Type | Description | Default |
|---|---|---|---|
| pool_configurations | any | A multi-level, nested map describing nested IPAM pools. Can nest up to three lev | {} |
| top_ram_share_principals | list(string) | Principals to create RAM shares for top-level pool. | null |
| top_description | string | Description of top-level pool. | "" |
| address_family | string | IPv4/6 address family. | "ipv4" |
| top_cidr | list(string) | Top-level CIDR blocks. | null |
| top_name | string | Name of top-level pool. | null |
| top_publicly_advertisable | bool | Whether or not the top-level pool is publicly advertisable. | null |
| top_aws_service | string | AWS service, for usage with public IPs. Valid values "ec2". | null |
| ipam_scope_type | string | Which scope type to use. Valid inputs include `public` or `private`. You can alt | "private" |
| tags | any | Tags to add to the aws_vpc_ipam resource. | {} |
| top_netmask_length | number | Top-level netmask length to request. Not possible to use for IPv4. Only possible | null |
| create_ipam | bool | Determines whether to create an IPAM. If `false`, you must also provide a var.ip | true |
| top_auto_import | bool | `auto_import` setting for top-level pool. | null |
| top_cidr_authorization_contexts | list(object({ cidr = | CIDR must match a CIDR defined in `var.top_cidr`. A list of signed documents tha | [] |
| top_public_ip_source | string | public IP source for usage with public IPs. Valid values "amazon" or "byoip". | null |
| top_locale | string | locale of the top-level pool. Do not use this value unless building an ipv6 cont | null |
| ipam_scope_id | string | (Optional) Required if `var.ipam_id` is set. Determines which scope to deploy po | null |
pool_names — List of all pool names.pool_level_0 — Map of all pools at level 0.pools_level_1 — Map of all pools at level 1.pools_level_2 — Map of all pools at level 2.pools_level_3 — Map of all pools at level 3.ipam_info — If created, ouput the IPAM object information.operating_regions — List of all IPAM operating regions.