使用服务原理跨多个订阅进行地形资源部署

问题描述

我有一个单一的服务原则。由于我的terraform代码需要访问订阅A和订阅B中存在的资源,因此我该如何执行,下面是我的提供者块。

 provider "azurerm" {
  features {}
    }
provider "azurerm" {
  alias   = "vnet"
  subscription_id = "0000"
  features {}
   }
data "azurerm_private_dns_zone" "foo" {
  provider            = azurerm.vnet
  name                = var.private_dnszonename
  resource_group_name = var.existing_dnsresourcegroup
          }  

解决方法

要允许我们在多个订阅中创建资源,您可以使用别名使用多个AzureRM提供程序。您也可以在提供程序块中定义SP身份验证。然后,您可以在特定的提供程序中声明资源。

例如,要在该订阅中使用别名vnet azurerm提供程序创建资源组。

resource "azurerm_resource_group" "test" {
  provider = "azurerm.vnet"
  name     = var.rgname                   
  location = var.location  
}

了解更多详细信息,here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...