Я не мог понять, как я могу l oop через сумму значений на карте ниже.
variable "images" {
default = {
"rhel-8-factory-os-ready" = {
"availability_zone" = "eu-fra-1ah"
"flavor" = 4
"instance_count" = 2
"image_name" = "rhel-8-factory-os-ready"
},
"rhel-7-factory-os-ready" = {
"availability_zone" = "eu-fra-1ai"
"instance_count" = 3
"flavor" = 3
"image_name" = "rhel-7-factory-os-ready"
},
"rhel-6-factory-os-ready" = {
"availability_zone" = "eu-fra-1ah"
"instance_count" = 3
"flavor" = 3
"image_name" = "rhel-6-factory-os-ready"
}
}
}
Здесь я должен пройти через сумму instance_count
атрибута из всех ключей и создать экземпляры на основе instance_count
.
Я мог бы вычислить сумму instance_count
, с нижеприведенными встроенными функциями.
locals {
list_sum = length(flatten([for i in var.images: range(i["instance_count"])]))
}
Как я могу пройти через переменная list_sum
и создание ресурсов на основе instance_count
?
Я создал списки ниже для создания ресурсов: *
locals {
list_images = tolist(keys(var.images))
list_instance_count = [for i in var.images: i["instance_count"]]
list_flavors = [for i in var.images: i["flavor"]]
list_image_names = [for i in var.images: i["image_name"]]
list_availability_zones = [for i in var.images: i["availability_zone"]]
}
Мой ресурс ::
resource "openstack_compute_instance_v2" "instance" {
count = local.list_sum
image_name = element(local.list_image_names, count.index +1 )
flavor_id = element(local.list_flavors, (count.index + 1) )
name = element(local.list_image_names, (count.index + 1) )
security_groups = var.security_group
availability_zone = element(local.list_availability_zones, (count.index + 1) )
key_pair = "foptst"
network {
name = var.network_name
}
}
К настоящему времени вы, возможно, знаете, что моя итерация неверна. Мой блок ресурсов должен создать количество ресурсов на основе instance_count var ie., 2 экземпляра rhel-8-factory-os-ready
, 3 экземпляров rhel-7-factory-os-ready
и 3 экземпляров rhel-6-factory-os-ready
.
из-за неправильного цикла Я не мог получить это. Было бы здорово, если бы кто-то мог помочь мне, как правильно выполнять итерации для создания ресурсов, как и ожидалось.
Заранее большое спасибо, Харша