mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-01 10:53:20 +00:00
Compare commits
87 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
25a17e7b6e | ||
|
|
dc92cda736 | ||
|
|
ee895080fb | ||
|
|
5436a0c602 | ||
|
|
6b59a3c1f6 | ||
|
|
02fa9106c6 | ||
|
|
94699318e2 | ||
|
|
0dab7c8f3b | ||
|
|
e29c1fe51f | ||
|
|
196f9b1bac | ||
|
|
4f6f4b343f | ||
|
|
6d75ac4fb3 | ||
|
|
eca2094831 | ||
|
|
8a6fb28296 | ||
|
|
6d94f0acbe | ||
|
|
ce05de750e | ||
|
|
31f1b9a7c7 | ||
|
|
46790b3dcb | ||
|
|
41aa6bc450 | ||
|
|
15b0eb155b | ||
|
|
169b65b43e | ||
|
|
f71f8e608d | ||
|
|
fb6f4760ae | ||
|
|
ae041e56c6 | ||
|
|
b3fecf0b6f | ||
|
|
59e8eca4c8 | ||
|
|
e95a3b5215 | ||
|
|
235a851350 | ||
|
|
5584998e0e | ||
|
|
8b259f8bc1 | ||
|
|
24789f86fa | ||
|
|
ddbfbcb47e | ||
|
|
69563766ec | ||
|
|
4c7f64b121 | ||
|
|
1e397ace75 | ||
|
|
71349d7e1d | ||
|
|
19de563a1d | ||
|
|
e550a0f58f | ||
|
|
eaa1f7c841 | ||
|
|
7a653bff94 | ||
|
|
c8360e7d1a | ||
|
|
94d33854b3 | ||
|
|
3d088b68ec | ||
|
|
7b8fa38878 | ||
|
|
6bf1eead47 | ||
|
|
478100011b | ||
|
|
7ac342e237 | ||
|
|
e2573de08d | ||
|
|
4412bdba9b | ||
|
|
374270d242 | ||
|
|
4c1077b2a0 | ||
|
|
a4f4a25b16 | ||
|
|
17f5a5b575 | ||
|
|
0be6e61b31 | ||
|
|
36978d71e1 | ||
|
|
3cc62e3827 | ||
|
|
e5f290e885 | ||
|
|
003f9e498e | ||
|
|
700bb27d51 | ||
|
|
07c68cb7f1 | ||
|
|
e9f0fcac0d | ||
|
|
a2e198d8a7 | ||
|
|
9ccb6e029d | ||
|
|
adf0f41b4b | ||
|
|
63a8f1e89f | ||
|
|
76de353377 | ||
|
|
960ed5acfd | ||
|
|
f636201450 | ||
|
|
fb01bf6ff7 | ||
|
|
8569e7eb58 | ||
|
|
c100ecda2c | ||
|
|
f33f50cf2c | ||
|
|
452d6f2fa7 | ||
|
|
f3828ba9ca | ||
|
|
b4eb8e5e22 | ||
|
|
8c02531c56 | ||
|
|
41171a02b7 | ||
|
|
84a6f610f7 | ||
|
|
2f623b7398 | ||
|
|
4e73ae1a86 | ||
|
|
392f5b4702 | ||
|
|
d5d8e1d188 | ||
|
|
fbd0a80439 | ||
|
|
c55df29ec9 | ||
|
|
2405857338 | ||
|
|
1c6b9507bc | ||
|
|
9363356941 |
@@ -29,14 +29,14 @@ schedules:
|
||||
always: true
|
||||
branches:
|
||||
include:
|
||||
- stable-11
|
||||
- stable-10
|
||||
- stable-9
|
||||
- cron: 0 11 * * 0
|
||||
displayName: Weekly (old stable branches)
|
||||
always: true
|
||||
branches:
|
||||
include:
|
||||
- stable-8
|
||||
- stable-9
|
||||
|
||||
variables:
|
||||
- name: checkoutPath
|
||||
@@ -51,7 +51,7 @@ variables:
|
||||
resources:
|
||||
containers:
|
||||
- container: default
|
||||
image: quay.io/ansible/azure-pipelines-test-container:6.0.0
|
||||
image: quay.io/ansible/azure-pipelines-test-container:7.0.0
|
||||
|
||||
pool: Standard
|
||||
|
||||
@@ -70,6 +70,19 @@ stages:
|
||||
- test: 2
|
||||
- test: 3
|
||||
- test: 4
|
||||
- stage: Sanity_2_19
|
||||
displayName: Sanity 2.19
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
nameFormat: Test {0}
|
||||
testFormat: 2.19/sanity/{0}
|
||||
targets:
|
||||
- test: 1
|
||||
- test: 2
|
||||
- test: 3
|
||||
- test: 4
|
||||
- stage: Sanity_2_18
|
||||
displayName: Sanity 2.18
|
||||
dependsOn: []
|
||||
@@ -119,12 +132,24 @@ stages:
|
||||
nameFormat: Python {0}
|
||||
testFormat: devel/units/{0}/1
|
||||
targets:
|
||||
- test: 3.8
|
||||
- test: 3.9
|
||||
- test: '3.10'
|
||||
- test: '3.11'
|
||||
- test: '3.12'
|
||||
- test: '3.13'
|
||||
- test: '3.14'
|
||||
- stage: Units_2_19
|
||||
displayName: Units 2.19
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
nameFormat: Python {0}
|
||||
testFormat: 2.19/units/{0}/1
|
||||
targets:
|
||||
- test: 3.8
|
||||
- test: "3.11"
|
||||
- test: "3.13"
|
||||
- stage: Units_2_18
|
||||
displayName: Units 2.18
|
||||
dependsOn: []
|
||||
@@ -135,6 +160,7 @@ stages:
|
||||
testFormat: 2.18/units/{0}/1
|
||||
targets:
|
||||
- test: 3.8
|
||||
- test: "3.11"
|
||||
- test: "3.13"
|
||||
- stage: Units_2_17
|
||||
displayName: Units 2.17
|
||||
@@ -146,6 +172,7 @@ stages:
|
||||
testFormat: 2.17/units/{0}/1
|
||||
targets:
|
||||
- test: 3.7
|
||||
- test: "3.10"
|
||||
- test: "3.12"
|
||||
- stage: Units_2_16
|
||||
displayName: Units 2.16
|
||||
@@ -169,10 +196,10 @@ stages:
|
||||
parameters:
|
||||
testFormat: devel/{0}
|
||||
targets:
|
||||
- name: Alpine 3.21
|
||||
test: alpine/3.21
|
||||
# - name: Fedora 41
|
||||
# test: fedora/41
|
||||
- name: Alpine 3.22
|
||||
test: alpine/3.22
|
||||
# - name: Fedora 42
|
||||
# test: fedora/42
|
||||
- name: Ubuntu 22.04
|
||||
test: ubuntu/22.04
|
||||
- name: Ubuntu 24.04
|
||||
@@ -191,16 +218,34 @@ stages:
|
||||
test: macos/15.3
|
||||
- name: RHEL 10.0
|
||||
test: rhel/10.0
|
||||
- name: RHEL 9.5
|
||||
test: rhel/9.5
|
||||
- name: FreeBSD 14.2
|
||||
test: freebsd/14.2
|
||||
- name: RHEL 9.6
|
||||
test: rhel/9.6
|
||||
- name: FreeBSD 14.3
|
||||
test: freebsd/14.3
|
||||
- name: FreeBSD 13.5
|
||||
test: freebsd/13.5
|
||||
groups:
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- stage: Remote_2_19
|
||||
displayName: Remote 2.19
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: 2.19/{0}
|
||||
targets:
|
||||
- name: RHEL 9.5
|
||||
test: rhel/9.5
|
||||
- name: RHEL 10.0
|
||||
test: rhel/10.0
|
||||
- name: FreeBSD 14.2
|
||||
test: freebsd/14.2
|
||||
groups:
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- stage: Remote_2_18
|
||||
displayName: Remote 2.18
|
||||
dependsOn: []
|
||||
@@ -227,8 +272,8 @@ stages:
|
||||
parameters:
|
||||
testFormat: 2.17/{0}
|
||||
targets:
|
||||
- name: FreeBSD 13.3
|
||||
test: freebsd/13.3
|
||||
- name: FreeBSD 13.5
|
||||
test: freebsd/13.5
|
||||
- name: RHEL 9.3
|
||||
test: rhel/9.3
|
||||
groups:
|
||||
@@ -267,10 +312,10 @@ stages:
|
||||
parameters:
|
||||
testFormat: devel/linux/{0}
|
||||
targets:
|
||||
- name: Fedora 41
|
||||
test: fedora41
|
||||
- name: Alpine 3.21
|
||||
test: alpine321
|
||||
- name: Fedora 42
|
||||
test: fedora42
|
||||
- name: Alpine 3.22
|
||||
test: alpine322
|
||||
- name: Ubuntu 22.04
|
||||
test: ubuntu2204
|
||||
- name: Ubuntu 24.04
|
||||
@@ -279,6 +324,22 @@ stages:
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- stage: Docker_2_19
|
||||
displayName: Docker 2.19
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: 2.19/linux/{0}
|
||||
targets:
|
||||
- name: Fedora 41
|
||||
test: fedora41
|
||||
- name: Alpine 3.21
|
||||
test: alpine321
|
||||
groups:
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- stage: Docker_2_18
|
||||
displayName: Docker 2.18
|
||||
dependsOn: []
|
||||
@@ -345,10 +406,12 @@ stages:
|
||||
parameters:
|
||||
testFormat: devel/linux-community/{0}
|
||||
targets:
|
||||
- name: Debian Bullseye
|
||||
- name: Debian 11 Bullseye
|
||||
test: debian-bullseye/3.9
|
||||
- name: Debian Bookworm
|
||||
- name: Debian 12 Bookworm
|
||||
test: debian-bookworm/3.11
|
||||
- name: Debian 13 Trixie
|
||||
test: debian-13-trixie/3.13
|
||||
- name: ArchLinux
|
||||
test: archlinux/3.13
|
||||
groups:
|
||||
@@ -367,8 +430,19 @@ stages:
|
||||
# nameFormat: Python {0}
|
||||
# testFormat: devel/generic/{0}/1
|
||||
# targets:
|
||||
# - test: '3.8'
|
||||
# - test: '3.11'
|
||||
# - test: '3.9'
|
||||
# - test: '3.12'
|
||||
# - test: '3.14'
|
||||
# - stage: Generic_2_19
|
||||
# displayName: Generic 2.19
|
||||
# dependsOn: []
|
||||
# jobs:
|
||||
# - template: templates/matrix.yml
|
||||
# parameters:
|
||||
# nameFormat: Python {0}
|
||||
# testFormat: 2.19/generic/{0}/1
|
||||
# targets:
|
||||
# - test: '3.9'
|
||||
# - test: '3.13'
|
||||
# - stage: Generic_2_18
|
||||
# displayName: Generic 2.18
|
||||
@@ -409,25 +483,30 @@ stages:
|
||||
condition: succeededOrFailed()
|
||||
dependsOn:
|
||||
- Sanity_devel
|
||||
- Sanity_2_19
|
||||
- Sanity_2_18
|
||||
- Sanity_2_17
|
||||
- Sanity_2_16
|
||||
- Units_devel
|
||||
- Units_2_19
|
||||
- Units_2_18
|
||||
- Units_2_17
|
||||
- Units_2_16
|
||||
- Remote_devel_extra_vms
|
||||
- Remote_devel
|
||||
- Remote_2_19
|
||||
- Remote_2_18
|
||||
- Remote_2_17
|
||||
- Remote_2_16
|
||||
- Docker_devel
|
||||
- Docker_2_19
|
||||
- Docker_2_18
|
||||
- Docker_2_17
|
||||
- Docker_2_16
|
||||
- Docker_community_devel
|
||||
# Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled.
|
||||
# - Generic_devel
|
||||
# - Generic_2_19
|
||||
# - Generic_2_18
|
||||
# - Generic_2_17
|
||||
# - Generic_2_16
|
||||
|
||||
2
.github/workflows/codeql-analysis.yml
vendored
2
.github/workflows/codeql-analysis.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
|
||||
2
.github/workflows/nox.yml
vendored
2
.github/workflows/nox.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
name: "Run extra sanity tests"
|
||||
steps:
|
||||
- name: Check out collection
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Run nox
|
||||
|
||||
165
CHANGELOG.md
165
CHANGELOG.md
@@ -2,81 +2,90 @@
|
||||
|
||||
**Topics**
|
||||
|
||||
- <a href="#v10-7-1">v10\.7\.1</a>
|
||||
- <a href="#v10-7-4">v10\.7\.4</a>
|
||||
- <a href="#release-summary">Release Summary</a>
|
||||
- <a href="#bugfixes">Bugfixes</a>
|
||||
- <a href="#v10-7-3">v10\.7\.3</a>
|
||||
- <a href="#release-summary-1">Release Summary</a>
|
||||
- <a href="#bugfixes-1">Bugfixes</a>
|
||||
- <a href="#v10-7-2">v10\.7\.2</a>
|
||||
- <a href="#release-summary-2">Release Summary</a>
|
||||
- <a href="#bugfixes-2">Bugfixes</a>
|
||||
- <a href="#v10-7-1">v10\.7\.1</a>
|
||||
- <a href="#release-summary-3">Release Summary</a>
|
||||
- <a href="#minor-changes">Minor Changes</a>
|
||||
- <a href="#deprecated-features">Deprecated Features</a>
|
||||
- <a href="#bugfixes">Bugfixes</a>
|
||||
- <a href="#bugfixes-3">Bugfixes</a>
|
||||
- <a href="#v10-7-0">v10\.7\.0</a>
|
||||
- <a href="#release-summary-1">Release Summary</a>
|
||||
- <a href="#release-summary-4">Release Summary</a>
|
||||
- <a href="#minor-changes-1">Minor Changes</a>
|
||||
- <a href="#deprecated-features-1">Deprecated Features</a>
|
||||
- <a href="#bugfixes-1">Bugfixes</a>
|
||||
- <a href="#bugfixes-4">Bugfixes</a>
|
||||
- <a href="#new-plugins">New Plugins</a>
|
||||
- <a href="#callback">Callback</a>
|
||||
- <a href="#filter">Filter</a>
|
||||
- <a href="#new-modules">New Modules</a>
|
||||
- <a href="#v10-6-0">v10\.6\.0</a>
|
||||
- <a href="#release-summary-2">Release Summary</a>
|
||||
- <a href="#release-summary-5">Release Summary</a>
|
||||
- <a href="#minor-changes-2">Minor Changes</a>
|
||||
- <a href="#deprecated-features-2">Deprecated Features</a>
|
||||
- <a href="#bugfixes-2">Bugfixes</a>
|
||||
- <a href="#bugfixes-5">Bugfixes</a>
|
||||
- <a href="#known-issues">Known Issues</a>
|
||||
- <a href="#new-plugins-1">New Plugins</a>
|
||||
- <a href="#connection">Connection</a>
|
||||
- <a href="#v10-5-0">v10\.5\.0</a>
|
||||
- <a href="#release-summary-3">Release Summary</a>
|
||||
- <a href="#release-summary-6">Release Summary</a>
|
||||
- <a href="#minor-changes-3">Minor Changes</a>
|
||||
- <a href="#bugfixes-3">Bugfixes</a>
|
||||
- <a href="#bugfixes-6">Bugfixes</a>
|
||||
- <a href="#new-modules-1">New Modules</a>
|
||||
- <a href="#v10-4-0">v10\.4\.0</a>
|
||||
- <a href="#release-summary-4">Release Summary</a>
|
||||
- <a href="#release-summary-7">Release Summary</a>
|
||||
- <a href="#minor-changes-4">Minor Changes</a>
|
||||
- <a href="#deprecated-features-3">Deprecated Features</a>
|
||||
- <a href="#bugfixes-4">Bugfixes</a>
|
||||
- <a href="#bugfixes-7">Bugfixes</a>
|
||||
- <a href="#new-modules-2">New Modules</a>
|
||||
- <a href="#v10-3-1">v10\.3\.1</a>
|
||||
- <a href="#release-summary-5">Release Summary</a>
|
||||
- <a href="#release-summary-8">Release Summary</a>
|
||||
- <a href="#minor-changes-5">Minor Changes</a>
|
||||
- <a href="#bugfixes-5">Bugfixes</a>
|
||||
- <a href="#bugfixes-8">Bugfixes</a>
|
||||
- <a href="#v10-3-0">v10\.3\.0</a>
|
||||
- <a href="#release-summary-6">Release Summary</a>
|
||||
- <a href="#release-summary-9">Release Summary</a>
|
||||
- <a href="#minor-changes-6">Minor Changes</a>
|
||||
- <a href="#deprecated-features-4">Deprecated Features</a>
|
||||
- <a href="#security-fixes">Security Fixes</a>
|
||||
- <a href="#bugfixes-6">Bugfixes</a>
|
||||
- <a href="#bugfixes-9">Bugfixes</a>
|
||||
- <a href="#new-plugins-2">New Plugins</a>
|
||||
- <a href="#connection-1">Connection</a>
|
||||
- <a href="#filter-1">Filter</a>
|
||||
- <a href="#lookup">Lookup</a>
|
||||
- <a href="#new-modules-3">New Modules</a>
|
||||
- <a href="#v10-2-0">v10\.2\.0</a>
|
||||
- <a href="#release-summary-7">Release Summary</a>
|
||||
- <a href="#release-summary-10">Release Summary</a>
|
||||
- <a href="#minor-changes-7">Minor Changes</a>
|
||||
- <a href="#deprecated-features-5">Deprecated Features</a>
|
||||
- <a href="#security-fixes-1">Security Fixes</a>
|
||||
- <a href="#bugfixes-7">Bugfixes</a>
|
||||
- <a href="#bugfixes-10">Bugfixes</a>
|
||||
- <a href="#new-plugins-3">New Plugins</a>
|
||||
- <a href="#inventory">Inventory</a>
|
||||
- <a href="#new-modules-4">New Modules</a>
|
||||
- <a href="#v10-1-0">v10\.1\.0</a>
|
||||
- <a href="#release-summary-8">Release Summary</a>
|
||||
- <a href="#release-summary-11">Release Summary</a>
|
||||
- <a href="#minor-changes-8">Minor Changes</a>
|
||||
- <a href="#deprecated-features-6">Deprecated Features</a>
|
||||
- <a href="#bugfixes-8">Bugfixes</a>
|
||||
- <a href="#bugfixes-11">Bugfixes</a>
|
||||
- <a href="#new-plugins-4">New Plugins</a>
|
||||
- <a href="#filter-2">Filter</a>
|
||||
- <a href="#new-modules-5">New Modules</a>
|
||||
- <a href="#v10-0-1">v10\.0\.1</a>
|
||||
- <a href="#release-summary-9">Release Summary</a>
|
||||
- <a href="#bugfixes-9">Bugfixes</a>
|
||||
- <a href="#release-summary-12">Release Summary</a>
|
||||
- <a href="#bugfixes-12">Bugfixes</a>
|
||||
- <a href="#v10-0-0">v10\.0\.0</a>
|
||||
- <a href="#release-summary-10">Release Summary</a>
|
||||
- <a href="#release-summary-13">Release Summary</a>
|
||||
- <a href="#minor-changes-9">Minor Changes</a>
|
||||
- <a href="#breaking-changes--porting-guide">Breaking Changes / Porting Guide</a>
|
||||
- <a href="#deprecated-features-7">Deprecated Features</a>
|
||||
- <a href="#removed-features-previously-deprecated">Removed Features \(previously deprecated\)</a>
|
||||
- <a href="#bugfixes-10">Bugfixes</a>
|
||||
- <a href="#bugfixes-13">Bugfixes</a>
|
||||
- <a href="#known-issues-1">Known Issues</a>
|
||||
- <a href="#new-plugins-5">New Plugins</a>
|
||||
- <a href="#filter-3">Filter</a>
|
||||
@@ -84,10 +93,78 @@
|
||||
- <a href="#new-modules-6">New Modules</a>
|
||||
This changelog describes changes after version 9\.0\.0\.
|
||||
|
||||
<a id="v10-7-4"></a>
|
||||
## v10\.7\.4
|
||||
|
||||
<a id="release-summary"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix release\.
|
||||
|
||||
<a id="bugfixes"></a>
|
||||
### Bugfixes
|
||||
|
||||
* Avoid deprecated functionality in ansible\-core 2\.20 \([https\://github\.com/ansible\-collections/community\.general/pull/10687](https\://github\.com/ansible\-collections/community\.general/pull/10687)\)\.
|
||||
* apache2\_module \- check the <code>cgi</code> module restrictions only during activation \([https\://github\.com/ansible\-collections/community\.general/pull/10423](https\://github\.com/ansible\-collections/community\.general/pull/10423)\)\.
|
||||
* kdeconfig \- <code>kwriteconfig</code> executable could not be discovered automatically on systems with only <code>kwriteconfig6</code> installed\. <code>kwriteconfig6</code> can now be discovered by Ansible \([https\://github\.com/ansible\-collections/community\.general/issues/10746](https\://github\.com/ansible\-collections/community\.general/issues/10746)\, [https\://github\.com/ansible\-collections/community\.general/pull/10751](https\://github\.com/ansible\-collections/community\.general/pull/10751)\)\.
|
||||
* monit \- fix crash caused by an unknown status value returned from the monit service \([https\://github\.com/ansible\-collections/community\.general/issues/10742](https\://github\.com/ansible\-collections/community\.general/issues/10742)\, [https\://github\.com/ansible\-collections/community\.general/pull/10743](https\://github\.com/ansible\-collections/community\.general/pull/10743)\)\.
|
||||
* pids \- prevent error when an empty string is provided for <code>name</code> \([https\://github\.com/ansible\-collections/community\.general/issues/10672](https\://github\.com/ansible\-collections/community\.general/issues/10672)\, [https\://github\.com/ansible\-collections/community\.general/pull/10688](https\://github\.com/ansible\-collections/community\.general/pull/10688)\)\.
|
||||
* selective callback plugin \- specify <code>ansible\_loop\_var</code> instead of the explicit value <code>item</code> when printing task result \([https\://github\.com/ansible\-collections/community\.general/pull/10752](https\://github\.com/ansible\-collections/community\.general/pull/10752)\)\.
|
||||
|
||||
<a id="v10-7-3"></a>
|
||||
## v10\.7\.3
|
||||
|
||||
<a id="release-summary-1"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix release\.
|
||||
|
||||
<a id="bugfixes-1"></a>
|
||||
### Bugfixes
|
||||
|
||||
* apache2\_module \- avoid ansible\-core 2\.19 deprecation \([https\://github\.com/ansible\-collections/community\.general/pull/10459](https\://github\.com/ansible\-collections/community\.general/pull/10459)\)\.
|
||||
* apk \- fix check for empty/whitespace\-only package names \([https\://github\.com/ansible\-collections/community\.general/pull/10532](https\://github\.com/ansible\-collections/community\.general/pull/10532)\)\.
|
||||
* apk \- handle empty name strings properly \([https\://github\.com/ansible\-collections/community\.general/issues/10441](https\://github\.com/ansible\-collections/community\.general/issues/10441)\, [https\://github\.com/ansible\-collections/community\.general/pull/10442](https\://github\.com/ansible\-collections/community\.general/pull/10442)\)\.
|
||||
* capabilities \- using invalid path \(symlink/directory/\.\.\.\) returned unrelated and incoherent error messages \([https\://github\.com/ansible\-collections/community\.general/issues/5649](https\://github\.com/ansible\-collections/community\.general/issues/5649)\, [https\://github\.com/ansible\-collections/community\.general/pull/10455](https\://github\.com/ansible\-collections/community\.general/pull/10455)\)\.
|
||||
* cronvar \- fix crash on missing <code>cron\_file</code> parent directories \([https\://github\.com/ansible\-collections/community\.general/issues/10460](https\://github\.com/ansible\-collections/community\.general/issues/10460)\, [https\://github\.com/ansible\-collections/community\.general/pull/10461](https\://github\.com/ansible\-collections/community\.general/pull/10461)\)\.
|
||||
* cronvar \- handle empty strings on <code>value</code> properly \([https\://github\.com/ansible\-collections/community\.general/issues/10439](https\://github\.com/ansible\-collections/community\.general/issues/10439)\, [https\://github\.com/ansible\-collections/community\.general/pull/10445](https\://github\.com/ansible\-collections/community\.general/pull/10445)\)\.
|
||||
* doas become plugin \- disable pipelining on ansible\-core 2\.19\+\. The plugin does not work with pipelining\, and since ansible\-core 2\.19 become plugins can indicate that they do not work with pipelining \([https\://github\.com/ansible\-collections/community\.general/issues/9977](https\://github\.com/ansible\-collections/community\.general/issues/9977)\, [https\://github\.com/ansible\-collections/community\.general/pull/10537](https\://github\.com/ansible\-collections/community\.general/pull/10537)\)\.
|
||||
* htpasswd \- avoid ansible\-core 2\.19 deprecation \([https\://github\.com/ansible\-collections/community\.general/pull/10459](https\://github\.com/ansible\-collections/community\.general/pull/10459)\)\.
|
||||
* irc \- pass hostname to <code>wrap\_socket\(\)</code> if <code>use\_tls\=true</code> and <code>validate\_certs\=true</code> \([https\://github\.com/ansible\-collections/community\.general/issues/10472](https\://github\.com/ansible\-collections/community\.general/issues/10472)\, [https\://github\.com/ansible\-collections/community\.general/pull/10491](https\://github\.com/ansible\-collections/community\.general/pull/10491)\)\.
|
||||
* json\_query filter plugin \- make compatible with lazy evaluation list and dictionary types of ansible\-core 2\.19 \([https\://github\.com/ansible\-collections/community\.general/pull/10539](https\://github\.com/ansible\-collections/community\.general/pull/10539)\)\.
|
||||
* listen\_port\_facts \- avoid crash when required commands are missing \([https\://github\.com/ansible\-collections/community\.general/issues/10457](https\://github\.com/ansible\-collections/community\.general/issues/10457)\, [https\://github\.com/ansible\-collections/community\.general/pull/10458](https\://github\.com/ansible\-collections/community\.general/pull/10458)\)\.
|
||||
* machinectl become plugin \- disable pipelining on ansible\-core 2\.19\+\. The plugin does not work with pipelining\, and since ansible\-core 2\.19 become plugins can indicate that they do not work with pipelining \([https\://github\.com/ansible\-collections/community\.general/pull/10537](https\://github\.com/ansible\-collections/community\.general/pull/10537)\)\.
|
||||
* merge\_variables lookup plugin \- avoid deprecated functionality from ansible\-core 2\.19 \([https\://github\.com/ansible\-collections/community\.general/pull/10566](https\://github\.com/ansible\-collections/community\.general/pull/10566)\)\.
|
||||
* proxmox inventory plugin \- avoid using deprecated option when templating options \([https\://github\.com/ansible\-collections/community\.proxmox/pull/108](https\://github\.com/ansible\-collections/community\.proxmox/pull/108)\, [https\://github\.com/ansible\-collections/community\.general/pull/10553](https\://github\.com/ansible\-collections/community\.general/pull/10553)\)\.
|
||||
* proxmox\_pct\_remote connection plugin \- avoid deprecated ansible\-core paramiko import helper\, import paramiko directly instead \([https\://github\.com/ansible\-collections/community\.proxmox/issues/146](https\://github\.com/ansible\-collections/community\.proxmox/issues/146)\, [https\://github\.com/ansible\-collections/community\.proxmox/pull/151](https\://github\.com/ansible\-collections/community\.proxmox/pull/151)\, [https\://github\.com/ansible\-collections/community\.general/pull/10553](https\://github\.com/ansible\-collections/community\.general/pull/10553)\)\.
|
||||
* syspatch \- avoid ansible\-core 2\.19 deprecation \([https\://github\.com/ansible\-collections/community\.general/pull/10459](https\://github\.com/ansible\-collections/community\.general/pull/10459)\)\.
|
||||
* sysrc \- use <code>shlex</code> to improve parsing of <code>sysrc \-e \-a</code> output \([https\://github\.com/ansible\-collections/community\.general/issues/10394](https\://github\.com/ansible\-collections/community\.general/issues/10394)\, [https\://github\.com/ansible\-collections/community\.general/pull/10400](https\://github\.com/ansible\-collections/community\.general/pull/10400)\)\.
|
||||
* sysupgrade \- avoid ansible\-core 2\.19 deprecation \([https\://github\.com/ansible\-collections/community\.general/pull/10459](https\://github\.com/ansible\-collections/community\.general/pull/10459)\)\.
|
||||
* wsl connection plugin \- avoid deprecated ansible\-core paramiko import helper\, import paramiko directly instead \([https\://github\.com/ansible\-collections/community\.general/issues/10515](https\://github\.com/ansible\-collections/community\.general/issues/10515)\, [https\://github\.com/ansible\-collections/community\.general/pull/10531](https\://github\.com/ansible\-collections/community\.general/pull/10531)\)\.
|
||||
* zypper\_repository \- avoid ansible\-core 2\.19 deprecation \([https\://github\.com/ansible\-collections/community\.general/pull/10459](https\://github\.com/ansible\-collections/community\.general/pull/10459)\)\.
|
||||
|
||||
<a id="v10-7-2"></a>
|
||||
## v10\.7\.2
|
||||
|
||||
<a id="release-summary-2"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix release\.
|
||||
|
||||
<a id="bugfixes-2"></a>
|
||||
### Bugfixes
|
||||
|
||||
* dependent lookup plugin \- avoid deprecated ansible\-core 2\.19 functionality \([https\://github\.com/ansible\-collections/community\.general/pull/10359](https\://github\.com/ansible\-collections/community\.general/pull/10359)\)\.
|
||||
* github\_release \- support multiple types of GitHub tokens\; no longer failing when <code>ghs\_</code> token type is provided \([https\://github\.com/ansible\-collections/community\.general/issues/10338](https\://github\.com/ansible\-collections/community\.general/issues/10338)\, [https\://github\.com/ansible\-collections/community\.general/pull/10339](https\://github\.com/ansible\-collections/community\.general/pull/10339)\)\.
|
||||
* icinga2 inventory plugin \- avoid using deprecated option when templating options \([https\://github\.com/ansible\-collections/community\.general/pull/10271](https\://github\.com/ansible\-collections/community\.general/pull/10271)\)\.
|
||||
* incus connection plugin \- fix error handling to return more useful Ansible errors to the user \([https\://github\.com/ansible\-collections/community\.general/issues/10344](https\://github\.com/ansible\-collections/community\.general/issues/10344)\, [https\://github\.com/ansible\-collections/community\.general/pull/10349](https\://github\.com/ansible\-collections/community\.general/pull/10349)\)\.
|
||||
* linode inventory plugin \- avoid using deprecated option when templating options \([https\://github\.com/ansible\-collections/community\.general/pull/10271](https\://github\.com/ansible\-collections/community\.general/pull/10271)\)\.
|
||||
* logstash callback plugin \- remove reference to Python 2 library \([https\://github\.com/ansible\-collections/community\.general/pull/10345](https\://github\.com/ansible\-collections/community\.general/pull/10345)\)\.
|
||||
|
||||
<a id="v10-7-1"></a>
|
||||
## v10\.7\.1
|
||||
|
||||
<a id="release-summary"></a>
|
||||
<a id="release-summary-3"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix release\.
|
||||
@@ -103,7 +180,7 @@ Regular bugfix release\.
|
||||
|
||||
* yaml callback plugin \- the YAML callback plugin was deprecated for removal in community\.general 13\.0\.0\. Since it needs to use ansible\-core internals since ansible\-core 2\.19 that are changing a lot\, we will remove this plugin already from community\.general 12\.0\.0 to ease the maintenance burden \([https\://github\.com/ansible\-collections/community\.general/pull/10213](https\://github\.com/ansible\-collections/community\.general/pull/10213)\)\.
|
||||
|
||||
<a id="bugfixes"></a>
|
||||
<a id="bugfixes-3"></a>
|
||||
### Bugfixes
|
||||
|
||||
* cobbler\_system \- update minimum version number to avoid wrong comparisons that happen in some cases using LooseVersion class which results in TypeError \([https\://github\.com/ansible\-collections/community\.general/issues/8506](https\://github\.com/ansible\-collections/community\.general/issues/8506)\, [https\://github\.com/ansible\-collections/community\.general/pull/10145](https\://github\.com/ansible\-collections/community\.general/pull/10145)\, [https\://github\.com/ansible\-collections/community\.general/pull/10178](https\://github\.com/ansible\-collections/community\.general/pull/10178)\)\.
|
||||
@@ -117,7 +194,7 @@ Regular bugfix release\.
|
||||
<a id="v10-7-0"></a>
|
||||
## v10\.7\.0
|
||||
|
||||
<a id="release-summary-1"></a>
|
||||
<a id="release-summary-4"></a>
|
||||
### Release Summary
|
||||
|
||||
Bugfix and feature release\.
|
||||
@@ -141,7 +218,7 @@ From now on\, there will only be bugfix 10\.7\.x releases for the community\.gen
|
||||
* The proxmox content \(modules and plugins\) is being moved to the [new collection community\.proxmox](https\://github\.com/ansible\-collections/community\.proxmox)\. In community\.general 11\.0\.0\, these modules and plugins will be replaced by deprecated redirections to community\.proxmox\. You need to explicitly install community\.proxmox\, for example with <code>ansible\-galaxy collection install community\.proxmox</code>\. We suggest to update your roles and playbooks to use the new FQCNs as soon as possible to avoid getting deprecation messages \([https\://github\.com/ansible\-collections/community\.general/pull/10109](https\://github\.com/ansible\-collections/community\.general/pull/10109)\)\.
|
||||
* pipx module\_utils \- function <code>make\_process\_list\(\)</code> is deprecated and will be removed in community\.general 13\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/10031](https\://github\.com/ansible\-collections/community\.general/pull/10031)\)\.
|
||||
|
||||
<a id="bugfixes-1"></a>
|
||||
<a id="bugfixes-4"></a>
|
||||
### Bugfixes
|
||||
|
||||
* cobbler\_system \- fix bug with Cobbler \>\= 3\.4\.0 caused by giving more than 2 positional arguments to <code>CobblerXMLRPCInterface\.get\_system\_handle\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/issues/8506](https\://github\.com/ansible\-collections/community\.general/issues/8506)\, [https\://github\.com/ansible\-collections/community\.general/pull/10145](https\://github\.com/ansible\-collections/community\.general/pull/10145)\)\.
|
||||
@@ -173,7 +250,7 @@ From now on\, there will only be bugfix 10\.7\.x releases for the community\.gen
|
||||
<a id="v10-6-0"></a>
|
||||
## v10\.6\.0
|
||||
|
||||
<a id="release-summary-2"></a>
|
||||
<a id="release-summary-5"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix and feature release\.
|
||||
@@ -217,7 +294,7 @@ Regular bugfix and feature release\.
|
||||
* manifold lookup plugin \- plugin is deprecated and will be removed in community\.general 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/10028](https\://github\.com/ansible\-collections/community\.general/pull/10028)\)\.
|
||||
* stackpath\_compute inventory plugin \- plugin is deprecated and will be removed in community\.general 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/10026](https\://github\.com/ansible\-collections/community\.general/pull/10026)\)\.
|
||||
|
||||
<a id="bugfixes-2"></a>
|
||||
<a id="bugfixes-5"></a>
|
||||
### Bugfixes
|
||||
|
||||
* dependent look plugin \- make compatible with ansible\-core\'s Data Tagging feature \([https\://github\.com/ansible\-collections/community\.general/pull/9833](https\://github\.com/ansible\-collections/community\.general/pull/9833)\)\.
|
||||
@@ -250,7 +327,7 @@ Regular bugfix and feature release\.
|
||||
<a id="v10-5-0"></a>
|
||||
## v10\.5\.0
|
||||
|
||||
<a id="release-summary-3"></a>
|
||||
<a id="release-summary-6"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix and feature release\.
|
||||
@@ -272,7 +349,7 @@ Regular bugfix and feature release\.
|
||||
* systemd\_info \- extend support to timer units \([https\://github\.com/ansible\-collections/community\.general/pull/9891](https\://github\.com/ansible\-collections/community\.general/pull/9891)\)\.
|
||||
* vmadm \- add new options <code>flexible\_disk\_size</code> and <code>owner\_uuid</code> \([https\://github\.com/ansible\-collections/community\.general/pull/9892](https\://github\.com/ansible\-collections/community\.general/pull/9892)\)\.
|
||||
|
||||
<a id="bugfixes-3"></a>
|
||||
<a id="bugfixes-6"></a>
|
||||
### Bugfixes
|
||||
|
||||
* cloudlare\_dns \- handle exhausted response stream in case of HTTP errors to show nice error message to the user \([https\://github\.com/ansible\-collections/community\.general/issues/9782](https\://github\.com/ansible\-collections/community\.general/issues/9782)\, [https\://github\.com/ansible\-collections/community\.general/pull/9818](https\://github\.com/ansible\-collections/community\.general/pull/9818)\)\.
|
||||
@@ -292,7 +369,7 @@ Regular bugfix and feature release\.
|
||||
<a id="v10-4-0"></a>
|
||||
## v10\.4\.0
|
||||
|
||||
<a id="release-summary-4"></a>
|
||||
<a id="release-summary-7"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix and feature release\.
|
||||
@@ -322,7 +399,7 @@ Regular bugfix and feature release\.
|
||||
* profitbricks\_volume \- module is deprecated and will be removed in community\.general 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/9733](https\://github\.com/ansible\-collections/community\.general/pull/9733)\)\.
|
||||
* profitbricks\_volume\_attachments \- module is deprecated and will be removed in community\.general 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/9733](https\://github\.com/ansible\-collections/community\.general/pull/9733)\)\.
|
||||
|
||||
<a id="bugfixes-4"></a>
|
||||
<a id="bugfixes-7"></a>
|
||||
### Bugfixes
|
||||
|
||||
* apache2\_mod\_proxy \- make compatible with Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9762](https\://github\.com/ansible\-collections/community\.general/pull/9762)\)\.
|
||||
@@ -350,7 +427,7 @@ Regular bugfix and feature release\.
|
||||
<a id="v10-3-1"></a>
|
||||
## v10\.3\.1
|
||||
|
||||
<a id="release-summary-5"></a>
|
||||
<a id="release-summary-8"></a>
|
||||
### Release Summary
|
||||
|
||||
Bugfix release\.
|
||||
@@ -360,7 +437,7 @@ Bugfix release\.
|
||||
|
||||
* onepassword\_ssh\_key \- refactor to move code to lookup class \([https\://github\.com/ansible\-collections/community\.general/pull/9633](https\://github\.com/ansible\-collections/community\.general/pull/9633)\)\.
|
||||
|
||||
<a id="bugfixes-5"></a>
|
||||
<a id="bugfixes-8"></a>
|
||||
### Bugfixes
|
||||
|
||||
* cloudflare\_dns \- fix crash when deleting a DNS record or when updating a record with <code>solo\=true</code> \([https\://github\.com/ansible\-collections/community\.general/issues/9652](https\://github\.com/ansible\-collections/community\.general/issues/9652)\, [https\://github\.com/ansible\-collections/community\.general/pull/9649](https\://github\.com/ansible\-collections/community\.general/pull/9649)\)\.
|
||||
@@ -374,7 +451,7 @@ Bugfix release\.
|
||||
<a id="v10-3-0"></a>
|
||||
## v10\.3\.0
|
||||
|
||||
<a id="release-summary-6"></a>
|
||||
<a id="release-summary-9"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix and feature release\.
|
||||
@@ -513,7 +590,7 @@ Regular bugfix and feature release\.
|
||||
|
||||
* keycloak\_client \- Sanitize <code>saml\.encryption\.private\.key</code> so it does not show in the logs \([https\://github\.com/ansible\-collections/community\.general/pull/9621](https\://github\.com/ansible\-collections/community\.general/pull/9621)\)\.
|
||||
|
||||
<a id="bugfixes-6"></a>
|
||||
<a id="bugfixes-9"></a>
|
||||
### Bugfixes
|
||||
|
||||
* homebrew \- fix incorrect handling of homebrew modules when a tap is requested \([https\://github\.com/ansible\-collections/community\.general/pull/9546](https\://github\.com/ansible\-collections/community\.general/pull/9546)\, [https\://github\.com/ansible\-collections/community\.general/issues/9533](https\://github\.com/ansible\-collections/community\.general/issues/9533)\)\.
|
||||
@@ -557,7 +634,7 @@ Regular bugfix and feature release\.
|
||||
<a id="v10-2-0"></a>
|
||||
## v10\.2\.0
|
||||
|
||||
<a id="release-summary-7"></a>
|
||||
<a id="release-summary-10"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix and feature release\.
|
||||
@@ -716,7 +793,7 @@ Regular bugfix and feature release\.
|
||||
|
||||
* keycloak\_authentication \- API calls did not properly set the <code>priority</code> during update resulting in incorrectly sorted authentication flows\. This apparently only affects Keycloak 25 or newer \([https\://github\.com/ansible\-collections/community\.general/pull/9263](https\://github\.com/ansible\-collections/community\.general/pull/9263)\)\.
|
||||
|
||||
<a id="bugfixes-7"></a>
|
||||
<a id="bugfixes-10"></a>
|
||||
### Bugfixes
|
||||
|
||||
* dig lookup plugin \- correctly handle <code>NoNameserver</code> exception \([https\://github\.com/ansible\-collections/community\.general/pull/9363](https\://github\.com/ansible\-collections/community\.general/pull/9363)\, [https\://github\.com/ansible\-collections/community\.general/issues/9362](https\://github\.com/ansible\-collections/community\.general/issues/9362)\)\.
|
||||
@@ -747,7 +824,7 @@ Regular bugfix and feature release\.
|
||||
<a id="v10-1-0"></a>
|
||||
## v10\.1\.0
|
||||
|
||||
<a id="release-summary-8"></a>
|
||||
<a id="release-summary-11"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix and feature release\.
|
||||
@@ -779,7 +856,7 @@ Regular bugfix and feature release\.
|
||||
* opkg \- deprecate value <code>\"\"</code> for parameter <code>force</code> \([https\://github\.com/ansible\-collections/community\.general/pull/9172](https\://github\.com/ansible\-collections/community\.general/pull/9172)\)\.
|
||||
* redfish\_utils module utils \- deprecate method <code>RedfishUtils\.\_init\_session\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/9190](https\://github\.com/ansible\-collections/community\.general/pull/9190)\)\.
|
||||
|
||||
<a id="bugfixes-8"></a>
|
||||
<a id="bugfixes-11"></a>
|
||||
### Bugfixes
|
||||
|
||||
* dnf\_config\_manager \- fix hanging when prompting to import GPG keys \([https\://github\.com/ansible\-collections/community\.general/pull/9124](https\://github\.com/ansible\-collections/community\.general/pull/9124)\, [https\://github\.com/ansible\-collections/community\.general/issues/8830](https\://github\.com/ansible\-collections/community\.general/issues/8830)\)\.
|
||||
@@ -808,12 +885,12 @@ Regular bugfix and feature release\.
|
||||
<a id="v10-0-1"></a>
|
||||
## v10\.0\.1
|
||||
|
||||
<a id="release-summary-9"></a>
|
||||
<a id="release-summary-12"></a>
|
||||
### Release Summary
|
||||
|
||||
Bugfix release for inclusion in Ansible 11\.0\.0rc1\.
|
||||
|
||||
<a id="bugfixes-9"></a>
|
||||
<a id="bugfixes-12"></a>
|
||||
### Bugfixes
|
||||
|
||||
* keycloak\_client \- fix diff by removing code that turns the attributes dict which contains additional settings into a list \([https\://github\.com/ansible\-collections/community\.general/pull/9077](https\://github\.com/ansible\-collections/community\.general/pull/9077)\)\.
|
||||
@@ -823,7 +900,7 @@ Bugfix release for inclusion in Ansible 11\.0\.0rc1\.
|
||||
<a id="v10-0-0"></a>
|
||||
## v10\.0\.0
|
||||
|
||||
<a id="release-summary-10"></a>
|
||||
<a id="release-summary-13"></a>
|
||||
### Release Summary
|
||||
|
||||
This is release 10\.0\.0 of <code>community\.general</code>\, released on 2024\-11\-04\.
|
||||
@@ -1058,7 +1135,7 @@ This is release 10\.0\.0 of <code>community\.general</code>\, released on 2024\-
|
||||
* proxmox\_kvm \- removed the <code>proxmox\_default\_behavior</code> option\. Explicitly specify the old default values if you were using <code>proxmox\_default\_behavior\=compatibility</code>\, otherwise simply remove it \([https\://github\.com/ansible\-collections/community\.general/pull/8918](https\://github\.com/ansible\-collections/community\.general/pull/8918)\)\.
|
||||
* redhat\_subscriptions \- removed the <code>pool</code> option\. Use <code>pool\_ids</code> instead \([https\://github\.com/ansible\-collections/community\.general/pull/8918](https\://github\.com/ansible\-collections/community\.general/pull/8918)\)\.
|
||||
|
||||
<a id="bugfixes-10"></a>
|
||||
<a id="bugfixes-13"></a>
|
||||
### Bugfixes
|
||||
|
||||
* bitwarden lookup plugin \- fix <code>KeyError</code> in <code>search\_field</code> \([https\://github\.com/ansible\-collections/community\.general/issues/8549](https\://github\.com/ansible\-collections/community\.general/issues/8549)\, [https\://github\.com/ansible\-collections/community\.general/pull/8557](https\://github\.com/ansible\-collections/community\.general/pull/8557)\)\.
|
||||
|
||||
@@ -6,6 +6,74 @@ Community General Release Notes
|
||||
|
||||
This changelog describes changes after version 9.0.0.
|
||||
|
||||
v10.7.4
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
Regular bugfix release.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Avoid deprecated functionality in ansible-core 2.20 (https://github.com/ansible-collections/community.general/pull/10687).
|
||||
- apache2_module - check the ``cgi`` module restrictions only during activation (https://github.com/ansible-collections/community.general/pull/10423).
|
||||
- kdeconfig - ``kwriteconfig`` executable could not be discovered automatically on systems with only ``kwriteconfig6`` installed. ``kwriteconfig6`` can now be discovered by Ansible (https://github.com/ansible-collections/community.general/issues/10746, https://github.com/ansible-collections/community.general/pull/10751).
|
||||
- monit - fix crash caused by an unknown status value returned from the monit service (https://github.com/ansible-collections/community.general/issues/10742, https://github.com/ansible-collections/community.general/pull/10743).
|
||||
- pids - prevent error when an empty string is provided for ``name`` (https://github.com/ansible-collections/community.general/issues/10672, https://github.com/ansible-collections/community.general/pull/10688).
|
||||
- selective callback plugin - specify ``ansible_loop_var`` instead of the explicit value ``item`` when printing task result (https://github.com/ansible-collections/community.general/pull/10752).
|
||||
|
||||
v10.7.3
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
Regular bugfix release.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- apache2_module - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459).
|
||||
- apk - fix check for empty/whitespace-only package names (https://github.com/ansible-collections/community.general/pull/10532).
|
||||
- apk - handle empty name strings properly (https://github.com/ansible-collections/community.general/issues/10441, https://github.com/ansible-collections/community.general/pull/10442).
|
||||
- capabilities - using invalid path (symlink/directory/...) returned unrelated and incoherent error messages (https://github.com/ansible-collections/community.general/issues/5649, https://github.com/ansible-collections/community.general/pull/10455).
|
||||
- cronvar - fix crash on missing ``cron_file`` parent directories (https://github.com/ansible-collections/community.general/issues/10460, https://github.com/ansible-collections/community.general/pull/10461).
|
||||
- cronvar - handle empty strings on ``value`` properly (https://github.com/ansible-collections/community.general/issues/10439, https://github.com/ansible-collections/community.general/pull/10445).
|
||||
- doas become plugin - disable pipelining on ansible-core 2.19+. The plugin does not work with pipelining, and since ansible-core 2.19 become plugins can indicate that they do not work with pipelining (https://github.com/ansible-collections/community.general/issues/9977, https://github.com/ansible-collections/community.general/pull/10537).
|
||||
- htpasswd - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459).
|
||||
- irc - pass hostname to ``wrap_socket()`` if ``use_tls=true`` and ``validate_certs=true`` (https://github.com/ansible-collections/community.general/issues/10472, https://github.com/ansible-collections/community.general/pull/10491).
|
||||
- json_query filter plugin - make compatible with lazy evaluation list and dictionary types of ansible-core 2.19 (https://github.com/ansible-collections/community.general/pull/10539).
|
||||
- listen_port_facts - avoid crash when required commands are missing (https://github.com/ansible-collections/community.general/issues/10457, https://github.com/ansible-collections/community.general/pull/10458).
|
||||
- machinectl become plugin - disable pipelining on ansible-core 2.19+. The plugin does not work with pipelining, and since ansible-core 2.19 become plugins can indicate that they do not work with pipelining (https://github.com/ansible-collections/community.general/pull/10537).
|
||||
- merge_variables lookup plugin - avoid deprecated functionality from ansible-core 2.19 (https://github.com/ansible-collections/community.general/pull/10566).
|
||||
- proxmox inventory plugin - avoid using deprecated option when templating options (https://github.com/ansible-collections/community.proxmox/pull/108, https://github.com/ansible-collections/community.general/pull/10553).
|
||||
- proxmox_pct_remote connection plugin - avoid deprecated ansible-core paramiko import helper, import paramiko directly instead (https://github.com/ansible-collections/community.proxmox/issues/146, https://github.com/ansible-collections/community.proxmox/pull/151, https://github.com/ansible-collections/community.general/pull/10553).
|
||||
- syspatch - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459).
|
||||
- sysrc - use ``shlex`` to improve parsing of ``sysrc -e -a`` output (https://github.com/ansible-collections/community.general/issues/10394, https://github.com/ansible-collections/community.general/pull/10400).
|
||||
- sysupgrade - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459).
|
||||
- wsl connection plugin - avoid deprecated ansible-core paramiko import helper, import paramiko directly instead (https://github.com/ansible-collections/community.general/issues/10515, https://github.com/ansible-collections/community.general/pull/10531).
|
||||
- zypper_repository - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459).
|
||||
|
||||
v10.7.2
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
Regular bugfix release.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- dependent lookup plugin - avoid deprecated ansible-core 2.19 functionality (https://github.com/ansible-collections/community.general/pull/10359).
|
||||
- github_release - support multiple types of GitHub tokens; no longer failing when ``ghs_`` token type is provided (https://github.com/ansible-collections/community.general/issues/10338, https://github.com/ansible-collections/community.general/pull/10339).
|
||||
- icinga2 inventory plugin - avoid using deprecated option when templating options (https://github.com/ansible-collections/community.general/pull/10271).
|
||||
- incus connection plugin - fix error handling to return more useful Ansible errors to the user (https://github.com/ansible-collections/community.general/issues/10344, https://github.com/ansible-collections/community.general/pull/10349).
|
||||
- linode inventory plugin - avoid using deprecated option when templating options (https://github.com/ansible-collections/community.general/pull/10271).
|
||||
- logstash callback plugin - remove reference to Python 2 library (https://github.com/ansible-collections/community.general/pull/10345).
|
||||
|
||||
v10.7.1
|
||||
=======
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ For more information about communication, see the [Ansible communication guide](
|
||||
|
||||
## Tested with Ansible
|
||||
|
||||
Tested with the current ansible-core 2.15, ansible-core 2.16, ansible-core 2.17, ansible-core 2.18 releases and the current development version of ansible-core. Ansible-core versions before 2.15.0 are not supported. This includes all ansible-base 2.10 and Ansible 2.9 releases.
|
||||
Tested with the current ansible-core 2.15, ansible-core 2.16, ansible-core 2.17, ansible-core 2.18, ansible-core 2.19 releases and the current development version of ansible-core. Ansible-core versions before 2.15.0 are not supported. This includes all ansible-base 2.10 and Ansible 2.9 releases.
|
||||
|
||||
## External requirements
|
||||
|
||||
|
||||
@@ -1931,3 +1931,119 @@ releases:
|
||||
- 10242-yaml.yml
|
||||
- 9692-update-more-than-10-keycloak-sub-groups.yml
|
||||
release_date: '2025-06-16'
|
||||
10.7.2:
|
||||
changes:
|
||||
bugfixes:
|
||||
- dependent lookup plugin - avoid deprecated ansible-core 2.19 functionality
|
||||
(https://github.com/ansible-collections/community.general/pull/10359).
|
||||
- github_release - support multiple types of GitHub tokens; no longer failing
|
||||
when ``ghs_`` token type is provided (https://github.com/ansible-collections/community.general/issues/10338,
|
||||
https://github.com/ansible-collections/community.general/pull/10339).
|
||||
- icinga2 inventory plugin - avoid using deprecated option when templating
|
||||
options (https://github.com/ansible-collections/community.general/pull/10271).
|
||||
- incus connection plugin - fix error handling to return more useful Ansible
|
||||
errors to the user (https://github.com/ansible-collections/community.general/issues/10344,
|
||||
https://github.com/ansible-collections/community.general/pull/10349).
|
||||
- linode inventory plugin - avoid using deprecated option when templating
|
||||
options (https://github.com/ansible-collections/community.general/pull/10271).
|
||||
- logstash callback plugin - remove reference to Python 2 library (https://github.com/ansible-collections/community.general/pull/10345).
|
||||
release_summary: Regular bugfix release.
|
||||
fragments:
|
||||
- 10.7.2.yml
|
||||
- 10271--disable_lookups.yml
|
||||
- 10339-github_app_access_token.yml
|
||||
- 10349-incus_connection-error-handling.yml
|
||||
- 10359-dependent.yml
|
||||
- logstash.yml
|
||||
release_date: '2025-07-14'
|
||||
10.7.3:
|
||||
changes:
|
||||
bugfixes:
|
||||
- apache2_module - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459).
|
||||
- apk - fix check for empty/whitespace-only package names (https://github.com/ansible-collections/community.general/pull/10532).
|
||||
- apk - handle empty name strings properly (https://github.com/ansible-collections/community.general/issues/10441,
|
||||
https://github.com/ansible-collections/community.general/pull/10442).
|
||||
- capabilities - using invalid path (symlink/directory/...) returned unrelated
|
||||
and incoherent error messages (https://github.com/ansible-collections/community.general/issues/5649,
|
||||
https://github.com/ansible-collections/community.general/pull/10455).
|
||||
- cronvar - fix crash on missing ``cron_file`` parent directories (https://github.com/ansible-collections/community.general/issues/10460,
|
||||
https://github.com/ansible-collections/community.general/pull/10461).
|
||||
- cronvar - handle empty strings on ``value`` properly (https://github.com/ansible-collections/community.general/issues/10439,
|
||||
https://github.com/ansible-collections/community.general/pull/10445).
|
||||
- doas become plugin - disable pipelining on ansible-core 2.19+. The plugin
|
||||
does not work with pipelining, and since ansible-core 2.19 become plugins
|
||||
can indicate that they do not work with pipelining (https://github.com/ansible-collections/community.general/issues/9977,
|
||||
https://github.com/ansible-collections/community.general/pull/10537).
|
||||
- htpasswd - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459).
|
||||
- irc - pass hostname to ``wrap_socket()`` if ``use_tls=true`` and ``validate_certs=true``
|
||||
(https://github.com/ansible-collections/community.general/issues/10472,
|
||||
https://github.com/ansible-collections/community.general/pull/10491).
|
||||
- json_query filter plugin - make compatible with lazy evaluation list and
|
||||
dictionary types of ansible-core 2.19 (https://github.com/ansible-collections/community.general/pull/10539).
|
||||
- listen_port_facts - avoid crash when required commands are missing (https://github.com/ansible-collections/community.general/issues/10457,
|
||||
https://github.com/ansible-collections/community.general/pull/10458).
|
||||
- machinectl become plugin - disable pipelining on ansible-core 2.19+. The
|
||||
plugin does not work with pipelining, and since ansible-core 2.19 become
|
||||
plugins can indicate that they do not work with pipelining (https://github.com/ansible-collections/community.general/pull/10537).
|
||||
- merge_variables lookup plugin - avoid deprecated functionality from ansible-core
|
||||
2.19 (https://github.com/ansible-collections/community.general/pull/10566).
|
||||
- proxmox inventory plugin - avoid using deprecated option when templating
|
||||
options (https://github.com/ansible-collections/community.proxmox/pull/108,
|
||||
https://github.com/ansible-collections/community.general/pull/10553).
|
||||
- proxmox_pct_remote connection plugin - avoid deprecated ansible-core paramiko
|
||||
import helper, import paramiko directly instead (https://github.com/ansible-collections/community.proxmox/issues/146,
|
||||
https://github.com/ansible-collections/community.proxmox/pull/151, https://github.com/ansible-collections/community.general/pull/10553).
|
||||
- syspatch - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459).
|
||||
- sysrc - use ``shlex`` to improve parsing of ``sysrc -e -a`` output (https://github.com/ansible-collections/community.general/issues/10394,
|
||||
https://github.com/ansible-collections/community.general/pull/10400).
|
||||
- sysupgrade - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459).
|
||||
- wsl connection plugin - avoid deprecated ansible-core paramiko import helper,
|
||||
import paramiko directly instead (https://github.com/ansible-collections/community.general/issues/10515,
|
||||
https://github.com/ansible-collections/community.general/pull/10531).
|
||||
- zypper_repository - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459).
|
||||
release_summary: Regular bugfix release.
|
||||
fragments:
|
||||
- 10.7.3.yml
|
||||
- 10400-sysrc.yml
|
||||
- 10442-apk-fix-empty-names.yml
|
||||
- 10445-cronvar-reject-empty-values.yml
|
||||
- 10455-capabilities-improve-error-detection.yml
|
||||
- 10458-listen_port_facts-prevent-type-error.yml
|
||||
- 10459-deprecations.yml
|
||||
- 10461-cronvar-non-existent-dir-crash-fix.yml
|
||||
- 10491-irc.yml
|
||||
- 10531-wsl-paramiko.yml
|
||||
- 10532-apk.yml
|
||||
- 10539-json_query.yml
|
||||
- 10566-merge_variables.yml
|
||||
- 108--disable_lookups.yml
|
||||
- 151-connection-paramiko.yml
|
||||
- become-pipelining.yml
|
||||
release_date: '2025-08-11'
|
||||
10.7.4:
|
||||
changes:
|
||||
bugfixes:
|
||||
- Avoid deprecated functionality in ansible-core 2.20 (https://github.com/ansible-collections/community.general/pull/10687).
|
||||
- apache2_module - check the ``cgi`` module restrictions only during activation
|
||||
(https://github.com/ansible-collections/community.general/pull/10423).
|
||||
- kdeconfig - ``kwriteconfig`` executable could not be discovered automatically
|
||||
on systems with only ``kwriteconfig6`` installed. ``kwriteconfig6`` can
|
||||
now be discovered by Ansible (https://github.com/ansible-collections/community.general/issues/10746,
|
||||
https://github.com/ansible-collections/community.general/pull/10751).
|
||||
- monit - fix crash caused by an unknown status value returned from the monit
|
||||
service (https://github.com/ansible-collections/community.general/issues/10742,
|
||||
https://github.com/ansible-collections/community.general/pull/10743).
|
||||
- pids - prevent error when an empty string is provided for ``name`` (https://github.com/ansible-collections/community.general/issues/10672,
|
||||
https://github.com/ansible-collections/community.general/pull/10688).
|
||||
- selective callback plugin - specify ``ansible_loop_var`` instead of the
|
||||
explicit value ``item`` when printing task result (https://github.com/ansible-collections/community.general/pull/10752).
|
||||
release_summary: Regular bugfix release.
|
||||
fragments:
|
||||
- 10.7.4.yml
|
||||
- 10423-apache_module-condition.yml
|
||||
- 10687-deprecations.yml
|
||||
- 10688-pids.yml
|
||||
- 10743-monit-handle-unknown-status.yml
|
||||
- 10751-kdeconfig-support-kwriteconfig6.yml
|
||||
- 10752-selective-hardcoded-loop-var.yml
|
||||
release_date: '2025-09-08'
|
||||
|
||||
@@ -7,9 +7,9 @@ changelog_filename_template: ../CHANGELOG.rst
|
||||
changelog_filename_version_depth: 0
|
||||
changes_file: changelog.yaml
|
||||
changes_format: combined
|
||||
ignore_other_fragment_extensions: true
|
||||
keep_fragments: false
|
||||
mention_ancestor: true
|
||||
flatmap: true
|
||||
new_plugins_after_name: removed_features
|
||||
notesdir: fragments
|
||||
output_formats:
|
||||
@@ -40,3 +40,4 @@ use_fqcn: true
|
||||
add_plugin_period: true
|
||||
changelog_nice_yaml: true
|
||||
changelog_sort: version
|
||||
vcs: auto
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
community.general Filter Guide
|
||||
==============================
|
||||
|
||||
The :ref:`community.general collection <plugins_in_community.general>` offers several useful filter plugins.
|
||||
The :anscollection:`community.general collection <community.general#collection>` offers several useful filter plugins.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
@@ -22,6 +22,7 @@ The same example from the Developer Guide would become:
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils import deps
|
||||
|
||||
|
||||
with deps.declare("foo"):
|
||||
import foo
|
||||
|
||||
|
||||
@@ -75,6 +75,7 @@ section above, but there are more elements that will take part in it.
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.module_helper import ModuleHelper
|
||||
|
||||
|
||||
class MyTest(ModuleHelper):
|
||||
# behavior for module paramaters ONLY, see below for further information
|
||||
output_params = ()
|
||||
@@ -272,9 +273,9 @@ With that, MH will automatically generate the diff output for variables that hav
|
||||
class MyTest(ModuleHelper):
|
||||
diff_params = ('value', )
|
||||
|
||||
def __run__(self):
|
||||
# example from community.general.gio_mime
|
||||
self.vars.set_meta("handler", initial_value=gio_mime_get(self.runner, self.vars.mime_type), diff=True, change=True)
|
||||
def __run__(self):
|
||||
# example from community.general.gio_mime
|
||||
self.vars.set_meta("handler", initial_value=gio_mime_get(self.runner, self.vars.mime_type), diff=True, change=True)
|
||||
|
||||
.. important::
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ And by the time the module is about to exit:
|
||||
|
||||
That makes the return value of the module:
|
||||
|
||||
.. code-block:: javascript
|
||||
.. code-block:: json
|
||||
|
||||
{
|
||||
"abc": 123,
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
community.general Test (Plugin) Guide
|
||||
=====================================
|
||||
|
||||
The :ref:`community.general collection <plugins_in_community.general>` offers currently one test plugin.
|
||||
The :anscollection:`community.general collection <community.general#collection>` offers currently one test plugin.
|
||||
|
||||
.. contents:: Topics
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
namespace: community
|
||||
name: general
|
||||
version: 10.7.1
|
||||
version: 10.7.4
|
||||
readme: README.md
|
||||
authors:
|
||||
- Ansible (https://github.com/ansible)
|
||||
|
||||
@@ -83,6 +83,9 @@ options:
|
||||
- name: ansible_doas_prompt_l10n
|
||||
env:
|
||||
- name: ANSIBLE_DOAS_PROMPT_L10N
|
||||
notes:
|
||||
- This become plugin does not work when connection pipelining is enabled. With ansible-core 2.19+, using it automatically
|
||||
disables pipelining. On ansible-core 2.18 and before, pipelining must explicitly be disabled by the user.
|
||||
"""
|
||||
|
||||
import re
|
||||
@@ -99,6 +102,10 @@ class BecomeModule(BecomeBase):
|
||||
fail = ('Permission denied',)
|
||||
missing = ('Authorization required',)
|
||||
|
||||
# See https://github.com/ansible-collections/community.general/issues/9977,
|
||||
# https://github.com/ansible/ansible/pull/78111
|
||||
pipelining = False
|
||||
|
||||
def check_password_prompt(self, b_output):
|
||||
''' checks if the expected password prompt exists in b_output '''
|
||||
|
||||
|
||||
@@ -75,6 +75,8 @@ notes:
|
||||
of machinectl. This rule must alter the prompt behaviour to ask directly for the user credentials, if the user is allowed
|
||||
to perform the action (take a look at the examples section). If such a rule is not present the plugin only work if it
|
||||
is used in context with the root user, because then no further prompt will be shown by machinectl.
|
||||
- This become plugin does not work when connection pipelining is enabled. With ansible-core 2.19+, using it automatically
|
||||
disables pipelining. On ansible-core 2.18 and before, pipelining must explicitly be disabled by the user.
|
||||
"""
|
||||
|
||||
EXAMPLES = r"""
|
||||
@@ -92,7 +94,7 @@ EXAMPLES = r"""
|
||||
from re import compile as re_compile
|
||||
|
||||
from ansible.plugins.become import BecomeBase
|
||||
from ansible.module_utils._text import to_bytes
|
||||
from ansible.module_utils.common.text.converters import to_bytes
|
||||
|
||||
|
||||
ansi_color_codes = re_compile(to_bytes(r'\x1B\[[0-9;]+m'))
|
||||
@@ -107,6 +109,10 @@ class BecomeModule(BecomeBase):
|
||||
success = ('==== AUTHENTICATION COMPLETE ====',)
|
||||
require_tty = True # see https://github.com/ansible-collections/community.general/issues/6932
|
||||
|
||||
# See https://github.com/ansible/ansible/issues/81254,
|
||||
# https://github.com/ansible/ansible/pull/78111
|
||||
pipelining = False
|
||||
|
||||
@staticmethod
|
||||
def remove_ansi_codes(line):
|
||||
return ansi_color_codes.sub(b"", line)
|
||||
|
||||
@@ -80,7 +80,7 @@ EXAMPLES = r"""
|
||||
from re import compile as re_compile
|
||||
|
||||
from ansible.plugins.become import BecomeBase
|
||||
from ansible.module_utils._text import to_bytes
|
||||
from ansible.module_utils.common.text.converters import to_bytes
|
||||
|
||||
ansi_color_codes = re_compile(to_bytes(r"\x1B\[[0-9;]+m"))
|
||||
|
||||
|
||||
2
plugins/cache/memcached.py
vendored
2
plugins/cache/memcached.py
vendored
@@ -54,7 +54,7 @@ from multiprocessing import Lock
|
||||
from itertools import chain
|
||||
|
||||
from ansible.errors import AnsibleError
|
||||
from ansible.module_utils.common._collections_compat import MutableSet
|
||||
from collections.abc import MutableSet
|
||||
from ansible.plugins.cache import BaseCacheModule
|
||||
from ansible.utils.display import Display
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ except ImportError:
|
||||
pass
|
||||
|
||||
from ansible.module_utils.six import binary_type, text_type
|
||||
from ansible.module_utils.common._collections_compat import MutableMapping, MutableSequence
|
||||
from collections.abc import MutableMapping, MutableSequence
|
||||
from ansible.plugins.callback.default import CallbackModule as CallbackModule_default
|
||||
from ansible.utils.color import colorize, hostcolor
|
||||
from ansible.utils.display import Display
|
||||
|
||||
@@ -34,7 +34,7 @@ import json
|
||||
|
||||
from ansible.utils.path import makedirs_safe
|
||||
from ansible.module_utils.common.text.converters import to_bytes
|
||||
from ansible.module_utils.common._collections_compat import MutableMapping
|
||||
from collections.abc import MutableMapping
|
||||
from ansible.parsing.ajson import AnsibleJSONEncoder
|
||||
from ansible.plugins.callback import CallbackBase
|
||||
|
||||
|
||||
@@ -127,9 +127,7 @@ class CallbackModule(CallbackBase):
|
||||
|
||||
if not HAS_LOGSTASH:
|
||||
self.disabled = True
|
||||
self._display.warning("The required python-logstash/python3-logstash is not installed. "
|
||||
"pip install python-logstash for Python 2"
|
||||
"pip install python3-logstash for Python 3")
|
||||
self._display.warning("The required python3-logstash is not installed.")
|
||||
|
||||
self.start_time = now()
|
||||
|
||||
|
||||
@@ -208,7 +208,7 @@ class CallbackModule(CallbackBase):
|
||||
stderr = [r.get('exception', None), r.get('module_stderr', None)]
|
||||
stderr = "\n".join([e for e in stderr if e]).strip()
|
||||
|
||||
self._print_host_or_item(r['item'],
|
||||
self._print_host_or_item(r[r['ansible_loop_var']],
|
||||
r.get('changed', False),
|
||||
to_text(r.get('msg', '')),
|
||||
r.get('diff', None),
|
||||
|
||||
@@ -80,7 +80,7 @@ from subprocess import call, Popen, PIPE
|
||||
|
||||
from ansible.errors import AnsibleError, AnsibleConnectionFailure, AnsibleFileNotFound
|
||||
from ansible.module_utils.common.process import get_bin_path
|
||||
from ansible.module_utils._text import to_bytes, to_text
|
||||
from ansible.module_utils.common.text.converters import to_bytes, to_text
|
||||
from ansible.plugins.connection import ConnectionBase
|
||||
|
||||
|
||||
@@ -155,11 +155,35 @@ class Connection(ConnectionBase):
|
||||
stdout = to_text(stdout)
|
||||
stderr = to_text(stderr)
|
||||
|
||||
if stderr == "Error: Instance is not running.\n":
|
||||
raise AnsibleConnectionFailure(f"instance not running: {self._instance()}")
|
||||
if stderr.startswith("Error: ") and stderr.rstrip().endswith(
|
||||
": Instance is not running"
|
||||
):
|
||||
raise AnsibleConnectionFailure(
|
||||
f"instance not running: {self._instance()} (remote={self.get_option('remote')}, project={self.get_option('project')})"
|
||||
)
|
||||
|
||||
if stderr == "Error: Instance not found\n":
|
||||
raise AnsibleConnectionFailure(f"instance not found: {self._instance()}")
|
||||
if stderr.startswith("Error: ") and stderr.rstrip().endswith(
|
||||
": Instance not found"
|
||||
):
|
||||
raise AnsibleConnectionFailure(
|
||||
f"instance not found: {self._instance()} (remote={self.get_option('remote')}, project={self.get_option('project')})"
|
||||
)
|
||||
|
||||
if (
|
||||
stderr.startswith("Error: ")
|
||||
and ": User does not have permission " in stderr
|
||||
):
|
||||
raise AnsibleConnectionFailure(
|
||||
f"instance access denied: {self._instance()} (remote={self.get_option('remote')}, project={self.get_option('project')})"
|
||||
)
|
||||
|
||||
if (
|
||||
stderr.startswith("Error: ")
|
||||
and ": User does not have entitlement " in stderr
|
||||
):
|
||||
raise AnsibleConnectionFailure(
|
||||
f"instance access denied: {self._instance()} (remote={self.get_option('remote')}, project={self.get_option('project')})"
|
||||
)
|
||||
|
||||
return process.returncode, stdout, stderr
|
||||
|
||||
|
||||
@@ -398,6 +398,7 @@ import os
|
||||
import pathlib
|
||||
import socket
|
||||
import tempfile
|
||||
import traceback
|
||||
import typing as t
|
||||
|
||||
from ansible.errors import (
|
||||
@@ -406,14 +407,20 @@ from ansible.errors import (
|
||||
AnsibleError,
|
||||
)
|
||||
from ansible_collections.community.general.plugins.module_utils._filelock import FileLock, LockTimeout
|
||||
from ansible_collections.community.general.plugins.module_utils.version import LooseVersion
|
||||
from ansible.module_utils.common.text.converters import to_bytes, to_native, to_text
|
||||
from ansible.module_utils.compat.paramiko import PARAMIKO_IMPORT_ERR, paramiko
|
||||
from ansible.module_utils.compat.version import LooseVersion
|
||||
from ansible.plugins.connection import ConnectionBase
|
||||
from ansible.utils.display import Display
|
||||
from ansible.utils.path import makedirs_safe
|
||||
from binascii import hexlify
|
||||
|
||||
try:
|
||||
import paramiko
|
||||
PARAMIKO_IMPORT_ERR = None
|
||||
except ImportError:
|
||||
paramiko = None
|
||||
PARAMIKO_IMPORT_ERR = traceback.format_exc()
|
||||
|
||||
|
||||
display = Display()
|
||||
|
||||
@@ -513,7 +520,7 @@ class Connection(ConnectionBase):
|
||||
def _connect(self) -> Connection:
|
||||
""" activates the connection object """
|
||||
|
||||
if paramiko is None:
|
||||
if PARAMIKO_IMPORT_ERR is not None:
|
||||
raise AnsibleError(f'paramiko is not installed: {to_native(PARAMIKO_IMPORT_ERR)}')
|
||||
|
||||
port = self.get_option('port')
|
||||
|
||||
@@ -315,6 +315,7 @@ import pathlib
|
||||
import shlex
|
||||
import socket
|
||||
import tempfile
|
||||
import traceback
|
||||
import typing as t
|
||||
|
||||
from ansible.errors import (
|
||||
@@ -323,9 +324,8 @@ from ansible.errors import (
|
||||
AnsibleError,
|
||||
)
|
||||
from ansible_collections.community.general.plugins.module_utils._filelock import FileLock, LockTimeout
|
||||
from ansible_collections.community.general.plugins.module_utils.version import LooseVersion
|
||||
from ansible.module_utils.common.text.converters import to_bytes, to_native, to_text
|
||||
from ansible.module_utils.compat.paramiko import PARAMIKO_IMPORT_ERR, paramiko
|
||||
from ansible.module_utils.compat.version import LooseVersion
|
||||
from ansible.playbook.play_context import PlayContext
|
||||
from ansible.plugins.connection import ConnectionBase
|
||||
from ansible.utils.display import Display
|
||||
@@ -333,8 +333,15 @@ from ansible.utils.path import makedirs_safe
|
||||
from binascii import hexlify
|
||||
from subprocess import list2cmdline
|
||||
|
||||
try:
|
||||
import paramiko
|
||||
PARAMIKO_IMPORT_ERR = None
|
||||
except ImportError:
|
||||
paramiko = None
|
||||
PARAMIKO_IMPORT_ERR = traceback.format_exc()
|
||||
|
||||
if t.TYPE_CHECKING and paramiko:
|
||||
|
||||
if t.TYPE_CHECKING and PARAMIKO_IMPORT_ERR is None:
|
||||
from paramiko import MissingHostKeyPolicy
|
||||
from paramiko.client import SSHClient
|
||||
from paramiko.pkey import PKey
|
||||
@@ -437,7 +444,7 @@ class Connection(ConnectionBase):
|
||||
def _connect(self) -> Connection:
|
||||
""" activates the connection object """
|
||||
|
||||
if paramiko is None:
|
||||
if PARAMIKO_IMPORT_ERR is not None:
|
||||
raise AnsibleError(f'paramiko is not installed: {to_native(PARAMIKO_IMPORT_ERR)}')
|
||||
|
||||
port = self.get_option('port')
|
||||
|
||||
@@ -74,3 +74,12 @@ options:
|
||||
type: int
|
||||
default: 10
|
||||
"""
|
||||
|
||||
CONNECTION_NOTES = r"""
|
||||
options: {}
|
||||
notes:
|
||||
- This module uses JSON-RPC over HTTP(S) to communicate with the FreeIPA server.
|
||||
If you need to enroll the managed node into FreeIPA realm, you might want to consider using the collection
|
||||
L(freeipa.ansible_freeipa, https://galaxy.ansible.com/ui/repo/published/freeipa/ansible_freeipa/), but shell access to one
|
||||
node from the realm is required to manage the deployment.
|
||||
"""
|
||||
|
||||
@@ -36,7 +36,7 @@ _value:
|
||||
"""
|
||||
|
||||
from ansible.errors import AnsibleFilterError
|
||||
from ansible.module_utils.common._collections_compat import Sequence
|
||||
from collections.abc import Sequence
|
||||
from collections import Counter
|
||||
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ _value:
|
||||
"""
|
||||
|
||||
from ansible.errors import AnsibleFilterError
|
||||
from ansible.module_utils.common._collections_compat import Mapping, Sequence
|
||||
from collections.abc import Mapping, Sequence
|
||||
|
||||
|
||||
def groupby_as_dict(sequence, attribute):
|
||||
|
||||
@@ -124,10 +124,17 @@ def json_query(data, expr):
|
||||
'json_query filter')
|
||||
|
||||
# Hack to handle Ansible Unsafe text, AnsibleMapping and AnsibleSequence
|
||||
# See issue: https://github.com/ansible-collections/community.general/issues/320
|
||||
jmespath.functions.REVERSE_TYPES_MAP['string'] = jmespath.functions.REVERSE_TYPES_MAP['string'] + ('AnsibleUnicode', 'AnsibleUnsafeText', )
|
||||
jmespath.functions.REVERSE_TYPES_MAP['array'] = jmespath.functions.REVERSE_TYPES_MAP['array'] + ('AnsibleSequence', )
|
||||
jmespath.functions.REVERSE_TYPES_MAP['object'] = jmespath.functions.REVERSE_TYPES_MAP['object'] + ('AnsibleMapping', )
|
||||
# See issues https://github.com/ansible-collections/community.general/issues/320
|
||||
# and https://github.com/ansible/ansible/issues/85600.
|
||||
jmespath.functions.REVERSE_TYPES_MAP['string'] = jmespath.functions.REVERSE_TYPES_MAP['string'] + (
|
||||
'AnsibleUnicode', 'AnsibleUnsafeText', '_AnsibleTaggedStr',
|
||||
)
|
||||
jmespath.functions.REVERSE_TYPES_MAP['array'] = jmespath.functions.REVERSE_TYPES_MAP['array'] + (
|
||||
'AnsibleSequence', '_AnsibleLazyTemplateList',
|
||||
)
|
||||
jmespath.functions.REVERSE_TYPES_MAP['object'] = jmespath.functions.REVERSE_TYPES_MAP['object'] + (
|
||||
'AnsibleMapping', '_AnsibleLazyTemplateDict',
|
||||
)
|
||||
try:
|
||||
return jmespath.search(expr, data)
|
||||
except jmespath.exceptions.JMESPathError as e:
|
||||
|
||||
@@ -197,7 +197,7 @@ _value:
|
||||
|
||||
from ansible.errors import AnsibleFilterError
|
||||
from ansible.module_utils.six import string_types
|
||||
from ansible.module_utils.common._collections_compat import Mapping, Sequence
|
||||
from collections.abc import Mapping, Sequence
|
||||
from ansible.utils.vars import merge_hash
|
||||
|
||||
from collections import defaultdict
|
||||
|
||||
@@ -51,7 +51,7 @@ _value:
|
||||
|
||||
|
||||
from ansible.errors import AnsibleFilterError
|
||||
from ansible.module_utils.common._collections_compat import Mapping
|
||||
from collections.abc import Mapping
|
||||
from ansible.module_utils.six.moves import StringIO
|
||||
from ansible.module_utils.six.moves.configparser import ConfigParser
|
||||
|
||||
|
||||
@@ -119,7 +119,7 @@ except ImportError:
|
||||
HAS_PRETTYTABLE = False
|
||||
|
||||
from ansible.errors import AnsibleFilterError
|
||||
from ansible.module_utils._text import to_text
|
||||
from ansible.module_utils.common.text.converters import to_text
|
||||
from ansible.module_utils.six import string_types
|
||||
|
||||
|
||||
|
||||
@@ -291,11 +291,11 @@ class InventoryModule(BaseInventoryPlugin, Constructable):
|
||||
self.group_by_hostgroups = self.get_option('group_by_hostgroups')
|
||||
|
||||
if self.templar.is_template(self.icinga2_url):
|
||||
self.icinga2_url = self.templar.template(variable=self.icinga2_url, disable_lookups=False)
|
||||
self.icinga2_url = self.templar.template(variable=self.icinga2_url)
|
||||
if self.templar.is_template(self.icinga2_user):
|
||||
self.icinga2_user = self.templar.template(variable=self.icinga2_user, disable_lookups=False)
|
||||
self.icinga2_user = self.templar.template(variable=self.icinga2_user)
|
||||
if self.templar.is_template(self.icinga2_password):
|
||||
self.icinga2_password = self.templar.template(variable=self.icinga2_password, disable_lookups=False)
|
||||
self.icinga2_password = self.templar.template(variable=self.icinga2_password)
|
||||
|
||||
self.icinga2_url = f"{self.icinga2_url.rstrip('/')}/v1"
|
||||
|
||||
|
||||
@@ -150,7 +150,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
||||
|
||||
access_token = self.get_option('access_token')
|
||||
if self.templar.is_template(access_token):
|
||||
access_token = self.templar.template(variable=access_token, disable_lookups=False)
|
||||
access_token = self.templar.template(variable=access_token)
|
||||
|
||||
if access_token is None:
|
||||
raise AnsibleError((
|
||||
|
||||
@@ -687,7 +687,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
||||
for o in ('url', 'user', 'password', 'token_id', 'token_secret'):
|
||||
v = self.get_option(o)
|
||||
if self.templar.is_template(v):
|
||||
v = self.templar.template(v, disable_lookups=False)
|
||||
v = self.templar.template(v)
|
||||
setattr(self, f'proxmox_{o}', v)
|
||||
|
||||
# some more cleanup and validation
|
||||
|
||||
@@ -77,7 +77,7 @@ from subprocess import Popen, PIPE
|
||||
|
||||
from ansible.errors import AnsibleParserError
|
||||
from ansible.module_utils.common.text.converters import to_bytes, to_text
|
||||
from ansible.module_utils.common._collections_compat import MutableMapping
|
||||
from collections.abc import MutableMapping
|
||||
from ansible.plugins.inventory import BaseInventoryPlugin, Constructable, Cacheable
|
||||
from ansible.module_utils.common.process import get_bin_path
|
||||
|
||||
|
||||
@@ -121,7 +121,7 @@ _list:
|
||||
"""
|
||||
|
||||
from ansible.errors import AnsibleLookupError
|
||||
from ansible.module_utils.common._collections_compat import Mapping, Sequence
|
||||
from collections.abc import Mapping, Sequence
|
||||
from ansible.module_utils.six import string_types
|
||||
from ansible.plugins.lookup import LookupBase
|
||||
from ansible.release import __version__ as ansible_version
|
||||
@@ -207,7 +207,10 @@ class LookupModule(LookupBase):
|
||||
|
||||
result = []
|
||||
if len(terms) > 0:
|
||||
templar = Templar(loader=self._templar._loader)
|
||||
if HAS_DATATAGGING:
|
||||
templar = self._templar.copy_with_new_env(available_variables={})
|
||||
else:
|
||||
templar = Templar(loader=self._templar._loader)
|
||||
data = []
|
||||
vars_so_far = set()
|
||||
for index, term in enumerate(terms):
|
||||
|
||||
@@ -194,8 +194,8 @@ class LookupModule(LookupBase):
|
||||
result = initial_value
|
||||
|
||||
for var_name in var_merge_names:
|
||||
with self._templar.set_temporary_context(available_variables=variables): # tmp. switch renderer to context of current variables
|
||||
var_value = self._templar.template(variables[var_name]) # Render jinja2 templates
|
||||
temp_templar = self._templar.copy_with_new_env(available_variables=variables) # tmp. switch renderer to context of current variables
|
||||
var_value = temp_templar.template(variables[var_name]) # Render jinja2 templates
|
||||
var_type = _verify_and_get_type(var_value)
|
||||
|
||||
if prev_var_type is None:
|
||||
|
||||
@@ -31,7 +31,7 @@ except ImportError:
|
||||
from ansible.module_utils import six
|
||||
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||
from ansible.module_utils.common.text.converters import to_native
|
||||
from ansible.module_utils.common._collections_compat import Mapping
|
||||
from ansible.module_utils.six.moves.collections_abc import Mapping
|
||||
|
||||
|
||||
def transform_list_to_dict(list_):
|
||||
|
||||
@@ -165,16 +165,6 @@ EXAMPLES = r"""
|
||||
state: absent
|
||||
"""
|
||||
|
||||
RETURN = r"""
|
||||
changed:
|
||||
description: Return changed for aix_filesystems actions as true or false.
|
||||
returned: always
|
||||
type: bool
|
||||
msg:
|
||||
description: Return message regarding the action.
|
||||
returned: always
|
||||
type: str
|
||||
"""
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible_collections.community.general.plugins.module_utils._mount import ismount
|
||||
|
||||
@@ -112,16 +112,6 @@ name:
|
||||
returned: always
|
||||
type: str
|
||||
sample: startmyservice
|
||||
msg:
|
||||
description: Action done with the C(inittab) entry.
|
||||
returned: changed
|
||||
type: str
|
||||
sample: changed inittab entry startmyservice
|
||||
changed:
|
||||
description: Whether the C(inittab) changed or not.
|
||||
returned: always
|
||||
type: bool
|
||||
sample: true
|
||||
"""
|
||||
|
||||
# Import necessary libraries
|
||||
|
||||
@@ -113,22 +113,6 @@ result:
|
||||
description: Message about action taken.
|
||||
returned: always
|
||||
type: str
|
||||
warnings:
|
||||
description: List of warning messages.
|
||||
returned: when needed
|
||||
type: list
|
||||
rc:
|
||||
description: Return code of underlying command.
|
||||
returned: failed
|
||||
type: int
|
||||
stdout:
|
||||
description: The stdout of underlying command.
|
||||
returned: failed
|
||||
type: str
|
||||
stderr:
|
||||
description: The stderr of underlying command.
|
||||
returned: failed
|
||||
type: str
|
||||
"""
|
||||
|
||||
import re
|
||||
@@ -164,12 +148,12 @@ def _module_is_enabled(module):
|
||||
if module.params['ignore_configcheck']:
|
||||
if 'AH00534' in stderr and 'mpm_' in module.params['name']:
|
||||
if module.params['warn_mpm_absent']:
|
||||
module.warnings.append(
|
||||
module.warn(
|
||||
"No MPM module loaded! apache2 reload AND other module actions"
|
||||
" will fail if no MPM module is loaded immediately."
|
||||
)
|
||||
else:
|
||||
module.warnings.append(error_msg)
|
||||
module.warn(error_msg)
|
||||
return False
|
||||
else:
|
||||
module.fail_json(msg=error_msg)
|
||||
@@ -224,9 +208,7 @@ def _set_state(module, state):
|
||||
|
||||
if _module_is_enabled(module) != want_enabled:
|
||||
if module.check_mode:
|
||||
module.exit_json(changed=True,
|
||||
result=success_msg,
|
||||
warnings=module.warnings)
|
||||
module.exit_json(changed=True, result=success_msg)
|
||||
|
||||
a2mod_binary_path = module.get_bin_path(a2mod_binary)
|
||||
if a2mod_binary_path is None:
|
||||
@@ -241,9 +223,7 @@ def _set_state(module, state):
|
||||
result, stdout, stderr = module.run_command(a2mod_binary_cmd + [name])
|
||||
|
||||
if _module_is_enabled(module) == want_enabled:
|
||||
module.exit_json(changed=True,
|
||||
result=success_msg,
|
||||
warnings=module.warnings)
|
||||
module.exit_json(changed=True, result=success_msg)
|
||||
else:
|
||||
msg = (
|
||||
'Failed to set module {name} to {state}:\n'
|
||||
@@ -261,9 +241,7 @@ def _set_state(module, state):
|
||||
stdout=stdout,
|
||||
stderr=stderr)
|
||||
else:
|
||||
module.exit_json(changed=False,
|
||||
result=success_msg,
|
||||
warnings=module.warnings)
|
||||
module.exit_json(changed=False, result=success_msg)
|
||||
|
||||
|
||||
def main():
|
||||
@@ -279,11 +257,9 @@ def main():
|
||||
supports_check_mode=True,
|
||||
)
|
||||
|
||||
module.warnings = []
|
||||
|
||||
name = module.params['name']
|
||||
if name == 'cgi' and _run_threaded(module):
|
||||
module.fail_json(msg="Your MPM seems to be threaded. No automatic actions on module cgi possible.")
|
||||
if name == 'cgi' and module.params['state'] == 'present' and _run_threaded(module):
|
||||
module.fail_json(msg="Your MPM seems to be threaded, therefore enabling cgi module is not allowed.")
|
||||
|
||||
if not module.params['identifier']:
|
||||
module.params['identifier'] = create_apache_identifier(module.params['name'])
|
||||
|
||||
@@ -351,6 +351,9 @@ def main():
|
||||
|
||||
p = module.params
|
||||
|
||||
if p['name'] and any(not name.strip() for name in p['name']):
|
||||
module.fail_json(msg="Package name(s) cannot be empty or whitespace-only")
|
||||
|
||||
if p['no_cache']:
|
||||
APK_PATH = "%s --no-cache" % (APK_PATH, )
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ module: campfire
|
||||
short_description: Send a message to Campfire
|
||||
description:
|
||||
- Send a message to Campfire.
|
||||
- Messages with newlines will result in a "Paste" message being sent.
|
||||
- Messages with newlines result in a "Paste" message being sent.
|
||||
extends_documentation_fragment:
|
||||
- community.general.attributes
|
||||
attributes:
|
||||
|
||||
@@ -40,10 +40,10 @@ options:
|
||||
choices: [absent, present]
|
||||
default: present
|
||||
notes:
|
||||
- The capabilities system will automatically transform operators and flags into the effective set, so for example, C(cap_foo=ep)
|
||||
will probably become C(cap_foo+ep).
|
||||
- This module does not attempt to determine the final operator and flags to compare, so you will want to ensure that your
|
||||
capabilities argument matches the final capabilities.
|
||||
- The capabilities system automatically transforms operators and flags into the effective set, so for example, C(cap_foo=ep)
|
||||
probably becomes C(cap_foo+ep).
|
||||
- This module does not attempt to determine the final operator and flags to compare, so you want to ensure that your capabilities
|
||||
argument matches the final capabilities.
|
||||
author:
|
||||
- Nate Coraor (@natefoo)
|
||||
"""
|
||||
@@ -123,6 +123,8 @@ class CapabilitiesModule(object):
|
||||
if ' =' in stdout:
|
||||
# process output of an older version of libcap
|
||||
caps = stdout.split(' =')[1].strip().split()
|
||||
elif stdout.strip().endswith(")"): # '/foo (Error Message)'
|
||||
self.module.fail_json(msg="Unable to get capabilities of %s" % path, stdout=stdout.strip(), stderr=stderr)
|
||||
else:
|
||||
# otherwise, we have a newer version here
|
||||
# see original commit message of cap/v0.2.40-18-g177cd41 in libcap.git
|
||||
|
||||
@@ -28,7 +28,7 @@ options:
|
||||
executable:
|
||||
description:
|
||||
- Path to the C(cargo) installed in the system.
|
||||
- If not specified, the module will look C(cargo) in E(PATH).
|
||||
- If not specified, the module looks for C(cargo) in E(PATH).
|
||||
type: path
|
||||
version_added: 7.5.0
|
||||
name:
|
||||
@@ -39,11 +39,11 @@ options:
|
||||
required: true
|
||||
path:
|
||||
description: The base path where to install the Rust packages. Cargo automatically appends V(/bin). In other words, V(/usr/local)
|
||||
will become V(/usr/local/bin).
|
||||
becomes V(/usr/local/bin).
|
||||
type: path
|
||||
version:
|
||||
description: The version to install. If O(name) contains multiple values, the module will try to install all of them in
|
||||
this version.
|
||||
description: The version to install. If O(name) contains multiple values, the module tries to install all of them in this
|
||||
version.
|
||||
type: str
|
||||
required: false
|
||||
locked:
|
||||
|
||||
@@ -89,14 +89,6 @@ EXAMPLES = r"""
|
||||
api_secret: "{{ api_secret }}"
|
||||
"""
|
||||
|
||||
RETURN = r"""
|
||||
changed:
|
||||
description: Whether the API accepted the message.
|
||||
returned: always
|
||||
type: bool
|
||||
sample: true
|
||||
"""
|
||||
|
||||
|
||||
import json
|
||||
|
||||
|
||||
@@ -50,38 +50,41 @@ cloud_init_data_facts:
|
||||
description: Facts of result and status.
|
||||
returned: success
|
||||
type: dict
|
||||
sample: '{
|
||||
"status": {
|
||||
sample:
|
||||
{
|
||||
"status": {
|
||||
"v1": {
|
||||
"datasource": "DataSourceCloudStack",
|
||||
"errors": []
|
||||
},
|
||||
"result": {
|
||||
"v1": {
|
||||
"datasource": "DataSourceCloudStack",
|
||||
"init": {
|
||||
"errors": [],
|
||||
"finished": 1522066377.0185432,
|
||||
"start": 1522066375.2648022
|
||||
},
|
||||
"init-local": {
|
||||
"errors": [],
|
||||
"finished": 1522066373.70919,
|
||||
"start": 1522066373.4726632
|
||||
},
|
||||
"modules-config": {
|
||||
"errors": [],
|
||||
"finished": 1522066380.9097016,
|
||||
"start": 1522066379.0011985
|
||||
},
|
||||
"modules-final": {
|
||||
"errors": [],
|
||||
"finished": 1522066383.56594,
|
||||
"start": 1522066382.3449218
|
||||
},
|
||||
"stage": null
|
||||
"datasource": "DataSourceCloudStack",
|
||||
"errors": []
|
||||
}
|
||||
}'
|
||||
},
|
||||
"result": {
|
||||
"v1": {
|
||||
"datasource": "DataSourceCloudStack",
|
||||
"init": {
|
||||
"errors": [],
|
||||
"finished": 1522066377.0185432,
|
||||
"start": 1522066375.2648022
|
||||
},
|
||||
"init-local": {
|
||||
"errors": [],
|
||||
"finished": 1522066373.70919,
|
||||
"start": 1522066373.4726632
|
||||
},
|
||||
"modules-config": {
|
||||
"errors": [],
|
||||
"finished": 1522066380.9097016,
|
||||
"start": 1522066379.0011985
|
||||
},
|
||||
"modules-final": {
|
||||
"errors": [],
|
||||
"finished": 1522066383.56594,
|
||||
"start": 1522066382.3449218
|
||||
},
|
||||
"stage": null
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
@@ -127,7 +127,7 @@ options:
|
||||
description:
|
||||
- Whether the record should be the only one for that record type and record name.
|
||||
- Only use with O(state=present).
|
||||
- This will delete all other records with the same record name and type.
|
||||
- This deletes all other records with the same record name and type.
|
||||
type: bool
|
||||
state:
|
||||
description:
|
||||
@@ -157,6 +157,7 @@ options:
|
||||
- The type of DNS record to create. Required if O(state=present).
|
||||
- Support for V(SPF) has been removed from community.general 9.0.0 since that record type is no longer supported by
|
||||
CloudFlare.
|
||||
- Support for V(PTR) has been added in community.general 11.1.0.
|
||||
type: str
|
||||
choices: [A, AAAA, CNAME, DS, MX, NS, SRV, SSHFP, TLSA, CAA, TXT]
|
||||
value:
|
||||
@@ -369,10 +370,7 @@ record:
|
||||
description: Extra Cloudflare-specific information about the record.
|
||||
returned: success
|
||||
type: dict
|
||||
sample:
|
||||
{
|
||||
"auto_added": false
|
||||
}
|
||||
sample: {"auto_added": false}
|
||||
modified_on:
|
||||
description: Record modification date.
|
||||
returned: success
|
||||
@@ -403,7 +401,7 @@ record:
|
||||
returned: success
|
||||
type: list
|
||||
elements: str
|
||||
sample: ['production', 'app']
|
||||
sample: ["production", "app"]
|
||||
version_added: 10.1.0
|
||||
tags_modified_on:
|
||||
description: When the record tags were last modified. Omitted if there are no tags.
|
||||
|
||||
@@ -42,12 +42,12 @@ options:
|
||||
type: str
|
||||
use_ssl:
|
||||
description:
|
||||
- If V(false), an HTTP connection will be used instead of the default HTTPS connection.
|
||||
- If V(false), an HTTP connection is used instead of the default HTTPS connection.
|
||||
type: bool
|
||||
default: true
|
||||
validate_certs:
|
||||
description:
|
||||
- If V(false), SSL certificates will not be validated.
|
||||
- If V(false), SSL certificates are not validated.
|
||||
- This should only set to V(false) when used on personally controlled sites using self-signed certificates.
|
||||
type: bool
|
||||
default: true
|
||||
|
||||
@@ -42,12 +42,12 @@ options:
|
||||
type: str
|
||||
use_ssl:
|
||||
description:
|
||||
- If V(false), an HTTP connection will be used instead of the default HTTPS connection.
|
||||
- If V(false), an HTTP connection is used instead of the default HTTPS connection.
|
||||
type: bool
|
||||
default: true
|
||||
validate_certs:
|
||||
description:
|
||||
- If V(false), SSL certificates will not be validated.
|
||||
- If V(false), SSL certificates are not validated.
|
||||
- This should only set to V(false) when used on personally controlled sites using self-signed certificates.
|
||||
type: bool
|
||||
default: true
|
||||
|
||||
@@ -17,7 +17,7 @@ author:
|
||||
short_description: Dependency Manager for PHP
|
||||
description:
|
||||
- Composer is a tool for dependency management in PHP. It allows you to declare the dependent libraries your project needs
|
||||
and it will install them in your project for you.
|
||||
and it installs them in your project for you.
|
||||
extends_documentation_fragment:
|
||||
- community.general.attributes
|
||||
attributes:
|
||||
@@ -45,7 +45,7 @@ options:
|
||||
type: path
|
||||
description:
|
||||
- Directory of your project (see C(--working-dir)). This is required when the command is not run globally.
|
||||
- Will be ignored if O(global_command=true).
|
||||
- This is ignored if O(global_command=true).
|
||||
global_command:
|
||||
description:
|
||||
- Runs the specified command globally.
|
||||
|
||||
@@ -21,8 +21,8 @@ description:
|
||||
name and ID respectively by appending V(service:) Node level checks require a O(check_name) and optionally a O(check_id).
|
||||
- Currently, there is no complete way to retrieve the script, interval or TTL metadata for a registered check. Without this
|
||||
metadata it is not possible to tell if the data supplied with ansible represents a change to a check. As a result this
|
||||
does not attempt to determine changes and will always report a changed occurred. An API method is planned to supply this
|
||||
metadata so at that stage change management will be added.
|
||||
does not attempt to determine changes and it always reports a changed occurred. An API method is planned to supply this
|
||||
metadata so at that stage change management is to be added.
|
||||
- See U(http://consul.io) for more details.
|
||||
requirements:
|
||||
- python-consul
|
||||
@@ -83,25 +83,25 @@ options:
|
||||
service_address:
|
||||
type: str
|
||||
description:
|
||||
- The address to advertise that the service will be listening on. This value will be passed as the C(address) parameter
|
||||
to Consul's C(/v1/agent/service/register) API method, so refer to the Consul API documentation for further details.
|
||||
- The address to advertise that the service is listening on. This value is passed as the C(address) parameter to Consul's
|
||||
C(/v1/agent/service/register) API method, so refer to the Consul API documentation for further details.
|
||||
tags:
|
||||
type: list
|
||||
elements: str
|
||||
description:
|
||||
- Tags that will be attached to the service registration.
|
||||
- Tags that are attached to the service registration.
|
||||
script:
|
||||
type: str
|
||||
description:
|
||||
- The script/command that will be run periodically to check the health of the service.
|
||||
- The script/command that is run periodically to check the health of the service.
|
||||
- Requires O(interval) to be provided.
|
||||
- Mutually exclusive with O(ttl), O(tcp) and O(http).
|
||||
interval:
|
||||
type: str
|
||||
description:
|
||||
- The interval at which the service check will be run. This is a number with a V(s) or V(m) suffix to signify the units
|
||||
of seconds or minutes, for example V(15s) or V(1m). If no suffix is supplied V(s) will be used by default, for example
|
||||
V(10) will be V(10s).
|
||||
- The interval at which the service check is run. This is a number with a V(s) or V(m) suffix to signify the units of
|
||||
seconds or minutes, for example V(15s) or V(1m). If no suffix is supplied V(s) is used by default, for example V(10)
|
||||
is V(10s).
|
||||
- Required if one of the parameters O(script), O(http), or O(tcp) is specified.
|
||||
check_id:
|
||||
type: str
|
||||
@@ -122,25 +122,25 @@ options:
|
||||
ttl:
|
||||
type: str
|
||||
description:
|
||||
- Checks can be registered with a TTL instead of a O(script) and O(interval) this means that the service will check
|
||||
in with the agent before the TTL expires. If it does not the check will be considered failed. Required if registering
|
||||
a check and the script an interval are missing Similar to the interval this is a number with a V(s) or V(m) suffix
|
||||
to signify the units of seconds or minutes, for example V(15s) or V(1m). If no suffix is supplied V(s) will be used
|
||||
by default, for example V(10) will be V(10s).
|
||||
- Checks can be registered with a TTL instead of a O(script) and O(interval) this means that the service checks in with
|
||||
the agent before the TTL expires. If it does not the check is considered failed. Required if registering a check and
|
||||
the script an interval are missing Similar to the interval this is a number with a V(s) or V(m) suffix to signify
|
||||
the units of seconds or minutes, for example V(15s) or V(1m). If no suffix is supplied V(s) is used by default, for
|
||||
example V(10) is equivalent to V(10s).
|
||||
- Mutually exclusive with O(script), O(tcp) and O(http).
|
||||
tcp:
|
||||
type: str
|
||||
description:
|
||||
- Checks can be registered with a TCP port. This means that Consul will check if the connection attempt to that port
|
||||
is successful (that is, the port is currently accepting connections). The format is V(host:port), for example V(localhost:80).
|
||||
- Checks can be registered with a TCP port. This means that Consul checks if the connection attempt to that port is
|
||||
successful (that is, the port is currently accepting connections). The format is V(host:port), for example V(localhost:80).
|
||||
- Requires O(interval) to be provided.
|
||||
- Mutually exclusive with O(script), O(ttl) and O(http).
|
||||
version_added: '1.3.0'
|
||||
http:
|
||||
type: str
|
||||
description:
|
||||
- Checks can be registered with an HTTP endpoint. This means that Consul will check that the http endpoint returns a
|
||||
successful HTTP status.
|
||||
- Checks can be registered with an HTTP endpoint. This means that Consul checks that the http endpoint returns a successful
|
||||
HTTP status.
|
||||
- Requires O(interval) to be provided.
|
||||
- Mutually exclusive with O(script), O(ttl) and O(tcp).
|
||||
timeout:
|
||||
@@ -148,7 +148,7 @@ options:
|
||||
description:
|
||||
- A custom HTTP check timeout. The Consul default is 10 seconds. Similar to the interval this is a number with a V(s)
|
||||
or V(m) suffix to signify the units of seconds or minutes, for example V(15s) or V(1m). If no suffix is supplied V(s)
|
||||
will be used by default, for example V(10) will be V(10s).
|
||||
is used by default, for example V(10) is equivalent to V(10s).
|
||||
token:
|
||||
type: str
|
||||
description:
|
||||
|
||||
@@ -50,7 +50,7 @@ RETURN = r"""
|
||||
result:
|
||||
description:
|
||||
- The bootstrap result as returned by the Consul HTTP API.
|
||||
- B(Note:) If O(bootstrap_secret) has been specified the C(SecretID) and C(ID) will not contain the secret but C(VALUE_SPECIFIED_IN_NO_LOG_PARAMETER).
|
||||
- B(Note:) If O(bootstrap_secret) has been specified the C(SecretID) and C(ID) do not contain the secret but C(VALUE_SPECIFIED_IN_NO_LOG_PARAMETER).
|
||||
If you pass O(bootstrap_secret), make sure your playbook/role does not depend on this return value!
|
||||
returned: changed
|
||||
type: dict
|
||||
|
||||
@@ -17,9 +17,9 @@ description:
|
||||
- Allows the addition, modification and deletion of checks in a Consul cluster using the agent. For more details on using
|
||||
and configuring Checks, see U(https://developer.hashicorp.com/consul/api-docs/agent/check).
|
||||
- Currently, there is no complete way to retrieve the script, interval or TTL metadata for a registered check. Without this
|
||||
metadata it is not possible to tell if the data supplied with ansible represents a change to a check. As a result this
|
||||
does not attempt to determine changes and will always report a changed occurred. An API method is planned to supply this
|
||||
metadata so at that stage change management will be added.
|
||||
metadata it is not possible to tell if the data supplied with ansible represents a change to a check. As a result, the
|
||||
module does not attempt to determine changes and it always reports a changed occurred. An API method is planned to supply
|
||||
this metadata so at that stage change management is to be added.
|
||||
author:
|
||||
- Michael Ilg (@Ilgmi)
|
||||
extends_documentation_fragment:
|
||||
@@ -36,8 +36,8 @@ attributes:
|
||||
diff_mode:
|
||||
support: partial
|
||||
details:
|
||||
- In check mode the diff will show the object as it is defined in the module options and not the object structure of
|
||||
the Consul API.
|
||||
- In check mode the diff shows the object as it is defined in the module options and not the object structure of the
|
||||
Consul API.
|
||||
options:
|
||||
state:
|
||||
description:
|
||||
@@ -52,13 +52,13 @@ options:
|
||||
id:
|
||||
description:
|
||||
- Specifies a unique ID for this check on the node. This defaults to the O(name) parameter, but it may be necessary
|
||||
to provide an ID for uniqueness. This value will return in the response as "CheckId".
|
||||
to provide an ID for uniqueness. This value is returned in the response as V(CheckId).
|
||||
type: str
|
||||
interval:
|
||||
description:
|
||||
- The interval at which the service check will be run. This is a number with a V(s) or V(m) suffix to signify the units
|
||||
of seconds or minutes, for example V(15s) or V(1m). If no suffix is supplied V(s) will be used by default, for example
|
||||
V(10) will be V(10s).
|
||||
- The interval at which the service check is run. This is a number with a V(s) or V(m) suffix to signify the units of
|
||||
seconds or minutes, for example V(15s) or V(1m). If no suffix is supplied V(s) is used by default, for example V(10)
|
||||
is equivalent to V(10s).
|
||||
- Required if one of the parameters O(args), O(http), or O(tcp) is specified.
|
||||
type: str
|
||||
notes:
|
||||
@@ -74,11 +74,11 @@ options:
|
||||
elements: str
|
||||
ttl:
|
||||
description:
|
||||
- Checks can be registered with a TTL instead of a O(args) and O(interval) this means that the service will check in
|
||||
with the agent before the TTL expires. If it does not the check will be considered failed. Required if registering
|
||||
a check and the script an interval are missing Similar to the interval this is a number with a V(s) or V(m) suffix
|
||||
to signify the units of seconds or minutes, for example V(15s) or V(1m). If no suffix is supplied V(s) will be used
|
||||
by default, for example V(10) will be V(10s).
|
||||
- Checks can be registered with a TTL instead of a O(args) and O(interval) this means that the service checks in with
|
||||
the agent before the TTL expires. If it does not the check is considered failed. Required if registering a check and
|
||||
the script an interval are missing Similar to the interval this is a number with a V(s) or V(m) suffix to signify
|
||||
the units of seconds or minutes, for example V(15s) or V(1m). If no suffix is supplied V(s) is used by default, for
|
||||
example V(10) is equivalent to V(10s).
|
||||
- Mutually exclusive with O(args), O(tcp) and O(http).
|
||||
type: str
|
||||
tcp:
|
||||
@@ -91,8 +91,8 @@ options:
|
||||
version_added: '1.3.0'
|
||||
http:
|
||||
description:
|
||||
- Checks can be registered with an HTTP endpoint. This means that Consul will check that the http endpoint returns a
|
||||
successful HTTP status.
|
||||
- Checks can be registered with an HTTP endpoint. This means that Consul checks that the HTTP endpoint returns a successful
|
||||
HTTP status.
|
||||
- Requires O(interval) to be provided.
|
||||
- Mutually exclusive with O(args), O(ttl) and O(tcp).
|
||||
type: str
|
||||
@@ -100,7 +100,7 @@ options:
|
||||
description:
|
||||
- A custom HTTP check timeout. The Consul default is 10 seconds. Similar to the interval this is a number with a V(s)
|
||||
or V(m) suffix to signify the units of seconds or minutes, for example V(15s) or V(1m). If no suffix is supplied V(s)
|
||||
will be used by default, for example V(10) will be V(10s).
|
||||
is used by default, for example V(10) is equivalent to V(10s).
|
||||
type: str
|
||||
service_id:
|
||||
description:
|
||||
|
||||
@@ -31,7 +31,7 @@ attributes:
|
||||
diff_mode:
|
||||
support: partial
|
||||
details:
|
||||
- In check mode the diff will miss operational attributes.
|
||||
- In check mode the diff misses operational attributes.
|
||||
options:
|
||||
state:
|
||||
description:
|
||||
@@ -50,13 +50,13 @@ options:
|
||||
type: str
|
||||
tags:
|
||||
description:
|
||||
- Tags that will be attached to the service registration.
|
||||
- Tags that are attached to the service registration.
|
||||
type: list
|
||||
elements: str
|
||||
address:
|
||||
description:
|
||||
- The address to advertise that the service will be listening on. This value will be passed as the C(address) parameter
|
||||
to Consul's C(/v1/agent/service/register) API method, so refer to the Consul API documentation for further details.
|
||||
- The address to advertise that the service listens on. This value is passed as the C(address) parameter to Consul's
|
||||
C(/v1/agent/service/register) API method, so refer to the Consul API documentation for further details.
|
||||
type: str
|
||||
meta:
|
||||
description:
|
||||
|
||||
@@ -29,7 +29,7 @@ attributes:
|
||||
diff_mode:
|
||||
support: partial
|
||||
details:
|
||||
- In check mode the diff will miss operational attributes.
|
||||
- In check mode the diff misses operational attributes.
|
||||
options:
|
||||
state:
|
||||
description:
|
||||
@@ -71,7 +71,7 @@ options:
|
||||
config:
|
||||
description:
|
||||
- The raw configuration to use for the chosen auth method.
|
||||
- Contents will vary depending upon the type chosen.
|
||||
- Contents vary depending upon the O(type) chosen.
|
||||
- Required when the auth method is created.
|
||||
type: dict
|
||||
"""
|
||||
|
||||
@@ -29,7 +29,7 @@ attributes:
|
||||
diff_mode:
|
||||
support: partial
|
||||
details:
|
||||
- In check mode the diff will miss operational attributes.
|
||||
- In check mode the diff misses operational attributes.
|
||||
options:
|
||||
state:
|
||||
description:
|
||||
|
||||
@@ -36,12 +36,12 @@ options:
|
||||
state:
|
||||
description:
|
||||
- The action to take with the supplied key and value. If the state is V(present) and O(value) is set, the key contents
|
||||
will be set to the value supplied and C(changed) will be set to V(true) only if the value was different to the current
|
||||
contents. If the state is V(present) and O(value) is not set, the existing value associated to the key will be returned.
|
||||
The state V(absent) will remove the key/value pair, again C(changed) will be set to V(true) only if the key actually
|
||||
existed prior to the removal. An attempt can be made to obtain or free the lock associated with a key/value pair with
|
||||
the states V(acquire) or V(release) respectively. A valid session must be supplied to make the attempt C(changed)
|
||||
will be V(true) if the attempt is successful, V(false) otherwise.
|
||||
is set to the value supplied and C(changed) is set to V(true) only if the value was different to the current contents.
|
||||
If the state is V(present) and O(value) is not set, the existing value associated to the key is returned. The state
|
||||
V(absent) is used to remove the key/value pair, again C(changed) is set to V(true) only if the key actually existed
|
||||
prior to the removal. An attempt can be made to obtain or free the lock associated with a key/value pair with the
|
||||
states V(acquire) or V(release) respectively. A valid session must be supplied to make the attempt C(changed) is V(true)
|
||||
if the attempt is successful, V(false) otherwise.
|
||||
type: str
|
||||
choices: [absent, acquire, present, release]
|
||||
default: present
|
||||
@@ -73,9 +73,8 @@ options:
|
||||
type: str
|
||||
cas:
|
||||
description:
|
||||
- Used when acquiring a lock with a session. If the O(cas) is V(0), then Consul will only put the key if it does not
|
||||
already exist. If the O(cas) value is non-zero, then the key is only set if the index matches the ModifyIndex of that
|
||||
key.
|
||||
- Used when acquiring a lock with a session. If the O(cas) is V(0), then Consul only puts the key if it does not already
|
||||
exist. If the O(cas) value is non-zero, then the key is only set if the index matches the ModifyIndex of that key.
|
||||
type: str
|
||||
flags:
|
||||
description:
|
||||
@@ -103,8 +102,7 @@ options:
|
||||
default: true
|
||||
datacenter:
|
||||
description:
|
||||
- The name of the datacenter to query. If unspecified, the query will default to the datacenter of the Consul agent
|
||||
on O(host).
|
||||
- The name of the datacenter to query. If unspecified, the query defaults to the datacenter of the Consul agent on O(host).
|
||||
type: str
|
||||
version_added: 10.0.0
|
||||
"""
|
||||
|
||||
@@ -31,7 +31,7 @@ attributes:
|
||||
support: partial
|
||||
version_added: 8.3.0
|
||||
details:
|
||||
- In check mode the diff will miss operational attributes.
|
||||
- In check mode the diff misses operational attributes.
|
||||
action_group:
|
||||
version_added: 8.3.0
|
||||
options:
|
||||
|
||||
@@ -29,7 +29,7 @@ attributes:
|
||||
diff_mode:
|
||||
support: partial
|
||||
details:
|
||||
- In check mode the diff will miss operational attributes.
|
||||
- In check mode the diff misses operational attributes.
|
||||
version_added: 8.3.0
|
||||
action_group:
|
||||
version_added: 8.3.0
|
||||
@@ -48,15 +48,15 @@ options:
|
||||
description:
|
||||
description:
|
||||
- Description of the role.
|
||||
- If not specified, the assigned description will not be changed.
|
||||
- If not specified, the assigned description is not changed.
|
||||
type: str
|
||||
policies:
|
||||
type: list
|
||||
elements: dict
|
||||
description:
|
||||
- List of policies to attach to the role. Each policy is a dict.
|
||||
- If the parameter is left blank, any policies currently assigned will not be changed.
|
||||
- Any empty array (V([])) will clear any policies previously set.
|
||||
- If the parameter is left blank, any policies currently assigned are not changed.
|
||||
- Any empty array (V([])) clears any policies previously set.
|
||||
suboptions:
|
||||
name:
|
||||
description:
|
||||
@@ -90,8 +90,8 @@ options:
|
||||
elements: dict
|
||||
description:
|
||||
- List of service identities to attach to the role.
|
||||
- If not specified, any service identities currently assigned will not be changed.
|
||||
- If the parameter is an empty array (V([])), any node identities assigned will be unassigned.
|
||||
- If not specified, any service identities currently assigned are not changed.
|
||||
- If the parameter is an empty array (V([])), any node identities assigned are unassigned.
|
||||
suboptions:
|
||||
service_name:
|
||||
description:
|
||||
@@ -106,9 +106,9 @@ options:
|
||||
- name
|
||||
datacenters:
|
||||
description:
|
||||
- The datacenters the policies will be effective.
|
||||
- This will result in effective policy only being valid in this datacenter.
|
||||
- If an empty array (V([])) is specified, the policies will valid in all datacenters.
|
||||
- The datacenters where the policies are effective.
|
||||
- This results in effective policy only being valid in this datacenter.
|
||||
- If an empty array (V([])) is specified, the policies are valid in all datacenters.
|
||||
- Including those which do not yet exist but may in the future.
|
||||
type: list
|
||||
elements: str
|
||||
@@ -117,8 +117,8 @@ options:
|
||||
elements: dict
|
||||
description:
|
||||
- List of node identities to attach to the role.
|
||||
- If not specified, any node identities currently assigned will not be changed.
|
||||
- If the parameter is an empty array (V([])), any node identities assigned will be unassigned.
|
||||
- If not specified, any node identities currently assigned are not changed.
|
||||
- If the parameter is an empty array (V([])), any node identities assigned are unassigned.
|
||||
suboptions:
|
||||
node_name:
|
||||
description:
|
||||
@@ -134,7 +134,7 @@ options:
|
||||
datacenter:
|
||||
description:
|
||||
- The nodes datacenter.
|
||||
- This will result in effective policy only being valid in this datacenter.
|
||||
- This results in effective policy only being valid in this datacenter.
|
||||
type: str
|
||||
required: true
|
||||
"""
|
||||
|
||||
@@ -57,7 +57,7 @@ options:
|
||||
default: 15
|
||||
node:
|
||||
description:
|
||||
- The name of the node that with which the session will be associated. By default this is the name of the agent.
|
||||
- The name of the node that with which the session is associated. By default this is the name of the agent.
|
||||
type: str
|
||||
datacenter:
|
||||
description:
|
||||
@@ -65,8 +65,8 @@ options:
|
||||
type: str
|
||||
checks:
|
||||
description:
|
||||
- Checks that will be used to verify the session health. If all the checks fail, the session will be invalidated and
|
||||
any locks associated with the session will be release and can be acquired once the associated lock delay has expired.
|
||||
- Checks that are used to verify the session health. If all the checks fail, the session is invalidated and any locks
|
||||
associated with the session are released and can be acquired once the associated lock delay has expired.
|
||||
type: list
|
||||
elements: str
|
||||
behavior:
|
||||
|
||||
@@ -29,7 +29,7 @@ attributes:
|
||||
diff_mode:
|
||||
support: partial
|
||||
details:
|
||||
- In check mode the diff will miss operational attributes.
|
||||
- In check mode the diff misses operational attributes.
|
||||
action_group:
|
||||
version_added: 8.3.0
|
||||
options:
|
||||
@@ -41,11 +41,11 @@ options:
|
||||
type: str
|
||||
accessor_id:
|
||||
description:
|
||||
- Specifies a UUID to use as the token's Accessor ID. If not specified a UUID will be generated for this field.
|
||||
- Specifies a UUID to use as the token's Accessor ID. If not specified a UUID is generated for this field.
|
||||
type: str
|
||||
secret_id:
|
||||
description:
|
||||
- Specifies a UUID to use as the token's Secret ID. If not specified a UUID will be generated for this field.
|
||||
- Specifies a UUID to use as the token's Secret ID. If not specified a UUID is generated for this field.
|
||||
type: str
|
||||
description:
|
||||
description:
|
||||
@@ -56,8 +56,8 @@ options:
|
||||
elements: dict
|
||||
description:
|
||||
- List of policies to attach to the token. Each policy is a dict.
|
||||
- If the parameter is left blank, any policies currently assigned will not be changed.
|
||||
- Any empty array (V([])) will clear any policies previously set.
|
||||
- If the parameter is left blank, any policies currently assigned are not changed.
|
||||
- Any empty array (V([])) clears any policies previously set.
|
||||
suboptions:
|
||||
name:
|
||||
description:
|
||||
@@ -74,8 +74,8 @@ options:
|
||||
elements: dict
|
||||
description:
|
||||
- List of roles to attach to the token. Each role is a dict.
|
||||
- If the parameter is left blank, any roles currently assigned will not be changed.
|
||||
- Any empty array (V([])) will clear any roles previously set.
|
||||
- If the parameter is left blank, any roles currently assigned are not changed.
|
||||
- Any empty array (V([])) clears any roles previously set.
|
||||
suboptions:
|
||||
name:
|
||||
description:
|
||||
@@ -108,8 +108,8 @@ options:
|
||||
elements: dict
|
||||
description:
|
||||
- List of service identities to attach to the token.
|
||||
- If not specified, any service identities currently assigned will not be changed.
|
||||
- If the parameter is an empty array (V([])), any node identities assigned will be unassigned.
|
||||
- If not specified, any service identities currently assigned are not changed.
|
||||
- If the parameter is an empty array (V([])), any node identities assigned are unassigned.
|
||||
suboptions:
|
||||
service_name:
|
||||
description:
|
||||
@@ -120,8 +120,8 @@ options:
|
||||
required: true
|
||||
datacenters:
|
||||
description:
|
||||
- The datacenters the token will be effective.
|
||||
- If an empty array (V([])) is specified, the token will valid in all datacenters.
|
||||
- The datacenters where the token is effective.
|
||||
- If an empty array (V([])) is specified, the token is valid in all datacenters.
|
||||
- Including those which do not yet exist but may in the future.
|
||||
type: list
|
||||
elements: str
|
||||
@@ -130,8 +130,8 @@ options:
|
||||
elements: dict
|
||||
description:
|
||||
- List of node identities to attach to the token.
|
||||
- If not specified, any node identities currently assigned will not be changed.
|
||||
- If the parameter is an empty array (V([])), any node identities assigned will be unassigned.
|
||||
- If not specified, any node identities currently assigned are not changed.
|
||||
- If the parameter is an empty array (V([])), any node identities assigned are unassigned.
|
||||
suboptions:
|
||||
node_name:
|
||||
description:
|
||||
@@ -143,7 +143,7 @@ options:
|
||||
datacenter:
|
||||
description:
|
||||
- The nodes datacenter.
|
||||
- This will result in effective token only being valid in this datacenter.
|
||||
- This results in effective token only being valid in this datacenter.
|
||||
type: str
|
||||
required: true
|
||||
local:
|
||||
@@ -152,7 +152,7 @@ options:
|
||||
type: bool
|
||||
expiration_ttl:
|
||||
description:
|
||||
- This is a convenience field and if set will initialize the C(expiration_time). Can be specified in the form of V(60s)
|
||||
- This is a convenience field and if set it initializes the C(expiration_time). Can be specified in the form of V(60s)
|
||||
or V(5m) (that is, 60 seconds or 5 minutes, respectively). Ingored when the token is updated!
|
||||
type: str
|
||||
"""
|
||||
|
||||
@@ -59,16 +59,18 @@ options:
|
||||
install_recommendations:
|
||||
description:
|
||||
- If V(true), installs dependencies declared as recommends per META spec.
|
||||
- If V(false), it ensures the dependencies declared as recommends are not installed, overriding any decision made earlier in E(PERL_CPANM_OPT).
|
||||
- If parameter is not set, C(cpanm) will use its existing defaults.
|
||||
- If V(false), it ensures the dependencies declared as recommends are not installed, overriding any decision made earlier
|
||||
in E(PERL_CPANM_OPT).
|
||||
- If parameter is not set, C(cpanm) uses its existing defaults.
|
||||
- When these dependencies fail to install, cpanm continues the installation, since they are just recommendation.
|
||||
type: bool
|
||||
version_added: 10.3.0
|
||||
install_suggestions:
|
||||
description:
|
||||
- If V(true), installs dependencies declared as suggests per META spec.
|
||||
- If V(false), it ensures the dependencies declared as suggests are not installed, overriding any decision made earlier in E(PERL_CPANM_OPT).
|
||||
- If parameter is not set, C(cpanm) will use its existing defaults.
|
||||
- If V(false), it ensures the dependencies declared as suggests are not installed, overriding any decision made earlier
|
||||
in E(PERL_CPANM_OPT).
|
||||
- If parameter is not set, C(cpanm) uses its existing defaults.
|
||||
- When these dependencies fail to install, cpanm continues the installation, since they are just suggestion.
|
||||
type: bool
|
||||
version_added: 10.3.0
|
||||
@@ -97,14 +99,13 @@ options:
|
||||
notes:
|
||||
- Please note that U(http://search.cpan.org/dist/App-cpanminus/bin/cpanm, cpanm) must be installed on the remote host.
|
||||
- 'This module now comes with a choice of execution O(mode): V(compatibility) or V(new).'
|
||||
- 'O(mode=compatibility): When using V(compatibility) mode, the module will keep backward compatibility. This was the default
|
||||
- 'O(mode=compatibility): When using V(compatibility) mode, the module keeps backward compatibility. This was the default
|
||||
mode before community.general 9.0.0. O(name) must be either a module name or a distribution file. If the perl module given
|
||||
by O(name) is installed (at the exact O(version) when specified), then nothing happens. Otherwise, it will be installed
|
||||
using the C(cpanm) executable. O(name) cannot be an URL, or a git URL. C(cpanm) version specifiers do not work in this
|
||||
mode.'
|
||||
- 'O(mode=new): When using V(new) mode, the module will behave differently. The O(name) parameter may refer to a module
|
||||
name, a distribution file, a HTTP URL or a git repository URL as described in C(cpanminus) documentation. C(cpanm) version
|
||||
specifiers are recognized. This is the default mode from community.general 9.0.0 onwards.'
|
||||
by O(name) is installed (at the exact O(version) when specified), then nothing happens. Otherwise, it is installed using
|
||||
the C(cpanm) executable. O(name) cannot be an URL, or a git URL. C(cpanm) version specifiers do not work in this mode.'
|
||||
- 'O(mode=new): When using V(new) mode, the module behaves differently. The O(name) parameter may refer to a module name,
|
||||
a distribution file, a HTTP URL or a git repository URL as described in C(cpanminus) documentation. C(cpanm) version specifiers
|
||||
are recognized. This is the default mode from community.general 9.0.0 onwards.'
|
||||
seealso:
|
||||
- name: C(cpanm) command manual page
|
||||
description: Manual page for the command.
|
||||
|
||||
@@ -43,12 +43,12 @@ options:
|
||||
type: str
|
||||
insertafter:
|
||||
description:
|
||||
- If specified, the variable will be inserted after the variable specified.
|
||||
- If specified, the variable is inserted after the variable specified.
|
||||
- Used with O(state=present).
|
||||
type: str
|
||||
insertbefore:
|
||||
description:
|
||||
- Used with O(state=present). If specified, the variable will be inserted just before the variable specified.
|
||||
- Used with O(state=present). If specified, the variable is inserted just before the variable specified.
|
||||
type: str
|
||||
state:
|
||||
description:
|
||||
@@ -135,6 +135,9 @@ class CronVar(object):
|
||||
self.cron_file = cron_file
|
||||
else:
|
||||
self.cron_file = os.path.join('/etc/cron.d', cron_file)
|
||||
parent_dir = os.path.dirname(self.cron_file)
|
||||
if parent_dir and not os.path.isdir(parent_dir):
|
||||
module.fail_json(msg="Parent directory '{}' does not exist for cron_file: '{}'".format(parent_dir, cron_file))
|
||||
else:
|
||||
self.cron_file = None
|
||||
|
||||
@@ -393,6 +396,8 @@ def main():
|
||||
old_value = cronvar.find_variable(name)
|
||||
|
||||
if ensure_present:
|
||||
if value == "" and old_value != "":
|
||||
value = '""'
|
||||
if old_value is None:
|
||||
cronvar.add_variable(name, value, insertbefore, insertafter)
|
||||
changed = True
|
||||
|
||||
@@ -24,14 +24,14 @@ options:
|
||||
name:
|
||||
description:
|
||||
- Name of the encrypted block device as it appears in the C(/etc/crypttab) file, or optionally prefixed with V(/dev/mapper/),
|
||||
as it appears in the filesystem. V(/dev/mapper/) will be stripped from O(name).
|
||||
as it appears in the filesystem. V(/dev/mapper/) is stripped from O(name).
|
||||
type: str
|
||||
required: true
|
||||
state:
|
||||
description:
|
||||
- Use V(present) to add a line to C(/etc/crypttab) or update its definition if already present.
|
||||
- Use V(absent) to remove a line with matching O(name).
|
||||
- Use V(opts_present) to add options to those already present; options with different values will be updated.
|
||||
- Use V(opts_present) to add options to those already present; options with different values are updated.
|
||||
- Use V(opts_absent) to remove options from the existing set.
|
||||
type: str
|
||||
required: true
|
||||
@@ -73,6 +73,14 @@ EXAMPLES = r"""
|
||||
opts: discard
|
||||
loop: '{{ ansible_mounts }}'
|
||||
when: "'/dev/mapper/luks-' in item.device"
|
||||
|
||||
- name: Add entry to /etc/crypttab for luks-home with password file
|
||||
community.general.crypttab:
|
||||
name: luks-home
|
||||
backing_device: UUID=123e4567-e89b-12d3-a456-426614174000
|
||||
password: /root/keys/luks-home.key
|
||||
opts: discard,cipher=aes-cbc-essiv:sha256
|
||||
state: present
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
@@ -16,7 +16,7 @@ __metaclass__ = type
|
||||
|
||||
DOCUMENTATION = r"""
|
||||
module: datadog_event
|
||||
short_description: Posts events to Datadog service
|
||||
short_description: Posts events to Datadog service
|
||||
description:
|
||||
- Allows to post events to Datadog (www.datadoghq.com) service.
|
||||
- Uses http://docs.datadoghq.com/api/#events API.
|
||||
@@ -89,8 +89,8 @@ options:
|
||||
- An arbitrary string to use for aggregation.
|
||||
validate_certs:
|
||||
description:
|
||||
- If V(false), SSL certificates will not be validated. This should only be used on personally controlled sites using
|
||||
self-signed certificates.
|
||||
- If V(false), SSL certificates are not validated. This should only be used on personally controlled sites using self-signed
|
||||
certificates.
|
||||
type: bool
|
||||
default: true
|
||||
"""
|
||||
|
||||
@@ -92,26 +92,26 @@ options:
|
||||
type: dict
|
||||
description:
|
||||
- Dictionary of scopes to silence, with timestamps or None.
|
||||
- Each scope will be muted until the given POSIX timestamp or forever if the value is None.
|
||||
- Each scope is muted until the given POSIX timestamp or forever if the value is V(None).
|
||||
notify_no_data:
|
||||
description:
|
||||
- Whether this monitor will notify when data stops reporting.
|
||||
- Whether this monitor notifies when data stops reporting.
|
||||
type: bool
|
||||
default: false
|
||||
no_data_timeframe:
|
||||
description:
|
||||
- The number of minutes before a monitor will notify when data stops reporting.
|
||||
- The number of minutes before a monitor notifies when data stops reporting.
|
||||
- Must be at least 2x the monitor timeframe for metric alerts or 2 minutes for service checks.
|
||||
- If not specified, it defaults to 2x timeframe for metric, 2 minutes for service.
|
||||
type: str
|
||||
timeout_h:
|
||||
description:
|
||||
- The number of hours of the monitor not reporting data before it will automatically resolve from a triggered state.
|
||||
- The number of hours of the monitor not reporting data before it automatically resolves from a triggered state.
|
||||
type: str
|
||||
renotify_interval:
|
||||
description:
|
||||
- The number of minutes after the last notification before a monitor will re-notify on the current status.
|
||||
- It will only re-notify if it is not resolved.
|
||||
- The number of minutes after the last notification before a monitor re-notifies on the current status.
|
||||
- It only re-notifies if it is not resolved.
|
||||
type: str
|
||||
escalation_message:
|
||||
description:
|
||||
@@ -120,7 +120,7 @@ options:
|
||||
type: str
|
||||
notify_audit:
|
||||
description:
|
||||
- Whether tagged users will be notified on changes to this monitor.
|
||||
- Whether tagged users are notified on changes to this monitor.
|
||||
type: bool
|
||||
default: false
|
||||
thresholds:
|
||||
@@ -138,7 +138,7 @@ options:
|
||||
require_full_window:
|
||||
description:
|
||||
- Whether this monitor needs a full window of data before it gets evaluated.
|
||||
- We highly recommend you set this to False for sparse metrics, otherwise some evaluations will be skipped.
|
||||
- We highly recommend you set this to V(false) for sparse metrics, otherwise some evaluations are skipped.
|
||||
type: bool
|
||||
new_host_delay:
|
||||
description:
|
||||
@@ -153,7 +153,7 @@ options:
|
||||
id:
|
||||
description:
|
||||
- The ID of the alert.
|
||||
- If set, will be used instead of the name to locate the alert.
|
||||
- If set, it is used instead of O(name) to locate the alert.
|
||||
type: str
|
||||
include_tags:
|
||||
description:
|
||||
|
||||
@@ -17,10 +17,10 @@ short_description: Modify and read dconf database
|
||||
description:
|
||||
- This module allows modifications and reading of C(dconf) database. The module is implemented as a wrapper around C(dconf)
|
||||
tool. Please see the dconf(1) man page for more details.
|
||||
- Since C(dconf) requires a running D-Bus session to change values, the module will try to detect an existing session and
|
||||
reuse it, or run the tool using C(dbus-run-session).
|
||||
- Since C(dconf) requires a running D-Bus session to change values, the module tries to detect an existing session and reuse
|
||||
it, or run the tool using C(dbus-run-session).
|
||||
requirements:
|
||||
- Optionally the C(gi.repository) Python library (usually included in the OS on hosts which have C(dconf)); this will become
|
||||
- Optionally the C(gi.repository) Python library (usually included in the OS on hosts which have C(dconf)); this is to become
|
||||
a non-optional requirement in a future major release of community.general.
|
||||
notes:
|
||||
- This module depends on C(psutil) Python library (version 4.0.0 and upwards), C(dconf), C(dbus-send), and C(dbus-run-session)
|
||||
@@ -28,7 +28,7 @@ notes:
|
||||
- This module uses the C(gi.repository) Python library when available for accurate comparison of values in C(dconf) to values
|
||||
specified in Ansible code. C(gi.repository) is likely to be present on most systems which have C(dconf) but may not be
|
||||
present everywhere. When it is missing, a simple string comparison between values is used, and there may be false positives,
|
||||
that is, Ansible may think that a value is being changed when it is not. This fallback will be removed in a future version
|
||||
that is, Ansible may think that a value is being changed when it is not. This fallback is to be removed in a future version
|
||||
of this module, at which point the module will stop working on hosts without C(gi.repository).
|
||||
- Detection of existing, running D-Bus session, required to change settings using C(dconf), is not 100% reliable due to
|
||||
implementation details of D-Bus daemon itself. This might lead to running applications not picking-up changes on-the-fly
|
||||
|
||||
@@ -33,13 +33,12 @@ options:
|
||||
required: true
|
||||
dest:
|
||||
description:
|
||||
- The file name of the destination file where the compressed file will be decompressed.
|
||||
- If the destination file exists, it will be truncated and overwritten.
|
||||
- If not specified, the destination filename will be derived from O(src) by removing the compression format extension.
|
||||
For example, if O(src) is V(/path/to/file.txt.gz) and O(format) is V(gz), O(dest) will be V(/path/to/file.txt). If
|
||||
the O(src) file does not have an extension for the current O(format), the O(dest) filename will be made by appending
|
||||
C(_decompressed) to the O(src) filename. For instance, if O(src) is V(/path/to/file.myextension), the (dest) filename
|
||||
will be V(/path/to/file.myextension_decompressed).
|
||||
- The file name of the destination file where the compressed file is decompressed.
|
||||
- If the destination file exists, it is truncated and overwritten.
|
||||
- If not specified, the destination filename is derived from O(src) by removing the compression format extension. For
|
||||
example, when O(src) is V(/path/to/file.txt.gz) and O(format) is V(gz), O(dest) is V(/path/to/file.txt). If the O(src)
|
||||
file does not have an extension for the current O(format), the O(dest) filename is made by appending C(_decompressed)
|
||||
to the O(src) filename. For instance, when O(src) is V(/path/to/file.myextension), the (dest) filename is V(/path/to/file.myextension_decompressed).
|
||||
type: path
|
||||
format:
|
||||
description:
|
||||
|
||||
@@ -18,8 +18,8 @@ short_description: Manages some of the steps common in deploying projects
|
||||
description:
|
||||
- The Deploy Helper manages some of the steps common in deploying software. It creates a folder structure, manages a symlink
|
||||
for the current release and cleans up old releases.
|
||||
- Running it with the O(state=query) or O(state=present) will return the C(deploy_helper) fact. C(project_path), whatever
|
||||
you set in the O(path) parameter, C(current_path), the path to the symlink that points to the active release, C(releases_path),
|
||||
- Running it with the O(state=query) or O(state=present) returns the C(deploy_helper) fact. C(project_path), whatever you
|
||||
set in the O(path) parameter, C(current_path), the path to the symlink that points to the active release, C(releases_path),
|
||||
the path to the folder to keep releases in, C(shared_path), the path to the folder to keep shared resources in, C(unfinished_filename),
|
||||
the file to check for to recognize unfinished builds, C(previous_release), the release the 'current' symlink is pointing
|
||||
to, C(previous_release_path), the full path to the 'current' symlink target, C(new_release), either the O(release) parameter
|
||||
@@ -41,12 +41,12 @@ options:
|
||||
type: str
|
||||
description:
|
||||
- The state of the project.
|
||||
- V(query) will only gather facts.
|
||||
- V(present) will create the project C(root) folder, and in it the C(releases) and C(shared) folders.
|
||||
- V(finalize) will remove the unfinished_filename file, create a symlink to the newly deployed release and optionally
|
||||
clean old releases.
|
||||
- V(clean) will remove failed & old releases.
|
||||
- V(absent) will remove the project folder (synonymous to the M(ansible.builtin.file) module with O(state=absent)).
|
||||
- V(query) gathers facts.
|
||||
- V(present) creates the project C(root) folder, and in it the C(releases) and C(shared) folders.
|
||||
- V(finalize) removes the unfinished_filename file, creates a symlink to the newly deployed release and optionally cleans
|
||||
old releases.
|
||||
- V(clean) removes failed & old releases.
|
||||
- V(absent) removes the project folder (synonymous to the M(ansible.builtin.file) module with O(state=absent)).
|
||||
choices: [present, finalize, absent, clean, query]
|
||||
default: present
|
||||
|
||||
@@ -59,15 +59,15 @@ options:
|
||||
releases_path:
|
||||
type: str
|
||||
description:
|
||||
- The name of the folder that will hold the releases. This can be relative to O(path) or absolute. Returned in the C(deploy_helper.releases_path)
|
||||
- The name of the folder that holds the releases. This can be relative to O(path) or absolute. Returned in the C(deploy_helper.releases_path)
|
||||
fact.
|
||||
default: releases
|
||||
|
||||
shared_path:
|
||||
type: path
|
||||
description:
|
||||
- The name of the folder that will hold the shared resources. This can be relative to O(path) or absolute. If this is
|
||||
set to an empty string, no shared folder will be created. Returned in the C(deploy_helper.shared_path) fact.
|
||||
- The name of the folder that holds the shared resources. This can be relative to O(path) or absolute. If this is set
|
||||
to an empty string, no shared folder is created. Returned in the C(deploy_helper.shared_path) fact.
|
||||
default: shared
|
||||
|
||||
current_path:
|
||||
@@ -81,8 +81,8 @@ options:
|
||||
type: str
|
||||
description:
|
||||
- The name of the file that indicates a deploy has not finished. All folders in the O(releases_path) that contain this
|
||||
file will be deleted on O(state=finalize) with O(clean=true), or O(state=clean). This file is automatically deleted
|
||||
from the C(new_release_path) during O(state=finalize).
|
||||
file are deleted on O(state=finalize) with O(clean=true), or O(state=clean). This file is automatically deleted from
|
||||
the C(new_release_path) during O(state=finalize).
|
||||
default: DEPLOY_UNFINISHED
|
||||
|
||||
clean:
|
||||
@@ -95,16 +95,16 @@ options:
|
||||
type: int
|
||||
description:
|
||||
- The number of old releases to keep when cleaning. Used in O(state=finalize) and O(state=clean). Any unfinished builds
|
||||
will be deleted first, so only correct releases will count. The current version will not count.
|
||||
are deleted first, so only correct releases count. The current version does not count.
|
||||
default: 5
|
||||
|
||||
notes:
|
||||
- Facts are only returned for O(state=query) and O(state=present). If you use both, you should pass any overridden parameters
|
||||
to both calls, otherwise the second call will overwrite the facts of the first one.
|
||||
to both calls, otherwise the second call overwrites the facts of the first one.
|
||||
- When using O(state=clean), the releases are ordered by I(creation date). You should be able to switch to a new naming
|
||||
strategy without problems.
|
||||
- Because of the default behaviour of generating the C(new_release) fact, this module will not be idempotent unless you
|
||||
pass your own release name with O(release). Due to the nature of deploying software, this should not be much of a problem.
|
||||
- Because of the default behaviour of generating the C(new_release) fact, this module is not idempotent unless you pass
|
||||
your own release name with O(release). Due to the nature of deploying software, this should not be much of a problem.
|
||||
extends_documentation_fragment:
|
||||
- ansible.builtin.files
|
||||
- community.general.attributes
|
||||
|
||||
@@ -56,8 +56,7 @@ options:
|
||||
state:
|
||||
description:
|
||||
- The desired state for the target VLAN.
|
||||
- V(readonly) ensures that the state is only ever read, not modified (the module will fail if the resource does not
|
||||
exist).
|
||||
- V(readonly) ensures that the state is only ever read, not modified (the module fails if the resource does not exist).
|
||||
choices: [present, absent, readonly]
|
||||
default: present
|
||||
type: str
|
||||
@@ -65,7 +64,7 @@ options:
|
||||
description:
|
||||
- Permit expansion of the target VLAN's network if the module parameters specify a larger network than the VLAN currently
|
||||
possesses.
|
||||
- If V(false), the module will fail under these conditions.
|
||||
- If V(false), the module fails under these conditions.
|
||||
- This is intended to prevent accidental expansion of a VLAN's network (since this operation is not reversible).
|
||||
type: bool
|
||||
default: false
|
||||
|
||||
@@ -22,7 +22,7 @@ options:
|
||||
database:
|
||||
description:
|
||||
- Specify databases to run checks against.
|
||||
- If not specified, Django will not run database tests.
|
||||
- If not specified, Django does not run database tests.
|
||||
type: list
|
||||
elements: str
|
||||
deploy:
|
||||
@@ -32,7 +32,7 @@ options:
|
||||
default: false
|
||||
fail_level:
|
||||
description:
|
||||
- Message level that will trigger failure.
|
||||
- Message level that triggers failure.
|
||||
- Default is the Django default value. Check the documentation for the version being used.
|
||||
type: str
|
||||
choices: [CRITICAL, ERROR, WARNING, INFO, DEBUG]
|
||||
@@ -49,7 +49,7 @@ options:
|
||||
elements: str
|
||||
notes:
|
||||
- The outcome of the module is found in the common return values RV(ignore:stdout), RV(ignore:stderr), RV(ignore:rc).
|
||||
- The module will fail if RV(ignore:rc) is not zero.
|
||||
- The module fails if RV(ignore:rc) is not zero.
|
||||
attributes:
|
||||
check_mode:
|
||||
support: full
|
||||
|
||||
@@ -15,7 +15,7 @@ module: django_manage
|
||||
short_description: Manages a Django application
|
||||
description:
|
||||
- Manages a Django application using the C(manage.py) application frontend to C(django-admin). With the O(virtualenv) parameter,
|
||||
all management commands will be executed by the given C(virtualenv) installation.
|
||||
all management commands are executed by the given C(virtualenv) installation.
|
||||
extends_documentation_fragment:
|
||||
- community.general.attributes
|
||||
attributes:
|
||||
@@ -34,8 +34,8 @@ options:
|
||||
- V(loaddata) - Searches for and loads the contents of the named O(fixtures) into the database.
|
||||
- V(migrate) - Synchronizes the database state with models and migrations.
|
||||
- V(test) - Runs tests for all installed apps.
|
||||
- Other commands can be entered, but will fail if they are unknown to Django. Other commands that may prompt for user
|
||||
input should be run with the C(--noinput) flag.
|
||||
- Custom commands can be entered, but they fail unless they are known to Django. Custom commands that may prompt for
|
||||
user input should be run with the C(--noinput) flag.
|
||||
- Support for the values V(cleanup), V(syncdb), V(validate) was removed in community.general 9.0.0. See note about supported
|
||||
versions of Django.
|
||||
type: str
|
||||
@@ -62,7 +62,7 @@ options:
|
||||
virtualenv:
|
||||
description:
|
||||
- An optional path to a C(virtualenv) installation to use while running the manage application.
|
||||
- The virtual environment must exist, otherwise the module will fail.
|
||||
- The virtual environment must exist, otherwise the module fails.
|
||||
type: path
|
||||
aliases: [virtual_env]
|
||||
apps:
|
||||
@@ -78,7 +78,7 @@ options:
|
||||
clear:
|
||||
description:
|
||||
- Clear the existing files before trying to copy or link the original file.
|
||||
- Used only with the V(collectstatic) command. The C(--noinput) argument will be added automatically.
|
||||
- Used only with the V(collectstatic) command. The C(--noinput) argument is added automatically.
|
||||
required: false
|
||||
default: false
|
||||
type: bool
|
||||
@@ -101,18 +101,18 @@ options:
|
||||
required: false
|
||||
skip:
|
||||
description:
|
||||
- Will skip over out-of-order missing migrations, you can only use this parameter with V(migrate) command.
|
||||
- Skips over out-of-order missing migrations, you can only use this parameter with V(migrate) command.
|
||||
required: false
|
||||
type: bool
|
||||
merge:
|
||||
description:
|
||||
- Will run out-of-order or missing migrations as they are not rollback migrations, you can only use this parameter with
|
||||
- Runs out-of-order or missing migrations as they are not rollback migrations, you can only use this parameter with
|
||||
V(migrate) command.
|
||||
required: false
|
||||
type: bool
|
||||
link:
|
||||
description:
|
||||
- Will create links to the files instead of copying them, you can only use this parameter with V(collectstatic) command.
|
||||
- Creates links to the files instead of copying them, you can only use this parameter with V(collectstatic) command.
|
||||
required: false
|
||||
type: bool
|
||||
testrunner:
|
||||
@@ -134,7 +134,7 @@ notes:
|
||||
module allows for free-form commands, not verifying the version of Django being used, it is B(strongly recommended) to
|
||||
use a more recent version of the framework.'
|
||||
- Please notice that Django 4.1 requires Python 3.8 or greater.
|
||||
- This module will not create a virtualenv if the O(virtualenv) parameter is specified and a virtual environment does not
|
||||
- This module does not create a virtualenv if the O(virtualenv) parameter is specified and a virtual environment does not
|
||||
already exist at the given location. This behavior changed in community.general version 9.0.0.
|
||||
- The recommended way to create a virtual environment in Ansible is by using M(ansible.builtin.pip).
|
||||
- This module assumes English error messages for the V(createcachetable) command to detect table existence, unfortunately.
|
||||
|
||||
@@ -120,7 +120,7 @@ changed_repos:
|
||||
returned: success
|
||||
type: list
|
||||
elements: str
|
||||
sample: ['crb']
|
||||
sample: ["crb"]
|
||||
"""
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
@@ -22,9 +22,9 @@ attributes:
|
||||
support: partial
|
||||
details:
|
||||
- The logics of the C(versionlock) plugin for corner cases could be confusing, so please take in account that this module
|
||||
will do its best to give a C(check_mode) prediction on what is going to happen. In case of doubt, check the documentation
|
||||
does its best to give a C(check_mode) prediction on what is going to happen. In case of doubt, check the documentation
|
||||
of the plugin.
|
||||
- Sometimes the module could predict changes in C(check_mode) that will not be such because C(versionlock) concludes
|
||||
- Sometimes the module could predict changes in C(check_mode) that are not fulfilled because C(versionlock) concludes
|
||||
that there is already a entry in C(locklist) that already matches.
|
||||
diff_mode:
|
||||
support: none
|
||||
@@ -47,12 +47,12 @@ options:
|
||||
state:
|
||||
description:
|
||||
- Whether to add (V(present) or V(excluded)) to or remove (V(absent) or V(clean)) from the C(locklist).
|
||||
- V(present) will add a package name spec to the C(locklist). If there is a installed package that matches, then only
|
||||
that version will be added. Otherwise, all available package versions will be added.
|
||||
- V(excluded) will add a package name spec as excluded to the C(locklist). It means that packages represented by the
|
||||
package name spec will be excluded from transaction operations. All available package versions will be added.
|
||||
- V(absent) will delete entries in the C(locklist) that match the package name spec.
|
||||
- V(clean) will delete all entries in the C(locklist). This option is mutually exclusive with O(name).
|
||||
- V(present) adds a package name spec to the C(locklist). If there is a installed package that matches, then only that
|
||||
version is added. Otherwise, all available package versions are added.
|
||||
- V(excluded) adds a package name spec as excluded to the C(locklist). It means that packages represented by the package
|
||||
name spec are excluded from transaction operations. All available package versions are added.
|
||||
- V(absent) deletes entries in the C(locklist) that match the package name spec.
|
||||
- V(clean) deletes all entries in the C(locklist). This option is mutually exclusive with O(name).
|
||||
choices: ['absent', 'clean', 'excluded', 'present']
|
||||
type: str
|
||||
default: present
|
||||
@@ -83,12 +83,12 @@ EXAMPLES = r"""
|
||||
|
||||
- name: Remove lock from nginx to be updated again
|
||||
community.general.dnf_versionlock:
|
||||
package: nginx
|
||||
name: nginx
|
||||
state: absent
|
||||
|
||||
- name: Exclude bind 32:9.11 from installs or updates
|
||||
community.general.dnf_versionlock:
|
||||
package: bind-32:9.11*
|
||||
name: bind-32:9.11*
|
||||
state: excluded
|
||||
|
||||
- name: Keep bash package in major version 4
|
||||
@@ -108,25 +108,25 @@ locklist_pre:
|
||||
returned: success
|
||||
type: list
|
||||
elements: str
|
||||
sample: ['bash-0:4.4.20-1.el8_4.*', '!bind-32:9.11.26-4.el8_4.*']
|
||||
sample: ["bash-0:4.4.20-1.el8_4.*", "!bind-32:9.11.26-4.el8_4.*"]
|
||||
locklist_post:
|
||||
description: Locklist after module execution.
|
||||
returned: success and (not check mode or state is clean)
|
||||
type: list
|
||||
elements: str
|
||||
sample: ['bash-0:4.4.20-1.el8_4.*']
|
||||
sample: ["bash-0:4.4.20-1.el8_4.*"]
|
||||
specs_toadd:
|
||||
description: Package name specs meant to be added by versionlock.
|
||||
returned: success
|
||||
type: list
|
||||
elements: str
|
||||
sample: ['bash']
|
||||
sample: ["bash"]
|
||||
specs_todelete:
|
||||
description: Package name specs meant to be deleted by versionlock.
|
||||
returned: success
|
||||
type: list
|
||||
elements: str
|
||||
sample: ['bind']
|
||||
sample: ["bind"]
|
||||
"""
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
@@ -25,8 +25,8 @@ attributes:
|
||||
options:
|
||||
account_email:
|
||||
description:
|
||||
- Account email. If omitted, the environment variables E(DNSIMPLE_EMAIL) and E(DNSIMPLE_API_TOKEN) will be looked for.
|
||||
- 'If those variables are not found, a C(.dnsimple) file will be looked for, see: U(https://github.com/mikemaccana/dnsimple-python#getting-started).'
|
||||
- Account email. If omitted, the environment variables E(DNSIMPLE_EMAIL) and E(DNSIMPLE_API_TOKEN) are looked for.
|
||||
- 'If those variables are not found, a C(.dnsimple) file is looked for, see: U(https://github.com/mikemaccana/dnsimple-python#getting-started).'
|
||||
- C(.dnsimple) config files are only supported in dnsimple-python<2.0.0.
|
||||
type: str
|
||||
account_api_token:
|
||||
@@ -36,12 +36,12 @@ options:
|
||||
domain:
|
||||
description:
|
||||
- Domain to work with. Can be the domain name (for example V(mydomain.com)) or the numeric ID of the domain in DNSimple.
|
||||
- If omitted, a list of domains will be returned.
|
||||
- If domain is present but the domain does not exist, it will be created.
|
||||
- If omitted, a list of domains is returned.
|
||||
- If domain is present but the domain does not exist, it is created.
|
||||
type: str
|
||||
record:
|
||||
description:
|
||||
- Record to add, if blank a record for the domain will be created, supports the wildcard (*).
|
||||
- Record to add, if blank a record for the domain is created, supports the wildcard (*).
|
||||
type: str
|
||||
record_ids:
|
||||
description:
|
||||
|
||||
@@ -26,8 +26,8 @@ options:
|
||||
name:
|
||||
description:
|
||||
- The domain name to retrieve info from.
|
||||
- Will return all associated records for this domain if specified.
|
||||
- If not specified, will return all domains associated with the account ID.
|
||||
- Returns all associated records for this domain if specified.
|
||||
- If not specified, returns all domains associated with the account ID.
|
||||
type: str
|
||||
|
||||
account_id:
|
||||
@@ -43,7 +43,7 @@ options:
|
||||
record:
|
||||
description:
|
||||
- The record to find.
|
||||
- If specified, only this record will be returned instead of all records.
|
||||
- If specified, only this record is returned instead of all records.
|
||||
required: false
|
||||
type: str
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ options:
|
||||
|
||||
record_name:
|
||||
description:
|
||||
- Record name to get/create/delete/update. If record_name is not specified; all records for the domain will be returned
|
||||
- Record name to get/create/delete/update. If O(record_name) is not specified; all records for the domain are returned
|
||||
in "result" regardless of the state argument.
|
||||
type: str
|
||||
|
||||
@@ -64,8 +64,8 @@ options:
|
||||
description:
|
||||
- 'Record value. HTTPRED: <redirection URL>, MX: <priority> <target name>, NS: <name server>, PTR: <target name>, SRV:
|
||||
<priority> <weight> <port> <target name>, TXT: <text value>".'
|
||||
- If record_value is not specified; no changes will be made and the record will be returned in 'result' (in other words,
|
||||
this module can be used to fetch a record's current ID, type, and ttl).
|
||||
- If O(record_value) is not specified; no changes are made and the record is returned in RV(ignore:result) (in other
|
||||
words, this module can be used to fetch a record's current ID, type, and TTL).
|
||||
type: str
|
||||
|
||||
record_ttl:
|
||||
@@ -83,8 +83,8 @@ options:
|
||||
|
||||
validate_certs:
|
||||
description:
|
||||
- If V(false), SSL certificates will not be validated. This should only be used on personally controlled sites using
|
||||
self-signed certificates.
|
||||
- If V(false), SSL certificates are not validated. This should only be used on personally controlled sites using self-signed
|
||||
certificates.
|
||||
type: bool
|
||||
default: true
|
||||
|
||||
@@ -128,7 +128,7 @@ options:
|
||||
|
||||
contactList:
|
||||
description:
|
||||
- Name or ID of the contact list that the monitor will notify.
|
||||
- Name or ID of the contact list that the monitor notifies.
|
||||
- The default V('') means the Account Owner.
|
||||
type: str
|
||||
|
||||
@@ -195,7 +195,7 @@ notes:
|
||||
- Only A records can have a O(monitor) or O(failover).
|
||||
- To add failover, the O(failover), O(autoFailover), O(port), O(protocol), O(ip1), and O(ip2) options are required.
|
||||
- To add monitor, the O(monitor), O(port), O(protocol), O(maxEmails), O(systemDescription), and O(ip1) options are required.
|
||||
- The monitor and the failover will share O(port), O(protocol), and O(ip1) options.
|
||||
- The options O(monitor) and O(failover) share O(port), O(protocol), and O(ip1) options.
|
||||
requirements: [hashlib, hmac]
|
||||
author: "Brice Burgess (@briceburg)"
|
||||
"""
|
||||
|
||||
@@ -17,8 +17,8 @@ author:
|
||||
- quidame (@quidame)
|
||||
description:
|
||||
- A diversion is for C(dpkg) the knowledge that only a given package (or the local administrator) is allowed to install
|
||||
a file at a given location. Other packages shipping their own version of this file will be forced to O(divert) it, that
|
||||
is to install it at another location. It allows one to keep changes in a file provided by a debian package by preventing
|
||||
a file at a given location. Other packages shipping their own version of this file are forced to O(divert) it, that is
|
||||
to install it at another location. It allows one to keep changes in a file provided by a debian package by preventing
|
||||
it being overwritten on package upgrade.
|
||||
- This module manages diversions of debian packages files using the C(dpkg-divert) commandline tool. It can either create
|
||||
or remove a diversion for a given file, but also update an existing diversion to modify its O(holder) and/or its O(divert)
|
||||
@@ -54,7 +54,7 @@ options:
|
||||
type: str
|
||||
divert:
|
||||
description:
|
||||
- The location where the versions of file will be diverted.
|
||||
- The location where the versions of file are diverted.
|
||||
- Default is to add suffix C(.distrib) to the file path.
|
||||
- This parameter is ignored when O(state=absent).
|
||||
type: path
|
||||
@@ -70,7 +70,7 @@ options:
|
||||
force:
|
||||
description:
|
||||
- When O(rename=true) and O(force=true), renaming is performed even if the target of the renaming exists, in other words
|
||||
the existing contents of the file at this location will be lost.
|
||||
the existing contents of the file at this location are lost.
|
||||
- This parameter is ignored when O(rename=false).
|
||||
type: bool
|
||||
default: false
|
||||
|
||||
@@ -33,8 +33,8 @@ options:
|
||||
- An optional O(virtualenv) directory path to install into. If the O(virtualenv) does not exist, it is created automatically.
|
||||
virtualenv_site_packages:
|
||||
description:
|
||||
- Whether the virtual environment will inherit packages from the global site-packages directory. Note that if this setting
|
||||
is changed on an already existing virtual environment it will not have any effect, the environment must be deleted
|
||||
- Whether the virtual environment inherits packages from the global site-packages directory. Note that this setting
|
||||
has no effect on an already existing virtual environment, so if you want to change it, the environment must be deleted
|
||||
and newly created.
|
||||
type: bool
|
||||
default: false
|
||||
@@ -74,6 +74,12 @@ EXAMPLES = r"""
|
||||
community.general.easy_install:
|
||||
name: bottle
|
||||
virtualenv: /webapps/myapp/venv
|
||||
|
||||
- name: Install a python package using pyvenv as the virtualenv tool
|
||||
community.general.easy_install:
|
||||
name: package_name
|
||||
virtualenv: /opt/myenv
|
||||
virtualenv_command: pyvenv
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
@@ -66,7 +66,7 @@ options:
|
||||
type: bool
|
||||
plugin_bin:
|
||||
description:
|
||||
- Location of the plugin binary. If this file is not found, the default plugin binaries will be used.
|
||||
- Location of the plugin binary. If this file is not found, the default plugin binaries are used.
|
||||
type: path
|
||||
plugin_dir:
|
||||
description:
|
||||
@@ -83,7 +83,7 @@ options:
|
||||
type: str
|
||||
version:
|
||||
description:
|
||||
- Version of the plugin to be installed. If plugin exists with previous version, it will NOT be updated.
|
||||
- Version of the plugin to be installed. If plugin exists with previous version, it is NOT updated.
|
||||
type: str
|
||||
"""
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ EXAMPLES = r"""
|
||||
|
||||
RETURN = r"""
|
||||
hluid:
|
||||
description: LUNID that hosts attached to the storage group will see.
|
||||
description: LUNID visible to hosts attached to the storage group.
|
||||
type: int
|
||||
returned: success
|
||||
"""
|
||||
|
||||
@@ -64,10 +64,10 @@ options:
|
||||
description:
|
||||
- If V(true), if the block device and filesystem size differ, grow the filesystem into the space.
|
||||
- Supported for C(bcachefs), C(btrfs), C(ext2), C(ext3), C(ext4), C(ext4dev), C(f2fs), C(lvm), C(xfs), C(ufs) and C(vfat)
|
||||
filesystems. Attempts to resize other filesystem types will fail.
|
||||
- XFS Will only grow if mounted. Currently, the module is based on commands from C(util-linux) package to perform operations,
|
||||
filesystems. Attempts to resize other filesystem types fail.
|
||||
- XFS only grows if mounted. Currently, the module is based on commands from C(util-linux) package to perform operations,
|
||||
so resizing of XFS is not supported on FreeBSD systems.
|
||||
- VFAT will likely fail if C(fatresize < 1.04).
|
||||
- VFAT is likely to fail if C(fatresize < 1.04).
|
||||
- Mutually exclusive with O(uuid).
|
||||
type: bool
|
||||
default: false
|
||||
@@ -82,7 +82,7 @@ options:
|
||||
- See xfs_admin(8) (C(xfs)), tune2fs(8) (C(ext2), C(ext3), C(ext4), C(ext4dev)) for possible values.
|
||||
- For O(fstype=lvm) the value is ignored, it resets the PV UUID if set.
|
||||
- Supported for O(fstype) being one of C(bcachefs), C(ext2), C(ext3), C(ext4), C(ext4dev), C(lvm), or C(xfs).
|
||||
- This is B(not idempotent). Specifying this option will always result in a change.
|
||||
- This is B(not idempotent). Specifying this option always results in a change.
|
||||
- Mutually exclusive with O(resizefs).
|
||||
type: str
|
||||
version_added: 7.1.0
|
||||
|
||||
@@ -27,7 +27,7 @@ attributes:
|
||||
check_mode:
|
||||
support: partial
|
||||
details:
|
||||
- If O(state=latest), the module will always return C(changed=true).
|
||||
- If O(state=latest), the module always returns RV(ignore:changed=true).
|
||||
diff_mode:
|
||||
support: none
|
||||
options:
|
||||
@@ -53,7 +53,7 @@ options:
|
||||
- When supplying a reverse DNS name, you can use the O(remote) option to specify on what remote to look for the flatpak.
|
||||
An example for a reverse DNS name is C(org.gnome.gedit).
|
||||
- When used with O(state=absent) or O(state=latest), it is recommended to specify the name in the reverse DNS format.
|
||||
- When supplying a URL with O(state=absent) or O(state=latest), the module will try to match the installed flatpak based
|
||||
- When supplying a URL with O(state=absent) or O(state=latest), the module tries to match the installed flatpak based
|
||||
on the name of the flatpakref to remove or update it. However, there is no guarantee that the names of the flatpakref
|
||||
file and the reverse DNS name of the installed flatpak do match.
|
||||
type: list
|
||||
@@ -107,6 +107,12 @@ EXAMPLES = r"""
|
||||
state: present
|
||||
remote: gnome
|
||||
|
||||
- name: Install GIMP using custom flatpak binary path
|
||||
community.general.flatpak:
|
||||
name: org.gimp.GIMP
|
||||
state: present
|
||||
executable: /usr/local/bin/flatpak-dev
|
||||
|
||||
- name: Install multiple packages
|
||||
community.general.flatpak:
|
||||
name:
|
||||
@@ -165,26 +171,6 @@ command:
|
||||
returned: When a flatpak command has been executed
|
||||
type: str
|
||||
sample: "/usr/bin/flatpak install --user --nontinteractive flathub org.gnome.Calculator"
|
||||
msg:
|
||||
description: Module error message.
|
||||
returned: failure
|
||||
type: str
|
||||
sample: "Executable '/usr/local/bin/flatpak' was not found on the system."
|
||||
rc:
|
||||
description: Return code from flatpak binary.
|
||||
returned: When a flatpak command has been executed
|
||||
type: int
|
||||
sample: 0
|
||||
stderr:
|
||||
description: Error output from flatpak binary.
|
||||
returned: When a flatpak command has been executed
|
||||
type: str
|
||||
sample: "error: Error searching remote flathub: Can't find ref org.gnome.KDE"
|
||||
stdout:
|
||||
description: Output from flatpak binary.
|
||||
returned: When a flatpak command has been executed
|
||||
type: str
|
||||
sample: "org.gnome.Calendar/x86_64/stable\tcurrent\norg.gnome.gitg/x86_64/stable\tcurrent\n"
|
||||
"""
|
||||
|
||||
from ansible.module_utils.six.moves.urllib.parse import urlparse
|
||||
|
||||
@@ -17,7 +17,7 @@ description:
|
||||
- Allows users to add or remove flatpak remotes.
|
||||
- The flatpak remotes concept is comparable to what is called repositories in other packaging formats.
|
||||
- Currently, remote addition is only supported using C(flatpakrepo) file URLs.
|
||||
- Existing remotes will not be updated.
|
||||
- Existing remotes are not updated.
|
||||
- See the M(community.general.flatpak) module for managing flatpaks.
|
||||
author:
|
||||
- John Kwiatkoski (@JayKayy)
|
||||
@@ -56,8 +56,8 @@ options:
|
||||
name:
|
||||
description:
|
||||
- The desired name for the flatpak remote to be registered under on the managed host.
|
||||
- When used with O(state=present), the remote will be added to the managed host under the specified O(name).
|
||||
- When used with O(state=absent) the remote with that name will be removed.
|
||||
- When used with O(state=present), the remote is added to the managed host under the specified O(name).
|
||||
- When used with O(state=absent) the remote with that name is removed.
|
||||
type: str
|
||||
required: true
|
||||
state:
|
||||
@@ -112,26 +112,6 @@ command:
|
||||
returned: When a flatpak command has been executed
|
||||
type: str
|
||||
sample: "/usr/bin/flatpak remote-add --system flatpak-test https://dl.flathub.org/repo/flathub.flatpakrepo"
|
||||
msg:
|
||||
description: Module error message.
|
||||
returned: failure
|
||||
type: str
|
||||
sample: "Executable '/usr/local/bin/flatpak' was not found on the system."
|
||||
rc:
|
||||
description: Return code from flatpak binary.
|
||||
returned: When a flatpak command has been executed
|
||||
type: int
|
||||
sample: 0
|
||||
stderr:
|
||||
description: Error output from flatpak binary.
|
||||
returned: When a flatpak command has been executed
|
||||
type: str
|
||||
sample: "error: GPG verification enabled, but no summary found (check that the configured URL in remote config is correct)\n"
|
||||
stdout:
|
||||
description: Output from flatpak binary.
|
||||
returned: When a flatpak command has been executed
|
||||
type: str
|
||||
sample: "flathub\tFlathub\thttps://dl.flathub.org/repo/\t1\t\n"
|
||||
"""
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
@@ -48,7 +48,7 @@ options:
|
||||
repository:
|
||||
type: str
|
||||
description:
|
||||
- The repository from which the gem will be installed.
|
||||
- The repository from which the gem is installed.
|
||||
required: false
|
||||
aliases: [source]
|
||||
user_install:
|
||||
@@ -65,7 +65,7 @@ options:
|
||||
install_dir:
|
||||
type: path
|
||||
description:
|
||||
- Install the gems into a specific directory. These gems will be independent from the global installed ones. Specifying
|
||||
- Install the gems into a specific directory. These gems are independent from the global installed ones. Specifying
|
||||
this requires user_install to be false.
|
||||
required: false
|
||||
bindir:
|
||||
|
||||
@@ -26,12 +26,12 @@ attributes:
|
||||
options:
|
||||
mime_type:
|
||||
description:
|
||||
- MIME type for which a default handler will be set.
|
||||
- MIME type for which a default handler is set.
|
||||
type: str
|
||||
required: true
|
||||
handler:
|
||||
description:
|
||||
- Default handler will be set for the MIME type.
|
||||
- Default handler set for the MIME type.
|
||||
type: str
|
||||
required: true
|
||||
notes:
|
||||
@@ -61,18 +61,6 @@ handler:
|
||||
returned: success
|
||||
type: str
|
||||
sample: google-chrome.desktop
|
||||
stdout:
|
||||
description:
|
||||
- The output of the C(gio) command.
|
||||
returned: success
|
||||
type: str
|
||||
sample: Set google-chrome.desktop as the default for x-scheme-handler/https
|
||||
stderr:
|
||||
description:
|
||||
- The error output of the C(gio) command.
|
||||
returned: failure
|
||||
type: str
|
||||
sample: 'gio: Failed to load info for handler "never-existed.desktop"'
|
||||
version:
|
||||
description: Version of gio.
|
||||
type: str
|
||||
|
||||
@@ -26,7 +26,7 @@ options:
|
||||
name:
|
||||
description:
|
||||
- The name of the setting to read.
|
||||
- If not provided, all settings will be returned as RV(config_values).
|
||||
- If not provided, all settings are returned as RV(config_values).
|
||||
type: str
|
||||
path:
|
||||
description:
|
||||
@@ -94,8 +94,8 @@ config_values:
|
||||
description:
|
||||
- This is a dictionary mapping a git configuration setting to a list of its values.
|
||||
- When O(name) is not set, all configuration settings are returned here.
|
||||
- When O(name) is set, only the setting specified in O(name) is returned here. If that setting is not set, the key will
|
||||
still be present, and its value will be an empty list.
|
||||
- When O(name) is set, only the setting specified in O(name) is returned here. If that setting is not set, the key is
|
||||
still present, and its value is an empty list.
|
||||
returned: success
|
||||
type: dict
|
||||
sample:
|
||||
|
||||
@@ -57,8 +57,8 @@ options:
|
||||
type: str
|
||||
read_only:
|
||||
description:
|
||||
- If V(true), the deploy key will only be able to read repository contents. Otherwise, the deploy key will be able to
|
||||
read and write.
|
||||
- If V(true), the deploy key is only able to read repository contents. Otherwise, the deploy key is able to read and
|
||||
write.
|
||||
type: bool
|
||||
default: true
|
||||
state:
|
||||
|
||||
@@ -44,8 +44,8 @@ options:
|
||||
type: str
|
||||
force:
|
||||
description:
|
||||
- The default is V(true), which will replace the existing remote key if it is different than O(pubkey). If V(false),
|
||||
the key will only be set if no key with the given O(name) exists.
|
||||
- The default is V(true), which replaces the existing remote key if it is different than O(pubkey). If V(false), the
|
||||
key is only set if no key with the given O(name) exists.
|
||||
type: bool
|
||||
default: true
|
||||
|
||||
|
||||
@@ -182,13 +182,29 @@ def main():
|
||||
else:
|
||||
gh_obj = github3.GitHub()
|
||||
|
||||
# test if we're actually logged in
|
||||
if password or login_token:
|
||||
# GitHub's token formats:
|
||||
# - ghp_ - Personal access token (classic)
|
||||
# - github_pat_ - Fine-grained personal access token
|
||||
# - gho_ - OAuth access token
|
||||
# - ghu_ - User access token for a GitHub App
|
||||
# - ghs_ - Installation access token for a GitHub App
|
||||
# - ghr_ - Refresh token for a GitHub App
|
||||
#
|
||||
# References:
|
||||
# https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/about-authentication-to-github#githubs-token-formats
|
||||
#
|
||||
# Test if we're actually logged in, but skip this check for some token prefixes
|
||||
SKIPPED_TOKEN_PREFIXES = ['ghs_']
|
||||
if password or (login_token and not any(login_token.startswith(prefix) for prefix in SKIPPED_TOKEN_PREFIXES)):
|
||||
gh_obj.me()
|
||||
except github3.exceptions.AuthenticationFailed as e:
|
||||
module.fail_json(msg='Failed to connect to GitHub: %s' % to_native(e),
|
||||
details="Please check username and password or token "
|
||||
"for repository %s" % repo)
|
||||
except github3.exceptions.GitHubError as e:
|
||||
module.fail_json(msg='GitHub API error: %s' % to_native(e),
|
||||
details="Please check username and password or token "
|
||||
"for repository %s" % repo)
|
||||
|
||||
repository = gh_obj.repository(user, repo)
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ options:
|
||||
organization:
|
||||
description:
|
||||
- Organization for the repository.
|
||||
- When O(state=present), the repository will be created in the current user profile.
|
||||
- When O(state=present), the repository is created in the current user profile.
|
||||
type: str
|
||||
required: false
|
||||
api_url:
|
||||
|
||||
@@ -32,7 +32,7 @@ options:
|
||||
- repo
|
||||
url:
|
||||
description:
|
||||
- URL to which payloads will be delivered.
|
||||
- URL to which payloads are delivered.
|
||||
type: str
|
||||
required: true
|
||||
content_type:
|
||||
|
||||
@@ -55,8 +55,8 @@ options:
|
||||
default: false
|
||||
state:
|
||||
description:
|
||||
- When V(present) the deploy key added to the project if it does not exist.
|
||||
- When V(absent) it will be removed from the project if it exists.
|
||||
- When V(present) the deploy key is added to the project if it does not exist.
|
||||
- When V(absent) it is removed from the project if it exists.
|
||||
default: present
|
||||
type: str
|
||||
choices: ["present", "absent"]
|
||||
|
||||
@@ -13,8 +13,8 @@ DOCUMENTATION = r"""
|
||||
module: gitlab_group
|
||||
short_description: Creates/updates/deletes GitLab Groups
|
||||
description:
|
||||
- When the group does not exist in GitLab, it will be created.
|
||||
- When the group does exist and state=absent, the group will be deleted.
|
||||
- When the group does not exist in GitLab, it is created.
|
||||
- When the group does exist and O(state=absent), the group is deleted.
|
||||
author:
|
||||
- Werner Dijkerman (@dj-wasabi)
|
||||
- Guillaume Martinez (@Lunik)
|
||||
@@ -101,8 +101,8 @@ options:
|
||||
type: str
|
||||
path:
|
||||
description:
|
||||
- The path of the group you want to create, this will be api_url/group_path.
|
||||
- If not supplied, the group_name will be used.
|
||||
- The path of the group you want to create, this is O(api_url)/O(path).
|
||||
- If not supplied, O(name) is used.
|
||||
type: str
|
||||
prevent_forking_outside_group:
|
||||
description:
|
||||
@@ -129,7 +129,7 @@ options:
|
||||
service_access_tokens_expiration_enforced:
|
||||
description:
|
||||
- Service account token expiration.
|
||||
- Changes will not affect existing token expiration dates.
|
||||
- Changes do not affect existing token expiration dates.
|
||||
- Only available for top level groups.
|
||||
type: bool
|
||||
version_added: 9.5.0
|
||||
|
||||
@@ -28,7 +28,7 @@ extends_documentation_fragment:
|
||||
- community.general.attributes
|
||||
notes:
|
||||
- Access tokens can not be changed. If a parameter needs to be changed, an acceess token has to be recreated. Whether tokens
|
||||
will be recreated is controlled by the O(recreate) option, which defaults to V(never).
|
||||
are recreated or not is controlled by the O(recreate) option, which defaults to V(never).
|
||||
- Token string is contained in the result only when access token is created or recreated. It can not be fetched afterwards.
|
||||
- Token matching is done by comparing O(name) option.
|
||||
attributes:
|
||||
@@ -79,17 +79,17 @@ options:
|
||||
required: true
|
||||
recreate:
|
||||
description:
|
||||
- Whether the access token will be recreated if it already exists.
|
||||
- When V(never) the token will never be recreated.
|
||||
- When V(always) the token will always be recreated.
|
||||
- When V(state_change) the token will be recreated if there is a difference between desired state and actual state.
|
||||
- Whether the access token is recreated if it already exists.
|
||||
- When V(never) the token is never recreated.
|
||||
- When V(always) the token is always recreated.
|
||||
- When V(state_change) the token is recreated if there is a difference between desired state and actual state.
|
||||
type: str
|
||||
choices: ["never", "always", "state_change"]
|
||||
default: never
|
||||
state:
|
||||
description:
|
||||
- When V(present) the access token will be added to the group if it does not exist.
|
||||
- When V(absent) it will be removed from the group if it exists.
|
||||
- When V(present) the access token is added to the group if it does not exist.
|
||||
- When V(absent) it is removed from the group if it exists.
|
||||
default: present
|
||||
type: str
|
||||
choices: ["present", "absent"]
|
||||
|
||||
@@ -15,9 +15,9 @@ short_description: Creates, updates, or deletes GitLab groups variables
|
||||
version_added: 1.2.0
|
||||
description:
|
||||
- Creates a group variable if it does not exist.
|
||||
- When a group variable does exist, its value will be updated when the values are different.
|
||||
- When a group variable does exist, its value is updated when the values are different.
|
||||
- Variables which are untouched in the playbook, but are not untouched in the GitLab group, they stay untouched (O(purge=false))
|
||||
or will be deleted (O(purge=true)).
|
||||
or are deleted (O(purge=true)).
|
||||
author:
|
||||
- Florent Madiot (@scodeman)
|
||||
requirements:
|
||||
@@ -52,7 +52,7 @@ options:
|
||||
type: bool
|
||||
vars:
|
||||
description:
|
||||
- When the list element is a simple key-value pair, masked, raw and protected will be set to false.
|
||||
- When the list element is a simple key-value pair, masked, raw and protected are set to V(false).
|
||||
- When the list element is a dict with the keys C(value), C(masked), C(raw) and C(protected), the user can have full
|
||||
control about whether a value should be masked, raw, protected or both.
|
||||
- Support for group variables requires GitLab >= 9.5.
|
||||
@@ -185,22 +185,22 @@ group_variable:
|
||||
description: A list of variables which were created.
|
||||
returned: always
|
||||
type: list
|
||||
sample: ['ACCESS_KEY_ID', 'SECRET_ACCESS_KEY']
|
||||
sample: ["ACCESS_KEY_ID", "SECRET_ACCESS_KEY"]
|
||||
untouched:
|
||||
description: A list of variables which exist.
|
||||
returned: always
|
||||
type: list
|
||||
sample: ['ACCESS_KEY_ID', 'SECRET_ACCESS_KEY']
|
||||
sample: ["ACCESS_KEY_ID", "SECRET_ACCESS_KEY"]
|
||||
removed:
|
||||
description: A list of variables which were deleted.
|
||||
returned: always
|
||||
type: list
|
||||
sample: ['ACCESS_KEY_ID', 'SECRET_ACCESS_KEY']
|
||||
sample: ["ACCESS_KEY_ID", "SECRET_ACCESS_KEY"]
|
||||
updated:
|
||||
description: A list of variables whose values were changed.
|
||||
returned: always
|
||||
type: list
|
||||
sample: ['ACCESS_KEY_ID', 'SECRET_ACCESS_KEY']
|
||||
sample: ["ACCESS_KEY_ID", "SECRET_ACCESS_KEY"]
|
||||
"""
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
@@ -45,8 +45,8 @@ options:
|
||||
type: str
|
||||
state:
|
||||
description:
|
||||
- When V(present) the hook will be updated to match the input or created if it does not exist.
|
||||
- When V(absent) hook will be deleted if it exists.
|
||||
- When V(present) the hook is updated to match the input or created if it does not exist.
|
||||
- When V(absent) hook is deleted if it exists.
|
||||
default: present
|
||||
type: str
|
||||
choices: ["present", "absent"]
|
||||
@@ -103,15 +103,15 @@ options:
|
||||
version_added: '8.4.0'
|
||||
hook_validate_certs:
|
||||
description:
|
||||
- Whether GitLab will do SSL verification when triggering the hook.
|
||||
- Whether GitLab performs SSL verification when triggering the hook.
|
||||
type: bool
|
||||
default: false
|
||||
aliases: [enable_ssl_verification]
|
||||
token:
|
||||
description:
|
||||
- Secret token to validate hook messages at the receiver.
|
||||
- If this is present it will always result in a change as it cannot be retrieved from GitLab.
|
||||
- Will show up in the X-GitLab-Token HTTP request header.
|
||||
- If this is present it always results in a change as it cannot be retrieved from GitLab.
|
||||
- It shows up in the C(X-GitLab-Token) HTTP request header.
|
||||
required: false
|
||||
type: str
|
||||
"""
|
||||
|
||||
@@ -16,10 +16,10 @@ short_description: Creates, updates, or deletes GitLab instance variables
|
||||
version_added: 7.1.0
|
||||
description:
|
||||
- Creates a instance variable if it does not exist.
|
||||
- When a instance variable does exist, its value will be updated if the values are different.
|
||||
- When a instance variable does exist, its value is updated if the values are different.
|
||||
- Support for instance variables requires GitLab >= 13.0.
|
||||
- Variables which are not mentioned in the modules options, but are present on the GitLab instance, will either stay (O(purge=false))
|
||||
or will be deleted (O(purge=true)).
|
||||
- Variables which are not mentioned in the modules options, but are present on the GitLab instance, either stay (O(purge=false))
|
||||
or are deleted (O(purge=true)).
|
||||
author:
|
||||
- Benedikt Braunger (@benibr)
|
||||
requirements:
|
||||
@@ -124,22 +124,22 @@ instance_variable:
|
||||
description: A list of variables which were created.
|
||||
returned: always
|
||||
type: list
|
||||
sample: ['ACCESS_KEY_ID', 'SECRET_ACCESS_KEY']
|
||||
sample: ["ACCESS_KEY_ID", "SECRET_ACCESS_KEY"]
|
||||
untouched:
|
||||
description: A list of variables which exist.
|
||||
returned: always
|
||||
type: list
|
||||
sample: ['ACCESS_KEY_ID', 'SECRET_ACCESS_KEY']
|
||||
sample: ["ACCESS_KEY_ID", "SECRET_ACCESS_KEY"]
|
||||
removed:
|
||||
description: A list of variables which were deleted.
|
||||
returned: always
|
||||
type: list
|
||||
sample: ['ACCESS_KEY_ID', 'SECRET_ACCESS_KEY']
|
||||
sample: ["ACCESS_KEY_ID", "SECRET_ACCESS_KEY"]
|
||||
updated:
|
||||
description: A list pre-existing variables whose values have been set.
|
||||
returned: always
|
||||
type: list
|
||||
sample: ['ACCESS_KEY_ID', 'SECRET_ACCESS_KEY']
|
||||
sample: ["ACCESS_KEY_ID", "SECRET_ACCESS_KEY"]
|
||||
"""
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user