2017-09-04 66 views
0

我在Terraform JSON中寻找正确的语法来编写列表或地图。似乎是作为terraform很少文档JSON(.tf.json)Terraform 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地形JSON转换器吗?

感谢

回答

1

快到了 - 你只需要逃避你的JSON中引号:

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