我想从 terraform 中的一个模块输出一个 postgreql 提供程序,然后使用它进一步配置数据库。
当前用例是一个创建 postgres rds 实例的模块,我想返回一个“postgresql 提供程序”来继续设置角色和数据库。
答案1
不,你不能这么做。你需要从模块返回登录值,这样你才能使用这些值在模块外部设置提供程序。
我只需编辑模块并执行模块内部所需的操作,这样您就不必输出那些内容。
答案2
不要这么做,而是转换原则并注入一个提供程序。
例如在你的模块中你有
provider "azurerm" {
version = "~> 1.16"
}
现在在实际环境中,我将切换到别名提供程序,例如
provider "azurerm" {
version = "~> 1.16"
alias = "goldenrule"
}
然后你可以像这样将其注入到模块中
module "something-great" {
source = "./great/thang/"
providers = {
azurerm = "azurerm.goldenrule"
}
}