如何在terraform locals、json语法中定义地图地图
Terraform具有json配置语法 在常规terraform语法中,我可以定义一个本地地图如何在terraform locals、json语法中定义地图地图,terraform,Terraform,Terraform具有json配置语法 在常规terraform语法中,我可以定义一个本地地图 locals = { my_map_of_maps = { map1 = { key = "value" } } } 但是,在json语法中,以下等效 { "locals": { "my_local":"value", "my_map_of_maps":{ "map1": { "key":"value"
locals = {
my_map_of_maps = {
map1 = {
key = "value"
}
}
}
但是,在json语法中,以下等效
{
"locals": {
"my_local":"value",
"my_map_of_maps":{
"map1": {
"key":"value"
}
}
}
}
当我运行terraform refresh
时失败,我得到的locals块位于-不应该有“我的地图”标签
但是,不包含其他贴图的贴图是可以的
{
"locals": {
"my_local":"value",
"my_map":{
"key":"value"}
}
}
通过地形刷新
不重要
有趣的是,在json语法中,我不能定义本地映射,除非我首先定义一个不是映射的本地映射,因此使用了“my_local”:“value”
。如果没有它,terraform刷新
将失败,locals块位于-不应该有标签“我的地图”
版本
Terraform v0.11.13这是Terraform v0.11中的一个已知错误,看起来您已经找到了在其中包含一个附加非映射值的解决方法,以帮助解析器理解您的意思。Terraform v0.12的新JSON语法解码器不再有这个问题。谢谢。你知道我提出的主要问题是否也是一个已知的bug吗?你知道该问题的解决方法吗?我在这里只看到一个问题:一个内部只有一个映射表达式的局部变量
块被误解为一个带标签的局部变量
块。你能详细说明一下你所说的其他bug吗?我问题的主要部分是如何用TerraformJSON语法创建地图地图。试过了,不起作用。答案是要么使用Terraform 0.12,要么在locals
对象中添加额外属性,以解决Terraform 0.11中的已知错误。