Terraform:来自 azurerm_subscriptions 的所有 Azure 订阅
Terraform: all Azure subscriptions from azurerm_subscriptions
早上好,
我正在使用 Terraform 0.12 和 Azure Provider 2.0.0。我有以下块来检索所有以“sub-”开头的订阅:
data "azurerm_subscriptions" "mgt" {
display_name_prefix = "sub-"
}
现在我想以某种方式从这个对象自动创建不同的“azurerm_subscription”对象。有什么方法可以遍历所有这些订阅并创建适当的“azurerm_subscription”对象吗?
谢谢!
您可以找到您订阅的索引,然后参考该索引:
data "azurerm_subscriptions" "available" {
}
locals {
subscription_index = index(data.azurerm_subscriptions.available.subscriptions.*.display_name, "mysubscription")
}
output "azurerm_subscription" {
value = element(data.azurerm_subscriptions.available.subscriptions, local.subscription_index)
}
您还可以从“azurerm_subscriptions”创建地图。
然后使用 for_each 创建“azurerm_subscription”,并使用名称引用特定数据:
locals {
subscriptions_map = {
for obj in data.azurerm_subscriptions.available.subscriptions.* : obj.display_name => obj
}
}
data "azurerm_subscription" "sub" {
for_each = local.subscriptions_map
subscription_id = each.value.subscription_id
}
output "data" {
value = data.azurerm_subscription.sub["mysubscription"].subscription_id
}
早上好,
我正在使用 Terraform 0.12 和 Azure Provider 2.0.0。我有以下块来检索所有以“sub-”开头的订阅:
data "azurerm_subscriptions" "mgt" {
display_name_prefix = "sub-"
}
现在我想以某种方式从这个对象自动创建不同的“azurerm_subscription”对象。有什么方法可以遍历所有这些订阅并创建适当的“azurerm_subscription”对象吗?
谢谢!
您可以找到您订阅的索引,然后参考该索引:
data "azurerm_subscriptions" "available" {
}
locals {
subscription_index = index(data.azurerm_subscriptions.available.subscriptions.*.display_name, "mysubscription")
}
output "azurerm_subscription" {
value = element(data.azurerm_subscriptions.available.subscriptions, local.subscription_index)
}
您还可以从“azurerm_subscriptions”创建地图。 然后使用 for_each 创建“azurerm_subscription”,并使用名称引用特定数据:
locals {
subscriptions_map = {
for obj in data.azurerm_subscriptions.available.subscriptions.* : obj.display_name => obj
}
}
data "azurerm_subscription" "sub" {
for_each = local.subscriptions_map
subscription_id = each.value.subscription_id
}
output "data" {
value = data.azurerm_subscription.sub["mysubscription"].subscription_id
}