# 1) Для каждой VM создаём snippet user-data (cloud-init) resource "proxmox_virtual_environment_file" "user_data" { for_each = local.vms content_type = "snippets" datastore_id = var.snippets_storage node_name = var.target_node source_raw { data = templatefile("${path.module}/cloud-init/user-data.yaml.tpl", { hostname = each.value.name }) file_name = "user-data-${each.value.name}.yaml" } } # 2) Создаём VM-ки и подцепляем user-data файл module "vm" { source = "../../../modules/proxmox/vm" for_each = local.vms name = each.value.name target_node = var.target_node template_id = var.template_id cpu = each.value.cpu cpu_type = try(each.value.cpu_type, "qemu64") memory = each.value.memory disk_size = each.value.disk_size storage = var.storage bridge = var.bridge osd_storage = try(each.value.osd_storage, null) osd_disks = try(each.value.osd_disks, []) user_data_file_id = proxmox_virtual_environment_file.user_data[each.key].id mac_address = each.value.mac }