1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
Commit graph

1268 commits

Author SHA1 Message Date
Felix Fontein
7aa118b957
Add test for unsafe plugin util (#8345)
Add test for unsafe plugin util.
2024-05-12 00:36:12 +02:00
Thomas Sjögren
d347bf5fa0
add systemd run0 as a become method (#8306)
* add systemd run0 as a become method

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* add fragment

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* remove space after hyphen

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* replace ansible with collection version

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* update version_added and remove changelog fragment

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* update formating

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* add types

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* slim super()

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* imports must appear below docs

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* add initial unit test

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* update unit tests

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

---------

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
2024-05-11 16:53:44 +02:00
Kit Ham
3b7f13c58e
homebrew: Move repeated logic from homebrew modules into module_utils (#8324)
* gomebrew: Move repeated logic from homebrew modules into module_utils

Fixes #8323.

* ghangelog + unit test improvement

* Update changelogs/fragments/8323-refactor-homebrew-logic-module-utils.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-05-11 16:52:43 +02:00
Alexander Petrenz
136419c5c0
bug(lookup/merge_variables): Fix rendering foreign variables (#8303)
* manually prepare variables of foreign host including hostvars property

* render variables from context of current host

* add integration test for cross host merge

* lint fixes

* adjust cross host merge unit tests to provide a tiny bit of the HostVars Class API

* add license information

* lint

* add changelog fragment

* Update tests/integration/targets/lookup_merge_variables/test_cross_host_merge_play.yml

Okay

Co-authored-by: Mark <40321020+m-a-r-k-e@users.noreply.github.com>

* Update tests/integration/targets/lookup_merge_variables/test_cross_host_merge_play.yml

Okay

Co-authored-by: Mark <40321020+m-a-r-k-e@users.noreply.github.com>

* Update tests/integration/targets/lookup_merge_variables/test_cross_host_merge_play.yml

Okay

Co-authored-by: Mark <40321020+m-a-r-k-e@users.noreply.github.com>

* rename _HostVars to HostVarsMock

* removing unnecessary task

---------

Co-authored-by: Gitlab CI <alexander.petrenz@posteo.de>
Co-authored-by: Mark <40321020+m-a-r-k-e@users.noreply.github.com>
2024-05-11 16:51:51 +02:00
Felix Fontein
feb443d260
Fix django_manage tests (#8325)
Ensure that manage.py is executable.
2024-05-07 07:50:26 +02:00
Felix Fontein
bc609d74a0
Disable ejabberd tests on Arch Linux (#8313)
Disable ejabberd tests on Arch Linux.
2024-05-05 20:32:22 +02:00
Felix Fontein
4bd68ac153
Disable cpanm tests for RHEL 7 and CentOS 7 (#8312)
Disable cpanm tests for RHEL 7 and CentOS 7.
2024-05-05 20:32:11 +02:00
John Bond
d75dee3230
8281: puppet waitforlock (#8282)
puppet waitforlock

Add support for the waitforlock[1] puppet argument

[1]https://www.puppet.com/docs/puppet/8/configuration#maxwaitforlock
Co-authored-by: Felix Fontein <felix@fontein.de>
2024-05-04 15:26:56 +02:00
Kit Ham
3eeafecd1f
homebrew: Add force_formula parameter to pass --formula to brew command (#8275)
* homebrew: Add force_formula parameter to pass --formula to brew command

Some formulas have names that are also cask formulas (e.g. docker).
When trying to install such a formula, brew prints a warning and returns
a non-zero exit code. This causes Ansible to halt and report the failure.
By allowing the task to set force_formula, we can sidestep this problem.

* Add changelog fragment

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/homebrew.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-05-04 15:25:21 +02:00
Alexei Znamensky
85f9d89510
CmdRunner format as_list - check for min_len and max_len (#8288)
* CmdRunner format as_list - check for min_len and max_len

* Change default min len, add chglog frag
2024-04-29 17:26:31 +02:00
Alexei Znamensky
7051fe3449
PythonRunner: a command runner for python (#8289)
* PythonRunner: a command runner for python

* add changelog frag

* Update changelogs/fragments/8289-python-runner.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-04-29 17:26:14 +02:00
Alexei Znamensky
45c2e0f8d0
use smaller snap, add disabled to aliases (#8237)
* use smaller snap, add disabled to aliases

* rollback tag disabled in aliases

* comment out the test_dangerous as it takes too long

* comment out the test_dangerous as it takes too long

* Update tests/integration/targets/snap/tasks/main.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-04-26 20:56:08 +02:00
Alexei Znamensky
62138b288a
Change MH to use the module_utils.vardict.VarDict (#8226)
* change MH to use the module_utils.vardict.VarDict

* remove VarsMixin from superclasses of MH

* bump vardict deprecation to 11.0.0 + add old/new vardict selection in MH

* improve backawards compatibility

* improve backawards compatibility

* use new vardict in some modules, make adjustments

* add changelog frag

* adjustment after rebase
2024-04-24 08:07:29 +12:00
Felix Fontein
be3b66c8b5
[9.0.0] Remove deprecated modules and features (#8198)
* Remove deprecated modules.

* Update BOTMETA.

* Update ignore.txt files.

* Bump collection version to 9.0.0.

* Change timeout from 10 to 60.

* Remove the alias autosubscribe of auto_attach.

* Change default of mode from compatibility to new.

* Remove deprecated classes.

* Remove mh.mixins.deps.DependencyMixin.

* Remove flowdock module.

* Remove proxmox_default_behavior option.

* Remove ack_* options.

* Remove deprecated command support.

* Change virtualenv behavior.

* Fix changelog.

* Remove imports of deprecated (and now removed) code.

* Fix tests.

* Fix sanity tests.

* Require Django 4.1.

* Use V() instead of C() for values.

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* django_manage: improve docs for release 9.0.0

* markup

* fix doc notes in cpanm

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Alexei Znamensky <russoz@gmail.com>
2024-04-22 18:28:22 +02:00
desand01
a5697da29c
Keycloak client role scope (#8252)
* first commit

* minor update

* fixe Copyright

* fixe sanity

* Update plugins/modules/keycloak_client_rolescope.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* fixe sanity 2

* Update plugins/modules/keycloak_client_rolescope.py

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>
2024-04-21 20:10:03 +02:00
Kenneth Benzie (Benie)
0735656319
Add support for state=latest to flatpak module (#8221)
Fixes #6563 by extending the allowed values of the `state` parameter to
include `latest`. To do this, the `update_flat()` function is introduced
which borrows the majority of its implementation from both the existing
`install_flat()` and `remove_flat()` functions. The documentation and
examples have been expanded describing what to expect when using
`state=latest`.
2024-04-21 20:09:54 +02:00
Stijn Tintel
486c26b224
filesystem: add bcachefs support (#8126)
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2024-04-20 12:14:15 +02:00
Jakob Lund
be4d5b7dc4
ini_file - add feature 'section_has_values' (#7505)
* insert new code

* add changelog

* add argument_spec

* sanity check

* docstring version_added

* version-added-must-be-major-or-minor

* Update plugins/modules/ini_file.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* check for default value  `None`

* typo in example

* add integration test and rename option

* add license

* update "version added" in docstring

* insert new code

* remove whitespace

* update examples

* support exclusive, allow_no_value, multiple values in section_has_values

* prefer Todd's variable naming in loops

* resolve number clash in file names

* pass sanity test validate-modules

* Documentation updates

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Todd Lewis <todd_lewis@unc.edu>
2024-04-20 12:12:55 +02:00
Kai
865de5baa0
bitwarden - add support for filtering by organization_id (#8188)
* bitwarden - add support for filtering by organization_id

* Update changelogs/fragments/8188-bitwarden-add-organization_id.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* implement PR discussion result on wording

* rewrite search_field filtering

To correctly handle organization_id and collection_id by passing both to bw.
Tests needed to be extended to filter organizations / collections and
the testdata needed changes to reflect that a collection always belongs to a
single organizaion

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-04-20 12:12:45 +02:00
Felix Fontein
524d5883b8
Avoid deprecated utcnow() (#8222)
Avoid deprecated utcnow().
2024-04-20 09:26:08 +02:00
Steffen Scheib
9307b76e74
fix: Ensuring interpolation is disabled for ConfigParser (#8185)
* fix: Ensuring interpolation is disabled for ConfigParser

This PR disables interpolation of ConfigParser and adds test coverage for that.

* Adding changelog fragment

* Fixing missing extension of changelog fragment

* Adding issue link to changelog fragment

* Update changelogs/fragments/8183-from_ini_to_ini.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-04-09 08:01:44 +02:00
Felix Fontein
13d0310e91
CI: ansible-core devel removed Python 3.7 support, no longer allows 'vars:' with lists (#8190)
* Ansible-core devel removed Python 3.7 support.

* Do not use 'vars' with lists.
2024-04-04 22:51:32 +02:00
Felix Fontein
48b5a7a80a
CI: add stable-2.17, bump devel to 2.18, move stable-2.14 from AZP to GHA (#8179)
* Add stable-2.17 to CI; add ignores for 2.18.

* Move stable-2.14 tests to GHA.

* Update README.
2024-04-03 07:57:25 +02:00
Felix Fontein
609f28f791
snap: disable some tests that take way too long (#8148)
* Do not install microk8s in snap tests, as it is too slow.

* Do not install cider in snap tests, as it is slow.
2024-03-25 06:42:04 +01:00
Gideon
b389f8637f
Add descriptive error message to Linode inventory plugin file checkin… (#8133)
* Add descriptive error message to Linode inventory plugin file checking, tests

* add changelog fragment

* Adjust changelog fragment.

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-03-24 22:22:44 +01:00
Emilien Escalle
f5fa16c881
feat(lookup/bitwarden): add support for fetching all items from a collection (#8013)
Signed-off-by: Emilien Escalle <emilien.escalle@escemi.com>
2024-03-24 18:04:36 +01:00
Maxopoly
23396e62dc
Fix check mode in iptables_state for incomplete iptables-save files along with integration tests (#8029)
* Implement integration test to reproduce #7463

* Make new iptables_state checks async

* Add missing commit to iptable_state integration test

* Remove async when using checkmode in iptables_state integration tests

* Do per table comparison in check mode for iptables_state

* Calculate changes of iptables state per table based on result

* Output target iptables state in checkmode

* Refactor calculation of invidual table states in iptables_state

* Add missing return for table calculation

* Add missing arg to regex check

* Remove leftover debug output for target iptable state

* Parse per table state from raw state string

* Join restored state for extration of table specific rules

* Switch arguments for joining restored iptable state

* Output final ip table state

* Compare content of tables

* Complete iptables partial tables test cases

* Correct order of test iptables data

* Update docu for iptables tables_after

* Add changelog fragment

* Appease the linting gods for iptables_state

* Adjust spelling and remove tables_after from return values
2024-03-24 18:02:48 +01:00
Todd Lewis
4363f8764b
ini_file - support optional spaces around section names (#8075)
* ini_file - support optional spaces between section names and their surrounding brackets

Some ini files have spaces between some of their section names and the
brackets that enclose them. This is documented in the 'openssl.cnf(5)' man
page. In order to manage files such as /etc/ssl/openssl.cnf with ini_file
before now, one would have to include spaces in the section name like this:
    section: ' crypto_policy '
    option: Options
    value: UnsafeLegacyRenegotiation

This change implements matching section headers with such optional spaces.
Existing tasks using the workaround above will continue to work, even in
cases where spaces in section headers are subsequently removed.

* readability improvement in the test content expressions

---------

Co-authored-by: Todd Lewis <todd_lewis@unc.edu>
2024-03-24 18:02:13 +01:00
Gianluca Salvo
4947786d36
Adds group_by_hostgroups parameter to Icinga2 inventory (#7998)
* (lots of commit messages)


---------

Co-authored-by: Gianluca Salvo <gianluca.salvo@gruppomol.it>
Co-authored-by: Felix Fontein <felix@fontein.de>
2024-03-24 17:01:34 +00:00
Felix Fontein
fb67df3051
Ignore pylint warnings for construct that does not work with Python 2 (#8130)
* Ignore pylint warnings for construct that does not work with Python 2.

* Revert "Ignore pylint warnings for construct that does not work with Python 2."

This reverts commit 51d559cc94.

* Different approach: use ignore.txt since otherwise ansible-core 2.14 tests fail.
2024-03-23 12:28:41 +01:00
Felix Fontein
47b4cf766e
CI: Add FreeBSD 13.3 and 14.0 for devel, move FreeBSD 13.2 to stable-2.16 (#8122)
* Add FreeBSD 13.3 and 14.0 for devel, move FreeBSD 13.2 to stable-2.16.

* Skip some targets.

* Skip pkgng jail tests (again :( ).
2024-03-21 22:15:52 +01:00
Maxopoly
6298ad4faa
Implement usb_facts module (#8076)
* First implementation of usb module

* Rename to usb_facts

* Working tests

* Appease linter

* Fix author

* Remove splitlines arg for python 2.7 compat

* indent usb test further

* indent usb test a bit less

* Remove trailing whitespace

* Update plugins/modules/usb_facts.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/usb_facts.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* Adjust usb_facts PR based on feedback

* Add usage example and extend correct documentation fragment

* Add myself to BOTMETA.yml

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-03-18 21:35:36 +01:00
Felix Fontein
1c4197aa23
Skip cloud_init_data_facts tests on OpenSuSE Leap 15 (#8103)
Skip cloud_init_data_facts tests on OpenSuSE Leap 15.5.
2024-03-17 17:10:20 +01:00
Felix Fontein
23fbc5e241
Fix pacman tests in CI (#8102)
Fix pacman tests.
2024-03-17 16:49:10 +01:00
Florian Apolloner
67736d796a
Fix consul_token usage without accessor_id. (#8091)
* Fix consul_token usage without accessor_id.

* Update changelogs/fragments/8091-consul-token-fixes.yaml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/consul_token.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-03-14 23:14:37 +01:00
Alexei Znamensky
79d87552ef
remove code no longer used (#8077) 2024-03-10 20:15:29 +13:00
Alexander Petrenz
0ded1109fe
feat(lookup/merge_variables): Add all hosts mode to collect configuration across multiple hosts (#7999)
* Add Feature to collect variables accross different hosts

* fix merging lists

* adjust unit tests

* lint fixes

* adjusting integration tests

* remove white spaces

* Update plugins/lookup/merge_variables.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/lookup/merge_variables.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/lookup/merge_variables.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* apply suggested changes to correctly handling the initial_value parameter, incl. additional test

* whitespace

---------

Co-authored-by: Alexander Petrenz <alexander.petrenz@posteo.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
2024-03-08 07:25:39 +01:00
Zoran Krleza
f6d0b35bb7
GitLab group and project access token modules (#7964)
* Adding gitlab group and project acess token modules

* Documentation corrections and recreate option change

* Documentation corrections

* Correcting documentation for return objects
2024-02-25 19:44:49 +01:00
Emilien Escalle
6cafd3bed7
feat(lookup/bitwarden): add support for "session" arg (#7994)
Allows pass session key instead of reading from env.

Signed-off-by: Emilien Escalle <emilien.escalle@escemi.com>
2024-02-25 19:44:37 +01:00
cfiehe
102a0857db
New filters to calculate the union, intersection, difference and symmetric difference of lists by preserving the items order (#7985)
New filters lists_union, lists_intersect, lists_difference and lists_symmetric_difference added.

Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
Co-authored-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-02-23 20:35:09 +01:00
adaniaud
49bd9cbd3c
Add noexec support to sudoers (#7983)
* Add noexec support to sudoers

* Add changelog fragment #7983

* Fix yml formatting in fragment 7983

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-02-23 06:36:45 +01:00
Maxopoly
ffa3d15881
Implement integration tests for apk (#7992)
* Implement integration tests for apk

* Add group for apk integration test

* Adjust integration tests of apk as suggested in PR
2024-02-22 20:48:11 +01:00
desand01
001292c780
Fixes #1226 - keycloak_client detects changes on check_mode but not in run mode (#7881)
* Fix warning integrated

* Update Keycloak version intergrated test

* Exclude metadata from diff test

* Sanity

* Add fragments

* typo

* Add test

* Update changelogs/fragments/7881-fix-keycloak-client-ckeckmode.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Remove docker compose

* Update changelogs/fragments/7881-fix-keycloak-client-ckeckmode.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>
2024-02-17 12:31:45 +01:00
Benjamin Mitzkus
6088e2dc0f
fixes #7918 - onepassword lookup fails if field name contains uppercase letters and section is specified (#7919)
* fix #7918

* Update plugins/lookup/onepassword.py

Co-authored-by: Sam Doran <github@samdoran.com>

* onepassword lookup: transform field ids to lowercase

* #7918: added unit tests

* #7919: add changelog fragment

* Update changelogs/fragments/7919-onepassword-fieldname-casing.yaml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Sam Doran <github@samdoran.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2024-02-16 13:53:07 +01:00
Felix Fontein
980fa36fac
Add default_without_diff callback (#7949)
* Add default_without_diff callback.

* Add examples and BOTMETA entry.
2024-02-14 22:53:16 +01:00
Felix Fontein
549a73bd78
filesize: use 2 TB instead of 4 TB in sparse file tests (#7935)
Use 2 TB instead of 4 TB.

4 TB does not work on the Alpine VMs for some reason
(File too large / cannot seek: Invalid argument).
2024-02-03 15:06:35 +01:00
Felix Fontein
2580da9796
Zuul third-party-check: disable ansible-doc part of galaxy-importer (#7907)
Zuul third-party-check: disable ansible-doc part of galaxy-importer.
2024-01-27 15:28:10 +01:00
Florian Apolloner
afd1988810
Consul action group (#7897)
Added action group for new style consul modules.
2024-01-27 10:58:41 +01:00
João Victor Silva
be3bfd6fa5
Detection of already installed homebrew cask (#7870)
* fix: detect already installed cask

Use json output v2 to check if formulae and casks are installed

chore: add changelog fragment

* test: add homebrew cask specific tests

* refactor: change cask used in tests

* chore: apply suggestions to changelog fragment
2024-01-27 10:23:52 +01:00
Florian Apolloner
29f9865497
Add new consul modules and reuse code between them. (#7878)
Refactored consul modules and added new roles.
2024-01-27 10:22:44 +01:00
Gabriele Pongelli
5c72ab34bf
New module: gitlab_label (#7657)
* gitlab project label first commit

* fixes from CI run

* fixing some sanity test

* sanity checks, removing typing

* remove default for required field

* fix indentation

* improving test set

* fixes to pass test set

* reuse compliancy

* fix sanity checks

* fix: method returns group, not project

* refactor: start adding group, test still pass

* updated module and tests to handle group labels

* update name to remove 'project'

* removing default

* typo

* generic name for returned dict

* returns also label object from library invocation

* remove unused var, updated doc

* fix output object name

* version_added

Co-authored-by: Felix Fontein <felix@fontein.de>

* Remove python 2.7

Co-authored-by: Felix Fontein <felix@fontein.de>

* Missing dot

Co-authored-by: Felix Fontein <felix@fontein.de>

* Remove version_added

Co-authored-by: Felix Fontein <felix@fontein.de>

* Remove useless doc

Co-authored-by: Felix Fontein <felix@fontein.de>

* Color is a string

* Fixes from recent PR comments.

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-01-26 23:31:22 +01:00
Gabriele Pongelli
4298f2dd92
New module: gitlab_milestone (#7824)
* new module gitlab_milestone

* change BOTMETA

* remove blank line

* version_added field

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/gitlab_milestone.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update description with reference

Co-authored-by: Felix Fontein <felix@fontein.de>

* Dates as string type

* Removed python 2.7 requirement

* Fixes from recent PR comments.

* milestones_obj returned on success

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-01-26 23:30:35 +01:00
Florian Apolloner
44679e71a2
Refactor of consul modules (#7826)
* Extract common functionality.

* Refactor duplicated code into module_utils.

* Fixed ansible-test issues.

* Address review comments.

* Revert changes to consul_acl.

It uses deprecated APIs disabled since Consul 1.11 (which is EOL), don't
bother updating the module anymore.

* Remove unused code.

* Merge token into default doc fragment.

* JSON all the way down.

* extract validation tests into custom file and prep for requests removal.

* Removed dependency on requests.

* Initial test for consul_kv.

* fixup license headers.

* Revert changes to consul.py since it utilizes python-consul.

* Disable the lookup test for now.

* Fix python 2.7 support.

* Address review comments.

* Address review comments.

* Addec changelog fragment.

* Mark ConsulModule as private.
2024-01-21 18:29:29 +01:00
Felix Fontein
002208f425
Make compatible with newer reuse versions (#7858)
Make compatible with newer reuse versions.
2024-01-17 23:17:07 +01:00
Parsa Yousefi
31de16cee3
ipa_otptoken: fix wrong return value string to bool (#7795)
ipa_data is return ipatokendisable in boolean format and the module expects it as a string
this behavior causes a lack of idempotency and the get_diff module will fail in the second run.
2024-01-16 22:14:26 +01:00
Felix Fontein
76fde43fca
CI: remove ignore files for ansible-core 2.11 and 2.12 (#7837)
Remove ignore files for ansible-core 2.11 and 2.12.
2024-01-13 15:54:55 +01:00
Felix Fontein
8891f559ef
Disable timezone tests on Arch Linux (#7831)
Disable timezone tests on Arch Linux.
2024-01-13 10:11:24 +01:00
Felix Fontein
878664778e
CI: fix xml tests on RHEL 8 (#7827)
* Try to fix xml installation on RHEL.

* Install python-lxml on RHEL 8. Should speed up tests considerably.
2024-01-13 09:57:58 +01:00
Felix Fontein
9946f758af
CI: for some reason async-timeout doesn't seem to get installed on Python 3.11 (#7811)
For some reason async-timeout doesn't seem to get installed on Python 3.11.
2024-01-05 08:08:19 +01:00
Felix Fontein
ee8b15708f
Fix failing sanity and integration tests (#7807)
* Remove some Shippable specific code that trips latest shellcheck.

* Rename templated shell script to .sh.j2 to avoid shellcheck disliking the templating.

* Copy on the remote, not from controller to remote.
2024-01-04 22:46:37 +01:00
Parsa Yousefi
6afe35d263
ipa: ipa_pwpolicy update pwpolicy module (#7723)
* ipa: ipa_pwpolicy support maxrepeat, maxsequence, dictcheck, usercheck, gracelimit

* ipa: ipa_pwdpolicy replace if statements with for loop

* ipa: ipa_pwdpolicy add changelog
2023-12-31 15:21:59 +01:00
Julian
4f92f39720
Proxmox add storage content listing (#7725)
Add module to list content on proxmox storage

We first add a method to list storage content for proxmox, then use that
new methode to add an Ansible module to list content on storage attached
to a proxmox node. User can also use content filtering to define what
they want to list (backup, iso, images,...).

This commit also include the integration and unit test for that new
module.

Co-authored-by: Julian Vanden Broeck <julian.vandenbroeck@dalibo.com>
2023-12-31 15:21:20 +01:00
weisheng-p
3318034403
Add github_app_access_token lookup plugin (#7761)
* Add github_app_access_token lookup plugin

* Fix a typo in short_description

* Remove unused MockOpenUrl

* Fix MockJWT to be used on jwt_instance instead

* Fix a bunch of pep8 and pylint issue

* Remove JWT from requirements, also default jwt_instance and jwk_from_pem so they can be mocked

* Update version added

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update git reference in doc

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/lookup/github_app_access_token.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Expose token expiry as a configurable option

* Update BOTMETA.yml

* Update documentation

* Update example with var, so it is more readable

Co-authored-by: Felix Fontein <felix@fontein.de>

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2023-12-31 15:20:57 +01:00
Andrew Hyatt
acc3173030
Add dnf_config_manager module (#7745)
* Add dnf_config_manager module

* add BOTMETA

* document return values

* improve error messages

* fix doc indent

* make regexes raw strings

* formatting improve

* fix indent

* update version_added

* Tweaks from feedback and unit testing

* fix copyright and python2.7

* remove shebang

* documentation updates

* Change return values to not have varying keys

* sort returned lists
2023-12-29 09:42:02 +01:00
John Berninger
1a3c93f80c
Add proxmox_node_info module (#7689)
* Add proxmox_node_info module - restarted PR due to erroneous update/push of my local fork.

* Used wrong user ID.

* Changes requested by felixfontein:
- Capitalization and punctuation in documentation section
- trailing comma on line 125
- Re-order BOTMETA so it is alphabetical

* Mis-copied older version of code, correcting actual call

* Add tests for proxmox_node_info module
2023-12-29 09:41:49 +01:00
desand01
e99b5086a8
Keycloak components info (#7694)
* Before test

* first test

* test

* Sanity ok

* Fixe readme

* Refactor

* Sanity

* Fixe doc

* version added

* refactor

* Copyright

* Sanity

* Sanity

* Fixe text

* Encode providerType

* Test for failed ic

* Update plugins/modules/keycloak_component_info.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/keycloak_component_info.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/keycloak_component_info.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/keycloak_component_info.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/keycloak_component_info.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/keycloak_component_info.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/keycloak_component_info.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Delete changelogs/fragments/7694-Keycloak-components-info.yml

---------

Co-authored-by: Andre Desrosiers <andre.desrosiers@ssss.gouv.qc.ca>
Co-authored-by: Felix Fontein <felix@fontein.de>
2023-12-28 18:11:55 +01:00
Alexander Groß
f7bc6964be
Add keycloak_realm_rolemapping module to map realm roles to groups (#7663)
* Add keycloak_realm_rolemapping module to map realm roles to groups

* Whitespace

* Description in plain English

* Casing

* Update error reporting as per #7645

* Add agross as maintainer of keycloak_realm_rolemapping module

* cid and client_id are not used here

* Credit other authors

* mhuysamen submitted #7645
* Gaetan2907 authored keycloak_client_rolemapping.py which I took as a
  basis

* Add integration tests

* With Keycloak 23 realmRoles are only returned if assigned

* Remove debug statement

* Add test verifying that unmap works when no realm roles are assigned

* Add license to readme

* Change version number this module was added

* Document which versions of the docker images have been tested

* Downgrade version_added

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2023-12-28 18:11:32 +01:00
Felix Fontein
e9f7f7e2de
CI: python-memcached 1.60 needs Python 3.6+ (#7776)
python-memcached 1.60 needs Python 3.6+.
2023-12-28 10:32:36 +01:00
Jakub Danek
fd0d05d6f2
Bugfix: keycloak_identity_provider does not handle mapper changes properly (#7418)
* fix keycloak_identity_provider ITs to actually pass

- wrong identityProviderAlias in mapper configuration

* kc_identity_provider: add mapper reconfiguration regression tests

* test for removing an existing mapper
* test for adding a new mapper when others already exist
* test for module idempotency when mappers not ordered by name in ascending order

* kc_identity_provider: add bugfixes for mapper reconfigurations

* removing an existing mapper
* adding a new mapper when others already exist
* module idempotency when mappers not ordered by name in ascending order

* add changelog fragment

* prevent unnecessary update_mapper calls when there is no change

* Update changelogs/fragments/7418-kc_identity_provider-mapper-reconfiguration-fixes.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update changelogs/fragments/7418-kc_identity_provider-mapper-reconfiguration-fixes.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update changelogs/fragments/7418-kc_identity_provider-mapper-reconfiguration-fixes.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/keycloak_identity_provider.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* kc_identity_provider: sort changeset mappers via name OR id to prevent potential failures in case name was not specified in playbook

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2023-12-28 09:50:01 +01:00
Steffen Scheib
ec12422fae
Adding a new filter: to_ini, which allows conversion of a dictionary to an INI formatted string (#7744)
* Adding a new filter: to_ini, which allows conversion of a dictionary to an INI formatted string

* Adding to_ini maintainers into BOTMETA

* Correcting filter suffix

* Moving filter to correct path

* Adding error handling; Removing quotes from examples; Fixing RETURN documentation

* Removing the last newline char; Adding error handling for an empty dict

* Adding integration tests for to_ini

* Fixing F-String usage

* Fixing formatting

* Fixing whitespace

* Moving import statements below documentation; Adding a more generic Exception handling; Removing unused imports

* Removing not needed set_fact and replacing it with using vars:

* Replacing MutableMapping with Mapping
2023-12-28 08:32:57 +01:00
Stéphane Graber
6d74e0c640
Introduce an Incus connection plugin (#7726)
* plugins/connection/incus: Introduce new plugin

Signed-off-by: Stéphane Graber <stgraber@stgraber.org>

* BOTMETA: Add incus connection plugin

Signed-off-by: Stéphane Graber <stgraber@stgraber.org>

* tests/integration: Add connection_incus test

Signed-off-by: Stéphane Graber <stgraber@stgraber.org>

---------

Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2023-12-28 08:32:31 +01:00
Steffen Scheib
ec6dfe2fcd
Adding a new filter: from_ini, which allows conversion of INI content to a dictionary (#7743)
* Adding a new filter: from_ini, which allows conversion of INI content to a dictionary

* Adding from_ini maintainers into BOTMETA

* Adding error handling; Removing quotes from examples; Fixing RETURN documentation

* Adding integration tests

* Moving imports below documentation; Adding a more general exception handling
2023-12-28 08:32:21 +01:00
Felix Fontein
0b0a302855
Add documentation stubs for undocumented module options (#7738)
Add documentation stubs for undocumented module options.
2023-12-20 07:32:56 +01:00
mjfinney
6c1eb77f18
Add ssh_config module option for identities_only (#7704)
* Add ssh_config module option for identities_only

* Add changelog fragment for 7704

* remove trailing whitespace

* Apply suggestions from code review

Documentation change suggestions from felixfontein

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Michael Finney <michael.finney@tpwd.texas.gov>
Co-authored-by: Felix Fontein <felix@fontein.de>
2023-12-17 15:14:24 +01:00
mjfinney
5e5e1963c3
ssh_config: Add add_keys_to_agent option (#7703)
* Add ssh_config module option for add_keys_to_agent

* Add changelog fragment for 7703

---------

Co-authored-by: Michael Finney <michael.finney@tpwd.texas.gov>
2023-12-17 15:14:07 +01:00
Felix Fontein
838e4e3f02
Add Alicloud, Online, Packet, and Scaleway scenario guides (#7714)
* Add Alicloud, Packet, and Scaleway scenario guides.

These were taken from
3f12228c79/docs/docsite/rst/scenario_guides
and adjusted to reality.

* Fix references.

* Add Online guide.

* Add BOTMETA entries.

* Use FQCN.

* Improve code formatting and indentation.

* Update BOTMETA.
2023-12-11 19:09:57 +01:00
Felix Fontein
0c7b9e50b5
Fix keytool setup on Debian Bookworm (#7709)
Fix keytool setup on Debian Bookworm.
2023-12-09 23:47:48 +01:00
Felix Fontein
aea238e5d1
Fix integration tests on Arch (#7705)
* Fix ejabberd_user integration tests on Arch Linux.

* Fix odbc integration tests on Arch Linux.

* The old name of systemd_service is systemd.
2023-12-09 17:21:05 +01:00
castorsky
68051774d8
[proxmox_vm_info] Add ability to retrieve config (#7485)
* feat: add ability to retrieve config

Light refactor of get_vms_from_nodes function.
Added ability to retrieve configuration for existing machines (current or pending).

* Add changelog fragment

* Add changelog fragment (newline missed)

* Update changelogs/fragments/7485-proxmox_vm_info-config.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* Replaced two bool options with one three-state option

* Module args for the three-state option

* Remove trailing newline

* Make use of dict instead of list. Fix uncalled 'get config for lxc'.

* Sanity tests

* A couple of unit tests fixed

* Unit tests fixed

* Unit tests for p2.7 fixed. Test for config parameter added.

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2023-12-04 05:59:21 +01:00
Laszlo Szomor
a599afa384
lvol: Change `pvs` argument type to list (of str) (#7676)
* lvol: Change ``pvs`` argument type to list (of str)

* Add changelog fragment

* Apply review suggestions
2023-12-04 05:58:55 +01:00
apecnascimento
88d2a3a1fb
Feat nomad token module (#7523)
* Add nomad_token module

* Updatate nomad maintainers list

* Fix Example docstring

* Fix identations and Flake8 rules

* Fix  trailing whitespace

* Fix SyntaxError error

* change stringh format

* Fix Return doc string

* Fix Examples

* Fix flake8  rule W293

* Fix Doc schema

* Fix argument_spec

* Add maintainer

* Fix Example doc

* Remove token_info

* Change Doc

* Change nomad api acl token link

* Remove return whitespace

* Update plugins/modules/nomad_token.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/nomad_token.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/nomad_token.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/nomad_token.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/nomad_token.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/nomad_token.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/nomad_token.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Fix add changed state to True

* Update plugins/modules/nomad_token.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Change suport check mode

* Add unity tests

* Remove unused import

* Remove tests unused import

* Change python-nomad versions

Co-authored-by: Felix Fontein <felix@fontein.de>

* Change acl for ACL

Co-authored-by: Felix Fontein <felix@fontein.de>

* Add ACL to all docs

* Change msg to ansible common return value

* Fix flake8 W291

* Update description.

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2023-12-03 13:51:39 +01:00
Günther Grill
07bac1777f
git_config: support multiple values for same name (#7260)
* Refactor the existing git_config.py

* Support multiple values for same name
2023-12-03 09:41:34 +01:00
Ondrej Zvara
f4a87fdbcb
New module: gitlab_issue.py (#7539)
* feat(gitlab_issue): adds module for gitlab issues management

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* fix(gitlab_issue): assignee_ids and labels as lists

* docs(gitlab_issue): fix missing element types

* Apply suggestions from code review

Co-authored-by: Léo GATELLIER <26511053+lgatellier@users.noreply.github.com>

* chore(gitlab_issue): remove unnecessary parameter checks

* chore(gitlab_issue): renaming milestone_id parameter to milestone_search

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Léo GATELLIER <26511053+lgatellier@users.noreply.github.com>
2023-12-02 20:55:19 +01:00
Sam Doran
241cc02fa8
onepassword lookup - Make section and field case insensitive (#7564)
* onepassword lookup: Make section and field case insensitive

This was a regression in behavior when adding support for op v2.

* Return a string by default to avoid an exception if a field is missing

* Use a helper function to lower a value if possible

* Update changelog
2023-12-01 17:47:49 +01:00
Felix Fontein
096d36adc5
passwordstore tests: re-enable gopass on Debian-like systems (#7656)
Re-enable gopass on Debian-like systems.
2023-12-01 16:39:51 +00:00
Felix Fontein
0589c84176
Fix and re-enable cmd_runner tests (#7630)
Fix cmd_runner tests.
2023-12-01 12:46:31 +01:00
Pino Toscano
af01b462d5
redhat_subscription: use D-Bus registration on RHEL 7 only on 7.4+ (#7624)
subscription-manager does not provide a D-Bus interface in versions of
RHEL 7 older than 7.4.
2023-11-30 05:58:07 +01:00
Günther Grill
1b9d437be8
New module git config info (#7587)
Add new module git_config_info
2023-11-29 08:37:50 +01:00
Felix Fontein
dbba0d1956
Fix osx_defaults tests (#7631)
Fix osx_defaults tests.
2023-11-29 07:40:32 +01:00
Felix Fontein
3b779ecade
Fix bad expressions in tests (#7625)
* Fix bad expressions in tests.

ci_complete

* Disable cmd_runner integration tests.

ci_complete

* Another bad expression.

ci_complete
2023-11-29 06:53:48 +01:00
Sam Doran
e0346d400f
Add onepassword_doc lookup plugin (#7490)
* Add onepassword_doc lookup plugin

* Switch to a doc fragment

* Add unit test

* Update docs

* Move parameter validation to the OnePass object

This makes it built in for other lookup plugins using this class.

* Use kwargs for OnePass instantiation

There are enough parameters now that using them positionally can result in
odd behavior.

* Update tests

Correct conftest file name so fixtures are discovered and loaded correctly
Move constant so it doesn’t need to be imported
Add a patch since the parameter validation moved to part of the class init

* Use a lookup docs fragment

* Correct plugin description
2023-11-26 20:32:20 +01:00
Felix Fontein
5adb7ab948
interfaces_file: filter by address_familiy when updating method (#7612)
* When updating method, check address_family if provided.

* Also test modifying 'method' without address_family filter.
2023-11-26 19:34:13 +01:00
IamLunchbox
d05932fb2c
Add option to proxmox dynamic inventory to exclude nodes (#7461)
* Create option to exclude proxmox nodes

* improve node exclusion by only remove the top level group

* add fragment

* Update changelogs/fragments/7437-proxmox-inventory-add-exclude-nodes.yaml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/inventory/proxmox.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Rework node exclusion

* Update fragement PR number

* include release version in option

Co-authored-by: Felix Fontein <felix@fontein.de>

* Clarify description

* Update unit test

* Fix typos in unit test

* Fix additonal typos in test

* Fix CI

* Fixing yet another whitespace pep error

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2023-11-26 17:23:33 +01:00
Boolman
938aec492e
[keycloak_user_federation]: Adding option krbPrincipalAttribute (#7538)
* keycloak_user_federation: Adding support for krbPrincipalAttribute

Signed-off-by: boolman <boolman@gmail.com>

* pr/7538 adding changelogs/fragment file

Signed-off-by: boolman <boolman@gmail.com>

* Update changelogs/fragments/7538-add-krbprincipalattribute-option.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/keycloak_user_federation.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/keycloak_user_federation.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Signed-off-by: boolman <boolman@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2023-11-26 17:20:05 +01:00
Felix Fontein
12395732e8
CI: temporarily skip passwordstore tests on Debian/Ubuntu (#7603)
Skip passwordstore tests on Debian/Ubuntu.
2023-11-26 17:19:24 +01:00
Vladimir Botka
2a5e7c33df
Add test fqdn_valid (#7533)
* Add test fqdn_valid

* Add integration test fqdn_valid

* Add changelogs 7533-add-test-fqdn_valid

* Fix changelogs filename 7533-add-test-fqdn_valid.yml

* Add runme.* to install PyPI package fqdn and run the test.

* Remove changelog. New tests are documented by their version_added + short_description.

* Guarded import fqdn.

* Update plugins/test/fqdn_valid.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/test/fqdn_valid.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/test/fqdn_valid.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/test/fqdn_valid.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update tests/integration/targets/test_fqdn_valid/aliases

Co-authored-by: Felix Fontein <felix@fontein.de>

* Add tests/fqdn_valid.py maintained by vbotka.

* Fix integration. Add explicit collections to test_fqdn_valid

* Fix integration. Remove unused import ansible.errors

* Fix PEP8 E275

* Fix E402 module level import not at top of file.

* Fix E275 missing whitespace after keyword

* Update plugins/test/fqdn_valid.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/test/fqdn_valid.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/test/fqdn_valid.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/test/fqdn_valid.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2023-11-22 09:12:00 +01:00
Alex Groshev
5147c49498
Add support for loopback type in nmcli module (#7515)
* add support for loopback devices

* add support for loopback devices

* fix yamllint issue in changelog fragment

* Fix yamlint warning and add note about new connectin type in docs

* change order of lines in documentation so they are sorted
2023-11-22 09:11:40 +01:00
Alexei Znamensky
9b16392648
test helper: Helper.from_module() injects test function into test module (#7560) 2023-11-20 23:23:16 +13:00
Felix Fontein
b8ecb1671b
CI: devel supports Fedora 39, and no longer Fedora 38 (#7541)
* devel supports Fedora 39, and no longer Fedora 38.

* Disable 'mail' tests for Python 3.12+.

Ref: https://github.com/ansible-collections/community.general/issues/4656

* Fix setupSSLServer to work with Python 3.12.
2023-11-18 14:03:16 +01:00
Felix Fontein
b3c661a9f6
sysrc: FreeBSD jail test no longer works with FreeBSD 13.1 (#7543)
Jail test no longer works with FreeBSD 13.1.
2023-11-18 13:51:00 +01:00