Compare commits

...

36 Commits
4.8.6 ... 4.8.9

Author SHA1 Message Date
Felix Fontein
15ad2448f1 Release 4.8.9. 2022-11-06 12:55:53 +01:00
Felix Fontein
ff2b016c66 Drop stable-3 from weekly CI; migrate stable-4 from nightly to weekly.
(cherry picked from commit 90ac53d150)
2022-11-06 12:53:38 +01:00
Felix Fontein
44e522d311 ldap_attrs: escape ldap search filter (#5435) (#5470)
* escape ldap search filter

* move escape to separate line

* add changelog fragment

* Update changelogs/fragments/5435-escape-ldap-param.yml

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

* fix encoding

* fixup! fix encoding

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 1a97ca1a6f)

Co-authored-by: Reto Kupferschmid <kupferschmid@puzzle.ch>
2022-11-06 12:51:22 +01:00
Felix Fontein
b94800036b Prepare 4.8.9 release. 2022-11-06 11:46:22 +01:00
Felix Fontein
d119905bd5 Fix non-matching defaults. (#5452) (#5454)
(cherry picked from commit f84a9bf932)
2022-11-01 20:09:31 +01:00
Felix Fontein
2754d86ac5 Restrict Python 3.6 unit test requirements for elastic-apm. (#5441) 2022-10-29 13:02:29 +02:00
patchback[bot]
03ba48cf78 ldap_attrs: search_s based _is_value_present (#5385) (#5422)
* search_s based _is_value_present

* Fix formatted string and ldap import

* Add changelog fragment

* Remove superfluous import ldap

* Improve fragment

* Code format {x} prefix

* Lower-case fixes

* Fix suggestions to changelog

* Break with the past and let bools be bools

* Let ldap_attrs break on invalid DN's

(cherry picked from commit 091bdc77c3)

Co-authored-by: Martin <github@mrvanes.com>
2022-10-25 08:11:54 +02:00
Felix Fontein
147fbe602c Next expected release is 4.8.9. 2022-10-24 21:52:23 +02:00
Felix Fontein
ec2efb26d0 Release 4.8.8. 2022-10-24 21:03:23 +02:00
Felix Fontein
150495a15f Fix broken changelog fragment.
(cherry picked from commit c88f0f4ca0)
2022-10-24 21:02:44 +02:00
patchback[bot]
b2b3c056ca clarify jc filter usage in the example (#5396) (#5419)
* Update jc.py

##### SUMMARY
<!— Your description here –>

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

* Update jc.py

* Update plugins/filter/jc.py

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

* Update jc.py

* Update plugins/filter/jc.py

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

* Update jc.py

* Update jc.py

* Update jc.py

* Update plugins/filter/jc.py

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

* Update plugins/filter/jc.py

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

* change all of the tags to be FQMN

FQMN = fully qualified module name

* Update jc.py

* Update plugins/filter/jc.py

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

* Update jc.py

* Update jc.py

* Update plugins/filter/jc.py

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

* Update jc.py

* Update plugins/filter/jc.py

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

* Update plugins/filter/jc.py

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

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 70c57dcb6a)

Co-authored-by: Ron Green <11993626+georgettica@users.noreply.github.com>
2022-10-24 20:59:45 +02:00
patchback[bot]
557594c392 pkgng: fix error-handling when upgrading all (#5369) (#5410)
* pkgng: fix error-handling when upgrading all

* provide for rc=1 in check_mode + test

* fix name of task in test

* add changelog fragment

(cherry picked from commit baa8bd52ab)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2022-10-23 20:56:12 +02:00
Felix Fontein
b6a6edd403 Prepare 4.8.8 release. 2022-10-23 16:43:35 +02:00
patchback[bot]
e42770d4bf archive: better expose requirements (#5392) (#5401)
* Better expose requirements.

* Move sentence back to notes.

* Update plugins/modules/files/archive.py

Co-authored-by: Maxwell G <gotmax@e.email>

* Break line.

Co-authored-by: Maxwell G <gotmax@e.email>
(cherry picked from commit a023f2a344)

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-10-21 07:21:49 +02:00
patchback[bot]
1b78f18bf4 Do not crash when lzma is not around. (#5393) (#5397)
(cherry picked from commit 5aa1e58749)

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-10-20 20:45:27 +02:00
patchback[bot]
ec11d13825 Fix module. (#5383) (#5387)
(cherry picked from commit c3bdc4b394)

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-10-19 10:30:49 +02:00
patchback[bot]
eb066335f8 [opentelemetry][callback] support opentelemetry-api 1.13 (#5342) (#5378)
* [opentelemetry][callback] support opentelemetry-api 1.13

* [opentelemetry][callback] changelog fragment

* Update changelogs/fragments/5342-opentelemetry_bug_fix_opentelemetry-api-1.13.yml

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

* [opentelemetry-callback] refactor time_ns in a function

* fix linting

* change branch outside of the function

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

* [opentelemetry]: remove options from suggestion

* Apply suggestions from code review

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

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 5732023aa2)

Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com>
2022-10-18 10:38:22 +02:00
patchback[bot]
cb26897b3e Make pfexec become usable for illumos (#3889) (#5338)
* Experimental change from OpenIndiana

* resolve pfexec problem, by removing superfluous quotes

* reimplement "wrap_exe"

* remove spaces arround keyword argument assignment

* adapted pfexec unit test

* Try to fix quoting of test expression

* Fix quoting of test expression by replacing ' with "

* Add changelog fragment

(cherry picked from commit dc2d3c24fa)

Co-authored-by: manschwetusCS <30724946+manschwetusCS@users.noreply.github.com>
2022-10-05 11:03:32 +00:00
patchback[bot]
b7b5c1852e keycloak_user_federation: add explanation and example to vendor option (#4893) (#5335)
* Add explanation and example to vendor option

##### SUMMARY
<!— Your description here –>

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

* Update plugins/modules/identity/keycloak/keycloak_user_federation.py

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

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 7b86fa6a7d)

Co-authored-by: clovis-monmousseau <58973012+clovis-monmousseau@users.noreply.github.com>
2022-10-05 08:18:45 +02:00
patchback[bot]
97dce1f621 Fix #5313: redhat_subscription module is not idempotent when pool_ids (#5319) (#5329)
This fix ensures the idempotency of the redhat_subscription module when pool_ids are used. The main problem was, that a 'None' quantity was not properly handled and that the quantity check compared a string with an integer.

Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>

Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
Co-authored-by: Christoph Fiehe <c.fiehe@eurodata.de>
(cherry picked from commit 6fe2a84e87)

Co-authored-by: cfiehe <cfiehe@users.noreply.github.com>
2022-10-03 20:36:32 +02:00
Felix Fontein
0618af9b1e Next expected release is 4.8.8. 2022-10-03 07:00:06 +02:00
Felix Fontein
bd5f7197d6 Release 4.8.7. 2022-10-03 06:29:30 +02:00
Felix Fontein
8532e0e086 Prepare 4.8.7 release. 2022-10-02 22:06:22 +02:00
patchback[bot]
096f8bed3b locale_gen: fix UbuntuMode (#5282) (#5309)
* Fix UbuntuMode

* Fix indentation

* Create 5281-locale_gen.yaml

* Update and rename 5281-locale_gen.yaml to 5282-locale_gen.yaml

* apply suggested changes

* apply suggested change

(cherry picked from commit fb1cf91ebd)

Co-authored-by: Bartosz-lab <73119351+Bartosz-lab@users.noreply.github.com>
2022-09-25 21:07:25 +02:00
Felix Fontein
725d16d835 Replace devel with stable-2.14 in CI. (#5299) 2022-09-21 08:07:16 +02:00
patchback[bot]
5462773827 gitlab modules: improved imports (#5259) (#5276)
* gitlab modules: improved imports

* add changelog fragment

* refactored the import check to its sole function

(cherry picked from commit 6b463e6fa6)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2022-09-12 21:14:02 +02:00
patchback[bot]
f798d914e1 Fix pkgng tests (#5266) (#5269)
* Now there are problems with 13.0 as well. But maybe 13.1 works again?

* 13.1 still does not work, maybe 13.2 will (not yet available in CI)...

(cherry picked from commit b371bd6a5b)

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-09-10 11:39:58 +02:00
patchback[bot]
c3d5a7b1b8 Restrict Python packages for nomad tests. (#5262) (#5264)
(cherry picked from commit dde0b55f1a)

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-09-10 11:16:36 +02:00
patchback[bot]
9bd160d989 ali_instance: fixed markups in doc (#5226) (#5231)
* ali_instance: fixed markups in doc

* Update plugins/modules/cloud/alicloud/ali_instance.py

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

* Update plugins/modules/cloud/alicloud/ali_instance.py

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

* Update plugins/modules/cloud/alicloud/ali_instance.py

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

* Update plugins/modules/cloud/alicloud/ali_instance.py

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

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit ac8b034061)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2022-09-04 15:59:43 +02:00
patchback[bot]
1b800273ef ipwcli_dns: fixed markups in doc (#5225) (#5229)
* ipwcli_dns: fixed markups in doc

* added punctuation

(cherry picked from commit a481f8356e)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2022-09-04 15:59:34 +02:00
patchback[bot]
61306b579e Update BOTMETA.yml (#5165) (#5216)
* Update BOTMETA.yml

Removing Endlesstrax and Amigus as maintainers.

* Update .github/BOTMETA.yml

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

* Update BOTMETA.yml

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 86f4d798a9)

Co-authored-by: tylerezimmerman <100804646+tylerezimmerman@users.noreply.github.com>
2022-09-03 11:46:29 +02:00
patchback[bot]
107a1729a4 Catch more broader error messages. (#5212) (#5214)
(cherry picked from commit fa49051912)

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-09-03 11:35:03 +02:00
patchback[bot]
895ae3b73e [TEMP] Fix RHEL 8 issues by restricting bcrypt to < 4.0.0 (#5183) (#5186)
(cherry picked from commit 8e59e52525)

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-08-25 08:21:26 +02:00
patchback[bot]
aa737429de filesystem: create temp directory outside /tmp to avoid problems with tmpfs. (#5182) (#5184)
(cherry picked from commit 8027bc5335)

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-08-25 06:58:56 +02:00
patchback[bot]
28830d8ca5 adding nested try block for tss.py to import new Delinea library (#5151) (#5163)
* adding nested try block to import delinea library

* whitespace

* Update plugins/lookup/tss.py

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

* adding changelog fragment

* Update changelogs/fragments/5151-add-delinea-support-tss-lookup.yml

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

Co-authored-by: Tom Reeb <Thomas.Reeb_e@morganlewis.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 9f39294f50)

Co-authored-by: Tom Reeb <tomreeb@users.noreply.github.com>
2022-08-23 22:10:49 +02:00
Felix Fontein
3825264260 Next expected release is 4.8.7. 2022-08-22 16:04:10 +02:00
116 changed files with 647 additions and 314 deletions

View File

@@ -24,13 +24,13 @@ schedules:
always: true
branches:
include:
- stable-4
- stable-5
- cron: 0 11 * * 0
displayName: Weekly (old stable branches)
always: true
branches:
include:
- stable-3
- stable-4
variables:
- name: checkoutPath
@@ -53,14 +53,14 @@ pool: Standard
stages:
### Sanity
- stage: Sanity_devel
displayName: Sanity devel
- stage: Sanity_2_14
displayName: Sanity 2.14
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Test {0}
testFormat: devel/sanity/{0}
testFormat: 2.14/sanity/{0}
targets:
- test: 1
- test: 2
@@ -133,14 +133,14 @@ stages:
- test: 3
- test: 4
### Units
- stage: Units_devel
displayName: Units devel
- stage: Units_2_14
displayName: Units 2.14
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: devel/units/{0}/1
testFormat: 2.14/units/{0}/1
targets:
- test: 2.7
- test: 3.5
@@ -211,13 +211,13 @@ stages:
- test: 3.5
## Remote
- stage: Remote_devel
displayName: Remote devel
- stage: Remote_2_14
displayName: Remote 2.14
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: devel/{0}
testFormat: 2.14/{0}
targets:
- name: macOS 12.0
test: macos/12.0
@@ -317,13 +317,13 @@ stages:
- 2
### Docker
- stage: Docker_devel
displayName: Docker devel
- stage: Docker_2_14
displayName: Docker 2.14
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: devel/linux/{0}
testFormat: 2.14/linux/{0}
targets:
- name: CentOS 7
test: centos7
@@ -422,13 +422,13 @@ stages:
- 3
### Community Docker
- stage: Docker_community_devel
displayName: Docker (community images) devel
- stage: Docker_community_2_14
displayName: Docker (community images) 2.14
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: devel/linux-community/{0}
testFormat: 2.14/linux-community/{0}
targets:
- name: Debian Bullseye
test: debian-bullseye/3.9
@@ -442,14 +442,14 @@ stages:
- 3
### Cloud
- stage: Cloud_devel
displayName: Cloud devel
- stage: Cloud_2_14
displayName: Cloud 2.14
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: devel/cloud/{0}/1
testFormat: 2.14/cloud/{0}/1
targets:
- test: 2.7
- test: '3.10'
@@ -506,32 +506,32 @@ stages:
- stage: Summary
condition: succeededOrFailed()
dependsOn:
- Sanity_devel
- Sanity_2_14
- Sanity_2_9
- Sanity_2_10
- Sanity_2_11
- Sanity_2_12
- Sanity_2_13
- Units_devel
- Units_2_14
- Units_2_9
- Units_2_10
- Units_2_11
- Units_2_12
- Units_2_13
- Remote_devel
- Remote_2_14
- Remote_2_9
- Remote_2_10
- Remote_2_11
- Remote_2_12
- Remote_2_13
- Docker_devel
- Docker_2_14
- Docker_2_9
- Docker_2_10
- Docker_2_11
- Docker_2_12
- Docker_2_13
- Docker_community_devel
- Cloud_devel
- Docker_community_2_14
- Cloud_2_14
- Cloud_2_9
- Cloud_2_10
- Cloud_2_11

6
.github/BOTMETA.yml vendored
View File

@@ -220,7 +220,8 @@ files:
$lookups/dnstxt.py:
maintainers: jpmens
$lookups/dsv.py:
maintainers: amigus endlesstrax delineaKrehl tylerezimmerman
maintainers: delineaKrehl tylerezimmerman
ignore: amigus
$lookups/etcd3.py:
maintainers: eric-belhomme
$lookups/etcd.py:
@@ -257,7 +258,8 @@ files:
maintainers: RevBits
$lookups/shelvefile.py: {}
$lookups/tss.py:
maintainers: amigus endlesstrax delineaKrehl tylerezimmerman
maintainers: delineaKrehl tylerezimmerman
ignore: amigus
$module_utils/:
labels: module_utils
$module_utils/gitlab.py:

View File

@@ -6,6 +6,71 @@ Community General Release Notes
This changelog describes changes after version 3.0.0.
v4.8.9
======
Release Summary
---------------
Bugfix release.
Note that from now on, community.general 4.x.y only receives security fixes and major bugfixes, but no longer regular bugfixes.
Bugfixes
--------
- ldap_attrs - fix bug which caused a ``Bad search filter`` error. The error was occuring when the ldap attribute value contained special characters such as ``(`` or ``*`` (https://github.com/ansible-collections/community.general/issues/5434, https://github.com/ansible-collections/community.general/pull/5435).
- ldap_attrs - fix ordering issue by ignoring the ``{x}`` prefix on attribute values (https://github.com/ansible-collections/community.general/issues/977, https://github.com/ansible-collections/community.general/pull/5385).
v4.8.8
======
Release Summary
---------------
Regular bugfix release.
Bugfixes
--------
- archive - avoid crash when ``lzma`` is not present and ``format`` is not ``xz`` (https://github.com/ansible-collections/community.general/pull/5393).
- opentelemetry callback plugin - support opentelemetry-api 1.13.0 that removed support for ``_time_ns`` (https://github.com/ansible-collections/community.general/pull/5342).
- pfexec become plugin - remove superflous quotes preventing exe wrap from working as expected (https://github.com/ansible-collections/community.general/issues/3671, https://github.com/ansible-collections/community.general/pull/3889).
- pkgng - fix case when ``pkg`` fails when trying to upgrade all packages (https://github.com/ansible-collections/community.general/issues/5363).
- redhat_subscription - make module idempotent when ``pool_ids`` are used (https://github.com/ansible-collections/community.general/issues/5313).
- xenserver_facts - fix broken ``AnsibleModule`` call that prevented the module from working at all (https://github.com/ansible-collections/community.general/pull/5383).
v4.8.7
======
Release Summary
---------------
Regular bugfix release.
Minor Changes
-------------
- gitlab module util - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_branch - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_deploy_key - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_group - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_group_members - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_group_variable - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_hook - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_project - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_project_members - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_project_variable - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_protected_branch - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_runner - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_user - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
Bugfixes
--------
- locale_gen - fix support for Ubuntu (https://github.com/ansible-collections/community.general/issues/5281).
- tss lookup plugin - adding support for updated Delinea library (https://github.com/DelineaXPM/python-tss-sdk/issues/9, https://github.com/ansible-collections/community.general/pull/5151).
v4.8.6
======

View File

@@ -17,7 +17,7 @@ If you encounter abusive behavior violating the [Ansible Code of Conduct](https:
## Tested with Ansible
Tested with the current Ansible 2.9, ansible-base 2.10, ansible-core 2.11, ansible-core 2.12, ansible-core 2.13 releases and the current development version of ansible-core. Ansible versions before 2.9.10 are not supported.
Tested with the current Ansible 2.9, ansible-base 2.10, ansible-core 2.11, ansible-core 2.12, ansible-core 2.13, and ansible-core 2.14 releases of ansible-core. Ansible versions before 2.9.10 are not supported.
## External requirements

View File

@@ -1921,3 +1921,81 @@ releases:
- 5112-fix-nsupdate-ns-entry.yaml
- licenses.yml
release_date: '2022-08-22'
4.8.7:
changes:
bugfixes:
- locale_gen - fix support for Ubuntu (https://github.com/ansible-collections/community.general/issues/5281).
- tss lookup plugin - adding support for updated Delinea library (https://github.com/DelineaXPM/python-tss-sdk/issues/9,
https://github.com/ansible-collections/community.general/pull/5151).
minor_changes:
- gitlab module util - minor refactor when checking for installed dependency
(https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_branch - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_deploy_key - minor refactor when checking for installed dependency
(https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_group - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_group_members - minor refactor when checking for installed dependency
(https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_group_variable - minor refactor when checking for installed dependency
(https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_hook - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_project - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_project_members - minor refactor when checking for installed dependency
(https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_project_variable - minor refactor when checking for installed dependency
(https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_protected_branch - minor refactor when checking for installed dependency
(https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_runner - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
- gitlab_user - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
release_summary: Regular bugfix release.
fragments:
- 4.8.7.yml
- 5151-add-delinea-support-tss-lookup.yml
- 5259-gitlab-imports.yaml
- 5282-locale_gen.yaml
release_date: '2022-10-03'
4.8.8:
changes:
bugfixes:
- archive - avoid crash when ``lzma`` is not present and ``format`` is not ``xz``
(https://github.com/ansible-collections/community.general/pull/5393).
- opentelemetry callback plugin - support opentelemetry-api 1.13.0 that removed
support for ``_time_ns`` (https://github.com/ansible-collections/community.general/pull/5342).
- pfexec become plugin - remove superflous quotes preventing exe wrap from working
as expected (https://github.com/ansible-collections/community.general/issues/3671,
https://github.com/ansible-collections/community.general/pull/3889).
- pkgng - fix case when ``pkg`` fails when trying to upgrade all packages (https://github.com/ansible-collections/community.general/issues/5363).
- redhat_subscription - make module idempotent when ``pool_ids`` are used (https://github.com/ansible-collections/community.general/issues/5313).
- xenserver_facts - fix broken ``AnsibleModule`` call that prevented the module
from working at all (https://github.com/ansible-collections/community.general/pull/5383).
release_summary: Regular bugfix release.
fragments:
- 3671-illumos-pfexec.yml
- 4.8.8.yml
- 5313-fix-redhat_subscription-idempotency-pool_ids.yml
- 5342-opentelemetry_bug_fix_opentelemetry-api-1.13.yml
- 5369-pkgng-fix-update-all.yaml
- 5383-xenserver_facts.yml
- 5393-archive.yml
release_date: '2022-10-24'
4.8.9:
changes:
bugfixes:
- ldap_attrs - fix bug which caused a ``Bad search filter`` error. The error
was occuring when the ldap attribute value contained special characters such
as ``(`` or ``*`` (https://github.com/ansible-collections/community.general/issues/5434,
https://github.com/ansible-collections/community.general/pull/5435).
- ldap_attrs - fix ordering issue by ignoring the ``{x}`` prefix on attribute
values (https://github.com/ansible-collections/community.general/issues/977,
https://github.com/ansible-collections/community.general/pull/5385).
release_summary: 'Bugfix release.
Note that from now on, community.general 4.x.y only receives security fixes
and major bugfixes, but no longer regular bugfixes.'
fragments:
- 4.8.9.yml
- 5385-search_s-based-_is_value_present.yaml
- 5435-escape-ldap-param.yml
release_date: '2022-11-06'

View File

@@ -1,6 +1,6 @@
namespace: community
name: general
version: 4.8.6
version: 4.8.9
readme: README.md
authors:
- Ansible (https://github.com/ansible)

View File

@@ -101,4 +101,4 @@ class BecomeModule(BecomeBase):
flags = self.get_option('become_flags')
noexe = not self.get_option('wrap_exe')
return '%s %s "%s"' % (exe, flags, self._build_success_command(cmd, shell, noexe=noexe))
return '%s %s %s' % (exe, flags, self._build_success_command(cmd, shell, noexe=noexe))

View File

@@ -94,13 +94,32 @@ try:
from opentelemetry.sdk.trace.export import (
BatchSpanProcessor
)
from opentelemetry.util._time import _time_ns
# Support for opentelemetry-api <= 1.12
try:
from opentelemetry.util._time import _time_ns
except ImportError as imp_exc:
OTEL_LIBRARY_TIME_NS_ERROR = imp_exc
else:
OTEL_LIBRARY_TIME_NS_ERROR = None
except ImportError as imp_exc:
OTEL_LIBRARY_IMPORT_ERROR = imp_exc
OTEL_LIBRARY_TIME_NS_ERROR = imp_exc
else:
OTEL_LIBRARY_IMPORT_ERROR = None
if sys.version_info >= (3, 7):
time_ns = time.time_ns
elif not OTEL_LIBRARY_TIME_NS_ERROR:
time_ns = _time_ns
else:
def time_ns():
# Support versions older than 3.7 with opentelemetry-api > 1.12
return int(time.time() * 1e9)
class TaskData:
"""
Data about an individual task.
@@ -112,10 +131,7 @@ class TaskData:
self.path = path
self.play = play
self.host_data = OrderedDict()
if sys.version_info >= (3, 7):
self.start = time.time_ns()
else:
self.start = _time_ns()
self.start = time_ns()
self.action = action
self.args = args
@@ -140,10 +156,7 @@ class HostData:
self.name = name
self.status = status
self.result = result
if sys.version_info >= (3, 7):
self.finish = time.time_ns()
else:
self.finish = _time_ns()
self.finish = time_ns()
class OpenTelemetrySource(object):

View File

@@ -42,6 +42,7 @@ options:
- The path on which InfluxDB server is accessible
- Only available when using python-influxdb >= 5.1.0
type: str
default: ''
version_added: '0.2.0'
validate_certs:
description:
@@ -79,4 +80,5 @@ options:
description:
- HTTP(S) proxy to use for Requests to connect to InfluxDB server.
type: dict
default: {}
'''

View File

@@ -22,6 +22,7 @@ options:
description:
- The password to use with I(bind_dn).
type: str
default: ''
dn:
required: true
description:

View File

@@ -16,6 +16,7 @@ options:
- Is needed for some modules
type: dict
required: false
default: {}
utm_host:
description:
- The REST Endpoint of the Sophos UTM.

View File

@@ -51,10 +51,16 @@ DOCUMENTATION = '''
type: boolean
default: false
requirements:
- jc (https://github.com/kellyjonbrazil/jc)
- jc installed as a Python library (U(https://pypi.org/project/jc/))
'''
EXAMPLES = '''
- name: Install the prereqs of the jc filter (jc Python package) on the Ansible controller
delegate_to: localhost
ansible.builtin.pip:
name: jc
state: present
- name: Run command
ansible.builtin.command: uname -a
register: result
@@ -107,15 +113,19 @@ def jc(data, parser, quiet=True, raw=False):
dictionary or list of dictionaries
Example:
- name: run date command
hosts: ubuntu
tasks:
- shell: date
- name: install the prereqs of the jc filter (jc Python package) on the Ansible controller
delegate_to: localhost
ansible.builtin.pip:
name: jc
state: present
- ansible.builtin.shell: date
register: result
- set_fact:
- ansible.builtin.set_fact:
myvar: "{{ result.stdout | community.general.jc('date') }}"
- debug:
- ansible.builtin.debug:
msg: "{{ myvar }}"
produces:
@@ -137,7 +147,7 @@ def jc(data, parser, quiet=True, raw=False):
"""
if not HAS_LIB:
raise AnsibleError('You need to install "jc" prior to running jc filter')
raise AnsibleError('You need to install "jc" as a Python library on the Ansible controller prior to running jc filter')
try:
jc_parser = importlib.import_module('jc.parsers.' + parser)

View File

@@ -170,19 +170,29 @@ try:
HAS_TSS_SDK = True
except ImportError:
SecretServer = None
SecretServerError = None
HAS_TSS_SDK = False
try:
from delinea.secrets.server import SecretServer, SecretServerError
HAS_TSS_SDK = True
except ImportError:
SecretServer = None
SecretServerError = None
HAS_TSS_SDK = False
try:
from thycotic.secrets.server import PasswordGrantAuthorizer, DomainPasswordGrantAuthorizer, AccessTokenAuthorizer
HAS_TSS_AUTHORIZER = True
except ImportError:
PasswordGrantAuthorizer = None
DomainPasswordGrantAuthorizer = None
AccessTokenAuthorizer = None
HAS_TSS_AUTHORIZER = False
try:
from delinea.secrets.server import PasswordGrantAuthorizer, DomainPasswordGrantAuthorizer, AccessTokenAuthorizer
HAS_TSS_AUTHORIZER = True
except ImportError:
PasswordGrantAuthorizer = None
DomainPasswordGrantAuthorizer = None
AccessTokenAuthorizer = None
HAS_TSS_AUTHORIZER = False
display = Display()

View File

@@ -13,10 +13,9 @@ from ansible.module_utils.common.text.converters import to_native
from ansible_collections.community.general.plugins.module_utils.version import LooseVersion
try:
from urllib import quote_plus # Python 2.X
from urlparse import urljoin
except ImportError:
from urllib.parse import quote_plus, urljoin # Python 3+
from urllib.parse import urljoin # Python 3+
import traceback
@@ -26,6 +25,7 @@ try:
import requests
HAS_GITLAB_PACKAGE = True
except Exception:
gitlab = None
GITLAB_IMP_ERR = traceback.format_exc()
HAS_GITLAB_PACKAGE = False
@@ -63,6 +63,14 @@ def find_group(gitlab_instance, identifier):
return project
def ensure_gitlab_package(module):
if not HAS_GITLAB_PACKAGE:
module.fail_json(
msg=missing_required_lib("python-gitlab", url='https://python-gitlab.readthedocs.io/en/stable/'),
exception=GITLAB_IMP_ERR
)
def gitlab_authentication(module):
gitlab_url = module.params['api_url']
validate_certs = module.params['validate_certs']
@@ -72,8 +80,7 @@ def gitlab_authentication(module):
gitlab_oauth_token = module.params['api_oauth_token']
gitlab_job_token = module.params['api_job_token']
if not HAS_GITLAB_PACKAGE:
module.fail_json(msg=missing_required_lib("python-gitlab"), exception=GITLAB_IMP_ERR)
ensure_gitlab_package(module)
try:
# python-gitlab library remove support for username/password authentication since 1.13.0

View File

@@ -45,12 +45,12 @@ options:
type: str
image_id:
description:
- Image ID used to launch instances. Required when C(state=present) and creating new ECS instances.
- Image ID used to launch instances. Required when I(state=present) and creating new ECS instances.
aliases: ['image']
type: str
instance_type:
description:
- Instance type used to launch instances. Required when C(state=present) and creating new ECS instances.
- Instance type used to launch instances. Required when I(state=present) and creating new ECS instances.
aliases: ['type']
type: str
security_groups:
@@ -89,7 +89,7 @@ options:
max_bandwidth_out:
description:
- Maximum outgoing bandwidth to the public network, measured in Mbps (Megabits per second).
Required when C(allocate_public_ip=True). Ignored when C(allocate_public_ip=False).
Required when I(allocate_public_ip=true). Ignored when I(allocate_public_ip=false).
default: 0
type: int
host_name:
@@ -153,7 +153,7 @@ options:
type: str
period:
description:
- The charge duration of the instance, in month. Required when C(instance_charge_type=PrePaid).
- The charge duration of the instance, in months. Required when I(instance_charge_type=PrePaid).
- The valid value are [1-9, 12, 24, 36].
default: 1
type: int
@@ -164,7 +164,7 @@ options:
default: False
auto_renew_period:
description:
- The duration of the automatic renew the charge of the instance. Required when C(auto_renew=True).
- The duration of the automatic renew the charge of the instance. Required when I(auto_renew=true).
choices: [1, 2, 3, 6, 12]
type: int
instance_ids:
@@ -216,31 +216,31 @@ options:
version_added: '0.2.0'
spot_strategy:
description:
- The bidding mode of the pay-as-you-go instance. This parameter is valid when InstanceChargeType is set to PostPaid.
- The bidding mode of the pay-as-you-go instance. This parameter is valid when InstanceChargeType is set to PostPaid.
choices: ['NoSpot', 'SpotWithPriceLimit', 'SpotAsPriceGo']
default: 'NoSpot'
type: str
version_added: '0.2.0'
period_unit:
description:
- The duration unit that you will buy the resource. It is valid when C(instance_charge_type=PrePaid)
- The duration unit that you will buy the resource. It is valid when I(instance_charge_type=PrePaid).
choices: ['Month', 'Week']
default: 'Month'
type: str
version_added: '0.2.0'
dry_run:
description:
- Specifies whether to send a dry-run request.
- If I(dry_run=True), Only a dry-run request is sent and no instance is created. The system checks whether the
required parameters are set, and validates the request format, service permissions, and available ECS instances.
If the validation fails, the corresponding error code is returned. If the validation succeeds, the DryRunOperation error code is returned.
- If I(dry_run=False), A request is sent. If the validation succeeds, the instance is created.
- Specifies whether to send a dry-run request.
- If I(dry_run=true), Only a dry-run request is sent and no instance is created. The system checks whether the
required parameters are set, and validates the request format, service permissions, and available ECS instances.
If the validation fails, the corresponding error code is returned. If the validation succeeds, the DryRunOperation error code is returned.
- If I(dry_run=false), A request is sent. If the validation succeeds, the instance is created.
default: False
type: bool
version_added: '0.2.0'
include_data_disks:
description:
- Whether to change instance disks charge type when changing instance charge type.
- Whether to change instance disks charge type when changing instance charge type.
default: True
type: bool
version_added: '0.2.0'

View File

@@ -60,6 +60,7 @@ options:
- The values specified here will be used at installation time as --set arguments for atomic install.
type: list
elements: str
default: []
'''
EXAMPLES = r'''

View File

@@ -44,6 +44,7 @@ options:
description:
- A description of the VLAN.
type: str
default: ''
network_domain:
description:
- The Id or name of the target network domain.
@@ -53,11 +54,13 @@ options:
description:
- The base address for the VLAN's IPv4 network (e.g. 192.168.1.0).
type: str
default: ''
private_ipv4_prefix_size:
description:
- The size of the IPv4 address space, e.g 24.
- Required, if C(private_ipv4_base_address) is specified.
type: int
default: 0
state:
description:
- The desired state for the target VLAN.

View File

@@ -33,6 +33,7 @@ options:
description:
- The timeouts for each operations.
type: dict
default: {}
suboptions:
create:
description:

View File

@@ -33,6 +33,7 @@ options:
description:
- The timeouts for each operations.
type: dict
default: {}
suboptions:
create:
description:

View File

@@ -33,6 +33,7 @@ options:
description:
- The timeouts for each operations.
type: dict
default: {}
suboptions:
create:
description:

View File

@@ -33,6 +33,7 @@ options:
description:
- The timeouts for each operations.
type: dict
default: {}
suboptions:
create:
description:

View File

@@ -34,6 +34,7 @@ options:
description:
- The timeouts for each operations.
type: dict
default: {}
suboptions:
create:
description:

View File

@@ -33,6 +33,7 @@ options:
description:
- The timeouts for each operations.
type: dict
default: {}
suboptions:
create:
description:

View File

@@ -33,6 +33,7 @@ options:
description:
- The timeouts for each operations.
type: dict
default: {}
suboptions:
create:
description:

View File

@@ -36,6 +36,7 @@ options:
description:
- Add the instance to a Display Group in Linode Manager.
type: str
default: ''
linode_id:
description:
- Unique ID of a linode server. This value is read-only in the sense that

View File

@@ -43,6 +43,7 @@ options:
- The default TTL for all records created in the zone. This must be a
valid int from U(https://www.memset.com/apidocs/methods_dns.html#dns.zone_create).
type: int
default: 0
choices: [ 0, 300, 600, 900, 1800, 3600, 7200, 10800, 21600, 43200, 86400 ]
force:
required: false

View File

@@ -43,11 +43,13 @@ options:
description:
- C(SRV) and C(TXT) record priority, in the range 0 > 999 (inclusive).
type: int
default: 0
record:
required: false
description:
- The subdomain to create.
type: str
default: ''
type:
required: true
description:
@@ -64,6 +66,7 @@ options:
description:
- The record's TTL in seconds (will inherit zone's TTL if not explicitly set). This must be a
valid int from U(https://www.memset.com/apidocs/methods_dns.html#dns.zone_record_create).
default: 0
choices: [ 0, 300, 600, 900, 1800, 3600, 7200, 10800, 21600, 43200, 86400 ]
type: int
zone:

View File

@@ -53,6 +53,7 @@ options:
description:
- The RHEV/oVirt cluster in which you want you VM to start.
type: str
default: ''
datacenter:
description:
- The RHEV/oVirt datacenter in which you want you VM to start.

View File

@@ -34,6 +34,7 @@ options:
- The name of the serverless framework project stage to deploy to.
- This uses the serverless framework default "dev".
type: str
default: ''
functions:
description:
- A list of specific functions to deploy.
@@ -41,12 +42,12 @@ options:
- Deprecated parameter, it will be removed in community.general 5.0.0.
type: list
elements: str
default: []
region:
description:
- AWS region to deploy the service to.
- This parameter defaults to C(us-east-1).
type: str
default: ''
deploy:
description:
- Whether or not to deploy artifacts after building them.

View File

@@ -89,6 +89,7 @@ options:
resources selected here will also auto-include any dependencies.
type: list
elements: str
default: []
lock:
description:
- Enable statefile locking, if you use a service that accepts locks (such

View File

@@ -161,9 +161,7 @@ def get_srs(session):
def main():
module = AnsibleModule(
supports_check_mode=True,
)
module = AnsibleModule({}, supports_check_mode=True)
if not HAVE_XENAPI:
module.fail_json(changed=False, msg="python xen api required for this module")

View File

@@ -59,6 +59,7 @@ options:
(port_from, port_to, and source)
type: list
elements: dict
default: []
add_server_ips:
description:
- A list of server identifiers (id or name) to be assigned to a firewall policy.
@@ -66,12 +67,14 @@ options:
type: list
elements: str
required: false
default: []
remove_server_ips:
description:
- A list of server IP ids to be unassigned from a firewall policy. Used in combination with update state.
type: list
elements: str
required: false
default: []
add_rules:
description:
- A list of rules that will be added to an existing firewall policy.
@@ -79,12 +82,14 @@ options:
type: list
elements: dict
required: false
default: []
remove_rules:
description:
- A list of rule ids that will be removed from an existing firewall policy. Used in combination with update state.
type: list
elements: str
required: false
default: []
description:
description:
- Firewall policy description. maxLength=256

View File

@@ -97,6 +97,7 @@ options:
port_balancer, and port_server parameters, in addition to source parameter, which is optional.
type: list
elements: dict
default: []
description:
description:
- Description of the load balancer. maxLength=256
@@ -109,12 +110,14 @@ options:
type: list
elements: str
required: false
default: []
remove_server_ips:
description:
- A list of server IP ids to be unassigned from a load balancer. Used in combination with update state.
type: list
elements: str
required: false
default: []
add_rules:
description:
- A list of rules that will be added to an existing load balancer.
@@ -122,12 +125,14 @@ options:
type: list
elements: dict
required: false
default: []
remove_rules:
description:
- A list of rule ids that will be removed from an existing load balancer. Used in combination with update state.
type: list
elements: str
required: false
default: []
wait:
description:
- wait for the instance to be in state 'running' before returning

View File

@@ -73,6 +73,7 @@ options:
and value is used to advise when the value is exceeded.
type: list
elements: dict
default: []
suboptions:
cpu:
description:
@@ -99,6 +100,7 @@ options:
- Array of ports that will be monitoring.
type: list
elements: dict
default: []
suboptions:
protocol:
description:
@@ -123,6 +125,7 @@ options:
- Array of processes that will be monitoring.
type: list
elements: dict
default: []
suboptions:
process:
description:
@@ -139,48 +142,56 @@ options:
type: list
elements: dict
required: false
default: []
add_processes:
description:
- Processes to add to the monitoring policy.
type: list
elements: dict
required: false
default: []
add_servers:
description:
- Servers to add to the monitoring policy.
type: list
elements: str
required: false
default: []
remove_ports:
description:
- Ports to remove from the monitoring policy.
type: list
elements: str
required: false
default: []
remove_processes:
description:
- Processes to remove from the monitoring policy.
type: list
elements: str
required: false
default: []
remove_servers:
description:
- Servers to remove from the monitoring policy.
type: list
elements: str
required: false
default: []
update_ports:
description:
- Ports to be updated on the monitoring policy.
type: list
elements: dict
required: false
default: []
update_processes:
description:
- Processes to be updated on the monitoring policy.
type: list
elements: dict
required: false
default: []
wait:
description:
- wait for the instance to be in state 'running' before returning

View File

@@ -73,11 +73,13 @@ options:
- List of server identifiers (name or id) to be added to the private network.
type: list
elements: str
default: []
remove_members:
description:
- List of server identifiers (name or id) to be removed from the private network.
type: list
elements: str
default: []
wait:
description:
- wait for the instance to be in state 'running' before returning

View File

@@ -136,6 +136,7 @@ options:
- URL of custom iPXE script for provisioning.
- More about custom iPXE for Packet devices at U(https://help.packet.net/technical/infrastructure/custom-ipxe).
type: str
default: ''
always_pxe:
description:

View File

@@ -37,6 +37,7 @@ options:
- Public SSH keys allowing access to the virtual machine.
type: list
elements: str
default: []
datacenter:
description:
- The datacenter to provision this virtual machine.
@@ -73,6 +74,7 @@ options:
- list of instance ids, currently only used when state='absent' to remove instances.
type: list
elements: str
default: []
count:
description:
- The number of virtual machines to create.

View File

@@ -49,7 +49,7 @@ options:
- Public SSH keys allowing access to the virtual machine.
type: list
elements: str
required: false
default: []
disk_type:
description:
- The disk type of the volume.
@@ -80,7 +80,7 @@ options:
- list of instance ids, currently only used when state='absent' to remove instances.
type: list
elements: str
required: false
default: []
subscription_user:
description:
- The ProfitBricks username. Overrides the PB_SUBSCRIPTION_ID environment variable.

View File

@@ -36,6 +36,7 @@ options:
same play)."
required: false
type: str
default: ''
password:
description:
- Password which match to account to which specified C(email) belong.
@@ -43,6 +44,7 @@ options:
same play)."
required: false
type: str
default: ''
cache:
description: >
In case if single play use blocks management module few times it is
@@ -57,7 +59,7 @@ options:
manage blocks."
- "User's account will be used if value not set or empty."
type: str
required: false
default: ''
application:
description:
- "Name of target PubNub application for which blocks configuration on

View File

@@ -81,17 +81,20 @@ options:
default: 'no'
extra_client_args:
type: dict
default: {}
description:
- A hash of key/value pairs to be used when creating the cloudservers
client. This is considered an advanced option, use it wisely and
with caution.
extra_create_args:
type: dict
default: {}
description:
- A hash of key/value pairs to be used when creating a new server.
This is considered an advanced option, use it wisely and with caution.
files:
type: dict
default: {}
description:
- Files to insert into the instance. remotefilename:localcontent
flavor:
@@ -123,6 +126,7 @@ options:
- keypair
meta:
type: dict
default: {}
description:
- A hash of metadata to associate with the instance
name:

View File

@@ -25,6 +25,7 @@ options:
C(name). This option requires C(pyrax>=1.9.3)
meta:
type: dict
default: {}
description:
- A hash of metadata to associate with the volume
name:

View File

@@ -27,6 +27,7 @@ options:
default: LEAST_CONNECTIONS
meta:
type: dict
default: {}
description:
- A hash of metadata to associate with the instance
name:

View File

@@ -27,6 +27,7 @@ options:
- The container to use for container or metadata operations.
meta:
type: dict
default: {}
description:
- A hash of items to set as metadata values on a container
private:

View File

@@ -39,6 +39,7 @@ options:
Requires an integer, specifying expiration in seconds
meta:
type: dict
default: {}
description:
- A hash of items to set as metadata values on an uploaded file or folder
method:

View File

@@ -29,6 +29,7 @@ options:
- Server name to modify metadata for
meta:
type: dict
default: {}
description:
- A hash of metadata to associate with the instance
author: "Matt Martz (@sivel)"

View File

@@ -86,6 +86,7 @@ options:
I(ip_addresses) hash to resolve an IP address to target.
details:
type: dict
default: {}
description:
- Additional details specific to the check type. Must be a hash of strings
between 1 and 255 characters long, or an array or object containing 0 to
@@ -97,6 +98,7 @@ options:
default: false
metadata:
type: dict
default: {}
description:
- Hash of arbitrary key-value pairs to accompany this check if it fires.
Keys and values must be strings between 1 and 255 characters long.

View File

@@ -37,6 +37,7 @@ options:
bound. Necessary to collect C(agent.) rax_mon_checks against this entity.
named_ip_addresses:
type: dict
default: {}
description:
- Hash of IP addresses that may be referenced by name by rax_mon_checks
added to this entity. Must be a dictionary of with keys that are names
@@ -44,6 +45,7 @@ options:
addresses.
metadata:
type: dict
default: {}
description:
- Hash of arbitrary C(name), C(value) pairs that are passed to associated
rax_mon_alarms. Names and values must all be between 1 and 255 characters

View File

@@ -36,6 +36,7 @@ options:
- manual
files:
type: dict
default: {}
description:
- 'Files to insert into the instance. Hash of C(remotepath: localpath)'
flavor:
@@ -65,6 +66,7 @@ options:
required: true
meta:
type: dict
default: {}
description:
- A hash of metadata to associate with the instance
min_entities:

View File

@@ -65,6 +65,7 @@ options:
tags:
type: list
elements: str
default: []
description:
- List of tags to apply to the load-balancer

View File

@@ -142,6 +142,7 @@ options:
- List of ssh keys by their Id to be assigned to a virtual instance.
type: list
elements: str
default: []
post_uri:
description:
- URL of a post provisioning script to be loaded and executed on virtual instance.

View File

@@ -502,6 +502,12 @@ options:
Only works if wait_for_instances is True.
type: int
do_not_update:
description:
- TODO document.
type: list
default: []
'''
EXAMPLES = '''
# Basic configuration YAML example

View File

@@ -42,11 +42,13 @@ options:
nameserver:
type: list
elements: str
default: []
description:
- List of appropriate name servers. Required if C(state=present).
interfaces:
type: list
elements: str
default: []
description:
- List of interface IP addresses, on which the server should
response this zone. Required if C(state=present).

View File

@@ -44,11 +44,13 @@ options:
- define the whole ldap position of the group, e.g.
C(cn=g123m-1A,cn=classes,cn=schueler,cn=groups,ou=schule,dc=example,dc=com).
type: str
default: ''
ou:
required: false
description:
- LDAP OU, e.g. school for LDAP OU C(ou=school,dc=example,dc=com).
type: str
default: ''
subpath:
required: false
description:

View File

@@ -168,6 +168,7 @@ options:
description:
- List of telephone numbers.
type: list
default: []
postcode:
description:
- Postal code of users business address.
@@ -199,11 +200,13 @@ options:
join."
aliases: [ sambaPrivileges ]
type: list
default: []
samba_user_workstations:
description:
- Allow the authentication only on this Microsoft Windows host.
aliases: [ sambaUserWorkstations ]
type: list
default: []
sambahome:
description:
- Windows home path, e.g. C('\\$FQDN\$USERNAME').

View File

@@ -26,10 +26,12 @@ options:
description:
- The username used to authenticate with
type: str
default: ''
login_password:
description:
- The password used to authenticate with
type: str
default: ''
login_host:
description:
- Host running the database

View File

@@ -65,13 +65,15 @@ options:
type: bool
default: no
notes:
- Requires tarfile, zipfile, gzip and bzip2 packages on target host.
- Requires lzma or backports.lzma if using xz format.
- Can produce I(gzip), I(bzip2), I(lzma) and I(zip) compressed files or archives.
- Can produce I(gzip), I(bzip2), I(lzma), and I(zip) compressed files or archives.
- This module uses C(tarfile), C(zipfile), C(gzip), and C(bz2) packages on the target host to create archives.
These are part of the Python standard library for Python 2 and 3.
requirements:
- Requires C(lzma) (standard library of Python 3) or L(backports.lzma, https://pypi.org/project/backports.lzma/) (Python 2) if using C(xz) format.
seealso:
- module: ansible.builtin.unarchive
- module: ansible.builtin.unarchive
author:
- Ben Doherty (@bendoh)
- Ben Doherty (@bendoh)
'''
EXAMPLES = r'''
@@ -581,6 +583,11 @@ class TarArchive(Archive):
self.file.add(path, archive_name, recursive=False, exclude=py26_filter)
def _get_checksums(self, path):
if HAS_LZMA:
LZMAError = lzma.LZMAError
else:
# Just picking another exception that's also listed below
LZMAError = tarfile.ReadError
try:
if self.format == 'xz':
with lzma.open(_to_native_ascii(path), 'r') as f:
@@ -591,7 +598,7 @@ class TarArchive(Archive):
archive = tarfile.open(_to_native_ascii(path), 'r|' + self.format)
checksums = set((info.name, info.chksum) for info in archive.getmembers())
archive.close()
except (lzma.LZMAError, tarfile.ReadError, tarfile.CompressionError):
except (LZMAError, tarfile.ReadError, tarfile.CompressionError):
try:
# The python implementations of gzip, bz2, and lzma do not support restoring compressed files
# to their original names so only file checksum is returned

View File

@@ -39,6 +39,7 @@ options:
- The namespace C(prefix:uri) mapping for the XPath expression.
- Needs to be a C(dict), not a C(list) of items.
type: dict
default: {}
state:
description:
- Set or remove an xpath selection (node(s), attribute(s)).

View File

@@ -129,6 +129,7 @@ options:
vendor:
description:
- LDAP vendor (provider).
- Use short name. For instance, write C(rhds) for "Red Hat Directory Server".
type: str
usernameLDAPAttribute:

View File

@@ -85,7 +85,6 @@ options:
description:
- The secret key for your subdomain.
- Only required for initial sign in.
default: {}
required: False
cli_path:
type: path

View File

@@ -52,14 +52,12 @@ options:
elements: str
description:
- List of handlers to notify when the check fails
default: []
subscribers:
type: list
elements: str
description:
- List of subscribers/channels this check should run for
- See sensu_subscribers to subscribe a machine to a channel
default: []
interval:
type: int
description:
@@ -91,7 +89,6 @@ options:
elements: str
description:
- Other checks this check depends on, if dependencies fail handling of this check will be disabled
default: []
metric:
description:
- Whether the check is a metric
@@ -137,7 +134,6 @@ options:
description:
- A hash/dictionary of custom parameters for mixing to the configuration.
- You can't rewrite others module parameters using this
default: {}
source:
type: str
description:

View File

@@ -61,6 +61,7 @@ options:
type: str
description:
- The prefix to add to the metric.
default: ''
value:
type: int
required: true

View File

@@ -126,7 +126,6 @@ options:
description:
- Name or id of the contact list that the monitor will notify.
- The default C('') means the Account Owner.
default: ''
type: str
httpFqdn:

View File

@@ -41,27 +41,22 @@ options:
description:
- Network ID.
type: str
default: ''
ip_address:
description:
- IP Address for a reservation or a release.
type: str
default: ''
network_address:
description:
- Network address with CIDR format (e.g., 192.168.310.0).
type: str
default: ''
network_size:
description:
- Network bitmask (e.g. 255.255.255.220) or CIDR format (e.g., /26).
type: str
default: ''
network_name:
description:
- The name of a network.
type: str
default: ''
network_location:
description:
- The parent network id for a given network.

View File

@@ -44,7 +44,7 @@ options:
address:
description:
- The IP address for the A or AAAA record.
- Required for C(type=A) or C(type=AAAA)
- Required for I(type=A) or I(type=AAAA).
type: str
ttl:
description:
@@ -70,38 +70,38 @@ options:
port:
description:
- Sets the port of the SRV record.
- Required for C(type=SRV)
- Required for I(type=SRV).
type: int
target:
description:
- Sets the target of the SRV record.
- Required for C(type=SRV)
- Required for I(type=SRV).
type: str
order:
description:
- Sets the order of the NAPTR record.
- Required for C(type=NAPTR)
- Required for I(type=NAPTR).
type: int
preference:
description:
- Sets the preference of the NAPTR record.
- Required for C(type=NAPTR)
- Required for I(type=NAPTR).
type: int
flags:
description:
- Sets one of the possible flags of NAPTR record.
- Required for C(type=NAPTR)
- Required for I(type=NAPTR).
type: str
choices: ['S', 'A', 'U', 'P']
service:
description:
- Sets the service of the NAPTR record.
- Required for C(type=NAPTR)
- Required for I(type=NAPTR).
type: str
replacement:
description:
- Sets the replacement of the NAPTR record.
- Required for C(type=NAPTR)
- Required for I(type=NAPTR).
type: str
username:
description:

View File

@@ -166,13 +166,15 @@ modlist:
import traceback
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils.common.text.converters import to_native, to_bytes
from ansible.module_utils.common.text.converters import to_native, to_bytes, to_text
from ansible_collections.community.general.plugins.module_utils.ldap import LdapGeneric, gen_specs
import re
LDAP_IMP_ERR = None
try:
import ldap
import ldap.filter
HAS_LDAP = True
except ImportError:
@@ -261,9 +263,11 @@ class LdapAttrs(LdapGeneric):
def _is_value_present(self, name, value):
""" True if the target attribute has the given value. """
try:
is_present = bool(
self.connection.compare_s(self.dn, name, value))
except ldap.NO_SUCH_ATTRIBUTE:
escaped_value = ldap.filter.escape_filter_chars(to_text(value))
filterstr = "(%s=%s)" % (name, escaped_value)
dns = self.connection.search_s(self.dn, ldap.SCOPE_BASE, filterstr)
is_present = len(dns) == 1
except ldap.NO_SUCH_OBJECT:
is_present = False
return is_present

View File

@@ -36,6 +36,7 @@ options:
entries are never modified. To assert specific attribute values on an
existing entry, use M(community.general.ldap_attrs) module instead.
type: dict
default: {}
objectClass:
description:
- If I(state=present), value or list of values to use when creating

View File

@@ -48,12 +48,14 @@ options:
- This is a list, which may contain address and phrase portions.
type: list
elements: str
default: []
bcc:
description:
- The email-address(es) the mail is being 'blind' copied to.
- This is a list, which may contain address and phrase portions.
type: list
elements: str
default: []
subject:
description:
- The subject of the email being sent.

View File

@@ -30,6 +30,7 @@ options:
type: str
description:
- Composer arguments like required package, version and so on.
default: ''
executable:
type: path
description:

View File

@@ -50,6 +50,7 @@ options:
type: str
description:
- The maven classifier coordinate
default: ''
extension:
type: str
description:

View File

@@ -46,6 +46,7 @@ options:
- "remove"
- "checksum"
- "removal-of-dependent-packages"
default: ""
type: str
update_cache:
description:

View File

@@ -72,7 +72,7 @@ options:
extra_args:
description:
- Additional option to pass to pacman when enforcing C(state).
default:
default: ''
type: str
update_cache:
@@ -91,7 +91,7 @@ options:
update_cache_extra_args:
description:
- Additional option to pass to pacman when enforcing C(update_cache).
default:
default: ''
type: str
upgrade:
@@ -104,7 +104,7 @@ options:
upgrade_extra_args:
description:
- Additional option to pass to pacman when enforcing C(upgrade).
default:
default: ''
type: str
notes:

View File

@@ -37,7 +37,7 @@ options:
state:
description:
- State of the package.
- 'Note: "latest" added in 2.7'
- 'Note: C(latest) added in 2.7.'
choices: [ 'present', 'latest', 'absent' ]
required: false
default: present
@@ -148,10 +148,7 @@ def query_package(module, run_pkgng, name):
rc, out, err = run_pkgng('info', '-g', '-e', name)
if rc == 0:
return True
return False
return rc == 0
def query_update(module, run_pkgng, name):
@@ -161,10 +158,7 @@ def query_update(module, run_pkgng, name):
# rc = 1, updates available
rc, out, err = run_pkgng('upgrade', '-g', '-n', name)
if rc == 1:
return True
return False
return rc == 1
def pkgng_older_than(module, pkgng_path, compare_version):
@@ -190,7 +184,7 @@ def upgrade_packages(module, run_pkgng):
pkgng_args = ['upgrade']
pkgng_args.append('-n' if module.check_mode else '-y')
rc, out, err = run_pkgng(*pkgng_args)
rc, out, err = run_pkgng(*pkgng_args, check_rc=(not module.check_mode))
matches = re.findall('^Number of packages to be (?:upgraded|reinstalled): ([0-9]+)', out, re.MULTILINE)
for match in matches:

View File

@@ -151,7 +151,6 @@ options:
When some attribute is not listed in the new list of attributes, the existing
attribute will be removed from C(syspurpose.json) file. Unknown attributes are ignored.
type: dict
default: {}
suboptions:
usage:
description: Syspurpose attribute usage
@@ -592,15 +591,22 @@ class Rhsm(RegistrationBase):
consumed_pools = RhsmPools(self.module, consumed=True)
existing_pools = {}
serials_to_remove = []
for p in consumed_pools:
existing_pools[p.get_pool_id()] = p.QuantityUsed
pool_id = p.get_pool_id()
quantity_used = p.get_quantity_used()
existing_pools[pool_id] = quantity_used
quantity = pool_ids.get(pool_id, 0)
if quantity is not None and quantity != quantity_used:
serials_to_remove.append(p.Serial)
serials_to_remove = [p.Serial for p in consumed_pools if pool_ids.get(p.get_pool_id(), 0) != p.QuantityUsed]
serials = self.unsubscribe(serials=serials_to_remove)
missing_pools = {}
for pool_id, quantity in sorted(pool_ids.items()):
if existing_pools.get(pool_id, 0) != quantity:
quantity_used = existing_pools.get(pool_id, 0)
if quantity is None and quantity_used == 0 or quantity not in (None, 0, quantity_used):
missing_pools[pool_id] = quantity
self.subscribe_by_pool_ids(missing_pools)
@@ -634,6 +640,9 @@ class RhsmPool(object):
def get_pool_id(self):
return getattr(self, 'PoolId', getattr(self, 'PoolID'))
def get_quantity_used(self):
return int(getattr(self, 'QuantityUsed'))
def subscribe(self):
args = "subscription-manager attach --pool %s" % self.get_pool_id()
rc, stdout, stderr = self.module.run_command(args, check_rc=True)

View File

@@ -75,6 +75,7 @@ options:
- especially useful for SCM and rsync grimoires
- makes sense only in pair with C(update_cache)
type: int
default: 0
'''

View File

@@ -68,6 +68,7 @@ options:
- The list of media types appropriate for the image.
type: list
elements: str
default: []
image_url:
description:
- The URL of the image to insert or eject.

View File

@@ -79,7 +79,7 @@ options:
- ' - C(vms_allocated) (int): use null to remove the quota.'
- ' - C(templates_allocated) (int): use null to remove the quota.'
required: false
default: null
default: {}
'''
EXAMPLES = '''

View File

@@ -115,6 +115,7 @@ options:
description:
- Properties of account service to update.
type: dict
default: {}
version_added: '0.2.0'
resource_id:
required: false
@@ -140,6 +141,7 @@ options:
- List of target resource URIs to apply the update to.
type: list
elements: str
default: []
version_added: '0.2.0'
update_creds:
required: false
@@ -171,6 +173,7 @@ options:
- List of media types appropriate for the image.
type: list
elements: str
default: []
image_url:
required: false
description:

View File

@@ -71,6 +71,7 @@ options:
description:
- Setting dict of manager services to update.
type: dict
default: {}
version_added: '0.2.0'
resource_id:
required: false
@@ -90,6 +91,7 @@ options:
description:
- Setting dict of EthernetInterface on OOB controller.
type: dict
default: {}
version_added: '0.2.0'
strip_etag_quotes:
description:
@@ -105,6 +107,7 @@ options:
description:
- Setting dict of HostInterface on OOB controller.
type: dict
default: {}
version_added: '4.1.0'
hostinterface_id:
required: false

View File

@@ -73,12 +73,14 @@ options:
- Rack to be used in host creation.
- Required if I(state) is C(present) and host does not yet exist.
type: int
default: 0
rank:
description:
- Rank to be used in host creation.
- In Stacki terminology, the rank is the position of the machine in a rack.
- Required if I(state) is C(present) and host does not yet exist.
type: int
default: 0
network:
description:
- Network to be configured in the host.

View File

@@ -71,20 +71,13 @@ RETURN = '''
import traceback
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.api import basic_auth_argument_spec
from ansible_collections.community.general.plugins.module_utils.version import LooseVersion
GITLAB_IMP_ERR = None
try:
import gitlab
HAS_GITLAB_PACKAGE = True
except Exception:
GITLAB_IMP_ERR = traceback.format_exc()
HAS_GITLAB_PACKAGE = False
from ansible_collections.community.general.plugins.module_utils.gitlab import auth_argument_spec, gitlab_authentication
from ansible_collections.community.general.plugins.module_utils.gitlab import (
auth_argument_spec, gitlab_authentication, gitlab, ensure_gitlab_package
)
class GitlabBranch(object):
@@ -143,15 +136,13 @@ def main():
],
supports_check_mode=False
)
ensure_gitlab_package(module)
project = module.params['project']
branch = module.params['branch']
ref_branch = module.params['ref_branch']
state = module.params['state']
if not HAS_GITLAB_PACKAGE:
module.fail_json(msg=missing_required_lib("python-gitlab"), exception=GITLAB_IMP_ERR)
gitlab_version = gitlab.__version__
if LooseVersion(gitlab_version) < LooseVersion('2.3.0'):
module.fail_json(msg="community.general.gitlab_proteched_branch requires python-gitlab Python module >= 2.3.0 (installed version: [%s])."

View File

@@ -108,22 +108,13 @@ deploy_key:
type: dict
'''
import re
import traceback
GITLAB_IMP_ERR = None
try:
import gitlab
HAS_GITLAB_PACKAGE = True
except Exception:
GITLAB_IMP_ERR = traceback.format_exc()
HAS_GITLAB_PACKAGE = False
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.text.converters import to_native
from ansible_collections.community.general.plugins.module_utils.gitlab import auth_argument_spec, find_project, gitlab_authentication
from ansible_collections.community.general.plugins.module_utils.gitlab import (
auth_argument_spec, find_project, gitlab_authentication, gitlab, ensure_gitlab_package
)
class GitLabDeployKey(object):
@@ -261,6 +252,7 @@ def main():
],
supports_check_mode=True,
)
ensure_gitlab_package(module)
state = module.params['state']
project_identifier = module.params['project']
@@ -268,9 +260,6 @@ def main():
key_keyfile = module.params['key']
key_can_push = module.params['can_push']
if not HAS_GITLAB_PACKAGE:
module.fail_json(msg=missing_required_lib("python-gitlab"), exception=GITLAB_IMP_ERR)
gitlab_instance = gitlab_authentication(module)
gitlab_deploy_key = GitLabDeployKey(module, gitlab_instance)

View File

@@ -158,21 +158,13 @@ group:
type: dict
'''
import traceback
GITLAB_IMP_ERR = None
try:
import gitlab
HAS_GITLAB_PACKAGE = True
except Exception:
GITLAB_IMP_ERR = traceback.format_exc()
HAS_GITLAB_PACKAGE = False
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.text.converters import to_native
from ansible_collections.community.general.plugins.module_utils.gitlab import auth_argument_spec, find_group, gitlab_authentication
from ansible_collections.community.general.plugins.module_utils.gitlab import (
auth_argument_spec, find_group, gitlab_authentication, gitlab, ensure_gitlab_package
)
class GitLabGroup(object):
@@ -338,6 +330,7 @@ def main():
],
supports_check_mode=True,
)
ensure_gitlab_package(module)
group_name = module.params['name']
group_path = module.params['path']
@@ -351,9 +344,6 @@ def main():
require_two_factor_authentication = module.params['require_two_factor_authentication']
avatar_path = module.params['avatar_path']
if not HAS_GITLAB_PACKAGE:
module.fail_json(msg=missing_required_lib("python-gitlab"), exception=GITLAB_IMP_ERR)
gitlab_instance = gitlab_authentication(module)
# Define default group_path based on group_name

View File

@@ -151,19 +151,11 @@ EXAMPLES = r'''
RETURN = r''' # '''
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.gitlab import auth_argument_spec, gitlab_authentication
import traceback
try:
import gitlab
HAS_PY_GITLAB = True
GITLAB_IMP_ERR = None
except ImportError:
GITLAB_IMP_ERR = traceback.format_exc()
HAS_PY_GITLAB = False
from ansible_collections.community.general.plugins.module_utils.gitlab import (
auth_argument_spec, gitlab_authentication, gitlab, ensure_gitlab_package
)
class GitLabGroup(object):
@@ -281,9 +273,7 @@ def main():
],
supports_check_mode=True,
)
if not HAS_PY_GITLAB:
module.fail_json(msg=missing_required_lib('python-gitlab', url='https://python-gitlab.readthedocs.io/en/stable/'), exception=GITLAB_IMP_ERR)
ensure_gitlab_package(module)
access_level_int = {
'guest': gitlab.GUEST_ACCESS,

View File

@@ -158,21 +158,14 @@ group_variable:
sample: "['ACCESS_KEY_ID', 'SECRET_ACCESS_KEY']"
'''
import traceback
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.six import string_types
from ansible.module_utils.six import integer_types
GITLAB_IMP_ERR = None
try:
import gitlab
HAS_GITLAB_PACKAGE = True
except Exception:
GITLAB_IMP_ERR = traceback.format_exc()
HAS_GITLAB_PACKAGE = False
from ansible_collections.community.general.plugins.module_utils.gitlab import auth_argument_spec, gitlab_authentication
from ansible_collections.community.general.plugins.module_utils.gitlab import (
auth_argument_spec, gitlab_authentication, ensure_gitlab_package
)
def vars_to_variables(vars, module):
@@ -415,9 +408,7 @@ def main():
],
supports_check_mode=True
)
if not HAS_GITLAB_PACKAGE:
module.fail_json(msg=missing_required_lib("python-gitlab"), exception=GITLAB_IMP_ERR)
ensure_gitlab_package(module)
purge = module.params['purge']
var_list = module.params['vars']

View File

@@ -54,6 +54,7 @@ options:
- Branch name of wildcard to trigger hook on push events
type: str
version_added: '0.2.0'
default: ''
issues_events:
description:
- Trigger hook on issues events.
@@ -158,22 +159,12 @@ hook:
type: dict
'''
import re
import traceback
GITLAB_IMP_ERR = None
try:
import gitlab
HAS_GITLAB_PACKAGE = True
except Exception:
GITLAB_IMP_ERR = traceback.format_exc()
HAS_GITLAB_PACKAGE = False
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils.common.text.converters import to_native
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.gitlab import auth_argument_spec, find_project, gitlab_authentication
from ansible_collections.community.general.plugins.module_utils.gitlab import (
auth_argument_spec, find_project, gitlab_authentication, ensure_gitlab_package
)
class GitLabHook(object):
@@ -329,6 +320,7 @@ def main():
],
supports_check_mode=True,
)
ensure_gitlab_package(module)
state = module.params['state']
project_identifier = module.params['project']
@@ -345,9 +337,6 @@ def main():
enable_ssl_verification = module.params['hook_validate_certs']
hook_token = module.params['token']
if not HAS_GITLAB_PACKAGE:
module.fail_json(msg=missing_required_lib("python-gitlab"), exception=GITLAB_IMP_ERR)
gitlab_instance = gitlab_authentication(module)
gitlab_hook = GitLabHook(module, gitlab_instance)

View File

@@ -245,21 +245,14 @@ project:
type: dict
'''
import traceback
GITLAB_IMP_ERR = None
try:
import gitlab
HAS_GITLAB_PACKAGE = True
except Exception:
GITLAB_IMP_ERR = traceback.format_exc()
HAS_GITLAB_PACKAGE = False
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.text.converters import to_native
from ansible_collections.community.general.plugins.module_utils.gitlab import auth_argument_spec, find_group, find_project, gitlab_authentication
from ansible_collections.community.general.plugins.module_utils.gitlab import (
auth_argument_spec, find_group, find_project, gitlab_authentication, gitlab, ensure_gitlab_package
)
class GitLabProject(object):
@@ -443,6 +436,7 @@ def main():
],
supports_check_mode=True,
)
ensure_gitlab_package(module)
group_identifier = module.params['group']
project_name = module.params['name']
@@ -473,9 +467,6 @@ def main():
if default_branch and not initialize_with_readme:
module.fail_json(msg="Param default_branch need param initialize_with_readme set to true")
if not HAS_GITLAB_PACKAGE:
module.fail_json(msg=missing_required_lib("python-gitlab"), exception=GITLAB_IMP_ERR)
gitlab_instance = gitlab_authentication(module)
# Set project_path to project_name if it is empty.

View File

@@ -154,19 +154,11 @@ EXAMPLES = r'''
RETURN = r''' # '''
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.gitlab import auth_argument_spec, gitlab_authentication
import traceback
try:
import gitlab
HAS_PY_GITLAB = True
GITLAB_IMP_ERR = None
except ImportError:
GITLAB_IMP_ERR = traceback.format_exc()
HAS_PY_GITLAB = False
from ansible_collections.community.general.plugins.module_utils.gitlab import (
auth_argument_spec, gitlab_authentication, gitlab, ensure_gitlab_package
)
class GitLabProjectMembers(object):
@@ -281,9 +273,7 @@ def main():
],
supports_check_mode=True,
)
if not HAS_PY_GITLAB:
module.fail_json(msg=missing_required_lib('python-gitlab', url='https://python-gitlab.readthedocs.io/en/stable/'), exception=GITLAB_IMP_ERR)
ensure_gitlab_package(module)
access_level_int = {
'guest': gitlab.GUEST_ACCESS,

View File

@@ -175,7 +175,6 @@ project_variable:
import traceback
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils.common.text.converters import to_native
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.six import string_types
from ansible.module_utils.six import integer_types
@@ -188,7 +187,9 @@ except Exception:
GITLAB_IMP_ERR = traceback.format_exc()
HAS_GITLAB_PACKAGE = False
from ansible_collections.community.general.plugins.module_utils.gitlab import auth_argument_spec, gitlab_authentication
from ansible_collections.community.general.plugins.module_utils.gitlab import (
auth_argument_spec, gitlab_authentication, ensure_gitlab_package
)
def vars_to_variables(vars, module):
@@ -430,6 +431,7 @@ def main():
],
supports_check_mode=True
)
ensure_gitlab_package(module)
if not HAS_GITLAB_PACKAGE:
module.fail_json(msg=missing_required_lib("python-gitlab"), exception=GITLAB_IMP_ERR)

View File

@@ -69,22 +69,14 @@ EXAMPLES = '''
RETURN = '''
'''
import traceback
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.api import basic_auth_argument_spec
from ansible_collections.community.general.plugins.module_utils.version import LooseVersion
GITLAB_IMP_ERR = None
try:
import gitlab
HAS_GITLAB_PACKAGE = True
except Exception:
GITLAB_IMP_ERR = traceback.format_exc()
HAS_GITLAB_PACKAGE = False
from ansible_collections.community.general.plugins.module_utils.gitlab import auth_argument_spec, gitlab_authentication
from ansible_collections.community.general.plugins.module_utils.gitlab import (
auth_argument_spec, gitlab_authentication, gitlab, ensure_gitlab_package
)
class GitlabProtectedBranch(object):
@@ -164,6 +156,7 @@ def main():
],
supports_check_mode=True
)
ensure_gitlab_package(module)
project = module.params['project']
name = module.params['name']
@@ -171,9 +164,6 @@ def main():
push_access_level = module.params['push_access_level']
state = module.params['state']
if not HAS_GITLAB_PACKAGE:
module.fail_json(msg=missing_required_lib("python-gitlab"), exception=GITLAB_IMP_ERR)
gitlab_version = gitlab.__version__
if LooseVersion(gitlab_version) < LooseVersion('2.3.0'):
module.fail_json(msg="community.general.gitlab_proteched_branch requires python-gitlab Python module >= 2.3.0 (installed version: [%s])."

View File

@@ -171,21 +171,14 @@ runner:
type: dict
'''
import traceback
GITLAB_IMP_ERR = None
try:
import gitlab
HAS_GITLAB_PACKAGE = True
except Exception:
GITLAB_IMP_ERR = traceback.format_exc()
HAS_GITLAB_PACKAGE = False
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.text.converters import to_native
from ansible_collections.community.general.plugins.module_utils.gitlab import auth_argument_spec, gitlab_authentication
from ansible_collections.community.general.plugins.module_utils.gitlab import (
auth_argument_spec, gitlab_authentication, gitlab, ensure_gitlab_package
)
try:
cmp # pylint: disable=used-before-assignment
@@ -361,6 +354,7 @@ def main():
],
supports_check_mode=True,
)
ensure_gitlab_package(module)
state = module.params['state']
runner_description = module.params['description']
@@ -373,9 +367,6 @@ def main():
registration_token = module.params['registration_token']
project = module.params['project']
if not HAS_GITLAB_PACKAGE:
module.fail_json(msg=missing_required_lib("python-gitlab"), exception=GITLAB_IMP_ERR)
gitlab_instance = gitlab_authentication(module)
gitlab_project = None
if project:

View File

@@ -220,21 +220,14 @@ user:
type: dict
'''
import traceback
GITLAB_IMP_ERR = None
try:
import gitlab
HAS_GITLAB_PACKAGE = True
except Exception:
GITLAB_IMP_ERR = traceback.format_exc()
HAS_GITLAB_PACKAGE = False
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.text.converters import to_native
from ansible_collections.community.general.plugins.module_utils.gitlab import auth_argument_spec, find_group, gitlab_authentication
from ansible_collections.community.general.plugins.module_utils.gitlab import (
auth_argument_spec, find_group, gitlab_authentication, gitlab, ensure_gitlab_package
)
class GitLabUser(object):
@@ -615,6 +608,7 @@ def main():
('state', 'present', ['name', 'email']),
)
)
ensure_gitlab_package(module)
user_name = module.params['name']
state = module.params['state']
@@ -633,9 +627,6 @@ def main():
user_identities = module.params['identities']
overwrite_identities = module.params['overwrite_identities']
if not HAS_GITLAB_PACKAGE:
module.fail_json(msg=missing_required_lib("python-gitlab"), exception=GITLAB_IMP_ERR)
gitlab_instance = gitlab_authentication(module)
gitlab_user = GitLabUser(module, gitlab_instance)

View File

@@ -37,6 +37,7 @@ options:
- A dictionary of zfs properties to be set.
- See the zfs(8) man page for more information.
type: dict
default: {}
notes:
- C(check_mode) is supported, but in certain situations it may report a task
as changed that will not be reported as changed when C(check_mode) is disabled.

View File

@@ -51,6 +51,7 @@ options:
description:
- Specifies recursion depth.
type: int
default: 0
'''
EXAMPLES = '''

View File

@@ -61,11 +61,13 @@ options:
description:
- Free-form options to be passed to the mklv command.
type: str
default: ''
pvs:
description:
- A list of physical volumes e.g. C(hdisk1,hdisk2).
type: list
elements: str
default: []
'''
EXAMPLES = r'''

View File

@@ -55,7 +55,6 @@ options:
description:
- Password for importing from PKCS12 keystore.
type: str
default: ''
pkcs12_alias:
description:
- Alias in the PKCS12 keystore.

View File

@@ -195,15 +195,15 @@ def main():
name = module.params['name']
state = module.params['state']
if not os.path.exists("/etc/locale.gen"):
if os.path.exists("/var/lib/locales/supported.d/"):
# Ubuntu created its own system to manage locales.
ubuntuMode = True
if not os.path.exists("/var/lib/locales/supported.d/"):
if os.path.exists("/etc/locale.gen"):
# We found the common way to manage locales.
ubuntuMode = False
else:
module.fail_json(msg="/etc/locale.gen and /var/lib/locales/supported.d/local are missing. Is the package \"locales\" installed?")
else:
# We found the common way to manage locales.
ubuntuMode = False
# Ubuntu created its own system to manage locales.
ubuntuMode = True
if not is_available(name, ubuntuMode):
module.fail_json(msg="The locale you've entered is not available "

View File

@@ -41,6 +41,7 @@ options:
description:
- Additional options to pass to C(pvcreate) when creating the volume group.
type: str
default: ''
pvresize:
description:
- If C(yes), resize the physical volume to the maximum available size.
@@ -51,6 +52,7 @@ options:
description:
- Additional options to pass to C(vgcreate) when creating the volume group.
type: str
default: ''
state:
description:
- Control if the volume group exists.

View File

@@ -37,6 +37,7 @@ options:
description:
- Name of the SELinux policy store to use.
type: str
default: ''
notes:
- Requires a recent version of SELinux and C(policycoreutils-python) (EL 6 or newer).
requirements: [ policycoreutils-python ]

View File

@@ -160,6 +160,7 @@ options:
and the JIRA REST API for the structure required for various fields.
- When passed to comment, the data structure is merged at the first level since community.general 4.6.0. Useful to add JIRA properties for example.
- Note that JIRA may not allow changing field values on specific transitions or states.
default: {}
jql:
required: false

View File

@@ -32,10 +32,12 @@ options:
- List of adirectory group strings.
type: list
elements: str
default: []
adirectory_groups_sids:
description:
- Dictionary of group sids.
type: dict
default: {}
backend_match:
description:
- The backend for the group.
@@ -67,18 +69,22 @@ options:
- List of edirectory group strings.
type: list
elements: str
default: []
ipsec_dn:
description:
- The ipsec dn string.
type: str
default: ''
ldap_attribute:
description:
- The ldap attribute to check against.
type: str
default: ''
ldap_attribute_value:
description:
- The ldap attribute value to check against.
type: str
default: ''
members:
description:
- A list of user ref names (aaa/user).

Some files were not shown because too many files have changed in this diff Show More