opentofu/website/docs/configuration-0-11/terraform.html.md
Nick Fagerlund 8cfcd82be3 website: Language: Remove several ghost pages, update links
During the language/CLI docs reorg, we noticed several pages that were no longer
viable; some were redundant, some useless, and some just very obsolete.

Since we were trying to avoid breaking links at the time, we opted to remove
them from the navs and leave them as "ghost pages" — still accessible, but not
findable.

This commit finally cleans these ghosts up and updates any remaining links to
relevant modern pages. Bustin' makes me feel good. 👻🚫
2021-01-22 12:22:21 -08:00

2.8 KiB

layout page_title sidebar_current description
language Terraform Settings - 0.11 Configuration Language docs-conf-old-terraform The `terraform` configuration section is used to configure Terraform itself, such as requiring a minimum Terraform version to execute a configuration.

Terraform Settings

-> Note: This page is about Terraform 0.11 and earlier. For Terraform 0.12 and later, see Configuration Language: Terraform Settings.

The terraform configuration section is used to configure Terraform itself, such as requiring a minimum Terraform version to execute a configuration.

This page assumes you're familiar with the configuration syntax already.

Example

Terraform configuration looks like the following:

terraform {
  required_version = "> 0.7.0"
}

Description

The terraform block configures the behavior of Terraform itself.

The currently only allowed configurations within this block are required_version and backend.

required_version specifies a set of version constraints that must be met to perform operations on this configuration. If the running Terraform version doesn't meet these constraints, an error is shown. See the section below dedicated to this option.

See backends for more detail on the backend configuration.

No value within the terraform block can use interpolations. The terraform block is loaded very early in the execution of Terraform and interpolations are not yet available.

Specifying a Required Terraform Version

The required_version setting can be used to require a specific version of Terraform. If the running version of Terraform doesn't match the constraints specified, Terraform will show an error and exit.

When modules are used, all Terraform version requirements specified by the complete module tree must be satisfied. This means that the required_version setting can be used by a module to require that all consumers of a module also use a specific version.

The value of this configuration is a comma-separated list of constraints. A constraint is an operator followed by a version, such as > 0.7.0. Constraints support the following operations:

  • = (or no operator): exact version equality

  • !=: version not equal

  • >, >=, <, <=: version comparison, where "greater than" is a larger version number

  • ~>: pessimistic constraint operator. Example: for ~> 0.9, this means >= 0.9, < 1.0. Example: for ~> 0.8.4, this means >= 0.8.4, < 0.9

For modules, a minimum version is recommended, such as > 0.8.0. This minimum version ensures that a module operates as expected, but gives the consumer flexibility to use newer versions.

Syntax

The full syntax is:

terraform {
  required_version = VALUE
}