-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding tags as module parameter to proxmox_kvm #2000
Adding tags as module parameter to proxmox_kvm #2000
Conversation
cc @Aversiste @Thulium-Drake @helldorado @joshainglis @karmab |
Co-authored-by: Felix Fontein <felix@fontein.de>
Original test was for key and not value Co-authored-by: Felix Fontein <felix@fontein.de>
Looks reasonable to me. @Aversiste @Thulium-Drake please take a look :) |
I made some improvements regarding default behavior and tag nullification:
|
Co-authored-by: Felix Fontein <felix@fontein.de>
The default value was not necessary as the module already has sufficient handling for null parameters and has been removed. |
Like a charm! Still such a shame the devs do not expose this functionality, but that's on them ;-)
LGTM |
* Adding tags as module parameter * Added changelog fragment * Correcting typo in changelog fragment * Correcting punctuation in docs * Including version to tags parameter description Co-authored-by: Felix Fontein <felix@fontein.de> * Correct tag validation and parsing logic condition Original test was for key and not value Co-authored-by: Felix Fontein <felix@fontein.de> * Improving usability with default null behavior * Removing default case and related unneccessary complexity * Display regex in tags description as code Co-authored-by: Felix Fontein <felix@fontein.de> Co-authored-by: Felix Fontein <felix@fontein.de> (cherry picked from commit 0f61ae4)
@Ajpantuso thanks for implementing this! |
* Adding tags as module parameter * Added changelog fragment * Correcting typo in changelog fragment * Correcting punctuation in docs * Including version to tags parameter description Co-authored-by: Felix Fontein <felix@fontein.de> * Correct tag validation and parsing logic condition Original test was for key and not value Co-authored-by: Felix Fontein <felix@fontein.de> * Improving usability with default null behavior * Removing default case and related unneccessary complexity * Display regex in tags description as code Co-authored-by: Felix Fontein <felix@fontein.de> Co-authored-by: Felix Fontein <felix@fontein.de> (cherry picked from commit 0f61ae4) Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
v3.2.0 community.crypto - acme module_utils - the ``acme`` module_utils has been split up into several Python modules (ansible-collections/community.crypto#184). - acme_* modules - codebase refactor which should not be visible to end-users (ansible-collections/community.crypto#184). - acme_* modules - support account key passphrases for ``cryptography`` backend (ansible-collections/community.crypto#197, ansible-collections/community.crypto#207). - acme_certificate_revoke - support revoking by private keys that are passphrase protected for ``cryptography`` backend (ansible-collections/community.crypto#207). - acme_challenge_cert_helper - add ``private_key_passphrase`` parameter (ansible-collections/community.crypto#207). community.docker - docker_swarm_service - change ``publish.published_port`` option from mandatory to optional. Docker will assign random high port if not specified (ansible-collections/community.docker#99). community.general - archive - refactored some reused code out into a couple of functions (ansible-collections/community.general#2061). - csv module utils - new module_utils for shared functions between ``from_csv`` filter and ``read_csv`` module (ansible-collections/community.general#2037). - ipa_sudorule - add support for setting sudo runasuser (ansible-collections/community.general#2031). - jenkins_job - add a ``validate_certs`` parameter that allows disabling TLS/SSL certificate validation (ansible-collections/community.general#255). - kibana_plugin - add parameter for passing ``--allow-root`` flag to kibana and kibana-plugin commands (ansible-collections/community.general#2014). - proxmox - added ``purge`` module parameter for use when deleting lxc's with HA options (ansible-collections/community.general#2013). - proxmox inventory plugin - added ``tags_parsed`` fact containing tags parsed as a list (ansible-collections/community.general#1949). - proxmox_kvm - added new module parameter ``tags`` for use with PVE 6+ (ansible-collections/community.general#2000). - rax - elements of list parameters are now validated (ansible-collections/community.general#2006). - rax_cdb_user - elements of list parameters are now validated (ansible-collections/community.general#2006). - rax_scaling_group - elements of list parameters are now validated (ansible-collections/community.general#2006). - read_csv - refactored read_csv module to use shared csv functions from csv module_utils (ansible-collections/community.general#2037). - redfish_* modules, redfish_utils module utils - add support for Redfish session create, delete, and authenticate (ansible-collections/community.general#1975). - snmp_facts - added parameters ``timeout`` and ``retries`` to module (ansible-collections/community.general#980). - vdo - add ``force`` option (ansible-collections/community.general#2101). community.network - edgeos_config - match the space after ``set`` and ``delete`` commands (ansible-collections/community.network#199). - nclu - execute ``net commit description <description>`` only if changed ``net pending``'s diff field (ansible-collections/community.network#219). community.postgresql - postgresql_info - add the ``patch``, ``full``, and ``raw`` values of the ``version`` return value (ansible-collections/community.postgresql#68). - postgresql_ping - add the ``patch``, ``full``, and ``raw`` values of the ``server_version`` return value (ansible-collections/community.postgresql#70). community.zabbix - zabbix_agent - added support for installations on arm64 systems (ansible-collections/community.zabbix#320). - zabbix_proxy - now supports configuring StatsAllowedIP (ansible-collections/community.zabbix#337). - zabbix_server - added support for installtions on arm64 systems (ansible-collections/community.zabbix#320). - zabbix_web - added support for installtions on arm64 systems (ansible-collections/community.zabbix#320). dellemc.openmanage - ome_template - Allows to deploy a template on device groups. hetzner.hcloud - Add firewalls to hcloud_server module ovirt.ovirt - cluster_upgrade - Add correlation-id header (oVirt/ovirt-ansible-collection#222). - engine_setup - Add skip renew pki confirm (oVirt/ovirt-ansible-collection#228). - examples - Add recipe for removing DM device (oVirt/ovirt-ansible-collection#233). - hosted_engine_setup - Filter devices with unsupported bond mode (oVirt/ovirt-ansible-collection#226). - infra - Add reboot host parameters (oVirt/ovirt-ansible-collection#231). - ovirt_disk - Add SATA support (oVirt/ovirt-ansible-collection#225). - ovirt_user - Add ssh_public_key (oVirt/ovirt-ansible-collection#232) purestorage.flasharray - purefa_maintenance - New module to set maintenance windows - purefa_pg - Add support to rename protection groups - purefa_syslog - Add support for naming SYSLOG servers for Purity//FA 6.1 or higher purestorage.flashblade - purefb_certs - Add update functionality for array cert - purefb_fs - Add multiprotocol ACL support - purefb_info - Add information regarding filesystem multiprotocol (where available) - purefb_info - Add new parameter to provide details on admin users - purefb_info - Add replication performace statistics - purefb_s3user - Add ability to remove an S3 users existing access key
SUMMARY
New feature in proxmox_kvm plugin to allow VM tags to be passed as module parameters.
Fixes #1989
ISSUE TYPE
COMPONENT NAME
plugins/modules/cloud/misc/proxmox_kvm.py
ADDITIONAL INFORMATION
Tags are supplied as a yaml list of strings to the tags parameter.
Within the module tags are restricted to only Proxmox version >=6.
Tags are validated against the format provided by the proxmox devs and failed validation will fail the module indicating which tag is at fault.
Tags are joined with commas and then passed to proxmoxer as a tag-list-string,
CRUD operations function as expected for tags as well.