* better mechanism for customizing "changed" behaviour
* dont drink and code: silly mistake from late at night
* added changelog fragment
(cherry picked from commit 2a376642dd)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* java_keystore: pass in secret to keytool via stdin
* add changelog fragment
(cherry picked from commit 2b1eff2783)
Co-authored-by: quidame <quidame@poivron.org>
instead of whitelisting some subset of known existing permissions, just
allow any string to be used as permissions. this way, any permission
supported by the underlying zfs commands can be used, eg. 'bookmark',
'load-key', 'change-key' and all property permissions, which were
missing from the choices list.
(cherry picked from commit dc0a56141f)
Co-authored-by: Lauri Tirkkonen <lauri@hacktheplanet.fi>
Add ability to ignore error on missing pass file to allow processing the
output further via another filters (mainly the default filter) without
updating the pass file itself.
It also contains the option to create the pass file, like the option
create=true does.
Finally, it also allows to issue a warning only, if the pass file is not
found.
(cherry picked from commit 350380ba8c)
Co-authored-by: Jan Baier <7996094+baierjan@users.noreply.github.com>
* 1085 updating the hcl whitelist to include all supported options
* Update changelogs/fragments/1085-consul-acl-hcl-whitelist-update.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Dillon Gilmore <dgilmor@rei.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 5b77515308)
Co-authored-by: iridian <442359+iridian-ks@users.noreply.github.com>
* minor refactors
* minor refactors in plugins/connection/saltstack.py
* minor refactors in plugins/connection/qubes.py
* minor refactor in plugins/connection/lxc.py
* minor refactors in plugins/connection/chroot.py
* minor refactors in plugins/connection/funcd.py
* minor refactors in plugins/connection/iocage.py
* minor refactors in plugins/connection/jail.py
* added changelog fragment
(cherry picked from commit c8f402806f)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Adding cryptography as a backend for OpenSSL operations
* Updating unit tests and adding changelog fragment
* Allowing private key password option when using unprotected key
* Incorporating suggestions from initial review
* Centralizing module exit path
(cherry picked from commit a385cbb11d)
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
A lookup plugin to generate random pet names based
upon criteria.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 5d0a7f40f2)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
* Set mtu on interface whatsoever
* add changelog fragment
* Revert "add changelog fragment"
This reverts commit 5f2f1e7feb.
(cherry picked from commit e2dfd42dd4)
Co-authored-by: Amin Vakil <info@aminvakil.com>
* gitlab_user: add expires_at option
* Add changelog
* Add integration test
* Add expires_at to addSshKeyToUser function
* password is required if state is set to present
* Check expires_at will not be added to a present ssh key
* add documentation about present ssh key
* add expires_at to unit tests
* Improve documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* Only pass expires_at to api when it is not None
* Emphasize on SSH public key
* Apply felixfontein suggestion
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 054eb90ae5)
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Add proxmox_nic module
Add proxmox_nic module to manage NIC's on Qemu(KVM) VM's in a Proxmox VE
cluster.
Update proxmox integration tests and add tests for proxmox_nic module.
This partially solves https://github.com/ansible-collections/community.general/issues/1964#issuecomment-790499397
and allows for adding/updating/deleting network interface cards after
creating/cloning a VM.
The proxmox_nic module will keep MAC-addresses the same when updating a
NIC. It only changes when explicitly setting a MAC-address.
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add check_mode and implement review comments
- check_mode added
- some documentation updates
- when MTU is set, check if the model is virtio, else fail
- trunks can now be provided as list of ints instead of vlanid[;vlanid...]
* Make returns on update_nic and delete_nic more readable
Co-authored-by: Felix Fontein <felix@fontein.de>
* Increase readability on update_nic and delete_nic
* Implement check in get_vmid
- get_vmid will now fail when multiple vmid's are returned as proxmox
doesn't guarantee uniqueness
- remove an unused import
- fix a typo in an error message
* Add some error checking to get_vmid
- get_vmid will now return the error message when proxmoxer fails
- get_vmid will return the vmid directly instead of a list of one
- Some minor documentation updates
* Warn instead of fail when setting mtu on unsupported nic
- When setting the MTU on an unsupported NIC model (virtio is the only
supported model) this module will now print a warning instead of
failing.
- Some minor documentation updates.
* Take advantage of proxmox_auth_argument_spec
Make use of proxmox_auth_argument_spec from plugins/module_utils/proxmox.py
This provides some extra environment fallbacks.
* Add blank line to conform with pep8
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 23dda56913)
Co-authored-by: Kogelvis <github@ar-ix.net>
* influxdb_retention_policy: add state option to module argument spec
* influxdb_retention_policy: simplify duration parsing logic (suggested in #2284)
* add changelog
* fix documentation and changelog
* add constants for duration and sgduration validations
* restyle ansible module spec
Co-authored-by: Felix Fontein <felix@fontein.de>
* improve changelog
Co-authored-by: Felix Fontein <felix@fontein.de>
* set changed result in check mode for state absent
* remove required flag in optional module arguments
* influxdb_retention_policy: improve examples readability
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 83a0c32269)
Co-authored-by: Xabier Napal <xabiernapal@pm.me>
* nmcli: Remove dead code, 'options' never contains keys from 'param_alias'
* Update changelogs/fragments/2417-nmcli_remove_dead_code.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit b9fa9116c1)
Co-authored-by: spike77453 <spike77453@users.noreply.github.com>
* Add dependent lookup plugin.
* Use correct YAML booleans.
* Began complete rewrite.
* Only match start of error msg.
* Improve tests.
* Work around old Jinja2 versions.
* Fix metadata.
* Fix filter name.
(cherry picked from commit eea4f45965)
Co-authored-by: Felix Fontein <felix@fontein.de>
* first push: add discord module and test for notifications
* fix the yaml docs and edit the result output
* add link
* fix link
* fix docs and remove required=False in argument spec
* add elements specd and more info about embeds
* called str...
* elements for embeds oc.
* fix typo's in description and set checkmode to false
* edit docs and module return
* support checkmode with get method
* fix unit test
* handle exception and add new example for embeds
* quote line
* fix typos
* fix yaml
(cherry picked from commit 0912e8cc7a)
Co-authored-by: CWollinger <CWollinger@web.de>
* break down of module_helper into smaller pieces, keeping compatibility
* removed abc.ABC (py3 only) from code + fixed reference to vars.py
* multiple changes:
- mh.base - moved more functionalities to ModuleHelperBase
- mh.mixins.(cmd, state) - CmdMixin no longer inherits from ModuleHelperBase
- mh.mixins.deps - DependencyMixin now overrides run() method to test dependency
- mh.mixins.vars - created class VarsMixin
- mh.module_helper - moved functions to base class, added VarsMixin
- module_helper - importing AnsibleModule as well, for backward compatibility in test
* removed unnecessary __all__
* make pylint happy
* PR adjustments + bot config + changelog frag
* Update plugins/module_utils/mh/module_helper.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/module_utils/mh/module_helper.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit d22dd5056e)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* modified redfish_config and idrac_redfish_config to skip incorrect attributes
Signed-off-by: Trevor Squillario Trevor_Squillario@Dell.com
* modified redfish_utils.py and idrac_redfish_config.py to return empty warning message
* modified redfish_config.py and idrac_redfish_config.py to use module.warn()
* updated changelog fragment for pr 2334
(cherry picked from commit 9d46ccf1b2)
Co-authored-by: TrevorSquillario <72882537+TrevorSquillario@users.noreply.github.com>
* Avoid incorrectly marking zfs tasks as changed
The zfs module will incorrectly mark certain tasks as having been
changed. For example, if a dataset has a quota of "1G" and the user
changes it to "1024M", the actual quota vale has not changed, but since
the module is doing a simple string comparison between "1G" and "1024M",
it marks the step as "changed".
Instead of trying to handle all the corner cases of zfs (another example
is when the zpool "altroot" property has been set), this change simply
compares the output of "zfs-get" from before and after "zfs-set" is
called
* update changelog format
* Update changelogs/fragments/2454-detect_zfs_changed.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* add note about check_mode
* Update plugins/modules/storage/zfs/zfs.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/storage/zfs/zfs.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* clarify check mode qualifications
* rephrase to avoid hypothetical
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 8e7aff00b5)
Co-authored-by: sam-lunt <samuel.j.lunt@gmail.com>
* fix stackpath_compute validate_config
get the lenght for the client_id / client_secret to validate inventory configuration
* Add changelog fragment.
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 4cdff8654a)
Co-authored-by: vbarba <victor.barba@gmail.com>
* Small Documentation Example Of Cask Leveraging
- Just a lil' demo showing that we can utilize homebrew/cask/foo syntax
for given name of package to grab associated cask pacakge
Resolves: patch/sml-doc-example-update
* Slight Documentation Example Edit
- adjusting documentation example to provide better info surrounding installing
a given formula from brew via cask
Resolves: patch/sml-doc-example-update
* Small Edits To Make PEP8 Happy
- format code with autopep8 in vs code
Resolves: patch/sml-doc-example-update
* Only Making Small PEP8 Change
- reverting previous mass PEP8 format, focus on trimming whitespace on
doc example entry
Resolves: patch/sml-doc-example-update
* Remove Trailing Whitespace PEP8
- removed trailing whitespace on doc example chunk
Resolves: patch/sml-doc-example-update
(cherry picked from commit 7386326258)
Co-authored-by: Mike Russell <michael.j.russell.email@gmail.com>
* nmcli: Compare MAC addresses case insensitively
* Update changelogs/fragments/2416-nmcli_compare_mac_addresses_case_insensitively.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add mac to TESTCASE_BRIDGE so test_bridge_connection_unchanged covers case sensitive mac address comparison
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Convert current_value to uppercase as well in case nmcli changes behaviour
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 7359b1fbe5)
Co-authored-by: spike77453 <spike77453@users.noreply.github.com>
* 📝 Document nested node addition with "_" in xml module
Nested node addition using "_" to indicate sub nodes, and attributes are only documented in tests and issues, where is hard to find.
* 🚨 Fix trailing space
* Apply suggestions from code review
Add missing collection prefix for modules.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add missing comments
* Update xml.py
* Fix linter warnings
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 4b0d2dcfe0)
Co-authored-by: Daniel-Sanchez-Fabregas <33929811+Daniel-Sanchez-Fabregas@users.noreply.github.com>
* Change stdout to console
* readd stdout, resulting in console
* add changelog
* readd stdout to docs and add a warning when it is used
* version of what???
Co-authored-by: Felix Fontein <felix@fontein.de>
* postpone deprecation in another PR
* remove console option, so it can be backported
* change changelog respectively
* Fix changelog formatting
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 26aba8e766)
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Fix#2373
* Changelog fragment for #2373
* Update changelogs/fragments/2373-svr4pkg-fix-typeerror.yml
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update changelogs/fragments/2373-svr4pkg-fix-typeerror.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit cd957fae4c)
Co-authored-by: Daniel Werner <srmlsrml@gmail.com>
The composer module always uses the no-interaction option if it
discovers it _after_ calling "composer help ..." but not on the help
call itself. The lack of this option caused composer to not exit when
called through the ansible module.
The same example command when ran interactively does not prompt for user
interaction and exits immediately. It is therefore currently unknown why
the same command hangs when called through the ansible composer module
or even directly with the command module.
Example command which hangs:
php /usr/local/bin/composer help install --format=json
(cherry picked from commit eb455c69a2)
Co-authored-by: George Angelopoulos <george@usermod.net>
* fixed elements for many lists
* added changelog fragment
* Removed verbose types in description - still missing formatting and properly documenting dicts
(cherry picked from commit 48ef05def3)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* lxd dynamic inventory and test data
* added ``merge_profile`` parameter to merge configurations from the play to an existing profile
* cosmetic changes
* added ``merge_profile`` parameter to merge configurations from the play to an existing profile
* cosmetic changes
* fix pylint errors
* fix flake8 warnings
* fix pep8 errors without "line to long"
* fix ansible tests
* fix typo
* fix version added
* fix lost of suggestions from felixfontein
* fix filter
fix ansible test errors
* delete test config
* delete 'notes:' and copy content to description
* move testdata
load testdata by path from config
* updated documentation
* fix test data and remove inventory branch
* fix spellings and rename lxd to community.general.lxd
* fix documentation
* remove selftest
* strip example data
* add unit test
* switch to ansible.module_utils.common.dict_transformations
* documentation cleanup
* move lxd_inventory.atd from files to fixtures
* update documentation
move lxd_inventory.atd
* rename self.groups to self dispose
remove dumpdata
* cleanup
* fix unittests
comment out dump_data, it breaks the unit tests
* fix pep8
* Apply suggestions from code review
* Update plugins/inventory/lxd.py
* add test if no groupby is selected
* rename disposed to groupby
remove unused constant
other suggested cleanups
* Use bundled ipaddress instead of own code.
* Update plugins/inventory/lxd.py
* Exceptions should not be eaten.
* Improve error handling for network range/address parsing.
* Fix typo.
* Make network range valid.
* Do not error when groupby is not a dict.
Co-authored-by: Frank Dornheim <“dornheim@posteo.de@users.noreply.github.com”>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Merged changes from old PR
* Added suppurt for -, other adaptations regarding size.
* Implementing +- support for -l
* Added changelog
* Renamed changelog
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Allow keycloak_group.py to take token as parameter for the authentification
* Refactor get_token to pass module.params + Documentation
* Fix unit test and add new one for token as param
* Fix identation
* Update plugins/modules/identity/keycloak/keycloak_client.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/keycloak/keycloak_clienttemplate.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Allow keycloak_group.py to take token as parameter for the authentification
* Refactor get_token to pass module.params + Documentation
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Check if base_url is None before to check format
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/keycloak/keycloak_client.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update plugins/modules/identity/keycloak/keycloak_clienttemplate.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Switch to modern syntax for the documentation (e.g. community.general.keycloak_client)
* Fix URL_REALMS in keycloak.py
* Update keycloak_client.py
* Update keycloak_clienttemplate.py
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* convert string returned by plugin to unicode
* add changelog fragment
* fix changelog format
* fix changelog format yet again
Co-authored-by: Anubhav Chakraborty <anubchak@cisco.com>
* Add plugin_paths parameter to terraform module.
The list `plugin_paths` is used in the init phase of terraform by setting
the `-plugin-dir` command line argument to a path that contains
terraform plugins. When the `-plugin-dir` argument is set, the plugin
discovery and auto-download of terraform is disabled. This is useful when
running terraform in automation environments for testing where the production
endpoints are strictly controlled or on air-gapped networks and you need
to control the versions of plugins available.
* Added `elements: path` to `plugin_paths` parameter documentation in terraform.py
* added changelog fragment
* Update changelogs/fragments/2308-terraform-add-plugin_paths-parameter.yaml
use double back-ticks vice single
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Add version added to documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Add markup around URL in documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
remove `required=False` and `default=None` from module argument spec, as that is the default behavior and redundant
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Added directory structure info to documentation and examples sections.
* Update plugins/modules/cloud/misc/terraform.py
grammatical fix
Co-authored-by: Felix Fontein <felix@fontein.de>
* grammar fix to description.
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* added some cases for unsupported network interface and multi-nic without IP addresses
* added changelog fragment
* lint fixes and added option for ansible_host setting
* added description about the new option
* lint fix too long line
* Update changelogs/fragments/2259-proxmox-multi-nic-and-unsupported.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/inventory/proxmox.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/inventory/proxmox.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/inventory/proxmox.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added CommandDisabled
* refactored to code and added a test case where an interfaces doesnt have a mac address or is invalid to reset it to 00:00:00:00:00:00
* Update tests/unit/plugins/inventory/test_proxmox.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update tests/unit/plugins/inventory/test_proxmox.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* mac-address is set to None instead of 00:00:... when not defined
* changed None to empty string for mac-address
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>