main.hierarchy_settings.tf (39 lines of code) (raw):
data "azapi_client_config" "hierarchy_settings" {}
resource "azapi_resource" "hierarchy_settings" {
count = var.management_group_hierarchy_settings != null && !try(var.management_group_hierarchy_settings.update_existing, true) ? 1 : 0
type = "Microsoft.Management/managementGroups/settings@2023-04-01"
body = {
properties = {
defaultManagementGroup = provider::azapi::tenant_resource_id("Microsoft.Management/managementGroups", [var.management_group_hierarchy_settings.default_management_group_name])
requireAuthorizationForGroupCreation = var.management_group_hierarchy_settings.require_authorization_for_group_creation
}
}
name = "default"
parent_id = local.tenant_root_group_resource_id
retry = var.retries.hierarchy_settings.error_message_regex != null ? {
error_message_regex = var.retries.hierarchy_settings.error_message_regex
interval_seconds = lookup(var.retries.hierarchy_settings, "interval_seconds", null)
max_interval_seconds = lookup(var.retries.hierarchy_settings, "max_interval_seconds", null)
multiplier = lookup(var.retries.hierarchy_settings, "multiplier", null)
randomization_factor = lookup(var.retries.hierarchy_settings, "randomization_factor", null)
} : null
}
resource "azapi_update_resource" "hierarchy_settings" {
count = var.management_group_hierarchy_settings != null && try(var.management_group_hierarchy_settings.update_existing, false) ? 1 : 0
type = "Microsoft.Management/managementGroups/settings@2023-04-01"
body = {
properties = {
defaultManagementGroup = provider::azapi::tenant_resource_id("Microsoft.Management/managementGroups", [var.management_group_hierarchy_settings.default_management_group_name])
requireAuthorizationForGroupCreation = var.management_group_hierarchy_settings.require_authorization_for_group_creation
}
}
name = "default"
parent_id = local.tenant_root_group_resource_id
retry = var.retries.hierarchy_settings.error_message_regex != null ? {
error_message_regex = var.retries.hierarchy_settings.error_message_regex
interval_seconds = lookup(var.retries.hierarchy_settings, "interval_seconds", null)
max_interval_seconds = lookup(var.retries.hierarchy_settings, "max_interval_seconds", null)
multiplier = lookup(var.retries.hierarchy_settings, "multiplier", null)
randomization_factor = lookup(var.retries.hierarchy_settings, "randomization_factor", null)
} : null
}