Inputs

The following input variables are supported:

nat_associations

Description: A mapping of NATed egress network traffic between subnets. Keys represent the source subnets. Values represent destination subnets that will contain the NAT resources.

Type: map(string)

Default: {}

subnets

Description: Subnet configuration

Type:

map(object({
az = string # Availability zone (either of the format 'a' or 'us-east-2a')
cidr_block = string # Subnet IP block
public = bool # If subnet is routable to and from the public internet
extra_tags = optional(map(string), {}) # Additional tags for the subnet
description = optional(string) # A description of the subnet's purpose
}))

Default: {}

vpc_cidr

Description: The main CIDR range for the VPC.

Type: string

Default: "10.0.0.0/16"

vpc_extra_tags

Description: Extra tags to add to the VPC resource.

Type: map(string)

Default: {}

vpc_flow_logs_enabled

Description: Whether to enable VPC flow logs

Type: bool

Default: false

vpc_flow_logs_expire_after_days

Description: How many days until VPC flow logs expire.

Type: number

Default: 30

vpc_name

Description: The name of the VPC resource.

Type: string

Default: n/a

vpc_peer_acceptances

Description: A list of VPC peering requests to accept. All VPC peers will be routable from all subnets.

Type:

map(object({
allow_dns = bool # Whether the remote VPC can use the DNS in this VPC.
cidr_block = string # The CIDR block to route to the remote VPC.
vpc_peering_connection_id = string # The peering connection ID produced from the VPC peer request.
}))

Default: {}

Outputs

The following outputs are exported:

nat_ips

Description: n/a

subnet_info

Description: Outputs a map of Subnet info.

test_config

Description: Configuration for the pf-vpc-network-test command

vpc_cidr

Description: n/a

vpc_id

Description: n/a

Providers

The following providers are needed by this module: