locals.diagnostic_settings.tf (42 lines of code) (raw):

# These locals create the data for the azapi_resources from the var.diagnostic_settings variable locals { diagnostic_settings_azapi = { for k, v in var.diagnostic_settings : k => { type = local.diagnostic_settings_type name = v.name body = { properties = { eventHubAuthorizationRuleId = lookup(v, "event_hub_authorization_rule_resource_id", null) eventHubName = lookup(v, "event_hub_name", null) logAnalyticsDestinationType = lookup(v, "log_analytics_destination_type", null) logs = setunion( [ for log_group in v.log_groups : { category = null categoryGroup = log_group enabled = true } ], [ for log_category in v.log_categories : { category = log_category categoryGroup = null enabled = true } ] ) marketplacePartnerId = lookup(v, "marketplace_partner_resource_id", null) metrics = length(v.metric_categories) > 0 ? [ for category in v.metric_categories : { category = category enabled = true } ] : null storageAccountId = lookup(v, "storage_account_resource_id", null) workspaceId = lookup(v, "workspace_resource_id", null) } } } } diagnostic_settings_type = "Microsoft.Insights/diagnosticSettings@2021-05-01-preview" }