Terraform 在另一个模板中包括地形模板

Terraform 在另一个模板中包括地形模板,terraform,terraform-template-file,Terraform,Terraform Template File,我有许多terraform脚本使用的模板文件,所有模板文件都有一些共同部分,即: file a.tmpl: env=prod var=a ------------------- file b.tmpl: env=prod var=b 我想将公共部分导出到一个单独的文件中,这样就不必在每个文件中重复,例如: file base.tmpl: env=prod ------------------- file a.tmpl: %{ include "base.tmpl" }

我有许多terraform脚本使用的模板文件,所有模板文件都有一些共同部分,即:

file a.tmpl:

env=prod
var=a
-------------------
file b.tmpl:

env=prod
var=b
我想将公共部分导出到一个单独的文件中,这样就不必在每个文件中重复,例如:

file base.tmpl:
env=prod
-------------------
file a.tmpl:

%{ include "base.tmpl" }
var=a
-------------------
file b.tmpl:

%{ include "base.tmpl" }
var=b
但这一特性并不存在

(它非常类似于此处描述的
django
模板功能:)

有没有一种方法可以实现包含


我可以通过如下方式浓缩文件来解决问题:

data "template_file" "vars_a" {
  template = "${format("%s \n %s", 
    file("${path.module}/base.tmpl"), 
    file("${path.module}/a.tmpl")
   )}"
}
但这比直接在文件中包含基本模板更具局限性。

我认为您可以使用:

a.tmpl

${file("base.tmpl")}
var=a
var_ddd=ffff
var_sss=adfs
base.tmpl

${file("base.tmpl")}
var=a
var_ddd=ffff
var_sss=adfs
main.tf

data "template_file" "vars_a" {
  template = templatefile("a.tmpl", {})
}

output "test" {
  value = data.template_file.vars_a.template
}