phy*_*man 6 terraform terraform0.12+
我的variables.tf文件中声明了一个变量,如下所示:
variable "linux_jb_0" {
description = "Linux jump box settings"
type = object(
{
vm_size = string
adm_acct = string
}
)
default = {
vm_size = "Standard_A1"
adm_acct = null
}
}
Run Code Online (Sandbox Code Playgroud)
我试图确定如何adm_acct从命令行将值传递给该变量的属性。我已经尝试过以下方法,但它不起作用:
terraform apply -var "linux_jb_0={"adm_acct":$account","vm_size":"Standard_A1"}"
Run Code Online (Sandbox Code Playgroud)
这个命令告诉我Variables not allowed。在这种情况下真的不允许使用变量还是我的语法不正确?
此语法适用于 Terraform v1.0.0:
terraform apply -var "linux_jb_0={\"adm_acct\"=\"$account\",\"vm_size\"=\"Standard_A1\"}"
Run Code Online (Sandbox Code Playgroud)
确认此语法可以追溯到 Terraform v0.12.31。
更新答案:
以下应该使用变量周围的转义双引号来解决这个问题:
terraform apply -var="linux_jb_0={"adm_acct":"\"${account}\"","vm_size":"Standard_A1"}"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4955 次 |
| 最近记录: |