2023-10-23 10:44:10 -04:00

55 lines
930 B
HCL

# Variables
# =====================
variable "images" {
description = "Images definitions"
type = any
default = {}
}
variable "images_defaults" {
description = "Images default definitions"
type = map
default = {
pool = "default",
}
}
# Resources
# =====================
locals {
images = flatten(
[for dist_name, dist_config in var.images:
{
name = dist_name
format = try(dist_config.format, "")
file = try(dist_config.file, "${dist_name}.${dist_config.format}" , basename( dist_config.url ))
url = dist_config.url
pool = try(dist_config.pool, var.images_defaults.pool, "default")
}
]
)
}
module "volumes" {
source = "../virt_volumes"
volumes = local.images
volumes_defaults = var.images_defaults
}
# Outputs
# =====================
output "images" {
value = local.images
}
output "volumes" {
value = module.volumes.volumes
}