{ "slug": "proxmox-vm-qemu", "kind": "terraform", "metadata": { "name": "Proxmox VM (QEMU)", "description": "Creates a Proxmox virtual machine from a cloud-init-ready template with configurable clone, CPU, memory, disk, networking, and guest settings.", "tags": [], "icon": { "provider": "selfhst", "id": "proxmox" }, "draft": false, "version": { "name": "3.0.2-rc07", "source_dep_name": "telmate/proxmox", "source_dep_version": "3.0.2-rc07" } }, "variables": [ { "title": "Terraform", "name": "terraform", "items": [ { "name": "resource_name", "type": "str", "title": "Resource Name", "required": false, "default": "vmqemu", "config": { "placeholder": "vmqemu" } } ] }, { "title": "VM Identity", "name": "identity", "items": [ { "name": "vm_name", "type": "str", "title": "Proxmox VM name", "required": true, "config": { "placeholder": "servername" } }, { "name": "vm_id", "type": "str", "title": "Proxmox VMID", "required": false, "config": { "placeholder": "20001" } }, { "name": "description", "type": "str", "title": "VM description", "required": false, "config": { "placeholder": "Application server", "textarea": true } }, { "name": "tags", "type": "str", "title": "Tags", "required": false, "config": { "placeholder": "docker" } }, { "name": "target_node", "type": "str", "title": "Target Node", "required": true, "description": "Proxmox node that will host the VM.", "config": { "placeholder": "proxmox-node" } } ] }, { "title": "Clone Configuration", "name": "clone", "items": [ { "name": "clone_template", "type": "str", "title": "Template", "required": true, "description": "Source template name to clone", "config": { "placeholder": "pkr-ubuntu-noble-1" } }, { "name": "full_clone", "type": "bool", "title": "Full Clone", "required": false, "default": true, "description": "Create a full clone instead of a linked clone" } ] }, { "title": "Boot Settings", "name": "guest", "items": [ { "name": "onboot", "type": "bool", "title": "Auto Start", "required": false, "default": true, "description": "Start the VM automatically with the node." }, { "name": "startup", "type": "str", "title": "Startup", "required": false, "description": "Proxmox startup order and delay string", "config": { "placeholder": "order=1,up=10" } }, { "name": "automatic_reboot", "type": "bool", "title": "Auto Reboot", "required": false, "default": false, "description": "Allow provider-triggered automatic reboot on change" }, { "name": "ci_user", "type": "str", "title": "Cloud-init user", "required": false, "default": "admin", "config": { "placeholder": "admin" } }, { "name": "ssh_key", "type": "str", "title": "SSH Key", "required": false, "description": "SSH public key passed to cloud-init", "config": { "placeholder": "SSH public key", "textarea": true } }, { "name": "ipconfig0", "type": "str", "title": "Network Config", "required": false, "default": "ip=dhcp", "description": "Cloud-init network config for the first NIC", "config": { "placeholder": "ip=IP_ADDRESS/24,gw=GATEWAY" } }, { "name": "nameserver", "type": "str", "title": "Nameserver", "required": false, "description": "DNS server for guest cloud-init config", "config": { "placeholder": "DNS_SERVER" } } ] }, { "title": "Compute", "name": "compute", "items": [ { "name": "cpu_cores", "type": "int", "title": "CPU Cores", "required": false, "default": 2, "config": { "slider": true, "min": 1, "max": 32, "step": 1, "placeholder": "2", "unit": "cores" } }, { "name": "cpu_sockets", "type": "int", "title": "CPU Sockets", "required": false, "default": 1, "config": { "slider": true, "min": 1, "max": 8, "step": 1, "placeholder": "1", "unit": "sockets" } }, { "name": "cpu_type", "type": "str", "title": "Proxmox CPU type", "required": false, "default": "host", "description": "CPU type to use in Proxmox.", "config": { "placeholder": "host" } }, { "name": "memory_mb", "type": "int", "title": "Memory", "required": false, "default": 4096, "config": { "slider": true, "min": 512, "max": 262144, "step": 512, "placeholder": "4096", "unit": "MB" } }, { "name": "bios", "type": "enum", "title": "VM BIOS type", "required": false, "default": "seabios", "description": "BIOS type for the VM.", "config": { "options": [ "seabios", "ovmf" ] } }, { "name": "qemu_os", "type": "str", "title": "QEMU OS type", "required": false, "default": "other", "description": "Guest OS type for QEMU.", "config": { "placeholder": "other" } } ] }, { "title": "Storage and Network", "name": "storage-network", "items": [ { "name": "bridge", "type": "str", "title": "Bridge", "required": false, "default": "vmbr1", "description": "Proxmox bridge for the first NIC", "config": { "placeholder": "vmbr1" } }, { "name": "network_model", "type": "str", "title": "NIC model", "required": false, "default": "virtio", "description": "Network adapter model.", "config": { "placeholder": "virtio" } }, { "name": "disk_storage", "type": "str", "title": "Disk Storage", "required": false, "default": "local-lvm", "description": "Storage pool for the main disk", "config": { "placeholder": "local-lvm" } }, { "name": "cloudinit_storage", "type": "str", "title": "Cloud-init Storage", "required": false, "default": "local-lvm", "description": "Storage pool for the cloud-init disk", "config": { "placeholder": "local-lvm" } }, { "name": "disk_size_gb", "type": "int", "title": "Disk Size", "required": false, "default": 32, "description": "Main disk size in GB", "config": { "slider": true, "min": 8, "max": 4096, "step": 1, "placeholder": "32", "unit": "GB" } }, { "name": "disk_iothread", "type": "bool", "title": "IO Thread", "required": false, "default": true }, { "name": "disk_replicate", "type": "bool", "title": "Disk Replication", "required": false, "default": true } ] } ] }