diff --git a/website/source/docs/configuration/environment-variables.html.md b/website/source/docs/configuration/environment-variables.html.md index 30e3b421a..e33954520 100644 --- a/website/source/docs/configuration/environment-variables.html.md +++ b/website/source/docs/configuration/environment-variables.html.md @@ -65,6 +65,29 @@ export TF_VAR_amap='{ foo = "bar", baz = "qux" }' For more on how to use `TF_VAR_name` in context, check out the section on [Variable Configuration](/docs/configuration/variables.html). +## TF_CLI_ARGS and TF_CLI_ARGS_name + +The value of `TF_CLI_ARGS` will specify additional arguments to the +command-line. This allows easier automation in CI environments as well as +modifying default behavior of Terraform on your own system. + +These arguments are inserted directly _after_ the subcommand +(such as `plan`) and _before_ any flags specified directly on the command-line. +This behavior ensures that flags on the command-line take precedence over +environment variables. + +For example, the following command: `TF_CLI_ARGS="-input=false" terraform apply -force` +is the equivalent to manually typing: `terraform apply -input=false -force`. + +The flag `TF_CLI_ARGS` affects all Terraform commands. If you specify a +named command in the form of `TF_CLI_ARGS_name` then it will only affect +that command. As an example, to specify that only plans never refresh, +you can set `TF_CLI_ARGS_plan="-refresh=false"`. + +The value of the flag is parsed as if you typed it directly to the shell. +Double and single quotes are allowed to capture strings and arguments will +be separated by spaces otherwise. + ## TF_SKIP_REMOTE_TESTS This can be set prior to running the unit tests to opt-out of any tests