terraform-azurerm-lz-vending/locals.tf

33 строки
2.4 KiB
HCL

locals {
# subscription_module_output_subscription_id is either the output of the subscription module,
# or if disabled, an empty string.
# Needed to avoid errors in local.subscription_id when referencing a module instance that does not exists.
subscription_module_output_subscription_id = try(module.subscription[0].subscription_id, "")
# subscription_module_output_subscription_id is either the output of the subscription module,
# or if disabled, an empty string.
# Needed to avoid errors in local.subscription_id when referencing a module instance that does not exists.
subscription_module_output_subscription_resource_id = try(module.subscription[0].subscription_resource_id, "")
# subscription_id is the id of the subscription into which resources will be created.
# We pick the created sub id first, if it exists, otherwise we pick the subscription_id variable.
subscription_id = coalesce(local.subscription_module_output_subscription_id, var.subscription_id)
# subscription_resource_id is the Azure resource id of the subscription id that was supplied in the input variables.
# If var.subscription_id is empty, then we will return en empty string so that we can correctly coalesce the subscription_resource_id output.
supplied_subscription_resource_id = var.subscription_id == "" ? "" : "/subscriptions/${var.subscription_id}"
# subscription_resource_id is the Azure resource id of the subscription into which resources will be created.
# We use the created sub resource id first, if it exists, otherwise we pick the subscription_id variable.
# If this is blank then the subscription submodule is disabled an no subscription id has been supplied as an input variable.
subscription_resource_id = coalesce(local.subscription_module_output_subscription_resource_id, local.supplied_subscription_resource_id)
# virtual_networks_merged is a map of virtual networks created, if the module has been enabled.
# This is used in the outputs.tf file to return the virtual network resource ids.
virtual_network_resource_ids = var.virtual_network_enabled ? module.virtualnetwork[0].virtual_network_resource_ids : {}
# resource_group_ids is a map of resource groups created, if the module has been enabled.
# This is used in the outputs.tf file to return the resource group ids.
virtual_network_resource_group_ids = var.virtual_network_enabled ? module.virtualnetwork[0].resource_group_ids : {}
}