Je déploie des applications Web à Azure et je voudrais ignorer les modifications apportées à SCM_TYPE Attribut dans Site_Config bloquer.
Pendant le déploiement, l'attribut SCM_TYPE définit sur Aucun et plus tard nous le changeons à quelque chose de différent dans le portail d'azur.
Mon code TF actuel ressemble à ceci:
resource "azurerm_app_service" "web_app" {
count = length(var.app_names)
name = var.app_names[count.index]
location = data.azurerm_resource_group.app_resource_group.location
resource_group_name = data.azurerm_resource_group.app_resource_group.name
app_service_plan_id = azurerm_app_service_plan.app_plan.id
tags = var.tags
app_settings = var.app_settings[count.index]
site_config {
always_on = true
websockets_enabled = var.websockets_enabled[count.index]
use_32_bit_worker_process = var.use_32_bit_worker_process
scm_type = "None"
}
lifecycle {
ignore_changes = [
site_config.0.scm_type
]
}
}
J'espère que Terraform Plan d'ignorer les modifications de SCM_TYPE pendant les mises à jour de l'infrastructure, mais il essaie de revenir à Aucun . Ligne de Plan Terraform Sortie:
~ scm_type = "BitbucketGit" -> "None"
C'était un bug Terraform: https://github.com/hashicorp/terraform/issues/214 Ma syntaxe est correcte, dans la version 0.12.4 Cela fonctionne à nouveau.
Je pense que vous avez besoin de corriger votre syntaxe dans les changements d'ignorer. Cela devrait ressembler à cela, ou du moins de ce que j'ai pu me rendre au travail.
lifecycle {
ignore_changes = [
site_config["scm_type"],
]
}
Voici les documents qui ont la syntaxe.
https://www.terraform.io/docs/configuration/resources.html#lifecycle-lifecycle-Customisations