Patterned Designs HCL Module Registry
MODULE

vpc

v0.1.0 latest View all versions

Some text goes here

View Full Documentation Usage guides, examples & best practices
module "vpc" {
  source  = "registry.patterneddesigns.ca/patterneddesigns/vpc/aws"
  version = "0.1.0"
}
name required
string

Name of the VPC. Used for resource naming and SSM parameter paths.

Constraints
  • Name must be lowercase alphanumeric with hyphens, at least 3 characters.
vpc_cidr required
string

The IPv4 CIDR block for the VPC

Constraints
  • VPC CIDR must be a valid IPv4 CIDR block (e.g., 10.0.0.0/16).
availability_zones required
list(string)

List of availability zones for subnet distribution

Constraints
  • At least one availability zone must be specified.
enable_dns_hostnames
bool default: true

Enable DNS hostnames in the VPC

enable_nat_gateway
bool default: null

Enable NAT gateways for private subnet internet access

single_nat_gateway
bool default: true

Use a single NAT gateway instead of one per AZ

enable_ipv6
bool default: null

Enable IPv6 support for the VPC and subnets

tags
map(string) default: null

Tags to apply to all resources

publish_ssm_parameters
bool default: true

Publish VPC metadata to SSM Parameter Store for discovery by other modules

vpc_id

The ID of the VPC

vpc_cidr_block

The IPv4 CIDR block of the VPC

ipv6_cidr_block

The IPv6 CIDR block of the VPC (if enabled)

public_subnet_ids

List of public subnet IDs

private_subnet_ids

List of private subnet IDs

nat_gateway_ids

List of NAT gateway IDs

internet_gateway_id

The ID of the internet gateway

public_route_table_id

The ID of the public route table

private_route_table_ids

List of private route table IDs

ssm_parameter_paths

SSM parameter paths where VPC metadata is published