--- # Supprime les VM du PoC (le modèle est conservé, sauf -e destroy_template=true). - name: Détruire les VM du PoC hosts: proxmox gather_facts: false vars_prompt: - name: confirm prompt: "Taper 'detruire' pour supprimer les VM {{ groups['poc_vms'] | unique | join(', ') }}" private: false tasks: - name: Abandon sans confirmation ansible.builtin.meta: end_play when: confirm != 'detruire' - name: Arrêter et supprimer les VM ansible.builtin.shell: | if qm status {{ hostvars[item].vm_id }} >/dev/null 2>&1; then qm stop {{ hostvars[item].vm_id }} --skiplock 1 || true qm destroy {{ hostvars[item].vm_id }} --purge 1 --destroy-unreferenced-disks 1 echo destroyed fi register: destroy changed_when: "'destroyed' in destroy.stdout" loop: "{{ groups['poc_vms'] | unique }}" - name: Supprimer le modèle ansible.builtin.shell: | if qm status {{ pve_template_vmid }} >/dev/null 2>&1; then qm destroy {{ pve_template_vmid }} --purge 1 && echo destroyed fi register: tpl_destroy changed_when: "'destroyed' in tpl_destroy.stdout" when: destroy_template | default(false) | bool - name: Oublier les IP DHCP mémorisées ansible.builtin.file: path: "{{ inventory_dir }}/host_vars/{{ item }}/dhcp.yml" state: absent loop: "{{ groups['poc_vms'] | unique }}" delegate_to: localhost become: false