terraform-aws-tardigrade-vpc-ipam
It is important that you specify the ipam_scope_name
attribute to match either "public_default_scope", "private_default_scope", or exact match to your vpc_ipam.scopes.name
input on the first module call. Once you've created your scopes by name, then you can reference by id in subsequent module calls. You may also provide ipam_scope_id
instead of ipam_scope_name
. The two are mutually exclusive, do not provide both.
Managing a hierarchy of pools can be a bit tricky. You'll need to call the module successively to build up the structure, chaining the outputs together.
Name
Version
aws
>= 4.40.0
Name
Description
Type
Default
Required
vpc_ipam
Object of inputs for all IPAM configuration resources
object({ ipam = optional(object({ name = optional(string) operating_regions = list(object({ region_name = string })) tags = optional(map(string)) cascade = optional(bool) description = optional(string) })) pools = optional(list(object({ name = string address_family = optional(string) allocation_default_netmask_length = optional(number) allocation_max_netmask_length = optional(number) allocation_min_netmask_length = optional(number) allocation_resource_tags = optional(map(string)) auto_import = optional(bool) aws_service = optional(bool) description = optional(string) ipam_scope_name = optional(string) ipam_scope_id = optional(string) locale = optional(string) publicly_advertisable = optional(bool) public_ip_source = optional(string) source_ipam_pool_id = optional(string) tags = optional(map(string)) })), []) pool_cidrs = optional(list(object({ name = string cidr = optional(string) cidr_authorization_context = optional(object({ cidr_authorization_context_message = optional(string) cidr_authorization_context_signature = optional(string) })) ipam_pool_id = string netmask_length = optional(number) })), []) pool_cidr_allocations = optional(list(object({ cidr = optional(string) description = optional(string) disallowed_cidrs = optional(list(string)) ipam_pool_id = string netmask_length = optional(number) })), []) preview_next_cidr = optional(object({ disallowed_cidrs = optional(list(string)) ipam_pool_id = string netmask_length = optional(number) })) scopes = optional(list(object({ name = string description = optional(string) tags = optional(map(string)) })), []) })
n/a
yes
Name
Description
ipam
Object of all AWS VPC IPAM
pool_cidr
Map of VPC IPAM Pool Cidrs objects
pools
Map of VPC IPAM Pool Objects
scopes
Map of VPC IPAM Scope objects