diff --git a/vpc-transit-gateway-association/peer/README.md b/vpc-transit-gateway-association/peer/README.md
index 2accc13..6977818 100644
--- a/vpc-transit-gateway-association/peer/README.md
+++ b/vpc-transit-gateway-association/peer/README.md
@@ -103,6 +103,8 @@ No modules.
| [tags](#input\_tags) | AWS Tags to apply to appropriate resources (S3, KMS). Do not include safeguard tags here, use the data\_safeguard field for such things. | `map(string)` | `{}` | no |
| [transit\_gateway\_environment](#input\_transit\_gateway\_environment) | Transit Gateway Environment (aka, VRF) to which to connnect this VPC | `string` | n/a | yes |
| [transit\_gateway\_label](#input\_transit\_gateway\_label) | Transit Gateway label for specific instance (sa, prod) | `string` | `"prod"` | no |
+| [vpc\_cidr\_block](#input\_vpc\_cidr\_block) | VPC CIDR Block | `string` | `null` | no |
+| [vpc\_cidr\_blocks](#input\_vpc\_cidr\_blocks) | VPC CIDR Block List | `list(string)` | `[]` | no |
| [vpc\_environment](#input\_vpc\_environment) | VPC environment purpose (infrastructure, common, shared, dev, stage, ite, prod) | `string` | `null` | no |
| [vpc\_full\_name](#input\_vpc\_full\_name) | VPC full name component (vpc{index}-{vpc\_name}) | `string` | `null` | no |
| [vpc\_id](#input\_vpc\_id) | VPC ID | `string` | n/a | yes |
diff --git a/vpc-transit-gateway-association/peer/associate.tf b/vpc-transit-gateway-association/peer/associate.tf
index c253efb..2df02c0 100644
--- a/vpc-transit-gateway-association/peer/associate.tf
+++ b/vpc-transit-gateway-association/peer/associate.tf
@@ -3,7 +3,8 @@
#---
locals {
propagate_all_rt = ["services", "inter-region"]
- selected_rt = [for k in keys(local.transit_gateway_route_table_ids_peer) : k if ! contains(local.propagate_all_rt, k)]
+ # selected_rt = [for k in keys(local.transit_gateway_route_table_ids_peer) : k if ! contains(local.propagate_all_rt, k)]
+ selected_rt = [for k in keys(var.data_input.map_route_tables_peer) : k if ! contains(local.propagate_all_rt, k)]
}
#---
@@ -11,7 +12,8 @@ locals {
#---
resource "aws_ec2_transit_gateway_route" "vpc_peer_own_rt" {
provider = aws.peer
- for_each = { for k in local.selected_rt : k => local.transit_gateway_route_table_ids_peer[k] if k == var.transit_gateway_environment }
+ # for_each = { for k in local.selected_rt : k => local.transit_gateway_route_table_ids_peer[k] if k == var.transit_gateway_environment }
+ for_each = { for k in local.selected_rt : k => var.data_input.map_route_tables_peer[k] if k == var.transit_gateway_environment }
# destination_cidr_block = data.aws_vpc.vpc.cidr_block
destination_cidr_block = var.vpc_cidr_block
@@ -24,7 +26,8 @@ resource "aws_ec2_transit_gateway_route" "vpc_peer_own_rt" {
#--
resource "aws_ec2_transit_gateway_route" "vpc_peer_common" {
provider = aws.peer
- for_each = { "services" = local.transit_gateway_route_table_ids_peer["services"] }
+ # for_each = { "services" = local.transit_gateway_route_table_ids_peer["services"] }
+ for_each = { "services" = var.data_input.map_route_tables_peer["services"] }
# destination_cidr_block = data.aws_vpc.vpc.cidr_block
destination_cidr_block = var.vpc_cidr_block
@@ -37,7 +40,8 @@ resource "aws_ec2_transit_gateway_route" "vpc_peer_common" {
#--
resource "aws_ec2_transit_gateway_route" "vpc_peer_all" {
provider = aws.peer
- for_each = contains(local.propagate_all_rt, var.transit_gateway_environment) ? { for k in local.selected_rt : k => local.transit_gateway_route_table_ids_peer[k] } : {}
+ # for_each = contains(local.propagate_all_rt, var.transit_gateway_environment) ? { for k in local.selected_rt : k => local.transit_gateway_route_table_ids_peer[k] } : {}
+ for_each = contains(local.propagate_all_rt, var.transit_gateway_environment) ? { for k in local.selected_rt : k => var.data_input.map_route_tables_peer[k] } : {}
# destination_cidr_block = data.aws_vpc.vpc.cidr_block
destination_cidr_block = var.vpc_cidr_block
diff --git a/vpc-transit-gateway-association/peer/outputs.tf b/vpc-transit-gateway-association/peer/outputs.tf
index c161df8..78a51a4 100644
--- a/vpc-transit-gateway-association/peer/outputs.tf
+++ b/vpc-transit-gateway-association/peer/outputs.tf
@@ -24,10 +24,12 @@ output "route_tables_peer" {
output "map_route_tables_self" {
description = "Transit Gateway route tables map (VRF:id) self (this region)"
- value = local.transit_gateway_route_table_ids_self
+ # value = local.transit_gateway_route_table_ids_self
+ value = var.data_input.map_route_tables_self
}
output "map_route_tables_peer" {
description = "Transit Gateway route tables map (VRF:id) peer (other region)"
- value = local.transit_gateway_route_table_ids_peer
+ # value = local.transit_gateway_route_table_ids_peer
+ value = var.data_input.map_route_tables_peeer
}
diff --git a/vpc-transit-gateway-association/self/associate.tf b/vpc-transit-gateway-association/self/associate.tf
index b9c157e..5b9f9cb 100644
--- a/vpc-transit-gateway-association/self/associate.tf
+++ b/vpc-transit-gateway-association/self/associate.tf
@@ -30,9 +30,10 @@ output "vpc_attachment_id" {
# assocaite this vpc to route table in self (my region, network account)
#---
resource "aws_ec2_transit_gateway_route_table_association" "route_table_self" {
- provider = aws.self
- transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.vpc_attachment.id
- transit_gateway_route_table_id = local.transit_gateway_route_table_ids_self[var.transit_gateway_environment]
+ provider = aws.self
+ transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.vpc_attachment.id
+ # transit_gateway_route_table_id = local.transit_gateway_route_table_ids_self[var.transit_gateway_environment]
+ transit_gateway_route_table_id = var.data_input.map_route_tables_self[var.transit_gateway_environment]
}
#---
@@ -40,7 +41,8 @@ resource "aws_ec2_transit_gateway_route_table_association" "route_table_self" {
#---
locals {
propagate_all_rt = ["services", "inter-region"]
- selected_rt = [for k in keys(local.transit_gateway_route_table_ids_self) : k if ! contains(local.propagate_all_rt, k)]
+ # selected_rt = [for k in keys(local.transit_gateway_route_table_ids_self) : k if ! contains(local.propagate_all_rt, k)]
+ selected_rt = [for k in keys(var.data_input.map_route_tables_self) : k if ! contains(local.propagate_all_rt, k)]
}
#---
@@ -51,7 +53,8 @@ locals {
#---
resource "aws_ec2_transit_gateway_route_table_propagation" "vpc_self_own_rt" {
provider = aws.self
- for_each = var.transit_gateway_environment == "services" ? { for k in local.selected_rt : k => local.transit_gateway_route_table_ids_self[k] } : { (var.transit_gateway_environment) = local.transit_gateway_route_table_ids_self[var.transit_gateway_environment] }
+ # for_each = var.transit_gateway_environment == "services" ? { for k in local.selected_rt : k => local.transit_gateway_route_table_ids_self[k] } : { (var.transit_gateway_environment) = local.transit_gateway_route_table_ids_self[var.transit_gateway_environment] }
+ for_each = var.transit_gateway_environment == "services" ? { for k in local.selected_rt : k => var.data_input.map_route_tables_self[k] } : { (var.transit_gateway_environment) = var.data_input.map_route_tables_self[var.transit_gateway_environment] }
transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.vpc_attachment.id
transit_gateway_route_table_id = each.value
@@ -63,9 +66,9 @@ resource "aws_ec2_transit_gateway_route_table_propagation" "vpc_self_own_rt" {
#---
resource "aws_ec2_transit_gateway_route_table_propagation" "vpc_self_common" {
provider = aws.self
- for_each = { for k in local.propagate_all_rt : k => local.transit_gateway_route_table_ids_self[k] }
+ # for_each = { for k in local.propagate_all_rt : k => local.transit_gateway_route_table_ids_self[k] }
+ for_each = { for k in local.propagate_all_rt : k => var.data_input.map_route_tables_self[k] }
transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.vpc_attachment.id
transit_gateway_route_table_id = each.value
}
-
diff --git a/vpc-transit-gateway-association/self/outputs.tf b/vpc-transit-gateway-association/self/outputs.tf
index c161df8..78a51a4 100644
--- a/vpc-transit-gateway-association/self/outputs.tf
+++ b/vpc-transit-gateway-association/self/outputs.tf
@@ -24,10 +24,12 @@ output "route_tables_peer" {
output "map_route_tables_self" {
description = "Transit Gateway route tables map (VRF:id) self (this region)"
- value = local.transit_gateway_route_table_ids_self
+ # value = local.transit_gateway_route_table_ids_self
+ value = var.data_input.map_route_tables_self
}
output "map_route_tables_peer" {
description = "Transit Gateway route tables map (VRF:id) peer (other region)"
- value = local.transit_gateway_route_table_ids_peer
+ # value = local.transit_gateway_route_table_ids_peer
+ value = var.data_input.map_route_tables_peeer
}