如何在Terraform中定义全局变量?

时间:2020-01-03 19:41:52

标签: terraform

我正在从事一个Terraform项目。在其中,我希望文件包含许多变量。我希望可以从项目的任何模块访问这些变量。我已经看过文档和一个粗略的课程,但仍然看不到该怎么做。如何在Terraform中做到这一点?谢谢!

2 个答案:

答案 0 :(得分:1)

我尝试这样做

  1. 定义一组公共变量,例如common_tags 位于所有模块的 variables.tf 文件的底部/顶部。通常,您的技术运营管理员/云管理员会为此创建一个模板项目。

  2. 对于每个模块,我添加以下作为最后一项

    global_var = var.global_var_val

一个例子是常见的标签。在任何根/子模块中,我使用 merge() 函数将它们组合起来。我希望这是有道理的。

答案 1 :(得分:0)

我认为这不可能。 Github上对此进行了多次讨论,但这不是something the Hashicorp团队想要的。

总的来说,我们反对使用全局变量的特定解决方案,因为它会使模块的输入->资源->输出流不那么明确,而明确性是核心设计目标。

我知道,我们必须在不同模块之间重复很多变量