Terraform var-file选项不起作用

时间:2018-04-20 04:56:43

标签: terraform

我尝试使用Terraform构建来利用文件来处理源树中我不想要的变量,但这些变量是必需的输入。

我的目录结构非常简单:

/nford   # Unix system user; echo $HOME -> /home/nford
  /deployment
    /prod
      /module_01
      variables.tf
      main.tf
      output.tf
  /secrets
    terraform.tfvars

所有其余的都来自/home/nford/deployment/prod/目录。

当我执行terraform init时,它没有任何抱怨,说" Terraform已成功初始化!"

我试图执行以下所有操作,还有更多:

$ terraform validate -var-file=~/secrets/terraform.tfvars
$ terraform validate -var-file=$HOME/secrets/terraform.tfvars
$ terraform validate -var-file=/home/nford/secrets/terraform.tfvars
$ terraform plan -var-file=~/secrets/terraform.tfvars
$ terraform plan -var-file=$HOME/secrets/terraform.tfvars
$ terraform plan -var-file=/home/nford/secrets/terraform.tfvars

其中每个产生相同的结果:它显示terraform <validate|plan>的用法。它没有给我任何其他错误。它似乎根本不会运行地形。我已经尝试将文件移动到同一目录并执行:

$ terraform validate -var-file=terraform.tfvars
$ terraform validate -var-file=./terraform.tfvars
$ terraform plan -var-file=terraform.tfvars
$ terraform plan -var-file=./terraform.tfvars

这些产生相同的结果:它显示用法。我尝试完全放弃-var-file标志并报告:

Error: Required variable not set: pub_key
... etc (there are a number of these)

terraform plan -var "pub_key=${PUBLIC_KEY_LOC}" ...无任何问题。

我环顾四周,我无法看到其他任何远程同样问题的人:一切都围绕着未正确设置的变量等。鉴于完全缺乏有用的错误消息,我不确定如何诊断此问题。我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

Terraform输出并不告诉您terraform.tfvars可能包含不正确的语法,而是显示用法说明。 .tfvars文件的预期语法是正确转义name="value"对的列表,其中需要围绕值的双引号。