Applique les changements pour créer, modifier ou détruire l’infrastructure selon le plan Terraform.

Utiliser -auto-approve uniquement en CI/CD après validation du plan. En manuel, toujours relire le plan affiché.


Options principales

OptionDéfautDescription
-auto-approvenonApplique sans demander de confirmation
-var="key=value"aucuneVariable inline
-var-file=FICHIERterraform.tfvarsFichier de variables
-target=RESSOURCEtoutesCible une ressource spécifique
-replace=RESSOURCEaucuneForce la recréation d’une ressource (remplace taint)
-refresh-onlynonMet uniquement à jour le state (sans appliquer de changements)
-refresh=true|falsetrueActualise le state avant apply
-parallelism=N10Nombre d’opérations parallèles
-lock=true|falsetrueVerrouille le state
-lock-timeout=DURÉE0sTemps d’attente avant abandon si state verrouillé

Exemples

# Apply interactif (demande confirmation)
terraform apply
 
# Appliquer un plan sauvegardé (aucune confirmation nécessaire)
terraform apply plan.tfplan
 
# Apply automatique (CI/CD)
terraform apply -auto-approve
 
# Apply avec variables
terraform apply -var-file=prod.tfvars -auto-approve
 
# Forcer la recréation d'une ressource
terraform apply -replace="aws_instance.web"
 
# Apply ciblé sur une ressource
terraform apply -target=aws_instance.web
 
# Synchroniser uniquement le state avec la réalité
terraform apply -refresh-only

Workflow recommandé (CI/CD)

# 1. Valider
terraform validate -backend=false
 
# 2. Planifier et sauvegarder
terraform plan -out=plan.tfplan -var-file=prod.tfvars
 
# 3. Inspecter le plan
terraform show plan.tfplan
 
# 4. Appliquer le plan sauvegardé
terraform apply plan.tfplan

Apply partiel avec -target

# Créer seulement le VPC en premier
terraform apply -target=aws_vpc.main -target=aws_subnet.public
 
# ⚠️ À utiliser avec précaution :
# - Peut créer des incohérences entre state et infra réelle
# - Ne devrait pas être utilisé en prod de manière régulière
# - Utile pour le debugging ou la création progressive

Variables d’environnement utiles

# Désactiver la couleur dans les logs
TF_CLI_ARGS_apply="-no-color"
 
# Niveau de log
TF_LOG=DEBUG terraform apply
 
# Fichier de log
TF_LOG_PATH=terraform.log terraform apply

En relation avec