main.tf (114 lines of code) (raw):
resource "azurerm_resource_group" "management" {
count = var.resource_group_creation_enabled ? 1 : 0
location = var.location
name = var.resource_group_name
tags = merge(var.tags, (/*<box>*/ (var.tracing_tags_enabled ? { for k, v in /*</box>*/ {
avm_git_commit = "1d6d1d1e10a034a8773d4494edaaa71e490ce83f"
avm_git_file = "main.tf"
avm_git_last_modified_at = "2023-07-01 12:42:48"
avm_git_org = "Azure"
avm_git_repo = "terraform-azurerm-alz-management"
avm_yor_name = "management"
avm_yor_trace = "be93b7fa-fb2b-40c2-99c7-189a03808d26"
} /*<box>*/ : replace(k, "avm_", var.tracing_tags_prefix) => v } : {}) /*</box>*/))
}
resource "azurerm_log_analytics_workspace" "management" {
location = var.location
name = var.log_analytics_workspace_name
resource_group_name = var.resource_group_name
allow_resource_only_permissions = var.log_analytics_workspace_allow_resource_only_permissions
cmk_for_query_forced = var.log_analytics_workspace_cmk_for_query_forced
daily_quota_gb = var.log_analytics_workspace_daily_quota_gb
internet_ingestion_enabled = var.log_analytics_workspace_internet_ingestion_enabled
internet_query_enabled = var.log_analytics_workspace_internet_query_enabled
local_authentication_disabled = var.log_analytics_workspace_local_authentication_disabled
reservation_capacity_in_gb_per_day = var.log_analytics_workspace_reservation_capacity_in_gb_per_day
retention_in_days = var.log_analytics_workspace_retention_in_days
sku = var.log_analytics_workspace_sku
tags = merge(var.tags, (/*<box>*/ (var.tracing_tags_enabled ? { for k, v in /*</box>*/ {
avm_git_commit = "ba28d2019d124ec455bed690e553fe9c7e4e2780"
avm_git_file = "main.tf"
avm_git_last_modified_at = "2023-05-15 11:25:58"
avm_git_org = "Azure"
avm_git_repo = "terraform-azurerm-alz-management"
avm_yor_name = "management"
avm_yor_trace = "32634b0f-7eff-42c1-934e-5f6628b3ff39"
} /*<box>*/ : replace(k, "avm_", var.tracing_tags_prefix) => v } : {}) /*</box>*/))
depends_on = [
azurerm_resource_group.management,
]
}
resource "azurerm_automation_account" "management" {
count = var.linked_automation_account_creation_enabled ? 1 : 0
location = coalesce(var.automation_account_location, var.location)
name = var.automation_account_name
resource_group_name = var.resource_group_name
sku_name = var.automation_account_sku_name
local_authentication_enabled = var.automation_account_local_authentication_enabled
public_network_access_enabled = var.automation_account_public_network_access_enabled
tags = merge(var.tags, (/*<box>*/ (var.tracing_tags_enabled ? { for k, v in /*</box>*/ {
avm_git_commit = "b5e1b5404eecc1beaa62879dfb02cfc6a2f5b5b5"
avm_git_file = "main.tf"
avm_git_last_modified_at = "2023-10-05 21:54:53"
avm_git_org = "Azure"
avm_git_repo = "terraform-azurerm-alz-management"
avm_yor_name = "management"
avm_yor_trace = "0b4e9290-9fea-466e-b72d-77508216e8eb"
} /*<box>*/ : replace(k, "avm_", var.tracing_tags_prefix) => v } : {}) /*</box>*/))
dynamic "encryption" {
for_each = var.automation_account_encryption == null ? [] : ["Encryption"]
content {
key_vault_key_id = var.automation_account_encryption.key_vault_key_id
user_assigned_identity_id = var.automation_account_encryption.user_assigned_identity_id
}
}
dynamic "identity" {
for_each = var.automation_account_identity == null ? [] : ["Identity"]
content {
type = var.automation_account_identity.type
identity_ids = var.automation_account_identity.identity_ids
}
}
depends_on = [
azurerm_resource_group.management,
]
}
resource "azurerm_log_analytics_linked_service" "management" {
count = var.linked_automation_account_creation_enabled ? 1 : 0
resource_group_name = var.resource_group_name
workspace_id = azurerm_log_analytics_workspace.management.id
read_access_id = azurerm_automation_account.management[0].id
write_access_id = null
depends_on = [
azurerm_automation_account.management,
azurerm_log_analytics_workspace.management,
azurerm_resource_group.management,
]
}
resource "azurerm_log_analytics_solution" "management" {
for_each = { for plan in toset(var.log_analytics_solution_plans) : "${plan.publisher}/${plan.product}" => plan }
location = var.location
resource_group_name = var.resource_group_name
solution_name = basename(each.value.product)
workspace_name = var.log_analytics_workspace_name
workspace_resource_id = azurerm_log_analytics_workspace.management.id
tags = merge(var.tags, (/*<box>*/ (var.tracing_tags_enabled ? { for k, v in /*</box>*/ {
avm_git_commit = "51687c5014c6b8d7005c26e0258dc1050d10dd01"
avm_git_file = "main.tf"
avm_git_last_modified_at = "2023-05-19 12:45:10"
avm_git_org = "Azure"
avm_git_repo = "terraform-azurerm-alz-management"
avm_yor_name = "management"
avm_yor_trace = "04866076-1ddc-4514-97fb-14f709b52b66"
} /*<box>*/ : replace(k, "avm_", var.tracing_tags_prefix) => v } : {}) /*</box>*/))
plan {
product = each.value.product
publisher = each.value.publisher
}
depends_on = [
azurerm_automation_account.management,
azurerm_log_analytics_linked_service.management,
azurerm_log_analytics_workspace.management,
azurerm_resource_group.management,
]
}