Terraform 中列表和地图的语法 JSON

Syntax for lists and maps in Terraform JSON

我正在 Terraform JSON 中寻找正确的语法来编写列表或地图。关于地形的文档似乎很少,因为 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 转换器吗?

谢谢

差不多了 - 您只需要转义 JSON:

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