Skip to content

Latest commit

 

History

History
70 lines (53 loc) · 6.76 KB

File metadata and controls

70 lines (53 loc) · 6.76 KB

Terraform Module for AWS Transit Gateway

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.

Usage

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.

Requirements

Name Version
terraform > 1.3.0
aws >= 5.30

Providers

Name Version
aws >= 5.30

Modules

No modules.

Resources

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

Inputs

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

Outputs

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