--- - hosts: proxmox become: yes tasks: - name: Delete existing template community.general.proxmox_kvm: api_host: "{{ api_host }}" api_user: "{{ api_user }}" api_password: "{{ api_password }}" node: "{{ node_target }}" name: "debian-12-generic-amd64" state: absent - name: Download cloud-init image register: image ansible.builtin.get_url: url: "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2" dest: /tmp mode: '0644' force: true - name: Install Tools ansible.builtin.apt: name: - libguestfs-tools - python3 - python3-pip - python3-proxmoxer update_cache: true install_recommends: false state: present - name: Install Tools to cloud-init image ansible.builtin.shell: | virt-customize -a {{ image.dest }} --install qemu-guest-agent virt-customize -a {{ image.dest }} --install vim virt-customize -a {{ image.dest }} --install git - name: Create new VM template from cloud-init image community.general.proxmox_kvm: api_host: "{{ api_host }}" api_user: "{{ api_user }}" # api_password: "{{ api_password }}" api_token_id: "{{ api_token_id }}" api_token_secret: "{{ api_token_secret }}" api_port: "8006" node: "{{ node_target }}" name: "debian-12-generic-amd64" agent: "enabled=1" bios: ovmf boot: 'order=scsi0' cores: 4 sockets: 1 machine: q35 memory: 4096 ostype: "l26" vga: std scsihw: 'virtio-scsi-single' #scsi: #scsi0: "{{ storage_target }}:0,iothread=1,discard=on,import-from={{ image.dest }},format=raw" #scsi0: "{{ storage_target }}:0,import-from=/tmp/debian-12-generic-amd64.qcow2,format=raw" net: net0: 'virtio,bridge=vmbr0,firewall=1,tag=10' ipconfig: ipconfig0: 'ip=dhcp' template: true timeout: 600 vmid: 10000 # - name: Pause for 5 seconds while template imported # ansible.builtin.pause: # seconds: 10 - name: Import HDD to Template command: cmd: "qm set 10000 --scsi0 {{ storage_target }}:0,iothread=1,discard=on,import-from=/tmp/debian-12-generic-amd64.qcow2,format=raw"