1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# Locals =======================================================================
locals {
module_tags = {
managed-by = "terraform"
module-name = "networking:tgw-attachment"
}
# route_pairs builds a cartesian product of every VPC route table ID against
# every destination CIDR, then route_map keys them as "rt_id:cidr" for stable
# for_each iteration on aws_route.tgw.
route_pairs = flatten([
for rt_id in var.vpc_route_table_ids : [
for cidr, _ in var.vpc_tgw_routes : {
rt_id = rt_id
cidr = cidr
}
]
])
# Keyed by "rt_id:cidr" — unique and stable across applies
route_map = {
for pair in local.route_pairs :
"${pair.rt_id}:${pair.cidr}" => pair
}
}
|