Defina o projeto padrão do Google Cloud
em que você quer aplicar as configurações do Terraform.
Você só precisa executar esse comando uma vez por projeto, e ele pode ser executado em qualquer diretório.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
As variáveis de ambiente serão substituídas se você definir valores explícitos no arquivo de configuração
do Terraform.
Preparar o diretório
Cada arquivo de configuração do Terraform precisa ter o próprio diretório, também
chamado de módulo raiz.
No Cloud Shell, crie um diretório e um novo
arquivo dentro dele. O nome do arquivo precisa ter a extensão
.tf, por exemplo, main.tf. Neste
tutorial, o arquivo é chamado de main.tf.
mkdir DIRECTORY && cd DIRECTORY && touch main.tf
Se você estiver seguindo um tutorial, poderá copiar o exemplo de código em cada seção ou etapa.
Copie o exemplo de código no main.tf recém-criado.
Se preferir, copie o código do GitHub. Isso é recomendado
quando o snippet do Terraform faz parte de uma solução de ponta a ponta.
Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
Salve as alterações.
Inicialize o Terraform. Você só precisa fazer isso uma vez por diretório.
terraform init
Opcionalmente, para usar a versão mais recente do provedor do Google, inclua a opção
-upgrade:
terraform init -upgrade
Aplique as alterações
Revise a configuração e verifique se os recursos que o Terraform vai criar ou
atualizar correspondem às suas expectativas:
terraform plan
Faça as correções necessárias na configuração.
Para aplicar a configuração do Terraform, execute o comando a seguir e digite yes
no prompt:
terraform apply
Aguarde até que o Terraform exiba a mensagem "Apply complete!".
Abra seu projeto do Google Cloud para ver
os resultados. No console do Google Cloud, navegue até seus recursos na IU para verificar
se foram criados ou atualizados pelo Terraform.
Reformatação
Para reformatar a configuração do Terraform no estilo padrão, insira o
seguinte comando:
terraform fmt
Validar
Para verificar se a configuração é válida, digite o seguinte comando:
terraform validate
Excluir alterações
Remova os recursos aplicados anteriormente com a configuração do Terraform executando o seguinte comando e inserindo yes no prompt:
terraform destroy
Especifique o ID do projeto
Se você executar o comando export GOOGLE_CLOUD_PROJECT, a maioria dos recursos poderá inferir
o project_id.
Alguns recursos, como project_iam_*, não podem inferir o ID do projeto. Como solução alternativa, algumas amostras usam a fonte de dados data "google_project". É possível substituir essa fonte de dados pela string do ID do projeto ou por uma variável.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-04-21 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)."]]