Refactor VM ID existence check in preflight tasks to use JSON output format

This commit is contained in:
2025-12-03 17:43:55 +01:00
parent 80a592c9eb
commit 7f6d7fb418

View File

@@ -77,17 +77,27 @@
failed_when: false
register: vm_id_check
- name: "[PREFLIGHT] Check if VM ID exists in Proxmox cluster"
ansible.builtin.command: "pvesh get /cluster/resources --type vm"
- name: "[PREFLIGHT] Query VM list from cluster"
ansible.builtin.command: >
pvesh get /cluster/resources
--type vm
--output-format json
register: cluster_vms
changed_when: false
failed_when: false
- name: "[PREFLIGHT] Determine if VM ID is already used"
ansible.builtin.set_fact:
vm_id_exists: "{{ cluster_vms.stdout | from_json | selectattr('vmid', 'equalto', vm_id) | list | length > 0 }}"
- name: "[PREFLIGHT] Determine if VM ID exists"
set_fact:
vm_id_exists: >-
{{
(cluster_vms.stdout | from_json)
| selectattr('vmid', 'equalto', vm_id)
| list
| length > 0
}}
- name: "[PREFLIGHT] Fail if VM ID already exists"
ansible.builtin.fail:
- name: "[PREFLIGHT] Fail if VM ID exists"
fail:
msg: "VM ID {{ vm_id }} already exists in the Proxmox cluster!"
when: vm_id_exists