| availability_zones |
A list of availability zones for the subnets |
list(string) |
n/a |
yes |
| name |
Used as part of the resource names to indicate they are created and used within a specific name |
string |
n/a |
yes |
| cidr_block |
The CIDR block for the VPC |
string |
null |
no |
| codebuild_interface_endpoint |
Variables to provision a CodeBuild endpoint to the VPC |
object({ private_dns_enabled = bool security_group_ids = list(string) subnet_ids = list(string) }) |
null |
no |
| dhcp_options |
DHCP options to assign to the VPC |
object({ domain_name = string domain_name_servers = list(string) netbios_name_servers = list(string) netbios_node_type = number ntp_servers = list(string) }) |
null |
no |
| ebs_endpoint |
Variables to provision an EBS endpoint to the VPC |
object({ private_dns_enabled = bool security_group_ids = list(string) subnet_ids = list(string) }) |
null |
no |
| ec2_endpoint |
Variables to provision an EC2 endpoint to the VPC |
object({ private_dns_enabled = bool security_group_ids = list(string) subnet_ids = list(string) }) |
null |
no |
| ec2messages_endpoint |
Variables to provision an EC2 messages endpoint to the VPC |
object({ private_dns_enabled = bool security_group_ids = list(string) subnet_ids = list(string) }) |
null |
no |
| ecr_api_endpoint |
Variables to provision an ECR endpoint to the VPC |
object({ private_dns_enabled = bool security_group_ids = list(string) subnet_ids = list(string) }) |
null |
no |
| enable_nat_gateway |
Set to true to provision a NAT Gateway for each private subnet |
bool |
true |
no |
| enable_private_default_route |
Set to true to add a default route to the NAT gateway for each private subnet |
bool |
true |
no |
| flow_logs_cloudwatch |
Variables to enable flow logs for the VPC |
object({ iam_role_name = optional(string, "VpcFlowLogs") iam_role_name_prefix = optional(string) iam_role_postfix = optional(bool, true) iam_role_path = optional(string, "/") iam_role_permission_boundary = optional(string) kms_key_arn = optional(string) log_format = optional(string) log_group_name = optional(string) max_aggregation_interval = optional(number, 60) retention_in_days = optional(number, 90) traffic_type = optional(string, "ALL") }) |
null |
no |
| flow_logs_s3 |
Variables to enable flow logs stored in S3 for the VPC. Use 'bucket_name' to log to an S3 bucket created by this module. Alternatively, use 'log_destination' to specify a self-managed S3 bucket. The 'log_destination' variable accepts full S3 ARNs, optionally including object keys. |
object({ bucket_name = optional(string) kms_key_arn = optional(string) log_destination = optional(string) log_format = optional(string) max_aggregation_interval = optional(number, 60) retention_in_days = optional(number, 90) traffic_type = optional(string, "ALL")
destination_options = optional(object({ file_format = optional(string) hive_compatible_partitions = optional(bool) per_hour_partition = optional(bool, true) }), {}) }) |
null |
no |
| internet_gateway_tags |
Additional tags to set on the internet gateway |
map(string) |
{} |
no |
| ipv4_ipam |
The IPv4 IPAM configuration to use for the VPC |
object({ pool_id = string netmask_length = number }) |
null |
no |
| lambda_subnet_bits |
The number of bits used for the subnet mask |
number |
null |
no |
| logs_endpoint |
Variables to provision a log endpoint to the VPC |
object({ private_dns_enabled = bool security_group_ids = list(string) subnet_ids = list(string) }) |
null |
no |
| map_public_ip_on_launch |
Whether public IP addresses are assigned on instance launch |
bool |
false |
no |
| mgn_endpoint |
Variables to provision an MGN endpoint to the VPC |
object({ private_dns_enabled = bool security_group_ids = list(string) subnet_ids = list(string) }) |
null |
no |
| private_dynamodb_endpoint |
Deploy a DynamoDB endpoint for your private subnets |
bool |
false |
no |
| private_s3_endpoint |
Deploy an S3 endpoint for your private subnets |
bool |
false |
no |
| private_subnet_bits |
The number of bits used for the subnet mask |
number |
null |
no |
| private_subnet_tags |
Additional tags to set on the private subnets |
map(string) |
{} |
no |
| public_subnet_bits |
The number of bits used for the subnet mask |
number |
null |
no |
| public_subnet_tags |
Additional tags to set on the public subnets |
map(string) |
{} |
no |
| region |
The AWS region where resources will be created; if omitted the default provider region is used |
string |
null |
no |
| restrict_default_security_group |
Set to true to remove all rules from the default security group |
bool |
true |
no |
| s3_interface_endpoint |
Variables to provision an S3 interface endpoint to the VPC |
object({ security_group_ids = list(string) subnet_ids = list(string) }) |
null |
no |
| s3_route_table_ids |
Custom route table IDs for the S3 endpoint |
list(string) |
null |
no |
| share_private_subnets |
If set it will share the private subnets through resource access manager |
bool |
false |
no |
| share_public_subnets |
If set it will share the public subnets through resource access manager |
bool |
false |
no |
| shared_public_route_table |
Determines weather to use a single route table for all public networks |
bool |
true |
no |
| ssm_endpoint |
Variables to provision an SSM endpoint to the VPC |
object({ private_dns_enabled = bool security_group_ids = list(string) subnet_ids = list(string) }) |
null |
no |
| ssmmessages_endpoint |
Variables to provision an SSM messages endpoint to the VPC |
object({ private_dns_enabled = bool security_group_ids = list(string) subnet_ids = list(string) }) |
null |
no |
| subnet_sharing_custom_tags |
Custom tags to be added to a resource share for subnets |
map(string) |
{} |
no |
| tags |
A mapping of tags to assign to all resources |
map(string) |
{} |
no |
| transfer_server |
Variables to provision a Transfer Server endpoint to the VPC |
object({ security_group_ids = list(string) subnet_ids = list(string) private_dns_enabled = bool }) |
null |
no |
| vpc_tags |
Additional tags to set on the VPC |
map(string) |
{} |
no |