我正在配置一个作业来部署我的 terraform 基础设施,我需要通过命令行传递一个包含在映射中的 var。像这样:
my.tfvars:
nodegroups = {
platform = [
{
"nodeversion" = "1.0" (Var to use)
"backup" = false,
}
]
}
然后我必须通过命令行动态传递这个 var 以在 jenkins 工作中使用,类似这样:
terraform apply -auto-approve -var-file=project.tfvars -var={nodegroup.platform.nodeversion=1.0}
有可能吗?
提前致谢
答案 0 :(得分:0)
这样的事情应该是可能的。
但根据Terraform's Variables On The Command Line documentation,它看起来像这样。
terraform apply -auto-approve -var-file=project.tfvars -var='nodegroups={"platform": [{"nodeversion": "1.0"}]}'
但是,我强烈建议您将 .tfvars 文件用于复杂的输入值。在上面的情况下,您实际上只提供了一个变量值。真的有必要在对象内部的数组中包含一个对象吗?