我正在开发一个 terraform 项目。在其中,我想要一个文件包含许多变量。我希望可以从项目的任何模块访问这些变量。我已经查看了文档和 udemy 课程,但仍然不知道如何做到这一点。在 Terraform 中如何做到这一点?谢谢!
对于许多模块之间的路径常量,我们可以使用以下简单的方法。
描述具有全局常量作为输出的模块:
output "parameter_1" {
value = "value_1"
sensitive = true
}
output "parameter_2" {
value = "value_2"
sensitive = true
}
Run Code Online (Sandbox Code Playgroud)
之后我们就可以在任何*.tf中使用
module "global_settings" {
source = "./modules/global_constants"
}
data "azurerm_key_vault" "keyvault" {
name = module.global_settings.parameter_1
resource_group_name = module.global_settings.parameter_2
}
Run Code Online (Sandbox Code Playgroud)
或者在其他任何模块中:
module "global_settings" {
source = "../global_constants"
}
data "azurerm_key_vault" "keyvault" {
name = module.global_settings.parameter_1
resource_group_name = module.global_settings.parameter_2
}
Run Code Online (Sandbox Code Playgroud)
我尝试这样做
定义一组公共变量,例如在所有模块的文件common_tags
底部/顶部。variables.tf
通常,您的技术操作管理员/云管理员将为此创建一个模板项目。
对于每个模块,我添加以下内容作为最后一项
global_var = var.global_var_val
一个例子是常见标签。在任何根/子模块中,我使用merge()
函数将它们组合起来。我希望这是有道理的。
归档时间: |
|
查看次数: |
24319 次 |
最近记录: |