ansible-core 2.17.1__py3-none-any.whl → 2.17.2__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.

ansible/config/base.yml CHANGED
@@ -1733,7 +1733,7 @@ INJECT_FACTS_AS_VARS:
1733
1733
  default: True
1734
1734
  description:
1735
1735
  - Facts are available inside the `ansible_facts` variable, this setting also pushes them as their own vars in the main namespace.
1736
- - Unlike inside the `ansible_facts` dictionary, these will have an `ansible_` prefix.
1736
+ - Unlike inside the `ansible_facts` dictionary where the prefix `ansible_` is removed from fact names, these will have the exact names that are returned by the module.
1737
1737
  env: [{name: ANSIBLE_INJECT_FACT_VARS}]
1738
1738
  ini:
1739
1739
  - {key: inject_facts_as_vars, section: defaults}
@@ -17,6 +17,6 @@
17
17
 
18
18
  from __future__ import annotations
19
19
 
20
- __version__ = '2.17.1'
20
+ __version__ = '2.17.2'
21
21
  __author__ = 'Ansible, Inc.'
22
22
  __codename__ = "Gallows Pole"
ansible/modules/dnf.py CHANGED
@@ -19,9 +19,15 @@ description:
19
19
  options:
20
20
  use_backend:
21
21
  description:
22
- - By default, this module will select the backend based on the C(ansible_pkg_mgr) fact.
22
+ - Backend module to use.
23
23
  default: "auto"
24
- choices: [ auto, yum, yum4, dnf4, dnf5 ]
24
+ choices:
25
+ auto: Automatically select the backend based on the C(ansible_facts.pkg_mgr) fact.
26
+ yum: Alias for V(auto) (see Notes)
27
+ dnf: M(ansible.builtin.dnf)
28
+ yum4: Alias for V(dnf)
29
+ dnf4: Alias for V(dnf)
30
+ dnf5: M(ansible.builtin.dnf5)
25
31
  type: str
26
32
  version_added: 2.15
27
33
  name:
@@ -287,6 +293,11 @@ notes:
287
293
  upstream dnf's API doesn't properly mark groups as installed, therefore upon
288
294
  removal the module is unable to detect that the group is installed
289
295
  (https://bugzilla.redhat.com/show_bug.cgi?id=1620324)
296
+ - While O(use_backend=yum) and the ability to call the action plugin as
297
+ M(ansible.builtin.yum) are provided for syntax compatibility, the YUM
298
+ backend was removed in ansible-core 2.17 because the required libraries are
299
+ not available for any supported version of Python. If you rely on this
300
+ functionality, use an older version of Ansible.
290
301
  requirements:
291
302
  - "python >= 2.6"
292
303
  - python-dnf
@@ -723,9 +734,14 @@ class DnfModule(YumDnf):
723
734
  self.module.exit_json(msg="", results=results)
724
735
 
725
736
  def _is_installed(self, pkg):
726
- return bool(
727
- dnf.subject.Subject(pkg).get_best_query(sack=self.base.sack).installed().run()
728
- )
737
+ installed_query = dnf.subject.Subject(pkg).get_best_query(sack=self.base.sack).installed()
738
+ if dnf.util.is_glob_pattern(pkg):
739
+ available_query = dnf.subject.Subject(pkg).get_best_query(sack=self.base.sack).available()
740
+ return not (
741
+ {p.name for p in available_query} - {p.name for p in installed_query}
742
+ )
743
+ else:
744
+ return bool(installed_query)
729
745
 
730
746
  def _is_newer_version_installed(self, pkg_name):
731
747
  try:
@@ -1336,7 +1352,7 @@ def main():
1336
1352
  # list=repos
1337
1353
  # list=pkgspec
1338
1354
 
1339
- yumdnf_argument_spec['argument_spec']['use_backend'] = dict(default='auto', choices=['auto', 'yum', 'yum4', 'dnf4', 'dnf5'])
1355
+ yumdnf_argument_spec['argument_spec']['use_backend'] = dict(default='auto', choices=['auto', 'dnf', 'yum', 'yum4', 'dnf4', 'dnf5'])
1340
1356
 
1341
1357
  module = AnsibleModule(
1342
1358
  **yumdnf_argument_spec
ansible/modules/dnf5.py CHANGED
@@ -357,10 +357,23 @@ libdnf5 = None
357
357
 
358
358
  def is_installed(base, spec):
359
359
  settings = libdnf5.base.ResolveSpecSettings()
360
- query = libdnf5.rpm.PackageQuery(base)
361
- query.filter_installed()
362
- match, nevra = query.resolve_pkg_spec(spec, settings, True)
363
- return match
360
+ installed_query = libdnf5.rpm.PackageQuery(base)
361
+ installed_query.filter_installed()
362
+ match, nevra = installed_query.resolve_pkg_spec(spec, settings, True)
363
+
364
+ # FIXME use `is_glob_pattern` function when available:
365
+ # https://github.com/rpm-software-management/dnf5/issues/1563
366
+ glob_patterns = set("*[?")
367
+ if any(set(char) & glob_patterns for char in spec):
368
+ available_query = libdnf5.rpm.PackageQuery(base)
369
+ available_query.filter_available()
370
+ available_query.resolve_pkg_spec(spec, settings, True)
371
+
372
+ return not (
373
+ {p.get_name() for p in available_query} - {p.get_name() for p in installed_query}
374
+ )
375
+ else:
376
+ return match
364
377
 
365
378
 
366
379
  def is_newer_version_installed(base, spec):
@@ -440,7 +440,7 @@ class APK(CLIMgr):
440
440
 
441
441
  def list_installed(self):
442
442
  rc, out, err = module.run_command([self._cli, 'info', '-v'])
443
- if rc != 0 or err:
443
+ if rc != 0:
444
444
  raise Exception("Unable to list packages rc=%s : %s" % (rc, err))
445
445
  return out.splitlines()
446
446
 
@@ -140,7 +140,7 @@ EXAMPLES = r'''
140
140
  ansible.builtin.replace:
141
141
  path: /etc/hosts
142
142
  after: '(?m)^<VirtualHost [*]>'
143
- before: '(?m)^</VirtualHost>'
143
+ before: '</VirtualHost>'
144
144
  regexp: '^(.+)$'
145
145
  replace: '# \1'
146
146
 
@@ -211,7 +211,11 @@ class ShellBase(AnsiblePlugin):
211
211
  arg_path,
212
212
  ]
213
213
 
214
- return f'{env_string}%s' % shlex.join(cps for cp in cmd_parts if cp and (cps := cp.strip()))
214
+ cleaned_up_cmd = shlex.join(
215
+ stripped_cmd_part for raw_cmd_part in cmd_parts
216
+ if raw_cmd_part and (stripped_cmd_part := raw_cmd_part.strip())
217
+ )
218
+ return ''.join((env_string, cleaned_up_cmd))
215
219
 
216
220
  def append_command(self, cmd, cmd_to_append):
217
221
  """Append an additional command if supported by the shell"""
@@ -211,30 +211,21 @@ class StrategyModule(StrategyBase):
211
211
  skip_rest = True
212
212
  break
213
213
 
214
- run_once = templar.template(task.run_once) or action and getattr(action, 'BYPASS_HOST_LOOP', False)
214
+ run_once = action and getattr(action, 'BYPASS_HOST_LOOP', False) or templar.template(task.run_once)
215
+ try:
216
+ task.name = to_text(templar.template(task.name, fail_on_undefined=False), nonstring='empty')
217
+ except Exception as e:
218
+ display.debug(f"Failed to templalte task name ({task.name}), ignoring error and continuing: {e}")
215
219
 
216
220
  if (task.any_errors_fatal or run_once) and not task.ignore_errors:
217
221
  any_errors_fatal = True
218
222
 
219
223
  if not callback_sent:
220
- display.debug("sending task start callback, copying the task so we can template it temporarily")
221
- saved_name = task.name
222
- display.debug("done copying, going to template now")
223
- try:
224
- task.name = to_text(templar.template(task.name, fail_on_undefined=False), nonstring='empty')
225
- display.debug("done templating")
226
- except Exception:
227
- # just ignore any errors during task name templating,
228
- # we don't care if it just shows the raw name
229
- display.debug("templating failed for some reason")
230
- display.debug("here goes the callback...")
231
224
  if isinstance(task, Handler):
232
225
  self._tqm.send_callback('v2_playbook_on_handler_task_start', task)
233
226
  else:
234
227
  self._tqm.send_callback('v2_playbook_on_task_start', task, is_conditional=False)
235
- task.name = saved_name
236
228
  callback_sent = True
237
- display.debug("sending task start callback")
238
229
 
239
230
  self._blocked_hosts[host.get_name()] = True
240
231
  self._queue_task(host, task, task_vars, play_context)
ansible/release.py CHANGED
@@ -17,6 +17,6 @@
17
17
 
18
18
  from __future__ import annotations
19
19
 
20
- __version__ = '2.17.1'
20
+ __version__ = '2.17.2'
21
21
  __author__ = 'Ansible, Inc.'
22
22
  __codename__ = "Gallows Pole"
ansible/vars/hostvars.py CHANGED
@@ -18,6 +18,7 @@
18
18
  from __future__ import annotations
19
19
 
20
20
  from collections.abc import Mapping
21
+ from functools import cached_property
21
22
 
22
23
  from ansible import constants as C
23
24
  from ansible.template import Templar, AnsibleUndefined
@@ -114,9 +115,12 @@ class HostVarsVars(Mapping):
114
115
  def __init__(self, variables, loader):
115
116
  self._vars = variables
116
117
  self._loader = loader
118
+
119
+ @cached_property
120
+ def _templar(self):
117
121
  # NOTE: this only has access to the host's own vars,
118
122
  # so templates that depend on vars in other scopes will not work.
119
- self._templar = Templar(variables=self._vars, loader=self._loader)
123
+ return Templar(variables=self._vars, loader=self._loader)
120
124
 
121
125
  def __getitem__(self, var):
122
126
  return self._templar.template(self._vars[var], fail_on_undefined=False, static_vars=C.INTERNAL_STATIC_VARS)
@@ -132,3 +136,10 @@ class HostVarsVars(Mapping):
132
136
 
133
137
  def __repr__(self):
134
138
  return repr(self._templar.template(self._vars, fail_on_undefined=False, static_vars=C.INTERNAL_STATIC_VARS))
139
+
140
+ def __getstate__(self):
141
+ ''' override serialization here to avoid
142
+ pickle issues with templar and Jinja native'''
143
+ state = self.__dict__.copy()
144
+ state.pop('_templar', None)
145
+ return state
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ansible-core
3
- Version: 2.17.1
3
+ Version: 2.17.2
4
4
  Summary: Radically simple IT automation
5
5
  Home-page: https://ansible.com/
6
6
  Author: Ansible, Inc.
@@ -3,7 +3,7 @@ ansible/__main__.py,sha256=EnLcULXNtSXkuJ8igEHPPLBTZKAwqXv4PvMEhvzp2Oo,1430
3
3
  ansible/constants.py,sha256=vRwEcoynqtuKDPKsxKUY94XzrTSV3J0y1slb907DioU,9140
4
4
  ansible/context.py,sha256=oKYyfjfWpy8vDeProtqfnqSmuij_t75_5e5t0U_hQ1g,1933
5
5
  ansible/keyword_desc.yml,sha256=vE9joFgSeHR4Djl7Bd-HHVCrGByRCrTUmWYZ8LKPZKk,7412
6
- ansible/release.py,sha256=VTnyAY54l_uZVz7YodOpT6Qf0RDKEaJfDOaV0FLB2ow,832
6
+ ansible/release.py,sha256=c6eRQM8-KMzuJc-zH_VBO4Fc0FjjpEblKFFhi0wXnu0,832
7
7
  ansible/_vendor/__init__.py,sha256=2QBeBwT7uG7M3Aw-pIdCpt6XPtHMCpbEKfACYKA7xIg,2033
8
8
  ansible/cli/__init__.py,sha256=fzgR82NIGBH3GujIMehhAaP4KYszn4uztuCaFYRUpGk,28718
9
9
  ansible/cli/adhoc.py,sha256=quJ9WzRzf3dz_dtDGmahNMffqyNVy1jzQCMo21YL5Qg,8194
@@ -26,7 +26,7 @@ ansible/compat/importlib_resources.py,sha256=oCjsu8foADOkMNwRuWiRCjQxO8zEOc-Olc2
26
26
  ansible/compat/selectors.py,sha256=pbI2QH2fT2WAOtmEBbd6Cp2yXyCBbb5TLR7iitqnAkU,1002
27
27
  ansible/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
28
  ansible/config/ansible_builtin_runtime.yml,sha256=nwL_-rqEEmpuSHxZH70pJBiEosDKOPkYIboH3_7LVEY,376076
29
- ansible/config/base.yml,sha256=aovj2JgkotyG1UKFFISOUJaZ2UBF2eRRc1pzJRQ6Z5s,85646
29
+ ansible/config/base.yml,sha256=0NNzzi6KIbeoB2xIjISXCwh4UJr7SbPHSbDhfpg9gdM,85728
30
30
  ansible/config/manager.py,sha256=MvNZnqHDtz9uda5_ryNvpCv2M3frAl81bvZvgS1lGko,25730
31
31
  ansible/errors/__init__.py,sha256=pJ0Cd87ET5SNut851lrHH8EAoKEal2DdUJYl8yjRd8E,14739
32
32
  ansible/errors/yaml_strings.py,sha256=fKfgD3rC017dyMackTpu-LkvbsdnsfBAKCxMH-fDtIg,3858
@@ -140,7 +140,7 @@ ansible/inventory/host.py,sha256=PDb5OTplhfpUIvdHiP2BckUOB1gUl302N-3sW0_sTyg,503
140
140
  ansible/inventory/manager.py,sha256=45mHgZTAkQ3IjAtrgsNzJXvynC-HIEor-JJE-V3xXN4,29454
141
141
  ansible/module_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
142
  ansible/module_utils/_text.py,sha256=VkWgAnSNVCbTQqZgllUObBFsH3uM4EUW5srl1UR9t1g,544
143
- ansible/module_utils/ansible_release.py,sha256=VTnyAY54l_uZVz7YodOpT6Qf0RDKEaJfDOaV0FLB2ow,832
143
+ ansible/module_utils/ansible_release.py,sha256=c6eRQM8-KMzuJc-zH_VBO4Fc0FjjpEblKFFhi0wXnu0,832
144
144
  ansible/module_utils/api.py,sha256=DWIuLW5gDWuyyDHLLgGnub42Qa8kagDdkf1xDeLAFl4,5784
145
145
  ansible/module_utils/basic.py,sha256=1BHf9_6SsFlfeTcYlOqOzbnITG3x8galaBcPm8ec6nE,85703
146
146
  ansible/module_utils/connection.py,sha256=q_BdUaST6E44ltHsWPOFOheXK9vKmzaJvP-eQOrOrmE,8394
@@ -289,8 +289,8 @@ ansible/modules/cron.py,sha256=beuuoj80saY3B7Gtj7wDYLdFuGnxc94iBczakBZhsKY,26198
289
289
  ansible/modules/deb822_repository.py,sha256=CWgVVSuq45dkHrozG2Yk229FdIdGfaFSmBFBQ3ymANs,15741
290
290
  ansible/modules/debconf.py,sha256=6zKDjdehURYxMe9YfUDTQn7YQlhS4bm6STGbUm1T17E,9205
291
291
  ansible/modules/debug.py,sha256=jqFvwGzDkB5NlcxR8vXhHjaakv9Ib_GjGdT2GbKhMhE,2907
292
- ansible/modules/dnf.py,sha256=7_5SY2qJ5hoBgtIKWecYanV_sH2J-2LoJQWxMf9uLBI,55256
293
- ansible/modules/dnf5.py,sha256=TJmBLB1ai6kIiZSy_MiaRNkrRBKcbNm6oYMohLB8Q4Q,26243
292
+ ansible/modules/dnf.py,sha256=uuOAjuUen70MR2j3CwuVzy-NWJnGHoPukHyuo3Dtqvs,56095
293
+ ansible/modules/dnf5.py,sha256=6Uc9etp1jz1Tm5dVNkJXfRHyICODi-nsc3pgp1tYCtk,26789
294
294
  ansible/modules/dpkg_selections.py,sha256=rBH3A2lr6DB6qGlF3fF2716QU4jMSqC6EjikYffTtOI,2782
295
295
  ansible/modules/expect.py,sha256=J7IsU3OvBOeK8YtSWKkQKTfgmnWs2OSP_ntyj3UjmvM,9367
296
296
  ansible/modules/fail.py,sha256=95z8jFyVaizwwupSce04kj1wwnOmbM0ooUX7mXluoyU,1659
@@ -315,13 +315,13 @@ ansible/modules/known_hosts.py,sha256=wu4Q28UOO5SKTmF-hinMFo9lfmU519OAMy8Nyr4l1U
315
315
  ansible/modules/lineinfile.py,sha256=wTOmmuBCFxCoB088ncakGT-F0eeZLiTa73otBXl5qkg,23790
316
316
  ansible/modules/meta.py,sha256=bh11ZQuUF34M39l2lplOXsPXD9apN2GQN4OLbOZO9Z8,6007
317
317
  ansible/modules/package.py,sha256=oJRsLK4U9oxsW4WNALMeGmPhWpZW9NsMgswwz3ad8xM,3748
318
- ansible/modules/package_facts.py,sha256=Am9cVirc79uhN3MkB8FpJHT3uGoXh2huz0-ZOBlg3E8,18099
318
+ ansible/modules/package_facts.py,sha256=bmaJEj6s5EX9lfOFON6lBBz1r-a7fDUJVkMC5bGX4CY,18092
319
319
  ansible/modules/pause.py,sha256=zJWseXuVihyRQ_ObPpvnIoKxpTyN5FbuPz0U9c9v1V8,3770
320
320
  ansible/modules/ping.py,sha256=-xSbq3XM-bvEipx76NzWXIK9aHEb8LUq0HpLyLutNuY,2325
321
321
  ansible/modules/pip.py,sha256=NiK5D7IcOQAOzvBBRA37qJT_pXKRPvhhNjMIjCk3XsY,32756
322
322
  ansible/modules/raw.py,sha256=3-CgRdKJQ94H3b0GWa296RfYaMjbL_LYwuujrcSinYQ,3741
323
323
  ansible/modules/reboot.py,sha256=Vw9Dul5ZWUAWVLpkH89GCum9HVcSN5IsD6FWtOLIvSI,4808
324
- ansible/modules/replace.py,sha256=xh4K7GVw6vUDyoZIftmfKpKE-1ZblFusHt6IYIq_Cxs,11932
324
+ ansible/modules/replace.py,sha256=-_kTPxIMP4tk4s5pa45g8v5WqdFSU3TpUtjzzuhIgy4,11927
325
325
  ansible/modules/rpm_key.py,sha256=cY8W1uL_xVL3XSqxK3Xkyd2jqvuASn0uKhuN590Y-tg,8657
326
326
  ansible/modules/script.py,sha256=bcn4C3BuCvwEE1Ebc7IA5NGOjEcmkiAkx8jBDjQyOAw,4410
327
327
  ansible/modules/service.py,sha256=lZ36JfyiqTbTpyq8N_U63MMU3LajA7HxDGGSrCT3mKE,62319
@@ -572,7 +572,7 @@ ansible/plugins/lookup/url.py,sha256=8JFMlk9diqsboHr1ArYGudsapPBP995maJdzHlair74
572
572
  ansible/plugins/lookup/varnames.py,sha256=h5ZAHOx8MlEvv466AirXCaGZ5DeH95evGb2he8_aKqA,2330
573
573
  ansible/plugins/lookup/vars.py,sha256=eXVZdwumdcp3ajaDX7JyIYeGvQ6L-HxHGfnob9Pnkg8,3424
574
574
  ansible/plugins/netconf/__init__.py,sha256=50w1g2rhUo6L-xtiMT20jbR8WyOnhwNSRd2IRNSjNX4,17094
575
- ansible/plugins/shell/__init__.py,sha256=i3ICKMXfrxslShlueu_J5IUCjJudVG0wROfCW5etgMo,9151
575
+ ansible/plugins/shell/__init__.py,sha256=rEwatHZ46LJuxMFANb6e__CTLkFWX6B0878eBaCXwqM,9286
576
576
  ansible/plugins/shell/cmd.py,sha256=kPCSKrJJFH5XTkmteEI3P1Da6WfPSXxDnV39VFpgD-A,2170
577
577
  ansible/plugins/shell/powershell.py,sha256=4PcJG54USxhUDtWXhHUkVt8ixUtXEzg8J0qQwhlfSOA,11340
578
578
  ansible/plugins/shell/sh.py,sha256=wblaY2EGdA2O00gNuTVZVgVV08RH0e_g4V_AkE50Iws,3884
@@ -580,7 +580,7 @@ ansible/plugins/strategy/__init__.py,sha256=pjT5mEI3a7N3SgIBXJcjQgpGC527rzddMuBy
580
580
  ansible/plugins/strategy/debug.py,sha256=yMmfT-lQHfR2y9bQcqrSPzqHuWZMo7V9y4ZWOXoboRE,1205
581
581
  ansible/plugins/strategy/free.py,sha256=b7ke-4s9IcHLJWmfP8gYzc_z5n2kI-v3D0YVQBtI4x8,16483
582
582
  ansible/plugins/strategy/host_pinned.py,sha256=GrDDQCtohmmJn3t9VOPb0lUZK_nUWy0s__z5Tq_rHfI,1875
583
- ansible/plugins/strategy/linear.py,sha256=Z71dAnFGSv4_fj07cVPN__HTbyXoSJ3XYzOF-W-EPkM,20096
583
+ ansible/plugins/strategy/linear.py,sha256=MNsnA1lFOAt9ZCw8Vhvs_lyltPOhM_39DvKnKSEo-_0,19451
584
584
  ansible/plugins/terminal/__init__.py,sha256=EqeJpMokRzuUMO66yYErPSyninjqNX0_5r55CEkTc4o,4420
585
585
  ansible/plugins/test/__init__.py,sha256=m-XTUgWU-qSLJoZvHN3A85igElMjhaBJrzCTDrU7zhs,418
586
586
  ansible/plugins/test/abs.yml,sha256=lZA0XP1oBNg___Du6SqNOkDeQC9xIcZpROYV5XJG9bg,764
@@ -674,11 +674,11 @@ ansible/utils/collection_loader/_collection_meta.py,sha256=L8NWlDs5KBMASIKRGoFTN
674
674
  ansible/vars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
675
675
  ansible/vars/clean.py,sha256=X2WMksJMWITQ9FsM-Fb_YxT_hAGDqJ3urSTJzYBEdAk,5999
676
676
  ansible/vars/fact_cache.py,sha256=M57vMhkQ2DrzvNaZkfaCmKQJUqP1Rn_A31_X-5YBfzQ,1903
677
- ansible/vars/hostvars.py,sha256=rzxFov5bLpRtCSAFJswuRSCBx0DMNPnMJwkFKepvMuY,4764
677
+ ansible/vars/hostvars.py,sha256=ggUQ5luCajjX7sEvFCHpIuB_stWPRb089cZ3I1v1Vmo,5070
678
678
  ansible/vars/manager.py,sha256=ujVDQXWvy8BihIxGzBPX6fMeUl2AlclkwadKMo6VjSk,38583
679
679
  ansible/vars/plugins.py,sha256=RsRU9fiLcJwPIAyTYnmVZglsiEOMCIgQskflavE-XnE,4546
680
680
  ansible/vars/reserved.py,sha256=kZiQMPvaFin35006gLwDpX16w-9xlu6EaL4LSTKP40U,2531
681
- ansible_core-2.17.1.data/scripts/ansible-test,sha256=dyY2HtRZotRQO3b89HGXY_KnJgBvgsm4eLIe4B2LUoA,1637
681
+ ansible_core-2.17.2.data/scripts/ansible-test,sha256=dyY2HtRZotRQO3b89HGXY_KnJgBvgsm4eLIe4B2LUoA,1637
682
682
  ansible_test/__init__.py,sha256=20VPOj11c6Ut1Av9RaurgwJvFhMqkWG3vAvcCbecNKw,66
683
683
  ansible_test/_data/ansible.cfg,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
684
684
  ansible_test/_data/coveragerc,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -979,9 +979,9 @@ ansible_test/config/cloud-config-vultr.ini.template,sha256=XLKHk3lg_8ReQMdWfZzhh
979
979
  ansible_test/config/config.yml,sha256=wb3knoBmZewG3GWOMnRHoVPQWW4vPixKLPMNS6vJmTc,2620
980
980
  ansible_test/config/inventory.networking.template,sha256=bFNSk8zNQOaZ_twaflrY0XZ9mLwUbRLuNT0BdIFwvn4,1335
981
981
  ansible_test/config/inventory.winrm.template,sha256=1QU8W-GFLnYEw8yY9bVIvUAVvJYPM3hyoijf6-M7T00,1098
982
- ansible_core-2.17.1.dist-info/COPYING,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
983
- ansible_core-2.17.1.dist-info/METADATA,sha256=eKCnIDto9NA6GHB1MkMmK45QWZ4X-gJhmhpN24gzO10,6945
984
- ansible_core-2.17.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
985
- ansible_core-2.17.1.dist-info/entry_points.txt,sha256=0mpmsrIhODChxKl3eS-NcVQCaMetBn8KdPLtVxQgR64,453
986
- ansible_core-2.17.1.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
987
- ansible_core-2.17.1.dist-info/RECORD,,
982
+ ansible_core-2.17.2.dist-info/COPYING,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
983
+ ansible_core-2.17.2.dist-info/METADATA,sha256=151oGpQ6YDAxvxxVhxAk3x_ZgaWdRd09XP9VT-fweVY,6945
984
+ ansible_core-2.17.2.dist-info/WHEEL,sha256=Z4pYXqR_rTB7OWNDYFOm1qRk0RX6GFP2o8LgvP453Hk,91
985
+ ansible_core-2.17.2.dist-info/entry_points.txt,sha256=0mpmsrIhODChxKl3eS-NcVQCaMetBn8KdPLtVxQgR64,453
986
+ ansible_core-2.17.2.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
987
+ ansible_core-2.17.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (70.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5