Skip to content

Quansight/terraform-aws-vpc-with-subnets

terraform-aws-vpc-with-subnets

A terraform module to create a vpc with dynamic subnets and VPC endpoints to allow for launching fargate tasks from private subnets, logging, and using SSM Parameter Store and KMS.

Example Usage

provider "aws" {
  region = var.region
}
module "vpc" {
  source             = "app.terraform.io/quansight/vpc-with-subnets/aws"
  version            = "v0.0.1"
  region             = var.region
  vpc_cidr_block     = var.vpc_cidr_block
  availability_zones = var.availability_zones
  vpc_name           = var.vpc_name
}

Providers

Name Version
aws 5.99.1

Resources

Name Type
aws_security_group.endpoint_security_group resource
aws_security_group_rule.vpc_endpoint_access_egress resource
aws_security_group_rule.vpc_endpoint_access_ingress resource
aws_vpc_endpoint.dkr resource
aws_vpc_endpoint.ecr resource
aws_vpc_endpoint.kms resource
aws_vpc_endpoint.logs resource
aws_vpc_endpoint.s3 resource
aws_vpc_endpoint.ssm resource

Inputs

Name Description Type Default Required
availability_zones Availability Zones for the VPC list(string)
[
"us-east1a",
"us-east1b",
"us-east1c"
]
no
region AWS Region to deploy in string "us-east-1" no
vpc_cidr_block Cidr block to use for the VPC. string "172.16.0.0/16" no
vpc_name Name for the VPC string n/a yes

Outputs

Name Description
additional_cidr_blocks A list of the additional IPv4 CIDR blocks associated with the VPC
additional_cidr_blocks_to_association_ids A map of the additional IPv4 CIDR blocks to VPC CIDR association IDs
availability_zone_ids List of Availability Zones IDs where subnets were created, when available
availability_zones List of Availability Zones where subnets were created
az_private_route_table_ids_map Map of AZ names to list of private route table IDs in the AZs
az_private_subnets_map Map of AZ names to list of private subnet IDs in the AZs
az_public_route_table_ids_map Map of AZ names to list of public route table IDs in the AZs
az_public_subnets_map Map of AZ names to list of public subnet IDs in the AZs
igw_id The ID of the Internet Gateway
named_private_route_table_ids_map Map of subnet names (specified in subnets_per_az_names variable) to lists of private route table IDs
named_private_subnets_map Map of subnet names (specified in subnets_per_az_names variable) to lists of private subnet IDs
named_private_subnets_stats_map Map of subnet names (specified in subnets_per_az_names variable) to lists of objects with each object having three items: AZ, private subnet ID, private route table ID
named_public_route_table_ids_map Map of subnet names (specified in subnets_per_az_names variable) to lists of public route table IDs
named_public_subnets_map Map of subnet names (specified in subnets_per_az_names variable) to lists of public subnet IDs
named_public_subnets_stats_map Map of subnet names (specified in subnets_per_az_names variable) to lists of objects with each object having three items: AZ, public subnet ID, public route table ID
nat_eip_allocation_ids Elastic IP allocations in use by NAT
nat_gateway_ids IDs of the NAT Gateways created
nat_instance_ami_id ID of AMI used by NAT instance
nat_instance_ids IDs of the NAT Instances created
nat_ips Elastic IP Addresses in use by NAT
private_network_acl_id ID of the Network ACL created for private subnets
private_route_table_ids IDs of the created private route tables
private_subnet_arns ARNs of the created private subnets
private_subnet_cidrs IPv4 CIDR blocks of the created private subnets
private_subnet_ids IDs of the created private subnets
public_network_acl_id ID of the Network ACL created for public subnets
public_route_table_ids IDs of the created public route tables
public_subnet_arns ARNs of the created public subnets
public_subnet_cidrs IPv4 CIDR blocks of the created public subnets
public_subnet_ids IDs of the created public subnets
vpc_arn The ARN of the VPC
vpc_cidr_block The primary IPv4 CIDR block of the VPC
vpc_default_network_acl_id The ID of the network ACL created by default on VPC creation
vpc_default_route_table_id The ID of the route table created by default on VPC creation
vpc_default_security_group_id The ID of the security group created by default on VPC creation
vpc_endpoint_sg_id ID of the security group that allows access to the vpc endpoints
vpc_id The ID of the VPC
vpc_main_route_table_id The ID of the main route table associated with this VPC

About

A terraform module to create a vpc with dynamic subnets.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published