Imposta il Google Cloud project
predefinito in cui vuoi applicare le configurazioni Terraform.
Devi eseguire questo comando una sola volta per progetto e puoi farlo in qualsiasi directory.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Le variabili di ambiente vengono sostituite se imposti valori espliciti nel
file di configurazione Terraform.
Prepara la directory
Ogni file di configurazione di Terraform deve avere una propria directory (chiamata anche modulo principale).
In Cloud Shell, crea una directory e un nuovo
file al suo interno. Il nome file deve avere l'estensione
.tf, ad esempio main.tf. In questo
tutorial, il file è denominato main.tf.
mkdir DIRECTORY && cd DIRECTORY && touch main.tf
Se stai seguendo un tutorial, puoi copiare il codice di esempio in ogni sezione o passaggio.
Copia il codice di esempio nel main.tf appena creato.
Se vuoi, copia il codice da GitHub. Questa operazione è consigliata
quando lo snippet Terraform fa parte di una soluzione end-to-end.
Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
Salva le modifiche.
Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
terraform init
Se vuoi, per utilizzare la versione più recente del provider Google, includi l'opzione -upgrade:
terraform init -upgrade
Applica le modifiche
Rivedi la configurazione e verifica che le risorse che Terraform sta per creare o
aggiornare corrispondano alle tue aspettative:
terraform plan
Apporta le correzioni necessarie alla configurazione.
Applica la configurazione di Terraform eseguendo il seguente comando e inserendo yes
al prompt:
terraform apply
Attendi che Terraform mostri il messaggio "Applicazione completata".
Apri il tuo Google Cloud progetto per visualizzare i risultati. Nella Google Cloud console, vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.
Riformattazione
Per riformattare la configurazione di Terraform nello stile standard, inserisci il
comando seguente:
terraform fmt
Convalida
Per verificare se la configurazione è valida, inserisci il seguente comando:
terraform validate
Eliminare le modifiche
Rimuovi le risorse applicate in precedenza con la configurazione Terraform eseguendo il seguente
comando e inserendo yes al prompt:
terraform destroy
Specifica l'ID progetto
Se esegui il comando export GOOGLE_CLOUD_PROJECT, la maggior parte delle risorse può dedurre
il project_id.
Alcune risorse, come project_iam_*, non possono dedurre l'ID progetto. Come workaround, alcuni esempi utilizzano l'origine dati data "google_project". Puoi sostituire questa origine dati con la stringa dell'ID progetto o con una variabile.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[[["\u003cp\u003eTerraform configurations are applied within a designated Google Cloud project, initiated by setting the \u003ccode\u003eGOOGLE_CLOUD_PROJECT\u003c/code\u003e environment variable in Cloud Shell.\u003c/p\u003e\n"],["\u003cp\u003eEach Terraform configuration requires its own directory, where you will need to create a \u003ccode\u003e.tf\u003c/code\u003e file, such as \u003ccode\u003emain.tf\u003c/code\u003e, and then initialize Terraform using the \u003ccode\u003eterraform init\u003c/code\u003e command.\u003c/p\u003e\n"],["\u003cp\u003eBefore applying changes, you must use the \u003ccode\u003eterraform plan\u003c/code\u003e command to review the planned resource changes and verify that the resources Terraform is going to create or update match your expectations.\u003c/p\u003e\n"],["\u003cp\u003eTo apply changes to your Google Cloud project, use the \u003ccode\u003eterraform apply\u003c/code\u003e command and confirm the action, or use \u003ccode\u003eterraform destroy\u003c/code\u003e to remove previously applied resources.\u003c/p\u003e\n"],["\u003cp\u003eYou can utilize the \u003ccode\u003eterraform fmt\u003c/code\u003e and \u003ccode\u003eterraform validate\u003c/code\u003e commands to reformat and check if your Terraform configuration is valid, respectively.\u003c/p\u003e\n"]]],[],null,["# Basic Terraform commands\n\nTo apply your Terraform configuration in a Google Cloud project, complete the steps in the\nfollowing sections.\n\nPrepare Cloud Shell\n-------------------\n\n1. Launch [Cloud Shell](https://shell.cloud.google.com/).\n2. Set the default Google Cloud project\n where you want to apply your Terraform configurations.\n\n You only need to run this command once per project, and you can run it in any directory. \n\n ```\n export GOOGLE_CLOUD_PROJECT=PROJECT_ID\n ```\n\n Environment variables are overridden if you set explicit values in the Terraform\n configuration file.\n\nPrepare the directory\n---------------------\n\nEach Terraform configuration file must have its own directory (also\ncalled a *root module*).\n\n1. In [Cloud Shell](https://shell.cloud.google.com/), create a directory and a new file within that directory. The filename must have the `.tf` extension---for example `main.tf`. In this tutorial, the file is referred to as `main.tf`. \n\n ```\n mkdir DIRECTORY && cd DIRECTORY && touch main.tf\n ```\n2. If you are following a tutorial, you can copy the sample code in each section or step.\n\n Copy the sample code into the newly created `main.tf`.\n\n Optionally, copy the code from GitHub. This is recommended\n when the Terraform snippet is part of an end-to-end solution.\n3. Review and modify the sample parameters to apply to your environment.\n4. Save your changes.\n5. Initialize Terraform. You only need to do this once per directory. \n\n ```\n terraform init\n ```\n\n Optionally, to use the latest Google provider version, include the `-upgrade`\n option: \n\n ```\n terraform init -upgrade\n ```\n\nApply the changes\n-----------------\n\n1. Review the configuration and verify that the resources that Terraform is going to create or update match your expectations: \n\n ```\n terraform plan\n ```\n\n Make corrections to the configuration as necessary.\n2. Apply the Terraform configuration by running the following command and entering `yes` at the prompt: \n\n ```\n terraform apply\n ```\n\n Wait until Terraform displays the \"Apply complete!\" message.\n3. [Open your Google Cloud project](https://console.cloud.google.com/) to view the results. In the Google Cloud console, navigate to your resources in the UI to make sure that Terraform has created or updated them.\n\n| **Note:** Terraform samples typically assume that the required APIs are enabled in your Google Cloud project.\n\nReformat\n--------\n\nTo reformat your Terraform configuration in the standard style, enter the\nfollowing command: \n\n```\nterraform fmt\n```\n\nValidate\n--------\n\nTo check whether your configuration is valid, enter the following command: \n\n```\nterraform validate\n```\n\nDelete changes\n--------------\n\nRemove resources previously applied with your Terraform configuration by running the following\ncommand and entering `yes` at the prompt: \n\n```\nterraform destroy\n```\n\nSpecify the project ID\n----------------------\n\nIf you run the `export GOOGLE_CLOUD_PROJECT` command, most resources can infer\nthe `project_id`.\n\nSome resources, such as `project_iam_*`, cannot infer the project ID. As a\nworkaround, some samples use the [`data \"google_project\"`](https://registry.terraform.io/providers/hashicorp/google/latest/docs/data-sources/project)\ndata source. You can replace this data source with the project ID string or a\nvariable.\n\nFor a sample that uses this workaround, see\n[sql_instance_iam_condition](https://github.com/terraform-google-modules/terraform-docs-samples/blob/main/cloud_sql/instance_iam_condition/main.tf).\n\nWhat's next\n-----------\n\n- [Learn more about Terraform's CLI features](https://www.terraform.io/cli/commands)."]]