我想在 2 个区域和其他 2 个区域创建 acr,我想跳过?使用相同的 yaml 管道,我该如何实现?
像这样,我正在创建acr
# ---- create new resource group account
resource "azurerm_resource_group" "rg" {
name = var.resource_group_name
location = var.location
}
resource "azurerm_container_registry" "acr" {
name = var.azurerm_container_name
resource_group_name = var.resource_group_name
location = var.location
sku = var.sku
admin_enabled = var.admin_enabled
georeplication_locations = var.georeplication_locations
}
答案 0 :(得分:0)
使用 count
和 list
变量很容易解决您的问题,或者您可以使用 for_each
来解决它。
计数并列出:
variable "regions" {
default = [
"West US",
"East US"
]
}
variable "acr_names" {
default = [
"acr_west",
"acr_east"
]
}
resource "azurerm_container_registry" "acr" {
count = 2
name = element(var.acr_names, count.index)
resource_group_name = var.resource_group_name
location = element(var.regions, count.index)
sku = var.sku
admin_enabled = var.admin_enabled
georeplication_locations = var.georeplication_locations
}
For_each:
variable "acrs" {
default = {
acr_west = "West US",
acr_east = "East US"
}
resource "azurerm_container_registry" "acr" {
for_each = var.acrs
name = each.key
resource_group_name = var.resource_group_name
location = each.value
sku = var.sku
admin_enabled = var.admin_enabled
georeplication_locations = var.georeplication_locations
}
选择一个您喜欢解决问题的方法。