* Exclude aliases before comparison
* add test
* fragment
* Update changelogs/fragments/10829-fix-keycloak-role-changed-status.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Andre Desrosiers <andre.desrosiers@ssss.gouv.qc.ca>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 7c40c6b6b5)
homebrew: Support old_tokens and oldnames in homebrew package data (#10805)
* homebrew: Support old_tokens and oldnames in homebrew package data
Fixes#10804
Since brew info will accept old_tokens (for casks) and oldnames (for formulae) when provided by the homebrew module "name" argument, the module also needs to consider thes old names as valid for the given package. This commit updates _extract_package_name to do that.
All existing package name tests, including existing tests for name aliases and tap prefixing, have been consolidated with new name tests into package_names.yml.
* Added changelog fragment.
* homebrew: replace non-py2 compliant f-string usage
* code formatting lint, and py2 compatibility fixes
* homebrew: added licenses to new files, nox lint
* Update plugins/modules/homebrew.py
use str.format() instead of string addition
* Update tests/integration/targets/homebrew/tasks/casks.yml
* Update tests/integration/targets/homebrew/tasks/package_names_item.yml
* Update tests/integration/targets/homebrew/tasks/formulae.yml
* Fixes for performance concerns on new homebrew tests.
1) tests for alternate package names are commented out in main.yml.
2) the "install via alternate name, uninstall via base name" test
case was deemed duplicative, and has been deleted .
3) minor fixes to use jinja2 "~" for string concat instead of "+"
* Fix nox lint
---------
(cherry picked from commit 833e6e36de)
Co-authored-by: brad2014 <brad2014@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Speed up tests in android_sdk module (#10818)
changed the dependency that is used to test the functionality in android_sdk module. The previous dependency was ~100MB, the current one is ~6MB. This should speed up the tests a bit and reduce the traffic.
(cherry picked from commit d2e2395ae3)
Co-authored-by: Stanislav Shamilov <shamilovstas@protonmail.com>
gitlab_protected_branch: refactor, add `allow_force_push`, `code_owner_approval_required` (#10795)
* gitlab_protected_branch: fix typo
* gitlab_protected_branch: lump parameters into options dictionary
Hardcoding parameter lists gets repetitive. Refactor this module to use
an options dictionary like many other gitlab_* modules. This makes it
cleaner to add new options.
* gitlab_protected_branch: update when possible
Until now, the module deletes and re-creates the protected branch if any
change is detected. This makes sense for the access level parameters, as
these are not easily mutated after creation.
However, in order to add further options which _can_ easily be updated,
we should support updating by default, unless known-immutable parameters
are changing.
* gitlab_protected_branch: add `allow_force_push` option
* gitlab_protected_branch: add `code_owner_approval_required` option
* gitlab_protected_branch: add issues to changelog
* Update changelog.
---------
(cherry picked from commit f772bcda88)
Co-authored-by: David Phillips <phillid@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Add Option to configure webAuthnPolicies for Keycloak (#10791)
* Add Option to configure webAuthnPolicies for Keycloak
* Mark webauth properties as noLog false
* fix line length
* rename webauthn stuff to match api of keycloak
* rename webauthn stuff to match api of keycloak
* Update changelogs/fragments/keycloak-realm-webauthn-policies.yml
* add version for each type
* Update plugins/modules/keycloak_realm.py
---------
(cherry picked from commit cb84a0e99f)
Co-authored-by: Julian Thanner <62133932+Juoper@users.noreply.github.com>
Co-authored-by: Julian Thanner <julian.thanner@check24.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
gitlab_*_variable: support masked-and-hidden variables (#10787)
* gitlab_*_variable: support masked-and-hidden variables
Support masking and hiding GitLab project and group variables. In the
GitLab API, variables that are hidden are also masked by implication.
Note gitlab_instance_variable is unmodified since instance variables
cannot be hidden.
* gitlab_*_variable: add `hidden` to legacy `vars` syntax
* gitlab_*_variable: address review comments in doc
(cherry picked from commit 3574b3fa93)
Co-authored-by: David Phillips <phillid@users.noreply.github.com>
pacemaker_resource: Add cloning support for resources and groups (#10665)
* add clone state for pacemaker_resource
* add changelog fragment
* Additional description entry for comment header
* Apply suggestions from code review
* Update plugins/modules/pacemaker_resource.py
* fix formatting for yamllint
* Apply code review suggestions
* refactor state name to cloned
* Update plugins/modules/pacemaker_resource.py
* Apply suggestions from code review
* Apply suggestions from code review
---------
(cherry picked from commit 3baa13a3e4)
Co-authored-by: Dexter <45038532+munchtoast@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
gitlab_*_access_token: add missing scopes (#10785)
Over time, GitLab added extra scopes to the API. I'm in here to add
self_rotate, but may as well add all other missing scopes while I'm
here.
(cherry picked from commit aed763dae7)
Co-authored-by: David Phillips <phillid@users.noreply.github.com>
parted: command args as list rather than string (#10642)
* parted: command args as list rather than string
* add changelog frag
* add missing command line dash args
* make scripts as lists as well
* Apply suggestions from code review
---------
(cherry picked from commit f6e1d90870)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
kdeconfig: add support for kwriteconfig6 (#10751)
* kdeconfig: add support for kwriteconfig6
Rationale:
With a minimal install of KDE Plasma 6, the kdeconfig module would systematically fail with the following error: `kwriteconfig is not installed.`
In this configuration, kwriteconfig6 is the only version of kwriteconfig installed, and the kdeconfig module did not not find it.
Fixes#10746
* Add changelog fragment
* Update changelogs/fragments/10751-kdeconfig-support-kwriteconfig6.yml
---------
(cherry picked from commit d6ad9beb58)
Co-authored-by: Thibault Geoffroy <33561374+nebularnoise@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
openbsd_pkg: add support for removing unused dependencies (#10705)
* openbsd_pkg: add support for removing unused dependencies
Add new state 'rm_unused_deps' that uses 'pkg_delete -a' to remove
packages that are no longer required by any other packages.
Features:
- Requires name='*' to avoid accidental usage
- Supports check mode, diff mode, clean and quick flags
- Follows existing module patterns for error handling
- Integrates with existing package list comparison for change detection
* Update the PR number in the frgment link
* Fix the changelog fragment name to include the PR #
* Force non-interactive mode like most of the other modes
* Fix PEP8 E302: add missing blank line before function definition
* Ensure that no matter what, if the package list unchanged then there was no change
Also removed some unused vars from the original code.
* Standardize names in the PR
* Swap over from a new state to implementing an autoremove option
Added code to handle the case where you git a name or list of names as
pkg_delete will correctly filter what it autoremove by the names
* Update the fragment to match the new code
* typo in EXAMPLES
* Fix up a yamllint complaint.
I do note the following:
```
$ ansible-lint tests/test_openbsd_pkg.yml
Passed: 0 failure(s), 0 warning(s) on 1 files. Last profile that met the validation criteria was 'production'.
```
Although that could be due to local config
* While here add realistic examples of packages that might be autoinstalled
* Clean up docs.
* Autoremove is an option, work like the other package managers
* Update changelog for openbsd_pkg autoremove parameter
Clarified the behavior of the `autoremove` parameter to specify it removes autoinstalled packages. Removed flowery text that isn't needed.
* Cut the rest of the cruft out of the changelog fragment
Make it obvious how '*' can be used as a 'name:'
Be more pythonic in the package list comparison.
* Update changelogs/fragments/10705-openbsd-pkg-remove-unused.yml
---------
(cherry picked from commit b1c75339c0)
Co-authored-by: Allen Smith <lazlor@lotaris.org>
Co-authored-by: Felix Fontein <felix@fontein.de>
monit: handle arbitrary error status (#10743)
* handle arbitrary error status
* add changelog fragment
* mock module in test
* Update changelogs/fragments/10743-monit-handle-unknown-status.yml
---------
(cherry picked from commit 469e557b95)
Co-authored-by: Simon Kelly <skelly@dimagi.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Add ignores necessary for ansible-core 2.20 (#10755)
Add ignores necessary for ansible-core 2.20 if Python 2.7 is still supported by the collection.
(cherry picked from commit 9d0866bfb8)
Co-authored-by: Felix Fontein <felix@fontein.de>
random_string: Specify seed while generating random string (#10710)
* random_string: Specify seed while generating random string
* Allow user to specify seed to generate random string
Fixes: #5362
* Apply suggestions from code review
---------
(cherry picked from commit b5a2c5812c)
Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
ssh_config tests: remove paramiko version restriction (#10732)
Remove paramiko version restriction for ssh_config tests.
(cherry picked from commit 5ee02297b0)
Co-authored-by: Felix Fontein <felix@fontein.de>
Add support for gpg-auto-import-keys option to zypper (#10661)
* Add support for gpg-auto-import-keys option to zypper
* Add changelog fragment
* Add missing module argument_spec
* Improving documentation
* Improve changelog fragment
(cherry picked from commit 177b385dfb)
Co-authored-by: Marc Urben <aegnor@mittelerde.ch>
Add cpu limit argument to scaleway_container (#10646)
Add cpu limit arguments
And document the units used for memory_limit and cpu_limit.
(cherry picked from commit 09f11523d1)
Co-authored-by: mscherer <mscherer@users.noreply.github.com>
gitlab_*_access_token: add `planner` access level (#10679)
The Planner role was introduced in December 2024 with GitLab 17.7 [1].
Allow its use in gitlab_project_access_token and
gitlab_group_access_token.
[1]: https://about.gitlab.com/releases/2024/12/19/gitlab-17-7-released/
(cherry picked from commit 1c0eb9ddf4)
Co-authored-by: David Phillips <phillid@users.noreply.github.com>
Add a scaleway group to be able to use module_defaults (#10647)
(cherry picked from commit 29b35022cf)
Co-authored-by: mscherer <mscherer@users.noreply.github.com>
Update documentation (#10696)
* Update documentation
Added to the description explaining the mode of operation and the protocol being used.
This would add to the user experience and saves time for the user.
* use single quotes around colon contained list element to satisfy linter
* Apply suggestions from code review
* documentation of nagios module - included all nagios configuration paths in plugins/modules/nagios.py
* used italic code I(...) for paths
* added trailing comma to nagios.cfg path listing
* added trailing period after icinga path listing.
---------
(cherry picked from commit db7757ed4b)
Co-authored-by: bofo540 <bjoern.foersterling@cpb-software.com>
Co-authored-by: bjt-user <bjoern.foersterling@web.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
remove extra brackets when params are a given by a comprehension (#10712)
* remove extra brackets when function params are a given by a comprehension
* add changelog frag
(cherry picked from commit cb84fa740a)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
update requirements for Python versions currently used (#10701)
(cherry picked from commit 3b9acafc72)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>