Terraform var-file 选项不起作用
Terraform var-file option does not work
我正在尝试让 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 has been successfully initialized!"
我已尝试执行以下所有操作,以及更多操作:
$ 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 似乎根本没有。我尝试将文件移动到同一目录并执行:
$ 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}" ...
没有任何问题。
我环顾四周,看不到其他人有同样的问题:一切都围绕着变量设置不正确或类似问题。鉴于完全没有有用的错误消息,我不确定如何诊断此问题。我在这里做错了什么?
Terraform 输出不会告诉您 terraform.tfvars
可能包含不正确的语法,而是显示用法说明。 .tfvars
文件的预期语法是正确转义的 name="value"
对的列表,其中需要在值周围加上双引号。
我正在尝试让 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 has been successfully initialized!"
我已尝试执行以下所有操作,以及更多操作:
$ 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 似乎根本没有。我尝试将文件移动到同一目录并执行:
$ 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}" ...
没有任何问题。
我环顾四周,看不到其他人有同样的问题:一切都围绕着变量设置不正确或类似问题。鉴于完全没有有用的错误消息,我不确定如何诊断此问题。我在这里做错了什么?
Terraform 输出不会告诉您 terraform.tfvars
可能包含不正确的语法,而是显示用法说明。 .tfvars
文件的预期语法是正确转义的 name="value"
对的列表,其中需要在值周围加上双引号。