locals.tf
 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
27
28
29
30
31
32
33
34
35
36
37
38
39
# locals =====================================================================

locals {
  tags = merge(
    {
      ManagedBy = "terraform"
      Module    = "networking/vpc-peering"
    },
    var.tags,
  )

  # Requester-side routes: peering-key × requester route table
  requester_routes = flatten([
    for pk, pc in var.peering_connections : [
      for rt in pc.requester_route_tables : {
        pk   = pk
        rt   = rt
        cidr = pc.accepter_cidr
      }
    ]
    if pc.accepter_cidr != null
  ])

  requester_route_map = { for item in local.requester_routes : "${item.pk}:${item.rt}" => item }

  # Accepter-side routes
  accepter_routes = flatten([
    for pk, pc in var.peering_connections : [
      for rt in pc.accepter_route_tables : {
        pk   = pk
        rt   = rt
        cidr = pc.requester_cidr
      }
    ]
    if pc.requester_cidr != null
  ])

  accepter_route_map = { for item in local.accepter_routes : "${item.pk}:${item.rt}" => item }
}