Terraform template_file vars属性被定义

时间:2018-10-04 17:01:32

标签: terraform

我有一个带有template_file部分的模块,其中包括var,其中var用于后续资源中

data "template_file" "my_template" {
   template = "/dev/null"
   vars {
      var1 = "value with ${var.module_input}"
   }
}

resource .... {
  attribute = "${data.template_file.my_template.vars.var1}"
}

运行terraform时出现类似

的错误
Resource 'data.template_file.my_template' does not have attribute 'vars.var1' for variable 'data.template_file.my_template.vars.var1'

无论出于何种原因,模板vars中的var1似乎都没有得到定义,可供以后使用。

如何解决可能导致无法从template_file中导出单个变量的问题?

1 个答案:

答案 0 :(得分:0)

template_file将vars公开为地图。

您需要做

attribute = "${data.template_file.my_template.vars['var1']}"

访问它。

您可以在这里阅读有关内容:https://www.terraform.io/docs/configuration/interpolation.html#user-map-variables