Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Bien qu’il ne soit pas recommandé de modifier les ressources gérées par Terraform en dehors de Terraform en raison du risque de perte de données, certaines fonctionnalités nécessitent que vous le fassiez. En raison des risques, il est essentiel de mettre à jour correctement les ressources à l’aide des étapes décrites.
Les ressources gérées par Terraform stockent leur état dans le terraform.tfstate, situé soit dans Terraform Cloud, soit dans le module Terraform local. L’état contient toutes les propriétés de la ressource distante pertinente pour Terraform. Lorsqu’une ressource gérée par Terraform est modifiée en dehors de Terraform, l’état Terraform ne correspond pas aux propriétés de la ressource distante. Dans sa tentative de résolution de l’incompatibilité, Terraform peut détruire et recréer la ressource distante, ce qui entraîne une perte de données.
Protégez les ressources gérées par Terraform avec la gestion du cycle de vie.
Pour éviter toute perte de données sur une ressource Azure qui inclut des ressources volatiles, vous devez utiliser l’argumentprevent_destroy de cycle de vie dans le fichier de configuration Terraform. Par exemple:
resource "azure_netapp_volume" "example {
lifecycle{
prevent_destroy = true
}
}
Modifier une ressource gérée par Terraform en dehors de Terraform
Les instructions suivantes sont une vue d’ensemble générale des étapes requises pour mettre à jour une ressource gérée par Terraform en dehors de Terraform.
Accédez au fichier de configuration du module Terraform. L’extension du fichier de configuration est soit
.tf.tf.json.Dans le fichier de configuration du volume géré par Terraform (
main.tf), recherchez le bloc de configuration du cycle de vie. Modifiez le bloc avecignore_changes = <property>, en affectant la valeur de propriété appropriée pour la fonctionnalité que vous utilisez. S’il n’existe aucun bloc de configuration de cycle de vie, ajoutez-le :lifecycle { ignore_changes = <property> }Apportez la modification souhaitée au volume Azure NetApp Files.
Exécutez
terraform planpour confirmer qu’aucune modification ne sera apportée à votre volume. La sortie de l’interface CLI doit afficher :No changes. Your infrastructure matches the configuration.Remarque
La
terraform plancommande crée un fichier de plan avec les modifications apportées à la ressource distante, ce qui vous permet de garantir la sécurité de votre ressource avant d’appliquer les modifications.Exécutez
terraform applypour appliquer les modifications. Vous devez voir la même sortie d’interface CLI qu’à l’étape précédente.Remarque
Pour rétablir l’état, vous devez mettre à jour le fichier de configuration du module Terraform pour refléter les modifications apportées en dehors de Terraform. Cette modification doit être apportée à toutes les ressources ANF gérées par Terraform qui ont été modifiées hors bande.