--- # Supprime les VM du PoC (le modèle est conservé, sauf -e destroy_template=true). - name: Détruire les VM du PoC hosts: proxmox connection: local gather_facts: false vars: ansible_become: false ansible_python_interpreter: "{{ ansible_playbook_python }}" module_defaults: group/community.proxmox.proxmox: api_host: "{{ ansible_host }}" api_user: "{{ pve_api_user }}" api_token_id: "{{ pve_api_token_id if pve_api_token_secret | length > 0 else omit }}" api_token_secret: "{{ pve_api_token_secret if pve_api_token_secret | length > 0 else omit }}" api_password: "{{ pve_api_password if pve_api_token_secret | length == 0 else omit }}" validate_certs: "{{ pve_validate_certs }}" 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 (API) community.proxmox.proxmox_kvm: node: "{{ pve_node }}" vmid: "{{ hostvars[item].vm_id }}" state: absent force: true timeout: 300 loop: "{{ groups['poc_vms'] | unique }}" - name: Supprimer le modèle (seulement s'il a été créé par le PoC) community.proxmox.proxmox_kvm: node: "{{ pve_node }}" vmid: "{{ pve_template_vmid }}" state: absent when: - destroy_template | default(false) | bool - pve_template_create | 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 }}"