|
@@ -0,0 +1,31 @@
|
|
|
|
+resource "aws_ram_resource_share_accepter" "accept_tgw_share" {
|
|
|
|
+ count = var.accept_tgw_invitation ? 1 : 0
|
|
|
|
+ share_arn = var.tgw_share_arn
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+resource "aws_ec2_transit_gateway_vpc_attachment" "attach_tgw" {
|
|
|
|
+ count = var.vpc_info["tgw_attached"] ? 1 : 0
|
|
|
|
+ depends_on = [ aws_ram_resource_share_accepter.accept_tgw_share ]
|
|
|
|
+
|
|
|
|
+ #subnet_ids = concat(module.vpc.public_subnets, module.vpc.private_subnets)
|
|
|
|
+ subnet_ids = module.vpc.private_subnets # Note: Connects to all subnets in vpc, not just private ones
|
|
|
|
+ transit_gateway_id = var.tgw_id
|
|
|
|
+ vpc_id = module.vpc.vpc_id
|
|
|
|
+
|
|
|
|
+ tags = merge(
|
|
|
|
+ var.standard_tags,
|
|
|
|
+ var.tags
|
|
|
|
+ )
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+# The VPC automatically tells the TGW about its network, but the
|
|
|
|
+# VPCs themselves need to know what all to send to the TGW. For
|
|
|
|
+# our purposes, it's only RFC1918 addresses. In fact, just
|
|
|
|
+# 10.0.0.0/8 for now.
|
|
|
|
+resource "aws_route" "route_to_10" {
|
|
|
|
+ for_each = toset(concat(module.vpc.private_route_table_ids, module.vpc.public_route_table_ids))
|
|
|
|
+
|
|
|
|
+ route_table_id = each.value
|
|
|
|
+ destination_cidr_block = "10.0.0.0/8"
|
|
|
|
+ transit_gateway_id = var.tgw_id
|
|
|
|
+}
|