# --------------------------------------------------------------------------------------------------------------- # Allows the addition of validation to this terraform module. # --------------------------------------------------------------------------------------------------------------- data "aws_caller_identity" "first" { provider = aws.ohio } data "aws_partition" "aws_partition" {} resource "aws_iam_role_policy" "lambda_tgw_globalnetwork_attach_policy" { count = (var.network_manager_deployment==true ? 1:0) name = "lambda_tgw_globalnetwork_attach_policy" role = aws_iam_role.iam_for_lambda_tgw_globalnetwork_attach[0].id # Terraform "jsonencode" function converts a Terraform expression result to valid JSON syntax. # IAM Policy Statement # --------------------------------------------------------------------------------------------------------------- policy = jsonencode({ Version = "2012-10-17" Statement = [ { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*", "Effect": "Allow", "Condition": { "StringEquals": { "aws:PrincipalAccount": "${data.aws_caller_identity.first.account_id}" } } }, { "Action": ["networkmanager:RegisterTransitGateway"], "Resource": "arn:aws:networkmanager::${data.aws_caller_identity.first.account_id}:global-network/${var.network_manager_id}", "Effect": "Allow", "Condition": { "StringEquals": { "aws:PrincipalAccount": "${data.aws_caller_identity.first.account_id}" } } } ] }) } resource "aws_iam_role" "iam_for_lambda_tgw_globalnetwork_attach" { count = (var.network_manager_deployment==true ? 1:0) name = "iam_for_lambda_tgw_globalnetwork_attach" assume_role_policy = < DEPLOYS TRANSIT GATEWAYS #----------------------------------------------------------------------------------------------------- # NORTHERN VIRGINIA : us-east-1 //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-deployment-n_virginia" { source = "./create_transit_gateway" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true) || (var.deploy_transit_gateway_in_this_aws_region.n_virginia == true) ? 1:0) providers = {aws = aws.n_virginia} create_site_to_site_vpn = var.create_site_to_site_vpn.n_virginia remote_site_public_ip = var.remote_site_public_ip.n_virginia # var.remote_site_public_ip.hq remote_site_asn = var.remote_site_asn.n_virginia # var.remote_site_asn.hq amazon_side_asn = "64512" # BGP ASNs must be unique for each AWS TGW if you intend to peer & route between them. how_many_vpn_connections = var.how_many_vpn_connections.n_virginia enable_acceleration = var.enable_acceleration.n_virginia tunnel1_preshared_key = var.tunnel1_preshared_key.n_virginia tunnel2_preshared_key = var.tunnel2_preshared_key.n_virginia tunnel_inside_cidrs = var.tunnel_inside_cidrs.n_virginia tunnel_inside_ip_version = var.tunnel_inside_ip_version tunnel1_dpd_timeout_action = var.tunnel1_dpd_timeout_action tunnel2_dpd_timeout_action = var.tunnel2_dpd_timeout_action tunnel1_dpd_timeout_seconds = var.tunnel1_dpd_timeout_seconds tunnel2_dpd_timeout_seconds = var.tunnel2_dpd_timeout_seconds tunnel1_ike_versions = var.tunnel1_ike_versions tunnel2_ike_versions = var.tunnel2_ike_versions tunnel1_phase1_dh_group_numbers = var.tunnel1_phase1_dh_group_numbers tunnel2_phase1_dh_group_numbers = var.tunnel2_phase1_dh_group_numbers tunnel1_phase1_encryption_algorithms = var.tunnel1_phase1_encryption_algorithms tunnel2_phase1_encryption_algorithms = var.tunnel2_phase1_encryption_algorithms tunnel1_phase1_integrity_algorithms = var.tunnel1_phase1_integrity_algorithms tunnel2_phase1_integrity_algorithms = var.tunnel2_phase1_integrity_algorithms tunnel1_phase1_lifetime_seconds = var.tunnel1_phase1_lifetime_seconds tunnel2_phase1_lifetime_seconds = var.tunnel2_phase1_lifetime_seconds tunnel1_phase2_dh_group_numbers = var.tunnel1_phase2_dh_group_numbers tunnel2_phase2_dh_group_numbers = var.tunnel2_phase2_dh_group_numbers tunnel1_phase2_encryption_algorithms = var.tunnel1_phase2_encryption_algorithms tunnel2_phase2_encryption_algorithms = var.tunnel2_phase2_encryption_algorithms tunnel1_phase2_integrity_algorithms = var.tunnel1_phase2_integrity_algorithms tunnel2_phase2_integrity_algorithms = var.tunnel2_phase2_integrity_algorithms tunnel1_phase2_lifetime_seconds = var.tunnel1_phase2_lifetime_seconds tunnel2_phase2_lifetime_seconds = var.tunnel2_phase2_lifetime_seconds tunnel1_rekey_fuzz_percentage = var.tunnel1_rekey_fuzz_percentage tunnel2_rekey_fuzz_percentage = var.tunnel2_rekey_fuzz_percentage tunnel1_rekey_margin_time_seconds = var.tunnel1_rekey_margin_time_seconds tunnel2_rekey_margin_time_seconds = var.tunnel2_rekey_margin_time_seconds tunnel1_replay_window_size = var.tunnel1_replay_window_size tunnel2_replay_window_size = var.tunnel2_replay_window_size tunnel1_startup_action = var.tunnel1_startup_action tunnel2_startup_action = var.tunnel2_startup_action default_route_table_association = var.default_route_table_association.n_virginia default_route_table_propagation = var.default_route_table_propagation.n_virginia enable_integration_with_network_deployer_solution = var.enable_integration_with_network_deployer_solution.n_virginia centralized_packet_inspection_enabled = var.centralized_packet_inspection_enabled.n_virginia dns_support = var.dns_support.n_virginia vpn_ecmp_support = var.vpn_ecmp_support.n_virginia Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } data "aws_lambda_invocation" "tgw-globalnetwork-attach-n_virginia" { count = ((var.network_manager_deployment==true && var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true) || (var.network_manager_deployment==true && var.deploy_transit_gateway_in_this_aws_region.n_virginia == true) ? 1:0) function_name = aws_lambda_function.lambda_globalnetwork_tgw_attach[0].function_name input = < PEERS TRANSIT GATEWAYS #----------------------------------------------------------------------------------------------------- # PEERING : OHIO & NORTHERN VIRGINIA #----------------------------------------- # REQUESTER REGION : OHIO # ACCEPTOR : NORTHERN VIRGINIA #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-ohio-n-virginia" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true|| (var.deploy_transit_gateway_in_this_aws_region.n_virginia == true && var.deploy_transit_gateway_in_this_aws_region.ohio == true) ) && (var.transit_gateway_peering.ohio_n_virginia == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.ohio } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "us-east-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-n_virginia[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-ohio[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true|| (var.deploy_transit_gateway_in_this_aws_region.n_virginia == true && var.deploy_transit_gateway_in_this_aws_region.ohio == true) ) && (var.transit_gateway_peering.ohio_n_virginia == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.n_virginia transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-ohio-n-virginia[0].transit_gateway_peering_attachment_id } # PEERING : OHIO & CANADA_EAST (MONTREAL) #----------------------------------------- ############################## AMERICAN NORTHEAST ############################## # REQUESTER REGION : OHIO # ACCEPTOR : CANADA_EAST #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-ohio-n-canada_east" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.ohio == true && var.deploy_transit_gateway_in_this_aws_region.canada_east == true) ) && (var.transit_gateway_peering.ohio_canada_east == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.ohio } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "ca-central-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-canada-montreal[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-ohio[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-ohio-n-canada-east" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.ohio == true && var.deploy_transit_gateway_in_this_aws_region.canada_east == true) ) && (var.transit_gateway_peering.ohio_canada_east == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.canada_east transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-ohio-n-canada_east[0].transit_gateway_peering_attachment_id } # PEERING : CANADA_EAST (MONTREAL) & NORTHERN VIRGINIA #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : NORTHERN VIRGINIA # ACCEPTOR : CANADA_EAST #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-n_virginia-n-canada_east" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.n_virginia == true && var.deploy_transit_gateway_in_this_aws_region.canada_east == true) ) && (var.transit_gateway_peering.n_virginia_canada_east == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.n_virginia } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "ca-central-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-canada-montreal[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-n_virginia[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-n_virginia-n-canada-east" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.n_virginia == true && var.deploy_transit_gateway_in_this_aws_region.canada_east == true) ) && (var.transit_gateway_peering.n_virginia_canada_east == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.canada_east transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-n_virginia-n-canada_east[0].transit_gateway_peering_attachment_id } ############################## AMERICAN NORTHWEST ############################## # PEERING : OREGON & NORTHERN CALIFORNIA #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : OREGON # ACCEPTOR : NORTHERN CALIFORNIA #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-oregon-n-california" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.n_california == true && var.deploy_transit_gateway_in_this_aws_region.oregon == true) ) && (var.transit_gateway_peering.oregon_n_california == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.oregon } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "us-west-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-n_california[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-oregon[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-n_california-n-oregon" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.n_california == true && var.deploy_transit_gateway_in_this_aws_region.oregon == true) ) && (var.transit_gateway_peering.oregon_n_california == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.n_california transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-oregon-n-california[0].transit_gateway_peering_attachment_id } ############################## AMERICAN NORTHWEST : CONNECTING TO : AMERICAN NORTHEAST ############################## # PEERING : OREGON & OHIO #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : OREGON # ACCEPTOR : OHIO #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-oregon-n-ohio" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.ohio == true && var.deploy_transit_gateway_in_this_aws_region.oregon == true) ) && (var.transit_gateway_peering.ohio_oregon == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.oregon } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "us-east-2" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-ohio[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-oregon[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-oregon-n-ohio" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.ohio == true && var.deploy_transit_gateway_in_this_aws_region.oregon == true) ) && (var.transit_gateway_peering.ohio_oregon == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.ohio transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-oregon-n-ohio[0].transit_gateway_peering_attachment_id } # PEERING : OREGON & NORTHERN VIRGINIA #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : OREGON # ACCEPTOR : NORTHERN VIRGINIA #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-oregon-n-n_virginia" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.n_virginia == true && var.deploy_transit_gateway_in_this_aws_region.oregon == true) ) && (var.transit_gateway_peering.oregon_n_virginia == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.oregon } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "us-east-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-n_virginia[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-oregon[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-oregon-n-n_virginia" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.n_virginia == true && var.deploy_transit_gateway_in_this_aws_region.oregon == true) ) && (var.transit_gateway_peering.oregon_n_virginia == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.n_virginia transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-oregon-n-n_virginia[0].transit_gateway_peering_attachment_id } # PEERING : OREGON & CANADA_EAST #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : OREGON # ACCEPTOR : CANADA_EAST #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-oregon-n-canada-east" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.canada_east == true && var.deploy_transit_gateway_in_this_aws_region.oregon == true) ) && (var.transit_gateway_peering.oregon_canada_east == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.oregon } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "ca-central-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-canada-montreal[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-oregon[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-oregon-n-canada-east" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.canada_east == true && var.deploy_transit_gateway_in_this_aws_region.oregon == true) ) && (var.transit_gateway_peering.oregon_canada_east == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.canada_east transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-oregon-n-canada-east[0].transit_gateway_peering_attachment_id } # PEERING : NORTHERN CALIFORNIA & OHIO #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : NORTHERN CALIFORNIA # ACCEPTOR : OHIO #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-n_california-n-ohio" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.n_california == true && var.deploy_transit_gateway_in_this_aws_region.ohio == true) ) && (var.transit_gateway_peering.ohio_n_california == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.n_california } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "us-east-2" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-ohio[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-n_california[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-n_california-n-ohio" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.n_california == true && var.deploy_transit_gateway_in_this_aws_region.ohio == true) ) && (var.transit_gateway_peering.ohio_n_california == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.ohio transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-n_california-n-ohio[0].transit_gateway_peering_attachment_id } # PEERING : NORTHERN CALIFORNIA & NORTHERN VIRGINIA #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : NORTHERN CALIFORNIA # ACCEPTOR : NORTHERN VIRGINIA #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-n_california-n-n_virginia" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.n_california == true && var.deploy_transit_gateway_in_this_aws_region.n_virginia == true) ) && (var.transit_gateway_peering.n_california_n_virginia == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.n_california } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "us-east-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-n_virginia[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-n_california[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-n_california-n-n_virginia" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.n_california == true && var.deploy_transit_gateway_in_this_aws_region.n_virginia == true) ) && (var.transit_gateway_peering.n_california_n_virginia == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.n_virginia transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-n_california-n-n_virginia[0].transit_gateway_peering_attachment_id } ############################## AMERICA : CONNECTING TO : SAO PAULO ############################## # PEERING : NORTHEAST AMERICA WITH SAO PAULO #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : NORTHERN VIRGINIA # ACCEPTOR : SAO PAULO #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-n_virginia-n-sao-paulo" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sao-paulo == true && var.deploy_transit_gateway_in_this_aws_region.n_virginia == true) ) && (var.transit_gateway_peering.n_virginia_sao_paulo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.n_virginia } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "sa-east-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-sao-paulo[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-n_virginia[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-n_virginia-n-sao-paulo" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sao-paulo == true && var.deploy_transit_gateway_in_this_aws_region.n_virginia == true) ) && (var.transit_gateway_peering.n_virginia_sao_paulo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.sao_paulo transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-n_virginia-n-sao-paulo[0].transit_gateway_peering_attachment_id } # PEERING : NORTHWEST AMERICA WITH SAO PAULO #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : OREGON # ACCEPTOR : SAO PAULO #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-oregon-n-sao-paulo" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sao-paulo == true && var.deploy_transit_gateway_in_this_aws_region.oregon == true) ) && (var.transit_gateway_peering.oregon_n_sao_paulo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.oregon } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "sa-east-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-sao-paulo[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-oregon[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-oregon-n-sao-paulo" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sao-paulo == true && var.deploy_transit_gateway_in_this_aws_region.oregon == true) ) && (var.transit_gateway_peering.oregon_n_sao_paulo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.sao_paulo transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-oregon-n-sao-paulo[0].transit_gateway_peering_attachment_id } ############################## AMERICA : CONNECTING TO : EUROPE ############################## # PEERING : NORTHEAST AMERICA WITH LONDON #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : NORTHERN VIRGINIA # ACCEPTOR : LONDON #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-n_virginia-n-london" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.n_virginia == true && var.deploy_transit_gateway_in_this_aws_region.london == true) ) && (var.transit_gateway_peering.n_virginia_n_london == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.n_virginia } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "eu-west-2" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-london[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-n_virginia[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-n_virginia-n-london" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.n_virginia == true && var.deploy_transit_gateway_in_this_aws_region.london == true) ) && (var.transit_gateway_peering.n_virginia_n_london == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.london transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-n_virginia-n-london[0].transit_gateway_peering_attachment_id } # PEERING : NORTHWEST AMERICA WITH LONDON #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : OREGON # ACCEPTOR : LONDON #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-oregon-n-london" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.oregon == true && var.deploy_transit_gateway_in_this_aws_region.london == true) ) && (var.transit_gateway_peering.oregon_n_london == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.oregon } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "eu-west-2" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-london[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-oregon[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-oregon-n-london" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.oregon == true && var.deploy_transit_gateway_in_this_aws_region.london == true) ) && (var.transit_gateway_peering.oregon_n_london == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.london transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-oregon-n-london[0].transit_gateway_peering_attachment_id } ############################## EUROPE : CONNECTING TO : EUROPE ############################## # PEERING : LONDON WITH IRELAND #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : LONDON # ACCEPTOR : IRELAND #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-london-n-ireland" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.ireland == true && var.deploy_transit_gateway_in_this_aws_region.london == true) ) && (var.transit_gateway_peering.london_n_ireland == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.london } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "eu-west-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-ireland[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-london[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-london-n-ireland" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.ireland == true && var.deploy_transit_gateway_in_this_aws_region.london == true) ) && (var.transit_gateway_peering.london_n_ireland == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.ireland transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-london-n-ireland[0].transit_gateway_peering_attachment_id } # PEERING : LONDON WITH PARIS #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : LONDON # ACCEPTOR : PARIS #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-london-n-paris" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.paris == true && var.deploy_transit_gateway_in_this_aws_region.london == true) ) && (var.transit_gateway_peering.london_n_paris == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.london } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "eu-west-3" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-paris[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-london[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-london-n-paris" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.paris == true && var.deploy_transit_gateway_in_this_aws_region.london == true) ) && (var.transit_gateway_peering.london_n_paris == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.paris transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-london-n-paris[0].transit_gateway_peering_attachment_id } # PEERING : LONDON WITH FRANKFURT #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : LONDON # ACCEPTOR : FRANKFURT #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-london-n-frankfurt" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.frankfurt == true && var.deploy_transit_gateway_in_this_aws_region.london == true) ) && (var.transit_gateway_peering.london_n_frankfurt == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.london } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "eu-central-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-frankfurt[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-london[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-london-n-frankfurt" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.frankfurt == true && var.deploy_transit_gateway_in_this_aws_region.london == true) ) && (var.transit_gateway_peering.london_n_frankfurt == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.frankfurt transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-london-n-frankfurt[0].transit_gateway_peering_attachment_id } # PEERING : LONDON WITH STOCKHOLM #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : LONDON # ACCEPTOR : STOCKHOLM #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-london-n-stockholm" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.stockholm == true && var.deploy_transit_gateway_in_this_aws_region.london == true) ) && (var.transit_gateway_peering.london_n_stockholm == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.london } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "eu-north-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-stockholm[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-london[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-london-n-stockholm" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.stockholm == true && var.deploy_transit_gateway_in_this_aws_region.london == true) ) && (var.transit_gateway_peering.london_n_stockholm == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.stockholm transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-london-n-stockholm[0].transit_gateway_peering_attachment_id } # PEERING : IRELAND WITH PARIS #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : IRELAND # ACCEPTOR : PARIS #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-ireland-n-paris" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.paris == true && var.deploy_transit_gateway_in_this_aws_region.ireland == true) ) && (var.transit_gateway_peering.ireland_n_paris == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.ireland } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "eu-west-3" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-paris[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-ireland[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-ireland-n-paris" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.paris == true && var.deploy_transit_gateway_in_this_aws_region.ireland == true) ) && (var.transit_gateway_peering.ireland_n_paris == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.paris transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-ireland-n-paris[0].transit_gateway_peering_attachment_id } # PEERING : IRELAND WITH FRANKFURT #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : IRELAND # ACCEPTOR : FRANKFURT #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-ireland-n-frankfurt" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.frankfurt == true && var.deploy_transit_gateway_in_this_aws_region.ireland == true) ) && (var.transit_gateway_peering.ireland_n_frankfurt == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.ireland } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "eu-central-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-frankfurt[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-ireland[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-ireland-n-frankfurt" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.frankfurt == true && var.deploy_transit_gateway_in_this_aws_region.ireland == true) ) && (var.transit_gateway_peering.ireland_n_frankfurt == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.frankfurt transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-ireland-n-frankfurt[0].transit_gateway_peering_attachment_id } # PEERING : IRELAND WITH STOCKHOLM #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : IRELAND # ACCEPTOR : STOCKHOLM #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-ireland-n-stockholm" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.stockholm == true && var.deploy_transit_gateway_in_this_aws_region.ireland == true) ) && (var.transit_gateway_peering.london_n_stockholm == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.ireland } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "eu-north-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-stockholm[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-ireland[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-ireland-n-stockholm" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.stockholm == true && var.deploy_transit_gateway_in_this_aws_region.ireland == true) ) && (var.transit_gateway_peering.ireland_n_stockholm == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.stockholm transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-ireland-n-stockholm[0].transit_gateway_peering_attachment_id } # PEERING : FRANKFURT WITH STOCKHOLM #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : FRANKFURT # ACCEPTOR : STOCKHOLM #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-frankfurt-n-stockholm" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.frankfurt == true && var.deploy_transit_gateway_in_this_aws_region.stockholm == true) ) && (var.transit_gateway_peering.frankfurt_n_stockholm == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.frankfurt } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "eu-north-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-stockholm[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-frankfurt[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-frankfurt-n-stockholm" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.frankfurt == true && var.deploy_transit_gateway_in_this_aws_region.stockholm == true) ) && (var.transit_gateway_peering.frankfurt_n_stockholm == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.stockholm transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-frankfurt-n-stockholm[0].transit_gateway_peering_attachment_id } # PEERING : FRANKFURT WITH PARIS #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : FRANKFURT # ACCEPTOR : PARIS #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-frankfurt-n-paris" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.frankfurt == true && var.deploy_transit_gateway_in_this_aws_region.paris == true) ) && (var.transit_gateway_peering.frankfurt_n_paris == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.frankfurt } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "eu-west-3" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-paris[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-frankfurt[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-frankfurt-n-paris" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.frankfurt == true && var.deploy_transit_gateway_in_this_aws_region.paris == true) ) && (var.transit_gateway_peering.frankfurt_n_paris == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.paris transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-frankfurt-n-paris[0].transit_gateway_peering_attachment_id } # PEERING : STOCKHOLM WITH PARIS #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : STOCKHOLM # ACCEPTOR : PARIS #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-stockholm-n-paris" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.stockholm == true && var.deploy_transit_gateway_in_this_aws_region.paris == true) ) && (var.transit_gateway_peering.stockholm_n_paris == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.stockholm } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "eu-west-3" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-paris[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-stockholm[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-stockholm-n-paris" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.stockholm == true && var.deploy_transit_gateway_in_this_aws_region.paris == true) ) && (var.transit_gateway_peering.stockholm_n_paris == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.paris transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-stockholm-n-paris[0].transit_gateway_peering_attachment_id } ############################## ASIA ############################## # PEERING : MUMBAI WITH FRANKFURT #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : MUMBAI # ACCEPTOR : FRANKFURT #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-mumbai-n-frankfurt" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.frankfurt == true && var.deploy_transit_gateway_in_this_aws_region.mumbai == true) ) && (var.transit_gateway_peering.mumbai_n_frankfurt == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.mumbai } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "eu-central-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-frankfurt[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-mumbai[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-mumbai-n-frankfurt" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.frankfurt == true && var.deploy_transit_gateway_in_this_aws_region.mumbai == true) ) && (var.transit_gateway_peering.mumbai_n_frankfurt == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.frankfurt transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-mumbai-n-frankfurt[0].transit_gateway_peering_attachment_id } # PEERING : MUMBAI WITH SAO PAULO #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : MUMBAI # ACCEPTOR : SAO PAULO #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-mumbai-n-sao-paulo" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sao-paulo == true && var.deploy_transit_gateway_in_this_aws_region.mumbai == true) ) && (var.transit_gateway_peering.mumbai_n_sao_paulo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.mumbai } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "sa-east-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-sao-paulo[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-mumbai[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-mumbai-n-sao-paulo" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sao-paulo == true && var.deploy_transit_gateway_in_this_aws_region.mumbai == true) ) && (var.transit_gateway_peering.mumbai_n_sao_paulo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.sao_paulo transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-mumbai-n-sao-paulo[0].transit_gateway_peering_attachment_id } # PEERING : MUMBAI WITH TOKYO #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : MUMBAI # ACCEPTOR : TOKYO #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-mumbai-n-tokyo" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.tokyo == true && var.deploy_transit_gateway_in_this_aws_region.mumbai == true) ) && (var.transit_gateway_peering.mumbai_n_tokyo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.mumbai } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "ap-northeast-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-tokyo[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-mumbai[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-mumbai-n-tokyo" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.tokyo == true && var.deploy_transit_gateway_in_this_aws_region.mumbai == true) ) && (var.transit_gateway_peering.mumbai_n_tokyo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.tokyo transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-mumbai-n-tokyo[0].transit_gateway_peering_attachment_id } # PEERING : MUMBAI WITH SEOUL #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : MUMBAI # ACCEPTOR : SEOUL #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-mumbai-n-seoul" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.seoul == true && var.deploy_transit_gateway_in_this_aws_region.mumbai == true) ) && (var.transit_gateway_peering.mumbai_n_seoul == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.mumbai } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "ap-northeast-2" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-seoul[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-mumbai[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-mumbai-n-seoul" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.seoul == true && var.deploy_transit_gateway_in_this_aws_region.mumbai == true) ) && (var.transit_gateway_peering.mumbai_n_seoul == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.seoul transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-mumbai-n-seoul[0].transit_gateway_peering_attachment_id } # PEERING : MUMBAI WITH SINGAPORE #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : MUMBAI # ACCEPTOR : SINGAPORE #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-mumbai-n-singapore" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.singapore == true && var.deploy_transit_gateway_in_this_aws_region.mumbai == true) ) && (var.transit_gateway_peering.mumbai_n_singapore == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.mumbai } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "ap-southeast-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-singapore[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-mumbai[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-mumbai-n-singapore" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.singapore == true && var.deploy_transit_gateway_in_this_aws_region.mumbai == true) ) && (var.transit_gateway_peering.mumbai_n_singapore == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.singapore transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-mumbai-n-singapore[0].transit_gateway_peering_attachment_id } # PEERING : MUMBAI WITH SYDNEY #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : MUMBAI # ACCEPTOR : SYDNEY #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-mumbai-n-sydney" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sydney == true && var.deploy_transit_gateway_in_this_aws_region.mumbai == true) ) && (var.transit_gateway_peering.mumbai_n_sydney == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.mumbai } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "ap-southeast-2" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-sydney[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-mumbai[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-mumbai-n-sydney" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sydney == true && var.deploy_transit_gateway_in_this_aws_region.mumbai == true) ) && (var.transit_gateway_peering.mumbai_n_sydney == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.sydney transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-mumbai-n-sydney[0].transit_gateway_peering_attachment_id } # PEERING : SINGAPORE WITH SYDNEY #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : SINGAPORE # ACCEPTOR : SYDNEY #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-singapore-n-sydney" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sydney == true && var.deploy_transit_gateway_in_this_aws_region.singapore == true) ) && (var.transit_gateway_peering.singapore_n_sydney == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.singapore } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "ap-southeast-2" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-sydney[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-singapore[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-singapore-n-sydney" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sydney == true && var.deploy_transit_gateway_in_this_aws_region.singapore == true) ) && (var.transit_gateway_peering.singapore_n_sydney == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.sydney transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-singapore-n-sydney[0].transit_gateway_peering_attachment_id } # PEERING : SINGAPORE WITH TOKYO #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : SINGAPORE # ACCEPTOR : TOKYO #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-singapore-n-tokyo" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.tokyo == true && var.deploy_transit_gateway_in_this_aws_region.singapore == true) ) && (var.transit_gateway_peering.singapore_n_tokyo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.singapore } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "ap-northeast-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-tokyo[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-singapore[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-singapore-n-tokyo" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.tokyo == true && var.deploy_transit_gateway_in_this_aws_region.singapore == true) ) && (var.transit_gateway_peering.singapore_n_tokyo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.tokyo transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-singapore-n-tokyo[0].transit_gateway_peering_attachment_id } # PEERING : SINGAPORE WITH SEOUL #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : SINGAPORE # ACCEPTOR : SEOUL #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-singapore-n-seoul" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.seoul == true && var.deploy_transit_gateway_in_this_aws_region.singapore == true) ) && (var.transit_gateway_peering.singapore_n_seoul == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.singapore } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "ap-northeast-2" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-seoul[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-singapore[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-singapore-n-seoul" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.seoul == true && var.deploy_transit_gateway_in_this_aws_region.singapore == true) ) && (var.transit_gateway_peering.singapore_n_seoul == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.seoul transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-singapore-n-seoul[0].transit_gateway_peering_attachment_id } # ----- # PEERING : SYDNEY WITH TOKYO #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : SYDNEY # ACCEPTOR : TOKYO #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-sydney-n-tokyo" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.tokyo == true && var.deploy_transit_gateway_in_this_aws_region.sydney == true) ) && (var.transit_gateway_peering.sydney_n_tokyo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.sydney } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "ap-northeast-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-tokyo[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-sydney[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-sydney-n-tokyo" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.tokyo == true && var.deploy_transit_gateway_in_this_aws_region.sydney == true) ) && (var.transit_gateway_peering.sydney_n_tokyo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.tokyo transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-sydney-n-tokyo[0].transit_gateway_peering_attachment_id } # PEERING : SYDNEY WITH SEOUL #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : SINGAPORE # ACCEPTOR : SYDNEY #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-sydney-n-seoul" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.seoul == true && var.deploy_transit_gateway_in_this_aws_region.sydney == true) ) && (var.transit_gateway_peering.sydney_n_seoul == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.sydney } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "ap-northeast-2" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-seoul[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-sydney[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-sydney-n-seoul" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.seoul == true && var.deploy_transit_gateway_in_this_aws_region.sydney == true) ) && (var.transit_gateway_peering.sydney_n_seoul == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.seoul transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-sydney-n-seoul[0].transit_gateway_peering_attachment_id } # PEERING : TOKYO WITH SEOUL #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : TOKYO # ACCEPTOR : SEOUL #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-tokyo-n-seoul" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.seoul == true && var.deploy_transit_gateway_in_this_aws_region.tokyo == true) ) && (var.transit_gateway_peering.tokyo_n_seoul == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.tokyo } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "ap-northeast-2" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-seoul[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-tokyo[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-tokyo-n-seoul" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.seoul == true && var.deploy_transit_gateway_in_this_aws_region.tokyo == true) ) && (var.transit_gateway_peering.tokyo_n_seoul == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.seoul transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-tokyo-n-seoul[0].transit_gateway_peering_attachment_id } # PEERING : TOKYO WITH SAO PAULO #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : TOKYO # ACCEPTOR : SAO PAULO #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-tokyo-n-sao-paulo" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sao-paulo == true && var.deploy_transit_gateway_in_this_aws_region.tokyo == true) ) && (var.transit_gateway_peering.tokyo_n_sao_paulo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.tokyo } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "sa-east-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-sao-paulo[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-tokyo[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-tokyo-n-sao-paulo" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sao-paulo == true && var.deploy_transit_gateway_in_this_aws_region.tokyo == true) ) && (var.transit_gateway_peering.tokyo_n_sao_paulo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.sao_paulo transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-tokyo-n-sao-paulo[0].transit_gateway_peering_attachment_id } # PEERING : SYDNEY WITH SAO PAULO #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : SINGAPORE # ACCEPTOR : SAO PAULO #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-sydney-n-sao-paulo" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sao-paulo == true && var.deploy_transit_gateway_in_this_aws_region.sydney == true) ) && (var.transit_gateway_peering.sydney_n_sao_paulo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.sydney } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "sa-east-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-sao-paulo[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-sydney[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-sydney-n-sao-paulo" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sao-paulo == true && var.deploy_transit_gateway_in_this_aws_region.sydney == true) ) && (var.transit_gateway_peering.sydney_n_sao_paulo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.sao_paulo transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-sydney-n-sao-paulo[0].transit_gateway_peering_attachment_id } # PEERING : SINGAPORE WITH SAO PAULO #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : SINGAPORE # ACCEPTOR : SAO PAULO #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-singapore-n-sao-paulo" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sao-paulo == true && var.deploy_transit_gateway_in_this_aws_region.singapore == true) ) && (var.transit_gateway_peering.singapore_n_sao_paulo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.singapore } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "sa-east-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-sao-paulo[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-singapore[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-singapore-n-sao-paulo" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sao-paulo == true && var.deploy_transit_gateway_in_this_aws_region.singapore == true) ) && (var.transit_gateway_peering.singapore_n_sao_paulo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.sao_paulo transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-singapore-n-sao-paulo[0].transit_gateway_peering_attachment_id } # PEERING : PARIS WITH SAO PAULO #----------------------------------------------------------------------------------------------------- # REQUESTER REGION : PARIS # ACCEPTOR : SAO PAULO #----------------------------------------------------------------------------------------------------- //noinspection ConflictingProperties module "terraform-aws-fsf-tgw-peering-regions-paris-n-sao-paulo" { source = "./peer_transit_gateways" count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sao-paulo == true && var.deploy_transit_gateway_in_this_aws_region.paris == true) ) && (var.transit_gateway_peering.paris_n_sao_paulo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) providers = { aws = aws.paris } # transit gateway being peered with account id peer_account_id = data.aws_caller_identity.first.account_id # transit gateway being peered with region peer_region = "sa-east-1" # transit gateway being peered with peer_transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-sao-paulo[0].transit_gateway_id # transit gateway requesting to be peered transit_gateway_id = module.terraform-aws-fsf-tgw-deployment-paris[0].transit_gateway_id Application_ID = var.Application_ID Application_Name = var.Application_Name Business_Unit = var.Business_Unit Environment_Type = var.Environment_Type Supported_Networks = var.Supported_Networks CostCenterCode = var.CostCenterCode CreatedBy = var.CreatedBy Manager = var.Manager } resource "aws_ec2_transit_gateway_peering_attachment_accepter" "transit_gateway_peering_acceptance-paris-n-sao-paulo" { count = ((var.deploy_transit_gateway_in_this_aws_region.all_aws_regions == true || (var.deploy_transit_gateway_in_this_aws_region.sao-paulo == true && var.deploy_transit_gateway_in_this_aws_region.paris == true) ) && (var.transit_gateway_peering.paris_n_sao_paulo == true || var.transit_gateway_peering.build_complete_mesh == true) ? 1:0) provider = aws.sao_paulo transit_gateway_attachment_id = module.terraform-aws-fsf-tgw-peering-regions-paris-n-sao-paulo[0].transit_gateway_peering_attachment_id }