templates/platform_landing_zone/locals.tf (37 lines of code) (raw):
locals {
const = {
connectivity = {
virtual_wan = "virtual_wan"
hub_and_spoke_vnet = "hub_and_spoke_vnet"
none = "none"
}
}
}
locals {
connectivity_enabled = var.connectivity_type != local.const.connectivity.none
connectivity_virtual_wan_enabled = var.connectivity_type == local.const.connectivity.virtual_wan
connectivity_hub_and_spoke_vnet_enabled = var.connectivity_type == local.const.connectivity.hub_and_spoke_vnet
}
# Build an implicit dependency on the resource groups
locals {
resource_groups = {
resource_groups = module.resource_groups
}
hub_and_spoke_vnet_settings = merge(module.config.hub_and_spoke_vnet_settings, local.resource_groups)
hub_and_spoke_vnet_virtual_networks = (merge({ vnets = module.config.hub_and_spoke_vnet_virtual_networks }, local.resource_groups)).vnets
virtual_wan_settings = merge(module.config.virtual_wan_settings, local.resource_groups)
virtual_wan_virtual_hubs = (merge({ vhubs = module.config.virtual_wan_virtual_hubs }, local.resource_groups)).vhubs
}
# Build policy dependencies
locals {
management_group_dependencies = {
policy_assignments = [
module.management_resources,
module.hub_and_spoke_vnet,
module.virtual_wan
]
policy_role_assignments = [
module.management_resources,
module.hub_and_spoke_vnet,
module.virtual_wan
]
}
}