Lookup table 2 maps

I am declaring these maps:

transit_hub_vnets = {
vnet-001 = {
transit_hub_vnet_name = “vnet-001”
transit_hub_vnet_rg = “rg-hub-net-shr-infra-use2”
transit_hub_vnet_untrust_subnet = “sn-fwuntrust-infra”
transit_hub_vnet_trustInt_subnet = “sn-fwtrustInt-infra”
transit_hub_vnet_trustExt_subnet = “sn-fwtrustExt-infra”
location_map_key = “primary”
}
vnet-002 = {
transit_hub_vnet_name = “vnet-002”
transit_hub_vnet_rg = “rg-hub-net-shr-infra-usce”
transit_hub_vnet_untrust_subnet = “sn-fwuntrust-infra”
transit_hub_vnet_trustInt_subnet = “sn-fwtrustInt-infra”
transit_hub_vnet_trustExt_subnet = “sn-fwtrustExt-infra”
location_map_key = “secondary”
}
}

virtual_hubs = {
vhub_p = {
name = “vhub-use2” # The name field defines the base name for a resource
location_map_key = “primary” # Ties this resources to the locations in var.location_map
resource_group_key = “rg_vwan”
vwan_key = “vwan”
sku = “Standard”
address_prefix = “192.168.0.0/24”
transit_hub_vnet_key = “vnet-001”
}
vhub_s = {
name = “vhub-usce” # The name field defines the base name for a resource
location_map_key = “secondary” # Ties this resources to the locations in var.location_map
resource_group_key = “rg_vwan”
vwan_key = “vwan”
sku = “Standard”
address_prefix = “192.168.1.0/24”
transit_hub_vnet_key = “vnet-002”
}
}

I am passing both into a module to create virtual_hubs:

Create the VWAN hubs

module “virtualhub” {
source = “…/…/modules/networking/virtual_hub”
for_each = var.virtual_hubs

name = each.value.name
location = var.location_map[each.value.location_map_key]
resource_group_name = azurerm_resource_group.resource_group[each.value.resource_group_key].name
virtual_wan_id = module.virtualwan[each.value.vwan_key].virtual_wan_id
sku = each.value.sku
address_prefix = each.value.address_prefix
transit_hub_vnet_key = each.value.transit_hub_vnet_key
transit_hub_vnets = var.transit_hub_vnets
tags = merge(lookup(each.value, “tags”, {}), local.tags)
}

in the module, I would like to get the value “transit_hub_vnet_rg” from the transit_hub_vnets map where the keys match.

Get the transit hub virtual network

data “azurerm_virtual_network” “transit_hub” {
for_each = var.transit_hub_vnets
name = var.transit_hub_vnet_key
resource_group_name = lookup(??)
}

Can’t quite figure out how to use the transit_hub_vnets map as a lookup table. Thanks.