locals.firewall.tf (16 lines of code) (raw):
locals {
firewall_policies = { for virtual_hub_key, virtual_hub_value in var.virtual_hubs : virtual_hub_key => merge({
location = try(virtual_hub_value.firewall_policy.location, virtual_hub_value.hub.location)
resource_group_name = try(virtual_hub_value.firewall_policy.resource_group_name, virtual_hub_value.hub.resource_group)
dns = merge({
servers = local.private_dns_zones_enabled[virtual_hub_key] ? [module.dns_resolver[virtual_hub_key].inbound_endpoint_ips["dns"]] : []
proxy_enabled = local.private_dns_zones_enabled[virtual_hub_key]
}, try(virtual_hub_value.firewall_policy.dns, {}))
}, virtual_hub_value.firewall_policy) if try(virtual_hub_value.firewall_policy, null) != null
}
firewalls = { for virtual_hub_key, virtual_hub_value in var.virtual_hubs : virtual_hub_key => merge({
virtual_hub_key = virtual_hub_key
firewall_policy_id = module.firewall_policy[virtual_hub_key].resource_id
}, virtual_hub_value.firewall) if try(virtual_hub_value.firewall, null) != null
}
}