Définissez le projet Google Cloud par défaut dans lequel vous souhaitez appliquer vos configurations Terraform.
Vous n'avez besoin d'exécuter cette commande qu'une seule fois par projet et vous pouvez l'exécuter dans n'importe quel répertoire.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Les variables d'environnement sont remplacées si vous définissez des valeurs explicites dans le fichier de configuration Terraform.
Préparer le répertoire
Chaque fichier de configuration Terraform doit avoir son propre répertoire (également appelé module racine).
Dans Cloud Shell, créez un répertoire et un nouveau fichier dans ce répertoire. Le nom du fichier doit comporter l'extension .tf, par exemple main.tf. Dans ce tutoriel, le fichier est appelé main.tf.
mkdir DIRECTORY && cd DIRECTORY && touch main.tf
Si vous suivez un tutoriel, vous pouvez copier l'exemple de code dans chaque section ou étape.
Copiez l'exemple de code dans le fichier main.tf que vous venez de créer.
Vous pouvez également copier le code depuis GitHub. Cela est recommandé lorsque l'extrait Terraform fait partie d'une solution de bout en bout.
Examinez et modifiez les exemples de paramètres à appliquer à votre environnement.
Enregistrez les modifications.
Initialisez Terraform. Cette opération n'est à effectuer qu'une seule fois par répertoire.
terraform init
Vous pouvez également utiliser la dernière version du fournisseur Google en incluant l'option -upgrade :
terraform init -upgrade
Appliquer les modifications
Examinez la configuration et vérifiez que les ressources que Terraform va créer ou mettre à jour correspondent à vos attentes :
terraform plan
Corrigez les modifications de la configuration si nécessaire.
Appliquez la configuration Terraform en exécutant la commande suivante et en saisissant yes lorsque vous y êtes invité :
terraform apply
Attendez que Terraform affiche le message "Apply completed!" (Application terminée).
Ouvrez votre projet Google Cloud pour afficher les résultats. Dans la console Google Cloud, accédez à vos ressources dans l'interface utilisateur pour vous assurer que Terraform les a créées ou mises à jour.
Reformater
Pour reformater votre configuration Terraform dans le style standard, saisissez la commande suivante :
terraform fmt
Valider
Pour vérifier si votre configuration est valide, saisissez la commande suivante :
terraform validate
Supprimer les modifications
Supprimez les ressources précédemment appliquées à votre configuration Terraform en exécutant la commande suivante et en saisissant yes à l'invite :
terraform destroy
Spécifier l'ID du projet
Si vous exécutez la commande export GOOGLE_CLOUD_PROJECT, la plupart des ressources peuvent déduire la valeur project_id.
Certaines ressources, telles que project_iam_*, ne peuvent pas déduire l'ID du projet. Pour contourner ce problème, certains exemples utilisent la source de données data "google_project". Vous pouvez remplacer cette source de données par la chaîne d'ID du projet ou une variable.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/04/21 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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)."]]