ansible-core 2.19.0rc1__py3-none-any.whl → 2.19.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ansible-core might be problematic. Click here for more details.

Files changed (48) hide show
  1. ansible/_internal/_ansiballz/_builder.py +25 -14
  2. ansible/_internal/_templating/_engine.py +6 -4
  3. ansible/_internal/_templating/_jinja_bits.py +3 -1
  4. ansible/_internal/_templating/_jinja_plugins.py +7 -2
  5. ansible/_internal/_templating/_lazy_containers.py +5 -5
  6. ansible/config/base.yml +16 -6
  7. ansible/config/manager.py +37 -16
  8. ansible/executor/task_executor.py +5 -2
  9. ansible/executor/task_queue_manager.py +2 -2
  10. ansible/module_utils/_internal/_ansiballz/_extensions/_debugpy.py +97 -0
  11. ansible/module_utils/_internal/_ansiballz/_extensions/_pydevd.py +2 -4
  12. ansible/module_utils/_internal/_traceback.py +1 -1
  13. ansible/module_utils/ansible_release.py +1 -1
  14. ansible/module_utils/basic.py +10 -2
  15. ansible/module_utils/common/validation.py +4 -1
  16. ansible/modules/dnf.py +36 -50
  17. ansible/modules/dnf5.py +36 -29
  18. ansible/modules/meta.py +2 -1
  19. ansible/modules/service_facts.py +5 -1
  20. ansible/playbook/helpers.py +1 -0
  21. ansible/playbook/taggable.py +1 -2
  22. ansible/plugins/__init__.py +18 -10
  23. ansible/plugins/callback/__init__.py +6 -1
  24. ansible/plugins/filter/to_json.yml +8 -4
  25. ansible/plugins/filter/to_nice_json.yml +3 -2
  26. ansible/plugins/lookup/template.py +6 -1
  27. ansible/release.py +1 -1
  28. ansible/utils/encrypt.py +2 -0
  29. {ansible_core-2.19.0rc1.dist-info → ansible_core-2.19.1.dist-info}/METADATA +1 -1
  30. {ansible_core-2.19.0rc1.dist-info → ansible_core-2.19.1.dist-info}/RECORD +48 -47
  31. ansible_test/_internal/commands/integration/coverage.py +2 -2
  32. ansible_test/_internal/commands/shell/__init__.py +67 -28
  33. ansible_test/_internal/coverage_util.py +28 -25
  34. ansible_test/_internal/debugging.py +337 -49
  35. ansible_test/_internal/host_profiles.py +43 -43
  36. ansible_test/_internal/metadata.py +7 -42
  37. ansible_test/_internal/python_requirements.py +2 -2
  38. ansible_test/_util/controller/sanity/pylint/config/ansible-test.cfg +1 -0
  39. ansible_test/_util/target/setup/bootstrap.sh +37 -16
  40. {ansible_core-2.19.0rc1.dist-info → ansible_core-2.19.1.dist-info}/WHEEL +0 -0
  41. {ansible_core-2.19.0rc1.dist-info → ansible_core-2.19.1.dist-info}/entry_points.txt +0 -0
  42. {ansible_core-2.19.0rc1.dist-info → ansible_core-2.19.1.dist-info}/licenses/COPYING +0 -0
  43. {ansible_core-2.19.0rc1.dist-info → ansible_core-2.19.1.dist-info}/licenses/licenses/Apache-License.txt +0 -0
  44. {ansible_core-2.19.0rc1.dist-info → ansible_core-2.19.1.dist-info}/licenses/licenses/BSD-3-Clause.txt +0 -0
  45. {ansible_core-2.19.0rc1.dist-info → ansible_core-2.19.1.dist-info}/licenses/licenses/MIT-license.txt +0 -0
  46. {ansible_core-2.19.0rc1.dist-info → ansible_core-2.19.1.dist-info}/licenses/licenses/PSF-license.txt +0 -0
  47. {ansible_core-2.19.0rc1.dist-info → ansible_core-2.19.1.dist-info}/licenses/licenses/simplified_bsd.txt +0 -0
  48. {ansible_core-2.19.0rc1.dist-info → ansible_core-2.19.1.dist-info}/top_level.txt +0 -0
@@ -3,7 +3,7 @@ ansible/__main__.py,sha256=24j-7-YT4lZ2fmV80JD-VRoYBnxR7YoP_VP-orJtDt0,796
3
3
  ansible/constants.py,sha256=qef45QpHi-yFFMvllvNKmqFpXdKKr304e5fEZnjgwZc,7989
4
4
  ansible/context.py,sha256=oKYyfjfWpy8vDeProtqfnqSmuij_t75_5e5t0U_hQ1g,1933
5
5
  ansible/keyword_desc.yml,sha256=5rGCsr-0B8w2D67qBD6q_2WFxfqj9ieb0V_2J-dZJ5E,7547
6
- ansible/release.py,sha256=cmY3ehX6O1d-RO_lV9fseR-8fg1l2e8lO-bdrkkvrp4,855
6
+ ansible/release.py,sha256=AbtajSdc1jp8eq_8ifnbKx9fUvj83Vd01af103PAWRY,852
7
7
  ansible/_internal/__init__.py,sha256=J3yCEAZoJLwxHMPEIWHwX6seRTCQ4Sr7cfHSw11ik9k,2208
8
8
  ansible/_internal/_collection_proxy.py,sha256=V3Zns3jdWR1hTP6q4mrNWoIKL67ayiQFPDOb6F7igsc,1228
9
9
  ansible/_internal/_event_formatting.py,sha256=cHMsuYi6v2W3fgEYdKLSe8O34kW5bZE26zyj7FOt268,4222
@@ -12,7 +12,7 @@ ansible/_internal/_task.py,sha256=NCEF3sPxt99n4Gk-e00A9Ce52duffThJm0qlmgkm0nQ,32
12
12
  ansible/_internal/_testing.py,sha256=WCEwZk8_NP2f2LoY2zjh6VIw6d8bPoFspvfP3-KQMjQ,825
13
13
  ansible/_internal/_wrapt.py,sha256=CLgu2S5V4NmJ9pPFIKarhqiiwAQxni5ISgr-TxARWuE,37963
14
14
  ansible/_internal/_ansiballz/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- ansible/_internal/_ansiballz/_builder.py,sha256=eRmzaY7wxf5EeZ-cGdZnj3bk9lcCRGpRa9YKZmM1VjE,3562
15
+ ansible/_internal/_ansiballz/_builder.py,sha256=bCoz-2RfuBYizeDoeGBzoo1ugyY8wrA-XnqKspMdx9A,4101
16
16
  ansible/_internal/_ansiballz/_wrapper.py,sha256=xWgDbVAP1zA66_iUBAvM9HNtDAxYVYkOfPpJAflGdlU,11780
17
17
  ansible/_internal/_datatag/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
18
  ansible/_internal/_datatag/_tags.py,sha256=8ZLQUX2ggTQluwtLfFbNKa9rKNpxRhqalRzeqSUda2Y,5180
@@ -40,13 +40,13 @@ ansible/_internal/_templating/__init__.py,sha256=78wbU8DM2Wk7sfJqp72bmEJMs7hyQ5k
40
40
  ansible/_internal/_templating/_access.py,sha256=dse4dr0TRpZdRbZLfg0VJ7wigNm2iS4DA-JEK6LoTLc,3467
41
41
  ansible/_internal/_templating/_chain_templar.py,sha256=VArYtkVpa0mZY2AhSL_Re2McPxM_lcgZupcDNwb4wB8,2256
42
42
  ansible/_internal/_templating/_datatag.py,sha256=HuOaYtpmXYZkTDVVVz5lO3E6trowAIp80P2BN-UTyHs,3903
43
- ansible/_internal/_templating/_engine.py,sha256=1-674lL9t4B0t93Ny0a9ZklU4bNkFefzNCAhNiFTOew,28155
43
+ ansible/_internal/_templating/_engine.py,sha256=FiveYrI0Hq7bjN_Z3aFjAm3aOHXRnm5QSEp-aHpL7lg,28352
44
44
  ansible/_internal/_templating/_errors.py,sha256=3dxLGu1NLft-9GDuNKNc1K4OIDaduAzFYkNOYBNAYCI,1302
45
- ansible/_internal/_templating/_jinja_bits.py,sha256=LkG0g81V-7-hI53ylV_yPHGTezzvw-XOpL-B0VvL-kc,48568
45
+ ansible/_internal/_templating/_jinja_bits.py,sha256=j723v_tpKf1v09J6-3WkA2YAC_x_0dW8rEpVlbCOg7U,48719
46
46
  ansible/_internal/_templating/_jinja_common.py,sha256=qgiY2WbNfp6Xj55P-a-208UVFDsFALJMqh_2lMM_Q5k,11761
47
47
  ansible/_internal/_templating/_jinja_patches.py,sha256=O_1GHYLEYtu1f2g0iSb3GDBrQMk1Qbh43H4CUEP9wcE,1412
48
- ansible/_internal/_templating/_jinja_plugins.py,sha256=bR_6EgqBeN2DXFygy-eEfLIFCNfKpsSaKIUqkHE3Cb8,16310
49
- ansible/_internal/_templating/_lazy_containers.py,sha256=dq7jPLtHJ42mNarYmROc2GES3IFQB2X-eIxp6HQtj5M,27159
48
+ ansible/_internal/_templating/_jinja_plugins.py,sha256=CeSWbFze94xnjjqvYRr42jBJkidHmnAYMfaES_TQgrI,16480
49
+ ansible/_internal/_templating/_lazy_containers.py,sha256=xHbk7oTs588yTov-EOKz2X0MC5afp1hHv8pHAhpdlDE,27240
50
50
  ansible/_internal/_templating/_marker_behaviors.py,sha256=EPQwotuBRagad5k9rGALlfCSV-CbNGXY6oA-DPp6dJ4,3439
51
51
  ansible/_internal/_templating/_template_vars.py,sha256=nQODzE_SeCYFuGpdUoEI6b3saJSddDVWCiOtY8n6ouY,2585
52
52
  ansible/_internal/_templating/_transform.py,sha256=07wo45Epm-ZvwgIEWjeFi4W3LHJUEXbDzXq4JWziq3s,2747
@@ -95,8 +95,8 @@ ansible/compat/__init__.py,sha256=CvyoCuJ9EdeWO3_nj5fBSQ495YP0tCbXhQ6cramBdGY,10
95
95
  ansible/compat/importlib_resources.py,sha256=75SJApiBzBKuBDknj81vdfzSJSxc2Pi4YvgQkmmGtew,542
96
96
  ansible/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
97
  ansible/config/ansible_builtin_runtime.yml,sha256=nwL_-rqEEmpuSHxZH70pJBiEosDKOPkYIboH3_7LVEY,376076
98
- ansible/config/base.yml,sha256=ngUgoogdN4DOf1JrxgvlvDT5drS8yB0HktcWTcPyfB0,90545
99
- ansible/config/manager.py,sha256=CC-JhhK4KN07rvXAfiex4sxjFSVtxsLx6E_YnpEOE88,31123
98
+ ansible/config/base.yml,sha256=fU9zLlHOszyFua35JZCOrPK4XuIkNSRGC6PhTDst4AM,90925
99
+ ansible/config/manager.py,sha256=GmL7LILfwf-9V3sYrqNtbjP4g8QYAtMRJCpSHCluDVc,32551
100
100
  ansible/errors/__init__.py,sha256=W1s19PaheqXMI2yKnZCuaKKjSAJRPgU1_xF2_J9B1NU,16353
101
101
  ansible/executor/__init__.py,sha256=mRvbCJPA-_veSG5ka3v04G5vsarLVDeB3EWFsu6geSI,749
102
102
  ansible/executor/interpreter_discovery.py,sha256=UWeAxnHknJCci2gG3zt6edx5Nj4WbHYfJVcmW_DzItY,3858
@@ -104,8 +104,8 @@ ansible/executor/module_common.py,sha256=sXMOvKj_9ubeBaCPVBHh76uHaRYZm-8mOhsSG55
104
104
  ansible/executor/play_iterator.py,sha256=OY0W7x3F7VUQCjWIogkPqhvm7SFnxOXR5anlqJjHeHY,32282
105
105
  ansible/executor/playbook_executor.py,sha256=5wjvqw22RG4g_JlYDQnLFrUEa8aYQBWdgKhEpNonhKQ,14806
106
106
  ansible/executor/stats.py,sha256=Rw-Q73xYvXnYOt-LJFnHAR03NvVR3ESgbMkHnVGhIPI,3180
107
- ansible/executor/task_executor.py,sha256=jt2uJOnmupi_hGIeztoX3h_cxPj_EgpRfPjNE8yh2dg,61232
108
- ansible/executor/task_queue_manager.py,sha256=CpfB_807ADoPmWVV02JTEx7dA5JBwPy-uYL6fSOXDvg,18786
107
+ ansible/executor/task_executor.py,sha256=irbdKCK6BZfBVn00nbvNMZJOltAUum5ykuqpAHh40-U,61437
108
+ ansible/executor/task_queue_manager.py,sha256=QiakfDZUCyrhJLSNxUGNjUlsqscCI-YM1G2cLqVb_Qk,18805
109
109
  ansible/executor/task_result.py,sha256=e73P110j8hcw9wv8O7p-z6St5VIvyP6iOV4cW4sswV8,10254
110
110
  ansible/executor/discovery/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
111
  ansible/executor/powershell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -211,9 +211,9 @@ ansible/inventory/host.py,sha256=cZw906LeMYe6oF3ZxW6K2HWoW2Qc0jxHssg_C8cRumE,493
211
211
  ansible/inventory/manager.py,sha256=fxg2sq7s-VBJnn9TvJCgv-xvYIu0DLJTix_y3w0wLcc,31811
212
212
  ansible/module_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
213
213
  ansible/module_utils/_text.py,sha256=VkWgAnSNVCbTQqZgllUObBFsH3uM4EUW5srl1UR9t1g,544
214
- ansible/module_utils/ansible_release.py,sha256=cmY3ehX6O1d-RO_lV9fseR-8fg1l2e8lO-bdrkkvrp4,855
214
+ ansible/module_utils/ansible_release.py,sha256=AbtajSdc1jp8eq_8ifnbKx9fUvj83Vd01af103PAWRY,852
215
215
  ansible/module_utils/api.py,sha256=8BmCzQtp9rClsLGlDn4I9iJrUFLCdnoEIxYX59_IL9c,5756
216
- ansible/module_utils/basic.py,sha256=B3RnxUfoIswGK8-o23kubNqrqHv_9aibfD8LjR3LUYE,89793
216
+ ansible/module_utils/basic.py,sha256=hoGCYYxypID_5wdpwkSAhMTb5Mfkr9x0RKsJaSHMwSA,90113
217
217
  ansible/module_utils/connection.py,sha256=ZwtQEs-TtT-XecoEmFWiDevSkJLIj348YkiW6PP7G9E,7471
218
218
  ansible/module_utils/datatag.py,sha256=tEwBXm75G_Hrk7I0dj_B1htFmIFCGDB_ifO-3MPPSHs,1659
219
219
  ansible/module_utils/errors.py,sha256=cOVAUZaQTeYaSGhKnYsT3L8vshayQHbCXzkT6HIVi_o,3345
@@ -235,7 +235,7 @@ ansible/module_utils/_internal/_plugin_info.py,sha256=09eBm1K0ee11kPT5Z6R2f7_SPq
235
235
  ansible/module_utils/_internal/_stack.py,sha256=Bva6lJ6A1153O3Kkha-9hxgFDqSbinz-JEYoKMCB3qE,630
236
236
  ansible/module_utils/_internal/_testing.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
237
237
  ansible/module_utils/_internal/_text_utils.py,sha256=ilp5D5VQxpWhFdGayTioN6gqzUpQlUFiteygwZ-mP_o,263
238
- ansible/module_utils/_internal/_traceback.py,sha256=ANiTQtAX3NfL10lW6EPU5f5s5QH9A6pam3dgfA-9Btc,3650
238
+ ansible/module_utils/_internal/_traceback.py,sha256=EOF7uhxdDxpdmqdtqgDPklQ-WIMh-9-0HVCZtLFc1bU,3654
239
239
  ansible/module_utils/_internal/_validation.py,sha256=8CKgc_ha53EgtrPCVjOU6GvsARj09U67Ys2vvhQWS6c,558
240
240
  ansible/module_utils/_internal/_ansiballz/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
241
241
  ansible/module_utils/_internal/_ansiballz/_loader.py,sha256=FpWtq6yZe_oXEJOf5k0NYNq9XcL3msa6Yz4w_Dko0sg,2912
@@ -243,7 +243,8 @@ ansible/module_utils/_internal/_ansiballz/_respawn.py,sha256=ghOGtLkQKsuGGvpToih
243
243
  ansible/module_utils/_internal/_ansiballz/_respawn_wrapper.py,sha256=Xz6t6n9RrzEQ3BFwSZUdTzBQUZODvebXQEHWOsUHnQM,491
244
244
  ansible/module_utils/_internal/_ansiballz/_extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
245
245
  ansible/module_utils/_internal/_ansiballz/_extensions/_coverage.py,sha256=pDEqFOxN7xoO6rTji8IcxUdcrmZgB62tp2OSaU0KRdg,1297
246
- ansible/module_utils/_internal/_ansiballz/_extensions/_pydevd.py,sha256=Kd6XePQO3DIn8Br2201gNDMm5n89VqnXxWPDr2OZOkA,2512
246
+ ansible/module_utils/_internal/_ansiballz/_extensions/_debugpy.py,sha256=iJqz7sJR3sHZ_6HXZt_J1zr1AElADgAprdpvblcqpWo,3150
247
+ ansible/module_utils/_internal/_ansiballz/_extensions/_pydevd.py,sha256=IDLdc5B7HwC6xusFxtMxzN1hdOk4rZ6oVowoU9dWJp4,2384
247
248
  ansible/module_utils/_internal/_concurrent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
248
249
  ansible/module_utils/_internal/_concurrent/_daemon_threading.py,sha256=okMP5QPoU9YhYMQF31tUJ6ChyiXJHF-6TD9t6nfjKWE,1085
249
250
  ansible/module_utils/_internal/_concurrent/_futures.py,sha256=Y0hpH1QXavZbKDude5Y8oYlxPvOhQarBhTQRc97odVs,936
@@ -277,7 +278,7 @@ ansible/module_utils/common/process.py,sha256=4Iantrh13r_70oKljgoMeYi4C0EpjqQawL
277
278
  ansible/module_utils/common/respawn.py,sha256=6YmopsVdkIcMoE9L2GQBpyuQe8Nm3C0HlqSqSdSNizo,3340
278
279
  ansible/module_utils/common/sentinel.py,sha256=aPX7KPw1PifJX9wq8qfStEU5oiEPmOJEn76I_08vsjo,2372
279
280
  ansible/module_utils/common/sys_info.py,sha256=sFcTKy_3iurRMBsB7aocWz_H-yO4Bgq_95zgOMl4slQ,5436
280
- ansible/module_utils/common/validation.py,sha256=GNGH0S7OvlJ35AY1PQDykiEawT0B1uviVTetLmYj6to,20180
281
+ ansible/module_utils/common/validation.py,sha256=YJmAmBjb7lgj-u6FJgaVoXm8V_GC6V7fIET2Z2pxtY8,20294
281
282
  ansible/module_utils/common/warnings.py,sha256=E94FJ89RQweJue2ZqdGlWyGXtj8VAmXmmiCGF9Ix-HE,5103
282
283
  ansible/module_utils/common/yaml.py,sha256=VAz02OxllSUZAzchiQ1qpxUSWKCvEWQQrUIjUJ0EraU,2900
283
284
  ansible/module_utils/common/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -401,8 +402,8 @@ ansible/modules/cron.py,sha256=U_ROnoK-GKjzaKg7pkKPYfOnEYfy0Aq4VxAdHpJ-9e4,26709
401
402
  ansible/modules/deb822_repository.py,sha256=kHBZlGGQ_fA3dMxx_NzjC-L2ZuhkEwTTfLS6ZC6qph4,15760
402
403
  ansible/modules/debconf.py,sha256=YAS1yba0yaxPrfFCLFLQwtHxlpriNxiJiwpDnmm3JP0,9362
403
404
  ansible/modules/debug.py,sha256=E2UADFGHgS78KxCiOdXoojX5G4pAAMz32VGHgaPObNs,2908
404
- ansible/modules/dnf.py,sha256=BStesAQE40-hZRMwV8IZW5j3yIv1wd1XGXsXjW1jKfw,52289
405
- ansible/modules/dnf5.py,sha256=W-XUpu0NsKcJifvWfYHj6ba4fORI4YeYVU5ZiTazkQE,31659
405
+ ansible/modules/dnf.py,sha256=5rYtgERYoEhHuYDbcYEVsqTEYTBWWbHTAUjIVBaN2ok,51756
406
+ ansible/modules/dnf5.py,sha256=vU-9H9zESknUzG9d4F7gyV7ZNX5opMf5w-OqwQSRBg8,32755
406
407
  ansible/modules/dpkg_selections.py,sha256=RWtzxNNOfQ5SdwMwnt_1q-IJhLVb-nxNAriJwRHNVuI,2805
407
408
  ansible/modules/expect.py,sha256=zEEboOSWzOg2CzbpvAvOz7NklgBoTViskWO9nDxPBGs,9303
408
409
  ansible/modules/fail.py,sha256=kppam_caBllcF5IcKEYd-Xc--okSAOWNG9dVbpn2CwM,1659
@@ -425,7 +426,7 @@ ansible/modules/include_vars.py,sha256=7aI3mXpyRLOqFMZxghLT9zjfSmXDfEU6L_Td-pzmX
425
426
  ansible/modules/iptables.py,sha256=94iDMuVpx3Qq52cJaUW0dxZO3FE8cvs4op8t7nsvNm8,35494
426
427
  ansible/modules/known_hosts.py,sha256=672GEOal1uEVn0P6uCs4U4wZmEYJasBLJFTNsROEJOM,14313
427
428
  ansible/modules/lineinfile.py,sha256=XElbV4fKfG70MDnlK3gC8hnbXslbNTscpdPaBGfKT1Q,23734
428
- ansible/modules/meta.py,sha256=I8f-iXVEar2pof6YfMcTiSJf5eD4Jfv0fAA4R1oTzxw,7121
429
+ ansible/modules/meta.py,sha256=0oLfvydcj8XeZsRR8yoRzgTINaPsEfl3-jxp1T-lzDM,7264
429
430
  ansible/modules/mount_facts.py,sha256=vy9Eeu17_EMsJbxgc23pa7DDXwU8rg11WFJTqcLjMXo,26018
430
431
  ansible/modules/package.py,sha256=xwiE0SDoz1Drrh_UjsRi7naAY9Xp4hpO_TbmLio2EFg,3877
431
432
  ansible/modules/package_facts.py,sha256=Tvq3ULR8oyIx-lCJzY-wwWlL2gGiwLq9jS5H8Hjmick,17284
@@ -438,7 +439,7 @@ ansible/modules/replace.py,sha256=4rxh8yctaz5EH0_EetzQ526QEAiyMVgZTMuBvGckFSs,11
438
439
  ansible/modules/rpm_key.py,sha256=8_DnYHOL1lAOlb_V5Y8T-qHwptjJxfaZw1I35tyGT7Q,9312
439
440
  ansible/modules/script.py,sha256=WmdINj1MxpccX9MspvWg6aP5MZGlfm0KSPpqNY7h0fk,4410
440
441
  ansible/modules/service.py,sha256=4cBxGoDrJ1I737LwxL4_ctYN-sIZU1lH3OUs0sxXssI,62026
441
- ansible/modules/service_facts.py,sha256=J-t3vjwTq7a4NuOhLlF0VG9J5rx0PaWVFpslKJVzCTk,21243
442
+ ansible/modules/service_facts.py,sha256=imbORQiIi3mUalPBZbQZkrBhaEevSzp_L4vV7I_Qs8s,21408
442
443
  ansible/modules/set_fact.py,sha256=3MysP4bx0XnYevu5L7iAJPLuq7ykp6lixeauU4LKEQc,5676
443
444
  ansible/modules/set_stats.py,sha256=3X3noQW_QQaG3Hb9rsxSDw6HP34MjqYJaqUF7RUL4-E,2641
444
445
  ansible/modules/setup.py,sha256=lHSuga52gN9mgnD-Rbs6ufqzkt7GvpzsQlb5PtfI2bY,11034
@@ -483,7 +484,7 @@ ansible/playbook/conditional.py,sha256=oq0Adm8LwibKuBC0LTk1TsQcqS1ZwPjSQuM2FUeip
483
484
  ansible/playbook/delegatable.py,sha256=BBcw2GU85V7ome7qX0KRg-vZyjv2J890kEHjYQOyoTk,625
484
485
  ansible/playbook/handler.py,sha256=pXI3V0_C-ierWt09-uGZKkjpAe12wpKTTo0vV9drOco,2925
485
486
  ansible/playbook/handler_task_include.py,sha256=kCrBThzmIRWKaecLl9UNB8VBvtVPI0dt8eHpBldsnlY,1391
486
- ansible/playbook/helpers.py,sha256=mknsTlwEy_RwGQjop6at-jnB8KH9TtxWJg5n6PavNFM,14893
487
+ ansible/playbook/helpers.py,sha256=iU88Jq3dseNIG3IcvwgUZIICJ3PalsGSfhu22pNLmOY,14963
487
488
  ansible/playbook/included_file.py,sha256=qRHaV-boz0skZ_fHBtsLIFlzV53EHKv1VZa6hCJsCMs,12027
488
489
  ansible/playbook/loop_control.py,sha256=5rZz6aWXpvvwOD4CzrS_b_cnXIu4Gf56czkomX1NS7w,2022
489
490
  ansible/playbook/notifiable.py,sha256=MQz4VZuOga35VLcdUxVd9FQVzFg-djtQZhs09DS2juA,299
@@ -491,7 +492,7 @@ ansible/playbook/play.py,sha256=RHxQgshU6c7t8qFCBdZOutdXjRjrWeqWItPJJSw2GJE,1735
491
492
  ansible/playbook/play_context.py,sha256=7tl_ObKgN8guKk6G9R1oSWoFmePDwhEiDHw2eEn78Hk,13673
492
493
  ansible/playbook/playbook_include.py,sha256=zTzEsS20DB9hSzRfU9DI4-BsteHwzWVshUF_SoIVVE0,5515
493
494
  ansible/playbook/role_include.py,sha256=DV7num4uVJvkIY4IHgB0uHmE8-gRmaNYbuoqP0-7dTY,7610
494
- ansible/playbook/taggable.py,sha256=5ZjDUpuna6UQcfYOr9UYqcfOwDQUVfFN5pLXFved708,3704
495
+ ansible/playbook/taggable.py,sha256=0-MCLX6E_i5OjQjHEItyQxPwGztcRAryRE7dJTKAhcc,3645
495
496
  ansible/playbook/task.py,sha256=LYMW_UEARc1ILIIUM9I_y5zbeyUGUfRddFWwlbW8pno,24567
496
497
  ansible/playbook/task_include.py,sha256=y7jSK7CqYEXmXShJOPUi3lCYuZI85197Gp4zLYsyUPw,5258
497
498
  ansible/playbook/role/__init__.py,sha256=k7EZxR8-FsY_SWOS4lAauBOfX21lMEsFbuNg_mTOPLg,30668
@@ -499,7 +500,7 @@ ansible/playbook/role/definition.py,sha256=44IRVqojhemfrdC7bU7aIiYwcFm6kWr30Hn4x
499
500
  ansible/playbook/role/include.py,sha256=yGBXglTQDtCpZ2XO1mVxp2UtsdLpLTt30KVR2AbBe5U,2159
500
501
  ansible/playbook/role/metadata.py,sha256=h439HGUucs2gOMUJlp2M0OO0_wnWWlQmTs_sOe8h6Sc,5018
501
502
  ansible/playbook/role/requirement.py,sha256=CNgLa0J6zZk2YQ_aeALnjQvehkkFXhrK8LQQZs7Ztzc,4173
502
- ansible/plugins/__init__.py,sha256=kQAlW-cB8b6S7giuIFisYimM9MMWm3OCnlAEREt2kks,7413
503
+ ansible/plugins/__init__.py,sha256=Rxl7OPg_ndRCRc9mvS9gwogy4wTlR00kaJ9KnUSNCeo,8042
503
504
  ansible/plugins/list.py,sha256=NlJeWem88zKrPKVc_3xfHFEFk2VmOja7dYY3JG2pXfM,11015
504
505
  ansible/plugins/loader.py,sha256=Q1mStvtuKy7udPhW1Zk6Go4lritfk-FM86JHmaf_66I,82190
505
506
  ansible/plugins/action/__init__.py,sha256=OR_i4YbdEYD8YQQIm0Dav_yDX9rHaN0YKSHsc9zZGJE,69391
@@ -539,7 +540,7 @@ ansible/plugins/cache/__init__.py,sha256=qpyZkLhKI75pgq2_Dhh6yuoxpfmMjcVjhYJzxoA
539
540
  ansible/plugins/cache/base.py,sha256=bBRxjoyZ4Y18O4MGH_U5uI8NQiPDRZzxWKjMqyvta4Y,1143
540
541
  ansible/plugins/cache/jsonfile.py,sha256=BVmwy7KgUkEDRgq1f82NQTQUEpxn0MIfbtExHSP5s_I,1659
541
542
  ansible/plugins/cache/memory.py,sha256=AzxNRhijtssd2xZoEQYO4kiYh8OQZeE0vFgngla-QPE,1166
542
- ansible/plugins/callback/__init__.py,sha256=PHxJVVN9lJcB4e1MiT9C2KSwk1E8CYbW8CRr7D26n24,30558
543
+ ansible/plugins/callback/__init__.py,sha256=uooNoHNS-8tJXcpZdZ_Hgp-CeIK3mpOC1pHhntlW8RQ,30820
543
544
  ansible/plugins/callback/default.py,sha256=_jK4lWCocMMbA01bLtjOkcjMIarAukTfotPCqMivAHA,17522
544
545
  ansible/plugins/callback/junit.py,sha256=VDe4Dt972T2Y0KC9WVqIfy6YlpK_Pk9QxxY-5Wn7aZY,14520
545
546
  ansible/plugins/callback/minimal.py,sha256=4POsci-dcNcqS34_N6OHfnQEdWRYNou0gpp7n2Icjsw,3237
@@ -629,8 +630,8 @@ ansible/plugins/filter/subelements.yml,sha256=JKHy2GRpOi5zLXZVRtmZoIs_J8sDEuAR0q
629
630
  ansible/plugins/filter/symmetric_difference.yml,sha256=2eqzKo8ZCtAY6xxd5f74TEHNhZ6rVeQVimMSRO_DgnU,1094
630
631
  ansible/plugins/filter/ternary.yml,sha256=HXfaNHqsRc698BBAxIBK11vMJnlYXOf6cpNIky8H41g,1555
631
632
  ansible/plugins/filter/to_datetime.yml,sha256=xm6YuP9cCV-5OzRxO0y8YKZuOt0nBYZe2tJHqtDUzfM,2691
632
- ansible/plugins/filter/to_json.yml,sha256=hIz4ppnypmQ-w9bn4zz1eGlK8xQ0rVaPGB4TWz3D2P0,2756
633
- ansible/plugins/filter/to_nice_json.yml,sha256=70ebCkLGbAsWGvXkrwu7kbILlWxgXBUad_RqUC9vWeY,2530
633
+ ansible/plugins/filter/to_json.yml,sha256=83GtE5oGoimh6RzkkY7cuF4-hqolzoD46WCRAtXzkOI,2791
634
+ ansible/plugins/filter/to_nice_json.yml,sha256=ezx2wgb3SG_mQh_B7aRDeWZqg65YTuh1zUonCjhtsTQ,2532
634
635
  ansible/plugins/filter/to_nice_yaml.yml,sha256=r1rmOXmDDt9FRX9fwAma6o5oRw7QOAlDnOWyIzEgD64,1510
635
636
  ansible/plugins/filter/to_uuid.yml,sha256=MA3ne76BORb2LBjginpFoPZYeQAvwd0fsZt_I5VjZMw,785
636
637
  ansible/plugins/filter/to_yaml.yml,sha256=nm3Pw0Bfnp9-hiypx9ufnOgoqXnrOODS_hPJfHhDfpQ,1593
@@ -678,7 +679,7 @@ ansible/plugins/lookup/pipe.py,sha256=6URDPkYLi5nmaz1C5KqL40o_CxwQnnTr9zJ97Z39FB
678
679
  ansible/plugins/lookup/random_choice.py,sha256=d7oKWfExsvHKA2tOs-8UWnWNlFxu3y3kDkhKaaaTOxo,1543
679
680
  ansible/plugins/lookup/sequence.py,sha256=LQubZqrZgL20ZCk8rr6WqLeZr86OaHCyyz0MHow3EhM,8569
680
681
  ansible/plugins/lookup/subelements.py,sha256=RPgYHauS5v81uc_PRAgkSOfjkxrWDS1H_KwElWi2Kl8,6134
681
- ansible/plugins/lookup/template.py,sha256=1pOv9Zatk6btuRhMiaFOBrXxnS_JO6tk4oFNj9Qm6TI,7406
682
+ ansible/plugins/lookup/template.py,sha256=RqFj2-dFxflQNmAU4681vlY4-3v9-nmhQ2gqppxlY6s,7736
682
683
  ansible/plugins/lookup/together.py,sha256=WAtJ2jagHIDL0GaOhnACA1Uh4jVtAGTZqgk61hz_ego,1768
683
684
  ansible/plugins/lookup/unvault.py,sha256=EMS-dOg5b923Rku0lXV-2Gy_Gh7-MLNwT1Lj9hNy8DU,1837
684
685
  ansible/plugins/lookup/url.py,sha256=EzMzJpR3JURFDuZCjpvwK4W8cTkZj_5g5p77t3mKOyM,9173
@@ -758,7 +759,7 @@ ansible/utils/cmd_functions.py,sha256=VmGs5ntdVaaqAJHcCTpGG3rYAAcTNl1b2-Iw4YVOt9
758
759
  ansible/utils/color.py,sha256=LjJO_12OsJiavBxwSDVXtLxdTzdwd2YWUp1OJ6KcM2g,4057
759
760
  ansible/utils/context_objects.py,sha256=vYulSJkzR3zxsQF_6_AqbPCCMy8WGC5dSqLFXJZqGIo,3034
760
761
  ansible/utils/display.py,sha256=L83ShPp23m8WVP9WZ3JVqv2Ma04lsBJm1duGbjpKRCY,49138
761
- ansible/utils/encrypt.py,sha256=j7DcEPr_yHSLYfYEruybjCl7kFk4rKjjTebyGx_-ZbA,7590
762
+ ansible/utils/encrypt.py,sha256=67J5Q7rRk5wz1mNTNuMu7wWOGbMMZJS7VHFJqMfMqdg,7719
762
763
  ansible/utils/fqcn.py,sha256=_wPNWMkR0mqRdkr6fn9FRgEkaCQHw40yardWe97FfEc,1215
763
764
  ansible/utils/galaxy.py,sha256=xdfYGrHAz0KJB2N0zvAFAx5ZXNldDZnA8F4L3to7Q40,3859
764
765
  ansible/utils/hashing.py,sha256=u9nqsz_5KgeD0u01L3RdqqB6elvD_OOYEPjQZh6-ek0,2699
@@ -788,12 +789,12 @@ ansible/vars/hostvars.py,sha256=cRK_4dssUwIN4aDxxYXEj7KzTazrykQ4PbJotne5oJc,4364
788
789
  ansible/vars/manager.py,sha256=1SNGcwMTT7m8aPC45DHdkOZRtnf7OEcuExBtocJusq4,28023
789
790
  ansible/vars/plugins.py,sha256=8svEABS2yBPzEdymdsrZ-0D70boUoCNvcgkWasvtVNo,4533
790
791
  ansible/vars/reserved.py,sha256=NgxlMBm_tloqDVb5TEX4eGhpYsz_AO6-Fmyi3kJpIFk,3107
791
- ansible_core-2.19.0rc1.dist-info/licenses/COPYING,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
792
- ansible_core-2.19.0rc1.dist-info/licenses/licenses/Apache-License.txt,sha256=y16Ofl9KOYjhBjwULGDcLfdWBfTEZRXnduOspt-XbhQ,11325
793
- ansible_core-2.19.0rc1.dist-info/licenses/licenses/BSD-3-Clause.txt,sha256=la0N3fE3Se8vBiuvUcFKA8b-E41G7flTic6P8CkUroE,1548
794
- ansible_core-2.19.0rc1.dist-info/licenses/licenses/MIT-license.txt,sha256=jLXp2XurnyZKbye40g9tfmLGtVlxh3pPD4n8xNqX8xc,1023
795
- ansible_core-2.19.0rc1.dist-info/licenses/licenses/PSF-license.txt,sha256=g7BC_H1qyg8Q1o5F76Vrm8ChSWYI5-dyj-CdGlNKBUo,2484
796
- ansible_core-2.19.0rc1.dist-info/licenses/licenses/simplified_bsd.txt,sha256=8R5R7R7sOa0h1Fi6RNgFgHowHBfun-OVOMzJ4rKAk2w,1237
792
+ ansible_core-2.19.1.dist-info/licenses/COPYING,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
793
+ ansible_core-2.19.1.dist-info/licenses/licenses/Apache-License.txt,sha256=y16Ofl9KOYjhBjwULGDcLfdWBfTEZRXnduOspt-XbhQ,11325
794
+ ansible_core-2.19.1.dist-info/licenses/licenses/BSD-3-Clause.txt,sha256=la0N3fE3Se8vBiuvUcFKA8b-E41G7flTic6P8CkUroE,1548
795
+ ansible_core-2.19.1.dist-info/licenses/licenses/MIT-license.txt,sha256=jLXp2XurnyZKbye40g9tfmLGtVlxh3pPD4n8xNqX8xc,1023
796
+ ansible_core-2.19.1.dist-info/licenses/licenses/PSF-license.txt,sha256=g7BC_H1qyg8Q1o5F76Vrm8ChSWYI5-dyj-CdGlNKBUo,2484
797
+ ansible_core-2.19.1.dist-info/licenses/licenses/simplified_bsd.txt,sha256=8R5R7R7sOa0h1Fi6RNgFgHowHBfun-OVOMzJ4rKAk2w,1237
797
798
  ansible_test/__init__.py,sha256=20VPOj11c6Ut1Av9RaurgwJvFhMqkWG3vAvcCbecNKw,66
798
799
  ansible_test/_data/ansible.cfg,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
799
800
  ansible_test/_data/coveragerc,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -854,9 +855,9 @@ ansible_test/_internal/constants.py,sha256=qgVmng71FWdsIZXgUaQUEZfB9V0GC4jjhYbSp
854
855
  ansible_test/_internal/containers.py,sha256=iOqs3Bi9127cl7h7kIPw-mo3tbM-7JAkmOwB-9ESvRE,34138
855
856
  ansible_test/_internal/content_config.py,sha256=qbYoSKOBT-X7FhSCuVkYzgiIz5H4MIbua3DxcN-gYdA,5589
856
857
  ansible_test/_internal/core_ci.py,sha256=7ejW10CQuf1aRE64HX2tdON2cbhIRSsYsLSThdXQcHo,17310
857
- ansible_test/_internal/coverage_util.py,sha256=h1RC2h_019sOMOYMceZIx8ZIhXBNbHJczEhttPv-OH4,9284
858
+ ansible_test/_internal/coverage_util.py,sha256=NnlgbpJ47h2oaAc5m3QyVs65GOq-cuRR9gEVV1ZE4rI,9408
858
859
  ansible_test/_internal/data.py,sha256=8APH-Bm6CeFO9ngWgZC8IxHeFzlxn0OQd6D5G1msSZU,11185
859
- ansible_test/_internal/debugging.py,sha256=NhpDlCd8Wrg2lTSwoNstxh4VHEL-ngHqCaGB7yNO5E0,5132
860
+ ansible_test/_internal/debugging.py,sha256=bL2mT7AHiKGSmZp2lZVDWDpkeMdOg3HgCZW1m1qTaYc,15563
860
861
  ansible_test/_internal/delegation.py,sha256=mGrxsCP5CASB2VBNfjr00fqn9BjQ0K5khinhk8Q7u-k,13631
861
862
  ansible_test/_internal/diff.py,sha256=uzgf3ckU9kj3-pIsX_EXVVfFT7HqK8wDd6gE5JiCFlE,7311
862
863
  ansible_test/_internal/docker_util.py,sha256=oqDeoBagpaOb2tazdJieSd7jssQjoygEq4M10UstlO0,38322
@@ -864,19 +865,19 @@ ansible_test/_internal/encoding.py,sha256=ymPqkmgg7mXUkW6MOARx0cYanX9TLLnu_NXp6n
864
865
  ansible_test/_internal/executor.py,sha256=-SSTYgKckI-dWltBWt67zTU6zO7NVu_O3pgFiJG4DeQ,2960
865
866
  ansible_test/_internal/git.py,sha256=TkYoTZ8CKWlP8dZZmThzzT1myItdP7_LseZ_2BMnIMA,4367
866
867
  ansible_test/_internal/host_configs.py,sha256=fuY7CAhM8Ky3cPcVhHe28Kwzuokzyg9lvr7GVL3o2Bo,18635
867
- ansible_test/_internal/host_profiles.py,sha256=7L1oWOJ146GE3MhsKn6YKLuUoUcj-GLD1WhFPQedWAU,74737
868
+ ansible_test/_internal/host_profiles.py,sha256=q6xZfaTS3wXPQUh90rHn1lQ3YJLTTm0xCh3Z-dilHZQ,74374
868
869
  ansible_test/_internal/http.py,sha256=P_C5n8hSZ3Q1zA08smmJCh2LvOoaflGasEqnLXZP0L0,3865
869
870
  ansible_test/_internal/init.py,sha256=-OdOvJ3Fz4Sx2aTG9qq7ekKsbVVTqOvRqetOqjOvA6w,506
870
871
  ansible_test/_internal/inventory.py,sha256=8Ajk67x5a8zt1bgvT8IrR9kCuEXXfkMxO2_ioFtlgh4,7074
871
872
  ansible_test/_internal/io.py,sha256=W1ETh6PNlhn8gy_Gqq5UvY9CI-3adYa_lqqs_Pw4T9o,2808
872
873
  ansible_test/_internal/junit_xml.py,sha256=5op7cjGK7Et0OSjcAAuUEqNWNAv5ZoNI0rkLx2ERXwM,8671
873
874
  ansible_test/_internal/locale_util.py,sha256=tjRbwKmgMQc1ysIhvP8yBhFcNA-2UCaWfQBDgrRFUxU,2161
874
- ansible_test/_internal/metadata.py,sha256=bUkQMNoZj_vesAm_CoysHaRyWy9E73NiVXqFkWDhhuo,8220
875
+ ansible_test/_internal/metadata.py,sha256=HWM-sQT-ovt2lwTSK1xN8-IYHWrB5joVY4BRh7HHHC0,7036
875
876
  ansible_test/_internal/payload.py,sha256=F9sLPiTw-zNq0-zU-L_RIYOsXZmA3nsLWha2W2MoeEs,8013
876
877
  ansible_test/_internal/processes.py,sha256=H3n7jOGzvWdeTxsTWFx4TPIjSpt40g0T6j0wvYdOsWY,2231
877
878
  ansible_test/_internal/provisioning.py,sha256=BIe-zIbGxFtqtaW8Cagk0cRybYthUIeGfKgmrwSwK2g,7492
878
879
  ansible_test/_internal/pypi_proxy.py,sha256=N9_kuBk6Bko3e8dKC1zi4UfhU0untpQgOK2W984GT_0,6020
879
- ansible_test/_internal/python_requirements.py,sha256=3aI8cF_Itg4XKMDvwNRIigKDve54UoqUzjxnLVoNzDs,16041
880
+ ansible_test/_internal/python_requirements.py,sha256=0tXTRO9m8q5ORaM6lELal5n8VEqlD1f16OrN8m7C_w8,16038
880
881
  ansible_test/_internal/ssh.py,sha256=7gTyNiwszPwFSM4aYT4YtAWfAR4lYLnOi7dpnv0SqwA,10635
881
882
  ansible_test/_internal/target.py,sha256=3W4J6T79Pv2kB6KOpC_lRq2qZFS7L6GobByyVshymV0,25650
882
883
  ansible_test/_internal/test.py,sha256=q17SmItAsiBWrSilDBZFSEBugv9QNsG5HzFOAFXcyh4,14516
@@ -948,7 +949,7 @@ ansible_test/_internal/commands/coverage/analyze/targets/generate.py,sha256=aEkU
948
949
  ansible_test/_internal/commands/coverage/analyze/targets/missing.py,sha256=c4V8IDd1U3sTi5-I4wYGeDPimMGXdHz-B0iPgiZLyKc,3895
949
950
  ansible_test/_internal/commands/env/__init__.py,sha256=UDLcBD9dqvP52HCVVcBzwnZXAinGspkBsGbk5O4VIts,5167
950
951
  ansible_test/_internal/commands/integration/__init__.py,sha256=rvE3A5IK9zg6LmSCEids30-Ay9LYBS_2etqo0lNb85I,37484
951
- ansible_test/_internal/commands/integration/coverage.py,sha256=zRAFR2sruJjby64gerAlg_0Yk_exq5WYa1_HWmS5sGA,15676
952
+ ansible_test/_internal/commands/integration/coverage.py,sha256=KEKa6bpLA_EDYVuVX3SRB7ikhNLapRdxWtp76cJtQME,15658
952
953
  ansible_test/_internal/commands/integration/filters.py,sha256=NnCl3D5EekJlQQVsDD4NKc68l8U2h5IaPw0Ql0O3o1E,12169
953
954
  ansible_test/_internal/commands/integration/network.py,sha256=Wdd-LV5AxfrxkLuhZHL3vrLz8be0wM3LYywQD4OEMZo,2418
954
955
  ansible_test/_internal/commands/integration/posix.py,sha256=SRKJfFMUl3nYiaETNRvRaOfgFrEtk2n9m8YJNN9JvnU,1445
@@ -983,7 +984,7 @@ ansible_test/_internal/commands/sanity/pylint.py,sha256=kS_y-rMNNpJ21Nn_gPL9Xz1f
983
984
  ansible_test/_internal/commands/sanity/shellcheck.py,sha256=ib4SFUmDjnLsnfa5PTwuh30_K8SB5CNC93_H7LKO82E,3071
984
985
  ansible_test/_internal/commands/sanity/validate_modules.py,sha256=JCWt69fM_2SGDEneT8J2j_YS79zXCouMLMbYIBMmiT4,8187
985
986
  ansible_test/_internal/commands/sanity/yamllint.py,sha256=B0PBgrT0bBIhvee6yM1qFWQupeQOGiV6_jmbIuVQ2_M,3424
986
- ansible_test/_internal/commands/shell/__init__.py,sha256=mO0ESuiic79FrrlR33CYxvDo9zQBx0JWjmPn7FYMWo8,5729
987
+ ansible_test/_internal/commands/shell/__init__.py,sha256=5_mAVu8oDA9JSSE8vGZJR3sg0OaEd9BPeVs7xoPJJ1Q,6712
987
988
  ansible_test/_internal/commands/units/__init__.py,sha256=rS_3pDHHWykOOHe9NXz1oCnWBs2cM3aaNCr0WGXZmgA,12935
988
989
  ansible_test/_internal/compat/__init__.py,sha256=YHcINH9sH7EXE0TBSm_O6Z1TRwiSr2xmnBRqP5Wlpik,89
989
990
  ansible_test/_internal/compat/packaging.py,sha256=EvFUiczMnGHLIhg-r3ffJ4tK9hjoiLWVfK3Tn3f-Z5U,519
@@ -1035,7 +1036,7 @@ ansible_test/_util/controller/sanity/pep8/current-ignore.txt,sha256=dpV9GzTy9R-c
1035
1036
  ansible_test/_util/controller/sanity/pslint/pslint.ps1,sha256=h0fLdkwF7JhGGjApvqAsCU87BKy0E_UiFJ_O7MARz6U,1089
1036
1037
  ansible_test/_util/controller/sanity/pslint/settings.psd1,sha256=QJnOH39HTVkJbPhhVo29olmQ_ftvzYpNa8uQ-figgws,1869
1037
1038
  ansible_test/_util/controller/sanity/pylint/config/ansible-test-target.cfg,sha256=7mL35gGJijKGUQLhMCP6SEPA6R1-DQ8pKdMgjV6Nnb8,2226
1038
- ansible_test/_util/controller/sanity/pylint/config/ansible-test.cfg,sha256=TfiS1qpa067_H2FbKdTG-xJwxdQ3hV4K7jAT73Af-Q0,2290
1039
+ ansible_test/_util/controller/sanity/pylint/config/ansible-test.cfg,sha256=ikwNib6jvOZNFyHb2yC6dzUEG-weKrmR40iP9_5c82w,2314
1039
1040
  ansible_test/_util/controller/sanity/pylint/config/code-smell.cfg,sha256=jJ1K5-7XP-SLu6cJaZjDSNrJt7SRxwLDhSBWotw9g5Y,2062
1040
1041
  ansible_test/_util/controller/sanity/pylint/config/collection.cfg,sha256=MrPjqou7RMmSBmai8epIbSCLbYkZ0yyxFcadowXrPs8,4789
1041
1042
  ansible_test/_util/controller/sanity/pylint/config/default.cfg,sha256=PHGUd-3F3tkj-Ie8HPFlF2kg3R9F5z92Ric9icrLJs0,4363
@@ -1069,7 +1070,7 @@ ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py,sha256=6u
1069
1070
  ansible_test/_util/target/pytest/plugins/ansible_pytest_coverage.py,sha256=n5ZrjY_feIK5auGcx21aYP03BQE6Ptu9RrXFAKAJcfE,1999
1070
1071
  ansible_test/_util/target/sanity/compile/compile.py,sha256=w6FO6aI4wiVb4DYNchthqCOrjwWRFmcaEKdM6_s1Vug,1303
1071
1072
  ansible_test/_util/target/sanity/import/importer.py,sha256=mwF8tFHR_m-jFpgPy-KEewOsoDiHD9u6dv8GbO6puFM,24699
1072
- ansible_test/_util/target/setup/bootstrap.sh,sha256=LVGyk4jlF9oGaUdExCvo4I_yRiD3XXGx56BHPreWvYk,12591
1073
+ ansible_test/_util/target/setup/bootstrap.sh,sha256=IebIUavJZINYZF8_gAeGHbnyyzaqwcQTuzDl8zvfBbI,12502
1073
1074
  ansible_test/_util/target/setup/check_systemd_cgroup_v1.sh,sha256=Aq0T62x_KLtkGaWzYqWjvhchTqYFflrTbQET3h6xrT0,395
1074
1075
  ansible_test/_util/target/setup/probe_cgroups.py,sha256=wloSlXxgaQeE9cdpc3Bw3BvE8LktkiE9vq_DpI-cGrY,660
1075
1076
  ansible_test/_util/target/setup/quiet_pip.py,sha256=LiyNCcZpXfLlWOTDndOSeXLX5hk2ukCObOn9GbuxEic,1980
@@ -1090,8 +1091,8 @@ ansible_test/config/cloud-config-vultr.ini.template,sha256=XLKHk3lg_8ReQMdWfZzhh
1090
1091
  ansible_test/config/config.yml,sha256=1zdGucnIl6nIecZA7ISIANvqXiHWqq6Dthsk_6MUwNc,2642
1091
1092
  ansible_test/config/inventory.networking.template,sha256=bFNSk8zNQOaZ_twaflrY0XZ9mLwUbRLuNT0BdIFwvn4,1335
1092
1093
  ansible_test/config/inventory.winrm.template,sha256=1QU8W-GFLnYEw8yY9bVIvUAVvJYPM3hyoijf6-M7T00,1098
1093
- ansible_core-2.19.0rc1.dist-info/METADATA,sha256=QnBK_jFoYoWx_2nkKML2MmP1NZ8LnR7yuw7zC7CwtIY,7733
1094
- ansible_core-2.19.0rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1095
- ansible_core-2.19.0rc1.dist-info/entry_points.txt,sha256=S9yJij5Im6FgRQxzkqSCnPQokC7PcWrDW_NSygZczJU,451
1096
- ansible_core-2.19.0rc1.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
1097
- ansible_core-2.19.0rc1.dist-info/RECORD,,
1094
+ ansible_core-2.19.1.dist-info/METADATA,sha256=Qs3PRJPtm4qyMcWwdRQfZopV-nyyJvK2kg0NzC0Z9fE,7730
1095
+ ansible_core-2.19.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1096
+ ansible_core-2.19.1.dist-info/entry_points.txt,sha256=S9yJij5Im6FgRQxzkqSCnPQokC7PcWrDW_NSygZczJU,451
1097
+ ansible_core-2.19.1.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
1098
+ ansible_core-2.19.1.dist-info/RECORD,,
@@ -167,7 +167,7 @@ class PosixCoverageHandler(CoverageHandler[PosixConfig]):
167
167
  coverage_config_path = os.path.join(self.common_temp_path, COVERAGE_CONFIG_NAME)
168
168
  coverage_output_path = os.path.join(self.common_temp_path, ResultType.COVERAGE.name)
169
169
 
170
- coverage_config = generate_coverage_config(self.args)
170
+ coverage_config = generate_coverage_config()
171
171
 
172
172
  write_text_file(coverage_config_path, coverage_config, create_directories=True)
173
173
 
@@ -260,7 +260,7 @@ class PosixCoverageHandler(CoverageHandler[PosixConfig]):
260
260
  """Return a dictionary of variables for setup and teardown of POSIX coverage."""
261
261
  return dict(
262
262
  common_temp_dir=self.common_temp_path,
263
- coverage_config=generate_coverage_config(self.args),
263
+ coverage_config=generate_coverage_config(),
264
264
  coverage_config_path=os.path.join(self.common_temp_path, COVERAGE_CONFIG_NAME),
265
265
  coverage_output_path=os.path.join(self.common_temp_path, ResultType.COVERAGE.name),
266
266
  mode_directory=f'{MODE_DIRECTORY:04o}',
@@ -2,11 +2,16 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import contextlib
5
6
  import dataclasses
6
7
  import os
7
8
  import sys
8
9
  import typing as t
9
10
 
11
+ from ...data import (
12
+ data_context,
13
+ )
14
+
10
15
  from ...util import (
11
16
  ApplicationError,
12
17
  OutputStream,
@@ -101,19 +106,33 @@ def command_shell(args: ShellConfig) -> None:
101
106
  if args.export:
102
107
  return
103
108
 
104
- if args.cmd:
105
- # Running a command is assumed to be non-interactive. Only a shell (no command) is interactive.
106
- # If we want to support interactive commands in the future, we'll need an `--interactive` command line option.
107
- # Command stderr output is allowed to mix with our own output, which is all sent to stderr.
108
- con.run(args.cmd, capture=False, interactive=False, output_stream=OutputStream.ORIGINAL)
109
- return
110
-
111
109
  if isinstance(con, LocalConnection) and isinstance(target_profile, DebuggableProfile) and target_profile.debugging_enabled:
112
- # HACK: ensure the pydevd port visible in the shell is the forwarded port, not the original
113
- args.metadata.debugger_settings = dataclasses.replace(args.metadata.debugger_settings, port=target_profile.pydevd_port)
110
+ # HACK: ensure the debugger port visible in the shell is the forwarded port, not the original
111
+ args.metadata.debugger_settings = dataclasses.replace(args.metadata.debugger_settings, port=target_profile.debugger_port)
114
112
 
115
- with metadata_context(args):
116
- interactive_shell(args, target_profile, con)
113
+ with contextlib.nullcontext() if data_context().content.unsupported else metadata_context(args):
114
+ if args.cmd:
115
+ non_interactive_shell(args, target_profile, con)
116
+ else:
117
+ interactive_shell(args, target_profile, con)
118
+
119
+
120
+ def non_interactive_shell(
121
+ args: ShellConfig,
122
+ target_profile: SshTargetHostProfile,
123
+ con: Connection,
124
+ ) -> None:
125
+ """Run a non-interactive shell command."""
126
+ if isinstance(target_profile, PosixProfile):
127
+ env = get_environment_variables(args, target_profile, con)
128
+ cmd = get_env_command(env) + args.cmd
129
+ else:
130
+ cmd = args.cmd
131
+
132
+ # Running a command is assumed to be non-interactive. Only a shell (no command) is interactive.
133
+ # If we want to support interactive commands in the future, we'll need an `--interactive` command line option.
134
+ # Command stderr output is allowed to mix with our own output, which is all sent to stderr.
135
+ con.run(cmd, capture=False, interactive=False, output_stream=OutputStream.ORIGINAL)
117
136
 
118
137
 
119
138
  def interactive_shell(
@@ -135,23 +154,8 @@ def interactive_shell(
135
154
  python = target_profile.python # make sure the python interpreter has been initialized before opening a shell
136
155
  display.info(f'Target Python {python.version} is at: {python.path}')
137
156
 
138
- optional_vars = (
139
- 'TERM', # keep backspace working
140
- )
141
-
142
- env = {name: os.environ[name] for name in optional_vars if name in os.environ}
143
-
144
- if isinstance(con, LocalConnection): # configure the controller environment
145
- env.update(ansible_environment(args))
146
- env.update(get_injector_env(target_profile.python, env))
147
- env.update(ANSIBLE_TEST_METADATA_PATH=os.path.abspath(args.metadata_path))
148
-
149
- if isinstance(target_profile, DebuggableProfile):
150
- env.update(target_profile.get_ansiballz_environment_variables())
151
- env.update(target_profile.get_ansible_cli_environment_variables())
152
-
153
- if env:
154
- cmd = ['/usr/bin/env'] + [f'{name}={value}' for name, value in env.items()]
157
+ env = get_environment_variables(args, target_profile, con)
158
+ cmd = get_env_command(env)
155
159
 
156
160
  cmd += [shell, '-i']
157
161
  else:
@@ -175,3 +179,38 @@ def interactive_shell(
175
179
  raise HostConnectionError(f'SSH shell connection failed for host {target_profile.config}: {ex}', callback) from ex
176
180
 
177
181
  raise
182
+
183
+
184
+ def get_env_command(env: dict[str, str]) -> list[str]:
185
+ """Get an `env` command to set the given environment variables, if any."""
186
+ if not env:
187
+ return []
188
+
189
+ return ['/usr/bin/env'] + [f'{name}={value}' for name, value in env.items()]
190
+
191
+
192
+ def get_environment_variables(
193
+ args: ShellConfig,
194
+ target_profile: PosixProfile,
195
+ con: Connection,
196
+ ) -> dict[str, str]:
197
+ """Get the environment variables to expose to the shell."""
198
+ if data_context().content.unsupported:
199
+ return {}
200
+
201
+ optional_vars = (
202
+ 'TERM', # keep backspace working
203
+ )
204
+
205
+ env = {name: os.environ[name] for name in optional_vars if name in os.environ}
206
+
207
+ if isinstance(con, LocalConnection): # configure the controller environment
208
+ env.update(ansible_environment(args))
209
+ env.update(get_injector_env(target_profile.python, env))
210
+ env.update(ANSIBLE_TEST_METADATA_PATH=os.path.abspath(args.metadata_path))
211
+
212
+ if isinstance(target_profile, DebuggableProfile):
213
+ env.update(target_profile.get_ansiballz_environment_variables())
214
+ env.update(target_profile.get_ansible_cli_environment_variables())
215
+
216
+ return env
@@ -6,11 +6,10 @@ import dataclasses
6
6
  import os
7
7
  import sqlite3
8
8
  import tempfile
9
+ import textwrap
9
10
  import typing as t
10
11
 
11
12
  from .config import (
12
- IntegrationConfig,
13
- SanityConfig,
14
13
  TestConfig,
15
14
  )
16
15
 
@@ -217,7 +216,7 @@ def get_coverage_config(args: TestConfig) -> str:
217
216
  except AttributeError:
218
217
  pass
219
218
 
220
- coverage_config = generate_coverage_config(args)
219
+ coverage_config = generate_coverage_config()
221
220
 
222
221
  if args.explain:
223
222
  temp_dir = '/tmp/coverage-temp-dir'
@@ -235,10 +234,10 @@ def get_coverage_config(args: TestConfig) -> str:
235
234
  return path
236
235
 
237
236
 
238
- def generate_coverage_config(args: TestConfig) -> str:
237
+ def generate_coverage_config() -> str:
239
238
  """Generate code coverage configuration for tests."""
240
239
  if data_context().content.collection:
241
- coverage_config = generate_collection_coverage_config(args)
240
+ coverage_config = generate_collection_coverage_config()
242
241
  else:
243
242
  coverage_config = generate_ansible_coverage_config()
244
243
 
@@ -265,12 +264,29 @@ omit =
265
264
  */test/results/*
266
265
  """
267
266
 
267
+ coverage_config = coverage_config.lstrip()
268
+
268
269
  return coverage_config
269
270
 
270
271
 
271
- def generate_collection_coverage_config(args: TestConfig) -> str:
272
+ def generate_collection_coverage_config() -> str:
272
273
  """Generate code coverage configuration for Ansible Collection tests."""
273
- coverage_config = """
274
+ include_patterns = [
275
+ # {base}/ansible_collections/{ns}/{col}/*
276
+ os.path.join(data_context().content.root, '*'),
277
+ # */ansible_collections/{ns}/{col}/* (required to pick up AnsiballZ coverage)
278
+ os.path.join('*', data_context().content.collection.directory, '*'),
279
+ ]
280
+
281
+ omit_patterns = [
282
+ # {base}/ansible_collections/{ns}/{col}/tests/output/*
283
+ os.path.join(data_context().content.root, data_context().content.results_path, '*'),
284
+ ]
285
+
286
+ include = textwrap.indent('\n'.join(include_patterns), ' ' * 4)
287
+ omit = textwrap.indent('\n'.join(omit_patterns), ' ' * 4)
288
+
289
+ coverage_config = f"""
274
290
  [run]
275
291
  branch = True
276
292
  concurrency =
@@ -279,28 +295,15 @@ concurrency =
279
295
  parallel = True
280
296
  disable_warnings =
281
297
  no-data-collected
282
- """
283
298
 
284
- if isinstance(args, IntegrationConfig):
285
- coverage_config += """
286
- include =
287
- %s/*
288
- */%s/*
289
- """ % (data_context().content.root, data_context().content.collection.directory)
290
- elif isinstance(args, SanityConfig):
291
- # temporary work-around for import sanity test
292
- coverage_config += """
293
299
  include =
294
- %s/*
300
+ {include}
295
301
 
296
302
  omit =
297
- %s/*
298
- """ % (data_context().content.root, os.path.join(data_context().content.root, data_context().content.results_path))
299
- else:
300
- coverage_config += """
301
- include =
302
- %s/*
303
- """ % data_context().content.root
303
+ {omit}
304
+ """
305
+
306
+ coverage_config = coverage_config.lstrip()
304
307
 
305
308
  return coverage_config
306
309