首页 > 解决方案 > Terraform 12 - 多行

问题描述

在 terraform 11 中,此语法没有问题:

tags = "${
    merge(
      map("Name", format("%s-%s-%s",var.environment_name,"WAN","RouteTable")), 
      var.tags_module,
      var.tags_global
    )
  }"

在 terraform 12 中,我必须删除括号{}并且需要将所有内容放在一行中才能使其正常工作:

tags = merge(map("Name", format("%s-%s-%s",var.environment_name,"WAN","RouteTable")), var.tags_module, var.tags_global)

但是,如果我将上述语句分成多行:

tags = 
merge(
map("Name", format("%s-%s-%s",var.environment_name,"WAN","RouteTable")),
var.tags_module,
var.tags_global
)

我收到以下错误:

Expected an attribute value, introduced
by an equals sign ("=").

有没有办法在 terraform 12 中使用多行

标签: terraformterraform-provider-azure

解决方案


HCL2 的有效语法如下:

tags = merge(
  map("Name", format("%s-%s-%s",var.environment_name,"WAN","RouteTable")),
  var.tags_module,
  var.tags_global,
)

推荐阅读