1

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

谢谢

4

1 回答 1

2

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

"resource": {
  "aws_instance": {
    "web": {
      "ami": "${var.global[\"ami\"]}",
      "count": 2,
     }
  }
}
于 2017-09-04T15:44:25.720 回答