ansible-core 2.18.5__py3-none-any.whl → 2.18.6__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.
ansible/cli/doc.py CHANGED
@@ -1170,12 +1170,16 @@ class DocCLI(CLI, RoleMixin):
1170
1170
  return 'version %s' % (version_added, )
1171
1171
 
1172
1172
  @staticmethod
1173
- def warp_fill(text, limit, initial_indent='', subsequent_indent='', **kwargs):
1173
+ def warp_fill(text, limit, initial_indent='', subsequent_indent='', initial_extra=0, **kwargs):
1174
1174
  result = []
1175
1175
  for paragraph in text.split('\n\n'):
1176
- result.append(textwrap.fill(paragraph, limit, initial_indent=initial_indent, subsequent_indent=subsequent_indent,
1177
- break_on_hyphens=False, break_long_words=False, drop_whitespace=True, **kwargs))
1176
+ wrapped = textwrap.fill(paragraph, limit, initial_indent=initial_indent + ' ' * initial_extra, subsequent_indent=subsequent_indent,
1177
+ break_on_hyphens=False, break_long_words=False, drop_whitespace=True, **kwargs)
1178
+ if initial_extra and wrapped.startswith(' ' * initial_extra):
1179
+ wrapped = wrapped[initial_extra:]
1180
+ result.append(wrapped)
1178
1181
  initial_indent = subsequent_indent
1182
+ initial_extra = 0
1179
1183
  return '\n'.join(result)
1180
1184
 
1181
1185
  @staticmethod
@@ -1207,20 +1211,23 @@ class DocCLI(CLI, RoleMixin):
1207
1211
  text.append('')
1208
1212
 
1209
1213
  # TODO: push this to top of for and sort by size, create indent on largest key?
1210
- inline_indent = base_indent + ' ' * max((len(opt_indent) - len(o)) - len(base_indent), 2)
1211
- sub_indent = inline_indent + ' ' * (len(o) + 3)
1214
+ inline_indent = ' ' * max((len(opt_indent) - len(o)) - len(base_indent), 2)
1215
+ extra_indent = base_indent + ' ' * (len(o) + 3)
1216
+ sub_indent = inline_indent + extra_indent
1212
1217
  if is_sequence(opt['description']):
1213
1218
  for entry_idx, entry in enumerate(opt['description'], 1):
1214
1219
  if not isinstance(entry, string_types):
1215
1220
  raise AnsibleError("Expected string in description of %s at index %s, got %s" % (o, entry_idx, type(entry)))
1216
1221
  if entry_idx == 1:
1217
- text.append(key + DocCLI.warp_fill(DocCLI.tty_ify(entry), limit, initial_indent=inline_indent, subsequent_indent=sub_indent))
1222
+ text.append(key + DocCLI.warp_fill(DocCLI.tty_ify(entry), limit,
1223
+ initial_indent=inline_indent, subsequent_indent=sub_indent, initial_extra=len(extra_indent)))
1218
1224
  else:
1219
1225
  text.append(DocCLI.warp_fill(DocCLI.tty_ify(entry), limit, initial_indent=sub_indent, subsequent_indent=sub_indent))
1220
1226
  else:
1221
1227
  if not isinstance(opt['description'], string_types):
1222
1228
  raise AnsibleError("Expected string in description of %s, got %s" % (o, type(opt['description'])))
1223
- text.append(key + DocCLI.warp_fill(DocCLI.tty_ify(opt['description']), limit, initial_indent=inline_indent, subsequent_indent=sub_indent))
1229
+ text.append(key + DocCLI.warp_fill(DocCLI.tty_ify(opt['description']), limit,
1230
+ initial_indent=inline_indent, subsequent_indent=sub_indent, initial_extra=len(extra_indent)))
1224
1231
  del opt['description']
1225
1232
 
1226
1233
  suboptions = []
@@ -17,6 +17,6 @@
17
17
 
18
18
  from __future__ import annotations
19
19
 
20
- __version__ = '2.18.5'
20
+ __version__ = '2.18.6'
21
21
  __author__ = 'Ansible, Inc.'
22
22
  __codename__ = "Fool in the Rain"
ansible/modules/dnf5.py CHANGED
@@ -701,6 +701,7 @@ class Dnf5Module(YumDnf):
701
701
  if self.security:
702
702
  types.append("security")
703
703
  advisory_query.filter_type(types)
704
+ conf.skip_unavailable = True # ignore packages that are of a different type, for backwards compat
704
705
  settings.set_advisory_filter(advisory_query)
705
706
 
706
707
  goal = libdnf5.base.Goal(base)
@@ -776,7 +777,7 @@ class Dnf5Module(YumDnf):
776
777
  if self.module.check_mode:
777
778
  if results:
778
779
  msg = "Check mode: No changes made, but would have if not in check mode"
779
- else:
780
+ elif changed:
780
781
  transaction.download()
781
782
  if not self.download_only:
782
783
  transaction.set_description("ansible dnf5 module")
@@ -634,12 +634,12 @@ class ActionBase(ABC):
634
634
  # done. Make the files +x if we're asked to, and return.
635
635
  if not self._is_become_unprivileged():
636
636
  if execute:
637
- # Can't depend on the file being transferred with execute permissions.
637
+ # Can't depend on the file being transferred with required permissions.
638
638
  # Only need user perms because no become was used here
639
- res = self._remote_chmod(remote_paths, 'u+x')
639
+ res = self._remote_chmod(remote_paths, 'u+rwx')
640
640
  if res['rc'] != 0:
641
641
  raise AnsibleError(
642
- 'Failed to set execute bit on remote files '
642
+ 'Failed to set permissions on remote files '
643
643
  '(rc: {0}, err: {1})'.format(
644
644
  res['rc'],
645
645
  to_native(res['stderr'])))
@@ -680,10 +680,10 @@ class ActionBase(ABC):
680
680
  return remote_paths
681
681
 
682
682
  # Step 3b: Set execute if we need to. We do this before anything else
683
- # because some of the methods below might work but not let us set +x
684
- # as part of them.
683
+ # because some of the methods below might work but not let us set
684
+ # permissions as part of them.
685
685
  if execute:
686
- res = self._remote_chmod(remote_paths, 'u+x')
686
+ res = self._remote_chmod(remote_paths, 'u+rwx')
687
687
  if res['rc'] != 0:
688
688
  raise AnsibleError(
689
689
  'Failed to set file mode or acl on remote temporary files '
@@ -150,11 +150,23 @@ class ActionModule(ActionBase):
150
150
  # like become and environment args
151
151
  if getattr(self._connection._shell, "_IS_WINDOWS", False):
152
152
  # FUTURE: use a more public method to get the exec payload
153
- pc = self._task
153
+ become = False
154
+ become_method = None
155
+ become_user = None
156
+ become_pass = None
157
+ become_flags = None
158
+ if self._connection.become:
159
+ become_plugin = self._connection.become
160
+ become = True
161
+ become_method = become_plugin.name
162
+ become_user = become_plugin.get_option('become_user', playcontext=self._play_context)
163
+ become_pass = become_plugin.get_option('become_pass', playcontext=self._play_context)
164
+ become_flags = become_plugin.get_option('become_flags', playcontext=self._play_context)
165
+
154
166
  exec_data = ps_manifest._create_powershell_wrapper(
155
167
  to_bytes(script_cmd), source, {}, env_dict, self._task.async_val,
156
- pc.become, pc.become_method, pc.become_user,
157
- self._play_context.become_pass, pc.become_flags, "script", task_vars, None
168
+ become, become_method, become_user,
169
+ become_pass, become_flags, "script", task_vars, None
158
170
  )
159
171
  # build the necessary exec wrapper command
160
172
  # FUTURE: this still doesn't let script work on Windows with non-pipelined connections or
@@ -29,7 +29,7 @@ attributes:
29
29
  platforms: all
30
30
  until:
31
31
  description: Denotes if this action obeys until/retry/poll keywords
32
- support: full
32
+ support: none
33
33
  tags:
34
34
  description: Allows for the 'tags' keyword to control the selection of this action for execution
35
35
  support: full
ansible/release.py CHANGED
@@ -17,6 +17,6 @@
17
17
 
18
18
  from __future__ import annotations
19
19
 
20
- __version__ = '2.18.5'
20
+ __version__ = '2.18.6'
21
21
  __author__ = 'Ansible, Inc.'
22
22
  __codename__ = "Fool in the Rain"
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: ansible-core
3
- Version: 2.18.5
3
+ Version: 2.18.6
4
4
  Summary: Radically simple IT automation
5
5
  Author: Ansible Project
6
6
  Project-URL: Homepage, https://ansible.com/
@@ -37,6 +37,7 @@ Requires-Dist: PyYAML>=5.1
37
37
  Requires-Dist: cryptography
38
38
  Requires-Dist: packaging
39
39
  Requires-Dist: resolvelib<1.1.0,>=0.5.3
40
+ Dynamic: license-file
40
41
 
41
42
  [![PyPI version](https://img.shields.io/pypi/v/ansible-core.svg)](https://pypi.org/project/ansible-core)
42
43
  [![Docs badge](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://docs.ansible.com/ansible/latest/)
@@ -3,13 +3,13 @@ ansible/__main__.py,sha256=24j-7-YT4lZ2fmV80JD-VRoYBnxR7YoP_VP-orJtDt0,796
3
3
  ansible/constants.py,sha256=dSgbrzNsmhYc4GQOWZvRm4XKgf--_MUWcMa_9_7l5Pc,9757
4
4
  ansible/context.py,sha256=oKYyfjfWpy8vDeProtqfnqSmuij_t75_5e5t0U_hQ1g,1933
5
5
  ansible/keyword_desc.yml,sha256=xD-MRMB8mSRaj2ADwRnjIEbOwJKbc6BYadouGPfS0mI,7462
6
- ansible/release.py,sha256=0cL9gQgaMFqghkcjf3JP-UmcwrpeJG8cygdT7426SsM,836
6
+ ansible/release.py,sha256=ZMGvBhjIYBbu0PK-Af5w7Y0WXwn7OabfHLxEkLdE5X8,836
7
7
  ansible/_vendor/__init__.py,sha256=2QBeBwT7uG7M3Aw-pIdCpt6XPtHMCpbEKfACYKA7xIg,2033
8
8
  ansible/cli/__init__.py,sha256=e0KjeLfG1Ketbwl-uOmQ-zXoq3_El80LnHTGu80d1gs,28111
9
9
  ansible/cli/adhoc.py,sha256=quJ9WzRzf3dz_dtDGmahNMffqyNVy1jzQCMo21YL5Qg,8194
10
10
  ansible/cli/config.py,sha256=jDumlJ8Ofe7RGuknfV9tA4GPnC37Mac0_mQ9KyLu0k4,29667
11
11
  ansible/cli/console.py,sha256=0yeeupwegeWRB8oYXSy0CQ9k20J61AZBcuXbB42IENI,21985
12
- ansible/cli/doc.py,sha256=nbx2gfxYXq-5nnuCTdMnlI8UTHTkevQAvZv7U1Qnfy4,70418
12
+ ansible/cli/doc.py,sha256=tcJfWPadUSnXPXjMwVyhtkPBhq1ELxMNnbuox36WRIo,70807
13
13
  ansible/cli/galaxy.py,sha256=KXTPM-hXtamDZUZXHRPGs2BPpIaf3HztlgyH9wOys7Q,95000
14
14
  ansible/cli/inventory.py,sha256=TTVyNM1G2IkTthmISmTGqlr4KjZKGrRVOh9gIJfjGtk,16765
15
15
  ansible/cli/playbook.py,sha256=d0x_X0BXjxYjPJ-qc6JcyGxR6IzxdvnSjoT4tUtaGKQ,10865
@@ -141,7 +141,7 @@ ansible/inventory/host.py,sha256=PDb5OTplhfpUIvdHiP2BckUOB1gUl302N-3sW0_sTyg,503
141
141
  ansible/inventory/manager.py,sha256=45mHgZTAkQ3IjAtrgsNzJXvynC-HIEor-JJE-V3xXN4,29454
142
142
  ansible/module_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
143
  ansible/module_utils/_text.py,sha256=VkWgAnSNVCbTQqZgllUObBFsH3uM4EUW5srl1UR9t1g,544
144
- ansible/module_utils/ansible_release.py,sha256=0cL9gQgaMFqghkcjf3JP-UmcwrpeJG8cygdT7426SsM,836
144
+ ansible/module_utils/ansible_release.py,sha256=ZMGvBhjIYBbu0PK-Af5w7Y0WXwn7OabfHLxEkLdE5X8,836
145
145
  ansible/module_utils/api.py,sha256=r4wd6XZGhUnxMF416Ry6ebgq8BIhjCPSPOvO2ZtrYxE,5785
146
146
  ansible/module_utils/basic.py,sha256=fogfpo_l7JtS34WvgwwOebmPfMhFjQaJN5CwjKgUJVE,86291
147
147
  ansible/module_utils/connection.py,sha256=8TviwCucQ7d_JILwaUHE4tCuNfR3U1WFkmxLMxWa8Rw,7671
@@ -296,7 +296,7 @@ ansible/modules/deb822_repository.py,sha256=SLJM8bBLc70WYu3-OA67wd5hMft3pznYAMIi
296
296
  ansible/modules/debconf.py,sha256=Y49U5pM6UpKvYAvDbOhYe6kmQFAaxjl7YoYnPrOaGGU,9362
297
297
  ansible/modules/debug.py,sha256=BFbzrU_vl-Try5DuLV20_sLgqxEJlPV9uOrgAtby2e8,2908
298
298
  ansible/modules/dnf.py,sha256=rsb28kjMMnTu-rPW0Pdnbs2RPyvfdhWgXeUORUSgzEI,52288
299
- ansible/modules/dnf5.py,sha256=XoWefmwgnimVJfHCVUyPxEmecmIC2b_4PiHnSLYg41E,30453
299
+ ansible/modules/dnf5.py,sha256=uM_5OdV_kXCJ0PvZVehsm4Ir59NDOtbB7OugLNimlZ0,30572
300
300
  ansible/modules/dpkg_selections.py,sha256=lTWBhmVFrf6PsV4_BoR23wVTJOloCH1YNPcAn0m7DTY,2805
301
301
  ansible/modules/expect.py,sha256=O4emRoJ09i3OLmVX5j84WHkGKWg6bMytYpZlExOrSmc,9369
302
302
  ansible/modules/fail.py,sha256=95z8jFyVaizwwupSce04kj1wwnOmbM0ooUX7mXluoyU,1659
@@ -397,7 +397,7 @@ ansible/playbook/role/requirement.py,sha256=CNgLa0J6zZk2YQ_aeALnjQvehkkFXhrK8LQQ
397
397
  ansible/plugins/__init__.py,sha256=Duv86JIZPu6-ln-MPzBbq08Ex0s6OuK7nPzohm0cMPU,5803
398
398
  ansible/plugins/list.py,sha256=EsSx2WprH-0SsgAktUPBccNFD6VWFvz04d1hh089k08,8920
399
399
  ansible/plugins/loader.py,sha256=musEPf-GJK7lpHugJQyaMOaIP5ls3zU90Qn20DBjnQc,75153
400
- ansible/plugins/action/__init__.py,sha256=T6TG3qLXL-uD6aNHflD05RCiQEE7YRTzZ8WSBe5IUlk,68999
400
+ ansible/plugins/action/__init__.py,sha256=SwQ7kbw9Z_KvruDnejEhlAvILGnYOjNjxGjDKMJ1bfw,69013
401
401
  ansible/plugins/action/add_host.py,sha256=GtwF4uEDrjcFluIi7ql7AkatYOboJGIp4sH10cqPPHo,3579
402
402
  ansible/plugins/action/assemble.py,sha256=feMs3r2BAgQGQnpPmzJIGI7BSfOUl0eiyTVwln7TWrc,6529
403
403
  ansible/plugins/action/assert.py,sha256=mAPHyQ03Qb6nxIFuFiUHWGR56bTw0tA61fYX22_2OTI,5103
@@ -416,7 +416,7 @@ ansible/plugins/action/package.py,sha256=UWk7T-hG6GoqixgUzz1iDT16hUQ2-bM26IZ-w52
416
416
  ansible/plugins/action/pause.py,sha256=A_U8FhGeFdaOXUadEM-Mv42v9lwsjnxPOE7ExvEfl1s,5674
417
417
  ansible/plugins/action/raw.py,sha256=4kmANddcBwXFRhu8zIwBu392QE-p7WReO4DWD1YDnGU,1762
418
418
  ansible/plugins/action/reboot.py,sha256=EFTn8KtawFI4E38COh55_ygDe0vkpI_vMdHDNBKB5ao,22032
419
- ansible/plugins/action/script.py,sha256=zBmd8vGWiJpVO5Ffl_Gu0dWtlIOePOXpCm3n9P-A9jE,8482
419
+ ansible/plugins/action/script.py,sha256=-J1UN1EGdp_l18pXFAn5Oy_IzsmyMUE9hR8uyOqNcxs,9107
420
420
  ansible/plugins/action/service.py,sha256=1A-CTIQxIXHvmuz8Qv32rR0Vi827gAgxcd_hCGv_OOs,4563
421
421
  ansible/plugins/action/set_fact.py,sha256=4L_yud6DW3H3-sBnFKNdEb6Uhiy1IIJhuPe7yGqpADo,2798
422
422
  ansible/plugins/action/set_stats.py,sha256=lfW3u5zVLjwM48ZRLVbP-FhP36TmuWfe3V0mW_fl9a8,2819
@@ -449,7 +449,7 @@ ansible/plugins/connection/ssh.py,sha256=gyAJNb0sjkdZLoAQ1heEm_SjZR9ohz4bLsVgv2a
449
449
  ansible/plugins/connection/winrm.py,sha256=XLeUlCxhePUsDKXUrq_yqN1Ydu4Re8RsbZWTxdy8Muc,42188
450
450
  ansible/plugins/doc_fragments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
451
451
  ansible/plugins/doc_fragments/action_common_attributes.py,sha256=OaP2is2r9wm_f8gbLZhDDDwccg1joXMvJM72vbgcbIo,2442
452
- ansible/plugins/doc_fragments/action_core.py,sha256=32HMQCURkZBJPbeYLBfR0im9WvCuCASAfSVUDh3Q-tw,2855
452
+ ansible/plugins/doc_fragments/action_core.py,sha256=c4r1JEmNLdidtAVMGygRnIWcNMF_aPvRj8TPgXQq8vs,2855
453
453
  ansible/plugins/doc_fragments/backup.py,sha256=cVpVp1VIYG3Irz98qyOkkYttARfDyCMZ-fXGuH9ok5Q,507
454
454
  ansible/plugins/doc_fragments/connection_pipelining.py,sha256=qakFITWoDcWWS90fLZ7HbEglbyBrqgg89Cf5Un4k2aI,1182
455
455
  ansible/plugins/doc_fragments/constructed.py,sha256=jlt9ep6FId4O4GzedmjPKAT0vYwBdAW9Yl-g8h4vWZI,2973
@@ -687,6 +687,11 @@ ansible/vars/hostvars.py,sha256=o11xrzDVYn23renGbb3lx3R-nH9qOjLFju5IYJanDxg,5324
687
687
  ansible/vars/manager.py,sha256=JF2KTL4iYSbcdnFNjhQPktwH05YhWJhTWtjSlF0qg9E,31260
688
688
  ansible/vars/plugins.py,sha256=PocWZPMqFl1LoNgWlGFNxwg9nZnUzhQmlXO4g7bcP2A,4503
689
689
  ansible/vars/reserved.py,sha256=Tsc4m2UwVce3dOvSWrjT2wB3lpNJtUyNZn45zNhsW0I,2869
690
+ ansible_core-2.18.6.dist-info/licenses/COPYING,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
691
+ ansible_core-2.18.6.dist-info/licenses/licenses/Apache-License.txt,sha256=y16Ofl9KOYjhBjwULGDcLfdWBfTEZRXnduOspt-XbhQ,11325
692
+ ansible_core-2.18.6.dist-info/licenses/licenses/MIT-license.txt,sha256=jLXp2XurnyZKbye40g9tfmLGtVlxh3pPD4n8xNqX8xc,1023
693
+ ansible_core-2.18.6.dist-info/licenses/licenses/PSF-license.txt,sha256=g7BC_H1qyg8Q1o5F76Vrm8ChSWYI5-dyj-CdGlNKBUo,2484
694
+ ansible_core-2.18.6.dist-info/licenses/licenses/simplified_bsd.txt,sha256=8R5R7R7sOa0h1Fi6RNgFgHowHBfun-OVOMzJ4rKAk2w,1237
690
695
  ansible_test/__init__.py,sha256=20VPOj11c6Ut1Av9RaurgwJvFhMqkWG3vAvcCbecNKw,66
691
696
  ansible_test/_data/ansible.cfg,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
692
697
  ansible_test/_data/coveragerc,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -751,7 +756,7 @@ ansible_test/_internal/coverage_util.py,sha256=_SPR0sqkgPoGw2bzuRS5gr4XOyIU8MQ4a
751
756
  ansible_test/_internal/data.py,sha256=OFDpRa47yqBqQO1aSvTZVQQpScHvBHsr861586MQEUI,11184
752
757
  ansible_test/_internal/delegation.py,sha256=D8hluDQf_YN3DtVG_8HW0iumRBY3gjp_zP-rlc3VNY4,13418
753
758
  ansible_test/_internal/diff.py,sha256=qfzSL7BtoW7bLLgzF0-m--jthVDpUQSr9aBw1fCMIHk,7310
754
- ansible_test/_internal/docker_util.py,sha256=laK-q6qdKYBuOO5oVpgfBiD_XJzCpmgFC68YAYCiBHQ,38220
759
+ ansible_test/_internal/docker_util.py,sha256=L0inthRQn4f9bdK2IFjjCOVYSA4NCTaxWqs26QQcfLI,38321
755
760
  ansible_test/_internal/encoding.py,sha256=4GAcVhcswUJW77XSBTLRIP7ll6kT9J-yIBtVsFXiw2g,1379
756
761
  ansible_test/_internal/executor.py,sha256=KW5yI-f-giErQ077MTj707fTtFkf_Kr8IV_Nr36NNmc,2959
757
762
  ansible_test/_internal/git.py,sha256=njtciWq2DlzZ1DAkQi08HRRP-TgH0mgeGZsWcsJGctI,4366
@@ -980,13 +985,8 @@ ansible_test/config/cloud-config-vultr.ini.template,sha256=XLKHk3lg_8ReQMdWfZzhh
980
985
  ansible_test/config/config.yml,sha256=1zdGucnIl6nIecZA7ISIANvqXiHWqq6Dthsk_6MUwNc,2642
981
986
  ansible_test/config/inventory.networking.template,sha256=bFNSk8zNQOaZ_twaflrY0XZ9mLwUbRLuNT0BdIFwvn4,1335
982
987
  ansible_test/config/inventory.winrm.template,sha256=1QU8W-GFLnYEw8yY9bVIvUAVvJYPM3hyoijf6-M7T00,1098
983
- ansible_core-2.18.5.dist-info/Apache-License.txt,sha256=y16Ofl9KOYjhBjwULGDcLfdWBfTEZRXnduOspt-XbhQ,11325
984
- ansible_core-2.18.5.dist-info/COPYING,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
985
- ansible_core-2.18.5.dist-info/METADATA,sha256=tMQ1laR7B4rVpRXU5H3XJYPmisGgwhTzKbCsWc69ulE,7668
986
- ansible_core-2.18.5.dist-info/MIT-license.txt,sha256=jLXp2XurnyZKbye40g9tfmLGtVlxh3pPD4n8xNqX8xc,1023
987
- ansible_core-2.18.5.dist-info/PSF-license.txt,sha256=g7BC_H1qyg8Q1o5F76Vrm8ChSWYI5-dyj-CdGlNKBUo,2484
988
- ansible_core-2.18.5.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
989
- ansible_core-2.18.5.dist-info/entry_points.txt,sha256=S9yJij5Im6FgRQxzkqSCnPQokC7PcWrDW_NSygZczJU,451
990
- ansible_core-2.18.5.dist-info/simplified_bsd.txt,sha256=8R5R7R7sOa0h1Fi6RNgFgHowHBfun-OVOMzJ4rKAk2w,1237
991
- ansible_core-2.18.5.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
992
- ansible_core-2.18.5.dist-info/RECORD,,
988
+ ansible_core-2.18.6.dist-info/METADATA,sha256=2nF3LE3VLSYch7xE1nVJoO-YOTInMMY218tJoHU6Oz0,7690
989
+ ansible_core-2.18.6.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
990
+ ansible_core-2.18.6.dist-info/entry_points.txt,sha256=S9yJij5Im6FgRQxzkqSCnPQokC7PcWrDW_NSygZczJU,451
991
+ ansible_core-2.18.6.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
992
+ ansible_core-2.18.6.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (76.0.0)
2
+ Generator: setuptools (80.7.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -721,9 +721,10 @@ def docker_rm(args: CommonConfig, container_id: str) -> None:
721
721
  """Remove the specified container."""
722
722
  try:
723
723
  # Stop the container with SIGKILL immediately, then remove the container.
724
- # Podman supports the `--time` option on `rm`, but only since version 4.0.0.
725
- # Docker does not support the `--time` option on `rm`.
726
- docker_command(args, ['stop', '--time', '0', container_id], capture=True)
724
+ # Docker supports `--timeout` for stop. The `--time` option was deprecated in v28.0.
725
+ # Podman supports `--time` for stop. The `--timeout` option was deprecated in 1.9.0.
726
+ # Both Docker and Podman support the `-t` option for stop.
727
+ docker_command(args, ['stop', '-t', '0', container_id], capture=True)
727
728
  docker_command(args, ['rm', container_id], capture=True)
728
729
  except SubprocessError as ex:
729
730
  # Both Podman and Docker report an error if the container does not exist.