From e3a3950e3db9d3954490218bf68f6a98259b81fc Mon Sep 17 00:00:00 2001 From: Eric Le Lay <222469+elelay@users.noreply.github.com> Date: Fri, 1 Dec 2023 07:33:39 +0100 Subject: [PATCH] fix #7600 add hookscript parameter to proxmox_kvm (#7602) * fix #7600 add hookscript parameter to proxmox_kvm * add issue url to changelog * fix changelog missing quote * add missing version_added Co-authored-by: Felix Fontein * changelog: add missing dot Co-authored-by: Felix Fontein --------- Co-authored-by: Felix Fontein --- .../fragments/7600-proxmox_kvm-hookscript.yml | 2 ++ plugins/modules/proxmox_kvm.py | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 changelogs/fragments/7600-proxmox_kvm-hookscript.yml diff --git a/changelogs/fragments/7600-proxmox_kvm-hookscript.yml b/changelogs/fragments/7600-proxmox_kvm-hookscript.yml new file mode 100644 index 0000000000..5d79e71657 --- /dev/null +++ b/changelogs/fragments/7600-proxmox_kvm-hookscript.yml @@ -0,0 +1,2 @@ +minor_changes: + - "proxmox_kvm - support the ``hookscript`` parameter (https://github.com/ansible-collections/community.general/issues/7600)." diff --git a/plugins/modules/proxmox_kvm.py b/plugins/modules/proxmox_kvm.py index 1422a7c63d..7460f9bbfe 100644 --- a/plugins/modules/proxmox_kvm.py +++ b/plugins/modules/proxmox_kvm.py @@ -196,6 +196,11 @@ options: - Used only with clone type: bool default: true + hookscript: + description: + - Script that will be executed during various steps in the containers lifetime. + type: str + version_added: 8.1.0 hostpci: description: - Specify a hash/dictionary of map host pci devices into guest. O(hostpci='{"key":"value", "key":"value"}'). @@ -867,6 +872,17 @@ EXAMPLES = ''' name: spynal node: sabrewulf-2 migrate: true + +- name: Add hookscript to existing VM + community.general.proxmox_kvm: + api_user: root@pam + api_password: secret + api_host: helldorado + vmid: 999 + node: sabrewulf + hookscript: local:snippets/hookscript.pl + update: true + ''' RETURN = ''' @@ -1214,6 +1230,7 @@ def main(): format=dict(type='str', choices=['cloop', 'cow', 'qcow', 'qcow2', 'qed', 'raw', 'vmdk', 'unspecified']), freeze=dict(type='bool'), full=dict(type='bool', default=True), + hookscript=dict(type='str'), hostpci=dict(type='dict'), hotplug=dict(type='str'), hugepages=dict(choices=['any', '2', '1024']), @@ -1432,6 +1449,7 @@ def main(): efidisk0=module.params['efidisk0'], force=module.params['force'], freeze=module.params['freeze'], + hookscript=module.params['hookscript'], hostpci=module.params['hostpci'], hotplug=module.params['hotplug'], hugepages=module.params['hugepages'],