diff --git a/roles/proxmox/tasks/info/vm.yml b/roles/proxmox/tasks/info/vm.yml new file mode 100644 index 0000000..9c09664 --- /dev/null +++ b/roles/proxmox/tasks/info/vm.yml @@ -0,0 +1,17 @@ +--- +- name: Proxmox VM Info + community.general.proxmox_vm_info: + api_host: "{{ vm_info.api_host }}" + api_password: "{{ vm_info.api_password | default(omit, true) }}" + api_port: "{{ vm_info.api_port | default(omit, true) }}" + api_token_id: "{{ vm_info.api_token_id | default(omit, true) }}" + api_token_secret: "{{ vm_info.api_token_secret | default(omit, true) }}" + api_user: "{{ vm_info.api_user }}" + config: "{{ vm_info.config | default(omit, true) }}" + name: "{{ vm_info.name | default(omit, true) }}" + network: "{{ vm_info.network | default(omit, true) }}" + node: "{{ vm_info.node | default(omit, true) }}" + type: "{{ vm_info.type | default(omit, true) }}" + validate_certs: "{{ vm_info.validate_certs | default(omit, true) }}" + vmid: "{{ vm_info.vmid | default(omit, true) }}" + register: proxmox__info_vm \ No newline at end of file diff --git a/roles/proxmox/tasks/qemu.yml b/roles/proxmox/tasks/qemu.yml index fc84056..3ce873e 100644 --- a/roles/proxmox/tasks/qemu.yml +++ b/roles/proxmox/tasks/qemu.yml @@ -1,23 +1,25 @@ --- - name: Proxmox QEMU Item block: - - name: "Include QEMU VM Tasks - Index: {{ proxmox_qemu_item_index }}" + - name: "Include QEMU VM Tasks - Index: {{ proxmox__qemu_item_index }}" ansible.builtin.include_tasks: file: qemu/vm.yml vars: qemu_vm: "{{ __proxmox__module_vars | combine(proxmox__qemu_item) }}" when: proxmox__qemu_item.entry__type == 'qemu_vm' - - name: "Include QEMU NIC Tasks - Index: {{ proxmox_qemu_item_index }}" + - name: "Include QEMU NIC Tasks - Index: {{ proxmox__qemu_item_index }}" ansible.builtin.include_tasks: file: qemu/nic.yml vars: qemu_nic: "{{ __proxmox__module_vars | combine(proxmox__qemu_item) }}" when: proxmox__qemu_item.entry__type == 'qemu_nic' - - name: "Include QEMU DISK Tasks - Index: {{ proxmox_qemu_item_index }}" + - name: "Include QEMU DISK Tasks - Index: {{ proxmox__qemu_item_index }}" ansible.builtin.include_tasks: file: qemu/disk.yml vars: qemu_disk: "{{ __proxmox__module_vars | combine(proxmox__qemu_item) }}" when: proxmox__qemu_item.entry__type == 'qemu_disk' + + delegate_to: localhost diff --git a/roles/proxmox/tasks/qemu/disk.yml b/roles/proxmox/tasks/qemu/disk.yml index 7d38323..f826df1 100644 --- a/roles/proxmox/tasks/qemu/disk.yml +++ b/roles/proxmox/tasks/qemu/disk.yml @@ -1,5 +1,5 @@ --- -- name: Proxmox QEMU Disk +- name: Proxmox QEMU DISK community.general.proxmox_disk: aio: "{{ qemu_disk.aio | default(omit, true) }}" api_host: "{{ qemu_disk.api_host | default(omit, true) }}" diff --git a/roles/proxmox/tasks/qemu/nic.yml b/roles/proxmox/tasks/qemu/nic.yml index af1c523..ccefad9 100644 --- a/roles/proxmox/tasks/qemu/nic.yml +++ b/roles/proxmox/tasks/qemu/nic.yml @@ -1,5 +1,5 @@ --- -- name: Proxmox QEMU Nic +- name: Proxmox QEMU NIC community.general.proxmox_nic: api_host: "{{ qemu_nic.api_host }}" api_password: "{{ qemu_nic.api_password | default(omit, true) }}" diff --git a/roles/proxmox/tasks/qemu/vm.yml b/roles/proxmox/tasks/qemu/vm.yml index 3e3184d..0e7e4a9 100644 --- a/roles/proxmox/tasks/qemu/vm.yml +++ b/roles/proxmox/tasks/qemu/vm.yml @@ -1,199 +1,124 @@ --- -- name: Proxmox QEMU VM - ansible.builtin.debug: - msg: - raw: "{{ qemu_vm }}" - gathered_module_vars: "{{ gathered }}" +- name: Assert VMID or NAME is defined + ansible.builtin.assert: + that: qemu_vm.vmid is defined or qemu_vm.name is defined + fail_msg: "VMID or NAME is not defined." + success_msg: "VMID or NAME is defined." + register: proxmox__assert_qemu_vm_identifier + +- name: Assert NODE is defined when STATE is present + ansible.builtin.assert: + that: qemu_vm.node | default('', true) != '' + fail_msg: "NODE is not defined. Errors will be ignored, we will try to find it." + success_msg: "NODE is defined when state is present" + when: qemu_vm.state | default('present', true) == 'present' + ignore_errors: true + register: proxmox__assert_qemu_vm_node + +- name: Include VM Info Task if state is present and node is not defined + ansible.builtin.include_tasks: + file: info/vm.yml vars: - gathered: - acpi: "{{ qemu_vm.acpi | default(omit, true) }}" - agent: "{{ qemu_vm.agent | default(omit, true) }}" - api_host: "{{ qemu_vm.api_host }}" - api_password: "{{ qemu_vm.api_password | default(omit, true) }}" - api_port: "{{ qemu_vm.api_port | default(omit, true) }}" - api_token_id: "{{ qemu_vm.api_token_id | default(omit, true) }}" - api_token_secret: "{{ qemu_vm.api_token_secret | default(omit, true) }}" - api_user: "{{ qemu_vm.api_user }}" - archive: "{{ qemu_vm.archive | default(omit, true) }}" - args: "{{ qemu_vm.args | default(omit, true) }}" - autostart: "{{ qemu_vm.autostart | default(omit, true) }}" - balloon: "{{ qemu_vm.balloon | default(omit, true) }}" - bios: "{{ qemu_vm.bios | default(omit, true) }}" - boot: "{{ qemu_vm.boot | default(omit, true) }}" - bootdisk: "{{ qemu_vm.bootdisk | default(omit, true) }}" - cicustom: "{{ qemu_vm.cicustom | default(omit, true) }}" - cipassword: "{{ qemu_vm.cipassword | default(omit, true) }}" - citype: "{{ qemu_vm.citype | default(omit, true) }}" - ciuser: "{{ qemu_vm.ciuser | default(omit, true) }}" - clone: "{{ qemu_vm.clone | default(omit, true) }}" - cores: "{{ qemu_vm.cores | default(omit, true) }}" - cpu: "{{ qemu_vm.cpu | default(omit, true) }}" - cpulimit: "{{ qemu_vm.cpulimit | default(omit, true) }}" - cpuunits: "{{ qemu_vm.cpuunits | default(omit, true) }}" - delete: "{{ qemu_vm.delete | default(omit, true) }}" - description: "{{ qemu_vm.description | default(omit, true) }}" - digest: "{{ qemu_vm.digest | default(omit, true) }}" - efidisk0: "{{ qemu_vm.efidisk0 | default(omit, true) }}" - force: "{{ qemu_vm.force | default(omit, true) }}" - format: "{{ qemu_vm.format | default(omit, true) }}" - freeze: "{{ qemu_vm.freeze | default(omit, true) }}" - full: "{{ qemu_vm.full | default(omit, true) }}" - hookscript: "{{ qemu_vm.hookscript | default(omit, true) }}" - hostpci: "{{ qemu_vm.hostpci | default(omit, true) }}" - hotplug: "{{ qemu_vm.hotplug | default(omit, true) }}" - hugepages: "{{ qemu_vm.hugepages | default(omit, true) }}" - ide: "{{ qemu_vm.ide | default(omit, true) }}" - ipconfig: "{{ qemu_vm.ipconfig | default(omit, true) }}" - keyboard: "{{ qemu_vm.keyboard | default(omit, true) }}" - kvm: "{{ qemu_vm.kvm | default(omit, true) }}" - localtime: "{{ qemu_vm.localtime | default(omit, true) }}" - lock: "{{ qemu_vm.lock | default(omit, true) }}" - machine: "{{ qemu_vm.machine | default(omit, true) }}" - memory: "{{ qemu_vm.memory | default(omit, true) }}" - migrate: "{{ qemu_vm.migrate | default(omit, true) }}" - migrate_downtime: "{{ qemu_vm.migrate_downtime | default(omit, true) }}" - migrate_speed: "{{ qemu_vm.migrate_speed | default(omit, true) }}" - name: "{{ qemu_vm.name | default(omit, true) }}" - nameservers: "{{ qemu_vm.nameservers | default(omit, true) }}" - net: "{{ qemu_vm.net | default(omit, true) }}" - newid: "{{ qemu_vm.newid | default(omit, true) }}" - node: "{{ qemu_vm.node | default(omit, true) }}" - numa: "{{ qemu_vm.numa | default(omit, true) }}" - numa_enabled: "{{ qemu_vm.numa_enabled | default(omit, true) }}" - onboot: "{{ qemu_vm.onboot | default(omit, true) }}" - ostype: "{{ qemu_vm.ostype | default(omit, true) }}" - parallel: "{{ qemu_vm.parallel | default(omit, true) }}" - pool: "{{ qemu_vm.pool | default(omit, true) }}" - protection: "{{ qemu_vm.protection | default(omit, true) }}" - proxmox_default_behavior: "{{ qemu_vm.proxmox_default_behavior | default(omit, true) }}" - reboot: "{{ qemu_vm.reboot | default(omit, true) }}" - revert: "{{ qemu_vm.revert | default(omit, true) }}" - sata: "{{ qemu_vm.sata | default(omit, true) }}" - scsi: "{{ qemu_vm.scsi | default(omit, true) }}" - scsihw: "{{ qemu_vm.scsihw | default(omit, true) }}" - searchdomains: "{{ qemu_vm.searchdomains | default(omit, true) }}" - serial: "{{ qemu_vm.serial | default(omit, true) }}" - shares: "{{ qemu_vm.shares | default(omit, true) }}" - skiplock: "{{ qemu_vm.skiplock | default(omit, true) }}" - smbios: "{{ qemu_vm.smbios | default(omit, true) }}" - snapname: "{{ qemu_vm.snapname | default(omit, true) }}" - sockets: "{{ qemu_vm.sockets | default(omit, true) }}" - sshkeys: "{{ qemu_vm.sshkeys | default(omit, true) }}" - startdate: "{{ qemu_vm.startdate | default(omit, true) }}" - startup: "{{ qemu_vm.startup | default(omit, true) }}" - state: "{{ qemu_vm.state | default(omit, true) }}" - storage: "{{ qemu_vm.storage | default(omit, true) }}" - tablet: "{{ qemu_vm.tablet | default(omit, true) }}" - tags: "{{ qemu_vm.tags | default(omit, true) }}" - target: "{{ qemu_vm.target | default(omit, true) }}" - tdf: "{{ qemu_vm.tdf | default(omit, true) }}" - template: "{{ qemu_vm.template | default(omit, true) }}" - timeout: "{{ qemu_vm.timeout | default(omit, true) }}" - tpmstate0: "{{ qemu_vm.tpmstate0 | default(omit, true) }}" - update: "{{ omit if qemu_vm['update'] is undefined else 'YEYEYE' }}" - update__ret: "{{ lookup('ansible.builtin.vars', 'qemu_vm.update', default=omit) }}" - update_unsafe: "{{ qemu_vm.update_unsafe | default(omit, true) }}" - usb: "{{ qemu_vm.usb | default(omit, true) }}" - validate_certs: "{{ qemu_vm.validate_certs | default(omit, true) }}" - vcpus: "{{ qemu_vm.vcpus | default(omit, true) }}" - vga: "{{ qemu_vm.vga | default(omit, true) }}" - virtio: "{{ qemu_vm.virtio | default(omit, true) }}" - vmid: "{{ qemu_vm.vmid | default(omit, true) }}" - watchdog: "{{ qemu_vm.watchdog | default(omit, true) }}" + vm_info: "{{ qemu_vm }}" + when: proxmox__assert_qemu_vm_node is failed -# - name: Proxmox QEMU VM -# community.general.proxmox_kvm: -# acpi: "{{ qemu_vm.acpi | default(omit, true) }}" -# agent: "{{ qemu_vm.agent | default(omit, true) }}" -# api_host: "{{ qemu_vm.api_host }}" -# api_password: "{{ qemu_vm.api_password | default(omit, true) }}" -# api_port: "{{ qemu_vm.api_port | default(omit, true) }}" -# api_token_id: "{{ qemu_vm.api_token_id | default(omit, true) }}" -# api_token_secret: "{{ qemu_vm.api_token_secret | default(omit, true) }}" -# api_user: "{{ qemu_vm.api_user }}" -# archive: "{{ qemu_vm.archive | default(omit, true) }}" -# args: "{{ qemu_vm.args | default(omit, true) }}" -# autostart: "{{ qemu_vm.autostart | default(omit, true) }}" -# balloon: "{{ qemu_vm.balloon | default(omit, true) }}" -# bios: "{{ qemu_vm.bios | default(omit, true) }}" -# boot: "{{ qemu_vm.boot | default(omit, true) }}" -# bootdisk: "{{ qemu_vm.bootdisk | default(omit, true) }}" -# cicustom: "{{ qemu_vm.cicustom | default(omit, true) }}" -# cipassword: "{{ qemu_vm.cipassword | default(omit, true) }}" -# citype: "{{ qemu_vm.citype | default(omit, true) }}" -# ciuser: "{{ qemu_vm.ciuser | default(omit, true) }}" -# clone: "{{ qemu_vm.clone | default(omit, true) }}" -# cores: "{{ qemu_vm.cores | default(omit, true) }}" -# cpu: "{{ qemu_vm.cpu | default(omit, true) }}" -# cpulimit: "{{ qemu_vm.cpulimit | default(omit, true) }}" -# cpuunits: "{{ qemu_vm.cpuunits | default(omit, true) }}" -# delete: "{{ qemu_vm.delete | default(omit, true) }}" -# description: "{{ qemu_vm.description | default(omit, true) }}" -# digest: "{{ qemu_vm.digest | default(omit, true) }}" -# efidisk0: "{{ qemu_vm.efidisk0 | default(omit, true) }}" -# force: "{{ qemu_vm.force | default(omit, true) }}" -# format: "{{ qemu_vm.format | default(omit, true) }}" -# freeze: "{{ qemu_vm.freeze | default(omit, true) }}" -# full: "{{ qemu_vm.full | default(omit, true) }}" -# hookscript: "{{ qemu_vm.hookscript | default(omit, true) }}" -# hostpci: "{{ qemu_vm.hostpci | default(omit, true) }}" -# hotplug: "{{ qemu_vm.hotplug | default(omit, true) }}" -# hugepages: "{{ qemu_vm.hugepages | default(omit, true) }}" -# ide: "{{ qemu_vm.ide | default(omit, true) }}" -# ipconfig: "{{ qemu_vm.ipconfig | default(omit, true) }}" -# keyboard: "{{ qemu_vm.keyboard | default(omit, true) }}" -# kvm: "{{ qemu_vm.kvm | default(omit, true) }}" -# localtime: "{{ qemu_vm.localtime | default(omit, true) }}" -# lock: "{{ qemu_vm.lock | default(omit, true) }}" -# machine: "{{ qemu_vm.machine | default(omit, true) }}" -# memory: "{{ qemu_vm.memory | default(omit, true) }}" -# migrate: "{{ qemu_vm.migrate | default(omit, true) }}" -# migrate_downtime: "{{ qemu_vm.migrate_downtime | default(omit, true) }}" -# migrate_speed: "{{ qemu_vm.migrate_speed | default(omit, true) }}" -# name: "{{ qemu_vm.name | default(omit, true) }}" -# nameservers: "{{ qemu_vm.nameservers | default(omit, true) }}" -# net: "{{ qemu_vm.net | default(omit, true) }}" -# newid: "{{ qemu_vm.newid | default(omit, true) }}" -# node: "{{ qemu_vm.node | default(omit, true) }}" -# numa: "{{ qemu_vm.numa | default(omit, true) }}" -# numa_enabled: "{{ qemu_vm.numa_enabled | default(omit, true) }}" -# onboot: "{{ qemu_vm.onboot | default(omit, true) }}" -# ostype: "{{ qemu_vm.ostype | default(omit, true) }}" -# parallel: "{{ qemu_vm.parallel | default(omit, true) }}" -# pool: "{{ qemu_vm.pool | default(omit, true) }}" -# protection: "{{ qemu_vm.protection | default(omit, true) }}" -# proxmox_default_behavior: "{{ qemu_vm.proxmox_default_behavior | default(omit, true) }}" -# reboot: "{{ qemu_vm.reboot | default(omit, true) }}" -# revert: "{{ qemu_vm.revert | default(omit, true) }}" -# sata: "{{ qemu_vm.sata | default(omit, true) }}" -# scsi: "{{ qemu_vm.scsi | default(omit, true) }}" -# scsihw: "{{ qemu_vm.scsihw | default(omit, true) }}" -# searchdomains: "{{ qemu_vm.searchdomains | default(omit, true) }}" -# serial: "{{ qemu_vm.serial | default(omit, true) }}" -# shares: "{{ qemu_vm.shares | default(omit, true) }}" -# skiplock: "{{ qemu_vm.skiplock | default(omit, true) }}" -# smbios: "{{ qemu_vm.smbios | default(omit, true) }}" -# snapname: "{{ qemu_vm.snapname | default(omit, true) }}" -# sockets: "{{ qemu_vm.sockets | default(omit, true) }}" -# sshkeys: "{{ qemu_vm.sshkeys | default(omit, true) }}" -# startdate: "{{ qemu_vm.startdate | default(omit, true) }}" -# startup: "{{ qemu_vm.startup | default(omit, true) }}" -# state: "{{ qemu_vm.state | default(omit, true) }}" -# storage: "{{ qemu_vm.storage | default(omit, true) }}" -# tablet: "{{ qemu_vm.tablet | default(omit, true) }}" -# tags: "{{ qemu_vm.tags | default(omit, true) }}" -# target: "{{ qemu_vm.target | default(omit, true) }}" -# tdf: "{{ qemu_vm.tdf | default(omit, true) }}" -# template: "{{ qemu_vm.template | default(omit, true) }}" -# timeout: "{{ qemu_vm.timeout | default(omit, true) }}" -# tpmstate0: "{{ qemu_vm.tpmstate0 | default(omit, true) }}" -# update: "{{ qemu_vm.update | default(omit, true) }}" -# update_unsafe: "{{ qemu_vm.update_unsafe | default(omit, true) }}" -# usb: "{{ qemu_vm.usb | default(omit, true) }}" -# validate_certs: "{{ qemu_vm.validate_certs | default(omit, true) }}" -# vcpus: "{{ qemu_vm.vcpus | default(omit, true) }}" -# vga: "{{ qemu_vm.vga | default(omit, true) }}" -# virtio: "{{ qemu_vm.virtio | default(omit, true) }}" -# vmid: "{{ qemu_vm.vmid | default(omit, true) }}" -# watchdog: "{{ qemu_vm.watchdog | default(omit, true) }}" -# register: proxmox__apply_qemu_vm \ No newline at end of file +- name: Proxmox QEMU VM + community.general.proxmox_kvm: + acpi: "{{ qemu_vm.acpi | default(omit, true) }}" + agent: "{{ qemu_vm.agent | default(omit, true) }}" + api_host: "{{ qemu_vm.api_host }}" + api_password: "{{ qemu_vm.api_password | default(omit, true) }}" + api_port: "{{ qemu_vm.api_port | default(omit, true) }}" + api_token_id: "{{ qemu_vm.api_token_id | default(omit, true) }}" + api_token_secret: "{{ qemu_vm.api_token_secret | default(omit, true) }}" + api_user: "{{ qemu_vm.api_user }}" + archive: "{{ qemu_vm.archive | default(omit, true) }}" + args: "{{ qemu_vm.args | default(omit, true) }}" + autostart: "{{ qemu_vm.autostart | default(omit, true) }}" + balloon: "{{ qemu_vm.balloon | default(omit, true) }}" + bios: "{{ qemu_vm.bios | default(omit, true) }}" + boot: "{{ qemu_vm.boot | default(omit, true) }}" + bootdisk: "{{ qemu_vm.bootdisk | default(omit, true) }}" + cicustom: "{{ qemu_vm.cicustom | default(omit, true) }}" + cipassword: "{{ qemu_vm.cipassword | default(omit, true) }}" + citype: "{{ qemu_vm.citype | default(omit, true) }}" + ciuser: "{{ qemu_vm.ciuser | default(omit, true) }}" + clone: "{{ qemu_vm.clone | default(omit, true) }}" + cores: "{{ qemu_vm.cores | default(omit, true) }}" + cpu: "{{ qemu_vm.cpu | default(omit, true) }}" + cpulimit: "{{ qemu_vm.cpulimit | default(omit, true) }}" + cpuunits: "{{ qemu_vm.cpuunits | default(omit, true) }}" + delete: "{{ qemu_vm.delete | default(omit, true) }}" + description: "{{ qemu_vm.description | default(omit, true) }}" + digest: "{{ qemu_vm.digest | default(omit, true) }}" + efidisk0: "{{ qemu_vm.efidisk0 | default(omit, true) }}" + force: "{{ qemu_vm.force | default(omit, true) }}" + format: "{{ qemu_vm.format | default(omit, true) }}" + freeze: "{{ qemu_vm.freeze | default(omit, true) }}" + full: "{{ qemu_vm.full | default(omit, true) }}" + hookscript: "{{ qemu_vm.hookscript | default(omit, true) }}" + hostpci: "{{ qemu_vm.hostpci | default(omit, true) }}" + hotplug: "{{ qemu_vm.hotplug | default(omit, true) }}" + hugepages: "{{ qemu_vm.hugepages | default(omit, true) }}" + ide: "{{ qemu_vm.ide | default(omit, true) }}" + ipconfig: "{{ qemu_vm.ipconfig | default(omit, true) }}" + keyboard: "{{ qemu_vm.keyboard | default(omit, true) }}" + kvm: "{{ qemu_vm.kvm | default(omit, true) }}" + localtime: "{{ qemu_vm.localtime | default(omit, true) }}" + lock: "{{ qemu_vm.lock | default(omit, true) }}" + machine: "{{ qemu_vm.machine | default(omit, true) }}" + memory: "{{ qemu_vm.memory | default(omit, true) }}" + migrate: "{{ qemu_vm.migrate | default(omit, true) }}" + migrate_downtime: "{{ qemu_vm.migrate_downtime | default(omit, true) }}" + migrate_speed: "{{ qemu_vm.migrate_speed | default(omit, true) }}" + name: "{{ qemu_vm.name | default(omit, true) }}" + nameservers: "{{ qemu_vm.nameservers | default(omit, true) }}" + net: "{{ qemu_vm.net | default(omit, true) }}" + newid: "{{ qemu_vm.newid | default(omit, true) }}" + node: "{{ info_vm_node | default((qemu_vm.node | default(omit, true)), true) }}" + numa: "{{ qemu_vm.numa | default(omit, true) }}" + numa_enabled: "{{ qemu_vm.numa_enabled | default(omit, true) }}" + onboot: "{{ qemu_vm.onboot | default(omit, true) }}" + ostype: "{{ qemu_vm.ostype | default(omit, true) }}" + parallel: "{{ qemu_vm.parallel | default(omit, true) }}" + pool: "{{ qemu_vm.pool | default(omit, true) }}" + protection: "{{ qemu_vm.protection | default(omit, true) }}" + proxmox_default_behavior: "{{ qemu_vm.proxmox_default_behavior | default(omit, true) }}" + reboot: "{{ qemu_vm.reboot | default(omit, true) }}" + revert: "{{ qemu_vm.revert | default(omit, true) }}" + sata: "{{ qemu_vm.sata | default(omit, true) }}" + scsi: "{{ qemu_vm.scsi | default(omit, true) }}" + scsihw: "{{ qemu_vm.scsihw | default(omit, true) }}" + searchdomains: "{{ qemu_vm.searchdomains | default(omit, true) }}" + serial: "{{ qemu_vm.serial | default(omit, true) }}" + shares: "{{ qemu_vm.shares | default(omit, true) }}" + skiplock: "{{ qemu_vm.skiplock | default(omit, true) }}" + smbios: "{{ qemu_vm.smbios | default(omit, true) }}" + snapname: "{{ qemu_vm.snapname | default(omit, true) }}" + sockets: "{{ qemu_vm.sockets | default(omit, true) }}" + sshkeys: "{{ qemu_vm.sshkeys | default(omit, true) }}" + startdate: "{{ qemu_vm.startdate | default(omit, true) }}" + startup: "{{ qemu_vm.startup | default(omit, true) }}" + state: "{{ qemu_vm.state | default(omit, true) }}" + storage: "{{ qemu_vm.storage | default(omit, true) }}" + tablet: "{{ qemu_vm.tablet | default(omit, true) }}" + tags: "{{ qemu_vm.tags | default(omit, true) }}" + target: "{{ qemu_vm.target | default(omit, true) }}" + tdf: "{{ qemu_vm.tdf | default(omit, true) }}" + template: "{{ qemu_vm.template | default(omit, true) }}" + timeout: "{{ qemu_vm.timeout | default(omit, true) }}" + tpmstate0: "{{ qemu_vm.tpmstate0 | default(omit, true) }}" + # Update is an ansible built-in function for dicts... + update: "{{ omit if qemu_vm is not contains('update') else qemu_vm['update'] }}" + update_unsafe: "{{ qemu_vm.update_unsafe | default(omit, true) }}" + usb: "{{ qemu_vm.usb | default(omit, true) }}" + validate_certs: "{{ qemu_vm.validate_certs | default(omit, true) }}" + vcpus: "{{ qemu_vm.vcpus | default(omit, true) }}" + vga: "{{ qemu_vm.vga | default(omit, true) }}" + virtio: "{{ qemu_vm.virtio | default(omit, true) }}" + vmid: "{{ qemu_vm.vmid | default(omit, true) }}" + watchdog: "{{ qemu_vm.watchdog | default(omit, true) }}" + vars: + info_vm_node: "{{ proxmox__info_vm.proxmox_vms[0].node | default(undef(), true) if proxmox__assert_qemu_vm_node is failed else undef() }}" + register: proxmox__apply_qemu_vm + when: proxmox__assert_qemu_vm_identifier is success \ No newline at end of file diff --git a/roles/proxmox/vars/main.yml b/roles/proxmox/vars/main.yml index 847d295..c692dad 100644 --- a/roles/proxmox/vars/main.yml +++ b/roles/proxmox/vars/main.yml @@ -8,4 +8,5 @@ __proxmox__module_vars: api_password: "{{ __proxmox__cluster.api.password | default(omit, true) }}" api_port: "{{ __proxmox__cluster.api.port | default(omit, true) }}" api_token_id: "{{ __proxmox__cluster.api.token.id | default(omit, true) }}" - api_token_secret: "{{ __proxmox__cluster.api.token.secret | default(omit, true) }}" \ No newline at end of file + api_token_secret: "{{ __proxmox__cluster.api.token.secret | default(omit, true) }}" + validate_certs: "{{ __proxmox__cluster.validate_certs | default(omit, true) }}" \ No newline at end of file