resource "proxmox_vm_qemu" "vm_student_00" { # LOOP the resource name name = "vm_00" # LOOP the name # Node name has to be the same name as within the cluster # this might not include the FQDN target_node = "pve" # The template name to clone this vm from clone = var.student_vm_template # Activate QEMU agent for this VM agent = 1 os_type = "cloud-init" vmid = 1000 # LOOP the vmid vm_state = "running" cpu { cores = 2 sockets = 1 type = "host" } memory = 2048 scsihw = "virtio-scsi-pci" # Setup the disk disks { scsi { scsi0 { # We have to specify the disk from our template, else Terraform will think it's not supposed to be there disk { storage = "local-lvm" # The size of the disk should be at least as big as the disk in the template. If it's smaller, the disk will be recreated size = "16G" } } } ide { # Some images require a cloud-init disk on the IDE controller, others on the SCSI or SATA controller ide1 { cloudinit { storage = "local-lvm" } } } } # Setup the network interface and assign a vlan tag: 256 network { id = 0 model = "virtio" bridge = "vmbr0" macaddr = "bc:24:11:de:c0:28" # LOOP the macaddres. each needs a unique one } boot = "order=scsi0" tags = "student,deb" # Setup the ip address using cloud-init. # Keep in mind to use the CIDR notation for the ip. ipconfig0 = "ip=10.11.12.199/24,gw=10.11.12.254" # LOOP the ipconfig. each needs a unique one ciuser = "sbxadmin" cicustom = "vendor=local:snippets/qemu-guest-agent.yml" # LOOP the cloud-init file if differences are needed ciupgrade = true sshkeys = var.petar_ssh_public_key }