早上好,
我使用的是带有Azure Provider 2.0.0的Terraform 0.12。我有以下代码块来检索所有以“sub-”开头的订阅:
data "azurerm_subscriptions" "mgt" {
display_name_prefix = "sub-"
}现在,我想以某种方式自动创建与此不同的“azurerm_subscription”对象。有没有办法遍历所有这些订阅并创建适当的“azurerm_subscription”对象?
谢谢!
发布于 2020-07-17 01:41:43
您可以找到订阅的索引,然后引用该索引:
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“,并使用name引用特定数据:
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
}https://stackoverflow.com/questions/62752925
复制相似问题