【问题标题】:Terraform template_file vars attribute getting definedTerraform template_file vars 属性得到定义
【发布时间】:2018-10-04 17:01:32
【问题描述】:

我有一个包含 vars 的 template_file 部分的模块,其中 vars 在后续资源中使用

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 导出的问题?

【问题讨论】:

  • 是否有理由不将模板 var 值设置在本地,然后再使用它?
  • 我同意这样会更好,但它不是我自己的模块。

标签: terraform


【解决方案1】:

template_file 将 vars 公开为地图。

你需要这样做

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

访问它。

你可以在这里阅读:https://www.terraform.io/docs/configuration/interpolation.html#user-map-variables

【讨论】:

    猜你喜欢
    • 2016-11-25
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    • 2020-03-23
    • 2018-02-21
    • 2018-08-21
    • 2016-05-03
    相关资源
    最近更新 更多