我正在从事一个Terraform项目。在其中,我希望文件包含许多变量。我希望可以从项目的任何模块访问这些变量。我已经看过文档和一个粗略的课程,但仍然看不到该怎么做。如何在Terraform中做到这一点?谢谢!
答案 0 :(得分:1)
我尝试这样做
定义一组公共变量,例如common_tags
位于所有模块的 variables.tf
文件的底部/顶部。通常,您的技术运营管理员/云管理员会为此创建一个模板项目。
对于每个模块,我添加以下作为最后一项
global_var = var.global_var_val
一个例子是常见的标签。在任何根/子模块中,我使用 merge()
函数将它们组合起来。我希望这是有道理的。
答案 1 :(得分:0)
我认为这不可能。 Github上对此进行了多次讨论,但这不是something the Hashicorp团队想要的。
总的来说,我们反对使用全局变量的特定解决方案,因为它会使模块的输入->资源->输出流不那么明确,而明确性是核心设计目标。
我知道,我们必须在不同模块之间重复很多变量