This module contains resource files and example variable definition files for creation of AWS Transity Gateway (TGW) and attaching a specified list of VPCs via the TGW. This module also updates both the Transit Gateway and VPC route tables. This module can be used to assist in deploying Cloudera Data Platform (CDP) Public Cloud in a fully private networking configuration where a CDP VPC and Networking VPC are connected using the Transit Gateway.
The examples directory has example of using this module:
ex01-vpc-tgw-attach
demonstrates how this module can be used to create a Transit Gateway to attach a private CDP VPC with a dedicated networking VPC. The terraform-aws-vpc module is also used as part of this example.
The README and sample terraform.tfvars.sample
describe how to use the example.
Name | Version |
---|---|
terraform | > 1.3.0 |
aws | >= 5.30 |
Name | Version |
---|---|
aws | >= 5.30 |
No modules.
Name | Type |
---|---|
aws_ec2_transit_gateway.tgw | resource |
aws_ec2_transit_gateway_route.tgw_routes | resource |
aws_ec2_transit_gateway_route_table.tgw_rt | resource |
aws_ec2_transit_gateway_route_table_association.tgw_rt_assoc | resource |
aws_ec2_transit_gateway_route_table_propagation.tgw_rt_propag | resource |
aws_ec2_transit_gateway_vpc_attachment.tgw_vpc_attach | resource |
aws_route.vpc_tgw_route | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
tgw_name | Name of the Transit Gateway. Also used to prefix associated TGW resource names. | string |
n/a | yes |
env_tags | Tags applied to provisioned resources | map(any) |
null |
no |
tgw_default_route_table_association | Automatically associate resource attachments with the default TGW association route table. Valid values are 'enable' or 'disable' | string |
"disable" |
no |
tgw_default_route_table_propagation | Automatically propagate resource attachments with the default TGW propagation route table. Valid values are 'enable' or 'disable' | string |
"disable" |
no |
tgw_dns_support | Enable DNS support for the Transit Gateway. Valid values are 'enable' or 'disable' | string |
"enable" |
no |
tgw_vpn_ecmp_support | Enable VPN Equal Cost Multipath Protocol support for the Transit Gateway. Valid values are 'enable' or 'disable' | string |
"enable" |
no |
vpc_attach_dns_support | Default behaviour for the VPC Attachment dns_support parameter if not specified in var.vpc_attachments | string |
"enable" |
no |
vpc_attach_tgw_default_route_table_association | Default behaviour for the VPC Attachment transit_gateway_default_route_table_association parameter if not specified in var.vpc_attachments | bool |
false |
no |
vpc_attach_tgw_default_route_table_propagation | Default behaviour for the VPC Attachment transit_gateway_default_route_table_propagation parameter if not specified in var.vpc_attachments | bool |
false |
no |
vpc_attachments | Map of map of VPC details to attach to the Transit Gateway. Type any to avoid validation on map key but should at least contain the vpc id and subnet id for the TGW attachment. | any |
{} |
no |
Name | Description |
---|---|
transit_gateway_arn | Transit Gateway Amazon Resource Name (ARN) |
transit_gateway_association_default_route_table_id | ID of the default association route table |
transit_gateway_id | Transit Gateway identifier |
transit_gateway_propagation_default_route_table_id | ID of the default propagation route table |
transit_gateway_route_table_details | Map of Transit Gateway Route Table attributes |
transit_gateway_route_table_ids | List of Transit Gateway Route Tables |
transit_gateway_vpc_attachment_details | Map of Transit Gateway VPC Attachment attributes |
transit_gateway_vpc_attachment_ids | List of Transit Gateway VPC Attachment identifiers |