首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform显式传递多个提供程序

Terraform显式传递多个提供程序
EN

Stack Overflow用户
提问于 2020-12-23 15:24:27
回答 1查看 2K关注 0票数 0

我用地形来满足所有的需要。

我所有的配置都存储在Azure中,比如订阅"DEVOPS“。所有用于测试的代码都是在订阅“暂存”中创建的。

以下是我的TF代码

代码语言:javascript
复制
variable name {}
variable location {}
variable tags {}
 
provider "azurerm" {
    subscription_id = "Staging"
    features()
}

provider "azurerm" {
    subscription_id = "DEVOPS"
    features()
    alias = "devopskv"
}

module "resource_group" {
  source = "../modules/azure-resource-group"

    name     = var.name
    location = var.location
    tags     = var.tags
    
    providers = {
        azurerm = azurerm
        azurerm.devopskv = azurerm.devopskv
    }   
}

## Module



data "azurerm_key_vault" "kv" {
  name                = "my-kv"
  resource_group_name = "my-kv-rg"
  provider            = azurerm.devopskv
}

data "azurerm_key_vault_secret" "name" {
  name         = var.name
  key_vault_id = data.azurerm_key_vault.kv.id
  provider     = azurerm.devopskv
}

resource "azurerm_resource_group" "resource_group" {
  name     = data.azurerm_key_vault_secret.name.value
  location = var.location
  tags     = var.tags
}

预期的输出: RG是在使用驻留在DEVOPS订阅中的KV获取的名称暂存订阅时创建的。

实际输出:错误:找不到资源组“my”。

跟踪详细信息: TF试图从订阅“暂存”中获取KV“my”,而不是"DEVOPS“。

上面有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-24 03:04:09

要在模块中使用多个提供程序,我建议您设置模块中的所有提供程序。看一看链接。应该是这样的:

代码语言:javascript
复制
## Module

provider "azurerm" {}

provider "azurerm" {
  alias = "devopskv"
}

data "azurerm_key_vault" "kv" {
  name                = "my-kv"
  resource_group_name = "my-kv-rg"
  provider            = azurerm.devopskv
}

data "azurerm_key_vault_secret" "name" {
  name         = var.name
  key_vault_id = data.azurerm_key_vault.kv.id
  provider     = azurerm.devopskv
}

resource "azurerm_resource_group" "resource_group" {
  name     = data.azurerm_key_vault_secret.name.value
  location = var.location
  tags     = var.tags
}

此外,还需要在模块中设置变量以接受根级别的输入。如果你已经做过了,就忽略这个建议吧。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65426717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档