You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -146,12 +146,13 @@ The IPAM `operating_region` variable must be set for the primary Region in your
146
146
| <aname="input_create_ipam"></a> [create\_ipam](#input\_create\_ipam)| Determines whether to create an IPAM. If `false`, you must also provide a var.ipam\_scope\_id. |`bool`|`true`| no |
147
147
| <aname="input_ipam_scope_id"></a> [ipam\_scope\_id](#input\_ipam\_scope\_id)| (Optional) Required if `var.ipam_id` is set. Determines which scope to deploy pools into. |`string`|`null`| no |
148
148
| <aname="input_ipam_scope_type"></a> [ipam\_scope\_type](#input\_ipam\_scope\_type)| Which scope type to use. Valid inputs include `public` or `private`. You can alternatively provide your own scope ID. |`string`|`"private"`| no |
149
-
| <a name="input_pool_configurations"></a> [pool\_configurations](#input\_pool\_configurations) | A multi-level, nested map describing nested IPAM pools. Can nest up to three levels with the top level being outside the `pool_configurations` in vars prefixed `top_`. If arugument descriptions are omitted, you can find them in the [official documentation](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_ipam_pool#argument-reference).<br><br>- `ram_share_principals` = (optional, list(string)) of valid organization principals to create ram shares to.<br>- `name` = (optional, string) name to give the pool, the key of your map in var.pool\_configurations will be used if omitted.<br>- `description` = (optional, string) description to give the pool, the key of your map in var.pool\_configurations will be used if omitted.<br>- `cidr` = (optional, list(string)) list of CIDRs to provision into pool.<br><br>- `locale` = (optional, string) locale to set for pool.<br>- `auto_import` = (optional, string)<br>- `tags` = (optional, map(string))<br>- `allocation_default_netmask_length` = (optional, string)<br>- `allocation_max_netmask_length` = (optional, string)<br>- `allocation_min_netmask_length` = (optional, string)<br>- `allocation_resource_tags` = (optional, map(string))<br><br>The following arguments are available but only relevant for public ips<br>- `cidr_authorization_context` = (optional, map(string)) Details found in [official documentation](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_ipam_pool_cidr#cidr_authorization_context).<br>- `aws_service` = (optional, string)<br>- `publicly_advertisable` = (optional, bool)<br><br>- `sub_pools` = (nested repeats of pool\_configuration object above) | `any` | `{}` | no |
149
+
| <a name="input_pool_configurations"></a> [pool\_configurations](#input\_pool\_configurations) | A multi-level, nested map describing nested IPAM pools. Can nest up to three levels with the top level being outside the `pool_configurations` in vars prefixed `top_`. If arugument descriptions are omitted, you can find them in the [official documentation](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_ipam_pool#argument-reference).<br><br>- `ram_share_principals` = (optional, list(string)) of valid organization principals to create ram shares to.<br>- `name` = (optional, string) name to give the pool, the key of your map in var.pool\_configurations will be used if omitted.<br>- `description` = (optional, string) description to give the pool, the key of your map in var.pool\_configurations will be used if omitted.<br>- `cidr` = (optional, list(string)) list of CIDRs to provision into pool. Conflicts with `netmask_length`.<br>- `netmask_length` = (optional, number) netmask length to request provisioned into pool. Conflicts with `cidr`.<br><br>- `locale` = (optional, string) locale to set for pool.<br>- `auto_import` = (optional, string)<br>- `tags` = (optional, map(string))<br>- `allocation_default_netmask_length` = (optional, string)<br>- `allocation_max_netmask_length` = (optional, string)<br>- `allocation_min_netmask_length` = (optional, string)<br>- `allocation_resource_tags` = (optional, map(string))<br><br>The following arguments are available but only relevant for public ips<br>- `cidr_authorization_context` = (optional, map(string)) Details found in [official documentation](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_ipam_pool_cidr#cidr_authorization_context).<br>- `aws_service` = (optional, string)<br>- `publicly_advertisable` = (optional, bool)<br><br>- `sub_pools` = (nested repeats of pool\_configuration object above) | `any` | `{}` | no |
150
150
| <aname="input_tags"></a> [tags](#input\_tags)| Tags to add to the aws\_vpc\_ipam resource. |`any`|`{}`| no |
151
151
| <aname="input_top_auto_import"></a> [top\_auto\_import](#input\_top\_auto\_import)|`auto_import` setting for top-level pool. |`bool`|`null`| no |
152
152
| <aname="input_top_cidr_authorization_context"></a> [top\_cidr\_authorization\_context](#input\_top\_cidr\_authorization\_context)| A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP. Document is not stored in the state file. For more information, refer to https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_ipam_pool_cidr#cidr_authorization_context.|`any`|`null`| no |
153
153
| <aname="input_top_description"></a> [top\_description](#input\_top\_description)| Description of top-level pool. |`string`|`""`| no |
154
154
| <aname="input_top_name"></a> [top\_name](#input\_top\_name)| Name of top-level pool. |`string`|`null`| no |
155
+
| <aname="input_top_netmask_length"></a> [top\_netmask\_length](#input\_top\_netmask\_length)| Top-level netmask length to request. Not possible to use for IPv4. Only possible to use with amazon provided ipv6. |`number`|`null`| no |
155
156
| <aname="input_top_ram_share_principals"></a> [top\_ram\_share\_principals](#input\_top\_ram\_share\_principals)| Principals to create RAM shares for top-level pool. |`list(string)`|`null`| no |
| <aname="input_ipam_scope_id"></a> [ipam\_scope\_id](#input\_ipam\_scope\_id)| IPAM Scope ID to attach the pool to. |`string`| n/a | yes |
35
-
| <a name="input_pool_config"></a> [pool\_config](#input\_pool\_config) | Configuration of the Pool you want to deploy. All aws\_vpc\_ipam\_pool arguments are available as well as ram\_share\_principals list and sub\_pools map (up to 3 levels). | <pre>object({<br> cidr = list(string)<br> ram_share_principals = optional(list(string))<br><br> locale = optional(string)<br> allocation_default_netmask_length = optional(string)<br> allocation_max_netmask_length = optional(string)<br> allocation_min_netmask_length = optional(string)<br> auto_import = optional(string)<br> aws_service = optional(string)<br> description = optional(string)<br> name = optional(string)<br> publicly_advertisable = optional(bool)<br><br> allocation_resource_tags = optional(map(string))<br> tags = optional(map(string))<br> cidr_authorization_context = optional(map(string))<br><br> sub_pools = optional(any)<br> })</pre> | n/a | yes |
35
+
| <a name="input_pool_config"></a> [pool\_config](#input\_pool\_config) | Configuration of the Pool you want to deploy. All aws\_vpc\_ipam\_pool arguments are available as well as ram\_share\_principals list and sub\_pools map (up to 3 levels). | <pre>object({<br> cidr = optional(list(string))<br> ram_share_principals = optional(list(string))<br><br> locale = optional(string)<br> allocation_default_netmask_length = optional(string)<br> allocation_max_netmask_length = optional(string)<br> allocation_min_netmask_length = optional(string)<br> auto_import = optional(string)<br> aws_service = optional(string)<br> description = optional(string)<br> name = optional(string)<br> netmask_length = optional(number)<br> publicly_advertisable = optional(bool)<br><br> allocation_resource_tags = optional(map(string))<br> tags = optional(map(string))<br> cidr_authorization_context = optional(map(string))<br><br> sub_pools = optional(any)<br> })</pre> | n/a | yes |
36
36
| <aname="input_source_ipam_pool_id"></a> [source\_ipam\_pool\_id](#input\_source\_ipam\_pool\_id)| IPAM parent pool ID to attach the pool to. |`string`| n/a | yes |
37
37
| <aname="input_implied_description"></a> [implied\_description](#input\_implied\_description)| Description is implied from the pool tree name <parent>/<child> unless specified on the pool\_config. |`string`|`null`| no |
38
38
| <aname="input_implied_locale"></a> [implied\_locale](#input\_implied\_locale)| Locale is implied from a parent pool even if another is specified. Its not possible to set child pools to different locales. |`string`|`"None"`| no |
Copy file name to clipboardExpand all lines: modules/sub_pool/variables.tf
+9-13Lines changed: 9 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
variable"pool_config" {
2
2
description="Configuration of the Pool you want to deploy. All aws_vpc_ipam_pool arguments are available as well as ram_share_principals list and sub_pools map (up to 3 levels)."
3
3
type=object({
4
-
cidr =list(string)
4
+
cidr =optional(list(string))
5
5
ram_share_principals =optional(list(string))
6
6
7
7
locale =optional(string)
@@ -12,6 +12,7 @@ variable "pool_config" {
12
12
aws_service =optional(string)
13
13
description =optional(string)
14
14
name =optional(string)
15
+
netmask_length =optional(number)
15
16
publicly_advertisable =optional(bool)
16
17
17
18
allocation_resource_tags =optional(map(string))
@@ -21,18 +22,13 @@ variable "pool_config" {
21
22
sub_pools =optional(any)
22
23
})
23
24
24
-
# Validation to ensure keys
25
-
# if specify type = object() keys are silently dropped, no validation required but also no error if improper keys
26
-
# if speicy type = any we can validate which provides an error opportunity BUT values are not defaulted, makes code complex
0 commit comments