我试图让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}" ...工作时没有任何问题。
我环顾四周,发现没有其他人有同样的问题:所有的变量都是围绕着没有正确设置的变量。由于完全缺乏有用的错误信息,我不知道如何诊断这个问题。我在这里做错什么了?
发布于 2018-04-20 05:59:20
Terraform输出不会告诉您terraform.tfvars可能包含不正确的语法,而是显示用法说明。.tfvars文件的预期语法是一个正确转义的name="value"对的列表,其中需要值周围的双引号。
https://stackoverflow.com/questions/49934262
复制相似问题