mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-01 19:02:49 +00:00
Compare commits
426 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2e0079cb3e | ||
|
|
4209c58ae1 | ||
|
|
e27851e2e3 | ||
|
|
ee4a4f3b49 | ||
|
|
50eb0a95de | ||
|
|
ba559d24cd | ||
|
|
c35d8b560c | ||
|
|
cbb29febd6 | ||
|
|
f24302f301 | ||
|
|
27cf237a86 | ||
|
|
6f518ba18b | ||
|
|
5d29270e23 | ||
|
|
920046beaf | ||
|
|
1592be779a | ||
|
|
e261332acf | ||
|
|
a406fb1e0c | ||
|
|
546eb77fd0 | ||
|
|
5c7b103936 | ||
|
|
91110f4933 | ||
|
|
7d7e099333 | ||
|
|
bee530b6cc | ||
|
|
34c4b1f367 | ||
|
|
f4af31b76b | ||
|
|
f583dbd2d3 | ||
|
|
be0d207f90 | ||
|
|
e968f89125 | ||
|
|
92466e0dbd | ||
|
|
ecf6f585ee | ||
|
|
6789f7939a | ||
|
|
94f23ee647 | ||
|
|
7dcbb1ade4 | ||
|
|
adca0d5d75 | ||
|
|
4699568996 | ||
|
|
41ba810463 | ||
|
|
a8f5926da3 | ||
|
|
3b24363383 | ||
|
|
7b0890c98f | ||
|
|
f986b97c9a | ||
|
|
396b94183d | ||
|
|
88b5e7ec0b | ||
|
|
bd1c1b257f | ||
|
|
211b520017 | ||
|
|
cae94f9d5e | ||
|
|
fc0981f3f1 | ||
|
|
d63658ea79 | ||
|
|
543792a68e | ||
|
|
1f518751a1 | ||
|
|
04162da6c9 | ||
|
|
b5a276dc77 | ||
|
|
ef0665843f | ||
|
|
c55585a0e2 | ||
|
|
c86d34f198 | ||
|
|
1eeff1556f | ||
|
|
75a69de909 | ||
|
|
1a35fb1d77 | ||
|
|
b4275969c1 | ||
|
|
41b5464942 | ||
|
|
7ee0389c98 | ||
|
|
816d4e8f49 | ||
|
|
07f854fff1 | ||
|
|
307a291b57 | ||
|
|
c4ebd482eb | ||
|
|
5cec31586f | ||
|
|
4bdd27de6a | ||
|
|
dd726d28ca | ||
|
|
e55df1c63e | ||
|
|
2a40169da5 | ||
|
|
131bf72d72 | ||
|
|
b49aeab5f5 | ||
|
|
91bfdbd7a0 | ||
|
|
f663fe73c1 | ||
|
|
703519197f | ||
|
|
fce8eac2a8 | ||
|
|
7531e97ddd | ||
|
|
7b83815835 | ||
|
|
70023f98f6 | ||
|
|
caa4e4feb4 | ||
|
|
714b24b01c | ||
|
|
5d5dd734e5 | ||
|
|
45d3708d31 | ||
|
|
5b7c759552 | ||
|
|
443d5a2a5f | ||
|
|
813030a5f2 | ||
|
|
ac398d8b2b | ||
|
|
f21f1cf461 | ||
|
|
b714bed0c1 | ||
|
|
3416a3c22a | ||
|
|
d4aeb322bb | ||
|
|
165da11731 | ||
|
|
88f7b5a675 | ||
|
|
ca3beb68de | ||
|
|
aa6b5e4a60 | ||
|
|
c740f89df3 | ||
|
|
9708561131 | ||
|
|
6558c9981f | ||
|
|
c949f3a834 | ||
|
|
9f3c86a589 | ||
|
|
febe7a2fb4 | ||
|
|
165182cdbf | ||
|
|
61a0dc4370 | ||
|
|
4e57240e9f | ||
|
|
ca388f064a | ||
|
|
fe224a6537 | ||
|
|
9c11230824 | ||
|
|
be1a905f6f | ||
|
|
57cfd1b46d | ||
|
|
737d37e019 | ||
|
|
3c20261264 | ||
|
|
d254372d37 | ||
|
|
fab717bb2d | ||
|
|
27a3d6d85d | ||
|
|
91376f7989 | ||
|
|
9a4e77384d | ||
|
|
f09b1e7f4c | ||
|
|
cb81abc636 | ||
|
|
c411e12555 | ||
|
|
24efe6b9db | ||
|
|
b4628e27b2 | ||
|
|
c58dda14c2 | ||
|
|
6e913a3b28 | ||
|
|
d4df585370 | ||
|
|
0a26b6d48d | ||
|
|
f0fcc91ac7 | ||
|
|
69d7f19c74 | ||
|
|
0edc3e820e | ||
|
|
6861450243 | ||
|
|
e49c6a339e | ||
|
|
486c47f922 | ||
|
|
c1b16d534f | ||
|
|
eab39ffc23 | ||
|
|
bc228d82be | ||
|
|
e7cc996470 | ||
|
|
3e338a1cca | ||
|
|
ad6ff9b0c5 | ||
|
|
0eb33c2839 | ||
|
|
114eb67f58 | ||
|
|
1f2c7b1731 | ||
|
|
f4dd4d5ace | ||
|
|
9b493d53a9 | ||
|
|
484f642c23 | ||
|
|
4171418e37 | ||
|
|
996fc8c18e | ||
|
|
ae5090d90e | ||
|
|
76dd465e08 | ||
|
|
fe798e22a6 | ||
|
|
6e0bc4f45c | ||
|
|
087c5a53d5 | ||
|
|
1aa94a5a1d | ||
|
|
2bac3bb8b2 | ||
|
|
0524d70805 | ||
|
|
91ecb8042d | ||
|
|
0cfd43be2c | ||
|
|
f8823211c7 | ||
|
|
59cb5b2d6f | ||
|
|
ee11847c7e | ||
|
|
67b921e4e6 | ||
|
|
86042b726a | ||
|
|
64e797d077 | ||
|
|
a35542d0d1 | ||
|
|
cb3ca05bd1 | ||
|
|
29a7d24d75 | ||
|
|
d7340945a4 | ||
|
|
f95b8ab9cd | ||
|
|
42bc2cb4d8 | ||
|
|
83994c0a2d | ||
|
|
bf780ea738 | ||
|
|
a5765143f1 | ||
|
|
86f9a657e7 | ||
|
|
6c5c05dfdc | ||
|
|
ea8720f572 | ||
|
|
14b19afc9a | ||
|
|
aa77a88f4b | ||
|
|
f93a1bf5ec | ||
|
|
28bdf1ed74 | ||
|
|
08f14f3eb0 | ||
|
|
37cddb8c02 | ||
|
|
a64e36820f | ||
|
|
7d19eca8bf | ||
|
|
cee5f31b70 | ||
|
|
c280b793de | ||
|
|
9bb768ae62 | ||
|
|
c9e11e5c0c | ||
|
|
33093e9f3e | ||
|
|
f3ea3e0da5 | ||
|
|
5e1e8d06ef | ||
|
|
05824a0754 | ||
|
|
f52dd194f9 | ||
|
|
be7f11bf39 | ||
|
|
997761878c | ||
|
|
59e58079cb | ||
|
|
cd706454ec | ||
|
|
81b16a88ee | ||
|
|
5ee687049f | ||
|
|
d4f272ba52 | ||
|
|
6fa833feed | ||
|
|
33ccabed13 | ||
|
|
e96552396e | ||
|
|
7059789f35 | ||
|
|
f3be0076af | ||
|
|
b1d94385ae | ||
|
|
ed8049a220 | ||
|
|
bbd68e26a2 | ||
|
|
9f67cbbe36 | ||
|
|
512bf4b77f | ||
|
|
f66cc7c933 | ||
|
|
3fb1ff0b72 | ||
|
|
bf8f2950b4 | ||
|
|
e8a7c27cab | ||
|
|
1dd86bcb55 | ||
|
|
b97bee3fd6 | ||
|
|
df34569fad | ||
|
|
e939cd07ef | ||
|
|
a49ad340af | ||
|
|
3862de3f15 | ||
|
|
1ddcdc63ff | ||
|
|
abcba9dbbe | ||
|
|
6b8a1cd8e6 | ||
|
|
6d003ca7fc | ||
|
|
6cf674485f | ||
|
|
11c7611ced | ||
|
|
627371e2d8 | ||
|
|
733e31c85f | ||
|
|
c077818c5d | ||
|
|
3d67f51824 | ||
|
|
2dee3464dd | ||
|
|
9a97bc7c11 | ||
|
|
c0cb7958cb | ||
|
|
345a69304a | ||
|
|
03084d1133 | ||
|
|
d209466985 | ||
|
|
38adbec483 | ||
|
|
681fad92c2 | ||
|
|
e8bdec2733 | ||
|
|
29f5033737 | ||
|
|
617be6e124 | ||
|
|
c8a2ac3a47 | ||
|
|
094dc6b69c | ||
|
|
810f3b50fc | ||
|
|
3db0fcf1bd | ||
|
|
b64929118e | ||
|
|
7d3e6d1bb7 | ||
|
|
1877ef1510 | ||
|
|
53f729730b | ||
|
|
f0529dcb0e | ||
|
|
682c6fc967 | ||
|
|
92544993c0 | ||
|
|
95b8afdea3 | ||
|
|
2c762c4753 | ||
|
|
de1f0ff419 | ||
|
|
b72b7d4936 | ||
|
|
0307fd12eb | ||
|
|
18a6bdd6aa | ||
|
|
3ec2fde2c6 | ||
|
|
3b97fad577 | ||
|
|
51394b55a0 | ||
|
|
673c79f6d9 | ||
|
|
5b9ee78610 | ||
|
|
1f1ae558f9 | ||
|
|
bad4b4b086 | ||
|
|
e944a67c18 | ||
|
|
cc3a79bc48 | ||
|
|
cc29b16536 | ||
|
|
50d7597ddc | ||
|
|
6bd131f2fb | ||
|
|
490899f87f | ||
|
|
c168f9c3be | ||
|
|
a7e8e95b50 | ||
|
|
e348d28559 | ||
|
|
5648e0e2af | ||
|
|
78297e44b7 | ||
|
|
cb7a970f6f | ||
|
|
7e3c73ceb2 | ||
|
|
867aee606e | ||
|
|
4b262e39f0 | ||
|
|
d03ae532ed | ||
|
|
b4a500103a | ||
|
|
0ef805699d | ||
|
|
9de145482b | ||
|
|
755a49692d | ||
|
|
ed79a68553 | ||
|
|
3186a944e9 | ||
|
|
1b2c2af9a8 | ||
|
|
71d74a7960 | ||
|
|
49e3da3646 | ||
|
|
33df7b61c0 | ||
|
|
24efe9ee9a | ||
|
|
4c4ef80ca9 | ||
|
|
cd0a414e9f | ||
|
|
c587c09df1 | ||
|
|
f0fd6aa97d | ||
|
|
68d0cac310 | ||
|
|
9f87989e7f | ||
|
|
2b8ac3c629 | ||
|
|
de193ac1bf | ||
|
|
b1d9507cd2 | ||
|
|
a64df658c5 | ||
|
|
868699dc5f | ||
|
|
84dbb286eb | ||
|
|
ea5cbe2553 | ||
|
|
31ff3f662d | ||
|
|
dcc3d4f508 | ||
|
|
393f2d6153 | ||
|
|
451c90251a | ||
|
|
3da24d50cd | ||
|
|
6c6de8fb90 | ||
|
|
8818a6f242 | ||
|
|
7b8b73f17f | ||
|
|
855cbd67ae | ||
|
|
fe520a6b09 | ||
|
|
f38bfaddf0 | ||
|
|
bf117c839c | ||
|
|
6781dd1918 | ||
|
|
0ca41dedce | ||
|
|
098912c229 | ||
|
|
59a9d34250 | ||
|
|
c4b18361b9 | ||
|
|
1430ed000c | ||
|
|
a35b2eda4c | ||
|
|
b92542dea2 | ||
|
|
4a40f99cd6 | ||
|
|
5ad703ac64 | ||
|
|
44172ddaa6 | ||
|
|
937dea6af3 | ||
|
|
f05f8bb49a | ||
|
|
756c0776d6 | ||
|
|
3985ade3fc | ||
|
|
6ec049734e | ||
|
|
08b0ea700d | ||
|
|
cc79c24c01 | ||
|
|
58eb495797 | ||
|
|
317f79ff1f | ||
|
|
b9ac2dcda5 | ||
|
|
682bb4b88a | ||
|
|
4caa6574de | ||
|
|
6fb212b104 | ||
|
|
3b73e7ed2a | ||
|
|
759ca9a0ab | ||
|
|
0ff003d312 | ||
|
|
9e3a729da9 | ||
|
|
2670215c8a | ||
|
|
e3f02cb161 | ||
|
|
fc2b1aac4a | ||
|
|
dc531b183d | ||
|
|
02431341b7 | ||
|
|
217a62aca2 | ||
|
|
4dc897d559 | ||
|
|
84ebda65f1 | ||
|
|
b49bf081f8 | ||
|
|
7c99c53c64 | ||
|
|
06d72dfed9 | ||
|
|
568e18809c | ||
|
|
2d4ce9f219 | ||
|
|
669d0925f7 | ||
|
|
eb1c1210d6 | ||
|
|
2ce3cf91b8 | ||
|
|
6383c82328 | ||
|
|
b3485b8fca | ||
|
|
28969c61ad | ||
|
|
2fc7baecf8 | ||
|
|
488e828f9b | ||
|
|
1f49241481 | ||
|
|
77fde030cd | ||
|
|
2b39470a77 | ||
|
|
fab73a1d1e | ||
|
|
25be366cc3 | ||
|
|
af53271c41 | ||
|
|
f95e0d775d | ||
|
|
c3bc172bf6 | ||
|
|
b5e58a3bcc | ||
|
|
471f523f53 | ||
|
|
50021d6bfb | ||
|
|
b52a7a6b0e | ||
|
|
b22638ba0c | ||
|
|
f0b3bba030 | ||
|
|
7ea544a624 | ||
|
|
fb2833d34d | ||
|
|
632fc07e65 | ||
|
|
be22ca0633 | ||
|
|
23aacc78e1 | ||
|
|
fd436bdbc2 | ||
|
|
da7cba4c12 | ||
|
|
03039a56c0 | ||
|
|
428e181440 | ||
|
|
b8545d10e6 | ||
|
|
f7fa54eed9 | ||
|
|
101c957631 | ||
|
|
53da86c1a5 | ||
|
|
1ca775248f | ||
|
|
3f80aa3c63 | ||
|
|
b1094d840f | ||
|
|
a3b748a15e | ||
|
|
911769d2f3 | ||
|
|
11e1423f60 | ||
|
|
79929830c4 | ||
|
|
5c1c8152ec | ||
|
|
3bf3d6bff4 | ||
|
|
f2a420ead5 | ||
|
|
c7481c5c96 | ||
|
|
83ff4429e8 | ||
|
|
52c28494ca | ||
|
|
8ad43fd774 | ||
|
|
0624951e17 | ||
|
|
5e5af458fb | ||
|
|
6a03108609 | ||
|
|
e87ca10b61 | ||
|
|
801e3d86ef | ||
|
|
270dc133b3 | ||
|
|
9874462abb | ||
|
|
6c7e9116e1 | ||
|
|
6a6bbb6577 | ||
|
|
60c8b9a67f | ||
|
|
672385309c | ||
|
|
27a4ffc293 | ||
|
|
bc0f99386b | ||
|
|
7610501c66 | ||
|
|
6b20572ea1 | ||
|
|
0e9cd5e6b6 | ||
|
|
f683d6a05d | ||
|
|
c604cc5ba9 | ||
|
|
eae33c20f6 | ||
|
|
97b584e261 | ||
|
|
621fb6a619 | ||
|
|
27827cbea4 | ||
|
|
858eaac500 | ||
|
|
df9c5d1d35 | ||
|
|
16cd2ae76e |
@@ -29,13 +29,14 @@ schedules:
|
|||||||
always: true
|
always: true
|
||||||
branches:
|
branches:
|
||||||
include:
|
include:
|
||||||
- stable-5
|
- stable-7
|
||||||
|
- stable-6
|
||||||
- cron: 0 11 * * 0
|
- cron: 0 11 * * 0
|
||||||
displayName: Weekly (old stable branches)
|
displayName: Weekly (old stable branches)
|
||||||
always: true
|
always: true
|
||||||
branches:
|
branches:
|
||||||
include:
|
include:
|
||||||
- stable-4
|
- stable-5
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
- name: checkoutPath
|
- name: checkoutPath
|
||||||
@@ -72,6 +73,19 @@ stages:
|
|||||||
- test: 3
|
- test: 3
|
||||||
- test: 4
|
- test: 4
|
||||||
- test: extra
|
- test: extra
|
||||||
|
- stage: Sanity_2_15
|
||||||
|
displayName: Sanity 2.15
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
nameFormat: Test {0}
|
||||||
|
testFormat: 2.15/sanity/{0}
|
||||||
|
targets:
|
||||||
|
- test: 1
|
||||||
|
- test: 2
|
||||||
|
- test: 3
|
||||||
|
- test: 4
|
||||||
- stage: Sanity_2_14
|
- stage: Sanity_2_14
|
||||||
displayName: Sanity 2.14
|
displayName: Sanity 2.14
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
@@ -98,32 +112,6 @@ stages:
|
|||||||
- test: 2
|
- test: 2
|
||||||
- test: 3
|
- test: 3
|
||||||
- test: 4
|
- test: 4
|
||||||
- stage: Sanity_2_12
|
|
||||||
displayName: Sanity 2.12
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
nameFormat: Test {0}
|
|
||||||
testFormat: 2.12/sanity/{0}
|
|
||||||
targets:
|
|
||||||
- test: 1
|
|
||||||
- test: 2
|
|
||||||
- test: 3
|
|
||||||
- test: 4
|
|
||||||
- stage: Sanity_2_11
|
|
||||||
displayName: Sanity 2.11
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
nameFormat: Test {0}
|
|
||||||
testFormat: 2.11/sanity/{0}
|
|
||||||
targets:
|
|
||||||
- test: 1
|
|
||||||
- test: 2
|
|
||||||
- test: 3
|
|
||||||
- test: 4
|
|
||||||
### Units
|
### Units
|
||||||
- stage: Units_devel
|
- stage: Units_devel
|
||||||
displayName: Units devel
|
displayName: Units devel
|
||||||
@@ -135,13 +123,23 @@ stages:
|
|||||||
testFormat: devel/units/{0}/1
|
testFormat: devel/units/{0}/1
|
||||||
targets:
|
targets:
|
||||||
- test: 2.7
|
- test: 2.7
|
||||||
- test: 3.5
|
|
||||||
- test: 3.6
|
- test: 3.6
|
||||||
- test: 3.7
|
- test: 3.7
|
||||||
- test: 3.8
|
- test: 3.8
|
||||||
- test: 3.9
|
- test: 3.9
|
||||||
- test: '3.10'
|
- test: '3.10'
|
||||||
- test: '3.11'
|
- test: '3.11'
|
||||||
|
- stage: Units_2_15
|
||||||
|
displayName: Units 2.15
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
nameFormat: Python {0}
|
||||||
|
testFormat: 2.15/units/{0}/1
|
||||||
|
targets:
|
||||||
|
- test: 3.5
|
||||||
|
- test: "3.10"
|
||||||
- stage: Units_2_14
|
- stage: Units_2_14
|
||||||
displayName: Units 2.14
|
displayName: Units 2.14
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
@@ -151,7 +149,6 @@ stages:
|
|||||||
nameFormat: Python {0}
|
nameFormat: Python {0}
|
||||||
testFormat: 2.14/units/{0}/1
|
testFormat: 2.14/units/{0}/1
|
||||||
targets:
|
targets:
|
||||||
- test: 2.7
|
|
||||||
- test: 3.9
|
- test: 3.9
|
||||||
- stage: Units_2_13
|
- stage: Units_2_13
|
||||||
displayName: Units 2.13
|
displayName: Units 2.13
|
||||||
@@ -164,30 +161,24 @@ stages:
|
|||||||
targets:
|
targets:
|
||||||
- test: 2.7
|
- test: 2.7
|
||||||
- test: 3.8
|
- test: 3.8
|
||||||
- stage: Units_2_12
|
|
||||||
displayName: Units 2.12
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
nameFormat: Python {0}
|
|
||||||
testFormat: 2.12/units/{0}/1
|
|
||||||
targets:
|
|
||||||
- test: 2.6
|
|
||||||
- test: 3.8
|
|
||||||
- stage: Units_2_11
|
|
||||||
displayName: Units 2.11
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
nameFormat: Python {0}
|
|
||||||
testFormat: 2.11/units/{0}/1
|
|
||||||
targets:
|
|
||||||
- test: 2.7
|
|
||||||
- test: 3.5
|
|
||||||
|
|
||||||
## Remote
|
## Remote
|
||||||
|
- stage: Remote_devel_extra_vms
|
||||||
|
displayName: Remote devel extra VMs
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
testFormat: devel/{0}
|
||||||
|
targets:
|
||||||
|
- name: Alpine 3.17
|
||||||
|
test: alpine/3.17
|
||||||
|
# - name: Fedora 37
|
||||||
|
# test: fedora/37
|
||||||
|
- name: Ubuntu 22.04
|
||||||
|
test: ubuntu/22.04
|
||||||
|
groups:
|
||||||
|
- vm
|
||||||
- stage: Remote_devel
|
- stage: Remote_devel
|
||||||
displayName: Remote devel
|
displayName: Remote devel
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
@@ -196,14 +187,34 @@ stages:
|
|||||||
parameters:
|
parameters:
|
||||||
testFormat: devel/{0}
|
testFormat: devel/{0}
|
||||||
targets:
|
targets:
|
||||||
- name: macOS 12.0
|
- name: macOS 13.2
|
||||||
test: macos/12.0
|
test: macos/13.2
|
||||||
|
- name: RHEL 9.2
|
||||||
|
test: rhel/9.2
|
||||||
|
- name: RHEL 8.8
|
||||||
|
test: rhel/8.8
|
||||||
|
- name: FreeBSD 13.2
|
||||||
|
test: freebsd/13.2
|
||||||
|
- name: FreeBSD 12.4
|
||||||
|
test: freebsd/12.4
|
||||||
|
groups:
|
||||||
|
- 1
|
||||||
|
- 2
|
||||||
|
- 3
|
||||||
|
- stage: Remote_2_15
|
||||||
|
displayName: Remote 2.15
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
testFormat: 2.15/{0}
|
||||||
|
targets:
|
||||||
|
- name: RHEL 9.1
|
||||||
|
test: rhel/9.1
|
||||||
|
- name: RHEL 8.7
|
||||||
|
test: rhel/8.7
|
||||||
- name: RHEL 7.9
|
- name: RHEL 7.9
|
||||||
test: rhel/7.9
|
test: rhel/7.9
|
||||||
- name: RHEL 9.0
|
|
||||||
test: rhel/9.0
|
|
||||||
- name: FreeBSD 12.3
|
|
||||||
test: freebsd/12.3
|
|
||||||
- name: FreeBSD 13.1
|
- name: FreeBSD 13.1
|
||||||
test: freebsd/13.1
|
test: freebsd/13.1
|
||||||
groups:
|
groups:
|
||||||
@@ -220,8 +231,8 @@ stages:
|
|||||||
targets:
|
targets:
|
||||||
- name: RHEL 9.0
|
- name: RHEL 9.0
|
||||||
test: rhel/9.0
|
test: rhel/9.0
|
||||||
- name: FreeBSD 13.1
|
- name: FreeBSD 12.3
|
||||||
test: freebsd/13.1
|
test: freebsd/12.3
|
||||||
groups:
|
groups:
|
||||||
- 1
|
- 1
|
||||||
- 2
|
- 2
|
||||||
@@ -238,44 +249,12 @@ stages:
|
|||||||
test: macos/12.0
|
test: macos/12.0
|
||||||
- name: RHEL 8.5
|
- name: RHEL 8.5
|
||||||
test: rhel/8.5
|
test: rhel/8.5
|
||||||
groups:
|
|
||||||
- 1
|
|
||||||
- 2
|
|
||||||
- 3
|
|
||||||
- stage: Remote_2_12
|
|
||||||
displayName: Remote 2.12
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
testFormat: 2.12/{0}
|
|
||||||
targets:
|
|
||||||
- name: macOS 11.1
|
|
||||||
test: macos/11.1
|
|
||||||
- name: RHEL 8.4
|
|
||||||
test: rhel/8.4
|
|
||||||
- name: FreeBSD 13.0
|
- name: FreeBSD 13.0
|
||||||
test: freebsd/13.0
|
test: freebsd/13.0
|
||||||
groups:
|
groups:
|
||||||
- 1
|
- 1
|
||||||
- 2
|
- 2
|
||||||
- 3
|
- 3
|
||||||
- stage: Remote_2_11
|
|
||||||
displayName: Remote 2.11
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
testFormat: 2.11/{0}
|
|
||||||
targets:
|
|
||||||
- name: RHEL 7.9
|
|
||||||
test: rhel/7.9
|
|
||||||
- name: RHEL 8.3
|
|
||||||
test: rhel/8.3
|
|
||||||
groups:
|
|
||||||
- 1
|
|
||||||
- 2
|
|
||||||
- 3
|
|
||||||
|
|
||||||
### Docker
|
### Docker
|
||||||
- stage: Docker_devel
|
- stage: Docker_devel
|
||||||
@@ -286,10 +265,8 @@ stages:
|
|||||||
parameters:
|
parameters:
|
||||||
testFormat: devel/linux/{0}
|
testFormat: devel/linux/{0}
|
||||||
targets:
|
targets:
|
||||||
- name: CentOS 7
|
- name: Fedora 37
|
||||||
test: centos7
|
test: fedora37
|
||||||
- name: Fedora 36
|
|
||||||
test: fedora36
|
|
||||||
- name: openSUSE 15
|
- name: openSUSE 15
|
||||||
test: opensuse15
|
test: opensuse15
|
||||||
- name: Ubuntu 20.04
|
- name: Ubuntu 20.04
|
||||||
@@ -302,6 +279,20 @@ stages:
|
|||||||
- 1
|
- 1
|
||||||
- 2
|
- 2
|
||||||
- 3
|
- 3
|
||||||
|
- stage: Docker_2_15
|
||||||
|
displayName: Docker 2.15
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
testFormat: 2.15/linux/{0}
|
||||||
|
targets:
|
||||||
|
- name: CentOS 7
|
||||||
|
test: centos7
|
||||||
|
groups:
|
||||||
|
- 1
|
||||||
|
- 2
|
||||||
|
- 3
|
||||||
- stage: Docker_2_14
|
- stage: Docker_2_14
|
||||||
displayName: Docker 2.14
|
displayName: Docker 2.14
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
@@ -310,8 +301,8 @@ stages:
|
|||||||
parameters:
|
parameters:
|
||||||
testFormat: 2.14/linux/{0}
|
testFormat: 2.14/linux/{0}
|
||||||
targets:
|
targets:
|
||||||
- name: Ubuntu 20.04
|
- name: Fedora 36
|
||||||
test: ubuntu2004
|
test: fedora36
|
||||||
groups:
|
groups:
|
||||||
- 1
|
- 1
|
||||||
- 2
|
- 2
|
||||||
@@ -334,42 +325,6 @@ stages:
|
|||||||
- 1
|
- 1
|
||||||
- 2
|
- 2
|
||||||
- 3
|
- 3
|
||||||
- stage: Docker_2_12
|
|
||||||
displayName: Docker 2.12
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
testFormat: 2.12/linux/{0}
|
|
||||||
targets:
|
|
||||||
- name: CentOS 6
|
|
||||||
test: centos6
|
|
||||||
- name: Fedora 34
|
|
||||||
test: fedora34
|
|
||||||
- name: Ubuntu 18.04
|
|
||||||
test: ubuntu1804
|
|
||||||
groups:
|
|
||||||
- 1
|
|
||||||
- 2
|
|
||||||
- 3
|
|
||||||
- stage: Docker_2_11
|
|
||||||
displayName: Docker 2.11
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
testFormat: 2.11/linux/{0}
|
|
||||||
targets:
|
|
||||||
- name: Fedora 32
|
|
||||||
test: fedora32
|
|
||||||
- name: Fedora 33
|
|
||||||
test: fedora33
|
|
||||||
- name: Alpine 3
|
|
||||||
test: alpine3
|
|
||||||
groups:
|
|
||||||
- 1
|
|
||||||
- 2
|
|
||||||
- 3
|
|
||||||
|
|
||||||
### Community Docker
|
### Community Docker
|
||||||
- stage: Docker_community_devel
|
- stage: Docker_community_devel
|
||||||
@@ -383,9 +338,9 @@ stages:
|
|||||||
- name: Debian Bullseye
|
- name: Debian Bullseye
|
||||||
test: debian-bullseye/3.9
|
test: debian-bullseye/3.9
|
||||||
- name: ArchLinux
|
- name: ArchLinux
|
||||||
test: archlinux/3.10
|
test: archlinux/3.11
|
||||||
- name: CentOS Stream 8
|
- name: CentOS Stream 8
|
||||||
test: centos-stream8/3.8
|
test: centos-stream8/3.9
|
||||||
groups:
|
groups:
|
||||||
- 1
|
- 1
|
||||||
- 2
|
- 2
|
||||||
@@ -403,6 +358,16 @@ stages:
|
|||||||
targets:
|
targets:
|
||||||
- test: 2.7
|
- test: 2.7
|
||||||
- test: '3.11'
|
- test: '3.11'
|
||||||
|
- stage: Generic_2_15
|
||||||
|
displayName: Generic 2.15
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
nameFormat: Python {0}
|
||||||
|
testFormat: 2.15/generic/{0}/1
|
||||||
|
targets:
|
||||||
|
- test: 3.9
|
||||||
- stage: Generic_2_14
|
- stage: Generic_2_14
|
||||||
displayName: Generic 2.14
|
displayName: Generic 2.14
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
@@ -423,56 +388,32 @@ stages:
|
|||||||
testFormat: 2.13/generic/{0}/1
|
testFormat: 2.13/generic/{0}/1
|
||||||
targets:
|
targets:
|
||||||
- test: 3.9
|
- test: 3.9
|
||||||
- stage: Generic_2_12
|
|
||||||
displayName: Generic 2.12
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
nameFormat: Python {0}
|
|
||||||
testFormat: 2.12/generic/{0}/1
|
|
||||||
targets:
|
|
||||||
- test: 3.8
|
|
||||||
- stage: Generic_2_11
|
|
||||||
displayName: Generic 2.11
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
nameFormat: Python {0}
|
|
||||||
testFormat: 2.11/generic/{0}/1
|
|
||||||
targets:
|
|
||||||
- test: 2.7
|
|
||||||
- test: 3.5
|
|
||||||
|
|
||||||
- stage: Summary
|
- stage: Summary
|
||||||
condition: succeededOrFailed()
|
condition: succeededOrFailed()
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- Sanity_devel
|
- Sanity_devel
|
||||||
- Sanity_2_11
|
|
||||||
- Sanity_2_12
|
|
||||||
- Sanity_2_13
|
- Sanity_2_13
|
||||||
- Sanity_2_14
|
- Sanity_2_14
|
||||||
|
- Sanity_2_15
|
||||||
- Units_devel
|
- Units_devel
|
||||||
- Units_2_11
|
|
||||||
- Units_2_12
|
|
||||||
- Units_2_13
|
- Units_2_13
|
||||||
- Units_2_14
|
- Units_2_14
|
||||||
|
- Units_2_15
|
||||||
|
- Remote_devel_extra_vms
|
||||||
- Remote_devel
|
- Remote_devel
|
||||||
- Remote_2_11
|
|
||||||
- Remote_2_12
|
|
||||||
- Remote_2_13
|
- Remote_2_13
|
||||||
- Remote_2_14
|
- Remote_2_14
|
||||||
|
- Remote_2_15
|
||||||
- Docker_devel
|
- Docker_devel
|
||||||
- Docker_2_11
|
|
||||||
- Docker_2_12
|
|
||||||
- Docker_2_13
|
- Docker_2_13
|
||||||
- Docker_2_14
|
- Docker_2_14
|
||||||
|
- Docker_2_15
|
||||||
- Docker_community_devel
|
- Docker_community_devel
|
||||||
- Generic_devel
|
# Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled.
|
||||||
- Generic_2_11
|
# - Generic_devel
|
||||||
- Generic_2_12
|
# - Generic_2_13
|
||||||
- Generic_2_13
|
# - Generic_2_14
|
||||||
- Generic_2_14
|
# - Generic_2_15
|
||||||
jobs:
|
jobs:
|
||||||
- template: templates/coverage.yml
|
- template: templates/coverage.yml
|
||||||
|
|||||||
88
.github/BOTMETA.yml
vendored
88
.github/BOTMETA.yml
vendored
@@ -241,6 +241,8 @@ files:
|
|||||||
$lookups/manifold.py:
|
$lookups/manifold.py:
|
||||||
labels: manifold
|
labels: manifold
|
||||||
maintainers: galanoff
|
maintainers: galanoff
|
||||||
|
$lookups/merge_variables.py:
|
||||||
|
maintainers: rlenferink m-a-r-k-e
|
||||||
$lookups/onepass:
|
$lookups/onepass:
|
||||||
labels: onepassword
|
labels: onepassword
|
||||||
maintainers: samdoran
|
maintainers: samdoran
|
||||||
@@ -265,6 +267,10 @@ files:
|
|||||||
maintainers: delineaKrehl tylerezimmerman
|
maintainers: delineaKrehl tylerezimmerman
|
||||||
$module_utils/:
|
$module_utils/:
|
||||||
labels: module_utils
|
labels: module_utils
|
||||||
|
$module_utils/btrfs.py:
|
||||||
|
maintainers: gnfzdz
|
||||||
|
$module_utils/deps.py:
|
||||||
|
maintainers: russoz
|
||||||
$module_utils/gconftool2.py:
|
$module_utils/gconftool2.py:
|
||||||
labels: gconftool2
|
labels: gconftool2
|
||||||
maintainers: russoz
|
maintainers: russoz
|
||||||
@@ -279,15 +285,19 @@ files:
|
|||||||
maintainers: $team_huawei
|
maintainers: $team_huawei
|
||||||
$module_utils/identity/keycloak/keycloak.py:
|
$module_utils/identity/keycloak/keycloak.py:
|
||||||
maintainers: $team_keycloak
|
maintainers: $team_keycloak
|
||||||
|
$module_utils/identity/keycloak/keycloak_clientsecret.py:
|
||||||
|
maintainers: $team_keycloak fynncfchen johncant
|
||||||
$module_utils/ipa.py:
|
$module_utils/ipa.py:
|
||||||
labels: ipa
|
labels: ipa
|
||||||
maintainers: $team_ipa
|
maintainers: $team_ipa
|
||||||
|
$module_utils/jenkins.py:
|
||||||
|
labels: jenkins
|
||||||
|
maintainers: russoz
|
||||||
$module_utils/manageiq.py:
|
$module_utils/manageiq.py:
|
||||||
labels: manageiq
|
labels: manageiq
|
||||||
maintainers: $team_manageiq
|
maintainers: $team_manageiq
|
||||||
$module_utils/memset.py:
|
$module_utils/memset.py:
|
||||||
labels: cloud memset
|
labels: cloud memset
|
||||||
maintainers: glitchcrab
|
|
||||||
$module_utils/mh/:
|
$module_utils/mh/:
|
||||||
labels: module_helper
|
labels: module_helper
|
||||||
maintainers: russoz
|
maintainers: russoz
|
||||||
@@ -302,6 +312,9 @@ files:
|
|||||||
$module_utils/pipx.py:
|
$module_utils/pipx.py:
|
||||||
labels: pipx
|
labels: pipx
|
||||||
maintainers: russoz
|
maintainers: russoz
|
||||||
|
$module_utils/puppet.py:
|
||||||
|
labels: puppet
|
||||||
|
maintainers: russoz
|
||||||
$module_utils/pure.py:
|
$module_utils/pure.py:
|
||||||
labels: pure pure_storage
|
labels: pure pure_storage
|
||||||
maintainers: $team_purestorage
|
maintainers: $team_purestorage
|
||||||
@@ -313,11 +326,16 @@ files:
|
|||||||
$module_utils/scaleway.py:
|
$module_utils/scaleway.py:
|
||||||
labels: cloud scaleway
|
labels: cloud scaleway
|
||||||
maintainers: $team_scaleway
|
maintainers: $team_scaleway
|
||||||
|
$module_utils/ssh.py:
|
||||||
|
maintainers: russoz
|
||||||
$module_utils/storage/hpe3par/hpe3par.py:
|
$module_utils/storage/hpe3par/hpe3par.py:
|
||||||
maintainers: farhan7500 gautamphegde
|
maintainers: farhan7500 gautamphegde
|
||||||
$module_utils/utm_utils.py:
|
$module_utils/utm_utils.py:
|
||||||
labels: utm_utils
|
labels: utm_utils
|
||||||
maintainers: $team_e_spirit
|
maintainers: $team_e_spirit
|
||||||
|
$module_utils/vardict.py:
|
||||||
|
labels: vardict
|
||||||
|
maintainers: russoz
|
||||||
$module_utils/wdc_redfish_utils.py:
|
$module_utils/wdc_redfish_utils.py:
|
||||||
labels: wdc_redfish_utils
|
labels: wdc_redfish_utils
|
||||||
maintainers: $team_wdc
|
maintainers: $team_wdc
|
||||||
@@ -382,6 +400,8 @@ files:
|
|||||||
maintainers: catcombo
|
maintainers: catcombo
|
||||||
$modules/bower.py:
|
$modules/bower.py:
|
||||||
maintainers: mwarkentin
|
maintainers: mwarkentin
|
||||||
|
$modules/btrfs_:
|
||||||
|
maintainers: gnfzdz
|
||||||
$modules/bundler.py:
|
$modules/bundler.py:
|
||||||
maintainers: thoiberg
|
maintainers: thoiberg
|
||||||
$modules/bzr.py:
|
$modules/bzr.py:
|
||||||
@@ -428,7 +448,7 @@ files:
|
|||||||
labels: datadog_event
|
labels: datadog_event
|
||||||
maintainers: n0ts
|
maintainers: n0ts
|
||||||
$modules/datadog_monitor.py:
|
$modules/datadog_monitor.py:
|
||||||
maintainers: skornehl
|
ignore: skornehl
|
||||||
$modules/dconf.py:
|
$modules/dconf.py:
|
||||||
maintainers: azaghal
|
maintainers: azaghal
|
||||||
$modules/deploy_helper.py:
|
$modules/deploy_helper.py:
|
||||||
@@ -512,8 +532,12 @@ files:
|
|||||||
notify: jlozadad
|
notify: jlozadad
|
||||||
$modules/gitlab_branch.py:
|
$modules/gitlab_branch.py:
|
||||||
maintainers: paytroff
|
maintainers: paytroff
|
||||||
|
$modules/gitlab_merge_request.py:
|
||||||
|
maintainers: zvaraondrej
|
||||||
$modules/gitlab_project_variable.py:
|
$modules/gitlab_project_variable.py:
|
||||||
maintainers: markuman
|
maintainers: markuman
|
||||||
|
$modules/gitlab_instance_variable.py:
|
||||||
|
maintainers: benibr
|
||||||
$modules/gitlab_runner.py:
|
$modules/gitlab_runner.py:
|
||||||
maintainers: SamyCoenen
|
maintainers: SamyCoenen
|
||||||
$modules/gitlab_user.py:
|
$modules/gitlab_user.py:
|
||||||
@@ -522,8 +546,6 @@ files:
|
|||||||
maintainers: zimbatm
|
maintainers: zimbatm
|
||||||
$modules/gunicorn.py:
|
$modules/gunicorn.py:
|
||||||
maintainers: agmezr
|
maintainers: agmezr
|
||||||
$modules/hana_query.py:
|
|
||||||
maintainers: rainerleber
|
|
||||||
$modules/haproxy.py:
|
$modules/haproxy.py:
|
||||||
maintainers: ravibhure Normo
|
maintainers: ravibhure Normo
|
||||||
$modules/heroku_collaborator.py:
|
$modules/heroku_collaborator.py:
|
||||||
@@ -576,7 +598,7 @@ files:
|
|||||||
ignore: jose-delarosa
|
ignore: jose-delarosa
|
||||||
maintainers: $team_redfish
|
maintainers: $team_redfish
|
||||||
$modules/ilo_:
|
$modules/ilo_:
|
||||||
ignore: jose-delarosa
|
ignore: jose-delarosa varini-hp
|
||||||
maintainers: $team_redfish
|
maintainers: $team_redfish
|
||||||
$modules/imc_rest.py:
|
$modules/imc_rest.py:
|
||||||
labels: cisco
|
labels: cisco
|
||||||
@@ -608,6 +630,8 @@ files:
|
|||||||
maintainers: bregman-arie
|
maintainers: bregman-arie
|
||||||
$modules/ipa_:
|
$modules/ipa_:
|
||||||
maintainers: $team_ipa
|
maintainers: $team_ipa
|
||||||
|
$modules/ipbase_info.py:
|
||||||
|
maintainers: dominikkukacka
|
||||||
$modules/ipa_pwpolicy.py:
|
$modules/ipa_pwpolicy.py:
|
||||||
maintainers: adralioh
|
maintainers: adralioh
|
||||||
$modules/ipa_service.py:
|
$modules/ipa_service.py:
|
||||||
@@ -655,16 +679,28 @@ files:
|
|||||||
ignore: DWSR
|
ignore: DWSR
|
||||||
labels: jira
|
labels: jira
|
||||||
maintainers: Slezhuk tarka pertoft
|
maintainers: Slezhuk tarka pertoft
|
||||||
|
$modules/kdeconfig.py:
|
||||||
|
maintainers: smeso
|
||||||
$modules/kernel_blacklist.py:
|
$modules/kernel_blacklist.py:
|
||||||
maintainers: matze
|
maintainers: matze
|
||||||
$modules/keycloak_:
|
$modules/keycloak_:
|
||||||
maintainers: $team_keycloak
|
maintainers: $team_keycloak
|
||||||
$modules/keycloak_authentication.py:
|
$modules/keycloak_authentication.py:
|
||||||
maintainers: elfelip Gaetan2907
|
maintainers: elfelip Gaetan2907
|
||||||
|
$modules/keycloak_authentication_required_actions.py:
|
||||||
|
maintainers: Skrekulko
|
||||||
|
$modules/keycloak_authz_authorization_scope.py:
|
||||||
|
maintainers: mattock
|
||||||
$modules/keycloak_client_rolemapping.py:
|
$modules/keycloak_client_rolemapping.py:
|
||||||
maintainers: Gaetan2907
|
maintainers: Gaetan2907
|
||||||
$modules/keycloak_clientscope.py:
|
$modules/keycloak_clientscope.py:
|
||||||
maintainers: Gaetan2907
|
maintainers: Gaetan2907
|
||||||
|
$modules/keycloak_clientscope_type.py:
|
||||||
|
maintainers: simonpahl
|
||||||
|
$modules/keycloak_clientsecret_info.py:
|
||||||
|
maintainers: fynncfchen johncant
|
||||||
|
$modules/keycloak_clientsecret_regenerate.py:
|
||||||
|
maintainers: fynncfchen johncant
|
||||||
$modules/keycloak_group.py:
|
$modules/keycloak_group.py:
|
||||||
maintainers: adamgoossens
|
maintainers: adamgoossens
|
||||||
$modules/keycloak_identity_provider.py:
|
$modules/keycloak_identity_provider.py:
|
||||||
@@ -675,6 +711,8 @@ files:
|
|||||||
maintainers: fynncfchen
|
maintainers: fynncfchen
|
||||||
$modules/keycloak_role.py:
|
$modules/keycloak_role.py:
|
||||||
maintainers: laurpaum
|
maintainers: laurpaum
|
||||||
|
$modules/keycloak_user.py:
|
||||||
|
maintainers: elfelip
|
||||||
$modules/keycloak_user_federation.py:
|
$modules/keycloak_user_federation.py:
|
||||||
maintainers: laurpaum
|
maintainers: laurpaum
|
||||||
$modules/keycloak_user_rolemapping.py:
|
$modules/keycloak_user_rolemapping.py:
|
||||||
@@ -721,6 +759,8 @@ files:
|
|||||||
maintainers: nerzhul
|
maintainers: nerzhul
|
||||||
$modules/lvg.py:
|
$modules/lvg.py:
|
||||||
maintainers: abulimov
|
maintainers: abulimov
|
||||||
|
$modules/lvg_rename.py:
|
||||||
|
maintainers: lszomor
|
||||||
$modules/lvol.py:
|
$modules/lvol.py:
|
||||||
maintainers: abulimov jhoekx zigaSRC unkaputtbar112
|
maintainers: abulimov jhoekx zigaSRC unkaputtbar112
|
||||||
$modules/lxc_container.py:
|
$modules/lxc_container.py:
|
||||||
@@ -769,7 +809,7 @@ files:
|
|||||||
labels: maven_artifact
|
labels: maven_artifact
|
||||||
maintainers: tumbl3w33d turb
|
maintainers: tumbl3w33d turb
|
||||||
$modules/memset_:
|
$modules/memset_:
|
||||||
maintainers: glitchcrab
|
ignore: glitchcrab
|
||||||
$modules/mksysb.py:
|
$modules/mksysb.py:
|
||||||
labels: aix mksysb
|
labels: aix mksysb
|
||||||
maintainers: $team_aix
|
maintainers: $team_aix
|
||||||
@@ -814,6 +854,10 @@ files:
|
|||||||
maintainers: shane-walker xcambar
|
maintainers: shane-walker xcambar
|
||||||
$modules/nsupdate.py:
|
$modules/nsupdate.py:
|
||||||
maintainers: nerzhul
|
maintainers: nerzhul
|
||||||
|
$modules/ocapi_command.py:
|
||||||
|
maintainers: $team_wdc
|
||||||
|
$modules/ocapi_info.py:
|
||||||
|
maintainers: $team_wdc
|
||||||
$modules/oci_vcn.py:
|
$modules/oci_vcn.py:
|
||||||
maintainers: $team_oracle rohitChaware
|
maintainers: $team_oracle rohitChaware
|
||||||
$modules/odbc.py:
|
$modules/odbc.py:
|
||||||
@@ -822,7 +866,8 @@ files:
|
|||||||
maintainers: marc-sensenich
|
maintainers: marc-sensenich
|
||||||
$modules/ohai.py:
|
$modules/ohai.py:
|
||||||
labels: ohai
|
labels: ohai
|
||||||
maintainers: $team_ansible_core mpdehaan
|
maintainers: $team_ansible_core
|
||||||
|
ignore: mpdehaan
|
||||||
$modules/omapi_host.py:
|
$modules/omapi_host.py:
|
||||||
maintainers: amasolov nerzhul
|
maintainers: amasolov nerzhul
|
||||||
$modules/one_:
|
$modules/one_:
|
||||||
@@ -897,7 +942,7 @@ files:
|
|||||||
$modules/pamd.py:
|
$modules/pamd.py:
|
||||||
maintainers: kevensen
|
maintainers: kevensen
|
||||||
$modules/parted.py:
|
$modules/parted.py:
|
||||||
maintainers: ColOfAbRiX rosowiecki jake2184
|
maintainers: ColOfAbRiX jake2184
|
||||||
$modules/pear.py:
|
$modules/pear.py:
|
||||||
ignore: jle64
|
ignore: jle64
|
||||||
labels: pear
|
labels: pear
|
||||||
@@ -944,7 +989,7 @@ files:
|
|||||||
$modules/proxmox:
|
$modules/proxmox:
|
||||||
keywords: kvm libvirt proxmox qemu
|
keywords: kvm libvirt proxmox qemu
|
||||||
labels: proxmox virt
|
labels: proxmox virt
|
||||||
maintainers: $team_virt
|
maintainers: $team_virt UnderGreen
|
||||||
$modules/proxmox.py:
|
$modules/proxmox.py:
|
||||||
ignore: skvidal
|
ignore: skvidal
|
||||||
maintainers: UnderGreen
|
maintainers: UnderGreen
|
||||||
@@ -966,7 +1011,7 @@ files:
|
|||||||
maintainers: sysadmind
|
maintainers: sysadmind
|
||||||
$modules/puppet.py:
|
$modules/puppet.py:
|
||||||
labels: puppet
|
labels: puppet
|
||||||
maintainers: nibalizer emonty
|
maintainers: emonty
|
||||||
$modules/pushbullet.py:
|
$modules/pushbullet.py:
|
||||||
maintainers: willybarro
|
maintainers: willybarro
|
||||||
$modules/pushover.py:
|
$modules/pushover.py:
|
||||||
@@ -1018,10 +1063,11 @@ files:
|
|||||||
maintainers: dagwieers
|
maintainers: dagwieers
|
||||||
$modules/redfish_:
|
$modules/redfish_:
|
||||||
ignore: jose-delarosa
|
ignore: jose-delarosa
|
||||||
maintainers: $team_redfish
|
maintainers: $team_redfish TSKushal
|
||||||
$modules/redhat_subscription.py:
|
$modules/redhat_subscription.py:
|
||||||
labels: redhat_subscription
|
labels: redhat_subscription
|
||||||
maintainers: barnabycourt alikins kahowell
|
maintainers: $team_rhsm
|
||||||
|
ignore: barnabycourt alikins kahowell
|
||||||
$modules/redis.py:
|
$modules/redis.py:
|
||||||
maintainers: slok
|
maintainers: slok
|
||||||
$modules/redis_data.py:
|
$modules/redis_data.py:
|
||||||
@@ -1044,9 +1090,9 @@ files:
|
|||||||
labels: rhn_register
|
labels: rhn_register
|
||||||
maintainers: jlaska $team_rhn
|
maintainers: jlaska $team_rhn
|
||||||
$modules/rhsm_release.py:
|
$modules/rhsm_release.py:
|
||||||
maintainers: seandst
|
maintainers: seandst $team_rhsm
|
||||||
$modules/rhsm_repository.py:
|
$modules/rhsm_repository.py:
|
||||||
maintainers: giovannisciortino
|
maintainers: giovannisciortino $team_rhsm
|
||||||
$modules/riak.py:
|
$modules/riak.py:
|
||||||
maintainers: drewkerrigan jsmartin
|
maintainers: drewkerrigan jsmartin
|
||||||
$modules/rocketchat.py:
|
$modules/rocketchat.py:
|
||||||
@@ -1067,12 +1113,9 @@ files:
|
|||||||
maintainers: nerzhul
|
maintainers: nerzhul
|
||||||
$modules/runit.py:
|
$modules/runit.py:
|
||||||
maintainers: jsumners
|
maintainers: jsumners
|
||||||
$modules/sap_task_list_execute:
|
|
||||||
maintainers: rainerleber
|
|
||||||
$modules/sapcar_extract.py:
|
|
||||||
maintainers: RainerLeber
|
|
||||||
$modules/say.py:
|
$modules/say.py:
|
||||||
maintainers: $team_ansible_core mpdehaan
|
maintainers: $team_ansible_core
|
||||||
|
ignore: mpdehaan
|
||||||
$modules/scaleway_:
|
$modules/scaleway_:
|
||||||
maintainers: $team_scaleway
|
maintainers: $team_scaleway
|
||||||
$modules/scaleway_compute_private_network.py:
|
$modules/scaleway_compute_private_network.py:
|
||||||
@@ -1298,7 +1341,7 @@ files:
|
|||||||
labels: m:xml xml
|
labels: m:xml xml
|
||||||
maintainers: dagwieers magnus919 tbielawa cmprescott sm4rk0
|
maintainers: dagwieers magnus919 tbielawa cmprescott sm4rk0
|
||||||
$modules/yarn.py:
|
$modules/yarn.py:
|
||||||
maintainers: chrishoffman verkaufer
|
ignore: chrishoffman verkaufer
|
||||||
$modules/yum_versionlock.py:
|
$modules/yum_versionlock.py:
|
||||||
maintainers: gyptazy aminvakil
|
maintainers: gyptazy aminvakil
|
||||||
$modules/zfs:
|
$modules/zfs:
|
||||||
@@ -1364,7 +1407,7 @@ macros:
|
|||||||
team_huawei: QijunPan TommyLike edisonxiang freesky-edward hwDCN niuzhenguo xuxiaowei0512 yanzhangi zengchen1024 zhongjun2
|
team_huawei: QijunPan TommyLike edisonxiang freesky-edward hwDCN niuzhenguo xuxiaowei0512 yanzhangi zengchen1024 zhongjun2
|
||||||
team_ipa: Akasurde Nosmoht fxfitz justchris1
|
team_ipa: Akasurde Nosmoht fxfitz justchris1
|
||||||
team_jboss: Wolfant jairojunior wbrefvem
|
team_jboss: Wolfant jairojunior wbrefvem
|
||||||
team_keycloak: eikef ndclt
|
team_keycloak: eikef ndclt mattock
|
||||||
team_linode: InTheCloudDan decentral1se displague rmcintosh Charliekenney23 LBGarber
|
team_linode: InTheCloudDan decentral1se displague rmcintosh Charliekenney23 LBGarber
|
||||||
team_macos: Akasurde kyleabenson martinm82 danieljaouen indrajitr
|
team_macos: Akasurde kyleabenson martinm82 danieljaouen indrajitr
|
||||||
team_manageiq: abellotti cben gtanzillo yaacov zgalor dkorn evertmulder
|
team_manageiq: abellotti cben gtanzillo yaacov zgalor dkorn evertmulder
|
||||||
@@ -1372,8 +1415,9 @@ macros:
|
|||||||
team_opennebula: ilicmilan meerkampdvv rsmontero xorel nilsding
|
team_opennebula: ilicmilan meerkampdvv rsmontero xorel nilsding
|
||||||
team_oracle: manojmeda mross22 nalsaber
|
team_oracle: manojmeda mross22 nalsaber
|
||||||
team_purestorage: bannaych dnix101 genegr lionmax opslounge raekins sdodsley sile16
|
team_purestorage: bannaych dnix101 genegr lionmax opslounge raekins sdodsley sile16
|
||||||
team_redfish: mraineri tomasg2012 xmadsen renxulei rajeevkallur bhavya06
|
team_redfish: mraineri tomasg2012 xmadsen renxulei rajeevkallur bhavya06 jyundt
|
||||||
team_rhn: FlossWare alikins barnabycourt vritant
|
team_rhn: FlossWare alikins barnabycourt vritant
|
||||||
|
team_rhsm: cnsnyder ptoscano
|
||||||
team_scaleway: remyleone abarbare
|
team_scaleway: remyleone abarbare
|
||||||
team_solaris: bcoca fishman jasperla jpdasma mator scathatheworm troy2914 xen0l
|
team_solaris: bcoca fishman jasperla jpdasma mator scathatheworm troy2914 xen0l
|
||||||
team_suse: commel evrardjp lrupp toabctl AnderEnder alxgu andytom sealor
|
team_suse: commel evrardjp lrupp toabctl AnderEnder alxgu andytom sealor
|
||||||
|
|||||||
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -47,7 +47,7 @@ body:
|
|||||||
label: Component Name
|
label: Component Name
|
||||||
description: >-
|
description: >-
|
||||||
Write the short name of the module, plugin, task or feature below,
|
Write the short name of the module, plugin, task or feature below,
|
||||||
*use your best guess if unsure*.
|
*use your best guess if unsure*. Do not include `community.general.`!
|
||||||
placeholder: dnf, apt, yum, pip, user etc.
|
placeholder: dnf, apt, yum, pip, user etc.
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|||||||
@@ -46,8 +46,8 @@ body:
|
|||||||
attributes:
|
attributes:
|
||||||
label: Component Name
|
label: Component Name
|
||||||
description: >-
|
description: >-
|
||||||
Write the short name of the rst file, module, plugin, task or
|
Write the short name of the file, module, plugin, task or feature below,
|
||||||
feature below, *use your best guess if unsure*.
|
*use your best guess if unsure*. Do not include `community.general.`!
|
||||||
placeholder: mysql_user
|
placeholder: mysql_user
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|||||||
4
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
4
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
@@ -42,8 +42,8 @@ body:
|
|||||||
attributes:
|
attributes:
|
||||||
label: Component Name
|
label: Component Name
|
||||||
description: >-
|
description: >-
|
||||||
Write the short name of the module, plugin, task or feature below,
|
Write the short name of the module or plugin, or which other part(s) of the collection this feature affects.
|
||||||
*use your best guess if unsure*.
|
*use your best guess if unsure*. Do not include `community.general.`!
|
||||||
placeholder: dnf, apt, yum, pip, user etc.
|
placeholder: dnf, apt, yum, pip, user etc.
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|||||||
32
.github/pull_request_template.md
vendored
Normal file
32
.github/pull_request_template.md
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
##### SUMMARY
|
||||||
|
<!--- Describe the change below, including rationale and design decisions -->
|
||||||
|
|
||||||
|
<!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
|
||||||
|
|
||||||
|
<!--- Please do not forget to include a changelog fragment:
|
||||||
|
https://docs.ansible.com/ansible/devel/community/collection_development_process.html#creating-changelog-fragments
|
||||||
|
No need to include one for docs-only or test-only PR, and for new plugin/module PRs.
|
||||||
|
Read about more details in CONTRIBUTING.md.
|
||||||
|
-->
|
||||||
|
|
||||||
|
##### ISSUE TYPE
|
||||||
|
<!--- Pick one or more below and delete the rest.
|
||||||
|
'Test Pull Request' is for PRs that add/extend tests without code changes. -->
|
||||||
|
- Bugfix Pull Request
|
||||||
|
- Docs Pull Request
|
||||||
|
- Feature Pull Request
|
||||||
|
- New Module/Plugin Pull Request
|
||||||
|
- Refactoring Pull Request
|
||||||
|
- Test Pull Request
|
||||||
|
|
||||||
|
##### COMPONENT NAME
|
||||||
|
<!--- Write the SHORT NAME of the module, plugin, task or feature below. -->
|
||||||
|
|
||||||
|
##### ADDITIONAL INFORMATION
|
||||||
|
<!--- Include additional information to help people understand the change here -->
|
||||||
|
<!--- A step-by-step reproduction of the problem is helpful if there is no related issue -->
|
||||||
|
|
||||||
|
<!--- Paste verbatim command output below, e.g. before and after your change -->
|
||||||
|
```paste below
|
||||||
|
|
||||||
|
```
|
||||||
3
.github/pull_request_template.md.license
vendored
Normal file
3
.github/pull_request_template.md.license
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
Copyright (c) Ansible Project
|
||||||
|
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
240
.github/workflows/ansible-test.yml
vendored
Normal file
240
.github/workflows/ansible-test.yml
vendored
Normal file
@@ -0,0 +1,240 @@
|
|||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
# For the comprehensive list of the inputs supported by the ansible-community/ansible-test-gh-action GitHub Action, see
|
||||||
|
# https://github.com/marketplace/actions/ansible-test
|
||||||
|
|
||||||
|
name: EOL CI
|
||||||
|
on:
|
||||||
|
# Run EOL CI against all pushes (direct commits, also merged PRs), Pull Requests
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- stable-*
|
||||||
|
pull_request:
|
||||||
|
# Run EOL CI once per day (at 10:00 UTC)
|
||||||
|
schedule:
|
||||||
|
- cron: '0 10 * * *'
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
# Make sure there is at most one active run per PR, but do not cancel any non-PR runs
|
||||||
|
group: ${{ github.workflow }}-${{ (github.head_ref && github.event.number) || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
sanity:
|
||||||
|
name: EOL Sanity (Ⓐ${{ matrix.ansible }})
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
ansible:
|
||||||
|
- '2.11'
|
||||||
|
- '2.12'
|
||||||
|
# Ansible-test on various stable branches does not yet work well with cgroups v2.
|
||||||
|
# Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04
|
||||||
|
# image for these stable branches. The list of branches where this is necessary will
|
||||||
|
# shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28
|
||||||
|
# for the latest list.
|
||||||
|
runs-on: >-
|
||||||
|
${{ contains(fromJson(
|
||||||
|
'["2.9", "2.10", "2.11"]'
|
||||||
|
), matrix.ansible) && 'ubuntu-20.04' || 'ubuntu-latest' }}
|
||||||
|
steps:
|
||||||
|
- name: Perform sanity testing
|
||||||
|
uses: felixfontein/ansible-test-gh-action@main
|
||||||
|
with:
|
||||||
|
ansible-core-github-repository-slug: ${{ contains(fromJson('["2.10", "2.11"]'), matrix.ansible) && 'felixfontein/ansible' || 'ansible/ansible' }}
|
||||||
|
ansible-core-version: stable-${{ matrix.ansible }}
|
||||||
|
coverage: ${{ github.event_name == 'schedule' && 'always' || 'never' }}
|
||||||
|
pull-request-change-detection: 'true'
|
||||||
|
testing-type: sanity
|
||||||
|
|
||||||
|
units:
|
||||||
|
# Ansible-test on various stable branches does not yet work well with cgroups v2.
|
||||||
|
# Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04
|
||||||
|
# image for these stable branches. The list of branches where this is necessary will
|
||||||
|
# shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28
|
||||||
|
# for the latest list.
|
||||||
|
runs-on: >-
|
||||||
|
${{ contains(fromJson(
|
||||||
|
'["2.9", "2.10", "2.11"]'
|
||||||
|
), matrix.ansible) && 'ubuntu-20.04' || 'ubuntu-latest' }}
|
||||||
|
name: EOL Units (Ⓐ${{ matrix.ansible }}+py${{ matrix.python }})
|
||||||
|
strategy:
|
||||||
|
# As soon as the first unit test fails, cancel the others to free up the CI queue
|
||||||
|
fail-fast: true
|
||||||
|
matrix:
|
||||||
|
ansible:
|
||||||
|
- ''
|
||||||
|
python:
|
||||||
|
- ''
|
||||||
|
exclude:
|
||||||
|
- ansible: ''
|
||||||
|
include:
|
||||||
|
- ansible: '2.11'
|
||||||
|
python: '2.7'
|
||||||
|
- ansible: '2.11'
|
||||||
|
python: '3.5'
|
||||||
|
- ansible: '2.12'
|
||||||
|
python: '2.6'
|
||||||
|
- ansible: '2.12'
|
||||||
|
python: '3.8'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: >-
|
||||||
|
Perform unit testing against
|
||||||
|
Ansible version ${{ matrix.ansible }}
|
||||||
|
uses: felixfontein/ansible-test-gh-action@main
|
||||||
|
with:
|
||||||
|
ansible-core-github-repository-slug: ${{ contains(fromJson('["2.10", "2.11"]'), matrix.ansible) && 'felixfontein/ansible' || 'ansible/ansible' }}
|
||||||
|
ansible-core-version: stable-${{ matrix.ansible }}
|
||||||
|
coverage: ${{ github.event_name == 'schedule' && 'always' || 'never' }}
|
||||||
|
pre-test-cmd: >-
|
||||||
|
mkdir -p ../../ansible
|
||||||
|
;
|
||||||
|
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.internal_test_tools.git ../../community/internal_test_tools
|
||||||
|
pull-request-change-detection: 'true'
|
||||||
|
target-python-version: ${{ matrix.python }}
|
||||||
|
testing-type: units
|
||||||
|
|
||||||
|
integration:
|
||||||
|
# Ansible-test on various stable branches does not yet work well with cgroups v2.
|
||||||
|
# Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04
|
||||||
|
# image for these stable branches. The list of branches where this is necessary will
|
||||||
|
# shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28
|
||||||
|
# for the latest list.
|
||||||
|
runs-on: >-
|
||||||
|
${{ contains(fromJson(
|
||||||
|
'["2.9", "2.10", "2.11"]'
|
||||||
|
), matrix.ansible) && 'ubuntu-20.04' || 'ubuntu-latest' }}
|
||||||
|
name: EOL I (Ⓐ${{ matrix.ansible }}+${{ matrix.docker }}+py${{ matrix.python }}:${{ matrix.target }})
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
ansible:
|
||||||
|
- ''
|
||||||
|
docker:
|
||||||
|
- ''
|
||||||
|
python:
|
||||||
|
- ''
|
||||||
|
target:
|
||||||
|
- ''
|
||||||
|
exclude:
|
||||||
|
- ansible: ''
|
||||||
|
include:
|
||||||
|
# 2.11
|
||||||
|
- ansible: '2.11'
|
||||||
|
docker: fedora32
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/1/
|
||||||
|
- ansible: '2.11'
|
||||||
|
docker: fedora32
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/2/
|
||||||
|
- ansible: '2.11'
|
||||||
|
docker: fedora32
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/3/
|
||||||
|
- ansible: '2.11'
|
||||||
|
docker: fedora33
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/1/
|
||||||
|
- ansible: '2.11'
|
||||||
|
docker: fedora33
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/2/
|
||||||
|
- ansible: '2.11'
|
||||||
|
docker: fedora33
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/3/
|
||||||
|
- ansible: '2.11'
|
||||||
|
docker: alpine3
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/1/
|
||||||
|
- ansible: '2.11'
|
||||||
|
docker: alpine3
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/2/
|
||||||
|
- ansible: '2.11'
|
||||||
|
docker: alpine3
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/3/
|
||||||
|
# Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled.
|
||||||
|
# - ansible: '2.11'
|
||||||
|
# docker: default
|
||||||
|
# python: '2.7'
|
||||||
|
# target: azp/generic/1/
|
||||||
|
# - ansible: '2.11'
|
||||||
|
# docker: default
|
||||||
|
# python: '3.5'
|
||||||
|
# target: azp/generic/1/
|
||||||
|
# 2.12
|
||||||
|
- ansible: '2.12'
|
||||||
|
docker: centos6
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/1/
|
||||||
|
- ansible: '2.12'
|
||||||
|
docker: centos6
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/2/
|
||||||
|
- ansible: '2.12'
|
||||||
|
docker: centos6
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/3/
|
||||||
|
- ansible: '2.12'
|
||||||
|
docker: fedora34
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/1/
|
||||||
|
- ansible: '2.12'
|
||||||
|
docker: fedora34
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/2/
|
||||||
|
- ansible: '2.12'
|
||||||
|
docker: fedora34
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/3/
|
||||||
|
- ansible: '2.12'
|
||||||
|
docker: ubuntu1804
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/1/
|
||||||
|
- ansible: '2.12'
|
||||||
|
docker: ubuntu1804
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/2/
|
||||||
|
- ansible: '2.12'
|
||||||
|
docker: ubuntu1804
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/3/
|
||||||
|
# Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled.
|
||||||
|
# - ansible: '2.12'
|
||||||
|
# docker: default
|
||||||
|
# python: '3.8'
|
||||||
|
# target: azp/generic/1/
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: >-
|
||||||
|
Perform integration testing against
|
||||||
|
Ansible version ${{ matrix.ansible }}
|
||||||
|
under Python ${{ matrix.python }}
|
||||||
|
uses: felixfontein/ansible-test-gh-action@main
|
||||||
|
with:
|
||||||
|
ansible-core-github-repository-slug: ${{ contains(fromJson('["2.10", "2.11"]'), matrix.ansible) && 'felixfontein/ansible' || 'ansible/ansible' }}
|
||||||
|
ansible-core-version: stable-${{ matrix.ansible }}
|
||||||
|
coverage: ${{ github.event_name == 'schedule' && 'always' || 'never' }}
|
||||||
|
docker-image: ${{ matrix.docker }}
|
||||||
|
integration-continue-on-error: 'false'
|
||||||
|
integration-diff: 'false'
|
||||||
|
integration-retry-on-error: 'true'
|
||||||
|
pre-test-cmd: >-
|
||||||
|
mkdir -p ../../ansible
|
||||||
|
;
|
||||||
|
git clone --depth=1 --single-branch https://github.com/ansible-collections/ansible.posix.git ../../ansible/posix
|
||||||
|
;
|
||||||
|
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.crypto.git ../../community/crypto
|
||||||
|
;
|
||||||
|
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.internal_test_tools.git ../../community/internal_test_tools
|
||||||
|
pull-request-change-detection: 'true'
|
||||||
|
target: ${{ matrix.target }}
|
||||||
|
target-python-version: ${{ matrix.python }}
|
||||||
|
testing-type: integration
|
||||||
31
.github/workflows/codeql-analysis.yml
vendored
31
.github/workflows/codeql-analysis.yml
vendored
@@ -8,6 +8,7 @@ name: "Code scanning - action"
|
|||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '26 19 * * 1'
|
- cron: '26 19 * * 1'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -24,38 +25,12 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
|
||||||
# We must fetch at least the immediate parents so that if this is
|
|
||||||
# a pull request then we can checkout the head.
|
|
||||||
fetch-depth: 2
|
|
||||||
|
|
||||||
# If this run was triggered by a pull request event, then checkout
|
|
||||||
# the head of the pull request instead of the merge commit.
|
|
||||||
- run: git checkout HEAD^2
|
|
||||||
if: ${{ github.event_name == 'pull_request' }}
|
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v2
|
uses: github/codeql-action/init@v2
|
||||||
# Override language selection by uncommenting this and choosing your languages
|
with:
|
||||||
# with:
|
languages: python
|
||||||
# languages: go, javascript, csharp, python, cpp, java
|
|
||||||
|
|
||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
|
||||||
- name: Autobuild
|
|
||||||
uses: github/codeql-action/autobuild@v2
|
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
|
||||||
# 📚 https://git.io/JvXDl
|
|
||||||
|
|
||||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
|
||||||
# and modify them (or add more) to build your code if your project
|
|
||||||
# uses a compiled language
|
|
||||||
|
|
||||||
#- run: |
|
|
||||||
# make bootstrap
|
|
||||||
# make release
|
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v2
|
uses: github/codeql-action/analyze@v2
|
||||||
|
|||||||
93
.github/workflows/docs-pr.yml
vendored
93
.github/workflows/docs-pr.yml
vendored
@@ -1,93 +0,0 @@
|
|||||||
---
|
|
||||||
# Copyright (c) Ansible Project
|
|
||||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
|
|
||||||
name: Collection Docs
|
|
||||||
concurrency:
|
|
||||||
group: docs-${{ github.head_ref }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
on:
|
|
||||||
pull_request_target:
|
|
||||||
types: [opened, synchronize, reopened, closed]
|
|
||||||
paths-ignore:
|
|
||||||
- '.azure-pipelines/**'
|
|
||||||
- 'changelogs/**'
|
|
||||||
- 'meta/**'
|
|
||||||
- 'tests/**'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-docs:
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
name: Build Ansible Docs
|
|
||||||
uses: ansible-community/github-docs-build/.github/workflows/_shared-docs-build-pr.yml@main
|
|
||||||
with:
|
|
||||||
init-fail-on-error: true
|
|
||||||
provide-link-targets: |
|
|
||||||
ansible_collections.ansible.builtin.dict2items_filter
|
|
||||||
ansible_collections.ansible.builtin.items_lookup
|
|
||||||
ansible_collections.ansible.builtin.path_join_filter
|
|
||||||
ansible_collections.community.kubevirt.kubevirt_cdi_upload_module
|
|
||||||
ansible_collections.community.kubevirt.kubevirt_inventory
|
|
||||||
ansible_collections.community.kubevirt.kubevirt_preset_module
|
|
||||||
ansible_collections.community.kubevirt.kubevirt_pvc_module
|
|
||||||
ansible_collections.community.kubevirt.kubevirt_rs_module
|
|
||||||
ansible_collections.community.kubevirt.kubevirt_template_module
|
|
||||||
ansible_collections.community.kubevirt.kubevirt_vm_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_a_record_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_aaaa_record_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_cname_record_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_dns_view_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_fixed_address_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_host_record_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_lookup_lookup
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_member_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_mx_record_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_naptr_record_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_network_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_network_view_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_next_ip_lookup
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_next_network_lookup
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_nsgroup_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_ptr_record_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_srv_record_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_txt_record_module
|
|
||||||
ansible_collections.infoblox.nios_modules.nios_zone_module
|
|
||||||
|
|
||||||
comment:
|
|
||||||
permissions:
|
|
||||||
pull-requests: write
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: build-docs
|
|
||||||
name: PR comments
|
|
||||||
steps:
|
|
||||||
- name: PR comment
|
|
||||||
uses: ansible-community/github-docs-build/actions/ansible-docs-build-comment@main
|
|
||||||
with:
|
|
||||||
body-includes: '## Docs Build'
|
|
||||||
reactions: heart
|
|
||||||
action: ${{ needs.build-docs.outputs.changed != 'true' && 'remove' || '' }}
|
|
||||||
on-closed-body: |
|
|
||||||
## Docs Build 📝
|
|
||||||
|
|
||||||
This PR is closed and any previously published docsite has been unpublished.
|
|
||||||
on-merged-body: |
|
|
||||||
## Docs Build 📝
|
|
||||||
|
|
||||||
Thank you for contribution!✨
|
|
||||||
|
|
||||||
This PR has been merged and your docs changes will be incorporated when they are next published.
|
|
||||||
body: |
|
|
||||||
## Docs Build 📝
|
|
||||||
|
|
||||||
Thank you for contribution!✨
|
|
||||||
|
|
||||||
The docsite for **this PR** is available for download as an artifact from this run:
|
|
||||||
${{ needs.build-docs.outputs.artifact-url }}
|
|
||||||
|
|
||||||
File changes:
|
|
||||||
|
|
||||||
${{ needs.build-docs.outputs.diff-files-rendered }}
|
|
||||||
|
|
||||||
${{ needs.build-docs.outputs.diff-rendered }}
|
|
||||||
644
CHANGELOG.rst
644
CHANGELOG.rst
@@ -4,233 +4,463 @@ Community General Release Notes
|
|||||||
|
|
||||||
.. contents:: Topics
|
.. contents:: Topics
|
||||||
|
|
||||||
This changelog describes changes after version 5.0.0.
|
This changelog describes changes after version 6.0.0.
|
||||||
|
|
||||||
v6.0.0-a1
|
v7.1.0
|
||||||
=========
|
======
|
||||||
|
|
||||||
Release Summary
|
Release Summary
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
This is a pre-release for the upcoming 6.0.0 major release. The main objective of this pre-release is to make it possible to test the large stuctural changes by flattening the directory structure. See the corresponding entry in the changelog for details.
|
Regular bugfix and feature release.
|
||||||
|
|
||||||
Major Changes
|
From this version on, community.general is using the new `Ansible semantic markup
|
||||||
-------------
|
<https://docs.ansible.com/ansible/devel/dev_guide/developing_modules_documenting.html#semantic-markup-within-module-documentation>`__
|
||||||
|
in its documentation. If you look at documentation with the ansible-doc CLI tool
|
||||||
|
from ansible-core before 2.15, please note that it does not render the markup
|
||||||
|
correctly. You should be still able to read it in most cases, but you need
|
||||||
|
ansible-core 2.15 or later to see it as it is intended. Alternatively you can
|
||||||
|
look at `the devel docsite <https://docs.ansible.com/ansible/devel/collections/community/general/>__`
|
||||||
|
for the rendered HTML version of the documentation of the latest release.
|
||||||
|
|
||||||
- The internal structure of the collection was changed for modules and action plugins. These no longer live in a directory hierarchy ordered by topic, but instead are now all in a single (flat) directory. This has no impact on users *assuming they did not use internal FQCNs*. These will still work, but result in deprecation warnings. They were never officially supported and thus the redirects are kept as a courtsey, and this is not labelled as a breaking change. Note that for example the Ansible VScode plugin started recommending these internal names. If you followed its recommendation, you will now have to change back to the short names to avoid deprecation warnings, and potential errors in the future as these redirects will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5461).
|
|
||||||
- newrelic_deployment - removed New Relic v1 API, added support for v2 API (https://github.com/ansible-collections/community.general/pull/5341).
|
|
||||||
|
|
||||||
Minor Changes
|
Minor Changes
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
- Added MIT license as ``LICENSES/MIT.txt`` for tests/unit/plugins/modules/packaging/language/test_gem.py (https://github.com/ansible-collections/community.general/pull/5065).
|
- The collection will start using semantic markup (https://github.com/ansible-collections/community.general/pull/6539).
|
||||||
- All software licenses are now in the ``LICENSES/`` directory of the collection root (https://github.com/ansible-collections/community.general/pull/5065, https://github.com/ansible-collections/community.general/pull/5079, https://github.com/ansible-collections/community.general/pull/5080, https://github.com/ansible-collections/community.general/pull/5083, https://github.com/ansible-collections/community.general/pull/5087, https://github.com/ansible-collections/community.general/pull/5095, https://github.com/ansible-collections/community.general/pull/5098, https://github.com/ansible-collections/community.general/pull/5106).
|
- VarDict module utils - add method ``VarDict.as_dict()`` to convert to a plain ``dict`` object (https://github.com/ansible-collections/community.general/pull/6602).
|
||||||
- ModuleHelper module utils - added property ``verbosity`` to base class (https://github.com/ansible-collections/community.general/pull/5035).
|
- cobbler inventory plugin - add ``inventory_hostname`` option to allow using the system name for the inventory hostname (https://github.com/ansible-collections/community.general/pull/6502).
|
||||||
- ModuleHelper module utils - improved ``ModuleHelperException``, using ``to_native()`` for the exception message (https://github.com/ansible-collections/community.general/pull/4755).
|
- cobbler inventory plugin - add ``want_ip_addresses`` option to collect all interface DNS name to IP address mapping (https://github.com/ansible-collections/community.general/pull/6711).
|
||||||
- The collection repository conforms to the `REUSE specification <https://reuse.software/spec/>`__ except for the changelog fragments (https://github.com/ansible-collections/community.general/pull/5138).
|
- cobbler inventory plugin - add primary IP addess to ``cobbler_ipv4_address`` and IPv6 address to ``cobbler_ipv6_address`` host variable (https://github.com/ansible-collections/community.general/pull/6711).
|
||||||
- ali_instance - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5240).
|
- cobbler inventory plugin - add warning for systems with empty profiles (https://github.com/ansible-collections/community.general/pull/6502).
|
||||||
- ali_instance_info - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5240).
|
- copr - respawn module to use the system python interpreter when the ``dnf`` python module is not available in ``ansible_python_interpreter`` (https://github.com/ansible-collections/community.general/pull/6522).
|
||||||
- alternatives - add ``state=absent`` to be able to remove an alternative (https://github.com/ansible-collections/community.general/pull/4654).
|
- datadog_monitor - adds ``notification_preset_name``, ``renotify_occurrences`` and ``renotify_statuses`` parameters (https://github.com/ansible-collections/community.general/issues/6521,https://github.com/ansible-collections/community.general/issues/5823).
|
||||||
- alternatives - add ``subcommands`` parameter (https://github.com/ansible-collections/community.general/pull/4654).
|
- filesystem - add ``uuid`` parameter for UUID change feature (https://github.com/ansible-collections/community.general/pull/6680).
|
||||||
- ansible_galaxy_install - minor refactoring using latest ``ModuleHelper`` updates (https://github.com/ansible-collections/community.general/pull/4752).
|
- keycloak_client_rolemapping - adds support for subgroups with additional parameter ``parents`` (https://github.com/ansible-collections/community.general/pull/6687).
|
||||||
- apk - add ``world`` parameter for supporting a custom world file (https://github.com/ansible-collections/community.general/pull/4976).
|
- keycloak_role - add composite roles support for realm and client roles (https://github.com/ansible-collections/community.general/pull/6469).
|
||||||
- bitwarden lookup plugin - add option ``search`` to search for other attributes than name (https://github.com/ansible-collections/community.general/pull/5297).
|
- ldap_* - add new arguments ``client_cert`` and ``client_key`` to the LDAP modules in order to allow certificate authentication (https://github.com/ansible-collections/community.general/pull/6668).
|
||||||
- cartesian lookup plugin - start using Ansible's configuration manager to parse options (https://github.com/ansible-collections/community.general/pull/5440).
|
- ldap_search - add a new ``page_size`` option to enable paged searches (https://github.com/ansible-collections/community.general/pull/6648).
|
||||||
- cmd_runner module util - added parameters ``check_mode_skip`` and ``check_mode_return`` to ``CmdRunner.context()``, so that the command is not executed when ``check_mode=True`` (https://github.com/ansible-collections/community.general/pull/4736).
|
- lvg - add ``active`` and ``inactive`` values to the ``state`` option for active state management feature (https://github.com/ansible-collections/community.general/pull/6682).
|
||||||
- cmd_runner module utils - add ``__call__`` method to invoke context (https://github.com/ansible-collections/community.general/pull/4791).
|
- lvg - add ``reset_vg_uuid``, ``reset_pv_uuid`` options for UUID reset feature (https://github.com/ansible-collections/community.general/pull/6682).
|
||||||
- consul - adds ``ttl`` parameter for session (https://github.com/ansible-collections/community.general/pull/4996).
|
- mas - disable sign-in check for macOS 12+ as ``mas account`` is non-functional (https://github.com/ansible-collections/community.general/pull/6520).
|
||||||
- consul - minor refactoring (https://github.com/ansible-collections/community.general/pull/5367).
|
- onepassword lookup plugin - add service account support (https://github.com/ansible-collections/community.general/issues/6635, https://github.com/ansible-collections/community.general/pull/6660).
|
||||||
- consul_session - adds ``token`` parameter for session (https://github.com/ansible-collections/community.general/pull/5193).
|
- onepassword_raw lookup plugin - add service account support (https://github.com/ansible-collections/community.general/issues/6635, https://github.com/ansible-collections/community.general/pull/6660).
|
||||||
- cpanm - using ``do_raise()`` to raise exceptions in ``ModuleHelper`` derived modules (https://github.com/ansible-collections/community.general/pull/4674).
|
- opentelemetry callback plugin - add span attributes in the span event (https://github.com/ansible-collections/community.general/pull/6531).
|
||||||
- credstash lookup plugin - start using Ansible's configuration manager to parse options (https://github.com/ansible-collections/community.general/pull/5440).
|
- opkg - remove default value ``""`` for parameter ``force`` as it causes the same behaviour of not having that parameter (https://github.com/ansible-collections/community.general/pull/6513).
|
||||||
- dependent lookup plugin - start using Ansible's configuration manager to parse options (https://github.com/ansible-collections/community.general/pull/5440).
|
- proxmox - support ``timezone`` parameter at container creation (https://github.com/ansible-collections/community.general/pull/6510).
|
||||||
- dig lookup plugin - add option ``fail_on_error`` to allow stopping execution on lookup failures (https://github.com/ansible-collections/community.general/pull/4973).
|
- proxmox inventory plugin - add composite variables support for Proxmox nodes (https://github.com/ansible-collections/community.general/issues/6640).
|
||||||
- dig lookup plugin - start using Ansible's configuration manager to parse options. All documented options can now also be passed as lookup parameters (https://github.com/ansible-collections/community.general/pull/5440).
|
- proxmox_kvm - added support for ``tpmstate0`` parameter to configure TPM (Trusted Platform Module) disk. TPM is required for Windows 11 installations (https://github.com/ansible-collections/community.general/pull/6533).
|
||||||
- dnstxt lookup plugin - start using Ansible's configuration manager to parse options (https://github.com/ansible-collections/community.general/pull/5440).
|
- proxmox_kvm - re-use ``timeout`` module param to forcefully shutdown a virtual machine when ``state`` is ``stopped`` (https://github.com/ansible-collections/community.general/issues/6257).
|
||||||
- filetree lookup plugin - start using Ansible's configuration manager to parse options (https://github.com/ansible-collections/community.general/pull/5440).
|
- proxmox_snap - add ``retention`` parameter to delete old snapshots (https://github.com/ansible-collections/community.general/pull/6576).
|
||||||
- flattened lookup plugin - start using Ansible's configuration manager to parse options (https://github.com/ansible-collections/community.general/pull/5440).
|
- redfish_command - add ``MultipartHTTPPushUpdate`` command (https://github.com/ansible-collections/community.general/issues/6471, https://github.com/ansible-collections/community.general/pull/6612).
|
||||||
- gitlab module util - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
|
- redhat_subscription - the internal ``RegistrationBase`` class was folded
|
||||||
- gitlab_branch - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
|
into the other internal ``Rhsm`` class, as the separation had no purpose
|
||||||
- gitlab_deploy_key - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
|
anymore
|
||||||
- gitlab_group - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
|
(https://github.com/ansible-collections/community.general/pull/6658).
|
||||||
- gitlab_group_members - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
|
- rhsm_release - improve/harden the way ``subscription-manager`` is run;
|
||||||
- gitlab_group_variable - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
|
no behaviour change is expected
|
||||||
- gitlab_hook - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
|
(https://github.com/ansible-collections/community.general/pull/6669).
|
||||||
- gitlab_hook - minor refactoring (https://github.com/ansible-collections/community.general/pull/5271).
|
- snap - module is now aware of channel when deciding whether to install or refresh the snap (https://github.com/ansible-collections/community.general/pull/6435, https://github.com/ansible-collections/community.general/issues/1606).
|
||||||
- gitlab_project - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
|
- sorcery - minor refactor (https://github.com/ansible-collections/community.general/pull/6525).
|
||||||
- gitlab_project_members - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
|
- tss lookup plugin - allow to fetch secret IDs which are in a folder based on folder ID. Previously, we could not fetch secrets based on folder ID but now use ``fetch_secret_ids_from_folder`` option to indicate to fetch secret IDs based on folder ID (https://github.com/ansible-collections/community.general/issues/6223).
|
||||||
- gitlab_project_variable - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
|
|
||||||
- gitlab_protected_branch - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
|
|
||||||
- gitlab_runner - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
|
|
||||||
- gitlab_user - minor refactor when checking for installed dependency (https://github.com/ansible-collections/community.general/pull/5259).
|
|
||||||
- hiera lookup plugin - start using Ansible's configuration manager to parse options. The Hiera executable and config file can now also be passed as lookup parameters (https://github.com/ansible-collections/community.general/pull/5440).
|
|
||||||
- homebrew, homebrew_tap - added Homebrew on Linux path to defaults (https://github.com/ansible-collections/community.general/pull/5241).
|
|
||||||
- keycloak_* modules - add ``http_agent`` parameter with default value ``Ansible`` (https://github.com/ansible-collections/community.general/issues/5023).
|
|
||||||
- keyring lookup plugin - start using Ansible's configuration manager to parse options (https://github.com/ansible-collections/community.general/pull/5440).
|
|
||||||
- lastpass - use config manager for handling plugin options (https://github.com/ansible-collections/community.general/pull/5022).
|
|
||||||
- linode inventory plugin - simplify option handling (https://github.com/ansible-collections/community.general/pull/5438).
|
|
||||||
- listen_ports_facts - add new ``include_non_listening`` option which adds ``-a`` option to ``netstat`` and ``ss``. This shows both listening and non-listening (for TCP this means established connections) sockets, and returns ``state`` and ``foreign_address`` (https://github.com/ansible-collections/community.general/issues/4762, https://github.com/ansible-collections/community.general/pull/4953).
|
|
||||||
- lmdb_kv lookup plugin - start using Ansible's configuration manager to parse options (https://github.com/ansible-collections/community.general/pull/5440).
|
|
||||||
- lxc_container - minor refactoring (https://github.com/ansible-collections/community.general/pull/5358).
|
|
||||||
- machinectl become plugin - can now be used with a password from another user than root, if a polkit rule is present (https://github.com/ansible-collections/community.general/pull/4849).
|
|
||||||
- machinectl become plugin - combine the success command when building the become command to be consistent with other become plugins (https://github.com/ansible-collections/community.general/pull/5287).
|
|
||||||
- manifold lookup plugin - start using Ansible's configuration manager to parse options (https://github.com/ansible-collections/community.general/pull/5440).
|
|
||||||
- maven_artifact - add a new ``unredirected_headers`` option that can be used with ansible-core 2.12 and above. The default value is to not use ``Authorization`` and ``Cookie`` headers on redirects for security reasons. With ansible-core 2.11, all headers are still passed on for redirects (https://github.com/ansible-collections/community.general/pull/4812).
|
|
||||||
- mksysb - using ``do_raise()`` to raise exceptions in ``ModuleHelper`` derived modules (https://github.com/ansible-collections/community.general/pull/4674).
|
|
||||||
- nagios - minor refactoring on parameter validation for different actions (https://github.com/ansible-collections/community.general/pull/5239).
|
|
||||||
- netcup_dnsapi - add ``timeout`` parameter (https://github.com/ansible-collections/community.general/pull/5301).
|
|
||||||
- nmcli - add ``transport_mode`` configuration for Infiniband devices (https://github.com/ansible-collections/community.general/pull/5361).
|
|
||||||
- nmcli - add bond option ``xmit_hash_policy`` to bond options (https://github.com/ansible-collections/community.general/issues/5148).
|
|
||||||
- nmcli - adds ``vpn`` type and parameter for supporting VPN with service type L2TP and PPTP (https://github.com/ansible-collections/community.general/pull/4746).
|
|
||||||
- nmcli - honor IP options for VPNs (https://github.com/ansible-collections/community.general/pull/5228).
|
|
||||||
- opentelemetry callback plugin - allow configuring opentelementry callback via config file (https://github.com/ansible-collections/community.general/pull/4916).
|
|
||||||
- opentelemetry callback plugin - send logs. This can be disabled by setting ``disable_logs=false`` (https://github.com/ansible-collections/community.general/pull/4175).
|
|
||||||
- pacman - added parameters ``reason`` and ``reason_for`` to set/change the install reason of packages (https://github.com/ansible-collections/community.general/pull/4956).
|
|
||||||
- passwordstore lookup plugin - allow options to be passed lookup options instead of being part of the term strings (https://github.com/ansible-collections/community.general/pull/5444).
|
|
||||||
- passwordstore lookup plugin - allow using alternative password managers by detecting wrapper scripts, allow explicit configuration of pass and gopass backends (https://github.com/ansible-collections/community.general/issues/4766).
|
|
||||||
- passwordstore lookup plugin - improve error messages to include stderr (https://github.com/ansible-collections/community.general/pull/5436)
|
|
||||||
- pipx - added state ``latest`` to the module (https://github.com/ansible-collections/community.general/pull/5105).
|
|
||||||
- pipx - changed implementation to use ``cmd_runner`` (https://github.com/ansible-collections/community.general/pull/5085).
|
|
||||||
- pipx - module fails faster when ``name`` is missing for states ``upgrade`` and ``reinstall`` (https://github.com/ansible-collections/community.general/pull/5100).
|
|
||||||
- pipx - using ``do_raise()`` to raise exceptions in ``ModuleHelper`` derived modules (https://github.com/ansible-collections/community.general/pull/4674).
|
|
||||||
- pipx module utils - created new module util ``pipx`` providing a ``cmd_runner`` specific for the ``pipx`` module (https://github.com/ansible-collections/community.general/pull/5085).
|
|
||||||
- portage - add knobs for Portage's ``--backtrack`` and ``--with-bdeps`` options (https://github.com/ansible-collections/community.general/pull/5349).
|
|
||||||
- portage - use Portage's python module instead of calling gentoolkit-provided program in shell (https://github.com/ansible-collections/community.general/pull/5349).
|
|
||||||
- proxmox inventory plugin - added new flag ``qemu_extended_statuses`` and new groups ``<group_prefix>prelaunch``, ``<group_prefix>paused``. They will be populated only when ``want_facts=true``, ``qemu_extended_statuses=true`` and only for ``QEMU`` machines (https://github.com/ansible-collections/community.general/pull/4723).
|
|
||||||
- proxmox inventory plugin - simplify option handling code (https://github.com/ansible-collections/community.general/pull/5437).
|
|
||||||
- proxmox module utils, the proxmox* modules - add ``api_task_ok`` helper to standardize API task status checks across all proxmox modules (https://github.com/ansible-collections/community.general/pull/5274).
|
|
||||||
- proxmox_kvm - allow ``agent`` argument to be a string (https://github.com/ansible-collections/community.general/pull/5107).
|
|
||||||
- proxmox_snap - add ``unbind`` param to support snapshotting containers with configured mountpoints (https://github.com/ansible-collections/community.general/pull/5274).
|
|
||||||
- puppet - adds ``confdir`` parameter to configure a custom confir location (https://github.com/ansible-collections/community.general/pull/4740).
|
|
||||||
- redfish - added new command GetVirtualMedia, VirtualMediaInsert and VirtualMediaEject to Systems category due to Redfish spec changes the virtualMedia resource location from Manager to System (https://github.com/ansible-collections/community.general/pull/5124).
|
|
||||||
- redfish_config - add ``SetSessionService`` to set default session timeout policy (https://github.com/ansible-collections/community.general/issues/5008).
|
|
||||||
- redfish_info - add ``GetManagerInventory`` to report list of Manager inventory information (https://github.com/ansible-collections/community.general/issues/4899).
|
|
||||||
- seport - added new argument ``local`` (https://github.com/ansible-collections/community.general/pull/5203)
|
|
||||||
- snap - using ``do_raise()`` to raise exceptions in ``ModuleHelper`` derived modules (https://github.com/ansible-collections/community.general/pull/4674).
|
|
||||||
- sudoers - will attempt to validate the proposed sudoers rule using visudo if available, optionally skipped, or required (https://github.com/ansible-collections/community.general/pull/4794, https://github.com/ansible-collections/community.general/issues/4745).
|
|
||||||
- terraform - adds capability to handle complex variable structures for ``variables`` parameter in the module. This must be enabled with the new ``complex_vars`` parameter (https://github.com/ansible-collections/community.general/pull/4797).
|
|
||||||
- terraform - run ``terraform init`` with ``-no-color`` not to mess up the stdout of the task (https://github.com/ansible-collections/community.general/pull/5147).
|
|
||||||
- wdc_redfish_command - add ``IndicatorLedOn`` and ``IndicatorLedOff`` commands for ``Chassis`` category (https://github.com/ansible-collections/community.general/pull/5059).
|
|
||||||
- wdc_redfish_command - add ``PowerModeLow`` and ``PowerModeNormal`` commands for ``Chassis`` category (https://github.com/ansible-collections/community.general/pull/5145).
|
|
||||||
- xfconf - add ``stdout``, ``stderr`` and ``cmd`` to the module results (https://github.com/ansible-collections/community.general/pull/5037).
|
|
||||||
- xfconf - changed implementation to use ``cmd_runner`` (https://github.com/ansible-collections/community.general/pull/4776).
|
|
||||||
- xfconf - use ``do_raise()`` instead of defining custom exception class (https://github.com/ansible-collections/community.general/pull/4975).
|
|
||||||
- xfconf - using ``do_raise()`` to raise exceptions in ``ModuleHelper`` derived modules (https://github.com/ansible-collections/community.general/pull/4674).
|
|
||||||
- xfconf module utils - created new module util ``xfconf`` providing a ``cmd_runner`` specific for ``xfconf`` modules (https://github.com/ansible-collections/community.general/pull/4776).
|
|
||||||
- xfconf_info - changed implementation to use ``cmd_runner`` (https://github.com/ansible-collections/community.general/pull/4776).
|
|
||||||
- xfconf_info - use ``do_raise()`` instead of defining custom exception class (https://github.com/ansible-collections/community.general/pull/4975).
|
|
||||||
- znode - possibility to use ZooKeeper ACL authentication (https://github.com/ansible-collections/community.general/pull/5306).
|
|
||||||
|
|
||||||
Breaking Changes / Porting Guide
|
|
||||||
--------------------------------
|
|
||||||
|
|
||||||
- newrelic_deployment - ``revision`` is required for v2 API (https://github.com/ansible-collections/community.general/pull/5341).
|
|
||||||
|
|
||||||
Deprecated Features
|
Deprecated Features
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
- ArgFormat module utils - deprecated along ``CmdMixin``, in favor of the ``cmd_runner_fmt`` module util (https://github.com/ansible-collections/community.general/pull/5370).
|
- CmdRunner module utils - deprecate ``cmd_runner_fmt.as_default_type()`` formatter (https://github.com/ansible-collections/community.general/pull/6601).
|
||||||
- CmdMixin module utils - deprecated in favor of the ``CmdRunner`` module util (https://github.com/ansible-collections/community.general/pull/5370).
|
- MH VarsMixin module utils - deprecates ``VarsMixin`` and supporting classes in favor of plain ``vardict`` module util (https://github.com/ansible-collections/community.general/pull/6649).
|
||||||
- CmdModuleHelper module utils - deprecated in favor of the ``CmdRunner`` module util (https://github.com/ansible-collections/community.general/pull/5370).
|
- cpanm - value ``compatibility`` is deprecated as default for parameter ``mode`` (https://github.com/ansible-collections/community.general/pull/6512).
|
||||||
- CmdStateModuleHelper module utils - deprecated in favor of the ``CmdRunner`` module util (https://github.com/ansible-collections/community.general/pull/5370).
|
- redhat module utils - the ``module_utils.redhat`` module is deprecated, as
|
||||||
- cmd_runner module utils - deprecated ``fmt`` in favour of ``cmd_runner_fmt`` as the parameter format object (https://github.com/ansible-collections/community.general/pull/4777).
|
effectively unused: the ``Rhsm``, ``RhsmPool``, and ``RhsmPools`` classes
|
||||||
- django_manage - support for Django releases older than 4.1 has been deprecated and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5400).
|
will be removed in community.general 9.0.0; the ``RegistrationBase`` class
|
||||||
- django_manage - support for the commands ``cleanup``, ``syncdb`` and ``validate`` that have been deprecated in Django long time ago will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5400).
|
will be removed in community.general 10.0.0 together with the
|
||||||
- django_manage - the behavior of "creating the virtual environment when missing" is being deprecated and will be removed in community.general version 9.0.0 (https://github.com/ansible-collections/community.general/pull/5405).
|
``rhn_register`` module, as it is the only user of this class; this means
|
||||||
- gconftool2 - deprecates ``state=get`` in favor of using the module ``gconftool2_info`` (https://github.com/ansible-collections/community.general/pull/4778).
|
that the whole ``module_utils.redhat`` module will be dropped in
|
||||||
- lxc_container - the module will no longer make any effort to support Python 2 (https://github.com/ansible-collections/community.general/pull/5304).
|
community.general 10.0.0, so importing it without even using anything of it
|
||||||
- newrelic_deployment - ``appname`` and ``environment`` are no longer valid options in the v2 API. They will be removed in community.general 7.0.0 (https://github.com/ansible-collections/community.general/pull/5341).
|
will fail
|
||||||
- proxmox - deprecated the current ``unprivileged`` default value, will be changed to ``true`` in community.general 7.0.0 (https://github.com/pull/5224).
|
(https://github.com/ansible-collections/community.general/pull/6663).
|
||||||
- xfconf - deprecated parameter ``disable_facts``, as since version 4.0.0 it only allows value ``true`` (https://github.com/ansible-collections/community.general/pull/4520).
|
- redhat_subscription - the ``autosubscribe`` alias for the ``auto_attach`` option has been
|
||||||
|
deprecated for many years, although only in the documentation. Officially mark this alias
|
||||||
Removed Features (previously deprecated)
|
as deprecated, and it will be removed in community.general 9.0.0
|
||||||
----------------------------------------
|
(https://github.com/ansible-collections/community.general/pull/6646).
|
||||||
|
- redhat_subscription - the ``pool`` option is deprecated in favour of the
|
||||||
- bitbucket* modules - ``username`` is no longer an alias of ``workspace``, but of ``user`` (https://github.com/ansible-collections/community.general/pull/5326).
|
more precise and flexible ``pool_ids`` option
|
||||||
- gem - the default of the ``norc`` option changed from ``false`` to ``true`` (https://github.com/ansible-collections/community.general/pull/5326).
|
(https://github.com/ansible-collections/community.general/pull/6650).
|
||||||
- gitlab_group_members - ``gitlab_group`` must now always contain the full path, and no longer just the name or path (https://github.com/ansible-collections/community.general/pull/5326).
|
- rhsm_repository - ``state=present`` has not been working as expected for many years,
|
||||||
- keycloak_authentication - the return value ``flow`` has been removed. Use ``end_state`` instead (https://github.com/ansible-collections/community.general/pull/5326).
|
and it seems it was not noticed so far; also, "presence" is not really a valid concept
|
||||||
- keycloak_group - the return value ``group`` has been removed. Use ``end_state`` instead (https://github.com/ansible-collections/community.general/pull/5326).
|
for subscription repositories, which can only be enabled or disabled. Hence, mark the
|
||||||
- lxd_container - the default of the ``ignore_volatile_options`` option changed from ``true`` to ``false`` (https://github.com/ansible-collections/community.general/pull/5326).
|
``present`` and ``absent`` values of the ``state`` option as deprecated, slating them
|
||||||
- mail callback plugin - the ``sender`` option is now required (https://github.com/ansible-collections/community.general/pull/5326).
|
for removal in community.general 10.0.0
|
||||||
- module_helper module utils - remove the ``VarDict`` attribute from ``ModuleHelper``. Import ``VarDict`` from ``ansible_collections.community.general.plugins.module_utils.mh.mixins.vars`` instead (https://github.com/ansible-collections/community.general/pull/5326).
|
(https://github.com/ansible-collections/community.general/pull/6673).
|
||||||
- proxmox inventory plugin - the default of the ``want_proxmox_nodes_ansible_host`` option changed from ``true`` to ``false`` (https://github.com/ansible-collections/community.general/pull/5326).
|
|
||||||
- vmadm - the ``debug`` option has been removed. It was not used anyway (https://github.com/ansible-collections/community.general/pull/5326).
|
|
||||||
|
|
||||||
Bugfixes
|
Bugfixes
|
||||||
--------
|
--------
|
||||||
|
|
||||||
- Include ``PSF-license.txt`` file for ``plugins/module_utils/_mount.py``.
|
- MH DependencyMixin module utils - deprecation notice was popping up for modules not using dependencies (https://github.com/ansible-collections/community.general/pull/6644, https://github.com/ansible-collections/community.general/issues/6639).
|
||||||
- Include ``simplified_bsd.txt`` license file for various module utils, the ``lxca_common`` docs fragment, and the ``utm_utils`` unit tests.
|
- csv module utils - detects and remove unicode BOM markers from incoming CSV content (https://github.com/ansible-collections/community.general/pull/6662).
|
||||||
- alternatives - do not set the priority if the priority was not set by the user (https://github.com/ansible-collections/community.general/pull/4810).
|
- gitlab_group - the module passed parameters to the API call even when not set. The module is now filtering out ``None`` values to remediate this (https://github.com/ansible-collections/community.general/pull/6712).
|
||||||
- alternatives - only pass subcommands when they are specified as module arguments (https://github.com/ansible-collections/community.general/issues/4803, https://github.com/ansible-collections/community.general/issues/4804, https://github.com/ansible-collections/community.general/pull/4836).
|
- icinga2_host - fix a key error when updating an existing host (https://github.com/ansible-collections/community.general/pull/6748).
|
||||||
- alternatives - when ``subcommands`` is specified, ``link`` must be given for every subcommand. This was already mentioned in the documentation, but not enforced by the code (https://github.com/ansible-collections/community.general/pull/4836).
|
- ini_file - add the ``follow`` paramter to follow the symlinks instead of replacing them (https://github.com/ansible-collections/community.general/pull/6546).
|
||||||
- apache2_mod_proxy - avoid crash when reporting inability to parse balancer_member_page HTML caused by using an undefined variable in the error message (https://github.com/ansible-collections/community.general/pull/5111).
|
- ini_file - fix a bug where the inactive options were not used when possible (https://github.com/ansible-collections/community.general/pull/6575).
|
||||||
- archive - avoid crash when ``lzma`` is not present and ``format`` is not ``xz`` (https://github.com/ansible-collections/community.general/pull/5393).
|
- keycloak module utils - fix ``is_struct_included`` handling of lists of lists/dictionaries (https://github.com/ansible-collections/community.general/pull/6688).
|
||||||
- cmd_runner module utils - fix bug caused by using the ``command`` variable instead of ``self.command`` when looking for binary path (https://github.com/ansible-collections/community.general/pull/4903).
|
- keycloak module utils - the function ``get_user_by_username`` now return the user representation or ``None`` as stated in the documentation (https://github.com/ansible-collections/community.general/pull/6758).
|
||||||
- consul - fixed bug introduced in PR 4590 (https://github.com/ansible-collections/community.general/issues/4680).
|
- proxmox_kvm - allow creation of VM with existing name but new vmid (https://github.com/ansible-collections/community.general/issues/6155, https://github.com/ansible-collections/community.general/pull/6709).
|
||||||
- credstash lookup plugin - pass plugin options to credstash for all terms, not just for the first (https://github.com/ansible-collections/community.general/pull/5440).
|
- rhsm_repository - when using the ``purge`` option, the ``repositories``
|
||||||
- dig lookup plugin - add option to return empty result without empty strings, and return empty list instead of ``NXDOMAIN`` (https://github.com/ansible-collections/community.general/pull/5439, https://github.com/ansible-collections/community.general/issues/5428).
|
dictionary element in the returned JSON is now properly updated according
|
||||||
- dig lookup plugin - fix evaluation of falsy values for boolean parameters ``fail_on_error`` and ``retry_servfail`` (https://github.com/ansible-collections/community.general/pull/5129).
|
to the pruning operation
|
||||||
- dnsimple_info - correctly report missing library as ``requests`` and not ``another_library`` (https://github.com/ansible-collections/community.general/pull/5111).
|
(https://github.com/ansible-collections/community.general/pull/6676).
|
||||||
- dnstxt lookup plugin - add option to return empty result without empty strings, and return empty list instead of ``NXDOMAIN`` (https://github.com/ansible-collections/community.general/pull/5457, https://github.com/ansible-collections/community.general/issues/5428).
|
- tss lookup plugin - fix multiple issues when using ``fetch_attachments=true`` (https://github.com/ansible-collections/community.general/pull/6720).
|
||||||
- dsv lookup plugin - do not ignore the ``tld`` parameter (https://github.com/ansible-collections/community.general/pull/4911).
|
|
||||||
- filesystem - handle ``fatresize --info`` output lines without ``:`` (https://github.com/ansible-collections/community.general/pull/4700).
|
Known Issues
|
||||||
- filesystem - improve error messages when output cannot be parsed by including newlines in escaped form (https://github.com/ansible-collections/community.general/pull/4700).
|
------------
|
||||||
- funcd connection plugin - fix signature of ``exec_command`` (https://github.com/ansible-collections/community.general/pull/5111).
|
|
||||||
- ini_file - minor refactor fixing a python lint error (https://github.com/ansible-collections/community.general/pull/5307).
|
- Ansible markup will show up in raw form on ansible-doc text output for ansible-core before 2.15. If you have trouble deciphering the documentation markup, please upgrade to ansible-core 2.15 (or newer), or read the HTML documentation on https://docs.ansible.com/ansible/devel/collections/community/general/ (https://github.com/ansible-collections/community.general/pull/6539).
|
||||||
- keycloak_realm - fix default groups and roles (https://github.com/ansible-collections/community.general/issues/4241).
|
|
||||||
- keyring_info - fix the result from the keyring library never getting returned (https://github.com/ansible-collections/community.general/pull/4964).
|
|
||||||
- ldap_attrs - fix ordering issue by ignoring the ``{x}`` prefix on attribute values (https://github.com/ansible-collections/community.general/issues/977, https://github.com/ansible-collections/community.general/pull/5385).
|
|
||||||
- listen_ports_facts - removed leftover ``EnvironmentError`` . The ``else`` clause had a wrong indentation. The check is now handled in the ``split_pid_name`` function (https://github.com/ansible-collections/community.general/pull/5202).
|
|
||||||
- locale_gen - fix support for Ubuntu (https://github.com/ansible-collections/community.general/issues/5281).
|
|
||||||
- lxc_container - the module has been updated to support Python 3 (https://github.com/ansible-collections/community.general/pull/5304).
|
|
||||||
- lxd connection plugin - fix incorrect ``inventory_hostname`` in ``remote_addr``. This is needed for compatibility with ansible-core 2.13 (https://github.com/ansible-collections/community.general/issues/4886).
|
|
||||||
- manageiq_alert_profiles - avoid crash when reporting unknown profile caused by trying to return an undefined variable (https://github.com/ansible-collections/community.general/pull/5111).
|
|
||||||
- nmcli - avoid changed status for most cases with VPN connections (https://github.com/ansible-collections/community.general/pull/5126).
|
|
||||||
- nmcli - fix error caused by adding undefined module arguments for list options (https://github.com/ansible-collections/community.general/issues/4373, https://github.com/ansible-collections/community.general/pull/4813).
|
|
||||||
- nmcli - fix error when setting previously unset MAC address, ``gsm.apn`` or ``vpn.data``: current values were being normalized without checking if they might be ``None`` (https://github.com/ansible-collections/community.general/pull/5291).
|
|
||||||
- nmcli - fix int options idempotence (https://github.com/ansible-collections/community.general/issues/4998).
|
|
||||||
- nsupdate - compatibility with NS records (https://github.com/ansible-collections/community.general/pull/5112).
|
|
||||||
- nsupdate - fix silent failures when updating ``NS`` entries from Bind9 managed DNS zones (https://github.com/ansible-collections/community.general/issues/4657).
|
|
||||||
- opentelemetry callback plugin - support opentelemetry-api 1.13.0 that removed support for ``_time_ns`` (https://github.com/ansible-collections/community.general/pull/5342).
|
|
||||||
- osx_defaults - no longer expand ``~`` in ``value`` to the user's home directory, or expand environment variables (https://github.com/ansible-collections/community.general/issues/5234, https://github.com/ansible-collections/community.general/pull/5243).
|
|
||||||
- packet_ip_subnet - fix error reporting in case of invalid CIDR prefix lengths (https://github.com/ansible-collections/community.general/pull/5111).
|
|
||||||
- pacman - fixed name resolution of URL packages (https://github.com/ansible-collections/community.general/pull/4959).
|
|
||||||
- passwordstore lookup plugin - fix ``returnall`` for gopass (https://github.com/ansible-collections/community.general/pull/5027).
|
|
||||||
- passwordstore lookup plugin - fix password store path detection for gopass (https://github.com/ansible-collections/community.general/pull/4955).
|
|
||||||
- pfexec become plugin - remove superflous quotes preventing exe wrap from working as expected (https://github.com/ansible-collections/community.general/issues/3671, https://github.com/ansible-collections/community.general/pull/3889).
|
|
||||||
- pip_package_info - remove usage of global variable (https://github.com/ansible-collections/community.general/pull/5111).
|
|
||||||
- pkgng - fix case when ``pkg`` fails when trying to upgrade all packages (https://github.com/ansible-collections/community.general/issues/5363).
|
|
||||||
- proxmox - fix error handling when getting VM by name when ``state=absent`` (https://github.com/ansible-collections/community.general/pull/4945).
|
|
||||||
- proxmox inventory plugin - fix crash when ``enabled=1`` is used in agent config string (https://github.com/ansible-collections/community.general/pull/4910).
|
|
||||||
- proxmox inventory plugin - fixed extended status detection for qemu (https://github.com/ansible-collections/community.general/pull/4816).
|
|
||||||
- proxmox_kvm - fix ``agent`` parameter when boolean value is specified (https://github.com/ansible-collections/community.general/pull/5198).
|
|
||||||
- proxmox_kvm - fix error handling when getting VM by name when ``state=absent`` (https://github.com/ansible-collections/community.general/pull/4945).
|
|
||||||
- proxmox_kvm - fix exception when no ``agent`` argument is specified (https://github.com/ansible-collections/community.general/pull/5194).
|
|
||||||
- proxmox_kvm - fix wrong condition (https://github.com/ansible-collections/community.general/pull/5108).
|
|
||||||
- proxmox_kvm - replace new condition with proper condition to allow for using ``vmid`` on update (https://github.com/ansible-collections/community.general/pull/5206).
|
|
||||||
- rax_clb_nodes - fix code to be compatible with Python 3 (https://github.com/ansible-collections/community.general/pull/4933).
|
|
||||||
- redfish_command - fix the check if a virtual media is unmounted to just check for ``instered= false`` caused by Supermicro hardware that does not clear the ``ImageName`` (https://github.com/ansible-collections/community.general/pull/4839).
|
|
||||||
- redfish_command - the Supermicro Redfish implementation only supports the ``image_url`` parameter in the underlying API calls to ``VirtualMediaInsert`` and ``VirtualMediaEject``. Any values set (or the defaults) for ``write_protected`` or ``inserted`` will be ignored (https://github.com/ansible-collections/community.general/pull/4839).
|
|
||||||
- redfish_info - fix to ``GetChassisPower`` to correctly report power information when multiple chassis exist, but not all chassis report power information (https://github.com/ansible-collections/community.general/issues/4901).
|
|
||||||
- redfish_utils module utils - centralize payload checking when performing modification requests to a Redfish service (https://github.com/ansible-collections/community.general/issues/5210/).
|
|
||||||
- redhat_subscription - fix unsubscribing on RHEL 9 (https://github.com/ansible-collections/community.general/issues/4741).
|
|
||||||
- redhat_subscription - make module idempotent when ``pool_ids`` are used (https://github.com/ansible-collections/community.general/issues/5313).
|
|
||||||
- redis* modules - fix call to ``module.fail_json`` when failing because of missing Python libraries (https://github.com/ansible-collections/community.general/pull/4733).
|
|
||||||
- slack - fix incorrect channel prefix ``#`` caused by incomplete pattern detection by adding ``G0`` and ``GF`` as channel ID patterns (https://github.com/ansible-collections/community.general/pull/5019).
|
|
||||||
- slack - fix message update for channels which start with ``CP``. When ``message-id`` was passed it failed for channels which started with ``CP`` because the ``#`` symbol was added before the ``channel_id`` (https://github.com/ansible-collections/community.general/pull/5249).
|
|
||||||
- sudoers - ensure sudoers config files are created with the permissions requested by sudoers (0440) (https://github.com/ansible-collections/community.general/pull/4814).
|
|
||||||
- sudoers - fix incorrect handling of ``state: absent`` (https://github.com/ansible-collections/community.general/issues/4852).
|
|
||||||
- tss lookup plugin - adding support for updated Delinea library (https://github.com/DelineaXPM/python-tss-sdk/issues/9, https://github.com/ansible-collections/community.general/pull/5151).
|
|
||||||
- virtualbox inventory plugin - skip parsing values with keys that have both a value and nested data. Skip parsing values that are nested more than two keys deep (https://github.com/ansible-collections/community.general/issues/5332, https://github.com/ansible-collections/community.general/pull/5348).
|
|
||||||
- xcc_redfish_command - for compatibility due to Redfish spec changes the virtualMedia resource location changed from Manager to System (https://github.com/ansible-collections/community.general/pull/4682).
|
|
||||||
- xenserver_facts - fix broken ``AnsibleModule`` call that prevented the module from working at all (https://github.com/ansible-collections/community.general/pull/5383).
|
|
||||||
- xfconf - fix setting of boolean values (https://github.com/ansible-collections/community.general/issues/4999, https://github.com/ansible-collections/community.general/pull/5007).
|
|
||||||
- zfs - fix wrong quoting of properties (https://github.com/ansible-collections/community.general/issues/4707, https://github.com/ansible-collections/community.general/pull/4726).
|
|
||||||
|
|
||||||
New Modules
|
New Modules
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
- scaleway_function_namespace - Scaleway Function namespace management
|
- gitlab_instance_variable - Creates, updates, or deletes GitLab instance variables
|
||||||
- scaleway_function_namespace_info - Retrieve information on Scaleway Function namespace
|
- gitlab_merge_request - Create, update, or delete GitLab merge requests
|
||||||
|
- keycloak_authentication_required_actions - Allows administration of Keycloak authentication required actions
|
||||||
|
- keycloak_user - Create and configure a user in Keycloak
|
||||||
|
- lvg_rename - Renames LVM volume groups
|
||||||
|
- proxmox_pool - Pool management for Proxmox VE cluster
|
||||||
|
- proxmox_pool_member - Add or delete members from Proxmox VE cluster pools
|
||||||
|
|
||||||
|
v7.0.1
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Bugfix release for Ansible 8.0.0rc1.
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- nmcli - fix bond option ``xmit_hash_policy`` (https://github.com/ansible-collections/community.general/pull/6527).
|
||||||
|
- portage - fix ``changed_use`` and ``newuse`` not triggering rebuilds (https://github.com/ansible-collections/community.general/issues/6008, https://github.com/ansible-collections/community.general/pull/6548).
|
||||||
|
- proxmox_tasks_info - remove ``api_user`` + ``api_password`` constraint from ``required_together`` as it causes to require ``api_password`` even when API token param is used (https://github.com/ansible-collections/community.general/issues/6201).
|
||||||
|
- zypper - added handling of zypper exitcode 102. Changed state is set correctly now and rc 102 is still preserved to be evaluated by the playbook (https://github.com/ansible-collections/community.general/pull/6534).
|
||||||
|
|
||||||
|
v7.0.0
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
This is release 7.0.0 of ``community.general``, released on 2023-05-09.
|
||||||
|
|
||||||
|
Minor Changes
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- apache2_module - add module argument ``warn_mpm_absent`` to control whether warning are raised in some edge cases (https://github.com/ansible-collections/community.general/pull/5793).
|
||||||
|
- apt_rpm - adds ``clean``, ``dist_upgrade`` and ``update_kernel`` parameters for clear caches, complete upgrade system, and upgrade kernel packages (https://github.com/ansible-collections/community.general/pull/5867).
|
||||||
|
- bitwarden lookup plugin - can now retrieve secrets from custom fields (https://github.com/ansible-collections/community.general/pull/5694).
|
||||||
|
- bitwarden lookup plugin - implement filtering results by ``collection_id`` parameter (https://github.com/ansible-collections/community.general/issues/5849).
|
||||||
|
- cmd_runner module utils - ``cmd_runner_fmt.as_bool()`` can now take an extra parameter to format when value is false (https://github.com/ansible-collections/community.general/pull/5647).
|
||||||
|
- cpanm - minor change, use feature from ``ModuleHelper`` (https://github.com/ansible-collections/community.general/pull/6385).
|
||||||
|
- dconf - be forgiving about boolean values: convert them to GVariant booleans automatically (https://github.com/ansible-collections/community.general/pull/6206).
|
||||||
|
- dconf - if ``gi.repository.GLib`` is missing, try to respawn in a Python interpreter that has it (https://github.com/ansible-collections/community.general/pull/6491).
|
||||||
|
- dconf - minor refactoring improving parameters and dependencies validation (https://github.com/ansible-collections/community.general/pull/6336).
|
||||||
|
- dconf - parse GVariants for equality comparison when the Python module ``gi.repository`` is available (https://github.com/ansible-collections/community.general/pull/6049).
|
||||||
|
- deps module utils - add function ``failed()`` providing the ability to check the dependency check result without triggering an exception (https://github.com/ansible-collections/community.general/pull/6383).
|
||||||
|
- dig lookup plugin - Support multiple domains to be queried as indicated in docs (https://github.com/ansible-collections/community.general/pull/6334).
|
||||||
|
- dig lookup plugin - support CAA record type (https://github.com/ansible-collections/community.general/pull/5913).
|
||||||
|
- dnsimple - set custom User-Agent for API requests to DNSimple (https://github.com/ansible-collections/community.general/pull/5927).
|
||||||
|
- dnsimple_info - minor refactor in the code (https://github.com/ansible-collections/community.general/pull/6440).
|
||||||
|
- flatpak_remote - add new boolean option ``enabled``. It controls, whether the remote is enabled or not (https://github.com/ansible-collections/community.general/pull/5926).
|
||||||
|
- gconftool2 - refactor using ``ModuleHelper`` and ``CmdRunner`` (https://github.com/ansible-collections/community.general/pull/5545).
|
||||||
|
- gitlab_group_variable, gitlab_project_variable - refactor function out to module utils (https://github.com/ansible-collections/community.general/pull/6384).
|
||||||
|
- gitlab_project - add ``builds_access_level``, ``container_registry_access_level`` and ``forking_access_level`` options (https://github.com/ansible-collections/community.general/pull/5706).
|
||||||
|
- gitlab_project - add ``releases_access_level``, ``environments_access_level``, ``feature_flags_access_level``, ``infrastructure_access_level``, ``monitor_access_level``, and ``security_and_compliance_access_level`` options (https://github.com/ansible-collections/community.general/pull/5986).
|
||||||
|
- gitlab_project - add new option ``topics`` for adding topics to GitLab projects (https://github.com/ansible-collections/community.general/pull/6278).
|
||||||
|
- gitlab_runner - add new boolean option ``access_level_on_creation``. It controls, whether the value of ``access_level`` is used for runner registration or not. The option ``access_level`` has been ignored on registration so far and was only used on updates (https://github.com/ansible-collections/community.general/issues/5907, https://github.com/ansible-collections/community.general/pull/5908).
|
||||||
|
- gitlab_runner - allow to register group runner (https://github.com/ansible-collections/community.general/pull/3935).
|
||||||
|
- homebrew_cask - allows passing ``--greedy`` option to ``upgrade_all`` (https://github.com/ansible-collections/community.general/pull/6267).
|
||||||
|
- idrac_redfish_command - add ``job_id`` to ``CreateBiosConfigJob`` response (https://github.com/ansible-collections/community.general/issues/5603).
|
||||||
|
- ilo_redfish_utils module utils - change implementation of DNS Server IP and NTP Server IP update (https://github.com/ansible-collections/community.general/pull/5804).
|
||||||
|
- ipa_group - allow to add and remove external users with the ``external_user`` option (https://github.com/ansible-collections/community.general/pull/5897).
|
||||||
|
- ipa_hostgroup - add ``append`` parameter for adding a new hosts to existing hostgroups without changing existing hostgroup members (https://github.com/ansible-collections/community.general/pull/6203).
|
||||||
|
- iptables_state - minor refactoring within the module (https://github.com/ansible-collections/community.general/pull/5844).
|
||||||
|
- java_certs - add more detailed error output when extracting certificate from PKCS12 fails (https://github.com/ansible-collections/community.general/pull/5550).
|
||||||
|
- jc filter plugin - added the ability to use parser plugins (https://github.com/ansible-collections/community.general/pull/6043).
|
||||||
|
- jenkins_plugin - refactor code to module util to fix sanity check (https://github.com/ansible-collections/community.general/pull/5565).
|
||||||
|
- jira - add worklog functionality (https://github.com/ansible-collections/community.general/issues/6209, https://github.com/ansible-collections/community.general/pull/6210).
|
||||||
|
- keycloak_authentication - add flow type option to sub flows to allow the creation of 'form-flow' sub flows like in Keycloak's built-in registration flow (https://github.com/ansible-collections/community.general/pull/6318).
|
||||||
|
- keycloak_group - add new optional module parameter ``parents`` to properly handle keycloak subgroups (https://github.com/ansible-collections/community.general/pull/5814).
|
||||||
|
- keycloak_user_federation - make ``org.keycloak.storage.ldap.mappers.LDAPStorageMapper`` the default value for mappers ``providerType`` (https://github.com/ansible-collections/community.general/pull/5863).
|
||||||
|
- ldap modules - add ``ca_path`` option (https://github.com/ansible-collections/community.general/pull/6185).
|
||||||
|
- ldap modules - add ``xorder_discovery`` option (https://github.com/ansible-collections/community.general/issues/6045, https://github.com/ansible-collections/community.general/pull/6109).
|
||||||
|
- ldap_search - the new ``base64_attributes`` allows to specify which attribute values should be Base64 encoded (https://github.com/ansible-collections/community.general/pull/6473).
|
||||||
|
- lxd_container - add diff and check mode (https://github.com/ansible-collections/community.general/pull/5866).
|
||||||
|
- lxd_project - refactored code out to module utils to clear sanity check (https://github.com/ansible-collections/community.general/pull/5549).
|
||||||
|
- make - add ``command`` return value to the module output (https://github.com/ansible-collections/community.general/pull/6160).
|
||||||
|
- mattermost, rocketchat, slack - replace missing default favicon with docs.ansible.com favicon (https://github.com/ansible-collections/community.general/pull/5928).
|
||||||
|
- mksysb - improved the output of the module in case of errors (https://github.com/ansible-collections/community.general/issues/6263).
|
||||||
|
- modprobe - add ``persistent`` option (https://github.com/ansible-collections/community.general/issues/4028, https://github.com/ansible-collections/community.general/pull/542).
|
||||||
|
- module_helper module utils - updated the imports to make more MH features available at ``plugins/module_utils/module_helper.py`` (https://github.com/ansible-collections/community.general/pull/6464).
|
||||||
|
- mssql_script - allow for ``GO`` statement to be mixed-case for scripts not using strict syntax (https://github.com/ansible-collections/community.general/pull/6457).
|
||||||
|
- mssql_script - handle error condition for empty resultsets to allow for non-returning SQL statements (for example ``UPDATE`` and ``INSERT``) (https://github.com/ansible-collections/community.general/pull/6457).
|
||||||
|
- mssql_script - improve batching logic to allow a wider variety of input scripts. For example, SQL scripts slurped from Windows machines which may contain carriage return (''\r'') characters (https://github.com/ansible-collections/community.general/pull/6457).
|
||||||
|
- nmap inventory plugin - add new option ``open`` for only returning open ports (https://github.com/ansible-collections/community.general/pull/6200).
|
||||||
|
- nmap inventory plugin - add new option ``port`` for port specific scan (https://github.com/ansible-collections/community.general/pull/6165).
|
||||||
|
- nmap inventory plugin - add new options ``udp_scan``, ``icmp_timestamp``, and ``dns_resolve`` for different types of scans (https://github.com/ansible-collections/community.general/pull/5566).
|
||||||
|
- nmap inventory plugin - added environment variables for configure ``address`` and ``exclude`` (https://github.com/ansible-collections/community.general/issues/6351).
|
||||||
|
- nmcli - add ``default`` and ``default-or-eui64`` to the list of valid choices for ``addr_gen_mode6`` parameter (https://github.com/ansible-collections/community.general/pull/5974).
|
||||||
|
- nmcli - add ``macvlan`` connection type (https://github.com/ansible-collections/community.general/pull/6312).
|
||||||
|
- nmcli - add support for ``team.runner-fast-rate`` parameter for ``team`` connections (https://github.com/ansible-collections/community.general/issues/6065).
|
||||||
|
- nmcli - new module option ``slave_type`` added to allow creation of various types of slave devices (https://github.com/ansible-collections/community.general/issues/473, https://github.com/ansible-collections/community.general/pull/6108).
|
||||||
|
- one_vm - add a new ``updateconf`` option which implements the ``one.vm.updateconf`` API call (https://github.com/ansible-collections/community.general/pull/5812).
|
||||||
|
- openbsd_pkg - set ``TERM`` to ``'dumb'`` in ``execute_command()`` to make module less dependant on the ``TERM`` environment variable set on the Ansible controller (https://github.com/ansible-collections/community.general/pull/6149).
|
||||||
|
- opkg - allow installing a package in a certain version (https://github.com/ansible-collections/community.general/pull/5688).
|
||||||
|
- opkg - refactored module to use ``CmdRunner`` for executing ``opkg`` (https://github.com/ansible-collections/community.general/pull/5718).
|
||||||
|
- osx_defaults - include stderr in error messages (https://github.com/ansible-collections/community.general/pull/6011).
|
||||||
|
- pipx - add ``system_site_packages`` parameter to give application access to system-wide packages (https://github.com/ansible-collections/community.general/pull/6308).
|
||||||
|
- pipx - ensure ``include_injected`` parameter works with ``state=upgrade`` and ``state=latest`` (https://github.com/ansible-collections/community.general/pull/6212).
|
||||||
|
- pipx - optional ``install_apps`` parameter added to install applications from injected packages (https://github.com/ansible-collections/community.general/pull/6198).
|
||||||
|
- proxmox - added new module parameter ``tags`` for use with PVE 7+ (https://github.com/ansible-collections/community.general/pull/5714).
|
||||||
|
- proxmox - suppress urllib3 ``InsecureRequestWarnings`` when ``validate_certs`` option is ``false`` (https://github.com/ansible-collections/community.general/pull/5931).
|
||||||
|
- proxmox_kvm - add new ``archive`` parameter. This is needed to create a VM from an archive (backup) (https://github.com/ansible-collections/community.general/pull/6159).
|
||||||
|
- proxmox_kvm - adds ``migrate`` parameter to manage online migrations between hosts (https://github.com/ansible-collections/community.general/pull/6448)
|
||||||
|
- puppet - add new options ``skip_tags`` to exclude certain tagged resources during a puppet agent or apply (https://github.com/ansible-collections/community.general/pull/6293).
|
||||||
|
- puppet - refactored module to use ``CmdRunner`` for executing ``puppet`` (https://github.com/ansible-collections/community.general/pull/5612).
|
||||||
|
- rax_scaling_group - refactored out code to the ``rax`` module utils to clear the sanity check (https://github.com/ansible-collections/community.general/pull/5563).
|
||||||
|
- redfish_command - add ``PerformRequestedOperations`` command to perform any operations necessary to continue the update flow (https://github.com/ansible-collections/community.general/issues/4276).
|
||||||
|
- redfish_command - add ``update_apply_time`` to ``SimpleUpdate`` command (https://github.com/ansible-collections/community.general/issues/3910).
|
||||||
|
- redfish_command - add ``update_status`` to output of ``SimpleUpdate`` command to allow a user monitor the update in progress (https://github.com/ansible-collections/community.general/issues/4276).
|
||||||
|
- redfish_command - adding ``EnableSecureBoot`` functionality (https://github.com/ansible-collections/community.general/pull/5899).
|
||||||
|
- redfish_command - adding ``VerifyBiosAttributes`` functionality (https://github.com/ansible-collections/community.general/pull/5900).
|
||||||
|
- redfish_info - add ``GetUpdateStatus`` command to check the progress of a previous update request (https://github.com/ansible-collections/community.general/issues/4276).
|
||||||
|
- redfish_info - adds commands to retrieve the HPE ThermalConfiguration and FanPercentMinimum settings from iLO (https://github.com/ansible-collections/community.general/pull/6208).
|
||||||
|
- redfish_utils module utils - added PUT (``put_request()``) functionality (https://github.com/ansible-collections/community.general/pull/5490).
|
||||||
|
- redhat_subscription - add a ``server_proxy_scheme`` parameter to configure the scheme for the proxy server (https://github.com/ansible-collections/community.general/pull/5662).
|
||||||
|
- redhat_subscription - adds ``token`` parameter for subscription-manager authentication using Red Hat API token (https://github.com/ansible-collections/community.general/pull/5725).
|
||||||
|
- redhat_subscription - credentials (``username``, ``activationkey``, and so on) are required now only if a system needs to be registered, or ``force_register`` is specified (https://github.com/ansible-collections/community.general/pull/5664).
|
||||||
|
- redhat_subscription - the registration is done using the D-Bus ``rhsm`` service instead of spawning a ``subscription-manager register`` command, if possible; this avoids passing plain-text credentials as arguments to ``subscription-manager register``, which can be seen while that command runs (https://github.com/ansible-collections/community.general/pull/6122).
|
||||||
|
- sefcontext - add support for path substitutions (https://github.com/ansible-collections/community.general/issues/1193).
|
||||||
|
- shutdown - if no shutdown commands are found in the ``search_paths`` then the module will attempt to shutdown the system using ``systemctl shutdown`` (https://github.com/ansible-collections/community.general/issues/4269, https://github.com/ansible-collections/community.general/pull/6171).
|
||||||
|
- slack - add option ``prepend_hash`` which allows to control whether a ``#`` is prepended to ``channel_id``. The current behavior (value ``auto``) is to prepend ``#`` unless some specific prefixes are found. That list of prefixes is incomplete, and there does not seem to exist a documented condition on when exactly ``#`` must not be prepended. We recommend to explicitly set ``prepend_hash=always`` or ``prepend_hash=never`` to avoid any ambiguity (https://github.com/ansible-collections/community.general/pull/5629).
|
||||||
|
- snap - minor refactor when executing module (https://github.com/ansible-collections/community.general/pull/5773).
|
||||||
|
- snap - refactor module to use ``CmdRunner`` to execute external commands (https://github.com/ansible-collections/community.general/pull/6468).
|
||||||
|
- snap_alias - refactor code to module utils (https://github.com/ansible-collections/community.general/pull/6441).
|
||||||
|
- snap_alias - refactored module to use ``CmdRunner`` to execute ``snap`` (https://github.com/ansible-collections/community.general/pull/5486).
|
||||||
|
- spotinst_aws_elastigroup - add ``elements`` attribute when missing in ``list`` parameters (https://github.com/ansible-collections/community.general/pull/5553).
|
||||||
|
- ssh_config - add ``host_key_algorithms`` option (https://github.com/ansible-collections/community.general/pull/5605).
|
||||||
|
- ssh_config - add ``proxyjump`` option (https://github.com/ansible-collections/community.general/pull/5970).
|
||||||
|
- ssh_config - refactor code to module util to fix sanity check (https://github.com/ansible-collections/community.general/pull/5720).
|
||||||
|
- ssh_config - vendored StormSSH's config parser to avoid having to install StormSSH to use the module (https://github.com/ansible-collections/community.general/pull/6117).
|
||||||
|
- sudoers - add ``setenv`` parameters to support passing environment variables via sudo. (https://github.com/ansible-collections/community.general/pull/5883)
|
||||||
|
- sudoers - adds ``host`` parameter for setting hostname restrictions in sudoers rules (https://github.com/ansible-collections/community.general/issues/5702).
|
||||||
|
- terraform - remove state file check condition and error block, because in the native implementation of terraform will not cause errors due to the non-existent file (https://github.com/ansible-collections/community.general/pull/6296).
|
||||||
|
- udm_dns_record - minor refactor to the code (https://github.com/ansible-collections/community.general/pull/6382).
|
||||||
|
- udm_share - added ``elements`` attribute to ``list`` type parameters (https://github.com/ansible-collections/community.general/pull/5557).
|
||||||
|
- udm_user - add ``elements`` attribute when missing in ``list`` parameters (https://github.com/ansible-collections/community.general/pull/5559).
|
||||||
|
- znode module - optional ``use_tls`` parameter added for encrypted communication (https://github.com/ansible-collections/community.general/issues/6154).
|
||||||
|
|
||||||
|
Breaking Changes / Porting Guide
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
- If you are not using this collection as part of Ansible, but installed (and/or upgraded) community.general manually, you need to make sure to also install ``community.sap_libs`` if you are using any of the ``sapcar_extract``, ``sap_task_list_execute``, and ``hana_query`` modules.
|
||||||
|
Without that collection installed, the redirects for these modules do not work.
|
||||||
|
- ModuleHelper module utils - when the module sets output variables named ``msg``, ``exception``, ``output``, ``vars``, or ``changed``, the actual output will prefix those names with ``_`` (underscore symbol) only when they clash with output variables generated by ModuleHelper itself, which only occurs when handling exceptions. Please note that this breaking change does not require a new major release since before this release, it was not possible to add such variables to the output `due to a bug <https://github.com/ansible-collections/community.general/pull/5755>`__ (https://github.com/ansible-collections/community.general/pull/5765).
|
||||||
|
- gconftool2 - fix processing of ``gconftool-2`` when ``key`` does not exist, returning ``null`` instead of empty string for both ``value`` and ``previous_value`` return values (https://github.com/ansible-collections/community.general/issues/6028).
|
||||||
|
- gitlab_runner - the default of ``access_level_on_creation`` changed from ``false`` to ``true`` (https://github.com/ansible-collections/community.general/pull/6428).
|
||||||
|
- ldap_search - convert all string-like values to UTF-8 (https://github.com/ansible-collections/community.general/issues/5704, https://github.com/ansible-collections/community.general/pull/6473).
|
||||||
|
- nmcli - the default of the ``hairpin`` option changed from ``true`` to ``false`` (https://github.com/ansible-collections/community.general/pull/6428).
|
||||||
|
- proxmox - the default of the ``unprivileged`` option changed from ``false`` to ``true`` (https://github.com/ansible-collections/community.general/pull/6428).
|
||||||
|
|
||||||
|
Deprecated Features
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
- ModuleHelper module_utils - ``deps`` mixin for MH classes deprecated in favour of using the ``deps`` module_utils (https://github.com/ansible-collections/community.general/pull/6465).
|
||||||
|
- consul - deprecate using parameters unused for ``state=absent`` (https://github.com/ansible-collections/community.general/pull/5772).
|
||||||
|
- gitlab_runner - the default of the new option ``access_level_on_creation`` will change from ``false`` to ``true`` in community.general 7.0.0. This will cause ``access_level`` to be used during runner registration as well, and not only during updates (https://github.com/ansible-collections/community.general/pull/5908).
|
||||||
|
- gitlab_runner - the option ``access_level`` will lose its default value in community.general 8.0.0. From that version on, you have set this option to ``ref_protected`` explicitly, if you want to have a protected runner (https://github.com/ansible-collections/community.general/issues/5925).
|
||||||
|
- manageiq_policies - deprecate ``state=list`` in favour of using ``community.general.manageiq_policies_info`` (https://github.com/ansible-collections/community.general/pull/5721).
|
||||||
|
- manageiq_tags - deprecate ``state=list`` in favour of using ``community.general.manageiq_tags_info`` (https://github.com/ansible-collections/community.general/pull/5727).
|
||||||
|
- rax - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax module utils - module utils code relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_cbs - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_cbs_attachments - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_cdb - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_cdb_database - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_cdb_user - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_clb - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_clb_nodes - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_clb_ssl - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_dns - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_dns_record - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_facts - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_files - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_files_objects - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_identity - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_keypair - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_meta - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_mon_alarm - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_mon_check - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_mon_entity - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_mon_notification - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_mon_notification_plan - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_network - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_queue - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_scaling_group - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rax_scaling_policy - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||||
|
- rhn_channel, rhn_register - RHN hosted at redhat.com was discontinued years
|
||||||
|
ago, and Spacewalk 5 (which uses RHN) is EOL since 2020, May 31st;
|
||||||
|
while these modules could work on Uyuni / SUSE Manager (fork of Spacewalk 5),
|
||||||
|
we have not heard about anyone using them in those setups. Hence, these
|
||||||
|
modules are deprecated, and will be removed in community.general 10.0.0
|
||||||
|
in case there are no reports about being still useful, and potentially
|
||||||
|
noone that steps up to maintain them
|
||||||
|
(https://github.com/ansible-collections/community.general/pull/6493).
|
||||||
|
|
||||||
|
Removed Features (previously deprecated)
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
- All ``sap`` modules have been removed from this collection.
|
||||||
|
They have been migrated to the `community.sap_libs <https://galaxy.ansible.com/community/sap_libs>`_ collection.
|
||||||
|
Redirections have been provided.
|
||||||
|
Following modules are affected:
|
||||||
|
- sapcar_extract
|
||||||
|
- sap_task_list_execute
|
||||||
|
- hana_query
|
||||||
|
- cmd_runner module utils - the ``fmt`` alias of ``cmd_runner_fmt`` has been removed. Use ``cmd_runner_fmt`` instead (https://github.com/ansible-collections/community.general/pull/6428).
|
||||||
|
- newrelic_deployment - the ``appname`` and ``environment`` options have been removed. They did not do anything (https://github.com/ansible-collections/community.general/pull/6428).
|
||||||
|
- puppet - the alias ``show-diff`` of the ``show_diff`` option has been removed. Use ``show_diff`` instead (https://github.com/ansible-collections/community.general/pull/6428).
|
||||||
|
- xfconf - generating facts was deprecated in community.general 3.0.0, however three factoids, ``property``, ``channel`` and ``value`` continued to be generated by mistake. This behaviour has been removed and ``xfconf`` generate no facts whatsoever (https://github.com/ansible-collections/community.general/pull/5502).
|
||||||
|
- xfconf - generating facts was deprecated in community.general 3.0.0, however two factoids, ``previous_value`` and ``type`` continued to be generated by mistake. This behaviour has been removed and ``xfconf`` generate no facts whatsoever (https://github.com/ansible-collections/community.general/pull/5502).
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- ModuleHelper - fix bug when adjusting the name of reserved output variables (https://github.com/ansible-collections/community.general/pull/5755).
|
||||||
|
- alternatives - support subcommands on Fedora 37, which uses ``follower`` instead of ``slave`` (https://github.com/ansible-collections/community.general/pull/5794).
|
||||||
|
- ansible_galaxy_install - set default to raise exception if command's return code is different from zero (https://github.com/ansible-collections/community.general/pull/5680).
|
||||||
|
- ansible_galaxy_install - try ``C.UTF-8`` and then fall back to ``en_US.UTF-8`` before failing (https://github.com/ansible-collections/community.general/pull/5680).
|
||||||
|
- archive - avoid deprecated exception class on Python 3 (https://github.com/ansible-collections/community.general/pull/6180).
|
||||||
|
- archive - reduce RAM usage by generating CRC32 checksum over chunks (https://github.com/ansible-collections/community.general/pull/6274).
|
||||||
|
- bitwarden lookup plugin - clarify what to do, if the bitwarden vault is not unlocked (https://github.com/ansible-collections/community.general/pull/5811).
|
||||||
|
- cartesian and flattened lookup plugins - adjust to parameter deprecation in ansible-core 2.14's ``listify_lookup_plugin_terms`` helper function (https://github.com/ansible-collections/community.general/pull/6074).
|
||||||
|
- chroot connection plugin - add ``inventory_hostname`` to vars under ``remote_addr``. This is needed for compatibility with ansible-core 2.13 (https://github.com/ansible-collections/community.general/pull/5570).
|
||||||
|
- cloudflare_dns - fixed the idempotency for SRV DNS records (https://github.com/ansible-collections/community.general/pull/5972).
|
||||||
|
- cloudflare_dns - fixed the possiblity of setting a root-level SRV DNS record (https://github.com/ansible-collections/community.general/pull/5972).
|
||||||
|
- cmd_runner module utils - fixed bug when handling default cases in ``cmd_runner_fmt.as_map()`` (https://github.com/ansible-collections/community.general/pull/5538).
|
||||||
|
- cmd_runner module utils - formatting arguments ``cmd_runner_fmt.as_fixed()`` was expecting an non-existing argument (https://github.com/ansible-collections/community.general/pull/5538).
|
||||||
|
- dependent lookup plugin - avoid warning on deprecated parameter for ``Templar.template()`` (https://github.com/ansible-collections/community.general/pull/5543).
|
||||||
|
- deps module utils - do not fail when dependency cannot be found (https://github.com/ansible-collections/community.general/pull/6479).
|
||||||
|
- dig lookup plugin - correctly handle DNSKEY record type's ``algorithm`` field (https://github.com/ansible-collections/community.general/pull/5914).
|
||||||
|
- flatpak - fixes idempotency detection issues. In some cases the module could fail to properly detect already existing Flatpaks because of a parameter witch only checks the installed apps (https://github.com/ansible-collections/community.general/pull/6289).
|
||||||
|
- gconftool2 - fix ``changed`` result always being ``true`` (https://github.com/ansible-collections/community.general/issues/6028).
|
||||||
|
- gconftool2 - remove requirement of parameter ``value`` when ``state=absent`` (https://github.com/ansible-collections/community.general/issues/6028).
|
||||||
|
- gem - fix force parameter not being passed to gem command when uninstalling (https://github.com/ansible-collections/community.general/pull/5822).
|
||||||
|
- gem - fix hang due to interactive prompt for confirmation on specific version uninstall (https://github.com/ansible-collections/community.general/pull/5751).
|
||||||
|
- github_webhook - fix always changed state when no secret is provided (https://github.com/ansible-collections/community.general/pull/5994).
|
||||||
|
- gitlab_deploy_key - also update ``title`` and not just ``can_push`` (https://github.com/ansible-collections/community.general/pull/5888).
|
||||||
|
- gitlab_group_variables - fix dropping variables accidentally when GitLab introduced new properties (https://github.com/ansible-collections/community.general/pull/5667).
|
||||||
|
- gitlab_project_variables - fix dropping variables accidentally when GitLab introduced new properties (https://github.com/ansible-collections/community.general/pull/5667).
|
||||||
|
- gitlab_runner - fix ``KeyError`` on runner creation and update (https://github.com/ansible-collections/community.general/issues/6112).
|
||||||
|
- icinga2_host - fix the data structure sent to Icinga to make use of host templates and template vars (https://github.com/ansible-collections/community.general/pull/6286).
|
||||||
|
- idrac_redfish_command - allow user to specify ``resource_id`` for ``CreateBiosConfigJob`` to specify an exact manager (https://github.com/ansible-collections/community.general/issues/2090).
|
||||||
|
- influxdb_user - fix running in check mode when the user does not exist yet (https://github.com/ansible-collections/community.general/pull/6111).
|
||||||
|
- ini_file - make ``section`` parameter not required so it is possible to pass ``null`` as a value. This only was possible in the past due to a bug in ansible-core that now has been fixed (https://github.com/ansible-collections/community.general/pull/6404).
|
||||||
|
- interfaces_file - fix reading options in lines not starting with a space (https://github.com/ansible-collections/community.general/issues/6120).
|
||||||
|
- jail connection plugin - add ``inventory_hostname`` to vars under ``remote_addr``. This is needed for compatibility with ansible-core 2.13 (https://github.com/ansible-collections/community.general/pull/6118).
|
||||||
|
- jenkins_build - fix the logical flaw when deleting a Jenkins build (https://github.com/ansible-collections/community.general/pull/5514).
|
||||||
|
- jenkins_plugin - fix error due to undefined variable when updates file is not downloaded (https://github.com/ansible-collections/community.general/pull/6100).
|
||||||
|
- keycloak - improve error messages (https://github.com/ansible-collections/community.general/pull/6318).
|
||||||
|
- keycloak_client - fix accidental replacement of value for attribute ``saml.signing.private.key`` with ``no_log`` in wrong contexts (https://github.com/ansible-collections/community.general/pull/5934).
|
||||||
|
- keycloak_client_rolemapping - calculate ``proposed`` and ``after`` return values properly (https://github.com/ansible-collections/community.general/pull/5619).
|
||||||
|
- keycloak_client_rolemapping - remove only listed mappings with ``state=absent`` (https://github.com/ansible-collections/community.general/pull/5619).
|
||||||
|
- keycloak_user_federation - fixes federation creation issue. When a new federation was created and at the same time a default / standard mapper was also changed / updated the creation process failed as a bad None set variable led to a bad malformed url request (https://github.com/ansible-collections/community.general/pull/5750).
|
||||||
|
- keycloak_user_federation - fixes idempotency detection issues. In some cases the module could fail to properly detect already existing user federations because of a buggy seemingly superflous extra query parameter (https://github.com/ansible-collections/community.general/pull/5732).
|
||||||
|
- loganalytics callback plugin - adjust type of callback to ``notification``, it was incorrectly classified as ``aggregate`` before (https://github.com/ansible-collections/community.general/pull/5761).
|
||||||
|
- logdna callback plugin - adjust type of callback to ``notification``, it was incorrectly classified as ``aggregate`` before (https://github.com/ansible-collections/community.general/pull/5761).
|
||||||
|
- logstash callback plugin - adjust type of callback to ``notification``, it was incorrectly classified as ``aggregate`` before (https://github.com/ansible-collections/community.general/pull/5761).
|
||||||
|
- lxc_container - fix the arguments of the lxc command which broke the creation and cloning of containers (https://github.com/ansible-collections/community.general/issues/5578).
|
||||||
|
- lxd_* modules, lxd inventory plugin - fix TLS/SSL certificate validation problems by using the correct purpose when creating the TLS context (https://github.com/ansible-collections/community.general/issues/5616, https://github.com/ansible-collections/community.general/pull/6034).
|
||||||
|
- memset - fix memset urlerror handling (https://github.com/ansible-collections/community.general/pull/6114).
|
||||||
|
- nmcli - fix change handling of values specified as an integer 0 (https://github.com/ansible-collections/community.general/pull/5431).
|
||||||
|
- nmcli - fix failure to handle WIFI settings when connection type not specified (https://github.com/ansible-collections/community.general/pull/5431).
|
||||||
|
- nmcli - fix improper detection of changes to ``wifi.wake-on-wlan`` (https://github.com/ansible-collections/community.general/pull/5431).
|
||||||
|
- nmcli - fixed idempotency issue for bridge connections. Module forced default value of ``bridge.priority`` to nmcli if not set; if ``bridge.stp`` is disabled nmcli ignores it and keep default (https://github.com/ansible-collections/community.general/issues/3216, https://github.com/ansible-collections/community.general/issues/4683).
|
||||||
|
- nmcli - fixed idempotency issue when module params is set to ``may_fail4=false`` and ``method4=disabled``; in this case nmcli ignores change and keeps their own default value ``yes`` (https://github.com/ansible-collections/community.general/pull/6106).
|
||||||
|
- nmcli - implemented changing mtu value on vlan interfaces (https://github.com/ansible-collections/community.general/issues/4387).
|
||||||
|
- nmcli - order is significant for lists of addresses (https://github.com/ansible-collections/community.general/pull/6048).
|
||||||
|
- nsupdate - fix zone lookup. The SOA record for an existing zone is returned as an answer RR and not as an authority RR (https://github.com/ansible-collections/community.general/issues/5817, https://github.com/ansible-collections/community.general/pull/5818).
|
||||||
|
- one_vm - avoid splitting labels that are ``None`` (https://github.com/ansible-collections/community.general/pull/5489).
|
||||||
|
- one_vm - fix syntax error when creating VMs with a more complex template (https://github.com/ansible-collections/community.general/issues/6225).
|
||||||
|
- onepassword lookup plugin - Changed to ignore errors from "op account get" calls. Previously, errors would prevent auto-signin code from executing (https://github.com/ansible-collections/community.general/pull/5942).
|
||||||
|
- onepassword_raw - add missing parameter to plugin documentation (https://github.com/ansible-collections/community.general/issues/5506).
|
||||||
|
- opkg - fix issue that ``force=reinstall`` would not reinstall an existing package (https://github.com/ansible-collections/community.general/pull/5705).
|
||||||
|
- opkg - fixes bug when using ``update_cache=true`` (https://github.com/ansible-collections/community.general/issues/6004).
|
||||||
|
- passwordstore lookup plugin - make compatible with ansible-core 2.16 (https://github.com/ansible-collections/community.general/pull/6447).
|
||||||
|
- pipx - fixed handling of ``install_deps=true`` with ``state=latest`` and ``state=upgrade`` (https://github.com/ansible-collections/community.general/pull/6303).
|
||||||
|
- portage - update the logic for generating the emerge command arguments to ensure that ``withbdeps: false`` results in a passing an ``n`` argument with the ``--with-bdeps`` emerge flag (https://github.com/ansible-collections/community.general/issues/6451, https://github.com/ansible-collections/community.general/pull/6456).
|
||||||
|
- proxmox inventory plugin - fix bug while templating when using templates for the ``url``, ``user``, ``password``, ``token_id``, or ``token_secret`` options (https://github.com/ansible-collections/community.general/pull/5640).
|
||||||
|
- proxmox inventory plugin - handle tags delimited by semicolon instead of comma, which happens from Proxmox 7.3 on (https://github.com/ansible-collections/community.general/pull/5602).
|
||||||
|
- proxmox_disk - avoid duplicate ``vmid`` reference (https://github.com/ansible-collections/community.general/issues/5492, https://github.com/ansible-collections/community.general/pull/5493).
|
||||||
|
- proxmox_disk - fixed issue with read timeout on import action (https://github.com/ansible-collections/community.general/pull/5803).
|
||||||
|
- proxmox_disk - fixed possible issues with redundant ``vmid`` parameter (https://github.com/ansible-collections/community.general/issues/5492, https://github.com/ansible-collections/community.general/pull/5672).
|
||||||
|
- proxmox_nic - fixed possible issues with redundant ``vmid`` parameter (https://github.com/ansible-collections/community.general/issues/5492, https://github.com/ansible-collections/community.general/pull/5672).
|
||||||
|
- puppet - handling ``noop`` parameter was not working at all, now it is has been fixed (https://github.com/ansible-collections/community.general/issues/6452, https://github.com/ansible-collections/community.general/issues/6458).
|
||||||
|
- redfish_utils - removed basic auth HTTP header when performing a GET on the service root resource and when performing a POST to the session collection (https://github.com/ansible-collections/community.general/issues/5886).
|
||||||
|
- redhat_subscription - do not ignore ``consumer_name`` and other variables if ``activationkey`` is specified (https://github.com/ansible-collections/community.general/issues/3486, https://github.com/ansible-collections/community.general/pull/5627).
|
||||||
|
- redhat_subscription - do not pass arguments to ``subscription-manager register`` for things already configured; now a specified ``rhsm_baseurl`` is properly set for subscription-manager (https://github.com/ansible-collections/community.general/pull/5583).
|
||||||
|
- redhat_subscription - do not use D-Bus for registering when ``environment`` is specified, so it possible to specify again the environment names for registering, as the D-Bus APIs work only with IDs (https://github.com/ansible-collections/community.general/pull/6319).
|
||||||
|
- redhat_subscription - try to unregister only when already registered when ``force_register`` is specified (https://github.com/ansible-collections/community.general/issues/6258, https://github.com/ansible-collections/community.general/pull/6259).
|
||||||
|
- redhat_subscription - use the right D-Bus options for environments when registering a CentOS Stream 8 system and using ``environment`` (https://github.com/ansible-collections/community.general/pull/6275).
|
||||||
|
- redhat_subscription, rhsm_release, rhsm_repository - cleanly fail when not running as root, rather than hanging on an interactive ``console-helper`` prompt; they all interact with ``subscription-manager``, which already requires to be run as root (https://github.com/ansible-collections/community.general/issues/734, https://github.com/ansible-collections/community.general/pull/6211).
|
||||||
|
- rhsm_release - make ``release`` parameter not required so it is possible to pass ``null`` as a value. This only was possible in the past due to a bug in ansible-core that now has been fixed (https://github.com/ansible-collections/community.general/pull/6401).
|
||||||
|
- rundeck module utils - fix errors caused by the API empty responses (https://github.com/ansible-collections/community.general/pull/6300)
|
||||||
|
- rundeck_acl_policy - fix ``TypeError - byte indices must be integers or slices, not str`` error caused by empty API response. Update the module to use ``module_utils.rundeck`` functions (https://github.com/ansible-collections/community.general/pull/5887, https://github.com/ansible-collections/community.general/pull/6300).
|
||||||
|
- rundeck_project - update the module to use ``module_utils.rundeck`` functions (https://github.com/ansible-collections/community.general/issues/5742) (https://github.com/ansible-collections/community.general/pull/6300)
|
||||||
|
- snap_alias - module would only recognize snap names containing letter, numbers or the underscore character, failing to identify valid snap names such as ``lxd.lxc`` (https://github.com/ansible-collections/community.general/pull/6361).
|
||||||
|
- splunk callback plugin - adjust type of callback to ``notification``, it was incorrectly classified as ``aggregate`` before (https://github.com/ansible-collections/community.general/pull/5761).
|
||||||
|
- sumologic callback plugin - adjust type of callback to ``notification``, it was incorrectly classified as ``aggregate`` before (https://github.com/ansible-collections/community.general/pull/5761).
|
||||||
|
- syslog_json callback plugin - adjust type of callback to ``notification``, it was incorrectly classified as ``aggregate`` before (https://github.com/ansible-collections/community.general/pull/5761).
|
||||||
|
- terraform - fix ``current`` workspace never getting appended to the ``all`` key in the ``workspace_ctf`` object (https://github.com/ansible-collections/community.general/pull/5735).
|
||||||
|
- terraform - fix ``terraform init`` failure when there are multiple workspaces on the remote backend and when ``default`` workspace is missing by setting ``TF_WORKSPACE`` environmental variable to the value of ``workspace`` when used (https://github.com/ansible-collections/community.general/pull/5735).
|
||||||
|
- terraform - fix broken ``warn()`` call (https://github.com/ansible-collections/community.general/pull/6497).
|
||||||
|
- terraform and timezone - slight refactoring to avoid linter reporting potentially undefined variables (https://github.com/ansible-collections/community.general/pull/5933).
|
||||||
|
- terraform module - disable ANSI escape sequences during validation phase (https://github.com/ansible-collections/community.general/pull/5843).
|
||||||
|
- tss lookup plugin - allow to download secret attachments. Previously, we could not download secret attachments but now use ``fetch_attachments`` and ``file_download_path`` variables to download attachments (https://github.com/ansible-collections/community.general/issues/6224).
|
||||||
|
- unixy callback plugin - fix plugin to work with ansible-core 2.14 by using Ansible's configuration manager for handling options (https://github.com/ansible-collections/community.general/issues/5600).
|
||||||
|
- unixy callback plugin - fix typo introduced when updating to use Ansible's configuration manager for handling options (https://github.com/ansible-collections/community.general/issues/5600).
|
||||||
|
- various plugins and modules - remove unnecessary imports (https://github.com/ansible-collections/community.general/pull/5940).
|
||||||
|
- vdo - now uses ``yaml.safe_load()`` to parse command output instead of the deprecated ``yaml.load()`` which is potentially unsafe. Using ``yaml.load()`` without explicitely setting a ``Loader=`` is also an error in pyYAML 6.0 (https://github.com/ansible-collections/community.general/pull/5632).
|
||||||
|
- vmadm - fix for index out of range error in ``get_vm_uuid`` (https://github.com/ansible-collections/community.general/pull/5628).
|
||||||
|
- xenorchestra inventory plugin - fix failure to receive objects from server due to not checking the id of the response (https://github.com/ansible-collections/community.general/pull/6227).
|
||||||
|
- xfs_quota - in case of a project quota, the call to ``xfs_quota`` did not initialize/reset the project (https://github.com/ansible-collections/community.general/issues/5143).
|
||||||
|
- xml - fixed a bug where empty ``children`` list would not be set (https://github.com/ansible-collections/community.general/pull/5808).
|
||||||
|
- yarn - fix ``global=true`` to check for the configured global folder instead of assuming the default (https://github.com/ansible-collections/community.general/pull/5829)
|
||||||
|
- yarn - fix ``global=true`` to not fail when `executable` wasn't specified (https://github.com/ansible-collections/community.general/pull/6132)
|
||||||
|
- yarn - fix ``state=absent`` not working with ``global=true`` when the package does not include a binary (https://github.com/ansible-collections/community.general/pull/5829)
|
||||||
|
- yarn - fix ``state=latest`` not working with ``global=true`` (https://github.com/ansible-collections/community.general/issues/5712).
|
||||||
|
- yarn - fixes bug where yarn module tasks would fail when warnings were emitted from Yarn. The ``yarn.list`` method was not filtering out warnings (https://github.com/ansible-collections/community.general/issues/6127).
|
||||||
|
- zfs_delegate_admin - zfs allow output can now be parsed when uids/gids are not known to the host system (https://github.com/ansible-collections/community.general/pull/5943).
|
||||||
|
- zypper - make package managing work on readonly filesystem of openSUSE MicroOS (https://github.com/ansible-collections/community.general/pull/5615).
|
||||||
|
|
||||||
|
New Plugins
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Lookup
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
|
- merge_variables - merge variables with a certain suffix
|
||||||
|
|
||||||
|
New Modules
|
||||||
|
-----------
|
||||||
|
|
||||||
|
- btrfs_info - Query btrfs filesystem info
|
||||||
|
- btrfs_subvolume - Manage btrfs subvolumes
|
||||||
|
- gitlab_project_badge - Manage project badges on GitLab Server
|
||||||
|
- ilo_redfish_command - Manages Out-Of-Band controllers using Redfish APIs
|
||||||
|
- ipbase_info - Retrieve IP geolocation and other facts of a host's IP address using the ipbase.com API
|
||||||
|
- kdeconfig - Manage KDE configuration files
|
||||||
|
- keycloak_authz_authorization_scope - Allows administration of Keycloak client authorization scopes via Keycloak API
|
||||||
|
- keycloak_clientscope_type - Set the type of aclientscope in realm or client via Keycloak API
|
||||||
|
- keycloak_clientsecret_info - Retrieve client secret via Keycloak API
|
||||||
|
- keycloak_clientsecret_regenerate - Regenerate Keycloak client secret via Keycloak API
|
||||||
|
- ocapi_command - Manages Out-Of-Band controllers using Open Composable API (OCAPI)
|
||||||
|
- ocapi_info - Manages Out-Of-Band controllers using Open Composable API (OCAPI)
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ Also, consider taking up a valuable, reviewed, but abandoned pull request which
|
|||||||
* Try committing your changes with an informative but short commit message.
|
* Try committing your changes with an informative but short commit message.
|
||||||
* Do not squash your commits and force-push to your branch if not needed. Reviews of your pull request are much easier with individual commits to comprehend the pull request history. All commits of your pull request branch will be squashed into one commit by GitHub upon merge.
|
* Do not squash your commits and force-push to your branch if not needed. Reviews of your pull request are much easier with individual commits to comprehend the pull request history. All commits of your pull request branch will be squashed into one commit by GitHub upon merge.
|
||||||
* Do not add merge commits to your PR. The bot will complain and you will have to rebase ([instructions for rebasing](https://docs.ansible.com/ansible/latest/dev_guide/developing_rebasing.html)) to remove them before your PR can be merged. To avoid that git automatically does merges during pulls, you can configure it to do rebases instead by running `git config pull.rebase true` inside the repository checkout.
|
* Do not add merge commits to your PR. The bot will complain and you will have to rebase ([instructions for rebasing](https://docs.ansible.com/ansible/latest/dev_guide/developing_rebasing.html)) to remove them before your PR can be merged. To avoid that git automatically does merges during pulls, you can configure it to do rebases instead by running `git config pull.rebase true` inside the repository checkout.
|
||||||
* Make sure your PR includes a [changelog fragment](https://docs.ansible.com/ansible/devel/community/development_process.html#changelogs-how-to). (You must not include a fragment for new modules or new plugins, except for test and filter plugins. Also you shouldn't include one for docs-only changes. If you're not sure, simply don't include one, we'll tell you whether one is needed or not :) )
|
* Make sure your PR includes a [changelog fragment](https://docs.ansible.com/ansible/devel/community/development_process.html#creating-changelog-fragments). (You must not include a fragment for new modules or new plugins. Also you shouldn't include one for docs-only changes. If you're not sure, simply don't include one, we'll tell you whether one is needed or not :) )
|
||||||
* Avoid reformatting unrelated parts of the codebase in your PR. These types of changes will likely be requested for reversion, create additional work for reviewers, and may cause approval to be delayed.
|
* Avoid reformatting unrelated parts of the codebase in your PR. These types of changes will likely be requested for reversion, create additional work for reviewers, and may cause approval to be delayed.
|
||||||
|
|
||||||
You can also read [our Quick-start development guide](https://github.com/ansible/community-docs/blob/main/create_pr_quick_start_guide.rst).
|
You can also read [our Quick-start development guide](https://github.com/ansible/community-docs/blob/main/create_pr_quick_start_guide.rst).
|
||||||
|
|||||||
19
README.md
19
README.md
@@ -6,7 +6,8 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
|||||||
|
|
||||||
# Community General Collection
|
# Community General Collection
|
||||||
|
|
||||||
[](https://dev.azure.com/ansible/community.general/_build?definitionId=31)
|
[](https://dev.azure.com/ansible/community.general/_build?definitionId=31)
|
||||||
|
[](https://github.com/ansible-collections/community.general/actions)
|
||||||
[](https://codecov.io/gh/ansible-collections/community.general)
|
[](https://codecov.io/gh/ansible-collections/community.general)
|
||||||
|
|
||||||
This repository contains the `community.general` Ansible Collection. The collection is a part of the Ansible package and includes many modules and plugins supported by Ansible community which are not part of more specialized community collections.
|
This repository contains the `community.general` Ansible Collection. The collection is a part of the Ansible package and includes many modules and plugins supported by Ansible community which are not part of more specialized community collections.
|
||||||
@@ -23,7 +24,7 @@ If you encounter abusive behavior violating the [Ansible Code of Conduct](https:
|
|||||||
|
|
||||||
## Tested with Ansible
|
## Tested with Ansible
|
||||||
|
|
||||||
Tested with the current ansible-core 2.11, ansible-core 2.12, ansible-core 2.13, ansible-core 2.14 releases and the current development version of ansible-core. Ansible-core versions before 2.11.0 are not supported. This includes all ansible-base 2.10 and Ansible 2.9 releases.
|
Tested with the current ansible-core 2.11, ansible-core 2.12, ansible-core 2.13, ansible-core 2.14, ansible-core 2.15 releases and the current development version of ansible-core. Ansible-core versions before 2.11.0 are not supported. This includes all ansible-base 2.10 and Ansible 2.9 releases.
|
||||||
|
|
||||||
Parts of this collection will not work with ansible-core 2.11 on Python 3.12+.
|
Parts of this collection will not work with ansible-core 2.11 on Python 3.12+.
|
||||||
|
|
||||||
@@ -72,13 +73,13 @@ We are actively accepting new contributors.
|
|||||||
|
|
||||||
All types of contributions are very welcome.
|
All types of contributions are very welcome.
|
||||||
|
|
||||||
You don't know how to start? Refer to our [contribution guide](https://github.com/ansible-collections/community.general/blob/main/CONTRIBUTING.md)!
|
You don't know how to start? Refer to our [contribution guide](https://github.com/ansible-collections/community.general/blob/stable-7/CONTRIBUTING.md)!
|
||||||
|
|
||||||
The current maintainers are listed in the [commit-rights.md](https://github.com/ansible-collections/community.general/blob/main/commit-rights.md#people) file. If you have questions or need help, feel free to mention them in the proposals.
|
The current maintainers are listed in the [commit-rights.md](https://github.com/ansible-collections/community.general/blob/stable-7/commit-rights.md#people) file. If you have questions or need help, feel free to mention them in the proposals.
|
||||||
|
|
||||||
You can find more information in the [developer guide for collections](https://docs.ansible.com/ansible/devel/dev_guide/developing_collections.html#contributing-to-collections), and in the [Ansible Community Guide](https://docs.ansible.com/ansible/latest/community/index.html).
|
You can find more information in the [developer guide for collections](https://docs.ansible.com/ansible/devel/dev_guide/developing_collections.html#contributing-to-collections), and in the [Ansible Community Guide](https://docs.ansible.com/ansible/latest/community/index.html).
|
||||||
|
|
||||||
Also for some notes specific to this collection see [our CONTRIBUTING documentation](https://github.com/ansible-collections/community.general/blob/main/CONTRIBUTING.md).
|
Also for some notes specific to this collection see [our CONTRIBUTING documentation](https://github.com/ansible-collections/community.general/blob/stable-7/CONTRIBUTING.md).
|
||||||
|
|
||||||
### Running tests
|
### Running tests
|
||||||
|
|
||||||
@@ -88,7 +89,7 @@ See [here](https://docs.ansible.com/ansible/devel/dev_guide/developing_collectio
|
|||||||
|
|
||||||
To learn how to maintain / become a maintainer of this collection, refer to:
|
To learn how to maintain / become a maintainer of this collection, refer to:
|
||||||
|
|
||||||
* [Committer guidelines](https://github.com/ansible-collections/community.general/blob/main/commit-rights.md).
|
* [Committer guidelines](https://github.com/ansible-collections/community.general/blob/stable-7/commit-rights.md).
|
||||||
* [Maintainer guidelines](https://github.com/ansible/community-docs/blob/main/maintaining.rst).
|
* [Maintainer guidelines](https://github.com/ansible/community-docs/blob/main/maintaining.rst).
|
||||||
|
|
||||||
It is necessary for maintainers of this collection to be subscribed to:
|
It is necessary for maintainers of this collection to be subscribed to:
|
||||||
@@ -116,7 +117,7 @@ See the [Releasing guidelines](https://github.com/ansible/community-docs/blob/ma
|
|||||||
|
|
||||||
## Release notes
|
## Release notes
|
||||||
|
|
||||||
See the [changelog](https://github.com/ansible-collections/community.general/blob/main/CHANGELOG.rst).
|
See the [changelog](https://github.com/ansible-collections/community.general/blob/stable-7/CHANGELOG.rst).
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|
||||||
@@ -135,8 +136,8 @@ See [this issue](https://github.com/ansible-collections/community.general/issues
|
|||||||
|
|
||||||
This collection is primarily licensed and distributed as a whole under the GNU General Public License v3.0 or later.
|
This collection is primarily licensed and distributed as a whole under the GNU General Public License v3.0 or later.
|
||||||
|
|
||||||
See [LICENSES/GPL-3.0-or-later.txt](https://github.com/ansible-collections/community.general/blob/main/COPYING) for the full text.
|
See [LICENSES/GPL-3.0-or-later.txt](https://github.com/ansible-collections/community.general/blob/stable-7/COPYING) for the full text.
|
||||||
|
|
||||||
Parts of the collection are licensed under the [BSD 2-Clause license](https://github.com/ansible-collections/community.general/blob/main/LICENSES/BSD-2-Clause.txt), the [MIT license](https://github.com/ansible-collections/community.general/blob/main/LICENSES/MIT.txt), and the [PSF 2.0 license](https://github.com/ansible-collections/community.general/blob/main/LICENSES/PSF-2.0.txt).
|
Parts of the collection are licensed under the [BSD 2-Clause license](https://github.com/ansible-collections/community.general/blob/stable-7/LICENSES/BSD-2-Clause.txt), the [MIT license](https://github.com/ansible-collections/community.general/blob/stable-7/LICENSES/MIT.txt), and the [PSF 2.0 license](https://github.com/ansible-collections/community.general/blob/stable-7/LICENSES/PSF-2.0.txt).
|
||||||
|
|
||||||
All files have a machine readable `SDPX-License-Identifier:` comment denoting its respective license(s) or an equivalent entry in an accompanying `.license` file. Only changelog fragments (which will not be part of a release) are covered by a blanket statement in `.reuse/dep5`. This conforms to the [REUSE specification](https://reuse.software/spec/).
|
All files have a machine readable `SDPX-License-Identifier:` comment denoting its respective license(s) or an equivalent entry in an accompanying `.license` file. Only changelog fragments (which will not be part of a release) are covered by a blanket statement in `.reuse/dep5`. This conforms to the [REUSE specification](https://reuse.software/spec/).
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,2 +0,0 @@
|
|||||||
minor_changes:
|
|
||||||
- onepassword - support version 2 of the OnePassword CLI (https://github.com/ansible-collections/community.general/pull/4728)
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
bugfixes:
|
|
||||||
- ldap_attrs - fix bug which caused a ``Bad search filter`` error. The error was occuring when the ldap attribute value contained special characters such as ``(`` or ``*`` (https://github.com/ansible-collections/community.general/issues/5434, https://github.com/ansible-collections/community.general/pull/5435).
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
minor_changes:
|
|
||||||
- ldap_attrs - allow for DNs to have ``{x}`` prefix on first RDN (https://github.com/ansible-collections/community.general/issues/977, https://github.com/ansible-collections/community.general/pull/5450).
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
bugfixes:
|
|
||||||
- iso_create - the module somtimes failed to add folders for Joliet and UDF formats (https://github.com/ansible-collections/community.general/issues/5275).
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
bugfixes:
|
|
||||||
- snap - allow values in the ``options`` parameter to contain whitespaces (https://github.com/ansible-collections/community.general/pull/5475).
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
minor_changes:
|
|
||||||
- ansible_galaxy_install - refactored module to use ``CmdRunner`` to execute ``ansible-galaxy`` (https://github.com/ansible-collections/community.general/pull/5477).
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
minor_changes:
|
|
||||||
- hponcfg - refactored module to use ``CmdRunner`` to execute ``hponcfg`` (https://github.com/ansible-collections/community.general/pull/5483).
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
minor_changes:
|
|
||||||
- mksysb - refactored module to use ``CmdRunner`` to execute ``mksysb`` (https://github.com/ansible-collections/community.general/pull/5484).
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
minor_changes:
|
|
||||||
- cpanm - refactored module to use ``CmdRunner`` to execute ``cpanm`` (https://github.com/ansible-collections/community.general/pull/5485).
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
release_summary: >-
|
|
||||||
New major release of community.general with lots of bugfixes, new features, some removed deprecated features, and some other breaking changes.
|
|
||||||
Please check the coresponding sections of the changelog for more details.
|
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
namespace: community
|
namespace: community
|
||||||
name: general
|
name: general
|
||||||
version: 6.0.0
|
version: 7.1.0
|
||||||
readme: README.md
|
readme: README.md
|
||||||
authors:
|
authors:
|
||||||
- Ansible (https://github.com/ansible)
|
- Ansible (https://github.com/ansible)
|
||||||
|
|||||||
128
meta/runtime.yml
128
meta/runtime.yml
@@ -22,6 +22,120 @@ plugin_routing:
|
|||||||
nios_next_network:
|
nios_next_network:
|
||||||
redirect: infoblox.nios_modules.nios_next_network
|
redirect: infoblox.nios_modules.nios_next_network
|
||||||
modules:
|
modules:
|
||||||
|
rax_cbs_attachments:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_cbs:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_cdb_database:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_cdb_user:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_cdb:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_clb_nodes:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_clb_ssl:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_clb:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_dns_record:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_dns:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_facts:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_files_objects:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_files:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_identity:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_keypair:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_meta:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_mon_alarm:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_mon_check:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_mon_entity:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_mon_notification_plan:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_mon_notification:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_network:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_queue:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_scaling_group:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rax_scaling_policy:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module relies on the deprecated package pyrax.
|
||||||
|
rhn_channel:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 10.0.0
|
||||||
|
warning_text: RHN is EOL, please contact the community.general maintainers
|
||||||
|
if still using this; see the module documentation for more details.
|
||||||
|
rhn_register:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 10.0.0
|
||||||
|
warning_text: RHN is EOL, please contact the community.general maintainers
|
||||||
|
if still using this; see the module documentation for more details.
|
||||||
database.aerospike.aerospike_migrations:
|
database.aerospike.aerospike_migrations:
|
||||||
redirect: community.general.aerospike_migrations
|
redirect: community.general.aerospike_migrations
|
||||||
deprecation:
|
deprecation:
|
||||||
@@ -972,6 +1086,8 @@ plugin_routing:
|
|||||||
warning_text: You are using an internal name to access the community.general.heroku_collaborator
|
warning_text: You are using an internal name to access the community.general.heroku_collaborator
|
||||||
modules. This has never been supported or documented, and will stop working
|
modules. This has never been supported or documented, and will stop working
|
||||||
in community.general 9.0.0.
|
in community.general 9.0.0.
|
||||||
|
hana_query:
|
||||||
|
redirect: community.sap_libs.sap_hdbsql
|
||||||
hetzner_failover_ip:
|
hetzner_failover_ip:
|
||||||
redirect: community.hrobot.failover_ip
|
redirect: community.hrobot.failover_ip
|
||||||
hetzner_failover_ip_info:
|
hetzner_failover_ip_info:
|
||||||
@@ -3389,6 +3505,10 @@ plugin_routing:
|
|||||||
warning_text: You are using an internal name to access the community.general.redfish_info
|
warning_text: You are using an internal name to access the community.general.redfish_info
|
||||||
modules. This has never been supported or documented, and will stop working
|
modules. This has never been supported or documented, and will stop working
|
||||||
in community.general 9.0.0.
|
in community.general 9.0.0.
|
||||||
|
sapcar_extract:
|
||||||
|
redirect: community.sap_libs.sapcar_extract
|
||||||
|
sap_task_list_execute:
|
||||||
|
redirect: community.sap_libs.sap_task_list_execute
|
||||||
packaging.os.redhat_subscription:
|
packaging.os.redhat_subscription:
|
||||||
redirect: community.general.redhat_subscription
|
redirect: community.general.redhat_subscription
|
||||||
deprecation:
|
deprecation:
|
||||||
@@ -4493,6 +4613,10 @@ plugin_routing:
|
|||||||
modules. This has never been supported or documented, and will stop working
|
modules. This has never been supported or documented, and will stop working
|
||||||
in community.general 9.0.0.
|
in community.general 9.0.0.
|
||||||
doc_fragments:
|
doc_fragments:
|
||||||
|
rackspace:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This doc fragment is used by rax modules, that rely on the deprecated package pyrax.
|
||||||
_gcp:
|
_gcp:
|
||||||
redirect: community.google._gcp
|
redirect: community.google._gcp
|
||||||
docker:
|
docker:
|
||||||
@@ -4508,6 +4632,10 @@ plugin_routing:
|
|||||||
postgresql:
|
postgresql:
|
||||||
redirect: community.postgresql.postgresql
|
redirect: community.postgresql.postgresql
|
||||||
module_utils:
|
module_utils:
|
||||||
|
rax:
|
||||||
|
deprecation:
|
||||||
|
removal_version: 9.0.0
|
||||||
|
warning_text: This module util relies on the deprecated package pyrax.
|
||||||
docker.common:
|
docker.common:
|
||||||
redirect: community.docker.common
|
redirect: community.docker.common
|
||||||
docker.swarm:
|
docker.swarm:
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
|
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
from ansible.errors import AnsibleError, AnsibleConnectionFailure
|
from ansible.errors import AnsibleError, AnsibleConnectionFailure
|
||||||
@@ -80,13 +81,6 @@ class ActionModule(ActionBase):
|
|||||||
getattr(self, default_value))))
|
getattr(self, default_value))))
|
||||||
return value
|
return value
|
||||||
|
|
||||||
def get_shutdown_command_args(self, distribution):
|
|
||||||
args = self._get_value_from_facts('SHUTDOWN_COMMAND_ARGS', distribution, 'DEFAULT_SHUTDOWN_COMMAND_ARGS')
|
|
||||||
# Convert seconds to minutes. If less that 60, set it to 0.
|
|
||||||
delay_sec = self.delay
|
|
||||||
shutdown_message = self._task.args.get('msg', self.DEFAULT_SHUTDOWN_MESSAGE)
|
|
||||||
return args.format(delay_sec=delay_sec, delay_min=delay_sec // 60, message=shutdown_message)
|
|
||||||
|
|
||||||
def get_distribution(self, task_vars):
|
def get_distribution(self, task_vars):
|
||||||
# FIXME: only execute the module if we don't already have the facts we need
|
# FIXME: only execute the module if we don't already have the facts we need
|
||||||
distribution = {}
|
distribution = {}
|
||||||
@@ -101,7 +95,8 @@ class ActionModule(ActionBase):
|
|||||||
to_native(module_output['module_stdout']).strip(),
|
to_native(module_output['module_stdout']).strip(),
|
||||||
to_native(module_output['module_stderr']).strip()))
|
to_native(module_output['module_stderr']).strip()))
|
||||||
distribution['name'] = module_output['ansible_facts']['ansible_distribution'].lower()
|
distribution['name'] = module_output['ansible_facts']['ansible_distribution'].lower()
|
||||||
distribution['version'] = to_text(module_output['ansible_facts']['ansible_distribution_version'].split('.')[0])
|
distribution['version'] = to_text(
|
||||||
|
module_output['ansible_facts']['ansible_distribution_version'].split('.')[0])
|
||||||
distribution['family'] = to_text(module_output['ansible_facts']['ansible_os_family'].lower())
|
distribution['family'] = to_text(module_output['ansible_facts']['ansible_os_family'].lower())
|
||||||
display.debug("{action}: distribution: {dist}".format(action=self._task.action, dist=distribution))
|
display.debug("{action}: distribution: {dist}".format(action=self._task.action, dist=distribution))
|
||||||
return distribution
|
return distribution
|
||||||
@@ -109,6 +104,23 @@ class ActionModule(ActionBase):
|
|||||||
raise AnsibleError('Failed to get distribution information. Missing "{0}" in output.'.format(ke.args[0]))
|
raise AnsibleError('Failed to get distribution information. Missing "{0}" in output.'.format(ke.args[0]))
|
||||||
|
|
||||||
def get_shutdown_command(self, task_vars, distribution):
|
def get_shutdown_command(self, task_vars, distribution):
|
||||||
|
def find_command(command, find_search_paths):
|
||||||
|
display.debug('{action}: running find module looking in {paths} to get path for "{command}"'.format(
|
||||||
|
action=self._task.action,
|
||||||
|
command=command,
|
||||||
|
paths=find_search_paths))
|
||||||
|
find_result = self._execute_module(
|
||||||
|
task_vars=task_vars,
|
||||||
|
# prevent collection search by calling with ansible.legacy (still allows library/ override of find)
|
||||||
|
module_name='ansible.legacy.find',
|
||||||
|
module_args={
|
||||||
|
'paths': find_search_paths,
|
||||||
|
'patterns': [command],
|
||||||
|
'file_type': 'any'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
return [x['path'] for x in find_result['files']]
|
||||||
|
|
||||||
shutdown_bin = self._get_value_from_facts('SHUTDOWN_COMMANDS', distribution, 'DEFAULT_SHUTDOWN_COMMAND')
|
shutdown_bin = self._get_value_from_facts('SHUTDOWN_COMMANDS', distribution, 'DEFAULT_SHUTDOWN_COMMAND')
|
||||||
default_search_paths = ['/sbin', '/usr/sbin', '/usr/local/sbin']
|
default_search_paths = ['/sbin', '/usr/sbin', '/usr/local/sbin']
|
||||||
search_paths = self._task.args.get('search_paths', default_search_paths)
|
search_paths = self._task.args.get('search_paths', default_search_paths)
|
||||||
@@ -127,45 +139,53 @@ class ActionModule(ActionBase):
|
|||||||
except TypeError:
|
except TypeError:
|
||||||
raise AnsibleError(err_msg.format(search_paths))
|
raise AnsibleError(err_msg.format(search_paths))
|
||||||
|
|
||||||
display.debug('{action}: running find module looking in {paths} to get path for "{command}"'.format(
|
full_path = find_command(shutdown_bin, search_paths) # find the path to the shutdown command
|
||||||
action=self._task.action,
|
if not full_path: # if we could not find the shutdown command
|
||||||
command=shutdown_bin,
|
display.vvv('Unable to find command "{0}" in search paths: {1}, will attempt a shutdown using systemd '
|
||||||
paths=search_paths))
|
'directly.'.format(shutdown_bin, search_paths)) # tell the user we will try with systemd
|
||||||
find_result = self._execute_module(
|
systemctl_search_paths = ['/bin', '/usr/bin']
|
||||||
task_vars=task_vars,
|
full_path = find_command('systemctl', systemctl_search_paths) # find the path to the systemctl command
|
||||||
# prevent collection search by calling with ansible.legacy (still allows library/ override of find)
|
if not full_path: # if we couldn't find systemctl
|
||||||
module_name='ansible.legacy.find',
|
raise AnsibleError(
|
||||||
module_args={
|
'Could not find command "{0}" in search paths: {1} or systemctl command in search paths: {2}, unable to shutdown.'.
|
||||||
'paths': search_paths,
|
format(shutdown_bin, search_paths, systemctl_search_paths)) # we give up here
|
||||||
'patterns': [shutdown_bin],
|
else:
|
||||||
'file_type': 'any'
|
return "{0} poweroff".format(full_path[0]) # done, since we cannot use args with systemd shutdown
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
full_path = [x['path'] for x in find_result['files']]
|
# systemd case taken care of, here we add args to the command
|
||||||
if not full_path:
|
args = self._get_value_from_facts('SHUTDOWN_COMMAND_ARGS', distribution, 'DEFAULT_SHUTDOWN_COMMAND_ARGS')
|
||||||
raise AnsibleError('Unable to find command "{0}" in search paths: {1}'.format(shutdown_bin, search_paths))
|
# Convert seconds to minutes. If less that 60, set it to 0.
|
||||||
self._shutdown_command = full_path[0]
|
delay_sec = self.delay
|
||||||
return self._shutdown_command
|
shutdown_message = self._task.args.get('msg', self.DEFAULT_SHUTDOWN_MESSAGE)
|
||||||
|
return '{0} {1}'. \
|
||||||
|
format(
|
||||||
|
full_path[0],
|
||||||
|
args.format(
|
||||||
|
delay_sec=delay_sec,
|
||||||
|
delay_min=delay_sec // 60,
|
||||||
|
message=shutdown_message
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
def perform_shutdown(self, task_vars, distribution):
|
def perform_shutdown(self, task_vars, distribution):
|
||||||
result = {}
|
result = {}
|
||||||
shutdown_result = {}
|
shutdown_result = {}
|
||||||
shutdown_command = self.get_shutdown_command(task_vars, distribution)
|
shutdown_command_exec = self.get_shutdown_command(task_vars, distribution)
|
||||||
shutdown_command_args = self.get_shutdown_command_args(distribution)
|
|
||||||
shutdown_command_exec = '{0} {1}'.format(shutdown_command, shutdown_command_args)
|
|
||||||
|
|
||||||
self.cleanup(force=True)
|
self.cleanup(force=True)
|
||||||
try:
|
try:
|
||||||
display.vvv("{action}: shutting down server...".format(action=self._task.action))
|
display.vvv("{action}: shutting down server...".format(action=self._task.action))
|
||||||
display.debug("{action}: shutting down server with command '{command}'".format(action=self._task.action, command=shutdown_command_exec))
|
display.debug("{action}: shutting down server with command '{command}'".
|
||||||
|
format(action=self._task.action, command=shutdown_command_exec))
|
||||||
if self._play_context.check_mode:
|
if self._play_context.check_mode:
|
||||||
shutdown_result['rc'] = 0
|
shutdown_result['rc'] = 0
|
||||||
else:
|
else:
|
||||||
shutdown_result = self._low_level_execute_command(shutdown_command_exec, sudoable=self.DEFAULT_SUDOABLE)
|
shutdown_result = self._low_level_execute_command(shutdown_command_exec, sudoable=self.DEFAULT_SUDOABLE)
|
||||||
except AnsibleConnectionFailure as e:
|
except AnsibleConnectionFailure as e:
|
||||||
# If the connection is closed too quickly due to the system being shutdown, carry on
|
# If the connection is closed too quickly due to the system being shutdown, carry on
|
||||||
display.debug('{action}: AnsibleConnectionFailure caught and handled: {error}'.format(action=self._task.action, error=to_text(e)))
|
display.debug(
|
||||||
|
'{action}: AnsibleConnectionFailure caught and handled: {error}'.format(action=self._task.action,
|
||||||
|
error=to_text(e)))
|
||||||
shutdown_result['rc'] = 0
|
shutdown_result['rc'] = 0
|
||||||
|
|
||||||
if shutdown_result['rc'] != 0:
|
if shutdown_result['rc'] != 0:
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ DOCUMENTATION = '''
|
|||||||
- section: machinectl_become_plugin
|
- section: machinectl_become_plugin
|
||||||
key: password
|
key: password
|
||||||
notes:
|
notes:
|
||||||
- When not using this plugin with user C(root), it only works correctly with a polkit rule which will alter
|
- When not using this plugin with user V(root), it only works correctly with a polkit rule which will alter
|
||||||
the behaviour of machinectl. This rule must alter the prompt behaviour to ask directly for the user credentials,
|
the behaviour 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 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,
|
If such a rule is not present the plugin only work if it is used in context with the root user,
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ DOCUMENTATION = '''
|
|||||||
env:
|
env:
|
||||||
- name: ANSIBLE_PFEXEC_WRAP_EXECUTION
|
- name: ANSIBLE_PFEXEC_WRAP_EXECUTION
|
||||||
notes:
|
notes:
|
||||||
- This plugin ignores I(become_user) as pfexec uses it's own C(exec_attr) to figure this out.
|
- This plugin ignores O(become_user) as pfexec uses it's own C(exec_attr) to figure this out.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
from ansible.plugins.become import BecomeBase
|
from ansible.plugins.become import BecomeBase
|
||||||
|
|||||||
2
plugins/cache/memcached.py
vendored
2
plugins/cache/memcached.py
vendored
@@ -52,11 +52,9 @@ import time
|
|||||||
from multiprocessing import Lock
|
from multiprocessing import Lock
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
|
|
||||||
from ansible import constants as C
|
|
||||||
from ansible.errors import AnsibleError
|
from ansible.errors import AnsibleError
|
||||||
from ansible.module_utils.common._collections_compat import MutableSet
|
from ansible.module_utils.common._collections_compat import MutableSet
|
||||||
from ansible.plugins.cache import BaseCacheModule
|
from ansible.plugins.cache import BaseCacheModule
|
||||||
from ansible.release import __version__ as ansible_base_version
|
|
||||||
from ansible.utils.display import Display
|
from ansible.utils.display import Display
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|||||||
8
plugins/cache/redis.py
vendored
8
plugins/cache/redis.py
vendored
@@ -18,9 +18,9 @@ DOCUMENTATION = '''
|
|||||||
_uri:
|
_uri:
|
||||||
description:
|
description:
|
||||||
- A colon separated string of connection information for Redis.
|
- A colon separated string of connection information for Redis.
|
||||||
- The format is C(host:port:db:password), for example C(localhost:6379:0:changeme).
|
- The format is V(host:port:db:password), for example V(localhost:6379:0:changeme).
|
||||||
- To use encryption in transit, prefix the connection with C(tls://), as in C(tls://localhost:6379:0:changeme).
|
- To use encryption in transit, prefix the connection with V(tls://), as in V(tls://localhost:6379:0:changeme).
|
||||||
- To use redis sentinel, use separator C(;), for example C(localhost:26379;localhost:26379;0:changeme). Requires redis>=2.9.0.
|
- To use redis sentinel, use separator V(;), for example V(localhost:26379;localhost:26379;0:changeme). Requires redis>=2.9.0.
|
||||||
required: true
|
required: true
|
||||||
env:
|
env:
|
||||||
- name: ANSIBLE_CACHE_PLUGIN_CONNECTION
|
- name: ANSIBLE_CACHE_PLUGIN_CONNECTION
|
||||||
@@ -67,12 +67,10 @@ import re
|
|||||||
import time
|
import time
|
||||||
import json
|
import json
|
||||||
|
|
||||||
from ansible import constants as C
|
|
||||||
from ansible.errors import AnsibleError
|
from ansible.errors import AnsibleError
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
from ansible.parsing.ajson import AnsibleJSONEncoder, AnsibleJSONDecoder
|
from ansible.parsing.ajson import AnsibleJSONEncoder, AnsibleJSONDecoder
|
||||||
from ansible.plugins.cache import BaseCacheModule
|
from ansible.plugins.cache import BaseCacheModule
|
||||||
from ansible.release import __version__ as ansible_base_version
|
|
||||||
from ansible.utils.display import Display
|
from ansible.utils.display import Display
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -16,15 +16,15 @@ DOCUMENTATION = '''
|
|||||||
- cgroups
|
- cgroups
|
||||||
short_description: Profiles maximum memory usage of tasks and full execution using cgroups
|
short_description: Profiles maximum memory usage of tasks and full execution using cgroups
|
||||||
description:
|
description:
|
||||||
- This is an ansible callback plugin that profiles maximum memory usage of ansible and individual tasks, and displays a recap at the end using cgroups
|
- This is an ansible callback plugin that profiles maximum memory usage of ansible and individual tasks, and displays a recap at the end using cgroups.
|
||||||
notes:
|
notes:
|
||||||
- Requires ansible to be run from within a cgroup, such as with C(cgexec -g memory:ansible_profile ansible-playbook ...)
|
- Requires ansible to be run from within a cgroup, such as with C(cgexec -g memory:ansible_profile ansible-playbook ...).
|
||||||
- This cgroup should only be used by ansible to get accurate results
|
- This cgroup should only be used by ansible to get accurate results.
|
||||||
- To create the cgroup, first use a command such as C(sudo cgcreate -a ec2-user:ec2-user -t ec2-user:ec2-user -g memory:ansible_profile)
|
- To create the cgroup, first use a command such as C(sudo cgcreate -a ec2-user:ec2-user -t ec2-user:ec2-user -g memory:ansible_profile).
|
||||||
options:
|
options:
|
||||||
max_mem_file:
|
max_mem_file:
|
||||||
required: true
|
required: true
|
||||||
description: Path to cgroups C(memory.max_usage_in_bytes) file. Example C(/sys/fs/cgroup/memory/ansible_profile/memory.max_usage_in_bytes)
|
description: Path to cgroups C(memory.max_usage_in_bytes) file. Example V(/sys/fs/cgroup/memory/ansible_profile/memory.max_usage_in_bytes).
|
||||||
env:
|
env:
|
||||||
- name: CGROUP_MAX_MEM_FILE
|
- name: CGROUP_MAX_MEM_FILE
|
||||||
ini:
|
ini:
|
||||||
@@ -32,7 +32,7 @@ DOCUMENTATION = '''
|
|||||||
key: max_mem_file
|
key: max_mem_file
|
||||||
cur_mem_file:
|
cur_mem_file:
|
||||||
required: true
|
required: true
|
||||||
description: Path to C(memory.usage_in_bytes) file. Example C(/sys/fs/cgroup/memory/ansible_profile/memory.usage_in_bytes)
|
description: Path to C(memory.usage_in_bytes) file. Example V(/sys/fs/cgroup/memory/ansible_profile/memory.usage_in_bytes).
|
||||||
env:
|
env:
|
||||||
- name: CGROUP_CUR_MEM_FILE
|
- name: CGROUP_CUR_MEM_FILE
|
||||||
ini:
|
ini:
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ DOCUMENTATION = '''
|
|||||||
type: aggregate
|
type: aggregate
|
||||||
short_description: demo callback that adds play/task context
|
short_description: demo callback that adds play/task context
|
||||||
description:
|
description:
|
||||||
- Displays some play and task context along with normal output
|
- Displays some play and task context along with normal output.
|
||||||
- This is mostly for demo purposes
|
- This is mostly for demo purposes.
|
||||||
requirements:
|
requirements:
|
||||||
- whitelist in configuration
|
- whitelist in configuration
|
||||||
'''
|
'''
|
||||||
|
|||||||
@@ -21,13 +21,12 @@ DOCUMENTATION = '''
|
|||||||
extends_documentation_fragment:
|
extends_documentation_fragment:
|
||||||
- default_callback
|
- default_callback
|
||||||
requirements:
|
requirements:
|
||||||
- set as stdout callback in ansible.cfg (stdout_callback = counter_enabled)
|
- set as stdout callback in C(ansible.cfg) (C(stdout_callback = counter_enabled))
|
||||||
'''
|
'''
|
||||||
|
|
||||||
from ansible import constants as C
|
from ansible import constants as C
|
||||||
from ansible.plugins.callback import CallbackBase
|
from ansible.plugins.callback import CallbackBase
|
||||||
from ansible.utils.color import colorize, hostcolor
|
from ansible.utils.color import colorize, hostcolor
|
||||||
from ansible.template import Templar
|
|
||||||
from ansible.playbook.task_include import TaskInclude
|
from ansible.playbook.task_include import TaskInclude
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ short_description: minimal stdout output
|
|||||||
extends_documentation_fragment:
|
extends_documentation_fragment:
|
||||||
- default_callback
|
- default_callback
|
||||||
description:
|
description:
|
||||||
- When in verbose mode it will act the same as the default callback
|
- When in verbose mode it will act the same as the default callback.
|
||||||
author:
|
author:
|
||||||
- Dag Wieers (@dagwieers)
|
- Dag Wieers (@dagwieers)
|
||||||
requirements:
|
requirements:
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ DOCUMENTATION = r'''
|
|||||||
extends_documentation_fragment:
|
extends_documentation_fragment:
|
||||||
- default_callback
|
- default_callback
|
||||||
notes:
|
notes:
|
||||||
- Uses the C(default) callback plugin output when a custom callback message(C(msg)) is not provided.
|
- Uses the P(ansible.builtin.default#callback) callback plugin output when a custom callback V(message(msg\)) is not provided.
|
||||||
- Makes the callback event data available via the C(ansible_callback_diy) dictionary, which can be used in the templating context for the options.
|
- Makes the callback event data available via the C(ansible_callback_diy) dictionary, which can be used in the templating context for the options.
|
||||||
The dictionary is only available in the templating context for the options. It is not a variable that is available via the other
|
The dictionary is only available in the templating context for the options. It is not a variable that is available via the other
|
||||||
various execution contexts, such as playbook, play, task etc.
|
various execution contexts, such as playbook, play, task etc.
|
||||||
@@ -40,8 +40,8 @@ DOCUMENTATION = r'''
|
|||||||
if value C(is not None and not omit and length is greater than 0),
|
if value C(is not None and not omit and length is greater than 0),
|
||||||
then the option is being used with output.
|
then the option is being used with output.
|
||||||
**Effect**: render value as template and output"
|
**Effect**: render value as template and output"
|
||||||
- "Valid color values: C(black), C(bright gray), C(blue), C(white), C(green), C(bright blue), C(cyan), C(bright green), C(red), C(bright cyan),
|
- "Valid color values: V(black), V(bright gray), V(blue), V(white), V(green), V(bright blue), V(cyan), V(bright green), V(red), V(bright cyan),
|
||||||
C(purple), C(bright red), C(yellow), C(bright purple), C(dark gray), C(bright yellow), C(magenta), C(bright magenta), C(normal)"
|
V(purple), V(bright red), V(yellow), V(bright purple), V(dark gray), V(bright yellow), V(magenta), V(bright magenta), V(normal)"
|
||||||
seealso:
|
seealso:
|
||||||
- name: default – default Ansible screen output
|
- name: default – default Ansible screen output
|
||||||
description: The official documentation on the B(default) callback plugin.
|
description: The official documentation on the B(default) callback plugin.
|
||||||
@@ -62,7 +62,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
on_any_msg_color:
|
on_any_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(on_any_msg).
|
- Output color to be used for O(on_any_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -86,7 +86,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
runner_on_failed_msg_color:
|
runner_on_failed_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(runner_on_failed_msg).
|
- Output color to be used for O(runner_on_failed_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -110,7 +110,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
runner_on_ok_msg_color:
|
runner_on_ok_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(runner_on_ok_msg).
|
- Output color to be used for O(runner_on_ok_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -134,7 +134,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
runner_on_skipped_msg_color:
|
runner_on_skipped_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(runner_on_skipped_msg).
|
- Output color to be used for O(runner_on_skipped_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -158,7 +158,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
runner_on_unreachable_msg_color:
|
runner_on_unreachable_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(runner_on_unreachable_msg).
|
- Output color to be used for O(runner_on_unreachable_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -182,7 +182,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
playbook_on_start_msg_color:
|
playbook_on_start_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(playbook_on_start_msg).
|
- Output color to be used for O(playbook_on_start_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -206,7 +206,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
playbook_on_notify_msg_color:
|
playbook_on_notify_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(playbook_on_notify_msg).
|
- Output color to be used for O(playbook_on_notify_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -230,7 +230,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
playbook_on_no_hosts_matched_msg_color:
|
playbook_on_no_hosts_matched_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(playbook_on_no_hosts_matched_msg).
|
- Output color to be used for O(playbook_on_no_hosts_matched_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -254,7 +254,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
playbook_on_no_hosts_remaining_msg_color:
|
playbook_on_no_hosts_remaining_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(playbook_on_no_hosts_remaining_msg).
|
- Output color to be used for O(playbook_on_no_hosts_remaining_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -278,7 +278,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
playbook_on_task_start_msg_color:
|
playbook_on_task_start_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(playbook_on_task_start_msg).
|
- Output color to be used for O(playbook_on_task_start_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -302,7 +302,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
playbook_on_handler_task_start_msg_color:
|
playbook_on_handler_task_start_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(playbook_on_handler_task_start_msg).
|
- Output color to be used for O(playbook_on_handler_task_start_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -326,7 +326,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
playbook_on_vars_prompt_msg_color:
|
playbook_on_vars_prompt_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(playbook_on_vars_prompt_msg).
|
- Output color to be used for O(playbook_on_vars_prompt_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -350,7 +350,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
playbook_on_play_start_msg_color:
|
playbook_on_play_start_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(playbook_on_play_start_msg).
|
- Output color to be used for O(playbook_on_play_start_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -374,7 +374,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
playbook_on_stats_msg_color:
|
playbook_on_stats_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(playbook_on_stats_msg).
|
- Output color to be used for O(playbook_on_stats_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -398,7 +398,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
on_file_diff_msg_color:
|
on_file_diff_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(on_file_diff_msg).
|
- Output color to be used for O(on_file_diff_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -422,7 +422,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
playbook_on_include_msg_color:
|
playbook_on_include_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(playbook_on_include_msg).
|
- Output color to be used for O(playbook_on_include_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -446,7 +446,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
runner_item_on_ok_msg_color:
|
runner_item_on_ok_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(runner_item_on_ok_msg).
|
- Output color to be used for O(runner_item_on_ok_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -470,7 +470,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
runner_item_on_failed_msg_color:
|
runner_item_on_failed_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(runner_item_on_failed_msg).
|
- Output color to be used for O(runner_item_on_failed_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -494,7 +494,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
runner_item_on_skipped_msg_color:
|
runner_item_on_skipped_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(runner_item_on_skipped_msg).
|
- Output color to be used for O(runner_item_on_skipped_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -518,7 +518,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
runner_retry_msg_color:
|
runner_retry_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(runner_retry_msg).
|
- Output color to be used for O(runner_retry_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -542,7 +542,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
runner_on_start_msg_color:
|
runner_on_start_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(runner_on_start_msg).
|
- Output color to be used for O(runner_on_start_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -566,7 +566,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
runner_on_no_hosts_msg_color:
|
runner_on_no_hosts_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(runner_on_no_hosts_msg).
|
- Output color to be used for O(runner_on_no_hosts_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -590,7 +590,7 @@ DOCUMENTATION = r'''
|
|||||||
|
|
||||||
playbook_on_setup_msg_color:
|
playbook_on_setup_msg_color:
|
||||||
description:
|
description:
|
||||||
- Output color to be used for I(playbook_on_setup_msg).
|
- Output color to be used for O(playbook_on_setup_msg).
|
||||||
- Template should render a L(valid color value,#notes).
|
- Template should render a L(valid color value,#notes).
|
||||||
ini:
|
ini:
|
||||||
- section: callback_diy
|
- section: callback_diy
|
||||||
@@ -786,10 +786,6 @@ playbook.yml: >
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
from ansible import constants as C
|
|
||||||
from ansible.playbook.task_include import TaskInclude
|
|
||||||
from ansible.plugins.callback import CallbackBase
|
|
||||||
from ansible.utils.color import colorize, hostcolor
|
|
||||||
from ansible.template import Templar
|
from ansible.template import Templar
|
||||||
from ansible.vars.manager import VariableManager
|
from ansible.vars.manager import VariableManager
|
||||||
from ansible.plugins.callback.default import CallbackModule as Default
|
from ansible.plugins.callback.default import CallbackModule as Default
|
||||||
|
|||||||
@@ -13,10 +13,10 @@ DOCUMENTATION = '''
|
|||||||
type: notification
|
type: notification
|
||||||
short_description: post task events to a jabber server
|
short_description: post task events to a jabber server
|
||||||
description:
|
description:
|
||||||
- The chatty part of ChatOps with a Hipchat server as a target
|
- The chatty part of ChatOps with a Hipchat server as a target.
|
||||||
- This callback plugin sends status updates to a HipChat channel during playbook execution.
|
- This callback plugin sends status updates to a HipChat channel during playbook execution.
|
||||||
requirements:
|
requirements:
|
||||||
- xmpp (python lib https://github.com/ArchipelProject/xmpppy)
|
- xmpp (Python library U(https://github.com/ArchipelProject/xmpppy))
|
||||||
options:
|
options:
|
||||||
server:
|
server:
|
||||||
description: connection info to jabber server
|
description: connection info to jabber server
|
||||||
|
|||||||
@@ -13,10 +13,10 @@ DOCUMENTATION = '''
|
|||||||
type: notification
|
type: notification
|
||||||
short_description: write playbook output to log file
|
short_description: write playbook output to log file
|
||||||
description:
|
description:
|
||||||
- This callback writes playbook output to a file per host in the C(/var/log/ansible/hosts) directory
|
- This callback writes playbook output to a file per host in the C(/var/log/ansible/hosts) directory.
|
||||||
requirements:
|
requirements:
|
||||||
- Whitelist in configuration
|
- Whitelist in configuration
|
||||||
- A writeable /var/log/ansible/hosts directory by the user executing Ansible on the controller
|
- A writeable C(/var/log/ansible/hosts) directory by the user executing Ansible on the controller
|
||||||
options:
|
options:
|
||||||
log_folder:
|
log_folder:
|
||||||
default: /var/log/ansible/hosts
|
default: /var/log/ansible/hosts
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ __metaclass__ = type
|
|||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = '''
|
||||||
name: loganalytics
|
name: loganalytics
|
||||||
type: aggregate
|
type: notification
|
||||||
short_description: Posts task results to Azure Log Analytics
|
short_description: Posts task results to Azure Log Analytics
|
||||||
author: "Cyrus Li (@zhcli) <cyrus1006@gmail.com>"
|
author: "Cyrus Li (@zhcli) <cyrus1006@gmail.com>"
|
||||||
description:
|
description:
|
||||||
@@ -54,7 +54,6 @@ examples: |
|
|||||||
import hashlib
|
import hashlib
|
||||||
import hmac
|
import hmac
|
||||||
import base64
|
import base64
|
||||||
import logging
|
|
||||||
import json
|
import json
|
||||||
import uuid
|
import uuid
|
||||||
import socket
|
import socket
|
||||||
@@ -155,7 +154,7 @@ class AzureLogAnalyticsSource(object):
|
|||||||
|
|
||||||
class CallbackModule(CallbackBase):
|
class CallbackModule(CallbackBase):
|
||||||
CALLBACK_VERSION = 2.0
|
CALLBACK_VERSION = 2.0
|
||||||
CALLBACK_TYPE = 'aggregate'
|
CALLBACK_TYPE = 'notification'
|
||||||
CALLBACK_NAME = 'loganalytics'
|
CALLBACK_NAME = 'loganalytics'
|
||||||
CALLBACK_NEEDS_WHITELIST = True
|
CALLBACK_NEEDS_WHITELIST = True
|
||||||
|
|
||||||
|
|||||||
@@ -9,17 +9,17 @@ __metaclass__ = type
|
|||||||
DOCUMENTATION = '''
|
DOCUMENTATION = '''
|
||||||
author: Unknown (!UNKNOWN)
|
author: Unknown (!UNKNOWN)
|
||||||
name: logdna
|
name: logdna
|
||||||
type: aggregate
|
type: notification
|
||||||
short_description: Sends playbook logs to LogDNA
|
short_description: Sends playbook logs to LogDNA
|
||||||
description:
|
description:
|
||||||
- This callback will report logs from playbook actions, tasks, and events to LogDNA (https://app.logdna.com)
|
- This callback will report logs from playbook actions, tasks, and events to LogDNA (U(https://app.logdna.com)).
|
||||||
requirements:
|
requirements:
|
||||||
- LogDNA Python Library (https://github.com/logdna/python)
|
- LogDNA Python Library (U(https://github.com/logdna/python))
|
||||||
- whitelisting in configuration
|
- whitelisting in configuration
|
||||||
options:
|
options:
|
||||||
conf_key:
|
conf_key:
|
||||||
required: true
|
required: true
|
||||||
description: LogDNA Ingestion Key
|
description: LogDNA Ingestion Key.
|
||||||
type: string
|
type: string
|
||||||
env:
|
env:
|
||||||
- name: LOGDNA_INGESTION_KEY
|
- name: LOGDNA_INGESTION_KEY
|
||||||
@@ -28,7 +28,7 @@ DOCUMENTATION = '''
|
|||||||
key: conf_key
|
key: conf_key
|
||||||
plugin_ignore_errors:
|
plugin_ignore_errors:
|
||||||
required: false
|
required: false
|
||||||
description: Whether to ignore errors on failing or not
|
description: Whether to ignore errors on failing or not.
|
||||||
type: boolean
|
type: boolean
|
||||||
env:
|
env:
|
||||||
- name: ANSIBLE_IGNORE_ERRORS
|
- name: ANSIBLE_IGNORE_ERRORS
|
||||||
@@ -38,7 +38,7 @@ DOCUMENTATION = '''
|
|||||||
default: false
|
default: false
|
||||||
conf_hostname:
|
conf_hostname:
|
||||||
required: false
|
required: false
|
||||||
description: Alternative Host Name; the current host name by default
|
description: Alternative Host Name; the current host name by default.
|
||||||
type: string
|
type: string
|
||||||
env:
|
env:
|
||||||
- name: LOGDNA_HOSTNAME
|
- name: LOGDNA_HOSTNAME
|
||||||
@@ -47,7 +47,7 @@ DOCUMENTATION = '''
|
|||||||
key: conf_hostname
|
key: conf_hostname
|
||||||
conf_tags:
|
conf_tags:
|
||||||
required: false
|
required: false
|
||||||
description: Tags
|
description: Tags.
|
||||||
type: string
|
type: string
|
||||||
env:
|
env:
|
||||||
- name: LOGDNA_TAGS
|
- name: LOGDNA_TAGS
|
||||||
@@ -111,7 +111,7 @@ def isJSONable(obj):
|
|||||||
class CallbackModule(CallbackBase):
|
class CallbackModule(CallbackBase):
|
||||||
|
|
||||||
CALLBACK_VERSION = 0.1
|
CALLBACK_VERSION = 0.1
|
||||||
CALLBACK_TYPE = 'aggregate'
|
CALLBACK_TYPE = 'notification'
|
||||||
CALLBACK_NAME = 'community.general.logdna'
|
CALLBACK_NAME = 'community.general.logdna'
|
||||||
CALLBACK_NEEDS_WHITELIST = True
|
CALLBACK_NEEDS_WHITELIST = True
|
||||||
|
|
||||||
|
|||||||
@@ -13,15 +13,15 @@ DOCUMENTATION = '''
|
|||||||
short_description: Sends events to Logentries
|
short_description: Sends events to Logentries
|
||||||
description:
|
description:
|
||||||
- This callback plugin will generate JSON objects and send them to Logentries via TCP for auditing/debugging purposes.
|
- This callback plugin will generate JSON objects and send them to Logentries via TCP for auditing/debugging purposes.
|
||||||
- Before 2.4, if you wanted to use an ini configuration, the file must be placed in the same directory as this plugin and named logentries.ini
|
- Before 2.4, if you wanted to use an ini configuration, the file must be placed in the same directory as this plugin and named C(logentries.ini).
|
||||||
- In 2.4 and above you can just put it in the main Ansible configuration file.
|
- In 2.4 and above you can just put it in the main Ansible configuration file.
|
||||||
requirements:
|
requirements:
|
||||||
- whitelisting in configuration
|
- whitelisting in configuration
|
||||||
- certifi (python library)
|
- certifi (Python library)
|
||||||
- flatdict (python library), if you want to use the 'flatten' option
|
- flatdict (Python library), if you want to use the 'flatten' option
|
||||||
options:
|
options:
|
||||||
api:
|
api:
|
||||||
description: URI to the Logentries API
|
description: URI to the Logentries API.
|
||||||
env:
|
env:
|
||||||
- name: LOGENTRIES_API
|
- name: LOGENTRIES_API
|
||||||
default: data.logentries.com
|
default: data.logentries.com
|
||||||
@@ -29,7 +29,7 @@ DOCUMENTATION = '''
|
|||||||
- section: callback_logentries
|
- section: callback_logentries
|
||||||
key: api
|
key: api
|
||||||
port:
|
port:
|
||||||
description: HTTP port to use when connecting to the API
|
description: HTTP port to use when connecting to the API.
|
||||||
env:
|
env:
|
||||||
- name: LOGENTRIES_PORT
|
- name: LOGENTRIES_PORT
|
||||||
default: 80
|
default: 80
|
||||||
@@ -37,7 +37,7 @@ DOCUMENTATION = '''
|
|||||||
- section: callback_logentries
|
- section: callback_logentries
|
||||||
key: port
|
key: port
|
||||||
tls_port:
|
tls_port:
|
||||||
description: Port to use when connecting to the API when TLS is enabled
|
description: Port to use when connecting to the API when TLS is enabled.
|
||||||
env:
|
env:
|
||||||
- name: LOGENTRIES_TLS_PORT
|
- name: LOGENTRIES_TLS_PORT
|
||||||
default: 443
|
default: 443
|
||||||
@@ -45,7 +45,7 @@ DOCUMENTATION = '''
|
|||||||
- section: callback_logentries
|
- section: callback_logentries
|
||||||
key: tls_port
|
key: tls_port
|
||||||
token:
|
token:
|
||||||
description: The logentries "TCP token"
|
description: The logentries C(TCP token).
|
||||||
env:
|
env:
|
||||||
- name: LOGENTRIES_ANSIBLE_TOKEN
|
- name: LOGENTRIES_ANSIBLE_TOKEN
|
||||||
required: true
|
required: true
|
||||||
@@ -54,7 +54,7 @@ DOCUMENTATION = '''
|
|||||||
key: token
|
key: token
|
||||||
use_tls:
|
use_tls:
|
||||||
description:
|
description:
|
||||||
- Toggle to decide whether to use TLS to encrypt the communications with the API server
|
- Toggle to decide whether to use TLS to encrypt the communications with the API server.
|
||||||
env:
|
env:
|
||||||
- name: LOGENTRIES_USE_TLS
|
- name: LOGENTRIES_USE_TLS
|
||||||
default: false
|
default: false
|
||||||
@@ -63,7 +63,7 @@ DOCUMENTATION = '''
|
|||||||
- section: callback_logentries
|
- section: callback_logentries
|
||||||
key: use_tls
|
key: use_tls
|
||||||
flatten:
|
flatten:
|
||||||
description: flatten complex data structures into a single dictionary with complex keys
|
description: Flatten complex data structures into a single dictionary with complex keys.
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -13,13 +13,13 @@ DOCUMENTATION = r'''
|
|||||||
type: notification
|
type: notification
|
||||||
short_description: Sends events to Logstash
|
short_description: Sends events to Logstash
|
||||||
description:
|
description:
|
||||||
- This callback will report facts and task events to Logstash https://www.elastic.co/products/logstash
|
- This callback will report facts and task events to Logstash U(https://www.elastic.co/products/logstash).
|
||||||
requirements:
|
requirements:
|
||||||
- whitelisting in configuration
|
- whitelisting in configuration
|
||||||
- logstash (python library)
|
- logstash (Python library)
|
||||||
options:
|
options:
|
||||||
server:
|
server:
|
||||||
description: Address of the Logstash server
|
description: Address of the Logstash server.
|
||||||
env:
|
env:
|
||||||
- name: LOGSTASH_SERVER
|
- name: LOGSTASH_SERVER
|
||||||
ini:
|
ini:
|
||||||
@@ -28,7 +28,7 @@ DOCUMENTATION = r'''
|
|||||||
version_added: 1.0.0
|
version_added: 1.0.0
|
||||||
default: localhost
|
default: localhost
|
||||||
port:
|
port:
|
||||||
description: Port on which logstash is listening
|
description: Port on which logstash is listening.
|
||||||
env:
|
env:
|
||||||
- name: LOGSTASH_PORT
|
- name: LOGSTASH_PORT
|
||||||
ini:
|
ini:
|
||||||
@@ -37,7 +37,7 @@ DOCUMENTATION = r'''
|
|||||||
version_added: 1.0.0
|
version_added: 1.0.0
|
||||||
default: 5000
|
default: 5000
|
||||||
type:
|
type:
|
||||||
description: Message type
|
description: Message type.
|
||||||
env:
|
env:
|
||||||
- name: LOGSTASH_TYPE
|
- name: LOGSTASH_TYPE
|
||||||
ini:
|
ini:
|
||||||
@@ -54,7 +54,7 @@ DOCUMENTATION = r'''
|
|||||||
env:
|
env:
|
||||||
- name: LOGSTASH_PRE_COMMAND
|
- name: LOGSTASH_PRE_COMMAND
|
||||||
format_version:
|
format_version:
|
||||||
description: Logging format
|
description: Logging format.
|
||||||
type: str
|
type: str
|
||||||
version_added: 2.0.0
|
version_added: 2.0.0
|
||||||
ini:
|
ini:
|
||||||
@@ -113,7 +113,7 @@ from ansible.plugins.callback import CallbackBase
|
|||||||
class CallbackModule(CallbackBase):
|
class CallbackModule(CallbackBase):
|
||||||
|
|
||||||
CALLBACK_VERSION = 2.0
|
CALLBACK_VERSION = 2.0
|
||||||
CALLBACK_TYPE = 'aggregate'
|
CALLBACK_TYPE = 'notification'
|
||||||
CALLBACK_NAME = 'community.general.logstash'
|
CALLBACK_NAME = 'community.general.logstash'
|
||||||
CALLBACK_NEEDS_WHITELIST = True
|
CALLBACK_NEEDS_WHITELIST = True
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,6 @@ import re
|
|||||||
import email.utils
|
import email.utils
|
||||||
import smtplib
|
import smtplib
|
||||||
|
|
||||||
from ansible.module_utils.six import string_types
|
|
||||||
from ansible.module_utils.common.text.converters import to_bytes
|
from ansible.module_utils.common.text.converters import to_bytes
|
||||||
from ansible.parsing.ajson import AnsibleJSONEncoder
|
from ansible.parsing.ajson import AnsibleJSONEncoder
|
||||||
from ansible.plugins.callback import CallbackBase
|
from ansible.plugins.callback import CallbackBase
|
||||||
|
|||||||
@@ -67,9 +67,6 @@ DOCUMENTATION = '''
|
|||||||
type: string
|
type: string
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import os
|
|
||||||
import json
|
|
||||||
|
|
||||||
from ansible.module_utils.six.moves.urllib.parse import urlencode
|
from ansible.module_utils.six.moves.urllib.parse import urlencode
|
||||||
from ansible.module_utils.common.text.converters import to_bytes
|
from ansible.module_utils.common.text.converters import to_bytes
|
||||||
from ansible.module_utils.urls import open_url
|
from ansible.module_utils.urls import open_url
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ DOCUMENTATION = '''
|
|||||||
- set as main display callback
|
- set as main display callback
|
||||||
short_description: Don't display stuff to screen
|
short_description: Don't display stuff to screen
|
||||||
description:
|
description:
|
||||||
- This callback prevents outputing events to screen
|
- This callback prevents outputing events to screen.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
from ansible.plugins.callback import CallbackBase
|
from ansible.plugins.callback import CallbackBase
|
||||||
|
|||||||
@@ -32,10 +32,10 @@ DOCUMENTATION = '''
|
|||||||
enable_from_environment:
|
enable_from_environment:
|
||||||
type: str
|
type: str
|
||||||
description:
|
description:
|
||||||
- Whether to enable this callback only if the given environment variable exists and it is set to C(true).
|
- Whether to enable this callback only if the given environment variable exists and it is set to V(true).
|
||||||
- This is handy when you use Configuration as Code and want to send distributed traces
|
- This is handy when you use Configuration as Code and want to send distributed traces
|
||||||
if running in the CI rather when running Ansible locally.
|
if running in the CI rather when running Ansible locally.
|
||||||
- For such, it evaluates the given I(enable_from_environment) value as environment variable
|
- For such, it evaluates the given O(enable_from_environment) value as environment variable
|
||||||
and if set to true this plugin will be enabled.
|
and if set to true this plugin will be enabled.
|
||||||
env:
|
env:
|
||||||
- name: ANSIBLE_OPENTELEMETRY_ENABLE_FROM_ENVIRONMENT
|
- name: ANSIBLE_OPENTELEMETRY_ENABLE_FROM_ENVIRONMENT
|
||||||
@@ -73,6 +73,17 @@ DOCUMENTATION = '''
|
|||||||
- section: callback_opentelemetry
|
- section: callback_opentelemetry
|
||||||
key: disable_logs
|
key: disable_logs
|
||||||
version_added: 5.8.0
|
version_added: 5.8.0
|
||||||
|
disable_attributes_in_logs:
|
||||||
|
default: false
|
||||||
|
type: bool
|
||||||
|
description:
|
||||||
|
- Disable populating span attributes to the logs.
|
||||||
|
env:
|
||||||
|
- name: ANSIBLE_OPENTELEMETRY_DISABLE_ATTRIBUTES_IN_LOGS
|
||||||
|
ini:
|
||||||
|
- section: callback_opentelemetry
|
||||||
|
key: disable_attributes_in_logs
|
||||||
|
version_added: 7.1.0
|
||||||
requirements:
|
requirements:
|
||||||
- opentelemetry-api (Python library)
|
- opentelemetry-api (Python library)
|
||||||
- opentelemetry-exporter-otlp (Python library)
|
- opentelemetry-exporter-otlp (Python library)
|
||||||
@@ -244,7 +255,7 @@ class OpenTelemetrySource(object):
|
|||||||
task.dump = dump
|
task.dump = dump
|
||||||
task.add_host(HostData(host_uuid, host_name, status, result))
|
task.add_host(HostData(host_uuid, host_name, status, result))
|
||||||
|
|
||||||
def generate_distributed_traces(self, otel_service_name, ansible_playbook, tasks_data, status, traceparent, disable_logs):
|
def generate_distributed_traces(self, otel_service_name, ansible_playbook, tasks_data, status, traceparent, disable_logs, disable_attributes_in_logs):
|
||||||
""" generate distributed traces from the collected TaskData and HostData """
|
""" generate distributed traces from the collected TaskData and HostData """
|
||||||
|
|
||||||
tasks = []
|
tasks = []
|
||||||
@@ -280,9 +291,9 @@ class OpenTelemetrySource(object):
|
|||||||
for task in tasks:
|
for task in tasks:
|
||||||
for host_uuid, host_data in task.host_data.items():
|
for host_uuid, host_data in task.host_data.items():
|
||||||
with tracer.start_as_current_span(task.name, start_time=task.start, end_on_exit=False) as span:
|
with tracer.start_as_current_span(task.name, start_time=task.start, end_on_exit=False) as span:
|
||||||
self.update_span_data(task, host_data, span, disable_logs)
|
self.update_span_data(task, host_data, span, disable_logs, disable_attributes_in_logs)
|
||||||
|
|
||||||
def update_span_data(self, task_data, host_data, span, disable_logs):
|
def update_span_data(self, task_data, host_data, span, disable_logs, disable_attributes_in_logs):
|
||||||
""" update the span with the given TaskData and HostData """
|
""" update the span with the given TaskData and HostData """
|
||||||
|
|
||||||
name = '[%s] %s: %s' % (host_data.name, task_data.play, task_data.name)
|
name = '[%s] %s: %s' % (host_data.name, task_data.play, task_data.name)
|
||||||
@@ -315,39 +326,47 @@ class OpenTelemetrySource(object):
|
|||||||
status = Status(status_code=StatusCode.UNSET)
|
status = Status(status_code=StatusCode.UNSET)
|
||||||
|
|
||||||
span.set_status(status)
|
span.set_status(status)
|
||||||
|
|
||||||
|
# Create the span and log attributes
|
||||||
|
attributes = {
|
||||||
|
"ansible.task.module": task_data.action,
|
||||||
|
"ansible.task.message": message,
|
||||||
|
"ansible.task.name": name,
|
||||||
|
"ansible.task.result": rc,
|
||||||
|
"ansible.task.host.name": host_data.name,
|
||||||
|
"ansible.task.host.status": host_data.status
|
||||||
|
}
|
||||||
if isinstance(task_data.args, dict) and "gather_facts" not in task_data.action:
|
if isinstance(task_data.args, dict) and "gather_facts" not in task_data.action:
|
||||||
names = tuple(self.transform_ansible_unicode_to_str(k) for k in task_data.args.keys())
|
names = tuple(self.transform_ansible_unicode_to_str(k) for k in task_data.args.keys())
|
||||||
values = tuple(self.transform_ansible_unicode_to_str(k) for k in task_data.args.values())
|
values = tuple(self.transform_ansible_unicode_to_str(k) for k in task_data.args.values())
|
||||||
self.set_span_attribute(span, ("ansible.task.args.name"), names)
|
attributes[("ansible.task.args.name")] = names
|
||||||
self.set_span_attribute(span, ("ansible.task.args.value"), values)
|
attributes[("ansible.task.args.value")] = values
|
||||||
self.set_span_attribute(span, "ansible.task.module", task_data.action)
|
|
||||||
self.set_span_attribute(span, "ansible.task.message", message)
|
self.set_span_attributes(span, attributes)
|
||||||
self.set_span_attribute(span, "ansible.task.name", name)
|
|
||||||
self.set_span_attribute(span, "ansible.task.result", rc)
|
|
||||||
self.set_span_attribute(span, "ansible.task.host.name", host_data.name)
|
|
||||||
self.set_span_attribute(span, "ansible.task.host.status", host_data.status)
|
|
||||||
# This will allow to enrich the service map
|
# This will allow to enrich the service map
|
||||||
self.add_attributes_for_service_map_if_possible(span, task_data)
|
self.add_attributes_for_service_map_if_possible(span, task_data)
|
||||||
# Send logs
|
# Send logs
|
||||||
if not disable_logs:
|
if not disable_logs:
|
||||||
span.add_event(task_data.dump)
|
# This will avoid populating span attributes to the logs
|
||||||
span.end(end_time=host_data.finish)
|
span.add_event(task_data.dump, attributes={} if disable_attributes_in_logs else attributes)
|
||||||
|
span.end(end_time=host_data.finish)
|
||||||
|
|
||||||
def set_span_attribute(self, span, attributeName, attributeValue):
|
def set_span_attributes(self, span, attributes):
|
||||||
""" update the span attribute with the given attribute and value if not None """
|
""" update the span attributes with the given attributes if not None """
|
||||||
|
|
||||||
if span is None and self._display is not None:
|
if span is None and self._display is not None:
|
||||||
self._display.warning('span object is None. Please double check if that is expected.')
|
self._display.warning('span object is None. Please double check if that is expected.')
|
||||||
else:
|
else:
|
||||||
if attributeValue is not None:
|
if attributes is not None:
|
||||||
span.set_attribute(attributeName, attributeValue)
|
span.set_attributes(attributes)
|
||||||
|
|
||||||
def add_attributes_for_service_map_if_possible(self, span, task_data):
|
def add_attributes_for_service_map_if_possible(self, span, task_data):
|
||||||
"""Update the span attributes with the service that the task interacted with, if possible."""
|
"""Update the span attributes with the service that the task interacted with, if possible."""
|
||||||
|
|
||||||
redacted_url = self.parse_and_redact_url_if_possible(task_data.args)
|
redacted_url = self.parse_and_redact_url_if_possible(task_data.args)
|
||||||
if redacted_url:
|
if redacted_url:
|
||||||
self.set_span_attribute(span, "http.url", redacted_url.geturl())
|
span.set_attribute("http.url", redacted_url.geturl())
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def parse_and_redact_url_if_possible(args):
|
def parse_and_redact_url_if_possible(args):
|
||||||
@@ -434,6 +453,7 @@ class CallbackModule(CallbackBase):
|
|||||||
def __init__(self, display=None):
|
def __init__(self, display=None):
|
||||||
super(CallbackModule, self).__init__(display=display)
|
super(CallbackModule, self).__init__(display=display)
|
||||||
self.hide_task_arguments = None
|
self.hide_task_arguments = None
|
||||||
|
self.disable_attributes_in_logs = None
|
||||||
self.disable_logs = None
|
self.disable_logs = None
|
||||||
self.otel_service_name = None
|
self.otel_service_name = None
|
||||||
self.ansible_playbook = None
|
self.ansible_playbook = None
|
||||||
@@ -465,6 +485,8 @@ class CallbackModule(CallbackBase):
|
|||||||
|
|
||||||
self.hide_task_arguments = self.get_option('hide_task_arguments')
|
self.hide_task_arguments = self.get_option('hide_task_arguments')
|
||||||
|
|
||||||
|
self.disable_attributes_in_logs = self.get_option('disable_attributes_in_logs')
|
||||||
|
|
||||||
self.disable_logs = self.get_option('disable_logs')
|
self.disable_logs = self.get_option('disable_logs')
|
||||||
|
|
||||||
self.otel_service_name = self.get_option('otel_service_name')
|
self.otel_service_name = self.get_option('otel_service_name')
|
||||||
@@ -562,7 +584,8 @@ class CallbackModule(CallbackBase):
|
|||||||
self.tasks_data,
|
self.tasks_data,
|
||||||
status,
|
status,
|
||||||
self.traceparent,
|
self.traceparent,
|
||||||
self.disable_logs
|
self.disable_logs,
|
||||||
|
self.disable_attributes_in_logs
|
||||||
)
|
)
|
||||||
|
|
||||||
def v2_runner_on_async_failed(self, result, **kwargs):
|
def v2_runner_on_async_failed(self, result, **kwargs):
|
||||||
|
|||||||
@@ -14,12 +14,12 @@ DOCUMENTATION = '''
|
|||||||
type: notification
|
type: notification
|
||||||
requirements:
|
requirements:
|
||||||
- whitelisting in configuration
|
- whitelisting in configuration
|
||||||
- the '/usr/bin/say' command line program (standard on macOS) or 'espeak' command line program
|
- the C(/usr/bin/say) command line program (standard on macOS) or C(espeak) command line program
|
||||||
short_description: notify using software speech synthesizer
|
short_description: notify using software speech synthesizer
|
||||||
description:
|
description:
|
||||||
- This plugin will use the 'say' or 'espeak' program to "speak" about play events.
|
- This plugin will use the C(say) or C(espeak) program to "speak" about play events.
|
||||||
notes:
|
notes:
|
||||||
- In 2.8, this callback has been renamed from C(osx_say) into M(community.general.say).
|
- In Ansible 2.8, this callback has been renamed from C(osx_say) into M(community.general.say).
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import platform
|
import platform
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ DOCUMENTATION = '''
|
|||||||
options:
|
options:
|
||||||
nocolor:
|
nocolor:
|
||||||
default: false
|
default: false
|
||||||
description: This setting allows suppressing colorizing output
|
description: This setting allows suppressing colorizing output.
|
||||||
env:
|
env:
|
||||||
- name: ANSIBLE_NOCOLOR
|
- name: ANSIBLE_NOCOLOR
|
||||||
- name: ANSIBLE_SELECTIVE_DONT_COLORIZE
|
- name: ANSIBLE_SELECTIVE_DONT_COLORIZE
|
||||||
|
|||||||
@@ -18,11 +18,11 @@ DOCUMENTATION = '''
|
|||||||
short_description: Sends play events to a Slack channel
|
short_description: Sends play events to a Slack channel
|
||||||
description:
|
description:
|
||||||
- This is an ansible callback plugin that sends status updates to a Slack channel during playbook execution.
|
- This is an ansible callback plugin that sends status updates to a Slack channel during playbook execution.
|
||||||
- Before 2.4 only environment variables were available for configuring this plugin
|
- Before Ansible 2.4 only environment variables were available for configuring this plugin.
|
||||||
options:
|
options:
|
||||||
webhook_url:
|
webhook_url:
|
||||||
required: true
|
required: true
|
||||||
description: Slack Webhook URL
|
description: Slack Webhook URL.
|
||||||
env:
|
env:
|
||||||
- name: SLACK_WEBHOOK_URL
|
- name: SLACK_WEBHOOK_URL
|
||||||
ini:
|
ini:
|
||||||
@@ -45,7 +45,7 @@ DOCUMENTATION = '''
|
|||||||
- section: callback_slack
|
- section: callback_slack
|
||||||
key: username
|
key: username
|
||||||
validate_certs:
|
validate_certs:
|
||||||
description: validate the SSL certificate of the Slack server. (For HTTPS URLs)
|
description: Validate the SSL certificate of the Slack server for HTTPS URLs.
|
||||||
env:
|
env:
|
||||||
- name: SLACK_VALIDATE_CERTS
|
- name: SLACK_VALIDATE_CERTS
|
||||||
ini:
|
ini:
|
||||||
|
|||||||
@@ -8,27 +8,27 @@ __metaclass__ = type
|
|||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = '''
|
||||||
name: splunk
|
name: splunk
|
||||||
type: aggregate
|
type: notification
|
||||||
short_description: Sends task result events to Splunk HTTP Event Collector
|
short_description: Sends task result events to Splunk HTTP Event Collector
|
||||||
author: "Stuart Hirst (!UNKNOWN) <support@convergingdata.com>"
|
author: "Stuart Hirst (!UNKNOWN) <support@convergingdata.com>"
|
||||||
description:
|
description:
|
||||||
- This callback plugin will send task results as JSON formatted events to a Splunk HTTP collector.
|
- This callback plugin will send task results as JSON formatted events to a Splunk HTTP collector.
|
||||||
- The companion Splunk Monitoring & Diagnostics App is available here "https://splunkbase.splunk.com/app/4023/"
|
- The companion Splunk Monitoring & Diagnostics App is available here U(https://splunkbase.splunk.com/app/4023/).
|
||||||
- Credit to "Ryan Currah (@ryancurrah)" for original source upon which this is based.
|
- Credit to "Ryan Currah (@ryancurrah)" for original source upon which this is based.
|
||||||
requirements:
|
requirements:
|
||||||
- Whitelisting this callback plugin
|
- Whitelisting this callback plugin
|
||||||
- 'Create a HTTP Event Collector in Splunk'
|
- 'Create a HTTP Event Collector in Splunk'
|
||||||
- 'Define the url and token in ansible.cfg'
|
- 'Define the URL and token in C(ansible.cfg)'
|
||||||
options:
|
options:
|
||||||
url:
|
url:
|
||||||
description: URL to the Splunk HTTP collector source
|
description: URL to the Splunk HTTP collector source.
|
||||||
env:
|
env:
|
||||||
- name: SPLUNK_URL
|
- name: SPLUNK_URL
|
||||||
ini:
|
ini:
|
||||||
- section: callback_splunk
|
- section: callback_splunk
|
||||||
key: url
|
key: url
|
||||||
authtoken:
|
authtoken:
|
||||||
description: Token to authenticate the connection to the Splunk HTTP collector
|
description: Token to authenticate the connection to the Splunk HTTP collector.
|
||||||
env:
|
env:
|
||||||
- name: SPLUNK_AUTHTOKEN
|
- name: SPLUNK_AUTHTOKEN
|
||||||
ini:
|
ini:
|
||||||
@@ -36,8 +36,8 @@ DOCUMENTATION = '''
|
|||||||
key: authtoken
|
key: authtoken
|
||||||
validate_certs:
|
validate_certs:
|
||||||
description: Whether to validate certificates for connections to HEC. It is not recommended to set to
|
description: Whether to validate certificates for connections to HEC. It is not recommended to set to
|
||||||
C(false) except when you are sure that nobody can intercept the connection
|
V(false) except when you are sure that nobody can intercept the connection
|
||||||
between this plugin and HEC, as setting it to C(false) allows man-in-the-middle attacks!
|
between this plugin and HEC, as setting it to V(false) allows man-in-the-middle attacks!
|
||||||
env:
|
env:
|
||||||
- name: SPLUNK_VALIDATE_CERTS
|
- name: SPLUNK_VALIDATE_CERTS
|
||||||
ini:
|
ini:
|
||||||
@@ -48,7 +48,7 @@ DOCUMENTATION = '''
|
|||||||
version_added: '1.0.0'
|
version_added: '1.0.0'
|
||||||
include_milliseconds:
|
include_milliseconds:
|
||||||
description: Whether to include milliseconds as part of the generated timestamp field in the event
|
description: Whether to include milliseconds as part of the generated timestamp field in the event
|
||||||
sent to the Splunk HTTP collector
|
sent to the Splunk HTTP collector.
|
||||||
env:
|
env:
|
||||||
- name: SPLUNK_INCLUDE_MILLISECONDS
|
- name: SPLUNK_INCLUDE_MILLISECONDS
|
||||||
ini:
|
ini:
|
||||||
@@ -165,7 +165,7 @@ class SplunkHTTPCollectorSource(object):
|
|||||||
|
|
||||||
class CallbackModule(CallbackBase):
|
class CallbackModule(CallbackBase):
|
||||||
CALLBACK_VERSION = 2.0
|
CALLBACK_VERSION = 2.0
|
||||||
CALLBACK_TYPE = 'aggregate'
|
CALLBACK_TYPE = 'notification'
|
||||||
CALLBACK_NAME = 'community.general.splunk'
|
CALLBACK_NAME = 'community.general.splunk'
|
||||||
CALLBACK_NEEDS_WHITELIST = True
|
CALLBACK_NEEDS_WHITELIST = True
|
||||||
|
|
||||||
|
|||||||
@@ -6,20 +6,20 @@
|
|||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r'''
|
||||||
name: sumologic
|
name: sumologic
|
||||||
type: aggregate
|
type: notification
|
||||||
short_description: Sends task result events to Sumologic
|
short_description: Sends task result events to Sumologic
|
||||||
author: "Ryan Currah (@ryancurrah)"
|
author: "Ryan Currah (@ryancurrah)"
|
||||||
description:
|
description:
|
||||||
- This callback plugin will send task results as JSON formatted events to a Sumologic HTTP collector source
|
- This callback plugin will send task results as JSON formatted events to a Sumologic HTTP collector source.
|
||||||
requirements:
|
requirements:
|
||||||
- Whitelisting this callback plugin
|
- Whitelisting this callback plugin
|
||||||
- 'Create a HTTP collector source in Sumologic and specify a custom timestamp format of C(yyyy-MM-dd HH:mm:ss ZZZZ) and a custom timestamp locator
|
- 'Create a HTTP collector source in Sumologic and specify a custom timestamp format of V(yyyy-MM-dd HH:mm:ss ZZZZ) and a custom timestamp locator
|
||||||
of C("timestamp": "(.*)")'
|
of V("timestamp": "(.*\)")'
|
||||||
options:
|
options:
|
||||||
url:
|
url:
|
||||||
description: URL to the Sumologic HTTP collector source
|
description: URL to the Sumologic HTTP collector source.
|
||||||
env:
|
env:
|
||||||
- name: SUMOLOGIC_URL
|
- name: SUMOLOGIC_URL
|
||||||
ini:
|
ini:
|
||||||
@@ -28,7 +28,7 @@ options:
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
EXAMPLES = '''
|
EXAMPLES = '''
|
||||||
examples: >
|
examples: |
|
||||||
To enable, add this to your ansible.cfg file in the defaults block
|
To enable, add this to your ansible.cfg file in the defaults block
|
||||||
[defaults]
|
[defaults]
|
||||||
callback_whitelist = community.general.sumologic
|
callback_whitelist = community.general.sumologic
|
||||||
@@ -111,7 +111,7 @@ class SumologicHTTPCollectorSource(object):
|
|||||||
|
|
||||||
class CallbackModule(CallbackBase):
|
class CallbackModule(CallbackBase):
|
||||||
CALLBACK_VERSION = 2.0
|
CALLBACK_VERSION = 2.0
|
||||||
CALLBACK_TYPE = 'aggregate'
|
CALLBACK_TYPE = 'notification'
|
||||||
CALLBACK_NAME = 'community.general.sumologic'
|
CALLBACK_NAME = 'community.general.sumologic'
|
||||||
CALLBACK_NEEDS_WHITELIST = True
|
CALLBACK_NEEDS_WHITELIST = True
|
||||||
|
|
||||||
|
|||||||
@@ -15,11 +15,11 @@ DOCUMENTATION = '''
|
|||||||
- whitelist in configuration
|
- whitelist in configuration
|
||||||
short_description: sends JSON events to syslog
|
short_description: sends JSON events to syslog
|
||||||
description:
|
description:
|
||||||
- This plugin logs ansible-playbook and ansible runs to a syslog server in JSON format
|
- This plugin logs ansible-playbook and ansible runs to a syslog server in JSON format.
|
||||||
- Before Ansible 2.9 only environment variables were available for configuration
|
- Before Ansible 2.9 only environment variables were available for configuration.
|
||||||
options:
|
options:
|
||||||
server:
|
server:
|
||||||
description: syslog server that will receive the event
|
description: Syslog server that will receive the event.
|
||||||
env:
|
env:
|
||||||
- name: SYSLOG_SERVER
|
- name: SYSLOG_SERVER
|
||||||
default: localhost
|
default: localhost
|
||||||
@@ -27,7 +27,7 @@ DOCUMENTATION = '''
|
|||||||
- section: callback_syslog_json
|
- section: callback_syslog_json
|
||||||
key: syslog_server
|
key: syslog_server
|
||||||
port:
|
port:
|
||||||
description: port on which the syslog server is listening
|
description: Port on which the syslog server is listening.
|
||||||
env:
|
env:
|
||||||
- name: SYSLOG_PORT
|
- name: SYSLOG_PORT
|
||||||
default: 514
|
default: 514
|
||||||
@@ -35,7 +35,7 @@ DOCUMENTATION = '''
|
|||||||
- section: callback_syslog_json
|
- section: callback_syslog_json
|
||||||
key: syslog_port
|
key: syslog_port
|
||||||
facility:
|
facility:
|
||||||
description: syslog facility to log as
|
description: Syslog facility to log as.
|
||||||
env:
|
env:
|
||||||
- name: SYSLOG_FACILITY
|
- name: SYSLOG_FACILITY
|
||||||
default: user
|
default: user
|
||||||
@@ -54,9 +54,6 @@ DOCUMENTATION = '''
|
|||||||
version_added: 4.5.0
|
version_added: 4.5.0
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import os
|
|
||||||
import json
|
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import logging.handlers
|
import logging.handlers
|
||||||
|
|
||||||
@@ -71,7 +68,7 @@ class CallbackModule(CallbackBase):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
CALLBACK_VERSION = 2.0
|
CALLBACK_VERSION = 2.0
|
||||||
CALLBACK_TYPE = 'aggregate'
|
CALLBACK_TYPE = 'notification'
|
||||||
CALLBACK_NAME = 'community.general.syslog_json'
|
CALLBACK_NAME = 'community.general.syslog_json'
|
||||||
CALLBACK_NEEDS_WHITELIST = True
|
CALLBACK_NEEDS_WHITELIST = True
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ class CallbackModule(CallbackModule_default):
|
|||||||
|
|
||||||
def _preprocess_result(self, result):
|
def _preprocess_result(self, result):
|
||||||
self.delegated_vars = result._result.get('_ansible_delegated_vars', None)
|
self.delegated_vars = result._result.get('_ansible_delegated_vars', None)
|
||||||
self._handle_exception(result._result, use_stderr=self.display_failed_stderr)
|
self._handle_exception(result._result, use_stderr=self.get_option('display_failed_stderr'))
|
||||||
self._handle_warnings(result._result)
|
self._handle_warnings(result._result)
|
||||||
|
|
||||||
def _process_result_output(self, result, msg):
|
def _process_result_output(self, result, msg):
|
||||||
@@ -109,7 +109,7 @@ class CallbackModule(CallbackModule_default):
|
|||||||
self._display.display(msg)
|
self._display.display(msg)
|
||||||
|
|
||||||
def v2_runner_on_skipped(self, result, ignore_errors=False):
|
def v2_runner_on_skipped(self, result, ignore_errors=False):
|
||||||
if self.display_skipped_hosts:
|
if self.get_option('display_skipped_hosts'):
|
||||||
self._preprocess_result(result)
|
self._preprocess_result(result)
|
||||||
display_color = C.COLOR_SKIP
|
display_color = C.COLOR_SKIP
|
||||||
msg = "skipped"
|
msg = "skipped"
|
||||||
@@ -128,7 +128,7 @@ class CallbackModule(CallbackModule_default):
|
|||||||
msg += " | item: %s" % (item_value,)
|
msg += " | item: %s" % (item_value,)
|
||||||
|
|
||||||
task_result = self._process_result_output(result, msg)
|
task_result = self._process_result_output(result, msg)
|
||||||
self._display.display(" " + task_result, display_color, stderr=self.display_failed_stderr)
|
self._display.display(" " + task_result, display_color, stderr=self.get_option('display_failed_stderr'))
|
||||||
|
|
||||||
def v2_runner_on_ok(self, result, msg="ok", display_color=C.COLOR_OK):
|
def v2_runner_on_ok(self, result, msg="ok", display_color=C.COLOR_OK):
|
||||||
self._preprocess_result(result)
|
self._preprocess_result(result)
|
||||||
@@ -142,7 +142,7 @@ class CallbackModule(CallbackModule_default):
|
|||||||
display_color = C.COLOR_CHANGED
|
display_color = C.COLOR_CHANGED
|
||||||
task_result = self._process_result_output(result, msg)
|
task_result = self._process_result_output(result, msg)
|
||||||
self._display.display(" " + task_result, display_color)
|
self._display.display(" " + task_result, display_color)
|
||||||
elif self.display_ok_hosts:
|
elif self.get_option('display_ok_hosts'):
|
||||||
task_result = self._process_result_output(result, msg)
|
task_result = self._process_result_output(result, msg)
|
||||||
self._display.display(" " + task_result, display_color)
|
self._display.display(" " + task_result, display_color)
|
||||||
|
|
||||||
@@ -162,7 +162,7 @@ class CallbackModule(CallbackModule_default):
|
|||||||
display_color = C.COLOR_UNREACHABLE
|
display_color = C.COLOR_UNREACHABLE
|
||||||
task_result = self._process_result_output(result, msg)
|
task_result = self._process_result_output(result, msg)
|
||||||
|
|
||||||
self._display.display(" " + task_result, display_color, stderr=self.display_failed_stderr)
|
self._display.display(" " + task_result, display_color, stderr=self.get_option('display_failed_stderr'))
|
||||||
|
|
||||||
def v2_on_file_diff(self, result):
|
def v2_on_file_diff(self, result):
|
||||||
if result._task.loop and 'results' in result._result:
|
if result._task.loop and 'results' in result._result:
|
||||||
@@ -205,7 +205,7 @@ class CallbackModule(CallbackModule_default):
|
|||||||
colorize(u'ignored', t['ignored'], None)),
|
colorize(u'ignored', t['ignored'], None)),
|
||||||
log_only=True
|
log_only=True
|
||||||
)
|
)
|
||||||
if stats.custom and self.show_custom_stats:
|
if stats.custom and self.get_option('show_custom_stats'):
|
||||||
self._display.banner("CUSTOM STATS: ")
|
self._display.banner("CUSTOM STATS: ")
|
||||||
# per host
|
# per host
|
||||||
# TODO: come up with 'pretty format'
|
# TODO: come up with 'pretty format'
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ DOCUMENTATION = '''
|
|||||||
author: Unknown (!UNKNOWN)
|
author: Unknown (!UNKNOWN)
|
||||||
name: yaml
|
name: yaml
|
||||||
type: stdout
|
type: stdout
|
||||||
short_description: yaml-ized Ansible screen output
|
short_description: YAML-ized Ansible screen output
|
||||||
description:
|
description:
|
||||||
- Ansible output that can be quite a bit easier to read than the
|
- Ansible output that can be quite a bit easier to read than the
|
||||||
default JSON formatting.
|
default JSON formatting.
|
||||||
@@ -25,12 +25,10 @@ import yaml
|
|||||||
import json
|
import json
|
||||||
import re
|
import re
|
||||||
import string
|
import string
|
||||||
import sys
|
|
||||||
|
|
||||||
from ansible.module_utils.common.text.converters import to_bytes, to_text
|
from ansible.module_utils.common.text.converters import to_text
|
||||||
from ansible.module_utils.six import string_types
|
|
||||||
from ansible.parsing.yaml.dumper import AnsibleDumper
|
from ansible.parsing.yaml.dumper import AnsibleDumper
|
||||||
from ansible.plugins.callback import CallbackBase, strip_internal_keys, module_response_deepcopy
|
from ansible.plugins.callback import strip_internal_keys, module_response_deepcopy
|
||||||
from ansible.plugins.callback.default import CallbackModule as Default
|
from ansible.plugins.callback.default import CallbackModule as Default
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ DOCUMENTATION = '''
|
|||||||
- The path of the chroot you want to access.
|
- The path of the chroot you want to access.
|
||||||
default: inventory_hostname
|
default: inventory_hostname
|
||||||
vars:
|
vars:
|
||||||
|
- name: inventory_hostname
|
||||||
- name: ansible_host
|
- name: ansible_host
|
||||||
executable:
|
executable:
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ DOCUMENTATION = '''
|
|||||||
- Path to the jail
|
- Path to the jail
|
||||||
default: inventory_hostname
|
default: inventory_hostname
|
||||||
vars:
|
vars:
|
||||||
|
- name: inventory_hostname
|
||||||
- name: ansible_host
|
- name: ansible_host
|
||||||
- name: ansible_jail_host
|
- name: ansible_jail_host
|
||||||
remote_user:
|
remote_user:
|
||||||
|
|||||||
@@ -15,40 +15,40 @@ class ModuleDocFragment(object):
|
|||||||
options:
|
options:
|
||||||
alicloud_access_key:
|
alicloud_access_key:
|
||||||
description:
|
description:
|
||||||
- Alibaba Cloud access key. If not set then the value of environment variable C(ALICLOUD_ACCESS_KEY),
|
- Alibaba Cloud access key. If not set then the value of environment variable E(ALICLOUD_ACCESS_KEY),
|
||||||
C(ALICLOUD_ACCESS_KEY_ID) will be used instead.
|
E(ALICLOUD_ACCESS_KEY_ID) will be used instead.
|
||||||
aliases: ['access_key_id', 'access_key']
|
aliases: ['access_key_id', 'access_key']
|
||||||
type: str
|
type: str
|
||||||
alicloud_secret_key:
|
alicloud_secret_key:
|
||||||
description:
|
description:
|
||||||
- Alibaba Cloud secret key. If not set then the value of environment variable C(ALICLOUD_SECRET_KEY),
|
- Alibaba Cloud secret key. If not set then the value of environment variable E(ALICLOUD_SECRET_KEY),
|
||||||
C(ALICLOUD_SECRET_ACCESS_KEY) will be used instead.
|
E(ALICLOUD_SECRET_ACCESS_KEY) will be used instead.
|
||||||
aliases: ['secret_access_key', 'secret_key']
|
aliases: ['secret_access_key', 'secret_key']
|
||||||
type: str
|
type: str
|
||||||
alicloud_region:
|
alicloud_region:
|
||||||
description:
|
description:
|
||||||
- The Alibaba Cloud region to use. If not specified then the value of environment variable
|
- The Alibaba Cloud region to use. If not specified then the value of environment variable
|
||||||
C(ALICLOUD_REGION), C(ALICLOUD_REGION_ID) will be used instead.
|
E(ALICLOUD_REGION), E(ALICLOUD_REGION_ID) will be used instead.
|
||||||
aliases: ['region', 'region_id']
|
aliases: ['region', 'region_id']
|
||||||
required: true
|
required: true
|
||||||
type: str
|
type: str
|
||||||
alicloud_security_token:
|
alicloud_security_token:
|
||||||
description:
|
description:
|
||||||
- The Alibaba Cloud security token. If not specified then the value of environment variable
|
- The Alibaba Cloud security token. If not specified then the value of environment variable
|
||||||
C(ALICLOUD_SECURITY_TOKEN) will be used instead.
|
E(ALICLOUD_SECURITY_TOKEN) will be used instead.
|
||||||
aliases: ['security_token']
|
aliases: ['security_token']
|
||||||
type: str
|
type: str
|
||||||
alicloud_assume_role:
|
alicloud_assume_role:
|
||||||
description:
|
description:
|
||||||
- If provided with a role ARN, Ansible will attempt to assume this role using the supplied credentials.
|
- If provided with a role ARN, Ansible will attempt to assume this role using the supplied credentials.
|
||||||
- The nested assume_role block supports I(alicloud_assume_role_arn), I(alicloud_assume_role_session_name),
|
- The nested assume_role block supports C(alicloud_assume_role_arn), C(alicloud_assume_role_session_name),
|
||||||
I(alicloud_assume_role_session_expiration) and I(alicloud_assume_role_policy)
|
C(alicloud_assume_role_session_expiration) and C(alicloud_assume_role_policy).
|
||||||
type: dict
|
type: dict
|
||||||
aliases: ['assume_role']
|
aliases: ['assume_role']
|
||||||
alicloud_assume_role_arn:
|
alicloud_assume_role_arn:
|
||||||
description:
|
description:
|
||||||
- The Alibaba Cloud role_arn. The ARN of the role to assume. If ARN is set to an empty string,
|
- The Alibaba Cloud role_arn. The ARN of the role to assume. If ARN is set to an empty string,
|
||||||
it does not perform role switching. It supports environment variable ALICLOUD_ASSUME_ROLE_ARN.
|
it does not perform role switching. It supports environment variable E(ALICLOUD_ASSUME_ROLE_ARN).
|
||||||
ansible will execute with provided credentials.
|
ansible will execute with provided credentials.
|
||||||
aliases: ['assume_role_arn']
|
aliases: ['assume_role_arn']
|
||||||
type: str
|
type: str
|
||||||
@@ -56,14 +56,14 @@ options:
|
|||||||
description:
|
description:
|
||||||
- The Alibaba Cloud session_name. The session name to use when assuming the role. If omitted,
|
- The Alibaba Cloud session_name. The session name to use when assuming the role. If omitted,
|
||||||
'ansible' is passed to the AssumeRole call as session name. It supports environment variable
|
'ansible' is passed to the AssumeRole call as session name. It supports environment variable
|
||||||
ALICLOUD_ASSUME_ROLE_SESSION_NAME
|
E(ALICLOUD_ASSUME_ROLE_SESSION_NAME).
|
||||||
aliases: ['assume_role_session_name']
|
aliases: ['assume_role_session_name']
|
||||||
type: str
|
type: str
|
||||||
alicloud_assume_role_session_expiration:
|
alicloud_assume_role_session_expiration:
|
||||||
description:
|
description:
|
||||||
- The Alibaba Cloud session_expiration. The time after which the established session for assuming
|
- The Alibaba Cloud session_expiration. The time after which the established session for assuming
|
||||||
role expires. Valid value range 900-3600 seconds. Default to 3600 (in this case Alicloud use own default
|
role expires. Valid value range 900-3600 seconds. Default to 3600 (in this case Alicloud use own default
|
||||||
value). It supports environment variable ALICLOUD_ASSUME_ROLE_SESSION_EXPIRATION
|
value). It supports environment variable E(ALICLOUD_ASSUME_ROLE_SESSION_EXPIRATION).
|
||||||
aliases: ['assume_role_session_expiration']
|
aliases: ['assume_role_session_expiration']
|
||||||
type: int
|
type: int
|
||||||
ecs_role_name:
|
ecs_role_name:
|
||||||
@@ -79,11 +79,11 @@ options:
|
|||||||
profile:
|
profile:
|
||||||
description:
|
description:
|
||||||
- This is the Alicloud profile name as set in the shared credentials file. It can also be sourced from the
|
- This is the Alicloud profile name as set in the shared credentials file. It can also be sourced from the
|
||||||
ALICLOUD_PROFILE environment variable.
|
E(ALICLOUD_PROFILE) environment variable.
|
||||||
type: str
|
type: str
|
||||||
shared_credentials_file:
|
shared_credentials_file:
|
||||||
description:
|
description:
|
||||||
- This is the path to the shared credentials file. It can also be sourced from the ALICLOUD_SHARED_CREDENTIALS_FILE
|
- This is the path to the shared credentials file. It can also be sourced from the E(ALICLOUD_SHARED_CREDENTIALS_FILE)
|
||||||
environment variable.
|
environment variable.
|
||||||
- If this is not set and a profile is specified, ~/.aliyun/config.json will be used.
|
- If this is not set and a profile is specified, ~/.aliyun/config.json will be used.
|
||||||
type: str
|
type: str
|
||||||
@@ -94,16 +94,16 @@ requirements:
|
|||||||
notes:
|
notes:
|
||||||
- If parameters are not set within the module, the following
|
- If parameters are not set within the module, the following
|
||||||
environment variables can be used in decreasing order of precedence
|
environment variables can be used in decreasing order of precedence
|
||||||
C(ALICLOUD_ACCESS_KEY) or C(ALICLOUD_ACCESS_KEY_ID),
|
E(ALICLOUD_ACCESS_KEY) or E(ALICLOUD_ACCESS_KEY_ID),
|
||||||
C(ALICLOUD_SECRET_KEY) or C(ALICLOUD_SECRET_ACCESS_KEY),
|
E(ALICLOUD_SECRET_KEY) or E(ALICLOUD_SECRET_ACCESS_KEY),
|
||||||
C(ALICLOUD_REGION) or C(ALICLOUD_REGION_ID),
|
E(ALICLOUD_REGION) or E(ALICLOUD_REGION_ID),
|
||||||
C(ALICLOUD_SECURITY_TOKEN),
|
E(ALICLOUD_SECURITY_TOKEN),
|
||||||
C(ALICLOUD_ECS_ROLE_NAME),
|
E(ALICLOUD_ECS_ROLE_NAME),
|
||||||
C(ALICLOUD_SHARED_CREDENTIALS_FILE),
|
E(ALICLOUD_SHARED_CREDENTIALS_FILE),
|
||||||
C(ALICLOUD_PROFILE),
|
E(ALICLOUD_PROFILE),
|
||||||
C(ALICLOUD_ASSUME_ROLE_ARN),
|
E(ALICLOUD_ASSUME_ROLE_ARN),
|
||||||
C(ALICLOUD_ASSUME_ROLE_SESSION_NAME),
|
E(ALICLOUD_ASSUME_ROLE_SESSION_NAME),
|
||||||
C(ALICLOUD_ASSUME_ROLE_SESSION_EXPIRATION),
|
E(ALICLOUD_ASSUME_ROLE_SESSION_EXPIRATION),
|
||||||
- C(ALICLOUD_REGION) or C(ALICLOUD_REGION_ID) can be typically be used to specify the
|
- E(ALICLOUD_REGION) or E(ALICLOUD_REGION_ID) can be typically be used to specify the
|
||||||
ALICLOUD region, when required, but this can also be configured in the footmark config file
|
ALICLOUD region, when required, but this can also be configured in the footmark config file
|
||||||
'''
|
'''
|
||||||
|
|||||||
@@ -20,9 +20,13 @@ attributes:
|
|||||||
description: Will return details on what has changed (or possibly needs changing in C(check_mode)), when in diff mode.
|
description: Will return details on what has changed (or possibly needs changing in C(check_mode)), when in diff mode.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
# platform:
|
PLATFORM = r'''
|
||||||
# description: Target OS/families that can be operated against.
|
options: {}
|
||||||
# support: N/A
|
attributes:
|
||||||
|
platform:
|
||||||
|
description: Target OS/families that can be operated against.
|
||||||
|
support: N/A
|
||||||
|
'''
|
||||||
|
|
||||||
# Should be used together with the standard fragment
|
# Should be used together with the standard fragment
|
||||||
INFO_MODULE = r'''
|
INFO_MODULE = r'''
|
||||||
|
|||||||
@@ -16,25 +16,25 @@ options:
|
|||||||
client_id:
|
client_id:
|
||||||
description:
|
description:
|
||||||
- The OAuth consumer key.
|
- The OAuth consumer key.
|
||||||
- If not set the environment variable C(BITBUCKET_CLIENT_ID) will be used.
|
- If not set the environment variable E(BITBUCKET_CLIENT_ID) will be used.
|
||||||
type: str
|
type: str
|
||||||
client_secret:
|
client_secret:
|
||||||
description:
|
description:
|
||||||
- The OAuth consumer secret.
|
- The OAuth consumer secret.
|
||||||
- If not set the environment variable C(BITBUCKET_CLIENT_SECRET) will be used.
|
- If not set the environment variable E(BITBUCKET_CLIENT_SECRET) will be used.
|
||||||
type: str
|
type: str
|
||||||
user:
|
user:
|
||||||
description:
|
description:
|
||||||
- The username.
|
- The username.
|
||||||
- If not set the environment variable C(BITBUCKET_USERNAME) will be used.
|
- If not set the environment variable E(BITBUCKET_USERNAME) will be used.
|
||||||
- I(username) is an alias of I(user) since community.genreal 6.0.0. It was an alias of I(workspace) before.
|
- O(ignore:username) is an alias of O(user) since community.general 6.0.0. It was an alias of O(workspace) before.
|
||||||
type: str
|
type: str
|
||||||
version_added: 4.0.0
|
version_added: 4.0.0
|
||||||
aliases: [ username ]
|
aliases: [ username ]
|
||||||
password:
|
password:
|
||||||
description:
|
description:
|
||||||
- The App password.
|
- The App password.
|
||||||
- If not set the environment variable C(BITBUCKET_PASSWORD) will be used.
|
- If not set the environment variable E(BITBUCKET_PASSWORD) will be used.
|
||||||
type: str
|
type: str
|
||||||
version_added: 4.0.0
|
version_added: 4.0.0
|
||||||
notes:
|
notes:
|
||||||
|
|||||||
@@ -29,13 +29,13 @@ options:
|
|||||||
mcp_user:
|
mcp_user:
|
||||||
description:
|
description:
|
||||||
- The username used to authenticate to the CloudControl API.
|
- The username used to authenticate to the CloudControl API.
|
||||||
- If not specified, will fall back to C(MCP_USER) from environment variable or C(~/.dimensiondata).
|
- If not specified, will fall back to E(MCP_USER) from environment variable or C(~/.dimensiondata).
|
||||||
type: str
|
type: str
|
||||||
mcp_password:
|
mcp_password:
|
||||||
description:
|
description:
|
||||||
- The password used to authenticate to the CloudControl API.
|
- The password used to authenticate to the CloudControl API.
|
||||||
- If not specified, will fall back to C(MCP_PASSWORD) from environment variable or C(~/.dimensiondata).
|
- If not specified, will fall back to E(MCP_PASSWORD) from environment variable or C(~/.dimensiondata).
|
||||||
- Required if I(mcp_user) is specified.
|
- Required if O(mcp_user) is specified.
|
||||||
type: str
|
type: str
|
||||||
location:
|
location:
|
||||||
description:
|
description:
|
||||||
@@ -44,7 +44,7 @@ options:
|
|||||||
required: true
|
required: true
|
||||||
validate_certs:
|
validate_certs:
|
||||||
description:
|
description:
|
||||||
- If C(false), SSL certificates will not be validated.
|
- If V(false), SSL certificates will not be validated.
|
||||||
- This should only be used on private instances of the CloudControl API that use self-signed certificates.
|
- This should only be used on private instances of the CloudControl API that use self-signed certificates.
|
||||||
type: bool
|
type: bool
|
||||||
default: true
|
default: true
|
||||||
|
|||||||
@@ -25,13 +25,13 @@ options:
|
|||||||
wait_time:
|
wait_time:
|
||||||
description:
|
description:
|
||||||
- The maximum amount of time (in seconds) to wait for the task to complete.
|
- The maximum amount of time (in seconds) to wait for the task to complete.
|
||||||
- Only applicable if I(wait=true).
|
- Only applicable if O(wait=true).
|
||||||
type: int
|
type: int
|
||||||
default: 600
|
default: 600
|
||||||
wait_poll_interval:
|
wait_poll_interval:
|
||||||
description:
|
description:
|
||||||
- The amount of time (in seconds) to wait between checks for task completion.
|
- The amount of time (in seconds) to wait between checks for task completion.
|
||||||
- Only applicable if I(wait=true).
|
- Only applicable if O(wait=true).
|
||||||
type: int
|
type: int
|
||||||
default: 2
|
default: 2
|
||||||
'''
|
'''
|
||||||
|
|||||||
@@ -29,8 +29,7 @@ options:
|
|||||||
required: true
|
required: true
|
||||||
|
|
||||||
requirements:
|
requirements:
|
||||||
- hpe3par_sdk >= 1.0.2. Install using 'pip install hpe3par_sdk'
|
- hpe3par_sdk >= 1.0.2. Install using C(pip install hpe3par_sdk).
|
||||||
- WSAPI service should be enabled on the 3PAR storage array.
|
- WSAPI service should be enabled on the 3PAR storage array.
|
||||||
notes:
|
notes:
|
||||||
- check_mode not supported
|
|
||||||
'''
|
'''
|
||||||
|
|||||||
@@ -51,16 +51,16 @@ options:
|
|||||||
type: str
|
type: str
|
||||||
notes:
|
notes:
|
||||||
- For authentication, you can set identity_endpoint using the
|
- For authentication, you can set identity_endpoint using the
|
||||||
C(ANSIBLE_HWC_IDENTITY_ENDPOINT) env variable.
|
E(ANSIBLE_HWC_IDENTITY_ENDPOINT) env variable.
|
||||||
- For authentication, you can set user using the
|
- For authentication, you can set user using the
|
||||||
C(ANSIBLE_HWC_USER) env variable.
|
E(ANSIBLE_HWC_USER) env variable.
|
||||||
- For authentication, you can set password using the C(ANSIBLE_HWC_PASSWORD) env
|
- For authentication, you can set password using the E(ANSIBLE_HWC_PASSWORD) env
|
||||||
variable.
|
variable.
|
||||||
- For authentication, you can set domain using the C(ANSIBLE_HWC_DOMAIN) env
|
- For authentication, you can set domain using the E(ANSIBLE_HWC_DOMAIN) env
|
||||||
variable.
|
variable.
|
||||||
- For authentication, you can set project using the C(ANSIBLE_HWC_PROJECT) env
|
- For authentication, you can set project using the E(ANSIBLE_HWC_PROJECT) env
|
||||||
variable.
|
variable.
|
||||||
- For authentication, you can set region using the C(ANSIBLE_HWC_REGION) env variable.
|
- For authentication, you can set region using the E(ANSIBLE_HWC_REGION) env variable.
|
||||||
- Environment variables values will only be used if the playbook values are
|
- Environment variables values will only be used if the playbook values are
|
||||||
not set.
|
not set.
|
||||||
'''
|
'''
|
||||||
|
|||||||
@@ -22,14 +22,14 @@ options:
|
|||||||
username:
|
username:
|
||||||
description:
|
description:
|
||||||
- Username that will be used to authenticate against InfluxDB server.
|
- Username that will be used to authenticate against InfluxDB server.
|
||||||
- Alias C(login_username) added in Ansible 2.5.
|
- Alias O(login_username) added in Ansible 2.5.
|
||||||
type: str
|
type: str
|
||||||
default: root
|
default: root
|
||||||
aliases: [ login_username ]
|
aliases: [ login_username ]
|
||||||
password:
|
password:
|
||||||
description:
|
description:
|
||||||
- Password that will be used to authenticate against InfluxDB server.
|
- Password that will be used to authenticate against InfluxDB server.
|
||||||
- Alias C(login_password) added in Ansible 2.5.
|
- Alias O(login_password) added in Ansible 2.5.
|
||||||
type: str
|
type: str
|
||||||
default: root
|
default: root
|
||||||
aliases: [ login_password ]
|
aliases: [ login_password ]
|
||||||
@@ -47,8 +47,8 @@ options:
|
|||||||
version_added: '0.2.0'
|
version_added: '0.2.0'
|
||||||
validate_certs:
|
validate_certs:
|
||||||
description:
|
description:
|
||||||
- If set to C(false), the SSL certificates will not be validated.
|
- If set to V(false), the SSL certificates will not be validated.
|
||||||
- This should only set to C(false) used on personally controlled sites using self-signed certificates.
|
- This should only set to V(false) used on personally controlled sites using self-signed certificates.
|
||||||
type: bool
|
type: bool
|
||||||
default: true
|
default: true
|
||||||
ssl:
|
ssl:
|
||||||
@@ -63,7 +63,7 @@ options:
|
|||||||
retries:
|
retries:
|
||||||
description:
|
description:
|
||||||
- Number of retries client will try before aborting.
|
- Number of retries client will try before aborting.
|
||||||
- C(0) indicates try until success.
|
- V(0) indicates try until success.
|
||||||
- Only available when using python-influxdb >= 4.1.0
|
- Only available when using python-influxdb >= 4.1.0
|
||||||
type: int
|
type: int
|
||||||
default: 3
|
default: 3
|
||||||
|
|||||||
@@ -16,61 +16,61 @@ options:
|
|||||||
ipa_port:
|
ipa_port:
|
||||||
description:
|
description:
|
||||||
- Port of FreeIPA / IPA server.
|
- Port of FreeIPA / IPA server.
|
||||||
- If the value is not specified in the task, the value of environment variable C(IPA_PORT) will be used instead.
|
- If the value is not specified in the task, the value of environment variable E(IPA_PORT) will be used instead.
|
||||||
- If both the environment variable C(IPA_PORT) and the value are not specified in the task, then default value is set.
|
- If both the environment variable E(IPA_PORT) and the value are not specified in the task, then default value is set.
|
||||||
- Environment variable fallback mechanism is added in Ansible 2.5.
|
- Environment variable fallback mechanism is added in Ansible 2.5.
|
||||||
type: int
|
type: int
|
||||||
default: 443
|
default: 443
|
||||||
ipa_host:
|
ipa_host:
|
||||||
description:
|
description:
|
||||||
- IP or hostname of IPA server.
|
- IP or hostname of IPA server.
|
||||||
- If the value is not specified in the task, the value of environment variable C(IPA_HOST) will be used instead.
|
- If the value is not specified in the task, the value of environment variable E(IPA_HOST) will be used instead.
|
||||||
- If both the environment variable C(IPA_HOST) and the value are not specified in the task, then DNS will be used to try to discover the FreeIPA server.
|
- If both the environment variable E(IPA_HOST) and the value are not specified in the task, then DNS will be used to try to discover the FreeIPA server.
|
||||||
- The relevant entry needed in FreeIPA is the 'ipa-ca' entry.
|
- The relevant entry needed in FreeIPA is the 'ipa-ca' entry.
|
||||||
- If neither the DNS entry, nor the environment C(IPA_HOST), nor the value are available in the task, then the default value will be used.
|
- If neither the DNS entry, nor the environment E(IPA_HOST), nor the value are available in the task, then the default value will be used.
|
||||||
- Environment variable fallback mechanism is added in Ansible 2.5.
|
- Environment variable fallback mechanism is added in Ansible 2.5.
|
||||||
type: str
|
type: str
|
||||||
default: ipa.example.com
|
default: ipa.example.com
|
||||||
ipa_user:
|
ipa_user:
|
||||||
description:
|
description:
|
||||||
- Administrative account used on IPA server.
|
- Administrative account used on IPA server.
|
||||||
- If the value is not specified in the task, the value of environment variable C(IPA_USER) will be used instead.
|
- If the value is not specified in the task, the value of environment variable E(IPA_USER) will be used instead.
|
||||||
- If both the environment variable C(IPA_USER) and the value are not specified in the task, then default value is set.
|
- If both the environment variable E(IPA_USER) and the value are not specified in the task, then default value is set.
|
||||||
- Environment variable fallback mechanism is added in Ansible 2.5.
|
- Environment variable fallback mechanism is added in Ansible 2.5.
|
||||||
type: str
|
type: str
|
||||||
default: admin
|
default: admin
|
||||||
ipa_pass:
|
ipa_pass:
|
||||||
description:
|
description:
|
||||||
- Password of administrative user.
|
- Password of administrative user.
|
||||||
- If the value is not specified in the task, the value of environment variable C(IPA_PASS) will be used instead.
|
- If the value is not specified in the task, the value of environment variable E(IPA_PASS) will be used instead.
|
||||||
- Note that if the 'urllib_gssapi' library is available, it is possible to use GSSAPI to authenticate to FreeIPA.
|
- Note that if the C(urllib_gssapi) library is available, it is possible to use GSSAPI to authenticate to FreeIPA.
|
||||||
- If the environment variable C(KRB5CCNAME) is available, the module will use this kerberos credentials cache to authenticate to the FreeIPA server.
|
- If the environment variable E(KRB5CCNAME) is available, the module will use this kerberos credentials cache to authenticate to the FreeIPA server.
|
||||||
- If the environment variable C(KRB5_CLIENT_KTNAME) is available, and C(KRB5CCNAME) is not; the module will use this kerberos keytab to authenticate.
|
- If the environment variable E(KRB5_CLIENT_KTNAME) is available, and E(KRB5CCNAME) is not; the module will use this kerberos keytab to authenticate.
|
||||||
- If GSSAPI is not available, the usage of 'ipa_pass' is required.
|
- If GSSAPI is not available, the usage of O(ipa_pass) is required.
|
||||||
- Environment variable fallback mechanism is added in Ansible 2.5.
|
- Environment variable fallback mechanism is added in Ansible 2.5.
|
||||||
type: str
|
type: str
|
||||||
ipa_prot:
|
ipa_prot:
|
||||||
description:
|
description:
|
||||||
- Protocol used by IPA server.
|
- Protocol used by IPA server.
|
||||||
- If the value is not specified in the task, the value of environment variable C(IPA_PROT) will be used instead.
|
- If the value is not specified in the task, the value of environment variable E(IPA_PROT) will be used instead.
|
||||||
- If both the environment variable C(IPA_PROT) and the value are not specified in the task, then default value is set.
|
- If both the environment variable E(IPA_PROT) and the value are not specified in the task, then default value is set.
|
||||||
- Environment variable fallback mechanism is added in Ansible 2.5.
|
- Environment variable fallback mechanism is added in Ansible 2.5.
|
||||||
type: str
|
type: str
|
||||||
choices: [ http, https ]
|
choices: [ http, https ]
|
||||||
default: https
|
default: https
|
||||||
validate_certs:
|
validate_certs:
|
||||||
description:
|
description:
|
||||||
- This only applies if C(ipa_prot) is I(https).
|
- This only applies if O(ipa_prot) is V(https).
|
||||||
- If set to C(false), the SSL certificates will not be validated.
|
- If set to V(false), the SSL certificates will not be validated.
|
||||||
- This should only set to C(false) used on personally controlled sites using self-signed certificates.
|
- This should only set to V(false) used on personally controlled sites using self-signed certificates.
|
||||||
type: bool
|
type: bool
|
||||||
default: true
|
default: true
|
||||||
ipa_timeout:
|
ipa_timeout:
|
||||||
description:
|
description:
|
||||||
- Specifies idle timeout (in seconds) for the connection.
|
- Specifies idle timeout (in seconds) for the connection.
|
||||||
- For bulk operations, you may want to increase this in order to avoid timeout from IPA server.
|
- For bulk operations, you may want to increase this in order to avoid timeout from IPA server.
|
||||||
- If the value is not specified in the task, the value of environment variable C(IPA_TIMEOUT) will be used instead.
|
- If the value is not specified in the task, the value of environment variable E(IPA_TIMEOUT) will be used instead.
|
||||||
- If both the environment variable C(IPA_TIMEOUT) and the value are not specified in the task, then default value is set.
|
- If both the environment variable E(IPA_TIMEOUT) and the value are not specified in the task, then default value is set.
|
||||||
type: int
|
type: int
|
||||||
default: 10
|
default: 10
|
||||||
'''
|
'''
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ options:
|
|||||||
|
|
||||||
auth_client_id:
|
auth_client_id:
|
||||||
description:
|
description:
|
||||||
- OpenID Connect I(client_id) to authenticate to the API with.
|
- OpenID Connect C(client_id) to authenticate to the API with.
|
||||||
type: str
|
type: str
|
||||||
default: admin-cli
|
default: admin-cli
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ options:
|
|||||||
|
|
||||||
auth_client_secret:
|
auth_client_secret:
|
||||||
description:
|
description:
|
||||||
- Client Secret to use in conjunction with I(auth_client_id) (if required).
|
- Client Secret to use in conjunction with O(auth_client_id) (if required).
|
||||||
type: str
|
type: str
|
||||||
|
|
||||||
auth_username:
|
auth_username:
|
||||||
|
|||||||
@@ -21,9 +21,26 @@ options:
|
|||||||
type: str
|
type: str
|
||||||
bind_pw:
|
bind_pw:
|
||||||
description:
|
description:
|
||||||
- The password to use with I(bind_dn).
|
- The password to use with O(bind_dn).
|
||||||
type: str
|
type: str
|
||||||
default: ''
|
default: ''
|
||||||
|
ca_path:
|
||||||
|
description:
|
||||||
|
- Set the path to PEM file with CA certs.
|
||||||
|
type: path
|
||||||
|
version_added: "6.5.0"
|
||||||
|
client_cert:
|
||||||
|
type: path
|
||||||
|
description:
|
||||||
|
- PEM formatted certificate chain file to be used for SSL client authentication.
|
||||||
|
- Required if O(client_key) is defined.
|
||||||
|
version_added: "7.1.0"
|
||||||
|
client_key:
|
||||||
|
type: path
|
||||||
|
description:
|
||||||
|
- PEM formatted file that contains your private key to be used for SSL client authentication.
|
||||||
|
- Required if O(client_cert) is defined.
|
||||||
|
version_added: "7.1.0"
|
||||||
dn:
|
dn:
|
||||||
required: true
|
required: true
|
||||||
description:
|
description:
|
||||||
@@ -35,12 +52,12 @@ options:
|
|||||||
type: str
|
type: str
|
||||||
description:
|
description:
|
||||||
- Set the referrals chasing behavior.
|
- Set the referrals chasing behavior.
|
||||||
- C(anonymous) follow referrals anonymously. This is the default behavior.
|
- V(anonymous) follow referrals anonymously. This is the default behavior.
|
||||||
- C(disabled) disable referrals chasing. This sets C(OPT_REFERRALS) to off.
|
- V(disabled) disable referrals chasing. This sets C(OPT_REFERRALS) to off.
|
||||||
version_added: 2.0.0
|
version_added: 2.0.0
|
||||||
server_uri:
|
server_uri:
|
||||||
description:
|
description:
|
||||||
- The I(server_uri) parameter may be a comma- or whitespace-separated list of URIs containing only the schema, the host, and the port fields.
|
- The O(server_uri) parameter may be a comma- or whitespace-separated list of URIs containing only the schema, the host, and the port fields.
|
||||||
- The default value lets the underlying LDAP client library look for a UNIX domain socket in its default location.
|
- The default value lets the underlying LDAP client library look for a UNIX domain socket in its default location.
|
||||||
- Note that when using multiple URIs you cannot determine to which URI your client gets connected.
|
- Note that when using multiple URIs you cannot determine to which URI your client gets connected.
|
||||||
- For URIs containing additional fields, particularly when using commas, behavior is undefined.
|
- For URIs containing additional fields, particularly when using commas, behavior is undefined.
|
||||||
@@ -53,16 +70,25 @@ options:
|
|||||||
default: false
|
default: false
|
||||||
validate_certs:
|
validate_certs:
|
||||||
description:
|
description:
|
||||||
- If set to C(false), SSL certificates will not be validated.
|
- If set to V(false), SSL certificates will not be validated.
|
||||||
- This should only be used on sites using self-signed certificates.
|
- This should only be used on sites using self-signed certificates.
|
||||||
type: bool
|
type: bool
|
||||||
default: true
|
default: true
|
||||||
sasl_class:
|
sasl_class:
|
||||||
description:
|
description:
|
||||||
- The class to use for SASL authentication.
|
- The class to use for SASL authentication.
|
||||||
- possible choices are C(external), C(gssapi).
|
|
||||||
type: str
|
type: str
|
||||||
choices: ['external', 'gssapi']
|
choices: ['external', 'gssapi']
|
||||||
default: external
|
default: external
|
||||||
version_added: "2.0.0"
|
version_added: "2.0.0"
|
||||||
|
xorder_discovery:
|
||||||
|
description:
|
||||||
|
- Set the behavior on how to process Xordered DNs.
|
||||||
|
- V(enable) will perform a C(ONELEVEL) search below the superior RDN to find the matching DN.
|
||||||
|
- V(disable) will always use the DN unmodified (as passed by the O(dn) parameter).
|
||||||
|
- V(auto) will only perform a search if the first RDN does not contain an index number (C({x})).
|
||||||
|
type: str
|
||||||
|
choices: ['enable', 'auto', 'disable']
|
||||||
|
default: auto
|
||||||
|
version_added: "6.4.0"
|
||||||
'''
|
'''
|
||||||
|
|||||||
@@ -21,30 +21,30 @@ options:
|
|||||||
suboptions:
|
suboptions:
|
||||||
url:
|
url:
|
||||||
description:
|
description:
|
||||||
- ManageIQ environment url. C(MIQ_URL) env var if set. otherwise, it is required to pass it.
|
- ManageIQ environment URL. E(MIQ_URL) environment variable if set. Otherwise, it is required to pass it.
|
||||||
type: str
|
type: str
|
||||||
required: false
|
required: false
|
||||||
username:
|
username:
|
||||||
description:
|
description:
|
||||||
- ManageIQ username. C(MIQ_USERNAME) env var if set. otherwise, required if no token is passed in.
|
- ManageIQ username. E(MIQ_USERNAME) environment variable if set. Otherwise, required if no token is passed in.
|
||||||
type: str
|
type: str
|
||||||
password:
|
password:
|
||||||
description:
|
description:
|
||||||
- ManageIQ password. C(MIQ_PASSWORD) env var if set. otherwise, required if no token is passed in.
|
- ManageIQ password. E(MIQ_PASSWORD) environment variable if set. Otherwise, required if no token is passed in.
|
||||||
type: str
|
type: str
|
||||||
token:
|
token:
|
||||||
description:
|
description:
|
||||||
- ManageIQ token. C(MIQ_TOKEN) env var if set. otherwise, required if no username or password is passed in.
|
- ManageIQ token. E(MIQ_TOKEN) environment variable if set. Otherwise, required if no username or password is passed in.
|
||||||
type: str
|
type: str
|
||||||
validate_certs:
|
validate_certs:
|
||||||
description:
|
description:
|
||||||
- Whether SSL certificates should be verified for HTTPS requests. defaults to True.
|
- Whether SSL certificates should be verified for HTTPS requests.
|
||||||
type: bool
|
type: bool
|
||||||
default: true
|
default: true
|
||||||
aliases: [ verify_ssl ]
|
aliases: [ verify_ssl ]
|
||||||
ca_cert:
|
ca_cert:
|
||||||
description:
|
description:
|
||||||
- The path to a CA bundle file or directory with certificates. defaults to None.
|
- The path to a CA bundle file or directory with certificates.
|
||||||
type: str
|
type: str
|
||||||
aliases: [ ca_bundle_path ]
|
aliases: [ ca_bundle_path ]
|
||||||
|
|
||||||
|
|||||||
@@ -37,9 +37,9 @@ options:
|
|||||||
default: true
|
default: true
|
||||||
notes:
|
notes:
|
||||||
- Also see the API documentation on U(https://console.online.net/en/api/)
|
- Also see the API documentation on U(https://console.online.net/en/api/)
|
||||||
- If C(api_token) is not set within the module, the following
|
- If O(api_token) is not set within the module, the following
|
||||||
environment variables can be used in decreasing order of precedence
|
environment variables can be used in decreasing order of precedence
|
||||||
C(ONLINE_TOKEN), C(ONLINE_API_KEY), C(ONLINE_OAUTH_TOKEN), C(ONLINE_API_TOKEN)
|
E(ONLINE_TOKEN), E(ONLINE_API_KEY), E(ONLINE_OAUTH_TOKEN), E(ONLINE_API_TOKEN).
|
||||||
- If one wants to use a different C(api_url) one can also set the C(ONLINE_API_URL)
|
- If one wants to use a different O(api_url) one can also set the E(ONLINE_API_URL)
|
||||||
environment variable.
|
environment variable.
|
||||||
'''
|
'''
|
||||||
|
|||||||
@@ -15,26 +15,26 @@ options:
|
|||||||
api_url:
|
api_url:
|
||||||
description:
|
description:
|
||||||
- The ENDPOINT URL of the XMLRPC server.
|
- The ENDPOINT URL of the XMLRPC server.
|
||||||
- If not specified then the value of the ONE_URL environment variable, if any, is used.
|
- If not specified then the value of the E(ONE_URL) environment variable, if any, is used.
|
||||||
type: str
|
type: str
|
||||||
aliases:
|
aliases:
|
||||||
- api_endpoint
|
- api_endpoint
|
||||||
api_username:
|
api_username:
|
||||||
description:
|
description:
|
||||||
- The name of the user for XMLRPC authentication.
|
- The name of the user for XMLRPC authentication.
|
||||||
- If not specified then the value of the ONE_USERNAME environment variable, if any, is used.
|
- If not specified then the value of the E(ONE_USERNAME) environment variable, if any, is used.
|
||||||
type: str
|
type: str
|
||||||
api_password:
|
api_password:
|
||||||
description:
|
description:
|
||||||
- The password or token for XMLRPC authentication.
|
- The password or token for XMLRPC authentication.
|
||||||
- If not specified then the value of the ONE_PASSWORD environment variable, if any, is used.
|
- If not specified then the value of the E(ONE_PASSWORD) environment variable, if any, is used.
|
||||||
type: str
|
type: str
|
||||||
aliases:
|
aliases:
|
||||||
- api_token
|
- api_token
|
||||||
validate_certs:
|
validate_certs:
|
||||||
description:
|
description:
|
||||||
- Whether to validate the SSL certificates or not.
|
- Whether to validate the TLS/SSL certificates or not.
|
||||||
- This parameter is ignored if PYTHONHTTPSVERIFY environment variable is used.
|
- This parameter is ignored if E(PYTHONHTTPSVERIFY) environment variable is used.
|
||||||
type: bool
|
type: bool
|
||||||
default: true
|
default: true
|
||||||
wait_timeout:
|
wait_timeout:
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ options:
|
|||||||
port:
|
port:
|
||||||
description:
|
description:
|
||||||
- Specifies the port to use when building the connection to the remote
|
- Specifies the port to use when building the connection to the remote
|
||||||
device. This value applies to either I(cli) or I(rest). The port
|
device. This value applies to either O(transport=cli) or O(transport=rest). The port
|
||||||
value will default to the appropriate transport common port if
|
value will default to the appropriate transport common port if
|
||||||
none is provided in the task. (cli=22, http=80, https=443). Note
|
none is provided in the task. (cli=22, http=80, https=443). Note
|
||||||
this argument does not affect the SSH transport.
|
this argument does not affect the SSH transport.
|
||||||
@@ -36,15 +36,15 @@ options:
|
|||||||
either the CLI login or the eAPI authentication depending on which
|
either the CLI login or the eAPI authentication depending on which
|
||||||
transport is used. Note this argument does not affect the SSH
|
transport is used. Note this argument does not affect the SSH
|
||||||
transport. If the value is not specified in the task, the value of
|
transport. If the value is not specified in the task, the value of
|
||||||
environment variable C(ANSIBLE_NET_USERNAME) will be used instead.
|
environment variable E(ANSIBLE_NET_USERNAME) will be used instead.
|
||||||
type: str
|
type: str
|
||||||
password:
|
password:
|
||||||
description:
|
description:
|
||||||
- Specifies the password to use to authenticate the connection to
|
- Specifies the password to use to authenticate the connection to
|
||||||
the remote device. This is a common argument used for either I(cli)
|
the remote device. This is a common argument used for either O(transport=cli)
|
||||||
or I(rest) transports. Note this argument does not affect the SSH
|
or O(transport=rest). Note this argument does not affect the SSH
|
||||||
transport. If the value is not specified in the task, the value of
|
transport. If the value is not specified in the task, the value of
|
||||||
environment variable C(ANSIBLE_NET_PASSWORD) will be used instead.
|
environment variable E(ANSIBLE_NET_PASSWORD) will be used instead.
|
||||||
type: str
|
type: str
|
||||||
timeout:
|
timeout:
|
||||||
description:
|
description:
|
||||||
@@ -56,9 +56,9 @@ options:
|
|||||||
ssh_keyfile:
|
ssh_keyfile:
|
||||||
description:
|
description:
|
||||||
- Specifies the SSH key to use to authenticate the connection to
|
- Specifies the SSH key to use to authenticate the connection to
|
||||||
the remote device. This argument is only used for the I(cli)
|
the remote device. This argument is only used for O(transport=cli).
|
||||||
transports. If the value is not specified in the task, the value of
|
If the value is not specified in the task, the value of
|
||||||
environment variable C(ANSIBLE_NET_SSH_KEYFILE) will be used instead.
|
environment variable E(ANSIBLE_NET_SSH_KEYFILE) will be used instead.
|
||||||
type: path
|
type: path
|
||||||
transport:
|
transport:
|
||||||
description:
|
description:
|
||||||
@@ -71,14 +71,14 @@ options:
|
|||||||
default: ssh
|
default: ssh
|
||||||
use_ssl:
|
use_ssl:
|
||||||
description:
|
description:
|
||||||
- Configures the I(transport) to use SSL if set to C(true) only when the
|
- Configures the O(transport) to use SSL if set to V(true) only when the
|
||||||
I(transport) argument is configured as rest. If the transport
|
O(transport) argument is configured as rest. If the transport
|
||||||
argument is not I(rest), this value is ignored.
|
argument is not V(rest), this value is ignored.
|
||||||
type: bool
|
type: bool
|
||||||
default: true
|
default: true
|
||||||
provider:
|
provider:
|
||||||
description:
|
description:
|
||||||
- Convenience method that allows all I(openswitch) arguments to be passed as
|
- Convenience method that allows all C(openswitch) arguments to be passed as
|
||||||
a dict object. All constraints (required, choices, etc) must be
|
a dict object. All constraints (required, choices, etc) must be
|
||||||
met either by individual arguments or values in this dict.
|
met either by individual arguments or values in this dict.
|
||||||
type: dict
|
type: dict
|
||||||
|
|||||||
@@ -18,28 +18,28 @@ class ModuleDocFragment(object):
|
|||||||
options:
|
options:
|
||||||
config_file_location:
|
config_file_location:
|
||||||
description:
|
description:
|
||||||
- Path to configuration file. If not set then the value of the OCI_CONFIG_FILE environment variable,
|
- Path to configuration file. If not set then the value of the E(OCI_CONFIG_FILE) environment variable,
|
||||||
if any, is used. Otherwise, defaults to ~/.oci/config.
|
if any, is used. Otherwise, defaults to ~/.oci/config.
|
||||||
type: str
|
type: str
|
||||||
config_profile_name:
|
config_profile_name:
|
||||||
description:
|
description:
|
||||||
- The profile to load from the config file referenced by C(config_file_location). If not set, then the
|
- The profile to load from the config file referenced by O(config_file_location). If not set, then the
|
||||||
value of the OCI_CONFIG_PROFILE environment variable, if any, is used. Otherwise, defaults to the
|
value of the E(OCI_CONFIG_PROFILE) environment variable, if any, is used. Otherwise, defaults to the
|
||||||
"DEFAULT" profile in C(config_file_location).
|
"DEFAULT" profile in O(config_file_location).
|
||||||
default: "DEFAULT"
|
default: "DEFAULT"
|
||||||
type: str
|
type: str
|
||||||
api_user:
|
api_user:
|
||||||
description:
|
description:
|
||||||
- The OCID of the user, on whose behalf, OCI APIs are invoked. If not set, then the
|
- The OCID of the user, on whose behalf, OCI APIs are invoked. If not set, then the
|
||||||
value of the OCI_USER_OCID environment variable, if any, is used. This option is required if the user
|
value of the E(OCI_USER_OCID) environment variable, if any, is used. This option is required if the user
|
||||||
is not specified through a configuration file (See C(config_file_location)). To get the user's OCID,
|
is not specified through a configuration file (See O(config_file_location)). To get the user's OCID,
|
||||||
please refer U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm).
|
please refer U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm).
|
||||||
type: str
|
type: str
|
||||||
api_user_fingerprint:
|
api_user_fingerprint:
|
||||||
description:
|
description:
|
||||||
- Fingerprint for the key pair being used. If not set, then the value of the OCI_USER_FINGERPRINT
|
- Fingerprint for the key pair being used. If not set, then the value of the E(OCI_USER_FINGERPRINT)
|
||||||
environment variable, if any, is used. This option is required if the key fingerprint is not
|
environment variable, if any, is used. This option is required if the key fingerprint is not
|
||||||
specified through a configuration file (See C(config_file_location)). To get the key pair's
|
specified through a configuration file (See O(config_file_location)). To get the key pair's
|
||||||
fingerprint value please refer
|
fingerprint value please refer
|
||||||
U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm).
|
U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm).
|
||||||
type: str
|
type: str
|
||||||
@@ -47,21 +47,21 @@ class ModuleDocFragment(object):
|
|||||||
description:
|
description:
|
||||||
- Full path and filename of the private key (in PEM format). If not set, then the value of the
|
- Full path and filename of the private key (in PEM format). If not set, then the value of the
|
||||||
OCI_USER_KEY_FILE variable, if any, is used. This option is required if the private key is
|
OCI_USER_KEY_FILE variable, if any, is used. This option is required if the private key is
|
||||||
not specified through a configuration file (See C(config_file_location)). If the key is encrypted
|
not specified through a configuration file (See O(config_file_location)). If the key is encrypted
|
||||||
with a pass-phrase, the C(api_user_key_pass_phrase) option must also be provided.
|
with a pass-phrase, the O(api_user_key_pass_phrase) option must also be provided.
|
||||||
type: path
|
type: path
|
||||||
api_user_key_pass_phrase:
|
api_user_key_pass_phrase:
|
||||||
description:
|
description:
|
||||||
- Passphrase used by the key referenced in C(api_user_key_file), if it is encrypted. If not set, then
|
- Passphrase used by the key referenced in O(api_user_key_file), if it is encrypted. If not set, then
|
||||||
the value of the OCI_USER_KEY_PASS_PHRASE variable, if any, is used. This option is required if the
|
the value of the OCI_USER_KEY_PASS_PHRASE variable, if any, is used. This option is required if the
|
||||||
key passphrase is not specified through a configuration file (See C(config_file_location)).
|
key passphrase is not specified through a configuration file (See O(config_file_location)).
|
||||||
type: str
|
type: str
|
||||||
auth_type:
|
auth_type:
|
||||||
description:
|
description:
|
||||||
- The type of authentication to use for making API requests. By default C(auth_type="api_key") based
|
- The type of authentication to use for making API requests. By default O(auth_type=api_key) based
|
||||||
authentication is performed and the API key (see I(api_user_key_file)) in your config file will be
|
authentication is performed and the API key (see O(api_user_key_file)) in your config file will be
|
||||||
used. If this 'auth_type' module option is not specified, the value of the OCI_ANSIBLE_AUTH_TYPE,
|
used. If this 'auth_type' module option is not specified, the value of the OCI_ANSIBLE_AUTH_TYPE,
|
||||||
if any, is used. Use C(auth_type="instance_principal") to use instance principal based authentication
|
if any, is used. Use O(auth_type=instance_principal) to use instance principal based authentication
|
||||||
when running ansible playbooks within an OCI compute instance.
|
when running ansible playbooks within an OCI compute instance.
|
||||||
choices: ['api_key', 'instance_principal']
|
choices: ['api_key', 'instance_principal']
|
||||||
default: 'api_key'
|
default: 'api_key'
|
||||||
@@ -70,14 +70,14 @@ class ModuleDocFragment(object):
|
|||||||
description:
|
description:
|
||||||
- OCID of your tenancy. If not set, then the value of the OCI_TENANCY variable, if any, is
|
- OCID of your tenancy. If not set, then the value of the OCI_TENANCY variable, if any, is
|
||||||
used. This option is required if the tenancy OCID is not specified through a configuration file
|
used. This option is required if the tenancy OCID is not specified through a configuration file
|
||||||
(See C(config_file_location)). To get the tenancy OCID, please refer
|
(See O(config_file_location)). To get the tenancy OCID, please refer
|
||||||
U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm)
|
U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm)
|
||||||
type: str
|
type: str
|
||||||
region:
|
region:
|
||||||
description:
|
description:
|
||||||
- The Oracle Cloud Infrastructure region to use for all OCI API requests. If not set, then the
|
- The Oracle Cloud Infrastructure region to use for all OCI API requests. If not set, then the
|
||||||
value of the OCI_REGION variable, if any, is used. This option is required if the region is
|
value of the OCI_REGION variable, if any, is used. This option is required if the region is
|
||||||
not specified through a configuration file (See C(config_file_location)). Please refer to
|
not specified through a configuration file (See O(config_file_location)). Please refer to
|
||||||
U(https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm) for more information
|
U(https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm) for more information
|
||||||
on OCI regions.
|
on OCI regions.
|
||||||
type: str
|
type: str
|
||||||
|
|||||||
@@ -14,13 +14,13 @@ class ModuleDocFragment(object):
|
|||||||
description: Whether to attempt non-idempotent creation of a resource. By default, create resource is an
|
description: Whether to attempt non-idempotent creation of a resource. By default, create resource is an
|
||||||
idempotent operation, and doesn't create the resource if it already exists. Setting this option
|
idempotent operation, and doesn't create the resource if it already exists. Setting this option
|
||||||
to true, forcefully creates a copy of the resource, even if it already exists.This option is
|
to true, forcefully creates a copy of the resource, even if it already exists.This option is
|
||||||
mutually exclusive with I(key_by).
|
mutually exclusive with O(key_by).
|
||||||
default: false
|
default: false
|
||||||
type: bool
|
type: bool
|
||||||
key_by:
|
key_by:
|
||||||
description: The list of comma-separated attributes of this resource which should be used to uniquely
|
description: The list of comma-separated attributes of this resource which should be used to uniquely
|
||||||
identify an instance of the resource. By default, all the attributes of a resource except
|
identify an instance of the resource. By default, all the attributes of a resource except
|
||||||
I(freeform_tags) are used to uniquely identify a resource.
|
O(freeform_tags) are used to uniquely identify a resource.
|
||||||
type: list
|
type: list
|
||||||
elements: str
|
elements: str
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ class ModuleDocFragment(object):
|
|||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
options:
|
options:
|
||||||
display_name:
|
display_name:
|
||||||
description: Use I(display_name) along with the other options to return only resources that match the given
|
description: Use O(display_name) along with the other options to return only resources that match the given
|
||||||
display name exactly.
|
display name exactly.
|
||||||
type: str
|
type: str
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ class ModuleDocFragment(object):
|
|||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
options:
|
options:
|
||||||
name:
|
name:
|
||||||
description: Use I(name) along with the other options to return only resources that match the given name
|
description: Use O(name) along with the other options to return only resources that match the given name
|
||||||
exactly.
|
exactly.
|
||||||
type: str
|
type: str
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -15,12 +15,12 @@ class ModuleDocFragment(object):
|
|||||||
default: true
|
default: true
|
||||||
type: bool
|
type: bool
|
||||||
wait_timeout:
|
wait_timeout:
|
||||||
description: Time, in seconds, to wait when I(wait=true).
|
description: Time, in seconds, to wait when O(wait=true).
|
||||||
default: 1200
|
default: 1200
|
||||||
type: int
|
type: int
|
||||||
wait_until:
|
wait_until:
|
||||||
description: The lifecycle state to wait for the resource to transition into when I(wait=true). By default,
|
description: The lifecycle state to wait for the resource to transition into when O(wait=true). By default,
|
||||||
when I(wait=true), we wait for the resource to get into ACTIVE/ATTACHED/AVAILABLE/PROVISIONED/
|
when O(wait=true), we wait for the resource to get into ACTIVE/ATTACHED/AVAILABLE/PROVISIONED/
|
||||||
RUNNING applicable lifecycle state during create operation & to get into DELETED/DETACHED/
|
RUNNING applicable lifecycle state during create operation & to get into DELETED/DETACHED/
|
||||||
TERMINATED lifecycle state during delete operation.
|
TERMINATED lifecycle state during delete operation.
|
||||||
type: str
|
type: str
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ options:
|
|||||||
default: true
|
default: true
|
||||||
description:
|
description:
|
||||||
- If certificates should be validated or not.
|
- If certificates should be validated or not.
|
||||||
- This should never be set to C(false), except if you are very sure that
|
- This should never be set to V(false), except if you are very sure that
|
||||||
your connection to the server can not be subject to a Man In The Middle
|
your connection to the server can not be subject to a Man In The Middle
|
||||||
attack.
|
attack.
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ options:
|
|||||||
api_password:
|
api_password:
|
||||||
description:
|
description:
|
||||||
- Specify the password to authenticate with.
|
- Specify the password to authenticate with.
|
||||||
- You can use C(PROXMOX_PASSWORD) environment variable.
|
- You can use E(PROXMOX_PASSWORD) environment variable.
|
||||||
type: str
|
type: str
|
||||||
api_token_id:
|
api_token_id:
|
||||||
description:
|
description:
|
||||||
@@ -38,7 +38,7 @@ options:
|
|||||||
version_added: 1.3.0
|
version_added: 1.3.0
|
||||||
validate_certs:
|
validate_certs:
|
||||||
description:
|
description:
|
||||||
- If C(false), SSL certificates will not be validated.
|
- If V(false), SSL certificates will not be validated.
|
||||||
- This should only be used on personally controlled sites using self-signed certificates.
|
- This should only be used on personally controlled sites using self-signed certificates.
|
||||||
type: bool
|
type: bool
|
||||||
default: false
|
default: false
|
||||||
@@ -55,7 +55,7 @@ options:
|
|||||||
node:
|
node:
|
||||||
description:
|
description:
|
||||||
- Proxmox VE node on which to operate.
|
- Proxmox VE node on which to operate.
|
||||||
- Only required for I(state=present).
|
- Only required for O(state=present).
|
||||||
- For every other states it will be autodiscovered.
|
- For every other states it will be autodiscovered.
|
||||||
type: str
|
type: str
|
||||||
pool:
|
pool:
|
||||||
|
|||||||
@@ -33,8 +33,8 @@ options:
|
|||||||
type: str
|
type: str
|
||||||
notes:
|
notes:
|
||||||
- This module requires the C(purity_fb) Python library
|
- This module requires the C(purity_fb) Python library
|
||||||
- You must set C(PUREFB_URL) and C(PUREFB_API) environment variables
|
- You must set E(PUREFB_URL) and E(PUREFB_API) environment variables
|
||||||
if I(fb_url) and I(api_token) arguments are not passed to the module directly
|
if O(fb_url) and O(api_token) arguments are not passed to the module directly
|
||||||
requirements:
|
requirements:
|
||||||
- python >= 2.7
|
- python >= 2.7
|
||||||
- purity_fb >= 1.1
|
- purity_fb >= 1.1
|
||||||
@@ -55,8 +55,8 @@ options:
|
|||||||
required: true
|
required: true
|
||||||
notes:
|
notes:
|
||||||
- This module requires the C(purestorage) Python library
|
- This module requires the C(purestorage) Python library
|
||||||
- You must set C(PUREFA_URL) and C(PUREFA_API) environment variables
|
- You must set E(PUREFA_URL) and E(PUREFA_API) environment variables
|
||||||
if I(fa_url) and I(api_token) arguments are not passed to the module directly
|
if O(fa_url) and O(api_token) arguments are not passed to the module directly
|
||||||
requirements:
|
requirements:
|
||||||
- python >= 2.7
|
- python >= 2.7
|
||||||
- purestorage
|
- purestorage
|
||||||
|
|||||||
@@ -15,18 +15,18 @@ class ModuleDocFragment(object):
|
|||||||
options:
|
options:
|
||||||
api_key:
|
api_key:
|
||||||
description:
|
description:
|
||||||
- Rackspace API key, overrides I(credentials).
|
- Rackspace API key, overrides O(credentials).
|
||||||
type: str
|
type: str
|
||||||
aliases: [ password ]
|
aliases: [ password ]
|
||||||
credentials:
|
credentials:
|
||||||
description:
|
description:
|
||||||
- File to find the Rackspace credentials in. Ignored if I(api_key) and
|
- File to find the Rackspace credentials in. Ignored if O(api_key) and
|
||||||
I(username) are provided.
|
O(username) are provided.
|
||||||
type: path
|
type: path
|
||||||
aliases: [ creds_file ]
|
aliases: [ creds_file ]
|
||||||
env:
|
env:
|
||||||
description:
|
description:
|
||||||
- Environment as configured in I(~/.pyrax.cfg),
|
- Environment as configured in C(~/.pyrax.cfg),
|
||||||
see U(https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration).
|
see U(https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration).
|
||||||
type: str
|
type: str
|
||||||
region:
|
region:
|
||||||
@@ -35,7 +35,7 @@ options:
|
|||||||
type: str
|
type: str
|
||||||
username:
|
username:
|
||||||
description:
|
description:
|
||||||
- Rackspace username, overrides I(credentials).
|
- Rackspace username, overrides O(credentials).
|
||||||
type: str
|
type: str
|
||||||
validate_certs:
|
validate_certs:
|
||||||
description:
|
description:
|
||||||
@@ -46,12 +46,12 @@ requirements:
|
|||||||
- python >= 2.6
|
- python >= 2.6
|
||||||
- pyrax
|
- pyrax
|
||||||
notes:
|
notes:
|
||||||
- The following environment variables can be used, C(RAX_USERNAME),
|
- The following environment variables can be used, E(RAX_USERNAME),
|
||||||
C(RAX_API_KEY), C(RAX_CREDS_FILE), C(RAX_CREDENTIALS), C(RAX_REGION).
|
E(RAX_API_KEY), E(RAX_CREDS_FILE), E(RAX_CREDENTIALS), E(RAX_REGION).
|
||||||
- C(RAX_CREDENTIALS) and C(RAX_CREDS_FILE) points to a credentials file
|
- E(RAX_CREDENTIALS) and E(RAX_CREDS_FILE) point to a credentials file
|
||||||
appropriate for pyrax. See U(https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating)
|
appropriate for pyrax. See U(https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating)
|
||||||
- C(RAX_USERNAME) and C(RAX_API_KEY) obviate the use of a credentials file
|
- E(RAX_USERNAME) and E(RAX_API_KEY) obviate the use of a credentials file
|
||||||
- C(RAX_REGION) defines a Rackspace Public Cloud region (DFW, ORD, LON, ...)
|
- E(RAX_REGION) defines a Rackspace Public Cloud region (DFW, ORD, LON, ...)
|
||||||
'''
|
'''
|
||||||
|
|
||||||
# Documentation fragment including attributes to enable communication
|
# Documentation fragment including attributes to enable communication
|
||||||
@@ -61,7 +61,7 @@ options:
|
|||||||
api_key:
|
api_key:
|
||||||
type: str
|
type: str
|
||||||
description:
|
description:
|
||||||
- Rackspace API key, overrides I(credentials).
|
- Rackspace API key, overrides O(credentials).
|
||||||
aliases: [ password ]
|
aliases: [ password ]
|
||||||
auth_endpoint:
|
auth_endpoint:
|
||||||
type: str
|
type: str
|
||||||
@@ -71,13 +71,13 @@ options:
|
|||||||
credentials:
|
credentials:
|
||||||
type: path
|
type: path
|
||||||
description:
|
description:
|
||||||
- File to find the Rackspace credentials in. Ignored if I(api_key) and
|
- File to find the Rackspace credentials in. Ignored if O(api_key) and
|
||||||
I(username) are provided.
|
O(username) are provided.
|
||||||
aliases: [ creds_file ]
|
aliases: [ creds_file ]
|
||||||
env:
|
env:
|
||||||
type: str
|
type: str
|
||||||
description:
|
description:
|
||||||
- Environment as configured in I(~/.pyrax.cfg),
|
- Environment as configured in C(~/.pyrax.cfg),
|
||||||
see U(https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration).
|
see U(https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration).
|
||||||
identity_type:
|
identity_type:
|
||||||
type: str
|
type: str
|
||||||
@@ -99,20 +99,24 @@ options:
|
|||||||
username:
|
username:
|
||||||
type: str
|
type: str
|
||||||
description:
|
description:
|
||||||
- Rackspace username, overrides I(credentials).
|
- Rackspace username, overrides O(credentials).
|
||||||
validate_certs:
|
validate_certs:
|
||||||
description:
|
description:
|
||||||
- Whether or not to require SSL validation of API endpoints.
|
- Whether or not to require SSL validation of API endpoints.
|
||||||
type: bool
|
type: bool
|
||||||
aliases: [ verify_ssl ]
|
aliases: [ verify_ssl ]
|
||||||
|
deprecated:
|
||||||
|
removed_in: 9.0.0
|
||||||
|
why: This module relies on the deprecated package pyrax.
|
||||||
|
alternative: Use the Openstack modules instead.
|
||||||
requirements:
|
requirements:
|
||||||
- python >= 2.6
|
- python >= 2.6
|
||||||
- pyrax
|
- pyrax
|
||||||
notes:
|
notes:
|
||||||
- The following environment variables can be used, C(RAX_USERNAME),
|
- The following environment variables can be used, E(RAX_USERNAME),
|
||||||
C(RAX_API_KEY), C(RAX_CREDS_FILE), C(RAX_CREDENTIALS), C(RAX_REGION).
|
E(RAX_API_KEY), E(RAX_CREDS_FILE), E(RAX_CREDENTIALS), E(RAX_REGION).
|
||||||
- C(RAX_CREDENTIALS) and C(RAX_CREDS_FILE) points to a credentials file
|
- E(RAX_CREDENTIALS) and E(RAX_CREDS_FILE) points to a credentials file
|
||||||
appropriate for pyrax. See U(https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating)
|
appropriate for pyrax. See U(https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating)
|
||||||
- C(RAX_USERNAME) and C(RAX_API_KEY) obviate the use of a credentials file
|
- E(RAX_USERNAME) and E(RAX_API_KEY) obviate the use of a credentials file
|
||||||
- C(RAX_REGION) defines a Rackspace Public Cloud region (DFW, ORD, LON, ...)
|
- E(RAX_REGION) defines a Rackspace Public Cloud region (DFW, ORD, LON, ...)
|
||||||
'''
|
'''
|
||||||
|
|||||||
@@ -46,8 +46,8 @@ options:
|
|||||||
default: true
|
default: true
|
||||||
ca_certs:
|
ca_certs:
|
||||||
description:
|
description:
|
||||||
- Path to root certificates file. If not set and I(tls) is
|
- Path to root certificates file. If not set and O(tls) is
|
||||||
set to C(true), certifi ca-certificates will be used.
|
set to V(true), certifi ca-certificates will be used.
|
||||||
type: str
|
type: str
|
||||||
requirements: [ "redis", "certifi" ]
|
requirements: [ "redis", "certifi" ]
|
||||||
|
|
||||||
|
|||||||
@@ -43,9 +43,9 @@ options:
|
|||||||
default: true
|
default: true
|
||||||
notes:
|
notes:
|
||||||
- Also see the API documentation on U(https://developer.scaleway.com/)
|
- Also see the API documentation on U(https://developer.scaleway.com/)
|
||||||
- If C(api_token) is not set within the module, the following
|
- If O(api_token) is not set within the module, the following
|
||||||
environment variables can be used in decreasing order of precedence
|
environment variables can be used in decreasing order of precedence
|
||||||
C(SCW_TOKEN), C(SCW_API_KEY), C(SCW_OAUTH_TOKEN) or C(SCW_API_TOKEN).
|
E(SCW_TOKEN), E(SCW_API_KEY), E(SCW_OAUTH_TOKEN) or E(SCW_API_TOKEN).
|
||||||
- If one wants to use a different C(api_url) one can also set the C(SCW_API_URL)
|
- If one wants to use a different O(api_url) one can also set the E(SCW_API_URL)
|
||||||
environment variable.
|
environment variable.
|
||||||
'''
|
'''
|
||||||
|
|||||||
@@ -48,8 +48,8 @@ options:
|
|||||||
state:
|
state:
|
||||||
description:
|
description:
|
||||||
- The desired state of the object.
|
- The desired state of the object.
|
||||||
- C(present) will create or update an object
|
- V(present) will create or update an object
|
||||||
- C(absent) will delete an object if it was present
|
- V(absent) will delete an object if it was present
|
||||||
type: str
|
type: str
|
||||||
choices: [ absent, present ]
|
choices: [ absent, present ]
|
||||||
default: present
|
default: present
|
||||||
|
|||||||
@@ -39,8 +39,8 @@ options:
|
|||||||
type: str
|
type: str
|
||||||
validate_certs:
|
validate_certs:
|
||||||
description:
|
description:
|
||||||
- Allows connection when SSL certificates are not valid. Set to C(false) when certificates are not trusted.
|
- Allows connection when SSL certificates are not valid. Set to V(false) when certificates are not trusted.
|
||||||
- If set to C(true), please make sure Python >= 2.7.9 is installed on the given machine.
|
- If set to V(true), please make sure Python >= 2.7.9 is installed on the given machine.
|
||||||
required: false
|
required: false
|
||||||
type: bool
|
type: bool
|
||||||
default: false
|
default: false
|
||||||
|
|||||||
@@ -15,27 +15,27 @@ options:
|
|||||||
hostname:
|
hostname:
|
||||||
description:
|
description:
|
||||||
- The hostname or IP address of the XenServer host or XenServer pool master.
|
- The hostname or IP address of the XenServer host or XenServer pool master.
|
||||||
- If the value is not specified in the task, the value of environment variable C(XENSERVER_HOST) will be used instead.
|
- If the value is not specified in the task, the value of environment variable E(XENSERVER_HOST) will be used instead.
|
||||||
type: str
|
type: str
|
||||||
default: localhost
|
default: localhost
|
||||||
aliases: [ host, pool ]
|
aliases: [ host, pool ]
|
||||||
username:
|
username:
|
||||||
description:
|
description:
|
||||||
- The username to use for connecting to XenServer.
|
- The username to use for connecting to XenServer.
|
||||||
- If the value is not specified in the task, the value of environment variable C(XENSERVER_USER) will be used instead.
|
- If the value is not specified in the task, the value of environment variable E(XENSERVER_USER) will be used instead.
|
||||||
type: str
|
type: str
|
||||||
default: root
|
default: root
|
||||||
aliases: [ admin, user ]
|
aliases: [ admin, user ]
|
||||||
password:
|
password:
|
||||||
description:
|
description:
|
||||||
- The password to use for connecting to XenServer.
|
- The password to use for connecting to XenServer.
|
||||||
- If the value is not specified in the task, the value of environment variable C(XENSERVER_PASSWORD) will be used instead.
|
- If the value is not specified in the task, the value of environment variable E(XENSERVER_PASSWORD) will be used instead.
|
||||||
type: str
|
type: str
|
||||||
aliases: [ pass, pwd ]
|
aliases: [ pass, pwd ]
|
||||||
validate_certs:
|
validate_certs:
|
||||||
description:
|
description:
|
||||||
- Allows connection when SSL certificates are not valid. Set to C(false) when certificates are not trusted.
|
- Allows connection when SSL certificates are not valid. Set to V(false) when certificates are not trusted.
|
||||||
- If the value is not specified in the task, the value of environment variable C(XENSERVER_VALIDATE_CERTS) will be used instead.
|
- If the value is not specified in the task, the value of environment variable E(XENSERVER_VALIDATE_CERTS) will be used instead.
|
||||||
type: bool
|
type: bool
|
||||||
default: true
|
default: true
|
||||||
'''
|
'''
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ DOCUMENTATION = '''
|
|||||||
dialect:
|
dialect:
|
||||||
description:
|
description:
|
||||||
- The CSV dialect to use when parsing the CSV file.
|
- The CSV dialect to use when parsing the CSV file.
|
||||||
- Possible values include C(excel), C(excel-tab) or C(unix).
|
- Possible values include V(excel), V(excel-tab) or V(unix).
|
||||||
type: str
|
type: str
|
||||||
default: excel
|
default: excel
|
||||||
fieldnames:
|
fieldnames:
|
||||||
@@ -35,19 +35,19 @@ DOCUMENTATION = '''
|
|||||||
delimiter:
|
delimiter:
|
||||||
description:
|
description:
|
||||||
- A one-character string used to separate fields.
|
- A one-character string used to separate fields.
|
||||||
- When using this parameter, you change the default value used by I(dialect).
|
- When using this parameter, you change the default value used by O(dialect).
|
||||||
- The default value depends on the dialect used.
|
- The default value depends on the dialect used.
|
||||||
type: str
|
type: str
|
||||||
skipinitialspace:
|
skipinitialspace:
|
||||||
description:
|
description:
|
||||||
- Whether to ignore any whitespaces immediately following the delimiter.
|
- Whether to ignore any whitespaces immediately following the delimiter.
|
||||||
- When using this parameter, you change the default value used by I(dialect).
|
- When using this parameter, you change the default value used by O(dialect).
|
||||||
- The default value depends on the dialect used.
|
- The default value depends on the dialect used.
|
||||||
type: bool
|
type: bool
|
||||||
strict:
|
strict:
|
||||||
description:
|
description:
|
||||||
- Whether to raise an exception on bad CSV input.
|
- Whether to raise an exception on bad CSV input.
|
||||||
- When using this parameter, you change the default value used by I(dialect).
|
- When using this parameter, you change the default value used by O(dialect).
|
||||||
- The default value depends on the dialect used.
|
- The default value depends on the dialect used.
|
||||||
type: bool
|
type: bool
|
||||||
'''
|
'''
|
||||||
|
|||||||
@@ -25,16 +25,17 @@ DOCUMENTATION = '''
|
|||||||
parser:
|
parser:
|
||||||
description:
|
description:
|
||||||
- The correct parser for the input data.
|
- The correct parser for the input data.
|
||||||
- For example C(ifconfig).
|
- For example V(ifconfig).
|
||||||
|
- "Note: use underscores instead of dashes (if any) in the parser module name."
|
||||||
- See U(https://github.com/kellyjonbrazil/jc#parsers) for the latest list of parsers.
|
- See U(https://github.com/kellyjonbrazil/jc#parsers) for the latest list of parsers.
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
quiet:
|
quiet:
|
||||||
description: Set to C(false) to not suppress warnings.
|
description: Set to V(false) to not suppress warnings.
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
raw:
|
raw:
|
||||||
description: Set to C(true) to return pre-processed JSON.
|
description: Set to V(true) to return pre-processed JSON.
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
requirements:
|
requirements:
|
||||||
@@ -79,13 +80,13 @@ from ansible.errors import AnsibleError, AnsibleFilterError
|
|||||||
import importlib
|
import importlib
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import jc
|
import jc # noqa: F401, pylint: disable=unused-import
|
||||||
HAS_LIB = True
|
HAS_LIB = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
HAS_LIB = False
|
HAS_LIB = False
|
||||||
|
|
||||||
|
|
||||||
def jc(data, parser, quiet=True, raw=False):
|
def jc_filter(data, parser, quiet=True, raw=False):
|
||||||
"""Convert returned command output to JSON using the JC library
|
"""Convert returned command output to JSON using the JC library
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
@@ -137,8 +138,14 @@ def jc(data, parser, quiet=True, raw=False):
|
|||||||
raise AnsibleError('You need to install "jc" as a Python library on the Ansible controller prior to running jc filter')
|
raise AnsibleError('You need to install "jc" as a Python library on the Ansible controller prior to running jc filter')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
jc_parser = importlib.import_module('jc.parsers.' + parser)
|
# new API (jc v1.18.0 and higher) allows use of plugin parsers
|
||||||
return jc_parser.parse(data, quiet=quiet, raw=raw)
|
if hasattr(jc, 'parse'):
|
||||||
|
return jc.parse(parser, data, quiet=quiet, raw=raw)
|
||||||
|
|
||||||
|
# old API (jc v1.17.7 and lower)
|
||||||
|
else:
|
||||||
|
jc_parser = importlib.import_module('jc.parsers.' + parser)
|
||||||
|
return jc_parser.parse(data, quiet=quiet, raw=raw)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise AnsibleFilterError('Error in jc filter plugin: %s' % e)
|
raise AnsibleFilterError('Error in jc filter plugin: %s' % e)
|
||||||
@@ -149,5 +156,5 @@ class FilterModule(object):
|
|||||||
|
|
||||||
def filters(self):
|
def filters(self):
|
||||||
return {
|
return {
|
||||||
'jc': jc
|
'jc': jc_filter,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,9 +12,9 @@ DOCUMENTATION = '''
|
|||||||
version_added: 2.0.0
|
version_added: 2.0.0
|
||||||
author: Vladimir Botka (@vbotka)
|
author: Vladimir Botka (@vbotka)
|
||||||
description:
|
description:
|
||||||
- Merge two or more lists by attribute I(index). Optional parameters 'recursive' and 'list_merge'
|
- Merge two or more lists by attribute O(index). Optional parameters O(recursive) and O(list_merge)
|
||||||
control the merging of the lists in values. The function merge_hash from ansible.utils.vars
|
control the merging of the lists in values. The function merge_hash from ansible.utils.vars
|
||||||
is used. To learn details on how to use the parameters 'recursive' and 'list_merge' see
|
is used. To learn details on how to use the parameters O(recursive) and O(list_merge) see
|
||||||
Ansible User's Guide chapter "Using filters to manipulate data" section "Combining
|
Ansible User's Guide chapter "Using filters to manipulate data" section "Combining
|
||||||
hashes/dictionaries".
|
hashes/dictionaries".
|
||||||
positional: another_list, index
|
positional: another_list, index
|
||||||
@@ -102,8 +102,6 @@ from ansible.errors import AnsibleFilterError
|
|||||||
from ansible.module_utils.six import string_types
|
from ansible.module_utils.six import string_types
|
||||||
from ansible.module_utils.common._collections_compat import Mapping, Sequence
|
from ansible.module_utils.common._collections_compat import Mapping, Sequence
|
||||||
from ansible.utils.vars import merge_hash
|
from ansible.utils.vars import merge_hash
|
||||||
from ansible.release import __version__ as ansible_version
|
|
||||||
from ansible_collections.community.general.plugins.module_utils.version import LooseVersion
|
|
||||||
|
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
|
|||||||
@@ -13,12 +13,12 @@ DOCUMENTATION:
|
|||||||
_input:
|
_input:
|
||||||
description:
|
description:
|
||||||
- The time string to convert.
|
- The time string to convert.
|
||||||
- Can use the units C(y) and C(year) for a year, C(mo) and C(month) for a month, C(w) and C(week) for a week,
|
- Can use the units V(y) and V(year) for a year, V(mo) and V(month) for a month, V(w) and V(week) for a week,
|
||||||
C(d) and C(day) for a day, C(h) and C(hour) for a hour, C(m), C(min) and C(minute) for minutes, C(s), C(sec)
|
V(d) and V(day) for a day, V(h) and V(hour) for a hour, V(m), V(min) and V(minute) for minutes, V(s), V(sec)
|
||||||
and C(second) for seconds, C(ms), C(msec), C(msecond) and C(millisecond) for milliseconds. The suffix C(s)
|
and V(second) for seconds, V(ms), V(msec), V(msecond) and V(millisecond) for milliseconds. The suffix V(s)
|
||||||
can be added to a unit as well, so C(seconds) is the same as C(second).
|
can be added to a unit as well, so V(seconds) is the same as V(second).
|
||||||
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
||||||
- Examples are C(1h), C(-5m), and C(3h -5m 6s).
|
- Examples are V(1h), V(-5m), and V(3h -5m 6s).
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
year:
|
year:
|
||||||
|
|||||||
@@ -13,12 +13,12 @@ DOCUMENTATION:
|
|||||||
_input:
|
_input:
|
||||||
description:
|
description:
|
||||||
- The time string to convert.
|
- The time string to convert.
|
||||||
- Can use the units C(y) and C(year) for a year, C(mo) and C(month) for a month, C(w) and C(week) for a week,
|
- Can use the units V(y) and V(year) for a year, V(mo) and V(month) for a month, V(w) and V(week) for a week,
|
||||||
C(d) and C(day) for a day, C(h) and C(hour) for a hour, C(m), C(min) and C(minute) for minutes, C(s), C(sec)
|
V(d) and V(day) for a day, V(h) and V(hour) for a hour, V(m), V(min) and V(minute) for minutes, V(s), V(sec)
|
||||||
and C(second) for seconds, C(ms), C(msec), C(msecond) and C(millisecond) for milliseconds. The suffix C(s)
|
and V(second) for seconds, V(ms), V(msec), V(msecond) and V(millisecond) for milliseconds. The suffix V(s)
|
||||||
can be added to a unit as well, so C(seconds) is the same as C(second).
|
can be added to a unit as well, so V(seconds) is the same as V(second).
|
||||||
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
||||||
- Examples are C(1h), C(-5m), and C(3h -5m 6s).
|
- Examples are V(1h), V(-5m), and V(3h -5m 6s).
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
year:
|
year:
|
||||||
|
|||||||
@@ -13,12 +13,12 @@ DOCUMENTATION:
|
|||||||
_input:
|
_input:
|
||||||
description:
|
description:
|
||||||
- The time string to convert.
|
- The time string to convert.
|
||||||
- Can use the units C(y) and C(year) for a year, C(mo) and C(month) for a month, C(w) and C(week) for a week,
|
- Can use the units V(y) and V(year) for a year, V(mo) and V(month) for a month, V(w) and V(week) for a week,
|
||||||
C(d) and C(day) for a day, C(h) and C(hour) for a hour, C(m), C(min) and C(minute) for minutes, C(s), C(sec)
|
V(d) and V(day) for a day, V(h) and V(hour) for a hour, V(m), V(min) and V(minute) for minutes, V(s), V(sec)
|
||||||
and C(second) for seconds, C(ms), C(msec), C(msecond) and C(millisecond) for milliseconds. The suffix C(s)
|
and V(second) for seconds, V(ms), V(msec), V(msecond) and V(millisecond) for milliseconds. The suffix V(s)
|
||||||
can be added to a unit as well, so C(seconds) is the same as C(second).
|
can be added to a unit as well, so V(seconds) is the same as V(second).
|
||||||
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
||||||
- Examples are C(1h), C(-5m), and C(3h -5m 6s).
|
- Examples are V(1h), V(-5m), and V(3h -5m 6s).
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
year:
|
year:
|
||||||
|
|||||||
@@ -13,12 +13,12 @@ DOCUMENTATION:
|
|||||||
_input:
|
_input:
|
||||||
description:
|
description:
|
||||||
- The time string to convert.
|
- The time string to convert.
|
||||||
- Can use the units C(y) and C(year) for a year, C(mo) and C(month) for a month, C(w) and C(week) for a week,
|
- Can use the units V(y) and V(year) for a year, V(mo) and V(month) for a month, V(w) and V(week) for a week,
|
||||||
C(d) and C(day) for a day, C(h) and C(hour) for a hour, C(m), C(min) and C(minute) for minutes, C(s), C(sec)
|
V(d) and V(day) for a day, V(h) and V(hour) for a hour, V(m), V(min) and V(minute) for minutes, V(s), V(sec)
|
||||||
and C(second) for seconds, C(ms), C(msec), C(msecond) and C(millisecond) for milliseconds. The suffix C(s)
|
and V(second) for seconds, V(ms), V(msec), V(msecond) and V(millisecond) for milliseconds. The suffix V(s)
|
||||||
can be added to a unit as well, so C(seconds) is the same as C(second).
|
can be added to a unit as well, so V(seconds) is the same as V(second).
|
||||||
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
||||||
- Examples are C(1h), C(-5m), and C(3h -5m 6s).
|
- Examples are V(1h), V(-5m), and V(3h -5m 6s).
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
year:
|
year:
|
||||||
|
|||||||
@@ -13,12 +13,12 @@ DOCUMENTATION:
|
|||||||
_input:
|
_input:
|
||||||
description:
|
description:
|
||||||
- The time string to convert.
|
- The time string to convert.
|
||||||
- Can use the units C(y) and C(year) for a year, C(mo) and C(month) for a month, C(w) and C(week) for a week,
|
- Can use the units V(y) and V(year) for a year, V(mo) and V(month) for a month, V(w) and V(week) for a week,
|
||||||
C(d) and C(day) for a day, C(h) and C(hour) for a hour, C(m), C(min) and C(minute) for minutes, C(s), C(sec)
|
V(d) and V(day) for a day, V(h) and V(hour) for a hour, V(m), V(min) and V(minute) for minutes, V(s), V(sec)
|
||||||
and C(second) for seconds, C(ms), C(msec), C(msecond) and C(millisecond) for milliseconds. The suffix C(s)
|
and V(second) for seconds, V(ms), V(msec), V(msecond) and V(millisecond) for milliseconds. The suffix V(s)
|
||||||
can be added to a unit as well, so C(seconds) is the same as C(second).
|
can be added to a unit as well, so V(seconds) is the same as V(second).
|
||||||
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
||||||
- Examples are C(1h), C(-5m), and C(3h -5m 6s).
|
- Examples are V(1h), V(-5m), and V(3h -5m 6s).
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
year:
|
year:
|
||||||
|
|||||||
@@ -13,12 +13,12 @@ DOCUMENTATION:
|
|||||||
_input:
|
_input:
|
||||||
description:
|
description:
|
||||||
- The time string to convert.
|
- The time string to convert.
|
||||||
- Can use the units C(y) and C(year) for a year, C(mo) and C(month) for a month, C(w) and C(week) for a week,
|
- Can use the units V(y) and V(year) for a year, V(mo) and V(month) for a month, V(w) and V(week) for a week,
|
||||||
C(d) and C(day) for a day, C(h) and C(hour) for a hour, C(m), C(min) and C(minute) for minutes, C(s), C(sec)
|
V(d) and V(day) for a day, V(h) and V(hour) for a hour, V(m), V(min) and V(minute) for minutes, V(s), V(sec)
|
||||||
and C(second) for seconds, C(ms), C(msec), C(msecond) and C(millisecond) for milliseconds. The suffix C(s)
|
and V(second) for seconds, V(ms), V(msec), V(msecond) and V(millisecond) for milliseconds. The suffix V(s)
|
||||||
can be added to a unit as well, so C(seconds) is the same as C(second).
|
can be added to a unit as well, so V(seconds) is the same as V(second).
|
||||||
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
||||||
- Examples are C(1h), C(-5m), and C(3h -5m 6s).
|
- Examples are V(1h), V(-5m), and V(3h -5m 6s).
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
year:
|
year:
|
||||||
|
|||||||
@@ -14,12 +14,12 @@ DOCUMENTATION:
|
|||||||
_input:
|
_input:
|
||||||
description:
|
description:
|
||||||
- The time string to convert.
|
- The time string to convert.
|
||||||
- Can use the units C(y) and C(year) for a year, C(mo) and C(month) for a month, C(w) and C(week) for a week,
|
- Can use the units V(y) and V(year) for a year, V(mo) and V(month) for a month, V(w) and V(week) for a week,
|
||||||
C(d) and C(day) for a day, C(h) and C(hour) for a hour, C(m), C(min) and C(minute) for minutes, C(s), C(sec)
|
V(d) and V(day) for a day, V(h) and V(hour) for a hour, V(m), V(min) and V(minute) for minutes, V(s), V(sec)
|
||||||
and C(second) for seconds, C(ms), C(msec), C(msecond) and C(millisecond) for milliseconds. The suffix C(s)
|
and V(second) for seconds, V(ms), V(msec), V(msecond) and V(millisecond) for milliseconds. The suffix V(s)
|
||||||
can be added to a unit as well, so C(seconds) is the same as C(second).
|
can be added to a unit as well, so V(seconds) is the same as V(second).
|
||||||
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
||||||
- Examples are C(1h), C(-5m), and C(3h -5m 6s).
|
- Examples are V(1h), V(-5m), and V(3h -5m 6s).
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
unit:
|
unit:
|
||||||
|
|||||||
@@ -13,12 +13,12 @@ DOCUMENTATION:
|
|||||||
_input:
|
_input:
|
||||||
description:
|
description:
|
||||||
- The time string to convert.
|
- The time string to convert.
|
||||||
- Can use the units C(y) and C(year) for a year, C(mo) and C(month) for a month, C(w) and C(week) for a week,
|
- Can use the units V(y) and V(year) for a year, V(mo) and V(month) for a month, V(w) and V(week) for a week,
|
||||||
C(d) and C(day) for a day, C(h) and C(hour) for a hour, C(m), C(min) and C(minute) for minutes, C(s), C(sec)
|
V(d) and V(day) for a day, V(h) and V(hour) for a hour, V(m), V(min) and V(minute) for minutes, V(s), V(sec)
|
||||||
and C(second) for seconds, C(ms), C(msec), C(msecond) and C(millisecond) for milliseconds. The suffix C(s)
|
and V(second) for seconds, V(ms), V(msec), V(msecond) and V(millisecond) for milliseconds. The suffix V(s)
|
||||||
can be added to a unit as well, so C(seconds) is the same as C(second).
|
can be added to a unit as well, so V(seconds) is the same as V(second).
|
||||||
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
||||||
- Examples are C(1h), C(-5m), and C(3h -5m 6s).
|
- Examples are V(1h), V(-5m), and V(3h -5m 6s).
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
year:
|
year:
|
||||||
|
|||||||
@@ -13,12 +13,12 @@ DOCUMENTATION:
|
|||||||
_input:
|
_input:
|
||||||
description:
|
description:
|
||||||
- The time string to convert.
|
- The time string to convert.
|
||||||
- Can use the units C(y) and C(year) for a year, C(mo) and C(month) for a month, C(w) and C(week) for a week,
|
- Can use the units V(y) and V(year) for a year, V(mo) and V(month) for a month, V(w) and V(week) for a week,
|
||||||
C(d) and C(day) for a day, C(h) and C(hour) for a hour, C(m), C(min) and C(minute) for minutes, C(s), C(sec)
|
V(d) and V(day) for a day, V(h) and V(hour) for a hour, V(m), V(min) and V(minute) for minutes, V(s), V(sec)
|
||||||
and C(second) for seconds, C(ms), C(msec), C(msecond) and C(millisecond) for milliseconds. The suffix C(s)
|
and V(second) for seconds, V(ms), V(msec), V(msecond) and V(millisecond) for milliseconds. The suffix V(s)
|
||||||
can be added to a unit as well, so C(seconds) is the same as C(second).
|
can be added to a unit as well, so V(seconds) is the same as V(second).
|
||||||
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
- Valid strings are space separated combinations of an integer with an optional minus sign and a unit.
|
||||||
- Examples are C(1h), C(-5m), and C(3h -5m 6s).
|
- Examples are V(1h), V(-5m), and V(3h -5m 6s).
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
year:
|
year:
|
||||||
|
|||||||
@@ -13,12 +13,14 @@ DOCUMENTATION = '''
|
|||||||
version_added: 1.0.0
|
version_added: 1.0.0
|
||||||
description:
|
description:
|
||||||
- Get inventory hosts from the cobbler service.
|
- Get inventory hosts from the cobbler service.
|
||||||
- "Uses a configuration file as an inventory source, it must end in C(.cobbler.yml) or C(.cobbler.yaml) and has a C(plugin: cobbler) entry."
|
- "Uses a configuration file as an inventory source, it must end in C(.cobbler.yml) or C(.cobbler.yaml) and have a C(plugin: cobbler) entry."
|
||||||
|
- Adds the primary IP addresses to C(cobbler_ipv4_address) and C(cobbler_ipv6_address) host variables if defined in Cobbler. The primary IP address is
|
||||||
|
defined as the management interface if defined, or the interface who's DNS name matches the hostname of the system, or else the first interface found.
|
||||||
extends_documentation_fragment:
|
extends_documentation_fragment:
|
||||||
- inventory_cache
|
- inventory_cache
|
||||||
options:
|
options:
|
||||||
plugin:
|
plugin:
|
||||||
description: The name of this plugin, it should always be set to C(community.general.cobbler) for this plugin to recognize it as it's own.
|
description: The name of this plugin, it should always be set to V(community.general.cobbler) for this plugin to recognize it as it's own.
|
||||||
required: true
|
required: true
|
||||||
choices: [ 'cobbler', 'community.general.cobbler' ]
|
choices: [ 'cobbler', 'community.general.cobbler' ]
|
||||||
url:
|
url:
|
||||||
@@ -32,18 +34,18 @@ DOCUMENTATION = '''
|
|||||||
env:
|
env:
|
||||||
- name: COBBLER_USER
|
- name: COBBLER_USER
|
||||||
password:
|
password:
|
||||||
description: Cobbler authentication password
|
description: Cobbler authentication password.
|
||||||
required: false
|
required: false
|
||||||
env:
|
env:
|
||||||
- name: COBBLER_PASSWORD
|
- name: COBBLER_PASSWORD
|
||||||
cache_fallback:
|
cache_fallback:
|
||||||
description: Fallback to cached results if connection to cobbler fails
|
description: Fallback to cached results if connection to cobbler fails.
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
exclude_profiles:
|
exclude_profiles:
|
||||||
description:
|
description:
|
||||||
- Profiles to exclude from inventory.
|
- Profiles to exclude from inventory.
|
||||||
- Ignored if I(include_profiles) is specified.
|
- Ignored if O(include_profiles) is specified.
|
||||||
type: list
|
type: list
|
||||||
default: []
|
default: []
|
||||||
elements: str
|
elements: str
|
||||||
@@ -51,26 +53,42 @@ DOCUMENTATION = '''
|
|||||||
description:
|
description:
|
||||||
- Profiles to include from inventory.
|
- Profiles to include from inventory.
|
||||||
- If specified, all other profiles will be excluded.
|
- If specified, all other profiles will be excluded.
|
||||||
- I(exclude_profiles) is ignored if I(include_profiles) is specified.
|
- O(exclude_profiles) is ignored if O(include_profiles) is specified.
|
||||||
type: list
|
type: list
|
||||||
default: []
|
default: []
|
||||||
elements: str
|
elements: str
|
||||||
version_added: 4.4.0
|
version_added: 4.4.0
|
||||||
|
inventory_hostname:
|
||||||
|
description:
|
||||||
|
- What to use for the ansible inventory hostname.
|
||||||
|
- By default the networking hostname is used if defined, otherwise the DNS name of the management or first non-static interface.
|
||||||
|
- If set to V(system), the cobbler system name is used.
|
||||||
|
type: str
|
||||||
|
choices: [ 'hostname', 'system' ]
|
||||||
|
default: hostname
|
||||||
|
version_added: 7.1.0
|
||||||
group_by:
|
group_by:
|
||||||
description: Keys to group hosts by
|
description: Keys to group hosts by.
|
||||||
type: list
|
type: list
|
||||||
elements: string
|
elements: string
|
||||||
default: [ 'mgmt_classes', 'owners', 'status' ]
|
default: [ 'mgmt_classes', 'owners', 'status' ]
|
||||||
group:
|
group:
|
||||||
description: Group to place all hosts into
|
description: Group to place all hosts into.
|
||||||
default: cobbler
|
default: cobbler
|
||||||
group_prefix:
|
group_prefix:
|
||||||
description: Prefix to apply to cobbler groups
|
description: Prefix to apply to cobbler groups.
|
||||||
default: cobbler_
|
default: cobbler_
|
||||||
want_facts:
|
want_facts:
|
||||||
description: Toggle, if C(true) the plugin will retrieve host facts from the server
|
description: Toggle, if V(true) the plugin will retrieve host facts from the server.
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
|
want_ip_addresses:
|
||||||
|
description:
|
||||||
|
- Toggle, if V(true) the plugin will add a C(cobbler_ipv4_addresses) and C(cobbleer_ipv6_addresses) dictionary to the defined O(group) mapping
|
||||||
|
interface DNS names to IP addresses.
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
version_added: 7.1.0
|
||||||
'''
|
'''
|
||||||
|
|
||||||
EXAMPLES = '''
|
EXAMPLES = '''
|
||||||
@@ -85,7 +103,6 @@ import socket
|
|||||||
|
|
||||||
from ansible.errors import AnsibleError
|
from ansible.errors import AnsibleError
|
||||||
from ansible.module_utils.common.text.converters import to_text
|
from ansible.module_utils.common.text.converters import to_text
|
||||||
from ansible.module_utils.six import iteritems
|
|
||||||
from ansible.plugins.inventory import BaseInventoryPlugin, Cacheable, to_safe_group_name
|
from ansible.plugins.inventory import BaseInventoryPlugin, Cacheable, to_safe_group_name
|
||||||
|
|
||||||
# xmlrpc
|
# xmlrpc
|
||||||
@@ -201,6 +218,7 @@ class InventoryModule(BaseInventoryPlugin, Cacheable):
|
|||||||
self.exclude_profiles = self.get_option('exclude_profiles')
|
self.exclude_profiles = self.get_option('exclude_profiles')
|
||||||
self.include_profiles = self.get_option('include_profiles')
|
self.include_profiles = self.get_option('include_profiles')
|
||||||
self.group_by = self.get_option('group_by')
|
self.group_by = self.get_option('group_by')
|
||||||
|
self.inventory_hostname = self.get_option('inventory_hostname')
|
||||||
|
|
||||||
for profile in self._get_profiles():
|
for profile in self._get_profiles():
|
||||||
if profile['parent']:
|
if profile['parent']:
|
||||||
@@ -236,9 +254,14 @@ class InventoryModule(BaseInventoryPlugin, Cacheable):
|
|||||||
self.inventory.add_group(self.group)
|
self.inventory.add_group(self.group)
|
||||||
self.display.vvvv('Added site group %s\n' % self.group)
|
self.display.vvvv('Added site group %s\n' % self.group)
|
||||||
|
|
||||||
|
ip_addresses = {}
|
||||||
|
ipv6_addresses = {}
|
||||||
for host in self._get_systems():
|
for host in self._get_systems():
|
||||||
# Get the FQDN for the host and add it to the right groups
|
# Get the FQDN for the host and add it to the right groups
|
||||||
hostname = host['hostname'] # None
|
if self.inventory_hostname == 'system':
|
||||||
|
hostname = host['name'] # None
|
||||||
|
else:
|
||||||
|
hostname = host['hostname'] # None
|
||||||
interfaces = host['interfaces']
|
interfaces = host['interfaces']
|
||||||
|
|
||||||
if self._exclude_profile(host['profile']):
|
if self._exclude_profile(host['profile']):
|
||||||
@@ -247,7 +270,7 @@ class InventoryModule(BaseInventoryPlugin, Cacheable):
|
|||||||
|
|
||||||
# hostname is often empty for non-static IP hosts
|
# hostname is often empty for non-static IP hosts
|
||||||
if hostname == '':
|
if hostname == '':
|
||||||
for (iname, ivalue) in iteritems(interfaces):
|
for iname, ivalue in interfaces.items():
|
||||||
if ivalue['management'] or not ivalue['static']:
|
if ivalue['management'] or not ivalue['static']:
|
||||||
this_dns_name = ivalue.get('dns_name', None)
|
this_dns_name = ivalue.get('dns_name', None)
|
||||||
if this_dns_name is not None and this_dns_name != "":
|
if this_dns_name is not None and this_dns_name != "":
|
||||||
@@ -262,8 +285,11 @@ class InventoryModule(BaseInventoryPlugin, Cacheable):
|
|||||||
self.display.vvvv('Added host %s hostname %s\n' % (host['name'], hostname))
|
self.display.vvvv('Added host %s hostname %s\n' % (host['name'], hostname))
|
||||||
|
|
||||||
# Add host to profile group
|
# Add host to profile group
|
||||||
group_name = self._add_safe_group_name(host['profile'], child=hostname)
|
if host['profile'] != '':
|
||||||
self.display.vvvv('Added host %s to profile group %s\n' % (hostname, group_name))
|
group_name = self._add_safe_group_name(host['profile'], child=hostname)
|
||||||
|
self.display.vvvv('Added host %s to profile group %s\n' % (hostname, group_name))
|
||||||
|
else:
|
||||||
|
self.display.warning('Host %s has an empty profile\n' % (hostname))
|
||||||
|
|
||||||
# Add host to groups specified by group_by fields
|
# Add host to groups specified by group_by fields
|
||||||
for group_by in self.group_by:
|
for group_by in self.group_by:
|
||||||
@@ -280,8 +306,45 @@ class InventoryModule(BaseInventoryPlugin, Cacheable):
|
|||||||
self.inventory.add_child(self.group, hostname)
|
self.inventory.add_child(self.group, hostname)
|
||||||
|
|
||||||
# Add host variables
|
# Add host variables
|
||||||
|
ip_address = None
|
||||||
|
ipv6_address = None
|
||||||
|
for iname, ivalue in interfaces.items():
|
||||||
|
# Set to first interface or management interface if defined or hostname matches dns_name
|
||||||
|
if ivalue['ip_address'] != "":
|
||||||
|
if ip_address is None:
|
||||||
|
ip_address = ivalue['ip_address']
|
||||||
|
elif ivalue['management']:
|
||||||
|
ip_address = ivalue['ip_address']
|
||||||
|
elif ivalue['dns_name'] == hostname and ip_address is None:
|
||||||
|
ip_address = ivalue['ip_address']
|
||||||
|
if ivalue['ipv6_address'] != "":
|
||||||
|
if ipv6_address is None:
|
||||||
|
ipv6_address = ivalue['ipv6_address']
|
||||||
|
elif ivalue['management']:
|
||||||
|
ipv6_address = ivalue['ipv6_address']
|
||||||
|
elif ivalue['dns_name'] == hostname and ipv6_address is None:
|
||||||
|
ipv6_address = ivalue['ipv6_address']
|
||||||
|
|
||||||
|
# Collect all interface name mappings for adding to group vars
|
||||||
|
if self.get_option('want_ip_addresses'):
|
||||||
|
if ivalue['dns_name'] != "":
|
||||||
|
if ivalue['ip_address'] != "":
|
||||||
|
ip_addresses[ivalue['dns_name']] = ivalue['ip_address']
|
||||||
|
if ivalue['ipv6_address'] != "":
|
||||||
|
ip_addresses[ivalue['dns_name']] = ivalue['ipv6_address']
|
||||||
|
|
||||||
|
# Add ip_address to host if defined
|
||||||
|
if ip_address is not None:
|
||||||
|
self.inventory.set_variable(hostname, 'cobbler_ipv4_address', ip_address)
|
||||||
|
if ipv6_address is not None:
|
||||||
|
self.inventory.set_variable(hostname, 'cobbler_ipv6_address', ipv6_address)
|
||||||
|
|
||||||
if self.get_option('want_facts'):
|
if self.get_option('want_facts'):
|
||||||
try:
|
try:
|
||||||
self.inventory.set_variable(hostname, 'cobbler', host)
|
self.inventory.set_variable(hostname, 'cobbler', host)
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
self.display.warning("Could not set host info for %s: %s" % (hostname, to_text(e)))
|
self.display.warning("Could not set host info for %s: %s" % (hostname, to_text(e)))
|
||||||
|
|
||||||
|
if self.get_option('want_ip_addresses'):
|
||||||
|
self.inventory.set_variable(self.group, 'cobbler_ipv4_addresses', ip_addresses)
|
||||||
|
self.inventory.set_variable(self.group, 'cobbler_ipv6_addresses', ipv6_addresses)
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ DOCUMENTATION = '''
|
|||||||
description:
|
description:
|
||||||
- Allows the override of the inventory name based on different attributes.
|
- Allows the override of the inventory name based on different attributes.
|
||||||
- This allows for changing the way limits are used.
|
- This allows for changing the way limits are used.
|
||||||
- The current default, C(address), is sometimes not unique or present. We recommend to use C(name) instead.
|
- The current default, V(address), is sometimes not unique or present. We recommend to use V(name) instead.
|
||||||
type: string
|
type: string
|
||||||
default: address
|
default: address
|
||||||
choices: ['name', 'display_name', 'address']
|
choices: ['name', 'display_name', 'address']
|
||||||
|
|||||||
@@ -121,10 +121,7 @@ compose:
|
|||||||
ansible_host: "ipv4 | community.general.json_query('[?public==`false`].address') | first"
|
ansible_host: "ipv4 | community.general.json_query('[?public==`false`].address') | first"
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import os
|
from ansible.errors import AnsibleError
|
||||||
|
|
||||||
from ansible.errors import AnsibleError, AnsibleParserError
|
|
||||||
from ansible.module_utils.six import string_types
|
|
||||||
from ansible.plugins.inventory import BaseInventoryPlugin, Constructable, Cacheable
|
from ansible.plugins.inventory import BaseInventoryPlugin, Constructable, Cacheable
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user