我有一个带有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
中导出单个变量的问题?
答案 0 :(得分:0)
template_file将vars公开为地图。
您需要做
attribute = "${data.template_file.my_template.vars['var1']}"
访问它。
您可以在这里阅读有关内容:https://www.terraform.io/docs/configuration/interpolation.html#user-map-variables