有没有一种方法可以在不运行的情况下验证文件的内容.tfvars(即适合传递给terraform plan -var-file foo.tfvars)terraform plan?
理想情况下验证变量名称,但即使只是基本语法也很好。
想要这样做的原因是我们有一些文件仅在某些环境中使用,并且最近提交了语法上不正确的更改 - 但只有在尝试部署到该环境时才会被捕获。我希望能够在运行该terraform plan步骤之前在管道中检测到该文件无效。
对于.tf文件本身,我们可以使用terraform validate,但这不会查看变量文件。
一个我不喜欢但似乎有效的解决方案是使用terraform console. 这要求您将所有变量定义放在一个variables.tf文件中,并将其余的 terraform 放在其他文件中。
mkdir temp
cp variables.tf file_to_test.tfvars temp/
cd temp/
echo '"valid"' | terraform console -var-file file_to_test.tfvars
Run Code Online (Sandbox Code Playgroud)
terraform console如果文件格式有效,将以状态 0 退出,否则以状态 1 退出。
您还可以使用此技巧来提取变量的值:
echo 'var.variable_i_want_to_query' | terraform console -var-file file_to_test.tfvars
Run Code Online (Sandbox Code Playgroud)
虽然不幸的是没有办法强制这个值,例如 JSON
| 归档时间: |
|
| 查看次数: |
1757 次 |
| 最近记录: |