| Comando |
Descrizione |
terraform init |
Inizializza il progetto, scarica provider e moduli. |
terraform init -upgrade |
Aggiorna provider e moduli all'ultima versione compatibile. |
terraform validate |
Verifica la sintassi e la validità della configurazione. |
terraform fmt |
Formatta automaticamente tutti i file .tf. |
terraform plan |
Mostra le modifiche che verranno applicate. |
terraform apply |
Applica le modifiche. |
terraform apply -auto-approve |
Applica senza chiedere conferma. |
terraform destroy |
Elimina tutte le risorse gestite. |
terraform destroy -target=aws_s3_bucket.logs |
Elimina solo una specifica risorsa. |
| Comando |
Descrizione |
terraform state list |
Elenca tutte le risorse presenti nello state. |
terraform state show <risorsa> |
Mostra il dettaglio di una risorsa nello state. |
terraform state mv <src> <dst> |
Sposta una risorsa nello state (refactoring, cambio modulo, rename). |
terraform state rm <risorsa> |
Rimuove una risorsa dallo state senza eliminarla su AWS. |
terraform state pull |
Scarica lo state remoto. |
terraform state pull > backup.tfstate |
Esegue il backup dello state. |
terraform state push backup.tfstate |
Ripristina uno state precedentemente salvato. |
| Comando |
Descrizione |
terraform output |
Mostra tutti gli output. |
terraform output vpc_id |
Mostra un singolo output. |
terraform output -json |
Restituisce gli output in formato JSON. |
terraform output -json \| jq |
Visualizza gli output in formato leggibile. |
| Comando |
Descrizione |
terraform providers |
Elenca provider richiesti da root, moduli e state. |
terraform providers lock |
Aggiorna il lock file dei provider. |
terraform version |
Mostra la versione di Terraform e dei provider installati. |
| Comando |
Descrizione |
terraform workspace list |
Elenca i workspace. |
terraform workspace new dev |
Crea un nuovo workspace. |
terraform workspace select dev |
Seleziona un workspace. |
terraform workspace show |
Mostra il workspace corrente. |
terraform workspace delete dev |
Elimina un workspace. |
| Comando |
Descrizione |
terraform import aws_s3_bucket.logs mio-bucket |
Importa una risorsa AWS nello state. |
terraform import module.vpc.aws_vpc.this[0] vpc-xxxxxxxx |
Importa una risorsa direttamente in un modulo. |
| Comando |
Descrizione |
terraform console |
Apre una console interattiva per testare espressioni Terraform. |
| Comando |
Descrizione |
terraform graph |
Genera il grafo delle dipendenze. |
terraform graph \| dot -Tpng > graph.png |
Esporta il grafo delle dipendenze in PNG (richiede Graphviz). |
terraform fmt -recursive |
Formatta ricorsivamente tutto il progetto. |
terraform plan -out=tfplan |
Salva il piano su file. |
terraform apply tfplan |
Applica un piano precedentemente salvato. |
Comandi utili GitLab Backend
| Comando |
Descrizione |
terraform state pull > backup-$(date +%F-%H%M).tfstate |
Backup dello state remoto prima di modifiche importanti. |
terraform state push backup.tfstate |
Ripristina il backup dello state remoto. |
terraform init -reconfigure |
Reinizializza il backend dopo modifiche alla configurazione. |
Comandi consigliati durante lo sviluppo
terraform fmt -recursive
terraform validate
terraform plan
Comandi consigliati prima di modificare lo State
terraform state pull > backup.tfstate
terraform state list
terraform plan
Comandi consigliati dopo un refactoring
terraform state mv ...
terraform plan
terraform apply