terraform { required_providers { proxmox = { source = "bpg/proxmox" version = "0.86.0" } } } resource "proxmox_virtual_environment_vm" "talos-node" { vm_id = var.node.id name = var.node.name node_name = var.node.proxmox_node tags = ["tofu"] clone { vm_id = 10000 + tonumber(replace(var.node.talos_version, ".", "")) } cpu { cores = var.node.cpu sockets = 1 type = "x86-64-v2-AES" } memory { dedicated = var.node.memory * 1024 } disk { datastore_id = var.node.storagepool interface = "virtio0" size = var.node.disk file_format = "raw" } dynamic "disk" { for_each = tolist(var.pvc_disks) content { datastore_id = "nvme-fastpool" interface = "virtio${disk.key + 1}" size = disk.value file_format = "raw" } } initialization { datastore_id = var.node.storagepool ip_config { ipv4 { address = format("%s/24", var.node.ipv4_address) gateway = var.node.ipv4_gateway } } dns { servers = ["192.168.1.2"] } } }