multi-az-subnets
cloudposse/multi-az-subnets/aws
Terraform module for multi-AZ public and private subnets provisioning
terraform-aws-multi-az-subnets   [![README Header][readme_header_img]][readme_header_link] [![Cloud Posse][logo]](https://cpco.io/homepage) Terraform module for multi-AZ subnets provisioning. The module creates private and public subnets in the provided Availability Zones. The public subnets are routed to the Internet Gateway specified by var.igw_id. nat_gateway_enabled flag controls the creation of NAT Gateways in the public subnets. The private subnets are routed to the NAT Gateways provided in the var.az_ngw_ids map. If you are creating subnets inside a VPC, consider using cloudposse/terraform-aws-dynamic-subnets instead. --- This project is part
| Name | Type | Description | Default |
|---|---|---|---|
| label_order | list(string) | The order in which the labels (ID elements) appear in the `id`. Defaults to ["na | required |
| enabled | bool | Set to false to prevent the module from creating any resources | required |
| stage | string | ID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'bu | required |
| delimiter | string | Delimiter to be used between ID elements. Defaults to `-` (hyphen). Set to `""` | required |
| tenant | string | ID element _(Rarely used, not included by default)_. A customer identifier, indi | required |
| label_key_case | string | Controls the letter case of the `tags` keys (label names) for tags generated by | required |
| environment | string | ID element. Usually used for region e.g. 'uw2', 'us-west-2', OR role 'prod', 'st | required |
| regex_replace_chars | string | Terraform regular expression (regex) string. Characters matching the regex will | required |
| availability_zones | list(string) | List of Availability Zones (e.g. `['us-east-1a', 'us-east-1b', 'us-east-1c']`) | required |
| name | string | ID element. Usually the component or solution name, e.g. 'app' or 'jenkins'. Thi | required |
| label_value_case | string | Controls the letter case of ID elements (labels) as included in `id`, set as tag | required |
| cidr_block | string | Base CIDR block which is divided into subnet CIDR blocks (e.g. `10.0.0.0/16`) | required |
| namespace | string | ID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp' | required |
| ipv6_cidr_block | string | Base IPv6 CIDR block which is divided into /64 subnet CIDR blocks | required |
| id_length_limit | number | Limit `id` to this many characters (minimum 6). Set to `0` for unlimited length. | required |
| vpc_id | string | VPC ID | required |
| public_network_acl_id | string | Network ACL ID that is added to the public subnets. If empty, a new ACL will be | "" |
| private_network_acl_id | string | Network ACL ID that is added to the private subnets. If empty, a new ACL will be | "" |
| public_network_acl_ingress | list(map(string)) | Egress network ACL rules | [
{
"action": "allow",
"cidr_b |
| labels_as_tags | set(string) | Set of labels (ID elements) to include as tags in the `tags` output. Default is | [
"default"
] |
| descriptor_formats | any | Describe additional descriptors to be output in the `descriptors` output map. Ma | {} |
| nat_gateway_enabled | string | Flag to enable/disable NAT Gateways creation in public subnets | "true" |
| ipv6_enabled | bool | Flag to enable/disable IPv6 creation in public subnets | false |
| type | string | Type of subnets to create (`private` or `public`) | "private" |
| az_ngw_ids | map(string) | Only for private subnets. Map of AZ names to NAT Gateway IDs that are used as de | {} |
| private_network_acl_ingress | list(map(string)) | Egress network ACL rules | [
{
"action": "allow",
"cidr_b |
| additional_tag_map | map(string) | Additional key-value pairs to add to each map in `tags_as_list_of_maps`. Not add | {} |
| private_network_acl_egress | list(map(string)) | Egress network ACL rules | [
{
"action": "allow",
"cidr_b |
| context | any | Single object for setting entire context at once. See description of individual | {
"additional_tag_map": {},
"attribu |
| max_subnets | string | Maximum number of subnets that can be created. The variable is used for CIDR blo | "6" |
| tags | map(string) | Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`). Neither the tag keys nor the t | {} |
| igw_id | string | Internet Gateway ID that is used as a default route when creating public subnets | "" |
| public_network_acl_egress | list(map(string)) | Egress network ACL rules | [
{
"action": "allow",
"cidr_b |
| attributes | list(string) | ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`, | [] |
az_route_table_ids — Map of AZ names to Route Table IDsaz_ngw_ids — Map of AZ names to NAT Gateway IDs (only for public subnets)az_subnet_map — Map of AZ names to map of information about subnetsaz_subnet_ids — Map of AZ names to subnet IDsaz_subnet_arns — Map of AZ names to subnet ARNsaz_subnet_cidr_blocks — Map of AZ names to subnet CIDR blocksaz_subnet_ipv6_cidr_blocks — Map of AZ names to subnet IPv6 CIDR blocksAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,