terraform/website/docs/commands/validate.html.markdown

55 lines
2.2 KiB
Markdown

---
layout: "docs"
page_title: "Command: validate"
sidebar_current: "docs-commands-validate"
description: |-
The `terraform validate` command is used to validate the syntax of the terraform files.
---
# Command: validate
The `terraform validate` command is used to validate the syntax of the terraform files.
Terraform performs a syntax check on all the terraform files in the directory,
and will display an error if any of the files doesn't validate.
This command **does not** check formatting (e.g. tabs vs spaces, newlines, comments etc.).
The following can be reported:
* invalid [HCL](https://github.com/hashicorp/hcl) syntax (e.g. missing trailing quote or equal sign)
* invalid HCL references (e.g. variable name or attribute which doesn't exist)
* same `provider` declared multiple times
* same `module` declared multiple times
* same `resource` declared multiple times
* invalid `module` name
* interpolation used in places where it's unsupported
(e.g. `variable`, `depends_on`, `module.source`, `provider`)
* missing value for a variable (none of `-var foo=...` flag,
`-var-file=foo.vars` flag, `TF_VAR_foo` environment variable,
`terraform.tfvars`, or default value in the configuration)
## Usage
Usage: `terraform validate [options] [dir]`
By default, `validate` requires no flags and looks in the current directory
for the configurations.
The command-line flags are all optional. The available flags are:
* `-check-variables=true` - If set to true (default), the command will check
whether all required variables have been specified.
* `-no-color` - Disables output with coloring.
* `-var 'foo=bar'` - Set a variable in the Terraform configuration. This flag
can be set multiple times. Variable values are interpreted as
[HCL](/docs/configuration/syntax.html#HCL), so list and map values can be
specified via this flag.
* `-var-file=foo` - Set variables in the Terraform configuration from
a [variable file](/docs/configuration/variables.html#variable-files). If
"terraform.tfvars" is present, it will be automatically loaded first. Any
files specified by `-var-file` override any values in a "terraform.tfvars".
This flag can be used multiple times.