dynamic-subnets
cloudposse/dynamic-subnets/aws
Terraform module for public and private subnets provisioning in existing VPC
Terraform module to provision public and private subnets in an existing VPC __Note:__ This module is intended for use with an existing VPC and existing Internet Gateway. To create a new VPC, use terraform-aws-vpc module. __Note:__ Due to Terraform limitations, many optional inputs to this module are specified as a list(string) that can have zero or one element, rather than as a string that could be empty or null. The designation of an input as a list type does not necessarily mean that you can supply more than one value in the list, so check the input's description before supplying more than one value. The core function of this module is to create 2 sets of subnets, a "public" set with bidirectional access to the public internet, and a "private" set behind a firewall with egress-only acces
| Name | Type | Description | Default |
|---|---|---|---|
| vpc_id | string | VPC ID where subnets will be created (e.g. `vpc-aceb2723`) | required |
| aws_route_create_timeout | string | DEPRECATED: Use `route_create_timeout` instead. Time to wait for AWS route creat | null |
| private_label | string | The string to use in IDs and elsewhere to identify resources for the private sub | "private" |
| public_assign_ipv6_address_on_creation | bool | If `true`, network interfaces created in a public subnet will be assigned an IPv | true |
| metadata_http_put_response_hop_limit | number | The desired HTTP PUT response hop limit (between 1 and 64) for instance metadata | 1 |
| nat_instance_root_block_device_encrypted | bool | Whether to encrypt the root block device on the created NAT instances | true |
| ipv4_public_instance_hostnames_enabled | bool | If `true`, DNS queries for instance hostnames in the public subnets will be answ | false |
| context | any | Single object for setting entire context at once. See description of individual | {
"additional_tag_map": {},
"attribu |
| tenant | string | ID element _(Rarely used, not included by default)_. A customer identifier, indi | null |
| subnet_type_tag_key | string | DEPRECATED: Use `public_subnets_additional_tags` and `private_subnets_additional | null |
| ipv4_enabled | bool | Set `true` to enable IPv4 addresses in the subnets | true |
| nat_elastic_ips | list(string) | Existing Elastic IPs (not EIP IDs) to attach to the NAT Gateway(s) or Instance(s | [] |
| public_subnets_additional_tags | map(string) | Additional tags to be added to public subnets | {} |
| subnets_per_az_names | list(string) | The subnet names of each type (public or private) to provision per Availability | [
"common"
] |
| map_public_ip_on_launch | bool | If `true`, instances launched into a public subnet will be assigned a public IPv | true |
| public_label | string | The string to use in IDs and elsewhere to identify resources for the public subn | "public" |
| nat_gateway_public_subnet_names | list(string) | The names of the public subnets in each AZ where NAT Gateways should be placed. | null |
| nat_instance_type | string | NAT Instance type | "t3.micro" |
| labels_as_tags | set(string) | Set of labels (ID elements) to include as tags in the `tags` output. Default is | [
"default"
] |
| max_nats | number | Upper limit on number of NAT Gateways/Instances to create. Set to 1 or 2 for cos | 999 |
| public_route_table_enabled | bool | If `true`, network route table(s) will be created as determined by `public_route | true |
| … and 10 more inputs | |||
public_subnet_arns — ARNs of the created public subnetspublic_network_acl_id — ID of the Network ACL created for public subnetsnat_gateway_ids — IDs of the NAT Gateways creatednat_instance_ids — IDs of the NAT Instances creatednat_gateway_public_ips — DEPRECATED: use `nat_ips` instead. Public IPv4 IP addresses in use by NAT.availability_zone_ids — List of Availability Zones IDs where subnets were created, when availableprivate_subnet_ipv6_cidrs — IPv6 CIDR blocks of the created private subnetspublic_route_table_ids — IDs of the created public route tablesaz_private_subnets_map — Map of AZ names to list of private subnet IDs in the AZsprivate_subnet_cidrs — IPv4 CIDR blocks of the created private subnetsprivate_network_acl_id — ID of the Network ACL created for private subnetsnat_ips — Elastic IP Addresses in use by NATaz_public_subnets_map — Map of AZ names to list of public subnet IDs in the AZspublic_subnet_ipv6_cidrs — IPv6 CIDR blocks of the created public subnetsaz_private_route_table_ids_map — Map of AZ names to list of private route table IDs in the AZsnamed_public_route_table_ids_map — Map of subnet names (specified in `public_subnets_per_az_names` or `subnets_per_az_names` variable) named_public_subnets_stats_map — Map of subnet names (specified in `public_subnets_per_az_names` or `subnets_per_az_names` variable) private_subnet_ids — IDs of the created private subnetspublic_subnet_cidrs — IPv4 CIDR blocks of the created public subnetsnat_gateway_private_ips — Private IP addresses of the NAT Gatewaysnat_instance_ami_id — ID of AMI used by NAT instancenamed_private_subnets_stats_map — Map of subnet names (specified in `private_subnets_per_az_names` or `subnets_per_az_names` variable)availability_zones — List of Availability Zones where subnets were createdpublic_subnet_ids — IDs of the created public subnetsnamed_private_subnets_map — Map of subnet names (specified in `private_subnets_per_az_names` or `subnets_per_az_names` variable)named_private_route_table_ids_map — Map of subnet names (specified in `private_subnets_per_az_names` or `subnets_per_az_names` variable)private_subnet_arns — ARNs of the created private subnetsprivate_route_table_ids — IDs of the created private route tablesnamed_public_subnets_map — Map of subnet names (specified in `public_subnets_per_az_names` or `subnets_per_az_names` variable) nat_eip_allocation_ids — Elastic IP allocations in use by NATAzure 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,