Establece el proyecto de Google Cloud predeterminado en el que deseas aplicar tus configuraciones de Terraform.
Solo necesitas ejecutar este comando una vez por proyecto y puedes ejecutarlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si configuras valores explícitos en el archivo de configuración de Terraform.
Prepara el directorio
Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).
En Cloud Shell, crea un directorio y un archivo nuevo dentro de ese directorio. El nombre del archivo debe tener la extensión .tf, por ejemplo, main.tf. En este instructivo, el archivo se denomina main.tf.
mkdir DIRECTORY && cd DIRECTORY && touch main.tf
Si sigues un instructivo, puedes copiar el código de muestra en cada sección o paso.
Copia el código de muestra en el main.tf recién creado.
De manera opcional, copia el código de GitHub. Esto se recomienda cuando el fragmento de Terraform es parte de una solución de extremo a extremo.
Revisa y modifica los parámetros de muestra que se aplicarán a tu entorno.
Guarda los cambios.
Inicializa Terraform. Solo debes hacerlo una vez por directorio.
terraform init
De manera opcional, incluye la opción -upgrade para usar la última versión del proveedor de Google:
terraform init -upgrade
Aplica los cambios
Revisa la configuración y verifica que los recursos que creará o actualizará Terraform coincidan con tus expectativas:
terraform plan
Corrige la configuración según sea necesario.
Para aplicar la configuración de Terraform, ejecuta el siguiente comando y, luego, escribe yes cuando se te solicite:
terraform apply
Espera hasta que Terraform muestre el mensaje “¡Aplicación completa!”.
Abre tu proyecto de Google Cloud para ver los resultados. En la consola de Google Cloud, navega a tus recursos en la IU para asegurarte de que Terraform los haya creado o actualizado.
Cambia el formato
Para cambiar el formato de tu configuración de Terraform al estilo estándar, ingresa el siguiente comando:
terraform fmt
Validar
Para verificar si tu configuración es válida, ingresa el siguiente comando:
terraform validate
Borra los cambios
Quita los recursos que se aplicaron antes con tu configuración de Terraform mediante la ejecución del siguiente comando y, luego, ingresa yes cuando se te solicite:
terraform destroy
Especifica el ID del proyecto
Si ejecutas el comando export GOOGLE_CLOUD_PROJECT, la mayoría de los recursos pueden inferir el project_id.
Algunos recursos, como project_iam_*, no pueden inferir el ID del proyecto. Como solución alternativa, algunas muestras usan la fuente de datos data "google_project". Puedes reemplazar esta fuente de datos por la string del ID del proyecto o una variable.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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)."]]