diff --git a/README.md b/README.md index 8eb80a1..7221e5d 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [vpc\_ipam](#input\_vpc\_ipam) | Object of inputs for all IPAM configuration resources |
object({
ipam = optional(object({
operating_regions = list(object({
region_name = string
}))
tags = optional(map(string))
cascade = optional(bool)
description = optional(string)
}))
pools = optional(list(object({
name = optional(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_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({
cidr = optional(string)
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 = optional(string)
ipam_id = optional(string)
description = optional(string)
tags = optional(map(string))
})))
})
|
{
"ipam": {
"operating_regions": [
{}
]
},
"pool_cidr_allocations": [
{}
],
"pool_cidrs": [
{}
],
"pools": [
{}
],
"preview_next_cidr": {},
"scopes": [
{}
]
}
| no | +| [vpc\_ipam](#input\_vpc\_ipam) | Object of inputs for all IPAM configuration resources |
object({
ipam = optional(object({
operating_regions = list(object({
region_name = string
}))
tags = optional(map(string))
cascade = optional(bool)
description = optional(string)
}))
pools = optional(list(object({
name = optional(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_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({
cidr = optional(string)
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 = optional(string)
ipam_id = optional(string)
description = optional(string)
tags = optional(map(string))
})))
})
| n/a | yes | ## Outputs diff --git a/main.tf b/main.tf index e877fb1..505f4bf 100644 --- a/main.tf +++ b/main.tf @@ -17,18 +17,17 @@ resource "aws_vpc_ipam" "this" { resource "aws_vpc_ipam_pool" "this" { for_each = { for pool in coalesce(var.vpc_ipam.pools, []) : pool.name => pool } - address_family = each.value.address_family - #expects lowercase (need conditional) + address_family = try(lower(each.value.address_family), null) allocation_default_netmask_length = each.value.allocation_default_netmask_length allocation_max_netmask_length = each.value.allocation_max_netmask_length allocation_min_netmask_length = each.value.allocation_min_netmask_length allocation_resource_tags = each.value.allocation_resource_tags auto_import = each.value.auto_import - aws_service = each.value.aws_service + aws_service = try(lower(each.value.aws_service), null) description = each.value.description ipam_scope_id = each.value.ipam_scope_id #could be output of aws_vpc_ipam or aws_vpc_ipam_scope - try statement? - locale = each.value.locale + locale = try(lower(each.value.locale), null) publicly_advertisable = each.value.publicly_advertisable public_ip_source = each.value.public_ip_source source_ipam_pool_id = each.value.source_ipam_pool_id diff --git a/variables.tf b/variables.tf index 094e521..3e708be 100644 --- a/variables.tf +++ b/variables.tf @@ -52,27 +52,4 @@ variable "vpc_ipam" { tags = optional(map(string)) }))) }) - default = { - ipam = { - operating_regions = [{ - - }] - } - pools = [{ - - }] - pool_cidrs = [{ - - }] - - pool_cidr_allocations = [{ - - }] - preview_next_cidr = { - - } - scopes = [{ - - }] - } }