Terraform多个版本的同一提供商
我很难使用多个版本的模块,我什至尝试使用别名,但它不起作用。这是一个示例代码。有人可以建议我做错了吗?或正确的方法。
providers = {
azurerm = azurerm
azurerm.permission = azurerm.permission
}
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 2.76.0"
}
azurerm = {
source = "hashicorp/azurerm"
version = "~> 3.7.0"
configuration_aliases = [azurerm.permission]
}
provider "azurerm" {
features {}
subscription_id = data.vault_generic_secret.vault-spoke-spn.data["subscription_id"]
tenant_id = data.vault_generic_secret.vault-spoke-spn.data["tenant_id"]
client_id = data.vault_generic_secret.vault-spoke-spn.data["client_id"]
client_secret = data.vault_generic_secret.vault-spoke-spn.data["client_secret"]
}
provider "azurerm" {
features {}
alias = "permission"
subscription_id = data.vault_generic_secret.vault-spoke-spn.data["subscription_id"]
tenant_id = data.vault_generic_secret.vault-spoke-spn.data["tenant_id"]
client_id = data.vault_generic_secret.vault-spoke-spn.data["client_id"]
client_secret = data.vault_generic_secret.vault-spoke-spn.data["client_secret"]
}
I'm having hard time working with modules of multiple versions, i even tried using Alias but its not working. Here's an sample code. Can someone suggest where i'm doing wrong? or what's the correct way.
providers = {
azurerm = azurerm
azurerm.permission = azurerm.permission
}
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 2.76.0"
}
azurerm = {
source = "hashicorp/azurerm"
version = "~> 3.7.0"
configuration_aliases = [azurerm.permission]
}
provider "azurerm" {
features {}
subscription_id = data.vault_generic_secret.vault-spoke-spn.data["subscription_id"]
tenant_id = data.vault_generic_secret.vault-spoke-spn.data["tenant_id"]
client_id = data.vault_generic_secret.vault-spoke-spn.data["client_id"]
client_secret = data.vault_generic_secret.vault-spoke-spn.data["client_secret"]
}
provider "azurerm" {
features {}
alias = "permission"
subscription_id = data.vault_generic_secret.vault-spoke-spn.data["subscription_id"]
tenant_id = data.vault_generic_secret.vault-spoke-spn.data["tenant_id"]
client_id = data.vault_generic_secret.vault-spoke-spn.data["client_id"]
client_secret = data.vault_generic_secret.vault-spoke-spn.data["client_secret"]
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
谢谢 Martin Atkins 出于您的建议。增加了更多的积分和可能有助于其他社区成员的推荐。
模块块中的继承和提供者参数是可以将提供者明确传递给继任模块的两种方法。您可以关注此 link < /a>对这两种选择更深入。
Thank You Martin Atkins for your suggestion. Adding few more points and referennce that might help other community member.
Inheritance and the providers argument in a module block are the two methods that providers can be explicitly passed down to successor modules. you can follow this link go into greater depth about these two choices.