A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.hashicorp.com/terraform/tutorials/gcp-get-started/google-cloud-platform-variables below:

Define input variables | Terraform

You now have enough Terraform knowledge to create useful configurations, but the examples so far have used hard-coded values. Terraform configurations can include variables to make your configuration more dynamic and flexible.

Working in your learn-terraform-gcp directory, create a new file called variables.tf with the following variable definitions.

variable "project" { }

variable "region" {
  default = "us-central1"
}

variable "zone" {
  default = "us-central1-c"
}

Tip

Terraform loads all files ending in .tf in the working directory, so you can name your configuration files however you choose. We recommend defining variables in their own file to make your configuration easier to organize and understand.

This file defines four variables within your Terraform configuration. The project and credentials_file variables have an empty block: { }. The region and zone variables set defaults. If a default value is set, the variable is optional. Otherwise, the variable is required. If you run terraform plan now, Terraform will prompt you for the values for project and credentials_file.

Next, update the GCP provider configuration in main.tf to use these new variables.

terraform {
  required_providers {
    google = {
      source = "hashicorp/google"
      version = "6.8.0"
    }
  }
}

provider "google" {
- project = "<PROJECT_ID>"
- region  = "us-central1"
- zone    = "us-central1-c"
+ project = var.project
+ region  = var.region
+ zone    = var.zone
}

Variables are referenced with the var. prefix.

You can populate variables using values from a file. Terraform automatically loads files called terraform.tfvars or matching *.auto.tfvars in the working directory when running operations.

Create a file named terraform.tfvars and copy and paste the values below. Be sure to replace <PROJECT_ID> and <FILE> with your GCP project ID and the path to your key file.

Save this file.

Warning

In other configurations, you may store credentials in the terraform.tfvars file. Never commit sensitive values into source control.

Now run terraform apply.

$ terraform apply
google_compute_network.vpc_network: Refreshing state... [id=projects/testing-project/global/networks/terraform-network]
google_compute_instance.vm_instance: Refreshing state... [id=projects/testing-project/zones/us-central1-c/instances/terraform-instance]

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

Since the region and zone input variables are configured with defaults, you do not need to set them. The values you set in your variables file match the original configuration, so Terraform does not need to make any changes to your infrastructure.

Terraform supports many ways to use and set variables. To learn more, follow our in-depth tutorial, Customize Terraform Configuration with Variables.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4