首页 文章

Terraform JSON中列表和 Map 的语法

提问于
浏览
1

我在Terraform JSON中寻找正确的语法来编写列表或 Map . 关于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 回答

  • 2

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

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

相关问题