terraform-provider-azure - 使用服务原则跨多个订阅部署 terraform 资源
问题描述
我有一个单一的服务原则。由于我的 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
}
解决方案
为了允许我们在多个订阅中创建资源,您可以通过使用aliases来使用多个 AzureRM 提供程序。您还可以在提供程序块中定义 SP 身份验证。然后你可以在特定的提供者中声明你的资源。
例如,使用别名vnet
azurerm 提供程序在该订阅中创建资源组。
resource "azurerm_resource_group" "test" {
provider = "azurerm.vnet"
name = var.rgname
location = var.location
}
在此处阅读更多详细信息。
推荐阅读
- phpstorm - 如果签名比定义的行长更长,如何修复 PhpStorm (2020.1.2) 中的函数声明格式?
- apache-kafka - Kafka中的retention.bytes是否限制每个副本的分区大小或分区的所有副本组合的大小?
- android - 空对象引用上的 onSaveInstanceState
- ios - React Native 在哪里可以找到 APPID
- arrays - 如何从 Typescript 中的数组中获取不同的值
- assembly - RISC-V 指令将脏缓存行写入下一级缓存
- vlc - 使用 VLC 到 RTSP 流屏幕捕获转码为 MJPEG
- postgresql - 如何防止使用 postgresql 自动转换时区?
- javascript - 使用 [key, object] 值迭代映射
- reactjs - 无法从反应 pod 向服务 pod 发出请求