Terraform JSON中列表和地图的语法

时间:2017-09-04 15:27:54

标签: json terraform hcl

我在Terraform JSON中寻找正确的语法来编写列表或地图。关于terraform的文档似乎很少作为JSON(.tf.json)

我目前收到以下错误:

Error loading config: Error loading /var/tmp/base.tf.json: Error reading config for aws_instance[web]: Invalid dot index found: 'var.global.ami'. Values in maps and lists can be referenced using square bracket indexing, like: 'var.mymap["key"]' or 'var.mylist[1]'. in:

${var.global.ami}

以下代码:

{
  "resource": {
    "aws_instance": {
      "web": {
        "ami": "${var.global.ami}",
        "count": 2,

        }
      }
   }
}

然而,当我将代码调整为

    {
  "resource": {
    "aws_instance": {
      "web": {
        "ami": "${var.global["ami"]}",
        "count": 2,

        }
      }
   }
}

然后我得到错误:

Error loading config: Error parsing /var/tmp/base.tf.json: 5:33: illegal char

也有人知道terraform HCL到Terraform JSON转换器吗?

由于

1 个答案:

答案 0 :(得分:2)

几乎就在那里 - 您只需要在JSON中转义引号:

"resource": {
  "aws_instance": {
    "web": {
      "ami": "${var.global[\"ami\"]}",
      "count": 2,
     }
  }
}