# 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 }
}
