diff --git a/website/docs/backends/config.html.md b/website/docs/backends/config.html.md index 6eddd3ffd..5940a82d0 100644 --- a/website/docs/backends/config.html.md +++ b/website/docs/backends/config.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Backends: Configuration" sidebar_current: "docs-backends-config" description: |- diff --git a/website/docs/backends/index.html.md b/website/docs/backends/index.html.md index f8fb843c1..e6bb09b5b 100644 --- a/website/docs/backends/index.html.md +++ b/website/docs/backends/index.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Backends" sidebar_current: "docs-backends-index" description: |- diff --git a/website/docs/backends/init.html.md b/website/docs/backends/init.html.md index cbba0eb7d..7346db392 100644 --- a/website/docs/backends/init.html.md +++ b/website/docs/backends/init.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Backends: Init" sidebar_current: "docs-backends-init" description: |- diff --git a/website/docs/backends/operations.html.md b/website/docs/backends/operations.html.md index 0272c856b..755d2c9e9 100644 --- a/website/docs/backends/operations.html.md +++ b/website/docs/backends/operations.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Backends: Remote Operations (plan, apply, etc.)" sidebar_current: "docs-backends-operations" description: |- diff --git a/website/docs/backends/state.html.md b/website/docs/backends/state.html.md index 936367201..78f1c68af 100644 --- a/website/docs/backends/state.html.md +++ b/website/docs/backends/state.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Backends: State Storage and Locking" sidebar_current: "docs-backends-state" description: |- diff --git a/website/docs/backends/types/artifactory.html.md b/website/docs/backends/types/artifactory.html.md index ce30ae716..2e19dea89 100644 --- a/website/docs/backends/types/artifactory.html.md +++ b/website/docs/backends/types/artifactory.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: artifactory" sidebar_current: "docs-backends-types-standard-artifactory" description: |- diff --git a/website/docs/backends/types/azurerm.html.md b/website/docs/backends/types/azurerm.html.md index 72da9c098..147a813f8 100644 --- a/website/docs/backends/types/azurerm.html.md +++ b/website/docs/backends/types/azurerm.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: azurerm" sidebar_current: "docs-backends-types-standard-azurerm" description: |- diff --git a/website/docs/backends/types/consul.html.md b/website/docs/backends/types/consul.html.md index 740d97502..be7cd665a 100644 --- a/website/docs/backends/types/consul.html.md +++ b/website/docs/backends/types/consul.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: consul" sidebar_current: "docs-backends-types-standard-consul" description: |- diff --git a/website/docs/backends/types/cos.html.md b/website/docs/backends/types/cos.html.md index bf1d09945..e063fc2aa 100644 --- a/website/docs/backends/types/cos.html.md +++ b/website/docs/backends/types/cos.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: cos" sidebar_current: "docs-backends-types-standard-cos" description: |- diff --git a/website/docs/backends/types/etcd.html.md b/website/docs/backends/types/etcd.html.md index 302d5486b..792b7354c 100644 --- a/website/docs/backends/types/etcd.html.md +++ b/website/docs/backends/types/etcd.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: etcd" sidebar_current: "docs-backends-types-standard-etcdv2" description: |- diff --git a/website/docs/backends/types/etcdv3.html.md b/website/docs/backends/types/etcdv3.html.md index 43257c8ce..5b8558995 100644 --- a/website/docs/backends/types/etcdv3.html.md +++ b/website/docs/backends/types/etcdv3.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: etcdv3" sidebar_current: "docs-backends-types-standard-etcdv3" description: |- diff --git a/website/docs/backends/types/gcs.html.md b/website/docs/backends/types/gcs.html.md index fc8cd9d3d..cc44251b5 100644 --- a/website/docs/backends/types/gcs.html.md +++ b/website/docs/backends/types/gcs.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: gcs" sidebar_current: "docs-backends-types-standard-gcs" description: |- diff --git a/website/docs/backends/types/http.html.md b/website/docs/backends/types/http.html.md index e0f3e7488..e87903c44 100644 --- a/website/docs/backends/types/http.html.md +++ b/website/docs/backends/types/http.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: http" sidebar_current: "docs-backends-types-standard-http" description: |- diff --git a/website/docs/backends/types/index.html.md b/website/docs/backends/types/index.html.md index 4034a0ae6..5ec60ee6f 100644 --- a/website/docs/backends/types/index.html.md +++ b/website/docs/backends/types/index.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend: Supported Backend Types" sidebar_current: "docs-backends-types-index" description: |- diff --git a/website/docs/backends/types/kubernetes.html.md b/website/docs/backends/types/kubernetes.html.md index 80ef08763..9cf00ca81 100644 --- a/website/docs/backends/types/kubernetes.html.md +++ b/website/docs/backends/types/kubernetes.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: Kubernetes" sidebar_current: "docs-backends-types-standard-kubernetes" description: |- diff --git a/website/docs/backends/types/local.html.md b/website/docs/backends/types/local.html.md index b8a690cb6..225e6ac27 100644 --- a/website/docs/backends/types/local.html.md +++ b/website/docs/backends/types/local.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: local" sidebar_current: "docs-backends-types-enhanced-local" description: |- diff --git a/website/docs/backends/types/manta.html.md b/website/docs/backends/types/manta.html.md index 926891618..9fae9a679 100644 --- a/website/docs/backends/types/manta.html.md +++ b/website/docs/backends/types/manta.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: manta" sidebar_current: "docs-backends-types-standard-manta" description: |- diff --git a/website/docs/backends/types/oss.html.md b/website/docs/backends/types/oss.html.md index c15ebd064..b3fbd828e 100644 --- a/website/docs/backends/types/oss.html.md +++ b/website/docs/backends/types/oss.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: oss" sidebar_current: "docs-backends-types-standard-oss" description: |- diff --git a/website/docs/backends/types/pg.html.md b/website/docs/backends/types/pg.html.md index 7dd60e582..1b9ee0c3c 100644 --- a/website/docs/backends/types/pg.html.md +++ b/website/docs/backends/types/pg.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: pg" sidebar_current: "docs-backends-types-standard-pg" description: |- diff --git a/website/docs/backends/types/remote.html.md b/website/docs/backends/types/remote.html.md index 1af0313cd..982780923 100644 --- a/website/docs/backends/types/remote.html.md +++ b/website/docs/backends/types/remote.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: remote" sidebar_current: "docs-backends-types-enhanced-remote" description: |- diff --git a/website/docs/backends/types/s3.html.md b/website/docs/backends/types/s3.html.md index 31b3a7ac9..7579e96f4 100644 --- a/website/docs/backends/types/s3.html.md +++ b/website/docs/backends/types/s3.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: s3" sidebar_current: "docs-backends-types-standard-s3" description: |- diff --git a/website/docs/backends/types/swift.html.md b/website/docs/backends/types/swift.html.md index 57ab752eb..35d77b7ce 100644 --- a/website/docs/backends/types/swift.html.md +++ b/website/docs/backends/types/swift.html.md @@ -1,5 +1,5 @@ --- -layout: "backend-types" +layout: "language" page_title: "Backend Type: swift" sidebar_current: "docs-backends-types-standard-swift" description: |- diff --git a/website/docs/cli-index.html.md b/website/docs/cli-index.html.md index 9fc22207d..43854ee7d 100644 --- a/website/docs/cli-index.html.md +++ b/website/docs/cli-index.html.md @@ -1,43 +1,20 @@ --- layout: "docs" -page_title: "Documentation" +page_title: "Terraform CLI Documentation" sidebar_current: "docs-home" description: |- - Documentation for Terraform's core open source features, including the - configuration language, the commands, and the main Terraform providers. + Documentation for Terraform's CLI-based workflows. --- # Terraform CLI Documentation -Welcome to the Terraform CLI documentation! +> **Hands-on:** Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn. -## What's in This Section of the Docs? +This is the documentation for Terraform CLI. It is relevant to anyone working +with Terraform's CLI-based workflows; this includes people who use Terraform CLI +by itself, as well as those who use Terraform CLI in conjunction with Terraform +Cloud or Terraform Enterprise. -This section contains reference documentation for Terraform's core open source -features, including the -[configuration language](/docs/configuration/index.html), the -[command-line tools](/docs/commands/index.html), and the main -[Terraform providers](/docs/providers/index.html). Use the navigation sidebar -to browse the various subsections. - -## Who is This For? - -The Terraform CLI docs are relevant to _all Terraform users,_ including open -source users and Terraform Cloud users. - -Since these docs are reference material, they are mainly written for -_intermediate and advanced users,_ who need to find complete and detailed -information quickly. - -- **New user?** Try the - [Get Started collection](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) - at HashiCorp Learn, then return - here once you've used Terraform to manage some simple resources. -- **Curious about Terraform?** See [Introduction to Terraform](/intro/index.html) - for a broad overview of what Terraform is and why people use it. - -## What's Elsewhere? - -This is not the only section of the Terraform docs! You can find out more at the -[Terraform docs home page](/docs/index.html), or you can jump between sections -using the "Other Docs" area of the navigation sidebar. +Notably, this documentation does not cover the syntax and usage of the Terraform +language. For that, see the +[Terraform Language Documentation](/docs/configuration/index.html). diff --git a/website/docs/cli/auth/index.html.md b/website/docs/cli/auth/index.html.md new file mode 100644 index 000000000..0400da546 --- /dev/null +++ b/website/docs/cli/auth/index.html.md @@ -0,0 +1,29 @@ +--- +layout: "docs" +page_title: "Authentication - Terraform CLI" +--- + +# CLI Authentication + +> **Hands-on:** Try the [Authenticate the CLI with Terraform Cloud](https://learn.hashicorp.com/tutorials/terraform/cloud-login?in=terraform/cloud&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorial on HashiCorp Learn. + +[Terraform Cloud](/docs/cloud/index.html) and +[Terraform Enterprise](/docs/enterprise/index.html) are platforms that perform +Terraform runs to provision infrastructure, offering a collaboration-focused +environment that makes it easier for teams to use Terraform together. (For +expediency, the content below refers to both products as "Terraform Cloud.") + +Terraform CLI integrates with Terraform Cloud in several ways — it can be a +front-end for [CLI-driven runs](/docs/cloud/run/cli.html) in Terraform Cloud, +and can also use Terraform Cloud as a state backend and a private module +registry. All of these integrations require you to authenticate Terraform CLI +with your Terraform Cloud account. + +The best way to handle CLI authentication is with the `login` and `logout` +commands, which help automate the process of getting an API token for your +Terraform Cloud user account. + +For details, see: + +- [The `terraform login` command](/docs/commands/login.html) +- [The `terraform logout` command](/docs/commands/logout.html) diff --git a/website/docs/cli/code/index.html.md b/website/docs/cli/code/index.html.md new file mode 100644 index 000000000..ba05a8940 --- /dev/null +++ b/website/docs/cli/code/index.html.md @@ -0,0 +1,43 @@ +--- +layout: "docs" +page_title: "Writing and Modifying Code - Terraform CLI" +--- + +# Writing and Modifying Terraform Code + +The [Terraform language](/docs/configuration/index.html) is Terraform's primary +user interface, and all of Terraform's workflows rely on configurations written +in the Terraform language. + +Terraform CLI includes several commands to make Terraform code more convenient +to work with. Integrating these commands into your editing workflow can +potentially save you time and effort. + +- [The `terraform console` command](/docs/commands/console.html) starts an + interactive shell for evaluating Terraform + [expressions](/docs/configuration/expressions.html), which can be a faster way + to verify that a particular resource argument results in the value you expect. + + +- [The `terraform fmt` command](/docs/commands/fmt.html) rewrites Terraform + configuration files to a canonical format and style, so you don't have to + waste time making minor adjustments for readability and consistency. It works + well as a pre-commit hook in your version control system. + +- [The `terraform validate` command](/docs/commands/validate.html) validates the + syntax and arguments of the Terraform configuration files in a directory, + including argument and attribute names and types for resources and modules. + The `plan` and `apply` commands automatically validate a configuration before + performing any other work, so `validate` isn't a crucial part of the core + workflow, but it can be very useful as a pre-commit hook or as part of a + continuous integration pipeline. + +- [The `0.13upgrade` command](/docs/commands/0.13upgrade.html) and + [the `0.12upgrade` command](/docs/commands/0.12upgrade.html) can automatically + modify the configuration files in a Terraform module to help deal with major + syntax changes that occurred in the 0.13 and 0.12 releases of Terraform. Both + of these commands are only available in the Terraform version they are + associated with, and you are expected to upgrade older code to be compatible + with 0.12 before attempting to make it compatible with 0.13. For more detailed + information about updating code for new Terraform versions, see the [upgrade + guides](/upgrade-guides/index.html) in the Terraform language docs. diff --git a/website/docs/cli/config/index.html.md b/website/docs/cli/config/index.html.md new file mode 100644 index 000000000..deb63b59b --- /dev/null +++ b/website/docs/cli/config/index.html.md @@ -0,0 +1,22 @@ +--- +layout: "docs" +page_title: "CLI Configuration - Terraform CLI" +--- + +# CLI Configuration + +Terraform CLI can be configured with some global settings, which are separate +from any Terraform configuration and which apply across all working directories. + +We've designed Terraform such that an average user running Terraform CLI +interactively will not need to interact with any of these settings. As a result, +most of the global settings relate to advanced or automated workflows, or +unusual environmental conditions like running Terraform on an airgapped +instance. + +- The [CLI config file](/docs/commands/cli-config.html) configures provider + installation and security features. +- Several [environment variables](/docs/commands/environment-variables.html) can + configure Terraform's inputs and outputs; this includes some alternate ways to + provide information that is usually passed on the command line or read from + the state of the shell. diff --git a/website/docs/cli/init/index.html.md b/website/docs/cli/init/index.html.md new file mode 100644 index 000000000..f72a0921b --- /dev/null +++ b/website/docs/cli/init/index.html.md @@ -0,0 +1,71 @@ +--- +layout: "docs" +page_title: "Initializing Working Directories - Terraform CLI" +--- + +# Initializing Working Directories + +Terraform expects to be invoked from a working directory that contains +configuration files written in +[the Terraform language](/docs/configuration/index.html). Terraform uses +configuration content from this directory, and also uses the directory to store +settings, cached plugins and modules, and sometimes state data. + +A working directory must be initialized before Terraform can perform any +operations in it (like provisioning infrastructure or modifying state). + +## Working Directory Contents + +A Terraform working directory typically contains: + +- A Terraform configuration describing resources Terraform should manage. This + configuration is expected to change over time. +- A hidden `.terraform` directory, which Terraform uses to manage cached + provider plugins and modules, record which + [workspace](/docs/cli/workspaces/index.html) is currently active, and + record the last known backend configuration in case it needs to migrate state + on the next run. This directory is automatically managed by Terraform, and is + created during initialization. +- State data, if the configuration uses the default `local` backend. This is + managed by Terraform in a `terraform.tfstate` file (if the directory only uses + the default workspace) or a `terraform.tfstate.d` directory (if the directory + uses multiple workspaces). + +## Initialization + +Run the `terraform init` command to initialize a working directory that contains +a Terraform configuration. After initialization, you will be able to perform +other commands, like `terraform plan` and `terraform apply`. + +If you try to run a command that relies on initialization without first +initializing, the command will fail with an error and explain that you need to +run init. + +Initialization performs several tasks to prepare a directory, including +accessing state in the configured backend, downloading and installing provider +plugins, and downloading modules. Under some conditions (usually when changing +from one backend to another), it might ask the user for guidance or +confirmation. + +For details, see [the `terraform init` command](/docs/commands/init.html). + +## Reinitialization + +Certain types of changes to a Terraform configuration can require +reinitialization before normal operations can continue. This includes changes to +provider requirements, module sources or version constraints, and backend +configurations. + +You can reinitialize a directory by running `terraform init` again. In fact, you +can reinitialize at any time; the init command is idempotent, and will have no +effect if no changes are required. + +If reinitialization is required, any commands that rely on initialization will +fail with an error and tell you so. + +## Reinitializing Only Modules + +The `terraform get` command will download modules referenced in the +configuration, but will not perform the other required initialization tasks. +This command is only useful for niche workflows, and most Terraform users can +ignore it in favor of `terraform init`. diff --git a/website/docs/cli/inspect/index.html.md b/website/docs/cli/inspect/index.html.md new file mode 100644 index 000000000..de6899107 --- /dev/null +++ b/website/docs/cli/inspect/index.html.md @@ -0,0 +1,33 @@ +--- +layout: "docs" +page_title: "Inspecting Infrastructure - Terraform CLI" +--- + +# Inspecting Infrastructure + +Terraform configurations and state data include some highly structured +information about the resources they manage; this includes dependency +information, outputs (which are pieces of generated or discovered data that the +configuration's author considers important enough to surface to users), and +more. + +Terraform CLI includes some commands for inspecting or transforming this data. +You can use these to integrate other tools with Terraform's infrastructure data, +or just to gain a deeper or more holistic understanding of your infrastructure. + +- [The `terraform graph` command](/docs/commands/graph.html) creates a visual + representation of a configuration or a set of planned changes. +- [The `terraform output` command](/docs/commands/output.html) can get the + values for the top-level [output values](/docs/configuration/outputs.html) of + a configuration, which are often helpful when making use of the infrastructure + Terraform has provisioned. +- [The `terraform show` command](/docs/commands/show.html) can generate + human-readable versions of a state file or plan file, or generate + machine-readable versions that can be integrated with other tools. +- [The `terraform state list` command](/docs/commands/state/list.html) can list + the resources being managed by the current working directory and workspace, + providing a complete or filtered list. +- [The `terraform state show` command](/docs/commands/state/show.html) can print + all of the attributes of a given resource being managed by the current working + directory and workspace, including generated read-only attributes like the + unique ID assigned by the cloud provider. diff --git a/website/docs/cli/plugins/index.html.md b/website/docs/cli/plugins/index.html.md new file mode 100644 index 000000000..0dce9f6c0 --- /dev/null +++ b/website/docs/cli/plugins/index.html.md @@ -0,0 +1,54 @@ +--- +layout: "docs" +page_title: "Managing Plugins - Terraform CLI" +--- + +# Managing Plugins + +Terraform relies on plugins called "providers" in order to manage various types +of resources. (For more information about providers, see +[Providers](/docs/configuration/blocks/providers/index.html) in the Terraform +language docs.) + +-> **Note:** Providers are currently the only plugin type most Terraform users +will interact with. Terraform also supports third-party provisioner plugins, but +we discourage their use. + +Terraform downloads and/or installs any providers +[required](/docs/configuration/provider-requirements.html) by a configuration +when [initializing](/docs/cli/init/index.html) a working directory. By default, +this works without any additional interaction but requires network access to +download providers from their source registry. + +You can configure Terraform's provider installation behavior to limit or skip +network access, and to enable use of providers that aren't available via a +networked source. Terraform also includes some commands to show information +about providers and to reduce the effort of installing providers in airgapped +environments. + +## Configuring Plugin Installation + +Terraform's configuration file includes options for caching downloaded plugins, +or explicitly specifying a local or HTTPS mirror to install plugins from. For +more information, see [CLI Config File](/docs/commands/cli-config.html). + +## Getting Plugin Information + +Use the [`terraform providers`](/docs/commands/providers.html) command to get information +about the providers required by the current working directory's configuration. + +Use the [`terraform providers schema`](/docs/commands/providers/schema.html) command to +get machine-readable information about the resources and configuration options +offered by each provider. + +## Managing Plugin Installation + +Use the [`terraform providers mirror`](/docs/commands/providers/mirror.html) command to +download local copies of every provider required by the current working +directory's configuration. This directory will use the nested directory layout +that Terraform expects when installing plugins from a local source, so you can +transfer it directly to an airgapped system that runs Terraform. + +Use the [`terraform providers lock`](/docs/commands/providers/lock.html) command +to update the lock file that Terraform uses to ensure predictable runs when +using ambiguous provider version constraints. diff --git a/website/docs/cli/run/index.html.md b/website/docs/cli/run/index.html.md new file mode 100644 index 000000000..d7fec11ce --- /dev/null +++ b/website/docs/cli/run/index.html.md @@ -0,0 +1,71 @@ +--- +layout: "docs" +page_title: "Provisioning Infrastructure - Terraform CLI" +--- + +# Provisioning Infrastructure with Terraform + +Terraform's primary function is to create, modify, and destroy infrastructure +resources to match the desired state described in a +[Terraform configuration](/docs/configuration/index.html). + +When people refer to "running Terraform," they generally mean performing these +provisioning actions in order to affect real infrastructure objects. The +Terraform binary has many other subcommands for a wide variety of administrative +actions, but these basic provisioning tasks are the core of Terraform. + +Terraform's provisioning workflow relies on three commands: `plan`, `apply`, and +`destroy`. All of these commands require an +[initialized](/docs/cli/init/index.html) working directory, and all of them act +only upon the currently selected [workspace](/docs/cli/workspaces/index.html). + +## Planning + +The `terraform plan` command evaluates a Terraform configuration to determine +the desired state of all the resources it declares, then compares that desired +state to the real infrastructure objects being managed with the current working +directory and workspace. It uses state data to determine which real objects +correspond to which declared resources, and checks the current state of each +resource using the relevant infrastructure provider's API. + +Once it has determined the difference between the current state and the desired +state, `terraform plan` presents a description of the changes necessary to +achieve the desired state. It _does not_ perform any actual changes to real +world infrastructure objects; it only presents a plan for making changes. + +Plans are usually run to validate configuration changes and confirm that the +resulting actions are as expected. However, `terraform plan` can also save its +plan as a runnable artifact, which `terraform apply` can use to carry out those +exact changes. + +For details, see [the `terraform plan` command](/docs/commands/plan.html). + +## Applying + +The `terraform apply` command performs a plan just like `terraform plan` does, +but then actually carries out the planned changes to each resource using the +relevant infrastructure provider's API. It asks for confirmation from the user +before making any changes, unless it was explicitly told to skip approval. + +By default, `terraform apply` performs a fresh plan right before applying +changes, and displays the plan to the user when asking for confirmation. +However, it can also accept a plan file produced by `terraform plan` in lieu of +running a new plan. You can use this to reliably perform an exact set of +pre-approved changes, even if the configuration or the state of the real +infrastructure has changed in the minutes since the original plan was created. + +For details, see [the `terraform apply` command](/docs/commands/apply.html). + +## Destroying + +The `terraform destroy` command destroys all of the resources being managed by +the current working directory and workspace, using state data to determine which +real world objects correspond to managed resources. Like `terraform apply`, it +asks for confirmation before proceeding. + +A destroy behaves exactly like deleting every resource from the configuration +and then running an apply, except that it doesn't require editing the +configuration. This is more convenient if you intend to provision similar +resources at a later date. + +For details, see [the `terraform destroy` command](/docs/commands/destroy.html). diff --git a/website/docs/cli/state/index.html.md b/website/docs/cli/state/index.html.md new file mode 100644 index 000000000..3a35e4fe5 --- /dev/null +++ b/website/docs/cli/state/index.html.md @@ -0,0 +1,30 @@ +--- +layout: "docs" +page_title: "Manipulating State - Terraform CLI" +--- + +# Manipulating Terraform State + +Terraform uses [state data](/docs/state/index.html) to remember which +real-world object corresponds to each resource in the configuration; +this allows it to modify an existing object when its resource declaration +changes. + +Terraform updates state automatically during plans and applies. However, it's +sometimes necessary to make deliberate adjustments to Terraform's state data, +usually to compensate for changes to the configuration or the real managed +infrastructure. + +Terraform CLI supports several workflows for interacting with state: + +- [Inspecting State](/docs/cli/state/inspect.html) +- [Forcing Re-creation (Tainting)](/docs/cli/state/taint.html) +- [Moving Resources](/docs/cli/state/move.html) +- Importing Pre-existing Resources (documented in the + [Importing Infrastructure](/docs/import/index.html) section) +- [Disaster Recovery](/docs/cli/state/recover.html) + +~> **Important:** Modifying state data outside a normal plan or apply can cause +Terraform to lose track of managed resources, which might waste money, annoy +your colleagues, or even compromise the security of your operations. Make sure +to keep backups of your state data when modifying state out-of-band. diff --git a/website/docs/cli/state/inspect.html.md b/website/docs/cli/state/inspect.html.md new file mode 100644 index 000000000..eb9792236 --- /dev/null +++ b/website/docs/cli/state/inspect.html.md @@ -0,0 +1,21 @@ +--- +layout: "docs" +page_title: "Inspecting State - Terraform CLI" +--- + +# Inspecting State + +Terraform includes some commands for reading and updating state without taking +any other actions. + +- [The `terraform state list` command](/docs/commands/state/list.html) + shows the resource addresses for every resource Terraform knows about in a + configuration, optionally filtered by partial resource address. + +- [The `terraform state show` command](/docs/commands/state/show.html) + displays detailed state data about one resource. + +- [The `terraform refresh` command](/docs/commands/refresh.html) updates + state data to match the real-world condition of the managed resources. This is + done automatically during plans and applies, but not when interacting with + state directly. diff --git a/website/docs/cli/state/move.html.md b/website/docs/cli/state/move.html.md new file mode 100644 index 000000000..b4cd62d90 --- /dev/null +++ b/website/docs/cli/state/move.html.md @@ -0,0 +1,35 @@ +--- +layout: "docs" +page_title: "Moving Resources - Terraform CLI" +--- + +# Moving Resources + +Terraform's state associates each real-world object with a configured resource +at a specific [resource address](/docs/internals/resource-addressing.html). This +is seamless when changing a resource's attributes, but Terraform will lose track +of a resource if you change its name, move it to a different module, or change +its provider. + +Usually that's fine: Terraform will destroy the old resource, replace it with a +new one (using the new resource address), and update any resources that rely on +its attributes. + +In cases where it's important to preserve an existing infrastructure object, you +can explicitly tell Terraform to associate it with a different configured +resource. + +- [The `terraform state mv` command](/docs/commands/state/mv.html) changes + which resource address in your configuration is associated with a particular + real-world object. Use this to preserve an object when renaming a resource, or + when moving a resource into or out of a child module. + +- [The `terraform state rm` command](/docs/commands/state/rm.html) tells + Terraform to stop managing a resource as part of the current working directory + and workspace, _without_ destroying the corresponding real-world object. (You + can later use `terraform import` to start managing that resource in a + different workspace or a different Terraform configuration.) + +- [The `terraform state replace-provider` command](/docs/commands/state/replace-provider.html) + transfers existing resources to a new provider without requiring them to be + re-created. diff --git a/website/docs/cli/state/recover.html.md b/website/docs/cli/state/recover.html.md new file mode 100644 index 000000000..a8e55f3f6 --- /dev/null +++ b/website/docs/cli/state/recover.html.md @@ -0,0 +1,24 @@ +--- +layout: "docs" +page_title: "Recovering from State Disasters - Terraform CLI" +--- + +# Recovering from State Disasters + +If something has gone horribly wrong (possibly due to accidents when performing +other state manipulation actions), you might need to take drastic actions with +your state data. + +- [The `terraform force-unlock` command](/docs/commands/force-unlock.html) can + override the protections Terraform uses to prevent two processes from + modifying state at the same time. You might need this if a Terraform process + (like a normal apply) is unexpectedly terminated (like by the complete + destruction of the VM it's running in) before it can release its lock on the + state backend. Do not run this until you are completely certain what happened + to the process that caused the lock to get stuck. + +- [The `terraform state pull` command](/docs/commands/state/pull.html) and + [the `terraform state push` command](/docs/commands/state/push.html) can + directly read and write entire state files from and to the configured backend. + You might need this for obtaining or restoring a state backup. + diff --git a/website/docs/cli/state/taint.html.md b/website/docs/cli/state/taint.html.md new file mode 100644 index 000000000..433e80591 --- /dev/null +++ b/website/docs/cli/state/taint.html.md @@ -0,0 +1,25 @@ +--- +layout: "docs" +page_title: "Forcing Re-creation of Resources (Tainting) - Terraform CLI" +--- + +# Forcing Re-creation of Resources (Tainting) + +When a resource declaration is modified, Terraform usually attempts to update +the existing resource in place (although some changes can require destruction +and re-creation, usually due to upstream API limitations). + +In some cases, you might want a resource to be destroyed and re-created even +when Terraform doesn't think it's necessary. This is usually for objects that +aren't fully described by their resource arguments due to side-effects that +happen during creation; for example, a virtual machine that configures itself +with `cloud-init` on startup might no longer meet your needs if the cloud-init +configuration changes. + +- [The `terraform taint` command](/docs/commands/taint.html) tells Terraform to + destroy and re-create a particular resource during the next apply, regardless + of whether its resource arguments would normally require that. + +- [The `terraform untaint` command](/docs/commands/untaint.html) undoes a + previous taint, or can preserve a resource that was automatically tainted due + to failed [provisioners](/docs/provisioners/index.html). diff --git a/website/docs/cli/workspaces/index.html.md b/website/docs/cli/workspaces/index.html.md new file mode 100644 index 000000000..afb7d164c --- /dev/null +++ b/website/docs/cli/workspaces/index.html.md @@ -0,0 +1,78 @@ +--- +layout: "docs" +page_title: "Managing Workspaces - Terraform CLI" +--- + +# Managing Workspaces + +In Terraform CLI, _workspaces_ are separate instances of +[state data](/docs/state/index.html) that can be used from the same working +directory. You can use workspaces to manage multiple non-overlapping groups of +resources with the same configuration. + +- Every [initialized working directory](/docs/cli/init/index.html) has at least + one workspace. (If you haven't created other workspaces, it is a workspace + named `default`.) +- For a given working directory, only one workspace can be _selected_ at a time. +- Most Terraform commands (including [provisioning](/docs/cli/run/index.html) + and [state manipulation](/docs/cli/state/index.html) commands) only interact + with the currently selected workspace. +- Use [the `terraform workspace select` command](/docs/commands/workspace/select.html) + to change the currently selected workspace. +- Use the [`terraform workspace list`](/docs/commands/workspace/list.html), + [`terraform workspace new`](/docs/commands/workspace/new.html), and + [`terraform workspace delete`](/docs/commands/workspace/delete.html) commands + to manage the available workspaces in the current working directory. + +-> **Note:** Terraform Cloud and Terraform CLI both have features called +"workspaces," but they're slightly different. Terraform Cloud's workspaces +behave more like completely separate working directories. + +## The Purpose of Workspaces + +Since most of the resources you can manage with Terraform don't include a unique +name as part of their configuration, it's common to use the same Terraform +configuration to provision multiple groups of similar resources. + +Terraform relies on [state](/docs/state/index.html) to associate resources with +real-world objects, so if you run the same configuration multiple times with +completely separate state data, Terraform can manage many non-overlapping groups +of resources. In some cases you'll want to change +[variable values](/docs/configuration/variables.html) for these different +resource collections (like when specifying differences between staging and +production deployments), and in other cases you might just want many instances +of a particular infrastructure pattern. + +The simplest way to maintain multiple instances of a configuration with +completely separate state data is to use multiple +[working directories](/docs/cli/init/index.html) (with different +[backend](/docs/configuration/backend.html) configurations per directory, if you +aren't using the default `local` backend). + +However, this isn't always the most _convenient_ way to handle separate states. +Terraform installs a separate cache of plugins and modules for each working +directory, so maintaining multiple directories can waste bandwidth and disk +space. You must also update your configuration code from version control +separately for each directory, reinitialize each directory separately when +changing the configuration, etc. + +Workspaces allow you to use the same working copy of your configuration and the +same plugin and module caches, while still keeping separate states for each +collection of resources you manage. + +## Interactions with Terraform Cloud Workspaces + +Terraform Cloud organizes infrastructure using workspaces, but its workspaces +act more like completely separate working directories; each Terraform Cloud +workspace has its own Terraform configuration, set of variable values, state +data, run history, and settings. + +These two kinds of workspaces are different, but related. When using Terraform +CLI as a frontend for Terraform Cloud, you associate the current working +directory with one or more remote workspaces by configuring +[the `remote` backend](/docs/backends/types/remote.html). If you associate the +directory with multiple workspaces (using a name prefix), you can use the +`terraform workspace` commands to select which remote workspace to use. + +For more information about using Terraform CLI with Terraform Cloud, see +[CLI-driven Runs](/docs/cloud/run/cli.html) in the Terraform Cloud docs. diff --git a/website/docs/commands/index.html.markdown b/website/docs/commands/index.html.markdown index 2f8ee2a4e..2374d71d8 100644 --- a/website/docs/commands/index.html.markdown +++ b/website/docs/commands/index.html.markdown @@ -1,12 +1,12 @@ --- layout: "docs" -page_title: "Commands" +page_title: "Basic CLI Features" sidebar_current: "docs-commands" description: |- Main usage information for the Terraform CLI tool. --- -# Terraform Commands (CLI) +# Basic CLI Features > **Hands-on:** Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn. diff --git a/website/docs/commands/providers.html.markdown b/website/docs/commands/providers.html.markdown index d30c21303..4da6a4e3b 100644 --- a/website/docs/commands/providers.html.markdown +++ b/website/docs/commands/providers.html.markdown @@ -1,5 +1,5 @@ --- -layout: "commands-providers" +layout: "docs" page_title: "Command: providers" sidebar_current: "docs-commands-providers" description: |- diff --git a/website/docs/commands/providers/lock.html.md b/website/docs/commands/providers/lock.html.md index 25dea21e1..affa202a9 100644 --- a/website/docs/commands/providers/lock.html.md +++ b/website/docs/commands/providers/lock.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-providers" +layout: "docs" page_title: "Command: providers lock" sidebar_current: "docs-commands-providers-lock" description: |- diff --git a/website/docs/commands/providers/mirror.html.md b/website/docs/commands/providers/mirror.html.md index 39e7b183b..829508d2f 100644 --- a/website/docs/commands/providers/mirror.html.md +++ b/website/docs/commands/providers/mirror.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-providers" +layout: "docs" page_title: "Command: providers mirror" sidebar_current: "docs-commands-providers-mirror" description: |- diff --git a/website/docs/commands/providers/schema.html.md b/website/docs/commands/providers/schema.html.md index 717d463eb..e97e50f23 100644 --- a/website/docs/commands/providers/schema.html.md +++ b/website/docs/commands/providers/schema.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-providers" +layout: "docs" page_title: "Command: providers schema" sidebar_current: "docs-commands-providers-schema" description: |- diff --git a/website/docs/commands/state/addressing.html.md b/website/docs/commands/state/addressing.html.md index 0df951188..323b58839 100644 --- a/website/docs/commands/state/addressing.html.md +++ b/website/docs/commands/state/addressing.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-state" +layout: "docs" page_title: "Command: state resource addressing" sidebar_current: "docs-commands-state-address" description: |- diff --git a/website/docs/commands/state/index.html.md b/website/docs/commands/state/index.html.md index 4c2154caa..e3faf2460 100644 --- a/website/docs/commands/state/index.html.md +++ b/website/docs/commands/state/index.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-state" +layout: "docs" page_title: "Command: state" sidebar_current: "docs-commands-state-index" description: |- diff --git a/website/docs/commands/state/list.html.md b/website/docs/commands/state/list.html.md index dea39e2c1..7763f9b08 100644 --- a/website/docs/commands/state/list.html.md +++ b/website/docs/commands/state/list.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-state" +layout: "docs" page_title: "Command: state list" sidebar_current: "docs-commands-state-sub-list" description: |- diff --git a/website/docs/commands/state/mv.html.md b/website/docs/commands/state/mv.html.md index bb35b1399..41118ed0f 100644 --- a/website/docs/commands/state/mv.html.md +++ b/website/docs/commands/state/mv.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-state" +layout: "docs" page_title: "Command: state mv" sidebar_current: "docs-commands-state-sub-mv" description: |- diff --git a/website/docs/commands/state/pull.html.md b/website/docs/commands/state/pull.html.md index 394881b45..f6aa69b97 100644 --- a/website/docs/commands/state/pull.html.md +++ b/website/docs/commands/state/pull.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-state" +layout: "docs" page_title: "Command: state pull" sidebar_current: "docs-commands-state-sub-pull" description: |- diff --git a/website/docs/commands/state/push.html.md b/website/docs/commands/state/push.html.md index 13303ad2e..4ba3f47c2 100644 --- a/website/docs/commands/state/push.html.md +++ b/website/docs/commands/state/push.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-state" +layout: "docs" page_title: "Command: state push" sidebar_current: "docs-commands-state-sub-push" description: |- diff --git a/website/docs/commands/state/replace-provider.html.md b/website/docs/commands/state/replace-provider.html.md index 1219c12a2..c1b4d511f 100644 --- a/website/docs/commands/state/replace-provider.html.md +++ b/website/docs/commands/state/replace-provider.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-state" +layout: "docs" page_title: "Command: state replace-provider" sidebar_current: "docs-commands-state-sub-replace-provider" description: |- diff --git a/website/docs/commands/state/rm.html.md b/website/docs/commands/state/rm.html.md index cbdfc766e..f153320e6 100644 --- a/website/docs/commands/state/rm.html.md +++ b/website/docs/commands/state/rm.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-state" +layout: "docs" page_title: "Command: state rm" sidebar_current: "docs-commands-state-sub-rm" description: |- diff --git a/website/docs/commands/state/show.html.md b/website/docs/commands/state/show.html.md index 6cf8984a8..da95b3822 100644 --- a/website/docs/commands/state/show.html.md +++ b/website/docs/commands/state/show.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-state" +layout: "docs" page_title: "Command: state show" sidebar_current: "docs-commands-state-sub-show" description: |- diff --git a/website/docs/commands/workspace/delete.html.md b/website/docs/commands/workspace/delete.html.md index ababb8d77..3c99cf857 100644 --- a/website/docs/commands/workspace/delete.html.md +++ b/website/docs/commands/workspace/delete.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-workspace" +layout: "docs" page_title: "Command: workspace delete" sidebar_current: "docs-commands-workspace-sub-delete" description: |- diff --git a/website/docs/commands/workspace/index.html.md b/website/docs/commands/workspace/index.html.md index 6ec535d63..354d96e25 100644 --- a/website/docs/commands/workspace/index.html.md +++ b/website/docs/commands/workspace/index.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-workspace" +layout: "docs" page_title: "Command: workspace" sidebar_current: "docs-commands-workspace-index" description: |- diff --git a/website/docs/commands/workspace/list.html.md b/website/docs/commands/workspace/list.html.md index a44cab8af..0b0f842a1 100644 --- a/website/docs/commands/workspace/list.html.md +++ b/website/docs/commands/workspace/list.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-workspace" +layout: "docs" page_title: "Command: workspace list" sidebar_current: "docs-commands-workspace-sub-list" description: |- diff --git a/website/docs/commands/workspace/new.html.md b/website/docs/commands/workspace/new.html.md index d41473440..7b76b0cbc 100644 --- a/website/docs/commands/workspace/new.html.md +++ b/website/docs/commands/workspace/new.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-workspace" +layout: "docs" page_title: "Command: workspace new" sidebar_current: "docs-commands-workspace-sub-new" description: |- diff --git a/website/docs/commands/workspace/select.html.md b/website/docs/commands/workspace/select.html.md index 197eb64d7..eaadd59b6 100644 --- a/website/docs/commands/workspace/select.html.md +++ b/website/docs/commands/workspace/select.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-workspace" +layout: "docs" page_title: "Command: workspace select" sidebar_current: "docs-commands-workspace-sub-select" description: |- diff --git a/website/docs/commands/workspace/show.html.md b/website/docs/commands/workspace/show.html.md index 228bc13c0..7cd7d5b5d 100644 --- a/website/docs/commands/workspace/show.html.md +++ b/website/docs/commands/workspace/show.html.md @@ -1,5 +1,5 @@ --- -layout: "commands-workspace" +layout: "docs" page_title: "Command: workspace show" sidebar_current: "docs-commands-workspace-sub-show" description: |- diff --git a/website/docs/configuration-0-11/data-sources.html.md b/website/docs/configuration-0-11/data-sources.html.md index 7f5c7e680..908a24d4b 100644 --- a/website/docs/configuration-0-11/data-sources.html.md +++ b/website/docs/configuration-0-11/data-sources.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Data Sources - 0.11 Configuration Language" sidebar_current: "docs-conf-old-data-sources" description: |- diff --git a/website/docs/configuration-0-11/environment-variables.html.md b/website/docs/configuration-0-11/environment-variables.html.md index 083d95048..85a5468ec 100644 --- a/website/docs/configuration-0-11/environment-variables.html.md +++ b/website/docs/configuration-0-11/environment-variables.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Environment Variables - 0.11 Configuration Language" sidebar_current: "docs-conf-old-environment-variables" description: |- diff --git a/website/docs/configuration-0-11/index.html.md b/website/docs/configuration-0-11/index.html.md index eb4167aa9..f804ba11d 100644 --- a/website/docs/configuration-0-11/index.html.md +++ b/website/docs/configuration-0-11/index.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "0.11 Configuration Language" sidebar_current: "docs-conf-old" description: |- diff --git a/website/docs/configuration-0-11/interpolation.html.md b/website/docs/configuration-0-11/interpolation.html.md index 738783625..8da16e154 100644 --- a/website/docs/configuration-0-11/interpolation.html.md +++ b/website/docs/configuration-0-11/interpolation.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Interpolation Syntax - 0.11 Configuration Language" sidebar_current: "docs-conf-old-interpolation" description: |- diff --git a/website/docs/configuration-0-11/load.html.md b/website/docs/configuration-0-11/load.html.md index 75ddcb191..b2831c471 100644 --- a/website/docs/configuration-0-11/load.html.md +++ b/website/docs/configuration-0-11/load.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Load Order and Semantics - 0.11 Configuration Language" sidebar_current: "docs-conf-old-load" description: |- diff --git a/website/docs/configuration-0-11/locals.html.md b/website/docs/configuration-0-11/locals.html.md index 74dc658a3..a72f6a79a 100644 --- a/website/docs/configuration-0-11/locals.html.md +++ b/website/docs/configuration-0-11/locals.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Local Values - 0.11 Configuration Language" sidebar_current: "docs-conf-old-locals" description: |- diff --git a/website/docs/configuration-0-11/modules.html.md b/website/docs/configuration-0-11/modules.html.md index 6ac2a0b33..abe8440d9 100644 --- a/website/docs/configuration-0-11/modules.html.md +++ b/website/docs/configuration-0-11/modules.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Modules - 0.11 Configuration Language" sidebar_current: "docs-conf-old-modules" description: |- diff --git a/website/docs/configuration-0-11/outputs.html.md b/website/docs/configuration-0-11/outputs.html.md index 7e43180ca..565f1b6f8 100644 --- a/website/docs/configuration-0-11/outputs.html.md +++ b/website/docs/configuration-0-11/outputs.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Output Values - 0.11 Configuration Language" sidebar_current: "docs-conf-old-outputs" description: |- diff --git a/website/docs/configuration-0-11/override.html.md b/website/docs/configuration-0-11/override.html.md index 6311443ff..7ae4036d1 100644 --- a/website/docs/configuration-0-11/override.html.md +++ b/website/docs/configuration-0-11/override.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Override Files - 0.11 Configuration Language" sidebar_current: "docs-conf-old-override" description: |- diff --git a/website/docs/configuration-0-11/providers.html.md b/website/docs/configuration-0-11/providers.html.md index d74aba634..fcff5142e 100644 --- a/website/docs/configuration-0-11/providers.html.md +++ b/website/docs/configuration-0-11/providers.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Providers - 0.11 Configuration Language" sidebar_current: "docs-conf-old-providers" description: |- diff --git a/website/docs/configuration-0-11/resources.html.md b/website/docs/configuration-0-11/resources.html.md index d7bbed97c..f6b3b56d4 100644 --- a/website/docs/configuration-0-11/resources.html.md +++ b/website/docs/configuration-0-11/resources.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Resources - 0.11 Configuration Language" sidebar_current: "docs-conf-old-resources" description: |- diff --git a/website/docs/configuration-0-11/syntax.html.md b/website/docs/configuration-0-11/syntax.html.md index d438e77a0..c40ee1713 100644 --- a/website/docs/configuration-0-11/syntax.html.md +++ b/website/docs/configuration-0-11/syntax.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Syntax - 0.11 Configuration Language" sidebar_current: "docs-conf-old-syntax" description: |- diff --git a/website/docs/configuration-0-11/terraform-enterprise.html.md b/website/docs/configuration-0-11/terraform-enterprise.html.md index 1b2636887..f42005b11 100644 --- a/website/docs/configuration-0-11/terraform-enterprise.html.md +++ b/website/docs/configuration-0-11/terraform-enterprise.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Terraform Push - 0.11 Configuration Language" sidebar_current: "docs-conf-old-push" description: |- diff --git a/website/docs/configuration-0-11/terraform.html.md b/website/docs/configuration-0-11/terraform.html.md index ff75cbced..42cc563d4 100644 --- a/website/docs/configuration-0-11/terraform.html.md +++ b/website/docs/configuration-0-11/terraform.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Terraform Settings - 0.11 Configuration Language" sidebar_current: "docs-conf-old-terraform" description: |- diff --git a/website/docs/configuration-0-11/variables.html.md b/website/docs/configuration-0-11/variables.html.md index 7201d6420..aa74c062a 100644 --- a/website/docs/configuration-0-11/variables.html.md +++ b/website/docs/configuration-0-11/variables.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Input Variables - 0.11 Configuration Language" sidebar_current: "docs-conf-old-variables" description: |- diff --git a/website/docs/configuration/attr-as-blocks.html.md b/website/docs/configuration/attr-as-blocks.html.md index 5a2dd37a1..d9b95deac 100644 --- a/website/docs/configuration/attr-as-blocks.html.md +++ b/website/docs/configuration/attr-as-blocks.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Attributes as Blocks - Configuration Language" sidebar_current: "docs-config-attr-as-blocks" description: |- diff --git a/website/docs/configuration/backend.html.md b/website/docs/configuration/backend.html.md index 35e6b0094..8d65e469a 100644 --- a/website/docs/configuration/backend.html.md +++ b/website/docs/configuration/backend.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Backend Configuration - Configuration Language" --- diff --git a/website/docs/configuration/blocks/backends/index.html.md b/website/docs/configuration/blocks/backends/index.html.md new file mode 100644 index 000000000..cd66d185c --- /dev/null +++ b/website/docs/configuration/blocks/backends/index.html.md @@ -0,0 +1,100 @@ +--- +layout: "language" +page_title: "Backend Overview - Configuration Language" +--- + +# Backends + +Each Terraform configuration can specify a backend, which defines where +and how operations are performed, where [state](/docs/state/index.html) +snapshots are stored, etc. + +The rest of this page introduces the concept of backends; the other pages in +this section document how to configure and use backends. + +- [Backend Configuration](/docs/configuration/backend.html) documents the form + of a `backend` block, which selects and configures a backend for a + Terraform configuration. +- This section also includes a page for each of Terraform's built-in backends, + documenting its behavior and available settings. See the navigation sidebar + for a complete list. + +## Recommended Backends + +- If you are still learning how to use Terraform, we recommend using the default + `local` backend, which requires no configuration. +- If you and your team are using Terraform to manage meaningful infrastructure, + we recommend using the `remote` backend with [Terraform Cloud](/docs/cloud/index.html) + or [Terraform Enterprise](/docs/enterprise/index.html). + +## Where Backends are Used + +Backend configuration is only used by [Terraform CLI](/docs/cli-index.html). +Terraform Cloud and Terraform Enterprise always use their own state storage when +performing Terraform runs, so they ignore any backend block in the +configuration. + +But since it's common to +[use Terraform CLI alongside Terraform Cloud](/docs/cloud/run/cli.html) +(and since certain state operations, like [tainting](/docs/commands/taint.html), +can only be performed on the CLI), we recommend that Terraform Cloud users +include a backend block in their configurations and configure the `remote` +backend to use the relevant Terraform Cloud workspace(s). + +## Where Backends Come From + +Terraform includes a built-in selection of backends; this selection has changed +over time, but does not change very often. + +The built-in backends are the only backends. You cannot load additional backends +as plugins. + +## What Backends Do + +There are two areas of Terraform's behavior that are determined by the backend: + +- Where state is stored. +- Where operations are performed. + +### State + +Terraform uses persistent [state](/docs/state/index.html) data to keep track of +the resources it manages. Since it needs the state in order to know which +real-world infrastructure objects correspond to the resources in a +configuration, everyone working with a given collection of infrastructure +resources must be able to access the same state data. + +The `local` backend stores state as a local file on disk, but every other +backend stores state in a remote service of some kind, which allows multiple +people to access it. Accessing state in a remote service generally requires some +kind of access credentials, since state date contains extremely sensitive +information. + +Some backends act like plain "remote disks" for state files; others support +_locking_ the state while operations are being performed, which helps prevent +conflicts and inconsistencies. + +### Operations + +"Operations" refers to performing API requests against infrastructure services +in order to create, read, update, or destroy resources. Not every `terraform` +subcommand performs API operations; many of them only operate on state data. + +Only two backends actually perform operations: `local` and `remote`. + +The `local` backend performs API operations directly from the machine where the +`terraform` command is run. Whenever you use a backend other than `local` or +`remote`, Terraform uses the `local` backend for operations; it only uses the +configured backend for state storage. + +The `remote` backend can perform API operations remotely, using Terraform Cloud +or Terraform Enterprise. When running remote operations, the local `terraform` +command displays the output of the remote actions as though they were being +performed locally, but only the remote system requires cloud credentials or +network access to the resources being managed. + +Remote operations are optional for the `remote` backend; the settings for the +target Terraform Cloud workspace determine whether operations run remotely or +locally. If local operations are configured, Terraform uses the `remote` backend +for state and the `local` backend for operations, like with the other state +backends. diff --git a/website/docs/configuration/blocks/modules/index.html.md b/website/docs/configuration/blocks/modules/index.html.md new file mode 100644 index 000000000..bdb1a317b --- /dev/null +++ b/website/docs/configuration/blocks/modules/index.html.md @@ -0,0 +1,60 @@ +--- +layout: "language" +page_title: "Modules Overview - Configuration Language" +--- + +# Modules + +> **Hands-on:** Try the [Reuse Configuration with Modules](https://learn.hashicorp.com/collections/terraform/modules?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn. + +_Modules_ are containers for multiple resources that are used together. A module +consists of a collection of `.tf` and/or `.tf.json` files kept together in a +directory. + +Modules are the main way to package and reuse resource configurations with +Terraform. + +## The Root Module + +Every Terraform configuration has at least one module, known as its +_root module_, which consists of the resources defined in the `.tf` files in +the main working directory. + +## Child Modules + +A Terraform module (usually the root module of a configuration) can _call_ other +modules to include their resources into the configuration. A module that has +been called by another module is often referred to as a _child module._ + +Child modules can be called multiple times within the same configuration, and +multiple configurations can use the same child module. + +## Published Modules + +In addition to modules from the local filesystem, Terraform can load modules +from a public or private registry. This makes it possible to publish modules for +others to use, and to use modules that others have published. + +The [Terraform Registry](https://registry.terraform.io/browse/modules) hosts a +broad collection of publicly available Terraform modules for configuring many +kinds of common infrastructure. These modules are free to use, and Terraform can +download them automatically if you specify the appropriate source and version in +a module call block. + +Also, members of your organization might produce modules specifically crafted +for your own infrastructure needs. [Terraform Cloud](/docs/cloud/index.html) and +[Terraform Enterprise](/docs/enterprise/index.html) both include a private +module registry for sharing modules internally within your organization. + +## Using Modules + +- [Module Blocks](/docs/configuration/modules.html) documents the syntax for + calling a child module from a parent module, including meta-arguments like + `for_each`. +- [Module Sources](/docs/modules/sources.html) documents what kinds of paths, + addresses, and URIs can be used in the `source` argument of a module block. + +## Developing Modules + +For information about developing reusable modules, see +[Module Development](/docs/modules/index.html). diff --git a/website/docs/configuration/blocks/providers/index.html.md b/website/docs/configuration/blocks/providers/index.html.md new file mode 100644 index 000000000..a6790044a --- /dev/null +++ b/website/docs/configuration/blocks/providers/index.html.md @@ -0,0 +1,120 @@ +--- +layout: "language" +page_title: "Providers - Configuration Language" +--- + +# Providers + +Terraform relies on plugins called "providers" to interact with remote systems. + +Terraform configurations must declare which providers they require so that +Terraform can install and use them. Additionally, some providers require +configuration (like endpoint URLs or cloud regions) before they can be used. + +## What Providers Do + +Each provider adds a set of [resource types](/docs/configuration/resources.html) +and/or [data sources](/docs/configuration/data-sources.html) that Terraform can +manage. + +Every resource type is implemented by a provider; without providers, Terraform +can't manage any kind of infrastructure. + +Most providers configure a specific infrastructure platform (either cloud or +self-hosted). Providers can also offer local utilities for tasks like +generating random numbers for unique resource names. + +## Where Providers Come From + +Providers are distributed separately from Terraform itself, and each provider +has its own release cadence and version numbers. + +The [Terraform Registry](https://registry.terraform.io/browse/providers) +is the main directory of publicly available Terraform providers, and hosts +providers for most major infrastructure platforms. + +## How to Use Providers + +To use resources from a given provider, you need to include some information +about it in your configuration. See the following pages for details: + +- [Provider Requirements](/docs/configuration/provider-requirements.html) + documents how to declare providers so Terraform can install them. + +- [Provider Configuration](/docs/configuration/providers.html) + documents how to configure settings for providers. + +- [Dependency Lock File](/docs/configuration/dependency-lock.html) + documents an additional HCL file that can be included with a configuration, + which tells Terraform to always use a specific set of provider versions. + +## Provider Installation + +- Terraform Cloud and Terraform Enterprise install providers as part of every run. + +- Terraform CLI finds and installs providers when + [initializing a working directory](/docs/cli/init/index.html). It can + automatically download providers from a Terraform registry, or load them from + a local mirror or cache. If you are using a persistent working directory, you + must reinitialize whenever you change a configuration's providers. + + To save time and bandwidth, Terraform CLI supports an optional plugin + cache. You can enable the cache using the `plugin_cache_dir` setting in + [the CLI configuration file](/docs/commands/cli-config.html). + +To ensure Terraform always installs the same provider versions for a given +configuration, you can use Terraform CLI to create a +[dependency lock file](/docs/configuration/dependency-lock.html) +and commit it to version control along with your configuration. If a lock file +is present, Terraform Cloud, CLI, and Enterprise will all obey it when +installing providers. + +## How to Find Providers + +To find providers for the infrastructure platforms you use, browse +[the providers section of the Terraform Registry](https://registry.terraform.io/browse/providers). + +Some providers on the Registry are developed and published by HashiCorp, some +are published by platform maintainers, and some are published by users and +volunteers. The provider listings use the following badges to indicate who +develops and maintains a given provider. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TierDescriptionNamespace
Official providers are owned and maintained by HashiCorp hashicorp
Verified providers are owned and maintained by third-party technology partners. Providers in this tier indicate HashiCorp has verified the authenticity of the Provider’s publisher, and that the partner is a member of the HashiCorp Technology Partner Program.Third-party organization, e.g. mongodb/mongodbatlas
Community providers are published to the Terraform Registry by individual maintainers, groups of maintainers, or other members of the Terraform community.
Maintainer’s individual or organization account, e.g. DeviaVir/gsuite
Archived Providers are Official or Verified Providers that are no longer maintained by HashiCorp or the community. This may occur if an API is deprecated or interest was low.hashicorp or third-party
+ + +## How to Develop Providers + +Providers are written in Go, using the Terraform Plugin SDK. For more +information on developing providers, see: + +- The [Extending Terraform](/docs/extend/index.html) documentation +- The [Call APIs with Terraform Providers](https://learn.hashicorp.com/collections/terraform/providers?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) + collection on HashiCorp Learn diff --git a/website/docs/configuration/blocks/resources/index.html.md b/website/docs/configuration/blocks/resources/index.html.md new file mode 100644 index 000000000..f29d327e0 --- /dev/null +++ b/website/docs/configuration/blocks/resources/index.html.md @@ -0,0 +1,21 @@ +--- +layout: "language" +page_title: "Resources Overview - Configuration Language" +--- + +# Resources + +> **Hands-on:** Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn. + +_Resources_ are the most important element in the Terraform language. +Each resource block describes one or more infrastructure objects, such +as virtual networks, compute instances, or higher-level components such +as DNS records. + +- [Resource Blocks](/docs/configuration/resources.html) documents how to declare + resources, including information about meta-arguments like `for_each`. +- [Provisioners](/docs/configuration/blocks/resources/provisioners/index.html) + documents configuring post-creation actions for a resource using the + `provisioner` and `connection` blocks. Since provisioners are non-declarative + and potentially unpredictable, we strongly recommend that you treat them as a + last resort. diff --git a/website/docs/configuration/blocks/resources/provisioners/index.html.md b/website/docs/configuration/blocks/resources/provisioners/index.html.md new file mode 100644 index 000000000..c9fef64bb --- /dev/null +++ b/website/docs/configuration/blocks/resources/provisioners/index.html.md @@ -0,0 +1,11 @@ +--- +layout: "language" +page_title: "Provisioners Overview - Configuration Language" +--- + +# Provisioners + +Provisioners can be used to model specific actions on the local machine or on a +remote machine in order to prepare servers or other infrastructure objects for +service. + diff --git a/website/docs/configuration/blocks/values/index.html.md b/website/docs/configuration/blocks/values/index.html.md new file mode 100644 index 000000000..fb800fb70 --- /dev/null +++ b/website/docs/configuration/blocks/values/index.html.md @@ -0,0 +1,18 @@ +--- +layout: "language" +page_title: "Variables and Outputs" +--- + +# Variables and Outputs + +The Terraform language includes a few kinds of blocks for requesting or +publishing named values. + +- [Input Variables](/docs/configuration/variables.html) serve as parameters for + a Terraform module, so users can customize behavior without editing the source. + +- [Output Values](/docs/configuration/outputs.html) are like return values for a + Terraform module. + +- [Local Values](/docs/configuration/locals.html) are a convenience feature for + assigning a short name to an expression. diff --git a/website/docs/configuration/data-sources.html.md b/website/docs/configuration/data-sources.html.md index 4fce3fd1c..ec5185666 100644 --- a/website/docs/configuration/data-sources.html.md +++ b/website/docs/configuration/data-sources.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Data Sources - Configuration Language" sidebar_current: "docs-config-data-sources" description: |- diff --git a/website/docs/configuration/dependency-lock.html.md b/website/docs/configuration/dependency-lock.html.md index fc7a1413d..37c95068c 100644 --- a/website/docs/configuration/dependency-lock.html.md +++ b/website/docs/configuration/dependency-lock.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Dependency Lock File (.terraform.lock.hcl) - Configuration Language" --- diff --git a/website/docs/configuration/expressions.html.md b/website/docs/configuration/expressions.html.md index 6b4db6111..d988c17a5 100644 --- a/website/docs/configuration/expressions.html.md +++ b/website/docs/configuration/expressions.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Expressions - Configuration Language" sidebar_current: "docs-config-expressions" description: |- diff --git a/website/docs/configuration/expressions/index.html.md b/website/docs/configuration/expressions/index.html.md new file mode 100644 index 000000000..9bfb15e28 --- /dev/null +++ b/website/docs/configuration/expressions/index.html.md @@ -0,0 +1,25 @@ +--- +layout: "language" +page_title: "Expressions - Configuration Language" +--- + +# Expressions + +_Expressions_ are used to refer to or compute values within a configuration. +The simplest expressions are just literal values, like `"hello"` or `5`, +but the Terraform language also allows more complex expressions such as +references to data exported by resources, arithmetic, conditional evaluation, +and a number of built-in functions. + +Expressions can be used in a number of places in the Terraform language, +but some contexts limit which expression constructs are allowed, +such as requiring a literal value of a particular type or forbidding +[references to resource attributes](/docs/configuration/expressions/references.html#references-to-resource-attributes). +Each language feature's documentation describes any restrictions it places on expressions. + +You can experiment with the behavior of Terraform's expressions from +the Terraform expression console, by running +[the `terraform console` command](/docs/commands/console.html). + +The other pages in this section describe the features of Terraform's +expression syntax. diff --git a/website/docs/configuration/files/index.html.md b/website/docs/configuration/files/index.html.md new file mode 100644 index 000000000..93b664771 --- /dev/null +++ b/website/docs/configuration/files/index.html.md @@ -0,0 +1,57 @@ +--- +layout: "language" +page_title: "Files and Directories - Configuration Language" +--- + +# Files and Directories + +## File Extension + +Code in the Terraform language is stored in plain text files with the `.tf` file +extension. There is also +[a JSON-based variant of the language](./syntax-json.html) that is named with +the `.tf.json` file extension. + +Files containing Terraform code are often called _configuration files._ + +## Text Encoding + +Configuration files must always use UTF-8 encoding, and by convention +usually use Unix-style line endings (LF) rather than Windows-style +line endings (CRLF), though both are accepted. + +## Directories and Modules + +A _module_ is a collection of `.tf` and/or `.tf.json` files kept together in a +directory. + +A Terraform module only consists of the top-level configuration files in a +directory; nested directories are treated as completely separate modules, and +are not automatically included in the configuration. + +Terraform evaluates all of the configuration files in a module, effectively +treating the entire module as a single document. Separating various blocks into +different files is purely for the convenience of readers and maintainers, and +has no effect on the module's behavior. + +A Terraform module can use [module calls](/docs/configuration/modules.html) to +explicitly include other modules into the configuration. These child modules can +come from local directories (nested in the parent module's directory, or +anywhere else on disk), or from external sources like the +[Terraform Registry](https://registry.terraform.io). + +## The Root Module + +Terraform always runs in the context of a single _root module._ A complete +_Terraform configuration_ consists of a root module and the tree of child +modules (which includes the modules called by the root module, any modules +called by those modules, etc.). + +- In Terraform CLI, the root module is the working directory where Terraform is + invoked. (You can use command line options to specify a root module outside + the working directory, but in practice this is rare. ) +- In Terraform Cloud and Terraform Enterprise, the root module for a workspace + defaults to the top level of the configuration directory (supplied via version + control repository or direct upload), but the workspace settings can specify a + subdirectory to use instead. + diff --git a/website/docs/configuration/functions.html.md b/website/docs/configuration/functions.html.md index 2b866e2fc..edfa0d44c 100644 --- a/website/docs/configuration/functions.html.md +++ b/website/docs/configuration/functions.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "Functions - Configuration Language" sidebar_current: "docs-config-functions" description: |- diff --git a/website/docs/configuration/functions/abs.html.md b/website/docs/configuration/functions/abs.html.md index 012bd00b4..df76e7206 100644 --- a/website/docs/configuration/functions/abs.html.md +++ b/website/docs/configuration/functions/abs.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "abs - Functions - Configuration Language" sidebar_current: "docs-funcs-numeric-abs" description: |- diff --git a/website/docs/configuration/functions/abspath.html.md b/website/docs/configuration/functions/abspath.html.md index cf5bceba1..710b57204 100644 --- a/website/docs/configuration/functions/abspath.html.md +++ b/website/docs/configuration/functions/abspath.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "abspath - Functions - Configuration Language" sidebar_current: "docs-funcs-file-abspath" description: |- diff --git a/website/docs/configuration/functions/alltrue.html.md b/website/docs/configuration/functions/alltrue.html.md index 173685c1f..3d2ff9c97 100644 --- a/website/docs/configuration/functions/alltrue.html.md +++ b/website/docs/configuration/functions/alltrue.html.md @@ -1,5 +1,5 @@ --- -layout: functions +layout: "language" page_title: alltrue - Functions - Configuration Language sidebar_current: docs-funcs-collection-alltrue description: |- diff --git a/website/docs/configuration/functions/anytrue.html.md b/website/docs/configuration/functions/anytrue.html.md index 0a6005a71..b616f3664 100644 --- a/website/docs/configuration/functions/anytrue.html.md +++ b/website/docs/configuration/functions/anytrue.html.md @@ -1,5 +1,5 @@ --- -layout: functions +layout: "language" page_title: anytrue - Functions - Configuration Language sidebar_current: docs-funcs-collection-anytrue description: |- diff --git a/website/docs/configuration/functions/base64decode.html.md b/website/docs/configuration/functions/base64decode.html.md index f81ed9122..7a562aa5e 100644 --- a/website/docs/configuration/functions/base64decode.html.md +++ b/website/docs/configuration/functions/base64decode.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "base64decode - Functions - Configuration Language" sidebar_current: "docs-funcs-encoding-base64decode" description: |- diff --git a/website/docs/configuration/functions/base64encode.html.md b/website/docs/configuration/functions/base64encode.html.md index e3e6bc5e4..9874fcb9d 100644 --- a/website/docs/configuration/functions/base64encode.html.md +++ b/website/docs/configuration/functions/base64encode.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "base64encode - Functions - Configuration Language" sidebar_current: "docs-funcs-encoding-base64encode" description: |- diff --git a/website/docs/configuration/functions/base64gzip.html.md b/website/docs/configuration/functions/base64gzip.html.md index 5bd11434b..35abeb117 100644 --- a/website/docs/configuration/functions/base64gzip.html.md +++ b/website/docs/configuration/functions/base64gzip.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "base64gzip - Functions - Configuration Language" sidebar_current: "docs-funcs-encoding-base64gzip" description: |- diff --git a/website/docs/configuration/functions/base64sha256.html.md b/website/docs/configuration/functions/base64sha256.html.md index 381f410be..1fd204e9b 100644 --- a/website/docs/configuration/functions/base64sha256.html.md +++ b/website/docs/configuration/functions/base64sha256.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "base64sha256 - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-base64sha256" description: |- diff --git a/website/docs/configuration/functions/base64sha512.html.md b/website/docs/configuration/functions/base64sha512.html.md index b910d78f3..35a6509f5 100644 --- a/website/docs/configuration/functions/base64sha512.html.md +++ b/website/docs/configuration/functions/base64sha512.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "base64sha512 - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-base64sha512" description: |- diff --git a/website/docs/configuration/functions/basename.html.md b/website/docs/configuration/functions/basename.html.md index 8db5fa4bd..87702481c 100644 --- a/website/docs/configuration/functions/basename.html.md +++ b/website/docs/configuration/functions/basename.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "basename - Functions - Configuration Language" sidebar_current: "docs-funcs-file-basename" description: |- diff --git a/website/docs/configuration/functions/bcrypt.html.md b/website/docs/configuration/functions/bcrypt.html.md index 668523439..d8bdafbb9 100644 --- a/website/docs/configuration/functions/bcrypt.html.md +++ b/website/docs/configuration/functions/bcrypt.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "bcrypt - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-bcrypt" description: |- diff --git a/website/docs/configuration/functions/can.html.md b/website/docs/configuration/functions/can.html.md index 5cb3abb61..d8450f4b8 100644 --- a/website/docs/configuration/functions/can.html.md +++ b/website/docs/configuration/functions/can.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "can - Functions - Configuration Language" sidebar_current: "docs-funcs-conversion-can" description: |- diff --git a/website/docs/configuration/functions/ceil.html.md b/website/docs/configuration/functions/ceil.html.md index deb4dada6..a10ef4c9e 100644 --- a/website/docs/configuration/functions/ceil.html.md +++ b/website/docs/configuration/functions/ceil.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "ceil - Functions - Configuration Language" sidebar_current: "docs-funcs-numeric-ceil" description: |- diff --git a/website/docs/configuration/functions/chomp.html.md b/website/docs/configuration/functions/chomp.html.md index 1e8db54a8..ee290e4ec 100644 --- a/website/docs/configuration/functions/chomp.html.md +++ b/website/docs/configuration/functions/chomp.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "chomp - Functions - Configuration Language" sidebar_current: "docs-funcs-string-chomp" description: |- diff --git a/website/docs/configuration/functions/chunklist.html.md b/website/docs/configuration/functions/chunklist.html.md index 63df0bc66..9e796cc7c 100644 --- a/website/docs/configuration/functions/chunklist.html.md +++ b/website/docs/configuration/functions/chunklist.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "chunklist - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-chunklist" description: |- diff --git a/website/docs/configuration/functions/cidrhost.html.md b/website/docs/configuration/functions/cidrhost.html.md index a75793120..a8da2fce1 100644 --- a/website/docs/configuration/functions/cidrhost.html.md +++ b/website/docs/configuration/functions/cidrhost.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "cidrhost - Functions - Configuration Language" sidebar_current: "docs-funcs-ipnet-cidrhost" description: |- diff --git a/website/docs/configuration/functions/cidrnetmask.html.md b/website/docs/configuration/functions/cidrnetmask.html.md index ce3fa8adc..fd3807606 100644 --- a/website/docs/configuration/functions/cidrnetmask.html.md +++ b/website/docs/configuration/functions/cidrnetmask.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "cidrnetmask - Functions - Configuration Language" sidebar_current: "docs-funcs-ipnet-cidrnetmask" description: |- diff --git a/website/docs/configuration/functions/cidrsubnet.html.md b/website/docs/configuration/functions/cidrsubnet.html.md index 6988ce3f6..6b9bf6e7a 100644 --- a/website/docs/configuration/functions/cidrsubnet.html.md +++ b/website/docs/configuration/functions/cidrsubnet.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "cidrsubnet - Functions - Configuration Language" sidebar_current: "docs-funcs-ipnet-cidrsubnet" description: |- diff --git a/website/docs/configuration/functions/cidrsubnets.html.md b/website/docs/configuration/functions/cidrsubnets.html.md index 7308cf5de..37f665446 100644 --- a/website/docs/configuration/functions/cidrsubnets.html.md +++ b/website/docs/configuration/functions/cidrsubnets.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "cidrsubnets - Functions - Configuration Language" sidebar_current: "docs-funcs-ipnet-cidrsubnets" description: |- diff --git a/website/docs/configuration/functions/coalesce.html.md b/website/docs/configuration/functions/coalesce.html.md index e38a0971f..13c970f72 100644 --- a/website/docs/configuration/functions/coalesce.html.md +++ b/website/docs/configuration/functions/coalesce.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "coalesce - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-coalesce-x" description: |- diff --git a/website/docs/configuration/functions/coalescelist.html.md b/website/docs/configuration/functions/coalescelist.html.md index aa265aa7d..15d9f97c2 100644 --- a/website/docs/configuration/functions/coalescelist.html.md +++ b/website/docs/configuration/functions/coalescelist.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "coalescelist - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-coalescelist" description: |- diff --git a/website/docs/configuration/functions/compact.html.md b/website/docs/configuration/functions/compact.html.md index 9659efa54..45f804534 100644 --- a/website/docs/configuration/functions/compact.html.md +++ b/website/docs/configuration/functions/compact.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "compact - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-compact" description: |- diff --git a/website/docs/configuration/functions/concat.html.md b/website/docs/configuration/functions/concat.html.md index 032ec8c8b..5e616c3b2 100644 --- a/website/docs/configuration/functions/concat.html.md +++ b/website/docs/configuration/functions/concat.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "concat - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-concat" description: |- diff --git a/website/docs/configuration/functions/contains.html.md b/website/docs/configuration/functions/contains.html.md index ff21003f6..6fd5eed8a 100644 --- a/website/docs/configuration/functions/contains.html.md +++ b/website/docs/configuration/functions/contains.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "contains - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-contains" description: |- diff --git a/website/docs/configuration/functions/csvdecode.html.md b/website/docs/configuration/functions/csvdecode.html.md index 508737443..2f3623861 100644 --- a/website/docs/configuration/functions/csvdecode.html.md +++ b/website/docs/configuration/functions/csvdecode.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "csvdecode - Functions - Configuration Language" sidebar_current: "docs-funcs-encoding-csvdecode" description: |- diff --git a/website/docs/configuration/functions/dirname.html.md b/website/docs/configuration/functions/dirname.html.md index ddf07d91a..251f4a250 100644 --- a/website/docs/configuration/functions/dirname.html.md +++ b/website/docs/configuration/functions/dirname.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "dirname - Functions - Configuration Language" sidebar_current: "docs-funcs-file-dirname" description: |- diff --git a/website/docs/configuration/functions/distinct.html.md b/website/docs/configuration/functions/distinct.html.md index a28be11da..9e1635847 100644 --- a/website/docs/configuration/functions/distinct.html.md +++ b/website/docs/configuration/functions/distinct.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "distinct - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-distinct" description: |- diff --git a/website/docs/configuration/functions/element.html.md b/website/docs/configuration/functions/element.html.md index 274ff5439..ba9187e72 100644 --- a/website/docs/configuration/functions/element.html.md +++ b/website/docs/configuration/functions/element.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "element - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-element" description: |- diff --git a/website/docs/configuration/functions/file.html.md b/website/docs/configuration/functions/file.html.md index e34ada9f8..71fdeb831 100644 --- a/website/docs/configuration/functions/file.html.md +++ b/website/docs/configuration/functions/file.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "file - Functions - Configuration Language" sidebar_current: "docs-funcs-file-file-x" description: |- diff --git a/website/docs/configuration/functions/filebase64.html.md b/website/docs/configuration/functions/filebase64.html.md index 770840517..ce59e756f 100644 --- a/website/docs/configuration/functions/filebase64.html.md +++ b/website/docs/configuration/functions/filebase64.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "filebase64 - Functions - Configuration Language" sidebar_current: "docs-funcs-file-filebase64" description: |- diff --git a/website/docs/configuration/functions/filebase64sha256.html.md b/website/docs/configuration/functions/filebase64sha256.html.md index f9e295940..f184c3237 100644 --- a/website/docs/configuration/functions/filebase64sha256.html.md +++ b/website/docs/configuration/functions/filebase64sha256.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "filebase64sha256 - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-filebase64sha256" description: |- diff --git a/website/docs/configuration/functions/filebase64sha512.html.md b/website/docs/configuration/functions/filebase64sha512.html.md index 77de9face..a0ce0b2aa 100644 --- a/website/docs/configuration/functions/filebase64sha512.html.md +++ b/website/docs/configuration/functions/filebase64sha512.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "filebase64sha512 - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-filebase64sha512" description: |- diff --git a/website/docs/configuration/functions/fileexists.html.md b/website/docs/configuration/functions/fileexists.html.md index 0e0760886..cd8dd764c 100644 --- a/website/docs/configuration/functions/fileexists.html.md +++ b/website/docs/configuration/functions/fileexists.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "fileexists - Functions - Configuration Language" sidebar_current: "docs-funcs-file-file-exists" description: |- diff --git a/website/docs/configuration/functions/filemd5.html.md b/website/docs/configuration/functions/filemd5.html.md index e9c41c77e..07d7c0d13 100644 --- a/website/docs/configuration/functions/filemd5.html.md +++ b/website/docs/configuration/functions/filemd5.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "filemd5 - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-filemd5" description: |- diff --git a/website/docs/configuration/functions/fileset.html.md b/website/docs/configuration/functions/fileset.html.md index c68234dee..46d167445 100644 --- a/website/docs/configuration/functions/fileset.html.md +++ b/website/docs/configuration/functions/fileset.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "fileset - Functions - Configuration Language" sidebar_current: "docs-funcs-file-file-set" description: |- diff --git a/website/docs/configuration/functions/filesha1.html.md b/website/docs/configuration/functions/filesha1.html.md index fbe9d6208..ef7a890de 100644 --- a/website/docs/configuration/functions/filesha1.html.md +++ b/website/docs/configuration/functions/filesha1.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "filesha1 - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-filesha1" description: |- diff --git a/website/docs/configuration/functions/filesha256.html.md b/website/docs/configuration/functions/filesha256.html.md index ac8b20556..02a06adb7 100644 --- a/website/docs/configuration/functions/filesha256.html.md +++ b/website/docs/configuration/functions/filesha256.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "filesha256 - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-filesha256" description: |- diff --git a/website/docs/configuration/functions/filesha512.html.md b/website/docs/configuration/functions/filesha512.html.md index 6bf401955..5021db4c0 100644 --- a/website/docs/configuration/functions/filesha512.html.md +++ b/website/docs/configuration/functions/filesha512.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "filesha512 - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-filesha512" description: |- diff --git a/website/docs/configuration/functions/flatten.html.md b/website/docs/configuration/functions/flatten.html.md index 57211c415..80ba1166b 100644 --- a/website/docs/configuration/functions/flatten.html.md +++ b/website/docs/configuration/functions/flatten.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "flatten - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-flatten" description: |- diff --git a/website/docs/configuration/functions/floor.html.md b/website/docs/configuration/functions/floor.html.md index eb0ad9245..3d22ecdc5 100644 --- a/website/docs/configuration/functions/floor.html.md +++ b/website/docs/configuration/functions/floor.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "floor - Functions - Configuration Language" sidebar_current: "docs-funcs-numeric-floor" description: |- diff --git a/website/docs/configuration/functions/format.html.md b/website/docs/configuration/functions/format.html.md index 5d295d22e..d53977963 100644 --- a/website/docs/configuration/functions/format.html.md +++ b/website/docs/configuration/functions/format.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "format - Functions - Configuration Language" sidebar_current: "docs-funcs-string-format-x" description: |- diff --git a/website/docs/configuration/functions/formatdate.html.md b/website/docs/configuration/functions/formatdate.html.md index ee31f3917..65fd6893e 100644 --- a/website/docs/configuration/functions/formatdate.html.md +++ b/website/docs/configuration/functions/formatdate.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "formatdate - Functions - Configuration Language" sidebar_current: "docs-funcs-datetime-formatdate" description: |- diff --git a/website/docs/configuration/functions/formatlist.html.md b/website/docs/configuration/functions/formatlist.html.md index 8beae17d2..a3d68792e 100644 --- a/website/docs/configuration/functions/formatlist.html.md +++ b/website/docs/configuration/functions/formatlist.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "formatlist - Functions - Configuration Language" sidebar_current: "docs-funcs-string-formatlist" description: |- diff --git a/website/docs/configuration/functions/indent.html.md b/website/docs/configuration/functions/indent.html.md index 54067213d..0c327ae78 100644 --- a/website/docs/configuration/functions/indent.html.md +++ b/website/docs/configuration/functions/indent.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "indent - Functions - Configuration Language" sidebar_current: "docs-funcs-string-indent" description: |- diff --git a/website/docs/configuration/functions/index.html.md b/website/docs/configuration/functions/index.html.md index 59575c91c..566da83b8 100644 --- a/website/docs/configuration/functions/index.html.md +++ b/website/docs/configuration/functions/index.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "index - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-index" description: |- diff --git a/website/docs/configuration/functions/join.html.md b/website/docs/configuration/functions/join.html.md index a2fc637f4..8c9be78ae 100644 --- a/website/docs/configuration/functions/join.html.md +++ b/website/docs/configuration/functions/join.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "join - Functions - Configuration Language" sidebar_current: "docs-funcs-string-join" description: |- diff --git a/website/docs/configuration/functions/jsondecode.html.md b/website/docs/configuration/functions/jsondecode.html.md index 6e569bb3d..c3e7ffe4e 100644 --- a/website/docs/configuration/functions/jsondecode.html.md +++ b/website/docs/configuration/functions/jsondecode.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "jsondecode - Functions - Configuration Language" sidebar_current: "docs-funcs-encoding-jsondecode" description: |- diff --git a/website/docs/configuration/functions/jsonencode.html.md b/website/docs/configuration/functions/jsonencode.html.md index 6f9376eab..2056f521a 100644 --- a/website/docs/configuration/functions/jsonencode.html.md +++ b/website/docs/configuration/functions/jsonencode.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "jsonencode - Functions - Configuration Language" sidebar_current: "docs-funcs-encoding-jsonencode" description: |- diff --git a/website/docs/configuration/functions/keys.html.md b/website/docs/configuration/functions/keys.html.md index 87097a1de..10d25b8cb 100644 --- a/website/docs/configuration/functions/keys.html.md +++ b/website/docs/configuration/functions/keys.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "keys - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-keys" description: |- diff --git a/website/docs/configuration/functions/length.html.md b/website/docs/configuration/functions/length.html.md index b4cde65cd..abe5dc845 100644 --- a/website/docs/configuration/functions/length.html.md +++ b/website/docs/configuration/functions/length.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "length - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-length" description: |- diff --git a/website/docs/configuration/functions/list.html.md b/website/docs/configuration/functions/list.html.md index cb6eabb9c..3cfafd69a 100644 --- a/website/docs/configuration/functions/list.html.md +++ b/website/docs/configuration/functions/list.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "list - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-list" description: |- diff --git a/website/docs/configuration/functions/log.html.md b/website/docs/configuration/functions/log.html.md index 86976e511..af4a0fb3f 100644 --- a/website/docs/configuration/functions/log.html.md +++ b/website/docs/configuration/functions/log.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "log - Functions - Configuration Language" sidebar_current: "docs-funcs-numeric-log" description: |- diff --git a/website/docs/configuration/functions/lookup.html.md b/website/docs/configuration/functions/lookup.html.md index 9d70baba9..194c43a01 100644 --- a/website/docs/configuration/functions/lookup.html.md +++ b/website/docs/configuration/functions/lookup.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "lookup - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-lookup" description: |- diff --git a/website/docs/configuration/functions/lower.html.md b/website/docs/configuration/functions/lower.html.md index 15dd95eb6..c06034b0f 100644 --- a/website/docs/configuration/functions/lower.html.md +++ b/website/docs/configuration/functions/lower.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "lower - Functions - Configuration Language" sidebar_current: "docs-funcs-string-lower" description: |- diff --git a/website/docs/configuration/functions/map.html.md b/website/docs/configuration/functions/map.html.md index 58c3e0909..20b2c905a 100644 --- a/website/docs/configuration/functions/map.html.md +++ b/website/docs/configuration/functions/map.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "map - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-map" description: |- diff --git a/website/docs/configuration/functions/matchkeys.html.md b/website/docs/configuration/functions/matchkeys.html.md index 552fb0428..139d1a04c 100644 --- a/website/docs/configuration/functions/matchkeys.html.md +++ b/website/docs/configuration/functions/matchkeys.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "matchkeys - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-matchkeys" description: |- diff --git a/website/docs/configuration/functions/max.html.md b/website/docs/configuration/functions/max.html.md index 42e89d32a..d833a22c2 100644 --- a/website/docs/configuration/functions/max.html.md +++ b/website/docs/configuration/functions/max.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "max - Functions - Configuration Language" sidebar_current: "docs-funcs-numeric-max" description: |- diff --git a/website/docs/configuration/functions/md5.html.md b/website/docs/configuration/functions/md5.html.md index ba3935d48..0945ed0ec 100644 --- a/website/docs/configuration/functions/md5.html.md +++ b/website/docs/configuration/functions/md5.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "md5 - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-md5" description: |- diff --git a/website/docs/configuration/functions/merge.html.md b/website/docs/configuration/functions/merge.html.md index edcc0a18a..f67eebe99 100644 --- a/website/docs/configuration/functions/merge.html.md +++ b/website/docs/configuration/functions/merge.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "merge - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-merge" description: |- diff --git a/website/docs/configuration/functions/min.html.md b/website/docs/configuration/functions/min.html.md index 5c1411a75..c04b576c4 100644 --- a/website/docs/configuration/functions/min.html.md +++ b/website/docs/configuration/functions/min.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "min - Functions - Configuration Language" sidebar_current: "docs-funcs-numeric-min" description: |- diff --git a/website/docs/configuration/functions/parseint.html.md b/website/docs/configuration/functions/parseint.html.md index 44c7a9cfa..fe280aa1c 100644 --- a/website/docs/configuration/functions/parseint.html.md +++ b/website/docs/configuration/functions/parseint.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "parseint - Functions - Configuration Language" sidebar_current: "docs-funcs-numeric-parseint" description: |- diff --git a/website/docs/configuration/functions/pathexpand.html.md b/website/docs/configuration/functions/pathexpand.html.md index 48be103ad..173d951ed 100644 --- a/website/docs/configuration/functions/pathexpand.html.md +++ b/website/docs/configuration/functions/pathexpand.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "pathexpand - Functions - Configuration Language" sidebar_current: "docs-funcs-file-pathexpand" description: |- diff --git a/website/docs/configuration/functions/pow.html.md b/website/docs/configuration/functions/pow.html.md index 154e28404..c6b10934a 100644 --- a/website/docs/configuration/functions/pow.html.md +++ b/website/docs/configuration/functions/pow.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "pow - Functions - Configuration Language" sidebar_current: "docs-funcs-numeric-pow" description: |- diff --git a/website/docs/configuration/functions/range.html.md b/website/docs/configuration/functions/range.html.md index 21bf4a3b4..b3c2532ba 100644 --- a/website/docs/configuration/functions/range.html.md +++ b/website/docs/configuration/functions/range.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "range - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-range" description: |- diff --git a/website/docs/configuration/functions/regex.html.md b/website/docs/configuration/functions/regex.html.md index 875ac65b5..cd7e6e27b 100644 --- a/website/docs/configuration/functions/regex.html.md +++ b/website/docs/configuration/functions/regex.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "regex - Functions - Configuration Language" sidebar_current: "docs-funcs-string-regex" description: |- diff --git a/website/docs/configuration/functions/regexall.html.md b/website/docs/configuration/functions/regexall.html.md index fc8f495ca..8561375f2 100644 --- a/website/docs/configuration/functions/regexall.html.md +++ b/website/docs/configuration/functions/regexall.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "regexall - Functions - Configuration Language" sidebar_current: "docs-funcs-string-regexall" description: |- diff --git a/website/docs/configuration/functions/replace.html.md b/website/docs/configuration/functions/replace.html.md index ea2dd7119..3781f6188 100644 --- a/website/docs/configuration/functions/replace.html.md +++ b/website/docs/configuration/functions/replace.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "replace - Functions - Configuration Language" sidebar_current: "docs-funcs-string-replace" description: |- diff --git a/website/docs/configuration/functions/reverse.html.md b/website/docs/configuration/functions/reverse.html.md index d9febecad..6e7ba2686 100644 --- a/website/docs/configuration/functions/reverse.html.md +++ b/website/docs/configuration/functions/reverse.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "reverse - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-reverse" description: |- diff --git a/website/docs/configuration/functions/rsadecrypt.html.md b/website/docs/configuration/functions/rsadecrypt.html.md index 6b09ffa6b..9ab4f8751 100644 --- a/website/docs/configuration/functions/rsadecrypt.html.md +++ b/website/docs/configuration/functions/rsadecrypt.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "rsadecrypt - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-rsadecrypt" description: |- diff --git a/website/docs/configuration/functions/setintersection.html.md b/website/docs/configuration/functions/setintersection.html.md index 6444aeb8b..aea068e19 100644 --- a/website/docs/configuration/functions/setintersection.html.md +++ b/website/docs/configuration/functions/setintersection.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "setintersection - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-setintersection" description: |- diff --git a/website/docs/configuration/functions/setproduct.html.md b/website/docs/configuration/functions/setproduct.html.md index 6829ce8e7..73822c8a4 100644 --- a/website/docs/configuration/functions/setproduct.html.md +++ b/website/docs/configuration/functions/setproduct.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "setproduct - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-setproduct" description: |- diff --git a/website/docs/configuration/functions/setsubtract.html.md b/website/docs/configuration/functions/setsubtract.html.md index 0bf3b7acc..5fed7f4f6 100644 --- a/website/docs/configuration/functions/setsubtract.html.md +++ b/website/docs/configuration/functions/setsubtract.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "setsubtract - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-setsubtract" description: |- diff --git a/website/docs/configuration/functions/setunion.html.md b/website/docs/configuration/functions/setunion.html.md index 41103e588..9816f02a3 100644 --- a/website/docs/configuration/functions/setunion.html.md +++ b/website/docs/configuration/functions/setunion.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "setunion - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-setunion" description: |- diff --git a/website/docs/configuration/functions/sha1.html.md b/website/docs/configuration/functions/sha1.html.md index df44b43a1..b2588cd80 100644 --- a/website/docs/configuration/functions/sha1.html.md +++ b/website/docs/configuration/functions/sha1.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "sha1 - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-sha1" description: |- diff --git a/website/docs/configuration/functions/sha256.html.md b/website/docs/configuration/functions/sha256.html.md index e044e7d51..f364a9dee 100644 --- a/website/docs/configuration/functions/sha256.html.md +++ b/website/docs/configuration/functions/sha256.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "sha256 - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-sha256" description: |- diff --git a/website/docs/configuration/functions/sha512.html.md b/website/docs/configuration/functions/sha512.html.md index deb1ab3b4..026b1d35f 100644 --- a/website/docs/configuration/functions/sha512.html.md +++ b/website/docs/configuration/functions/sha512.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "sha512 - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-sha512" description: |- diff --git a/website/docs/configuration/functions/signum.html.md b/website/docs/configuration/functions/signum.html.md index 93d625069..e778d71cf 100644 --- a/website/docs/configuration/functions/signum.html.md +++ b/website/docs/configuration/functions/signum.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "signum - Functions - Configuration Language" sidebar_current: "docs-funcs-numeric-signum" description: |- diff --git a/website/docs/configuration/functions/slice.html.md b/website/docs/configuration/functions/slice.html.md index 44c88f2ce..31d2c4dec 100644 --- a/website/docs/configuration/functions/slice.html.md +++ b/website/docs/configuration/functions/slice.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "slice - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-slice" description: |- diff --git a/website/docs/configuration/functions/sort.html.md b/website/docs/configuration/functions/sort.html.md index 598c035e7..26626e085 100644 --- a/website/docs/configuration/functions/sort.html.md +++ b/website/docs/configuration/functions/sort.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "sort - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-sort" description: |- diff --git a/website/docs/configuration/functions/split.html.md b/website/docs/configuration/functions/split.html.md index 49b5ece5e..037b70247 100644 --- a/website/docs/configuration/functions/split.html.md +++ b/website/docs/configuration/functions/split.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "split - Functions - Configuration Language" sidebar_current: "docs-funcs-string-split" description: |- diff --git a/website/docs/configuration/functions/strrev.html.md b/website/docs/configuration/functions/strrev.html.md index 630a68263..e2361bf58 100644 --- a/website/docs/configuration/functions/strrev.html.md +++ b/website/docs/configuration/functions/strrev.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "strrev - Functions - Configuration Language" sidebar_current: "docs-funcs-string-strrev" description: |- diff --git a/website/docs/configuration/functions/substr.html.md b/website/docs/configuration/functions/substr.html.md index d9579d12a..7ce782500 100644 --- a/website/docs/configuration/functions/substr.html.md +++ b/website/docs/configuration/functions/substr.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "substr - Functions - Configuration Language" sidebar_current: "docs-funcs-string-substr" description: |- diff --git a/website/docs/configuration/functions/sum.html.md b/website/docs/configuration/functions/sum.html.md index 20958974d..bb0c20cc4 100644 --- a/website/docs/configuration/functions/sum.html.md +++ b/website/docs/configuration/functions/sum.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "sum - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-sum" description: |- diff --git a/website/docs/configuration/functions/templatefile.html.md b/website/docs/configuration/functions/templatefile.html.md index 64d7cf63c..1bc70350b 100644 --- a/website/docs/configuration/functions/templatefile.html.md +++ b/website/docs/configuration/functions/templatefile.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "templatefile - Functions - Configuration Language" sidebar_current: "docs-funcs-file-templatefile" description: |- diff --git a/website/docs/configuration/functions/textdecodebase64.html.md b/website/docs/configuration/functions/textdecodebase64.html.md index 6d04b30c2..3214f98ed 100644 --- a/website/docs/configuration/functions/textdecodebase64.html.md +++ b/website/docs/configuration/functions/textdecodebase64.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "textdecodebase64 - Functions - Configuration Language" sidebar_current: "docs-funcs-encoding-textdecodebase64" description: |- diff --git a/website/docs/configuration/functions/textencodebase64.html.md b/website/docs/configuration/functions/textencodebase64.html.md index 02e436695..5f9023f78 100644 --- a/website/docs/configuration/functions/textencodebase64.html.md +++ b/website/docs/configuration/functions/textencodebase64.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "textencodebase64 - Functions - Configuration Language" sidebar_current: "docs-funcs-encoding-textencodebase64" description: |- diff --git a/website/docs/configuration/functions/timeadd.html.md b/website/docs/configuration/functions/timeadd.html.md index 926806c66..279724f09 100644 --- a/website/docs/configuration/functions/timeadd.html.md +++ b/website/docs/configuration/functions/timeadd.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "timeadd - Functions - Configuration Language" sidebar_current: "docs-funcs-datetime-timeadd" description: |- diff --git a/website/docs/configuration/functions/timestamp.html.md b/website/docs/configuration/functions/timestamp.html.md index e3365406d..d4b75e713 100644 --- a/website/docs/configuration/functions/timestamp.html.md +++ b/website/docs/configuration/functions/timestamp.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "timestamp - Functions - Configuration Language" sidebar_current: "docs-funcs-datetime-timestamp" description: |- diff --git a/website/docs/configuration/functions/title.html.md b/website/docs/configuration/functions/title.html.md index 7027d48f1..f13fa501d 100644 --- a/website/docs/configuration/functions/title.html.md +++ b/website/docs/configuration/functions/title.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "title - Functions - Configuration Language" sidebar_current: "docs-funcs-string-title" description: |- diff --git a/website/docs/configuration/functions/tobool.html.md b/website/docs/configuration/functions/tobool.html.md index cfb8c83c0..24b98e6f2 100644 --- a/website/docs/configuration/functions/tobool.html.md +++ b/website/docs/configuration/functions/tobool.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "tobool - Functions - Configuration Language" sidebar_current: "docs-funcs-conversion-tobool" description: |- diff --git a/website/docs/configuration/functions/tolist.html.md b/website/docs/configuration/functions/tolist.html.md index 3c114a761..291e5c3b4 100644 --- a/website/docs/configuration/functions/tolist.html.md +++ b/website/docs/configuration/functions/tolist.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "tolist - Functions - Configuration Language" sidebar_current: "docs-funcs-conversion-tolist" description: |- diff --git a/website/docs/configuration/functions/tomap.html.md b/website/docs/configuration/functions/tomap.html.md index 7adc81930..9a0362cf7 100644 --- a/website/docs/configuration/functions/tomap.html.md +++ b/website/docs/configuration/functions/tomap.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "tomap - Functions - Configuration Language" sidebar_current: "docs-funcs-conversion-tomap" description: |- diff --git a/website/docs/configuration/functions/tonumber.html.md b/website/docs/configuration/functions/tonumber.html.md index d4e6927e5..60763304e 100644 --- a/website/docs/configuration/functions/tonumber.html.md +++ b/website/docs/configuration/functions/tonumber.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "tonumber - Functions - Configuration Language" sidebar_current: "docs-funcs-conversion-tonumber" description: |- diff --git a/website/docs/configuration/functions/toset.html.md b/website/docs/configuration/functions/toset.html.md index 2a63f183d..9a48ee0da 100644 --- a/website/docs/configuration/functions/toset.html.md +++ b/website/docs/configuration/functions/toset.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "toset - Functions - Configuration Language" sidebar_current: "docs-funcs-conversion-toset" description: |- diff --git a/website/docs/configuration/functions/tostring.html.md b/website/docs/configuration/functions/tostring.html.md index 2cec00906..d0053e6f0 100644 --- a/website/docs/configuration/functions/tostring.html.md +++ b/website/docs/configuration/functions/tostring.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "tostring - Functions - Configuration Language" sidebar_current: "docs-funcs-conversion-tostring" description: |- diff --git a/website/docs/configuration/functions/transpose.html.md b/website/docs/configuration/functions/transpose.html.md index a95b49b2d..faf9ae964 100644 --- a/website/docs/configuration/functions/transpose.html.md +++ b/website/docs/configuration/functions/transpose.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "transpose - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-transpose" description: |- diff --git a/website/docs/configuration/functions/trim.html.md b/website/docs/configuration/functions/trim.html.md index f6402a83c..6c2379fa2 100644 --- a/website/docs/configuration/functions/trim.html.md +++ b/website/docs/configuration/functions/trim.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "trim - Functions - Configuration Language" sidebar_current: "docs-funcs-string-trim" description: |- diff --git a/website/docs/configuration/functions/trimprefix.html.md b/website/docs/configuration/functions/trimprefix.html.md index cc9e8a0e6..342e458df 100644 --- a/website/docs/configuration/functions/trimprefix.html.md +++ b/website/docs/configuration/functions/trimprefix.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "trimprefix - Functions - Configuration Language" sidebar_current: "docs-funcs-string-trimprefix" description: |- diff --git a/website/docs/configuration/functions/trimspace.html.md b/website/docs/configuration/functions/trimspace.html.md index a7f4ad38f..b6fdd7cde 100644 --- a/website/docs/configuration/functions/trimspace.html.md +++ b/website/docs/configuration/functions/trimspace.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "trimspace - Functions - Configuration Language" sidebar_current: "docs-funcs-string-trimspace" description: |- diff --git a/website/docs/configuration/functions/trimsuffix.html.md b/website/docs/configuration/functions/trimsuffix.html.md index aec898687..44f90a5d0 100644 --- a/website/docs/configuration/functions/trimsuffix.html.md +++ b/website/docs/configuration/functions/trimsuffix.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "trimsuffix - Functions - Configuration Language" sidebar_current: "docs-funcs-string-trimsuffix" description: |- diff --git a/website/docs/configuration/functions/try.html.md b/website/docs/configuration/functions/try.html.md index 57644bb5b..e2c25e5e9 100644 --- a/website/docs/configuration/functions/try.html.md +++ b/website/docs/configuration/functions/try.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "try - Functions - Configuration Language" sidebar_current: "docs-funcs-conversion-try" description: |- diff --git a/website/docs/configuration/functions/upper.html.md b/website/docs/configuration/functions/upper.html.md index 286bd0c86..65b3c0433 100644 --- a/website/docs/configuration/functions/upper.html.md +++ b/website/docs/configuration/functions/upper.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "upper - Functions - Configuration Language" sidebar_current: "docs-funcs-string-upper" description: |- diff --git a/website/docs/configuration/functions/urlencode.html.md b/website/docs/configuration/functions/urlencode.html.md index 1f6fda45e..779f6ff35 100644 --- a/website/docs/configuration/functions/urlencode.html.md +++ b/website/docs/configuration/functions/urlencode.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "urlencode - Functions - Configuration Language" sidebar_current: "docs-funcs-encoding-urlencode" description: |- diff --git a/website/docs/configuration/functions/uuid.html.md b/website/docs/configuration/functions/uuid.html.md index 439ec8232..0b481e036 100644 --- a/website/docs/configuration/functions/uuid.html.md +++ b/website/docs/configuration/functions/uuid.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "uuid - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-uuid" description: |- diff --git a/website/docs/configuration/functions/uuidv5.html.md b/website/docs/configuration/functions/uuidv5.html.md index d48831821..69043bfb5 100644 --- a/website/docs/configuration/functions/uuidv5.html.md +++ b/website/docs/configuration/functions/uuidv5.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "uuidv5 - Functions - Configuration Language" sidebar_current: "docs-funcs-crypto-uuidv5" description: |- diff --git a/website/docs/configuration/functions/values.html.md b/website/docs/configuration/functions/values.html.md index a74aa0b03..4de7b5678 100644 --- a/website/docs/configuration/functions/values.html.md +++ b/website/docs/configuration/functions/values.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "values - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-values" description: |- diff --git a/website/docs/configuration/functions/yamldecode.html.md b/website/docs/configuration/functions/yamldecode.html.md index e276d8585..6e5c72745 100644 --- a/website/docs/configuration/functions/yamldecode.html.md +++ b/website/docs/configuration/functions/yamldecode.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "yamldecode - Functions - Configuration Language" sidebar_current: "docs-funcs-encoding-yamldecode" description: |- diff --git a/website/docs/configuration/functions/yamlencode.html.md b/website/docs/configuration/functions/yamlencode.html.md index c562f854b..fe5532e1b 100644 --- a/website/docs/configuration/functions/yamlencode.html.md +++ b/website/docs/configuration/functions/yamlencode.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "yamlencode - Functions - Configuration Language" sidebar_current: "docs-funcs-encoding-yamlencode" description: |- diff --git a/website/docs/configuration/functions/zipmap.html.md b/website/docs/configuration/functions/zipmap.html.md index 61b203e92..66457cf0c 100644 --- a/website/docs/configuration/functions/zipmap.html.md +++ b/website/docs/configuration/functions/zipmap.html.md @@ -1,5 +1,5 @@ --- -layout: "functions" +layout: "language" page_title: "zipmap - Functions - Configuration Language" sidebar_current: "docs-funcs-collection-zipmap" description: |- diff --git a/website/docs/configuration/index.html.md b/website/docs/configuration/index.html.md index 7cae418d0..50d0148a5 100644 --- a/website/docs/configuration/index.html.md +++ b/website/docs/configuration/index.html.md @@ -1,41 +1,31 @@ --- -layout: "docs" -page_title: "Configuration Language" -sidebar_current: "docs-config-index" -description: |- - Terraform uses text files to describe infrastructure and to set variables. - These text files are called Terraform _configurations_ and are - written in the Terraform language. +layout: "language" +page_title: "Overview - Configuration Language" --- -# Configuration Language +# Terraform Language Documentation --> **Note:** This page is about Terraform 0.12 and later. For Terraform 0.11 and -earlier, see -[0.11 Configuration Language](../configuration-0-11/index.html). +This is the documentation for Terraform's configuration language. It is relevant +to users of [Terraform CLI](/docs/cli-index.html), +[Terraform Cloud](/docs/cloud/index.html), and +[Terraform Enterprise](/docs/enterprise/index.html). > **Hands-on:** Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn. -Terraform uses its own configuration language, designed to allow concise -descriptions of infrastructure. The Terraform language is declarative, -describing an intended goal rather than the steps to reach that goal. +_The Terraform language is Terraform's primary user interface._ In every edition +of Terraform, a configuration written in the Terraform language is always at the +heart of the workflow. -## Resources and Modules +## About the Terraform Language -The main purpose of the Terraform language is declaring [resources](./resources.html). -All other language features exist only to make the definition of resources -more flexible and convenient. +The main purpose of the Terraform language is declaring +[resources](./resources.html), which represent infrastructure objects. All other +language features exist only to make the definition of resources more flexible +and convenient. -A group of resources can be gathered into a [module](./modules.html), -which creates a larger unit of configuration. A resource describes a single -infrastructure object, while a module might describe a set of objects and the -necessary relationships between them in order to create a higher-level system. - -A _Terraform configuration_ consists of a _root module_, where evaluation -begins, along with a tree of child modules created when one module calls -another. - -## Arguments, Blocks, and Expressions +A _Terraform configuration_ is a complete document in the Terraform language +that tells Terraform how to manage a given collection of infrastructure. A +configuration can consist of multiple files and directories. The syntax of the Terraform language consists of only a few basic elements: @@ -60,66 +50,15 @@ resource "aws_vpc" "main" { combining other values. They appear as values for arguments, or within other expressions. -For full details about Terraform's syntax, see: +The Terraform language is declarative, describing an intended goal rather than +the steps to reach that goal. The ordering of blocks and the files they are +organized into are generally not significant; Terraform only considers implicit +and explicit relationships between resources when determining an order of +operations. -- [Configuration Syntax](./syntax.html) -- [Expressions](./expressions.html) +### Example -## Code Organization - -The Terraform language uses configuration files that are named with the `.tf` -file extension. There is also [a JSON-based variant of the language](./syntax-json.html) -that is named with the `.tf.json` file extension. - -Configuration files must always use UTF-8 encoding, and by convention are -usually maintained with Unix-style line endings (LF) rather than Windows-style -line endings (CRLF), though both are accepted. - -A _module_ is a collection of `.tf` or `.tf.json` files kept together in a -directory. The root module is built from the configuration files in the -current working directory when Terraform is run, and this module may reference -child modules in other directories, which can in turn reference other modules, -etc. - -The simplest Terraform configuration is a single root module containing only -a single `.tf` file. A configuration can grow gradually as more resources -are added, either by creating new configuration files within the root module -or by organizing sets of resources into child modules. - -## Configuration Ordering - -Because Terraform's configuration language is declarative, the ordering of -blocks is generally not significant. (The order of `provisioner` blocks within a -resource is the only major feature where block order matters.) - -Terraform automatically processes resources in the correct order based on -relationships defined between them in configuration, and so you can organize -resources into source files in whatever way makes sense for your infrastructure. - -## Terraform CLI vs. Providers - -The Terraform command line interface (CLI) is a general engine for evaluating -and applying Terraform configurations. It defines the Terraform language syntax -and overall structure, and coordinates sequences of changes that must be made to -make remote infrastructure match the given configuration. - -This general engine has no knowledge about specific types of infrastructure -objects. Instead, Terraform uses plugins called -[providers](./providers.html) that each define and manage a -set of resource types. Most providers are associated with a particular cloud or -on-premises infrastructure service, allowing Terraform to manage infrastructure -objects within that service. - -Terraform doesn't have a concept of platform-independent resource types -— resources are always tied to a provider, since the features of similar -resources can vary greatly from provider to provider. But Terraform CLI's shared -configuration engine ensures that the same language constructs and syntax are -available across all services and allows resource types from different services -to be combined as needed. - -## Example - -The following simple example describes a simple network topology for Amazon Web +The following example describes a simple network topology for Amazon Web Services, just to give a sense of the overall structure and syntax of the Terraform language. Similar configurations can be created for other virtual network services, using resource types defined by other providers, and a @@ -177,6 +116,3 @@ resource "aws_subnet" "az" { } ``` -For more information on the configuration elements shown here, use the -site navigation to explore the Terraform language documentation sub-sections. -To start, see [_Resource Configuration_](./resources.html). diff --git a/website/docs/configuration/locals.html.md b/website/docs/configuration/locals.html.md index 54502a288..b6b876a31 100644 --- a/website/docs/configuration/locals.html.md +++ b/website/docs/configuration/locals.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Local Values - Configuration Language" sidebar_current: "docs-config-locals" description: |- diff --git a/website/docs/configuration/modules.html.md b/website/docs/configuration/modules.html.md index 88430218e..0270efeb1 100644 --- a/website/docs/configuration/modules.html.md +++ b/website/docs/configuration/modules.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Modules - Configuration Language" sidebar_current: "docs-config-modules" description: |- diff --git a/website/docs/configuration/outputs.html.md b/website/docs/configuration/outputs.html.md index 01c89acfd..f4711b08d 100644 --- a/website/docs/configuration/outputs.html.md +++ b/website/docs/configuration/outputs.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Output Values - Configuration Language" sidebar_current: "docs-config-outputs" description: |- diff --git a/website/docs/configuration/override.html.md b/website/docs/configuration/override.html.md index 10ab5467a..2dcea4b26 100644 --- a/website/docs/configuration/override.html.md +++ b/website/docs/configuration/override.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Override Files - Configuration Language" sidebar_current: "docs-config-override" description: |- diff --git a/website/docs/configuration/provider-requirements.html.md b/website/docs/configuration/provider-requirements.html.md index 9763ccb77..ba613e86f 100644 --- a/website/docs/configuration/provider-requirements.html.md +++ b/website/docs/configuration/provider-requirements.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Provider Requirements - Configuration Language" --- @@ -21,53 +21,6 @@ configuration (like endpoint URLs or cloud regions) before they can be used. - The [Provider Configuration](./providers.html) page documents how to configure settings for providers. -## About Providers - -Providers are plugins. They are released on a separate rhythm from Terraform -itself, and each provider has its own series of version numbers. - -Each provider plugin offers a set of -[resource types](resources.html#resource-types-and-arguments), and defines for -each resource type which arguments it accepts, which attributes it exports, and -how changes to resources of that type are actually applied to remote APIs. - -Most providers configure a specific infrastructure platform (either cloud or -self-hosted). Providers can also offer local utilities for tasks like -generating random numbers for unique resource names. - -The [Terraform Registry](https://registry.terraform.io/browse/providers) -is the main directory of publicly available Terraform providers, and hosts -providers for most major infrastructure platforms. You can also write and -distribute your own Terraform providers, for public or private use. - -> **Hands-on:** If you're interested in developing your own Terraform providers, try the [Call APIs with Terraform Providers](https://learn.hashicorp.com/collections/terraform/providers?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn. - -### Provider Installation - -Terraform finds and installs providers when -[initializing a working directory](/docs/commands/init.html). It can -automatically download providers from a Terraform registry, or load them from a -local mirror or cache. - -When you add a new provider to a configuration, Terraform must install the -provider in order to use it. If you are using a persistent working directory, -you can run `terraform init` again to install new providers. - -Providers downloaded by `terraform init` are only installed for the current -working directory; other working directories can have their own installed -provider plugins. To help ensure that each working directory will use the same -selected versions, `terraform init` records its version selections in -your configuration's [dependency lock file](dependency-lock.html), named -`.terraform.lock.hcl` and will always make those same selections unless -you run `terraform init -upgrade` to update them. - -To save time and bandwidth, Terraform supports an optional plugin cache. You can -enable the cache using the `plugin_cache_dir` setting in -[the CLI configuration file](/docs/commands/cli-config.html). - -For more information about provider installation, see -[the `terraform init` command](/docs/commands/init.html). - ## Requiring Providers Each Terraform module must declare which providers it requires, so that diff --git a/website/docs/configuration/providers.html.md b/website/docs/configuration/providers.html.md index 4a4771b45..87740a205 100644 --- a/website/docs/configuration/providers.html.md +++ b/website/docs/configuration/providers.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Provider Configuration - Configuration Language" sidebar_current: "docs-config-providers" description: |- diff --git a/website/docs/configuration/resources.html.md b/website/docs/configuration/resources.html.md index a09488845..7e6ac964f 100644 --- a/website/docs/configuration/resources.html.md +++ b/website/docs/configuration/resources.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Resources - Configuration Language" sidebar_current: "docs-config-resources" description: |- diff --git a/website/docs/configuration/style.html.md b/website/docs/configuration/style.html.md index 2ca6e7326..170b35272 100644 --- a/website/docs/configuration/style.html.md +++ b/website/docs/configuration/style.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Style Conventions - Configuration Language" sidebar_current: "docs-config-style" description: |- diff --git a/website/docs/configuration/syntax-json.html.md b/website/docs/configuration/syntax-json.html.md index d81911f22..962a62b72 100644 --- a/website/docs/configuration/syntax-json.html.md +++ b/website/docs/configuration/syntax-json.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "JSON Configuration Syntax - Configuration Language" sidebar_current: "docs-config-syntax-json" description: |- diff --git a/website/docs/configuration/syntax.html.md b/website/docs/configuration/syntax.html.md index d0c7e9587..db9e7dcdb 100644 --- a/website/docs/configuration/syntax.html.md +++ b/website/docs/configuration/syntax.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Syntax - Configuration Language" sidebar_current: "docs-config-syntax" description: |- diff --git a/website/docs/configuration/syntax/index.html.md b/website/docs/configuration/syntax/index.html.md new file mode 100644 index 000000000..80a599c66 --- /dev/null +++ b/website/docs/configuration/syntax/index.html.md @@ -0,0 +1,21 @@ +--- +layout: "language" +page_title: "Syntax Overview - Configuration Language" +--- + +# Syntax + +The majority of the Terraform language documentation focuses on the practical +uses of the language and the specific constructs it uses. The pages in this +section offer a more abstract view of the Terraform language. + +- [Configuration Syntax](/docs/configuration/syntax.html) describes the native + grammar of the Terraform language. +- [JSON Configuration Syntax](/docs/configuration/syntax-json.html) documents + how to represent Terraform language constructs in the pure JSON variant of the + Terraform language. Terraform's JSON syntax is unfriendly to humans, but can + be very useful when generating infrastructure as code with other systems that + don't have a readily available HCL library. +- [Style Conventions](/docs/configuration/style.html) documents some commonly + accepted formatting guidelines for Terraform code. These conventions can be + enforced automatically with [`terraform fmt`](/docs/commands/fmt.html). diff --git a/website/docs/configuration/terraform.html.md b/website/docs/configuration/terraform.html.md index 4367710bd..75e532f33 100644 --- a/website/docs/configuration/terraform.html.md +++ b/website/docs/configuration/terraform.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Terraform Settings - Configuration Language" sidebar_current: "docs-config-terraform" description: |- diff --git a/website/docs/configuration/types.html.md b/website/docs/configuration/types.html.md index 2c514b1ff..8cc42e8d3 100644 --- a/website/docs/configuration/types.html.md +++ b/website/docs/configuration/types.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Type Constraints - Configuration Language" sidebar_current: "docs-config-types" description: |- diff --git a/website/docs/configuration/variables.html.md b/website/docs/configuration/variables.html.md index 7e7010348..e86eecad5 100644 --- a/website/docs/configuration/variables.html.md +++ b/website/docs/configuration/variables.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Input Variables - Configuration Language" sidebar_current: "docs-config-variables" description: |- diff --git a/website/docs/configuration/version-constraints.html.md b/website/docs/configuration/version-constraints.html.md index 8957fad0e..543a542bb 100644 --- a/website/docs/configuration/version-constraints.html.md +++ b/website/docs/configuration/version-constraints.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Version Constraints - Configuration Language" --- diff --git a/website/docs/modules/composition.html.markdown b/website/docs/modules/composition.html.markdown index 3a17deca4..1f64b8e49 100644 --- a/website/docs/modules/composition.html.markdown +++ b/website/docs/modules/composition.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Module Composition" sidebar_current: "docs-modules-composition" description: |- diff --git a/website/docs/modules/index.html.markdown b/website/docs/modules/index.html.markdown index c677d1fb9..306d53369 100644 --- a/website/docs/modules/index.html.markdown +++ b/website/docs/modules/index.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Creating Modules" sidebar_current: "docs-modules" description: |- diff --git a/website/docs/modules/publish.html.markdown b/website/docs/modules/publish.html.markdown index 1768b09de..116b863d5 100644 --- a/website/docs/modules/publish.html.markdown +++ b/website/docs/modules/publish.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Publishing Modules" sidebar_current: "docs-modules-publish" description: |- diff --git a/website/docs/modules/sources.html.markdown b/website/docs/modules/sources.html.markdown index afb6ecb83..c78c2458e 100644 --- a/website/docs/modules/sources.html.markdown +++ b/website/docs/modules/sources.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Module Sources" sidebar_current: "docs-modules-sources" description: The source argument within a module block specifies the location of the source code of a child module. diff --git a/website/docs/plugins/basics.html.md b/website/docs/plugins/basics.html.md index 55103f201..20f7f8650 100644 --- a/website/docs/plugins/basics.html.md +++ b/website/docs/plugins/basics.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "extend" page_title: "Plugin Basics" sidebar_current: "docs-plugins-basics" description: |- diff --git a/website/docs/plugins/index.html.md b/website/docs/plugins/index.html.md index 7970e704c..97ceeff08 100644 --- a/website/docs/plugins/index.html.md +++ b/website/docs/plugins/index.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "extend" page_title: "Plugins" sidebar_current: "docs-plugins" description: |- diff --git a/website/docs/plugins/provider.html.md b/website/docs/plugins/provider.html.md index 12a478130..b19ef5441 100644 --- a/website/docs/plugins/provider.html.md +++ b/website/docs/plugins/provider.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "extend" page_title: "Provider Plugins" sidebar_current: "docs-plugins-provider" description: |- diff --git a/website/docs/providers/index.html.markdown b/website/docs/providers/index.html.markdown index 8ab5cf294..285496a9a 100644 --- a/website/docs/providers/index.html.markdown +++ b/website/docs/providers/index.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Providers" sidebar_current: "docs-providers" description: |- diff --git a/website/docs/providers/terraform/d/remote_state.html.md b/website/docs/providers/terraform/d/remote_state.html.md index 96cfdc4f6..fdb930f02 100644 --- a/website/docs/providers/terraform/d/remote_state.html.md +++ b/website/docs/providers/terraform/d/remote_state.html.md @@ -1,5 +1,5 @@ --- -layout: "terraform" +layout: "language" page_title: "Terraform: terraform_remote_state" sidebar_current: "docs-terraform-datasource-remote-state" description: |- diff --git a/website/docs/providers/terraform/index.html.markdown b/website/docs/providers/terraform/index.html.markdown index 73f47735e..e6da618db 100644 --- a/website/docs/providers/terraform/index.html.markdown +++ b/website/docs/providers/terraform/index.html.markdown @@ -1,5 +1,5 @@ --- -layout: "terraform" +layout: "language" page_title: "Provider: Terraform" sidebar_current: "docs-terraform-index" description: |- diff --git a/website/docs/providers/type/cloud-index.html.markdown b/website/docs/providers/type/cloud-index.html.markdown index 7e2416432..313d92851 100644 --- a/website/docs/providers/type/cloud-index.html.markdown +++ b/website/docs/providers/type/cloud-index.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Cloud Providers" sidebar_current: "docs-providers-cloud" description: |- diff --git a/website/docs/providers/type/community-index.html.markdown b/website/docs/providers/type/community-index.html.markdown index 2c498ed27..5a3a39f12 100644 --- a/website/docs/providers/type/community-index.html.markdown +++ b/website/docs/providers/type/community-index.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Community Providers" sidebar_current: "docs-providers-community" description: |- diff --git a/website/docs/providers/type/database-index.html.markdown b/website/docs/providers/type/database-index.html.markdown index 7a676c6d6..47af39299 100644 --- a/website/docs/providers/type/database-index.html.markdown +++ b/website/docs/providers/type/database-index.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Database Providers" sidebar_current: "docs-providers-database" description: |- diff --git a/website/docs/providers/type/infra-index.html.markdown b/website/docs/providers/type/infra-index.html.markdown index 43989a3db..86d5a4498 100644 --- a/website/docs/providers/type/infra-index.html.markdown +++ b/website/docs/providers/type/infra-index.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Infrastructure Software Providers" sidebar_current: "docs-providers-infra" description: |- diff --git a/website/docs/providers/type/major-index.html.markdown b/website/docs/providers/type/major-index.html.markdown index bde801276..5dc58d90e 100644 --- a/website/docs/providers/type/major-index.html.markdown +++ b/website/docs/providers/type/major-index.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Major Cloud Providers" sidebar_current: "docs-providers-major" description: |- diff --git a/website/docs/providers/type/misc-index.html.markdown b/website/docs/providers/type/misc-index.html.markdown index 1efc87d59..fba3fbe88 100644 --- a/website/docs/providers/type/misc-index.html.markdown +++ b/website/docs/providers/type/misc-index.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Misc Providers" sidebar_current: "docs-providers-misc" description: |- diff --git a/website/docs/providers/type/monitor-index.html.markdown b/website/docs/providers/type/monitor-index.html.markdown index d28efc769..8944765c2 100644 --- a/website/docs/providers/type/monitor-index.html.markdown +++ b/website/docs/providers/type/monitor-index.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Monitor & Sys Management Providers" sidebar_current: "docs-providers-monitor" description: |- diff --git a/website/docs/providers/type/network-index.html.markdown b/website/docs/providers/type/network-index.html.markdown index d035eb840..3dcb00779 100644 --- a/website/docs/providers/type/network-index.html.markdown +++ b/website/docs/providers/type/network-index.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Network Providers" sidebar_current: "docs-providers-network" description: |- diff --git a/website/docs/providers/type/vcs-index.html.markdown b/website/docs/providers/type/vcs-index.html.markdown index 6c1f77a8d..bea2b4e34 100644 --- a/website/docs/providers/type/vcs-index.html.markdown +++ b/website/docs/providers/type/vcs-index.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "VCS Providers" sidebar_current: "docs-providers-vcs" description: |- diff --git a/website/docs/provisioners/chef.html.markdown b/website/docs/provisioners/chef.html.markdown index 87371b65c..dc4b1bf0a 100644 --- a/website/docs/provisioners/chef.html.markdown +++ b/website/docs/provisioners/chef.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Provisioner: chef" sidebar_current: "docs-provisioners-chef" description: |- diff --git a/website/docs/provisioners/connection.html.markdown b/website/docs/provisioners/connection.html.markdown index f290a9829..ffa771ed7 100644 --- a/website/docs/provisioners/connection.html.markdown +++ b/website/docs/provisioners/connection.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Provisioner Connection Settings" sidebar_current: "docs-provisioners-connection" description: |- diff --git a/website/docs/provisioners/file.html.markdown b/website/docs/provisioners/file.html.markdown index 5b3c80b0c..9ace6b847 100644 --- a/website/docs/provisioners/file.html.markdown +++ b/website/docs/provisioners/file.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Provisioner: file" sidebar_current: "docs-provisioners-file" description: |- diff --git a/website/docs/provisioners/habitat.html.markdown b/website/docs/provisioners/habitat.html.markdown index 4c223bb2e..ab824e46f 100644 --- a/website/docs/provisioners/habitat.html.markdown +++ b/website/docs/provisioners/habitat.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Provisioner: habitat" sidebar_current: "docs-provisioners-habitat" description: |- diff --git a/website/docs/provisioners/index.html.markdown b/website/docs/provisioners/index.html.markdown index d604b6f88..58e4513db 100644 --- a/website/docs/provisioners/index.html.markdown +++ b/website/docs/provisioners/index.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Provisioners" sidebar_current: "docs-provisioners" description: |- diff --git a/website/docs/provisioners/local-exec.html.markdown b/website/docs/provisioners/local-exec.html.markdown index 2f8cf628f..40247d5c9 100644 --- a/website/docs/provisioners/local-exec.html.markdown +++ b/website/docs/provisioners/local-exec.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Provisioner: local-exec" sidebar_current: "docs-provisioners-local" description: |- diff --git a/website/docs/provisioners/null_resource.html.markdown b/website/docs/provisioners/null_resource.html.markdown index f7609ab66..61c221fb9 100644 --- a/website/docs/provisioners/null_resource.html.markdown +++ b/website/docs/provisioners/null_resource.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Provisioners Without a Resource" sidebar_current: "docs-provisioners-null-resource" description: |- diff --git a/website/docs/provisioners/puppet.html.markdown b/website/docs/provisioners/puppet.html.markdown index 70f754cf1..a4b08c76a 100644 --- a/website/docs/provisioners/puppet.html.markdown +++ b/website/docs/provisioners/puppet.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Provisioner: puppet" sidebar_current: "docs-provisioners-puppet" description: |- diff --git a/website/docs/provisioners/remote-exec.html.markdown b/website/docs/provisioners/remote-exec.html.markdown index 3085bb335..0d56343ce 100644 --- a/website/docs/provisioners/remote-exec.html.markdown +++ b/website/docs/provisioners/remote-exec.html.markdown @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Provisioner: remote-exec" sidebar_current: "docs-provisioners-remote" description: |- diff --git a/website/docs/provisioners/salt-masterless.html.md b/website/docs/provisioners/salt-masterless.html.md index f15d10e67..26810b91e 100644 --- a/website/docs/provisioners/salt-masterless.html.md +++ b/website/docs/provisioners/salt-masterless.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "Provisioner: salt-masterless" sidebar_current: "docs-provisioners-salt-masterless" description: |- diff --git a/website/docs/registry/index.html.md b/website/docs/registry/index.html.md index 7e4a608df..ea12a1184 100644 --- a/website/docs/registry/index.html.md +++ b/website/docs/registry/index.html.md @@ -1,12 +1,12 @@ --- layout: "registry" -page_title: "Terraform Registry" +page_title: "Publishing Providers and Modules" sidebar_current: "docs-registry-home" description: |- The Terraform Registry is a repository of providers and modules written by the Terraform community. --- -# Terraform Registry +# Publishing Providers and Modules on the Terraform Registry The [Terraform Registry](https://registry.terraform.io) is an interactive resource for discovering a wide selection of integrations (providers) and configuration packages (modules) for use with Terraform. The Registry includes solutions developed by HashiCorp, third-party vendors, and our Terraform community. Our goal with the Registry is to provide plugins to manage any infrastructure API, pre-made modules to quickly configure common infrastructure components, and examples of how to write quality Terraform code. diff --git a/website/docs/state/environments.html.md b/website/docs/state/environments.html.md index dfc8f7618..1d340b8cb 100644 --- a/website/docs/state/environments.html.md +++ b/website/docs/state/environments.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "State: Environments" sidebar_current: "docs-state-env" description: |- diff --git a/website/docs/state/import.html.md b/website/docs/state/import.html.md index 166614b66..a71d68d5b 100644 --- a/website/docs/state/import.html.md +++ b/website/docs/state/import.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "State: Import Existing Resources" sidebar_current: "docs-state-import" description: |- diff --git a/website/docs/state/index.html.md b/website/docs/state/index.html.md index 49f82cb65..7e7d2a5e5 100644 --- a/website/docs/state/index.html.md +++ b/website/docs/state/index.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "State" sidebar_current: "docs-state" description: |- diff --git a/website/docs/state/locking.html.md b/website/docs/state/locking.html.md index 6a4b8648d..49ed9fd3b 100644 --- a/website/docs/state/locking.html.md +++ b/website/docs/state/locking.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "State: Locking" sidebar_current: "docs-state-locking" description: |- diff --git a/website/docs/state/purpose.html.md b/website/docs/state/purpose.html.md index fd0a5c911..4182e9a81 100644 --- a/website/docs/state/purpose.html.md +++ b/website/docs/state/purpose.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "State" sidebar_current: "docs-state-purpose" description: |- diff --git a/website/docs/state/remote.html.md b/website/docs/state/remote.html.md index a2328d994..4187542c8 100644 --- a/website/docs/state/remote.html.md +++ b/website/docs/state/remote.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "State: Remote Storage" sidebar_current: "docs-state-remote" description: |- diff --git a/website/docs/state/sensitive-data.html.md b/website/docs/state/sensitive-data.html.md index f5ccaa116..ac2061b6a 100644 --- a/website/docs/state/sensitive-data.html.md +++ b/website/docs/state/sensitive-data.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "State: Sensitive Data" sidebar_current: "docs-state-sensitive-data" description: |- diff --git a/website/docs/state/workspaces.html.md b/website/docs/state/workspaces.html.md index e2a51c4b8..08f26e9bc 100644 --- a/website/docs/state/workspaces.html.md +++ b/website/docs/state/workspaces.html.md @@ -1,5 +1,5 @@ --- -layout: "docs" +layout: "language" page_title: "State: Workspaces" sidebar_current: "docs-state-workspaces" description: |- diff --git a/website/guides/core-workflow.html.md b/website/guides/core-workflow.html.md index c7f50a6f8..f60ffb110 100644 --- a/website/guides/core-workflow.html.md +++ b/website/guides/core-workflow.html.md @@ -1,5 +1,5 @@ --- -layout: "guides" +layout: "intro" page_title: "The Core Terraform Workflow - Guides" sidebar_current: "guides-core-workflow" description: |- diff --git a/website/guides/index.html.md b/website/guides/index.html.md index 8eb707384..987d38531 100644 --- a/website/guides/index.html.md +++ b/website/guides/index.html.md @@ -1,5 +1,5 @@ --- -layout: "guides" +layout: "intro" page_title: "Guides" sidebar_current: "guides-home" description: |- diff --git a/website/layouts/backend-types.erb b/website/layouts/backend-types.erb deleted file mode 100644 index 14dacac61..000000000 --- a/website/layouts/backend-types.erb +++ /dev/null @@ -1,88 +0,0 @@ -<% wrap_layout :inner do %> - <% content_for :sidebar do %> -

Terraform CLI

- - - - <%= partial("layouts/otherdocs", :locals => { :skip => "Terraform CLI" }) %> - <% end %> - - <%= yield %> -<% end %> diff --git a/website/layouts/commands-providers.erb b/website/layouts/commands-providers.erb deleted file mode 100644 index a0587364a..000000000 --- a/website/layouts/commands-providers.erb +++ /dev/null @@ -1,35 +0,0 @@ -<% wrap_layout :inner do %> - <% content_for :sidebar do %> -

Terraform CLI

- - - - <%= partial("layouts/otherdocs", :locals => { :skip => "Terraform CLI" }) %> - - <% end %> - - <%= yield %> -<% end %> diff --git a/website/layouts/commands-state.erb b/website/layouts/commands-state.erb deleted file mode 100644 index f5a98d329..000000000 --- a/website/layouts/commands-state.erb +++ /dev/null @@ -1,57 +0,0 @@ -<% wrap_layout :inner do %> - <% content_for :sidebar do %> -

Terraform CLI

- - - - <%= partial("layouts/otherdocs", :locals => { :skip => "Terraform CLI" }) %> - - <% end %> - - <%= yield %> -<% end %> diff --git a/website/layouts/commands-workspace.erb b/website/layouts/commands-workspace.erb deleted file mode 100644 index 624026cbf..000000000 --- a/website/layouts/commands-workspace.erb +++ /dev/null @@ -1,45 +0,0 @@ -<% wrap_layout :inner do %> - <% content_for :sidebar do %> -

Terraform CLI

- - - - <%= partial("layouts/otherdocs", :locals => { :skip => "Terraform CLI" }) %> - - <% end %> - - <%= yield %> -<% end %> diff --git a/website/layouts/docs.erb b/website/layouts/docs.erb index 8d6d32e75..48348e688 100644 --- a/website/layouts/docs.erb +++ b/website/layouts/docs.erb @@ -3,535 +3,550 @@

Terraform CLI