hmcts / dtsse-shared-infrastructure

0 stars 0 forks source link

Upgrade the Azure Managed Grafana from version 9 to 10 #159

Closed peterpilgrim closed 1 week ago

peterpilgrim commented 2 weeks ago

Jira link

See DTSSE-5305

Change description

See also: https://azure.microsoft.com/en-gb/updates/action-recommended-update-to-using-grafana-version-10-for-azure-managed-grafana/

The Grafana version 9 will be retired on 31 August 2024 – update to using the Grafana version 10 You’re receiving this notice because you’re using Grafana version 9 on Azure Managed Grafana. Starting 31 August 2024, we’ll retire Grafana version 9. Before that date, you’ll need to update to Grafana version 10 as soon as possible. Grafana 10 provides all the functionality of Grafana 9 plus new ones, including: • New visualization panels • New or updated data source plugins • Tracing and correlations

Testing done

Checklist

hmcts-jenkins-d-to-i[bot] commented 2 weeks ago

Plan Result (aat)

:warning: Resource Deletion will happen

This plan contains resource delete operation. Please check the plan result very carefully!

Plan: 14 to add, 3 to change, 13 to destroy.
Change Result (Click me) ```hcl # azurerm_consumption_budget_resource_group.grafana-budget-alert[0] will be updated in-place ~ resource "azurerm_consumption_budget_resource_group" "grafana-budget-alert" { id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Consumption/budgets/grafana-budget-alert" name = "grafana-budget-alert" # (4 unchanged attributes hidden) ~ filter { - dimension { - name = "ResourceId" -> null - operator = "In" -> null - values = [ - "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Dashboard/grafana/dtsse-grafana-aat", ] -> null } + dimension { + name = "ResourceId" + operator = "In" + values = (known after apply) } } # (2 unchanged blocks hidden) } # azurerm_dashboard_grafana.dashboard-grafana[0] must be replaced -/+ resource "azurerm_dashboard_grafana" "dashboard-grafana" { ~ api_key_enabled = false -> true ~ endpoint = "https://dtsse-grafana-aat-f6avdaarczcqftge.weu.grafana.azure.com" -> (known after apply) ~ grafana_major_version = "9" -> "10" # forces replacement ~ grafana_version = "9.5.19" -> (known after apply) ~ id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Dashboard/grafana/dtsse-grafana-aat" -> (known after apply) ~ location = "westeurope" -> "uksouth" # forces replacement name = "dtsse-grafana-aat" ~ outbound_ip = [ - "52.148.220.236", - "20.61.85.167", ] -> (known after apply) tags = { "application" = "core" "autoShutdown" = "true" "builtFrom" = "https://github.com/HMCTS/dtsse-shared-infrastructure.git" "businessArea" = "CFT" "contactSlackChannel" = "#reform-swe" "environment" = "staging" "managedBy" = "DTS Software Engineering" } ~ zone_redundancy_enabled = false -> true # forces replacement # (5 unchanged attributes hidden) ~ identity { - identity_ids = [] -> null ~ principal_id = "bd9f34b4-4c0c-489d-a8fd-c2ed7bf29db8" -> (known after apply) ~ tenant_id = "531ff96d-0ae9-462a-8d2d-bec7c0b42082" -> (known after apply) # (1 unchanged attribute hidden) } } # azurerm_role_assignment.admin[0] must be replaced -/+ resource "azurerm_role_assignment" "admin" { ~ id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Dashboard/grafana/dtsse-grafana-aat/providers/Microsoft.Authorization/roleAssignments/533244ed-6f36-b3e9-26d9-6ff5f318d0ce" -> (known after apply) ~ name = "533244ed-6f36-b3e9-26d9-6ff5f318d0ce" -> (known after apply) ~ principal_type = "Group" -> (known after apply) ~ role_definition_id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/providers/Microsoft.Authorization/roleDefinitions/22926164-76b3-42b3-bc55-97df8dab3e41" -> (known after apply) ~ scope = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Dashboard/grafana/dtsse-grafana-aat" # forces replacement -> (known after apply) # forces replacement + skip_service_principal_aad_check = (known after apply) # (6 unchanged attributes hidden) } # azurerm_role_assignment.app_insights_dcd_cnp_aat_access[0] must be replaced -/+ resource "azurerm_role_assignment" "app_insights_dcd_cnp_aat_access" { ~ id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/providers/Microsoft.Authorization/roleAssignments/4fef2502-9a10-a9f3-2ce9-510180addc67" -> (known after apply) ~ name = "4fef2502-9a10-a9f3-2ce9-510180addc67" -> (known after apply) ~ principal_id = "bd9f34b4-4c0c-489d-a8fd-c2ed7bf29db8" # forces replacement -> (known after apply) # forces replacement ~ principal_type = "ServicePrincipal" -> (known after apply) ~ role_definition_id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7" -> (known after apply) + skip_service_principal_aad_check = (known after apply) # (6 unchanged attributes hidden) } # azurerm_role_assignment.app_insights_dcd_cnp_prod_access[0] must be replaced -/+ resource "azurerm_role_assignment" "app_insights_dcd_cnp_prod_access" { ~ id = "/subscriptions/8999dec3-0104-4a27-94ee-6588559729d1/providers/Microsoft.Authorization/roleAssignments/cd9f1675-a830-6954-57a9-db5f626735ba" -> (known after apply) ~ name = "cd9f1675-a830-6954-57a9-db5f626735ba" -> (known after apply) ~ principal_id = "bd9f34b4-4c0c-489d-a8fd-c2ed7bf29db8" # forces replacement -> (known after apply) # forces replacement ~ principal_type = "ServicePrincipal" -> (known after apply) ~ role_definition_id = "/subscriptions/8999dec3-0104-4a27-94ee-6588559729d1/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7" -> (known after apply) + skip_service_principal_aad_check = (known after apply) # (6 unchanged attributes hidden) } # azurerm_role_assignment.editors[0] must be replaced -/+ resource "azurerm_role_assignment" "editors" { ~ id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Dashboard/grafana/dtsse-grafana-aat/providers/Microsoft.Authorization/roleAssignments/c41935f1-0f01-6261-314e-005cae0fecce" -> (known after apply) ~ name = "c41935f1-0f01-6261-314e-005cae0fecce" -> (known after apply) ~ principal_type = "Group" -> (known after apply) ~ role_definition_id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/providers/Microsoft.Authorization/roleDefinitions/a79a5197-3a5c-4973-a920-486035ffd60f" -> (known after apply) ~ scope = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Dashboard/grafana/dtsse-grafana-aat" # forces replacement -> (known after apply) # forces replacement + skip_service_principal_aad_check = (known after apply) # (6 unchanged attributes hidden) } # azurerm_role_assignment.more_viewers[0] must be replaced -/+ resource "azurerm_role_assignment" "more_viewers" { ~ id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Dashboard/grafana/dtsse-grafana-aat/providers/Microsoft.Authorization/roleAssignments/c3c3e4ff-518e-e271-1b27-df5466f45d81" -> (known after apply) ~ name = "c3c3e4ff-518e-e271-1b27-df5466f45d81" -> (known after apply) ~ principal_type = "Group" -> (known after apply) ~ role_definition_id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/providers/Microsoft.Authorization/roleDefinitions/60921a7e-fef1-4a43-9b16-a26c52ad4769" -> (known after apply) ~ scope = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Dashboard/grafana/dtsse-grafana-aat" # forces replacement -> (known after apply) # forces replacement + skip_service_principal_aad_check = (known after apply) # (6 unchanged attributes hidden) } # azurerm_role_assignment.platops[0] must be replaced -/+ resource "azurerm_role_assignment" "platops" { ~ id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Dashboard/grafana/dtsse-grafana-aat/providers/Microsoft.Authorization/roleAssignments/238b4266-3901-bcae-514d-94c9129e50a6" -> (known after apply) ~ name = "238b4266-3901-bcae-514d-94c9129e50a6" -> (known after apply) ~ principal_type = "Group" -> (known after apply) ~ role_definition_id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/providers/Microsoft.Authorization/roleDefinitions/22926164-76b3-42b3-bc55-97df8dab3e41" -> (known after apply) ~ scope = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Dashboard/grafana/dtsse-grafana-aat" # forces replacement -> (known after apply) # forces replacement + skip_service_principal_aad_check = (known after apply) # (6 unchanged attributes hidden) } # azurerm_role_assignment.readers[0] must be replaced -/+ resource "azurerm_role_assignment" "readers" { ~ id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Dashboard/grafana/dtsse-grafana-aat/providers/Microsoft.Authorization/roleAssignments/3cbc6cc6-ac7d-4eae-5d94-56033357128c" -> (known after apply) ~ name = "3cbc6cc6-ac7d-4eae-5d94-56033357128c" -> (known after apply) ~ principal_type = "Group" -> (known after apply) ~ role_definition_id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/providers/Microsoft.Authorization/roleDefinitions/60921a7e-fef1-4a43-9b16-a26c52ad4769" -> (known after apply) ~ scope = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Dashboard/grafana/dtsse-grafana-aat" # forces replacement -> (known after apply) # forces replacement + skip_service_principal_aad_check = (known after apply) # (6 unchanged attributes hidden) } # azurerm_role_assignment.viewers[0] must be replaced -/+ resource "azurerm_role_assignment" "viewers" { ~ id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Dashboard/grafana/dtsse-grafana-aat/providers/Microsoft.Authorization/roleAssignments/56687a79-b9b7-eeb5-a60b-adbc5fa6db43" -> (known after apply) ~ name = "56687a79-b9b7-eeb5-a60b-adbc5fa6db43" -> (known after apply) ~ principal_type = "Group" -> (known after apply) ~ role_definition_id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/providers/Microsoft.Authorization/roleDefinitions/60921a7e-fef1-4a43-9b16-a26c52ad4769" -> (known after apply) ~ scope = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Dashboard/grafana/dtsse-grafana-aat" # forces replacement -> (known after apply) # forces replacement + skip_service_principal_aad_check = (known after apply) # (6 unchanged attributes hidden) } # module.alert-action-group.azurerm_resource_group_template_deployment.action-group will be updated in-place ~ resource "azurerm_resource_group_template_deployment" "action-group" { id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-aat/providers/Microsoft.Resources/deployments/DTSSE_Alert" name = "DTSSE_Alert" tags = {} ~ template_content = jsonencode( ~ { ~ outputs = { ~ actionGroupId = { ~ type = "String" -> "string" # (1 unchanged attribute hidden) } } ~ parameters = { ~ actionGroupName = { ~ type = "String" -> "string" } ~ emailReceiverAddress = { ~ type = "String" -> "string" # (1 unchanged attribute hidden) } ~ emailReceiverName = { ~ type = "String" -> "string" # (1 unchanged attribute hidden) } ~ location = { ~ type = "String" -> "string" # (1 unchanged attribute hidden) } ~ shortName = { ~ type = "String" -> "string" } } # (3 unchanged attributes hidden) } ) # (6 unchanged attributes hidden) } # module.postgresql[0].data.azuread_group.db_admin will be read during apply # (depends on a resource or a module with changes pending) <= data "azuread_group" "db_admin" { + assignable_to_role = (known after apply) + auto_subscribe_new_members = (known after apply) + behaviors = (known after apply) + description = (known after apply) + display_name = "DTS Platform Operations" + dynamic_membership = (known after apply) + external_senders_allowed = (known after apply) + hide_from_address_lists = (known after apply) + hide_from_outlook_clients = (known after apply) + id = (known after apply) + mail = (known after apply) + mail_enabled = (known after apply) + mail_nickname = (known after apply) + members = (known after apply) + object_id = (known after apply) + onpremises_domain_name = (known after apply) + onpremises_group_type = (known after apply) + onpremises_netbios_name = (known after apply) + onpremises_sam_account_name = (known after apply) + onpremises_security_identifier = (known after apply) + onpremises_sync_enabled = (known after apply) + owners = (known after apply) + preferred_language = (known after apply) + provisioning_options = (known after apply) + proxy_addresses = (known after apply) + security_enabled = true + theme = (known after apply) + types = (known after apply) + visibility = (known after apply) + writeback_enabled = (known after apply) } # module.postgresql[0].data.azuread_service_principal.mi_name[0] will be read during apply # (depends on a resource or a module with changes pending) <= data "azuread_service_principal" "mi_name" { + account_enabled = (known after apply) + alternative_names = (known after apply) + app_role_assignment_required = (known after apply) + app_role_ids = (known after apply) + app_roles = (known after apply) + application_id = (known after apply) + application_tenant_id = (known after apply) + client_id = (known after apply) + description = (known after apply) + display_name = (known after apply) + feature_tags = (known after apply) + features = (known after apply) + homepage_url = (known after apply) + id = (known after apply) + login_url = (known after apply) + logout_url = (known after apply) + notes = (known after apply) + notification_email_addresses = (known after apply) + oauth2_permission_scope_ids = (known after apply) + oauth2_permission_scopes = (known after apply) + object_id = "ca6d5085-485a-417d-8480-c3cefa29df31" + preferred_single_sign_on_mode = (known after apply) + redirect_uris = (known after apply) + saml_metadata_url = (known after apply) + saml_single_sign_on = (known after apply) + service_principal_names = (known after apply) + sign_in_audience = (known after apply) + tags = (known after apply) + type = (known after apply) } # module.postgresql[0].data.azurerm_client_config.current will be read during apply # (depends on a resource or a module with changes pending) <= data "azurerm_client_config" "current" { + client_id = (known after apply) + id = (known after apply) + object_id = (known after apply) + subscription_id = (known after apply) + tenant_id = (known after apply) } # module.postgresql[0].data.azurerm_subnet.pg_subnet[0] will be read during apply # (depends on a resource or a module with changes pending) <= data "azurerm_subnet" "pg_subnet" { + address_prefix = (known after apply) + address_prefixes = (known after apply) + default_outbound_access_enabled = (known after apply) + enforce_private_link_endpoint_network_policies = (known after apply) + enforce_private_link_service_network_policies = (known after apply) + id = (known after apply) + name = "postgresql" + network_security_group_id = (known after apply) + private_endpoint_network_policies = (known after apply) + private_endpoint_network_policies_enabled = (known after apply) + private_link_service_network_policies_enabled = (known after apply) + resource_group_name = "cft-aat-network-rg" + route_table_id = (known after apply) + service_endpoints = (known after apply) + virtual_network_name = "cft-aat-vnet" } # module.postgresql[0].data.azurerm_subscription.current will be read during apply # (depends on a resource or a module with changes pending) <= data "azurerm_subscription" "current" { + display_name = (known after apply) + id = (known after apply) + location_placement_id = (known after apply) + quota_id = (known after apply) + spending_limit = (known after apply) + state = (known after apply) + subscription_id = (known after apply) + tags = (known after apply) + tenant_id = (known after apply) } # module.postgresql[0].azurerm_postgresql_flexible_server.pgsql_server will be updated in-place ~ resource "azurerm_postgresql_flexible_server" "pgsql_server" { id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-dashboard-flexdb-data-aat/providers/Microsoft.DBforPostgreSQL/flexibleServers/dtsse-dashboard-flexdb-aat" name = "dtsse-dashboard-flexdb-aat" tags = { "application" = "core" "autoShutdown" = "true" "builtFrom" = "https://github.com/HMCTS/dtsse-shared-infrastructure.git" "businessArea" = "CFT" "contactSlackChannel" = "#reform-swe" "environment" = "staging" "managedBy" = "DTS Software Engineering" } # (17 unchanged attributes hidden) ~ authentication { ~ tenant_id = "531ff96d-0ae9-462a-8d2d-bec7c0b42082" -> (known after apply) # (2 unchanged attributes hidden) } # (2 unchanged blocks hidden) } # module.postgresql[0].azurerm_postgresql_flexible_server_active_directory_administrator.pgsql_adadmin must be replaced -/+ resource "azurerm_postgresql_flexible_server_active_directory_administrator" "pgsql_adadmin" { ~ id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-dashboard-flexdb-data-aat/providers/Microsoft.DBforPostgreSQL/flexibleServers/dtsse-dashboard-flexdb-aat/administrators/e7ea2042-4ced-45dd-8ae3-e051c6551789" -> (known after apply) ~ object_id = "e7ea2042-4ced-45dd-8ae3-e051c6551789" # forces replacement -> (known after apply) # forces replacement ~ tenant_id = "531ff96d-0ae9-462a-8d2d-bec7c0b42082" # forces replacement -> (known after apply) # forces replacement # (4 unchanged attributes hidden) } # module.postgresql[0].azurerm_postgresql_flexible_server_active_directory_administrator.pgsql_principal_admin[0] must be replaced -/+ resource "azurerm_postgresql_flexible_server_active_directory_administrator" "pgsql_principal_admin" { ~ id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-dashboard-flexdb-data-aat/providers/Microsoft.DBforPostgreSQL/flexibleServers/dtsse-dashboard-flexdb-aat/administrators/ca6d5085-485a-417d-8480-c3cefa29df31" -> (known after apply) ~ principal_name = "jenkins-cftptl-intsvc-mi" # forces replacement -> (known after apply) # forces replacement ~ tenant_id = "531ff96d-0ae9-462a-8d2d-bec7c0b42082" # forces replacement -> (known after apply) # forces replacement # (4 unchanged attributes hidden) } # module.postgresql[0].azurerm_postgresql_flexible_server_firewall_rule.pg_firewall_rules["grafana00"] will be created + resource "azurerm_postgresql_flexible_server_firewall_rule" "pg_firewall_rules" { + end_ip_address = (known after apply) + id = (known after apply) + name = "grafana00" + server_id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-dashboard-flexdb-data-aat/providers/Microsoft.DBforPostgreSQL/flexibleServers/dtsse-dashboard-flexdb-aat" + start_ip_address = (known after apply) } # module.postgresql[0].azurerm_postgresql_flexible_server_firewall_rule.pg_firewall_rules["grafana01"] will be created + resource "azurerm_postgresql_flexible_server_firewall_rule" "pg_firewall_rules" { + end_ip_address = (known after apply) + id = (known after apply) + name = "grafana01" + server_id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-dashboard-flexdb-data-aat/providers/Microsoft.DBforPostgreSQL/flexibleServers/dtsse-dashboard-flexdb-aat" + start_ip_address = (known after apply) } # module.postgresql[0].azurerm_postgresql_flexible_server_firewall_rule.pg_firewall_rules["grafana1"] will be destroyed # (because key ["grafana1"] is not in for_each map) - resource "azurerm_postgresql_flexible_server_firewall_rule" "pg_firewall_rules" { - end_ip_address = "52.148.220.236" -> null - id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-dashboard-flexdb-data-aat/providers/Microsoft.DBforPostgreSQL/flexibleServers/dtsse-dashboard-flexdb-aat/firewallRules/grafana1" -> null - name = "grafana1" -> null - server_id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-dashboard-flexdb-data-aat/providers/Microsoft.DBforPostgreSQL/flexibleServers/dtsse-dashboard-flexdb-aat" -> null - start_ip_address = "52.148.220.236" -> null } # module.postgresql[0].azurerm_postgresql_flexible_server_firewall_rule.pg_firewall_rules["grafana2"] will be destroyed # (because key ["grafana2"] is not in for_each map) - resource "azurerm_postgresql_flexible_server_firewall_rule" "pg_firewall_rules" { - end_ip_address = "20.61.85.167" -> null - id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-dashboard-flexdb-data-aat/providers/Microsoft.DBforPostgreSQL/flexibleServers/dtsse-dashboard-flexdb-aat/firewallRules/grafana2" -> null - name = "grafana2" -> null - server_id = "/subscriptions/1c4f0704-a29e-403d-b719-b90c34ef14c9/resourceGroups/dtsse-dashboard-flexdb-data-aat/providers/Microsoft.DBforPostgreSQL/flexibleServers/dtsse-dashboard-flexdb-aat" -> null - start_ip_address = "20.61.85.167" -> null } # module.postgresql[0].terraform_data.trigger_password_reset will be created + resource "terraform_data" "trigger_password_reset" { + id = (known after apply) + input = "" + output = (known after apply) } Plan: 14 to add, 3 to change, 13 to destroy. ```
hmcts-jenkins-d-to-i[bot] commented 2 weeks ago

Plan Result (prod)

Plan: 3 to add, 2 to change, 0 to destroy.
Change Result (Click me) ```hcl # azurerm_key_vault_secret.AZURE_APPINSIGHTS_KEY will be updated in-place ~ resource "azurerm_key_vault_secret" "AZURE_APPINSIGHTS_KEY" { id = "https://dtsse-prod.vault.azure.net/secrets/AppInsightsConnectionString/0fb3e252b72e49bba6cf385c3aefb2c1" name = "AppInsightsConnectionString" tags = {} ~ value = (sensitive value) # (6 unchanged attributes hidden) } # azurerm_key_vault_secret.alert_action_group_name will be created + resource "azurerm_key_vault_secret" "alert_action_group_name" { + id = (known after apply) + key_vault_id = "/subscriptions/8999dec3-0104-4a27-94ee-6588559729d1/resourceGroups/dtsse-prod/providers/Microsoft.KeyVault/vaults/dtsse-prod" + name = "alert-action-group-name" + resource_id = (known after apply) + resource_versionless_id = (known after apply) + value = (sensitive value) + version = (known after apply) + versionless_id = (known after apply) } # module.alert-action-group.azurerm_resource_group_template_deployment.action-group will be created + resource "azurerm_resource_group_template_deployment" "action-group" { + deployment_mode = "Incremental" + id = (known after apply) + name = "DTSSE_Alert" + output_content = (known after apply) + parameters_content = (sensitive value) + resource_group_name = "dtsse-prod" + template_content = jsonencode( { + "$schema" = "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#" + contentVersion = "1.0.0.0" + outputs = { + actionGroupId = { + type = "string" + value = "[resourceId('microsoft.insights/actionGroups', parameters('actionGroupName'))]" } } + parameters = { + actionGroupName = { + type = "string" } + emailReceiverAddress = { + metadata = { + description = "Email address of the receiver" } + type = "string" } + emailReceiverName = { + metadata = { + description = "Name of the email receiver" } + type = "string" } + location = { + defaultValue = "global" + type = "string" } + shortName = { + type = "string" } } + resources = [ + { + apiVersion = "2017-04-01" + location = "[parameters('location')]" + name = "[parameters('actionGroupName')]" + properties = { + emailReceivers = [ + { + emailAddress = "[parameters('emailReceiverAddress')]" + name = "[parameters('emailReceiverName')]" }, ] + enabled = true + groupShortName = "[parameters('shortName')]" + smsReceivers = [] + webhookReceivers = [] } + tags = {} + type = "microsoft.insights/actionGroups" }, ] } ) } # module.application_insights.azurerm_application_insights.this will be updated in-place # (moved from azurerm_application_insights.appinsights) ~ resource "azurerm_application_insights" "this" { ~ daily_data_cap_in_gb = 100 -> 50 ~ daily_data_cap_notifications_disabled = false -> true id = "/subscriptions/8999dec3-0104-4a27-94ee-6588559729d1/resourceGroups/dtsse-prod/providers/Microsoft.Insights/components/dtsse-appinsights-prod" name = "dtsse-appinsights-prod" tags = { "application" = "core" "builtFrom" = "https://github.com/HMCTS/dtsse-shared-infrastructure.git" "businessArea" = "CFT" "contactSlackChannel" = "#reform-swe" "environment" = "production" "managedBy" = "DTS Software Engineering" } # (14 unchanged attributes hidden) } # module.application_insights.azurerm_monitor_activity_log_alert.main[0] will be created + resource "azurerm_monitor_activity_log_alert" "main" { + description = "Monitors for application insight reaching it's daily cap." + enabled = true + id = (known after apply) + location = "global" + name = "Application Insights daily cap reached - dtsse-appinsights-prod" + resource_group_name = "dtsse-prod" + scopes = [ + "/subscriptions/8999dec3-0104-4a27-94ee-6588559729d1/resourceGroups/dtsse-prod/providers/Microsoft.Insights/components/dtsse-appinsights-prod", ] + tags = { + "application" = "core" + "builtFrom" = "https://github.com/HMCTS/dtsse-shared-infrastructure.git" + "businessArea" = "CFT" + "contactSlackChannel" = "#reform-swe" + "environment" = "production" + "managedBy" = "DTS Software Engineering" } + action { + action_group_id = "/subscriptions/1baf5470-1c3e-40d3-a6f7-74bfbce4b348/resourceGroups/cft-alerts-slack-ptl/providers/Microsoft.Insights/actionGroups/cft-alerts-slack-warning-alerts" + webhook_properties = { + "from" = "terraform" + "slackChannelId" = null } } + criteria { + category = "Administrative" + level = "Warning" + operation_name = "Microsoft.Insights/Components/DailyCapReached/Action" + resource_id = "/subscriptions/8999dec3-0104-4a27-94ee-6588559729d1/resourceGroups/dtsse-prod/providers/Microsoft.Insights/components/dtsse-appinsights-prod" } } Plan: 3 to add, 2 to change, 0 to destroy. ```
:information_source: Objects have changed outside of Terraform _This feature was introduced from [Terraform v0.15.4](https://github.com/hashicorp/terraform/releases/tag/v0.15.4)._ ```hcl Terraform detected the following changes made outside of Terraform since the last "terraform apply" which may have affected this plan: # module.application_insights.azurerm_application_insights.this has changed # (moved from azurerm_application_insights.appinsights) ~ resource "azurerm_application_insights" "this" { ~ connection_string = (sensitive value) id = "/subscriptions/8999dec3-0104-4a27-94ee-6588559729d1/resourceGroups/dtsse-prod/providers/Microsoft.Insights/components/dtsse-appinsights-prod" name = "dtsse-appinsights-prod" tags = { "application" = "core" "builtFrom" = "https://github.com/HMCTS/dtsse-shared-infrastructure.git" "businessArea" = "CFT" "contactSlackChannel" = "#reform-swe" "environment" = "production" "managedBy" = "DTS Software Engineering" } # (15 unchanged attributes hidden) } Unless you have made equivalent changes to your configuration, or ignored the ```
github-actions[bot] commented 1 week ago

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.