ansible-core 2.19.0rc2__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 (46) 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 +7 -3
  8. ansible/executor/task_executor.py +4 -1
  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/lookup/template.py +6 -1
  25. ansible/release.py +1 -1
  26. ansible/utils/encrypt.py +2 -0
  27. {ansible_core-2.19.0rc2.dist-info → ansible_core-2.19.1.dist-info}/METADATA +1 -1
  28. {ansible_core-2.19.0rc2.dist-info → ansible_core-2.19.1.dist-info}/RECORD +46 -45
  29. ansible_test/_internal/commands/integration/coverage.py +2 -2
  30. ansible_test/_internal/commands/shell/__init__.py +67 -28
  31. ansible_test/_internal/coverage_util.py +28 -25
  32. ansible_test/_internal/debugging.py +337 -49
  33. ansible_test/_internal/host_profiles.py +43 -43
  34. ansible_test/_internal/metadata.py +7 -42
  35. ansible_test/_internal/python_requirements.py +2 -2
  36. ansible_test/_util/controller/sanity/pylint/config/ansible-test.cfg +1 -0
  37. ansible_test/_util/target/setup/bootstrap.sh +37 -16
  38. {ansible_core-2.19.0rc2.dist-info → ansible_core-2.19.1.dist-info}/WHEEL +0 -0
  39. {ansible_core-2.19.0rc2.dist-info → ansible_core-2.19.1.dist-info}/entry_points.txt +0 -0
  40. {ansible_core-2.19.0rc2.dist-info → ansible_core-2.19.1.dist-info}/licenses/COPYING +0 -0
  41. {ansible_core-2.19.0rc2.dist-info → ansible_core-2.19.1.dist-info}/licenses/licenses/Apache-License.txt +0 -0
  42. {ansible_core-2.19.0rc2.dist-info → ansible_core-2.19.1.dist-info}/licenses/licenses/BSD-3-Clause.txt +0 -0
  43. {ansible_core-2.19.0rc2.dist-info → ansible_core-2.19.1.dist-info}/licenses/licenses/MIT-license.txt +0 -0
  44. {ansible_core-2.19.0rc2.dist-info → ansible_core-2.19.1.dist-info}/licenses/licenses/PSF-license.txt +0 -0
  45. {ansible_core-2.19.0rc2.dist-info → ansible_core-2.19.1.dist-info}/licenses/licenses/simplified_bsd.txt +0 -0
  46. {ansible_core-2.19.0rc2.dist-info → ansible_core-2.19.1.dist-info}/top_level.txt +0 -0
ansible/modules/dnf5.py CHANGED
@@ -178,6 +178,8 @@ options:
178
178
  packages to install (because dependencies between the downgraded
179
179
  package and others can cause changes to the packages which were
180
180
  in the earlier transaction).
181
+ - Since this feature is not provided by C(dnf5) itself but by M(ansible.builtin.dnf5) module,
182
+ using this in combination with wildcard characters in O(name) may result in an unexpected results.
181
183
  type: bool
182
184
  default: "no"
183
185
  install_repoquery:
@@ -368,7 +370,7 @@ libdnf5 = None
368
370
  LIBDNF5_ERRORS = RuntimeError
369
371
 
370
372
 
371
- def is_installed(base, spec):
373
+ def get_resolve_spec_settings():
372
374
  settings = libdnf5.base.ResolveSpecSettings()
373
375
  try:
374
376
  settings.set_group_with_name(True)
@@ -394,47 +396,34 @@ def is_installed(base, spec):
394
396
  settings.group_with_name = True
395
397
  settings.with_binaries = False
396
398
  settings.with_provides = False
399
+ return settings
400
+
401
+
402
+ def is_installed(base, spec):
403
+ settings = get_resolve_spec_settings()
397
404
 
398
405
  installed_query = libdnf5.rpm.PackageQuery(base)
399
406
  installed_query.filter_installed()
400
407
  match, nevra = installed_query.resolve_pkg_spec(spec, settings, True)
401
-
402
- # FIXME use `is_glob_pattern` function when available:
403
- # https://github.com/rpm-software-management/dnf5/issues/1563
404
- glob_patterns = set("*[?")
405
- if any(set(char) & glob_patterns for char in spec):
406
- available_query = libdnf5.rpm.PackageQuery(base)
407
- available_query.filter_available()
408
- available_query.resolve_pkg_spec(spec, settings, True)
409
-
410
- return not (
411
- {p.get_name() for p in available_query} - {p.get_name() for p in installed_query}
412
- )
413
- else:
414
- return match
408
+ return match
415
409
 
416
410
 
417
411
  def is_newer_version_installed(base, spec):
418
- # FIXME investigate whether this function can be replaced by dnf5's allow_downgrade option
412
+ # expects a versioned package spec
419
413
  if "/" in spec:
420
414
  spec = spec.split("/")[-1]
421
415
  if spec.endswith(".rpm"):
422
416
  spec = spec[:-4]
423
417
 
424
- try:
425
- spec_nevra = next(iter(libdnf5.rpm.Nevra.parse(spec)))
426
- except LIBDNF5_ERRORS:
427
- return False
428
- except StopIteration:
429
- return False
430
-
431
- spec_version = spec_nevra.get_version()
432
- if not spec_version:
418
+ settings = get_resolve_spec_settings()
419
+ match, spec_nevra = libdnf5.rpm.PackageQuery(base).resolve_pkg_spec(spec, settings, True)
420
+ if not match or spec_nevra.has_just_name():
433
421
  return False
422
+ spec_name = spec_nevra.get_name()
434
423
 
435
424
  installed = libdnf5.rpm.PackageQuery(base)
436
425
  installed.filter_installed()
437
- installed.filter_name([spec_nevra.get_name()])
426
+ installed.filter_name([spec_name])
438
427
  installed.filter_latest_evr()
439
428
  try:
440
429
  installed_package = list(installed)[-1]
@@ -442,8 +431,8 @@ def is_newer_version_installed(base, spec):
442
431
  return False
443
432
 
444
433
  target = libdnf5.rpm.PackageQuery(base)
445
- target.filter_name([spec_nevra.get_name()])
446
- target.filter_version([spec_version])
434
+ target.filter_name([spec_name])
435
+ target.filter_version([spec_nevra.get_version()])
447
436
  spec_release = spec_nevra.get_release()
448
437
  if spec_release:
449
438
  target.filter_release([spec_release])
@@ -725,8 +714,26 @@ class Dnf5Module(YumDnf):
725
714
  goal.add_rpm_upgrade(settings)
726
715
  elif self.state in {"installed", "present", "latest"}:
727
716
  upgrade = self.state == "latest"
717
+ # FIXME use `is_glob_pattern` function when available:
718
+ # https://github.com/rpm-software-management/dnf5/issues/1563
719
+ glob_patterns = set("*[?")
728
720
  for spec in self.names:
729
- if is_newer_version_installed(base, spec):
721
+ if any(set(char) & glob_patterns for char in spec):
722
+ # Special case for package specs that contain glob characters.
723
+ # For these we skip `is_installed` and `is_newer_version_installed` tests that allow for the
724
+ # allow_downgrade feature and pass the package specs to dnf.
725
+ # Since allow_downgrade is not available in dnf and while it is relatively easy to implement it for
726
+ # package specs that evaluate to a single package, trying to mimic what would the dnf machinery do
727
+ # for glob package specs and then filtering those for allow_downgrade appears to always
728
+ # result in naive/inferior solution.
729
+ # TODO reasearch how feasible it is to implement the above
730
+ if upgrade:
731
+ # for upgrade we pass the spec to both upgrade and install, to satisfy both available and installed
732
+ # packages evaluated from the glob spec
733
+ goal.add_upgrade(spec, settings)
734
+ if not self.update_only:
735
+ goal.add_install(spec, settings)
736
+ elif is_newer_version_installed(base, spec):
730
737
  if self.allow_downgrade:
731
738
  goal.add_install(spec, settings)
732
739
  elif is_installed(base, spec):
ansible/modules/meta.py CHANGED
@@ -33,6 +33,7 @@ options:
33
33
  - V(clear_facts) (added in Ansible 2.1) causes the gathered facts for the hosts specified in the play's list of hosts to be cleared,
34
34
  including the fact cache.
35
35
  - V(clear_host_errors) (added in Ansible 2.1) clears the failed state (if any) from hosts specified in the play's list of hosts.
36
+ This will make them available for targetting in subsequent plays, but not continue execution in the current play.
36
37
  - V(end_play) (added in Ansible 2.2) causes the play to end without failing the host(s). Note that this affects all hosts.
37
38
  - V(reset_connection) (added in Ansible 2.3) interrupts a persistent connection (i.e. ssh + control persist)
38
39
  - V(end_host) (added in Ansible 2.8) is a per-host variation of V(end_play). Causes the play to end for the current host without failing it.
@@ -108,7 +109,7 @@ EXAMPLES = r"""
108
109
  - name: Clear gathered facts from all currently targeted hosts
109
110
  ansible.builtin.meta: clear_facts
110
111
 
111
- # Example showing how to continue using a failed target
112
+ # Example showing how to continue using a failed target, for the next play
112
113
  - name: Bring host back to play after failure
113
114
  ansible.builtin.copy:
114
115
  src: file
@@ -232,7 +232,11 @@ class ServiceScanService(BaseService):
232
232
  if service_name == "*":
233
233
  continue
234
234
  service_state = line_data[1]
235
- service_runlevels = all_services_runlevels[service_name]
235
+ try:
236
+ service_runlevels = all_services_runlevels[service_name]
237
+ except KeyError:
238
+ self.module.warn(f"Service {service_name} not found in the service list")
239
+ continue
236
240
  service_data = {"name": service_name, "runlevels": service_runlevels, "state": service_state, "source": "openrc"}
237
241
  services[service_name] = service_data
238
242
 
@@ -169,6 +169,7 @@ def load_list_of_tasks(ds, play, block=None, role=None, task_include=None, use_h
169
169
  if not isinstance(parent_include, TaskInclude):
170
170
  parent_include = parent_include._parent
171
171
  continue
172
+ parent_include.post_validate(templar=templar)
172
173
  parent_include_dir = os.path.dirname(parent_include.args.get('_raw_params'))
173
174
  if cumulative_path is None:
174
175
  cumulative_path = parent_include_dir
@@ -20,7 +20,6 @@ from __future__ import annotations
20
20
  import typing as t
21
21
 
22
22
  from ansible.errors import AnsibleError
23
- from ansible.module_utils.six import string_types
24
23
  from ansible.module_utils.common.sentinel import Sentinel
25
24
  from ansible.module_utils._internal._datatag import AnsibleTagHelper
26
25
  from ansible.playbook.attribute import FieldAttribute
@@ -40,7 +39,7 @@ def _flatten_tags(tags: list[str | int]) -> list[str | int]:
40
39
  class Taggable:
41
40
 
42
41
  untagged = frozenset(['untagged'])
43
- tags = FieldAttribute(isa='list', default=list, listof=(string_types, int), extend=True)
42
+ tags = FieldAttribute(isa='list', default=list, listof=(str, int), extend=True)
44
43
 
45
44
  def _load_tags(self, attr, ds):
46
45
  if isinstance(ds, list):
@@ -79,6 +79,7 @@ class AnsiblePlugin(_AnsiblePluginInfoMixin, _ConfigurablePlugin, metaclass=abc.
79
79
 
80
80
  def __init__(self):
81
81
  self._options = {}
82
+ self._origins = {}
82
83
  self._defs = None
83
84
 
84
85
  @property
@@ -98,11 +99,16 @@ class AnsiblePlugin(_AnsiblePluginInfoMixin, _ConfigurablePlugin, metaclass=abc.
98
99
  return bool(possible_fqcns.intersection(set(self.ansible_aliases)))
99
100
 
100
101
  def get_option_and_origin(self, option, hostvars=None):
101
- try:
102
- option_value, origin = C.config.get_config_value_and_origin(option, plugin_type=self.plugin_type, plugin_name=self._load_name, variables=hostvars)
103
- except AnsibleError as e:
104
- raise KeyError(str(e))
105
- return option_value, origin
102
+ if option not in self._options:
103
+ try:
104
+ # some plugins don't use set_option(s) and cannot use direct settings, so this populates the local copy for them
105
+ self._options[option], self._origins[option] = C.config.get_config_value_and_origin(option, plugin_type=self.plugin_type,
106
+ plugin_name=self._load_name, variables=hostvars)
107
+ except AnsibleError as e:
108
+ # callers expect key error on missing
109
+ raise KeyError() from e
110
+
111
+ return self._options[option], self._origins[option]
106
112
 
107
113
  @functools.cached_property
108
114
  def __plugin_info(self):
@@ -113,11 +119,10 @@ class AnsiblePlugin(_AnsiblePluginInfoMixin, _ConfigurablePlugin, metaclass=abc.
113
119
  return _plugin_info.get_plugin_info(self)
114
120
 
115
121
  def get_option(self, option, hostvars=None):
116
-
117
122
  if option not in self._options:
118
- option_value, dummy = self.get_option_and_origin(option, hostvars=hostvars)
119
- self.set_option(option, option_value)
120
- return self._options.get(option)
123
+ # let it populate _options
124
+ self.get_option_and_origin(option, hostvars=hostvars)
125
+ return self._options[option]
121
126
 
122
127
  def get_options(self, hostvars=None):
123
128
  options = {}
@@ -127,6 +132,7 @@ class AnsiblePlugin(_AnsiblePluginInfoMixin, _ConfigurablePlugin, metaclass=abc.
127
132
 
128
133
  def set_option(self, option, value):
129
134
  self._options[option] = C.config.get_config_value(option, plugin_type=self.plugin_type, plugin_name=self._load_name, direct={option: value})
135
+ self._origins[option] = 'Direct'
130
136
  _display._report_config_warnings(self.__plugin_info)
131
137
 
132
138
  def set_options(self, task_keys=None, var_options=None, direct=None):
@@ -137,12 +143,14 @@ class AnsiblePlugin(_AnsiblePluginInfoMixin, _ConfigurablePlugin, metaclass=abc.
137
143
  :arg var_options: Dict with either 'connection variables'
138
144
  :arg direct: Dict with 'direct assignment'
139
145
  """
140
- self._options = C.config.get_plugin_options(self.plugin_type, self._load_name, keys=task_keys, variables=var_options, direct=direct)
146
+ self._options, self._origins = C.config.get_plugin_options_and_origins(self.plugin_type, self._load_name, keys=task_keys,
147
+ variables=var_options, direct=direct)
141
148
 
142
149
  # allow extras/wildcards from vars that are not directly consumed in configuration
143
150
  # this is needed to support things like winrm that can have extended protocol options we don't directly handle
144
151
  if self.allow_extras and var_options and '_extras' in var_options:
145
152
  # these are largely unvalidated passthroughs, either plugin or underlying API will validate
153
+ # TODO: deprecate and remove, most plugins that needed this don't use this facility anymore
146
154
  self._options['_extras'] = var_options['_extras']
147
155
  _display._report_config_warnings(self.__plugin_info)
148
156
 
@@ -228,10 +228,14 @@ class CallbackBase(AnsiblePlugin):
228
228
 
229
229
  def set_option(self, k, v):
230
230
  self._plugin_options[k] = C.config.get_config_value(k, plugin_type=self.plugin_type, plugin_name=self._load_name, direct={k: v})
231
+ self._origins[k] = 'direct'
231
232
 
232
233
  def get_option(self, k, hostvars=None):
233
234
  return self._plugin_options[k]
234
235
 
236
+ def get_option_and_origin(self, k, hostvars=None):
237
+ return self._plugin_options[k], self._origins[k]
238
+
235
239
  def has_option(self, option):
236
240
  return (option in self._plugin_options)
237
241
 
@@ -241,7 +245,8 @@ class CallbackBase(AnsiblePlugin):
241
245
  """
242
246
 
243
247
  # load from config
244
- self._plugin_options = C.config.get_plugin_options(self.plugin_type, self._load_name, keys=task_keys, variables=var_options, direct=direct)
248
+ self._plugin_options, self._origins = C.config.get_plugin_options_and_origins(self.plugin_type, self._load_name,
249
+ keys=task_keys, variables=var_options, direct=direct)
245
250
 
246
251
  @staticmethod
247
252
  def host_label(result: CallbackTaskResult) -> str:
@@ -107,6 +107,7 @@ from ansible.errors import AnsibleError
107
107
  from ansible.plugins.lookup import LookupBase
108
108
  from ansible.template import trust_as_template
109
109
  from ansible._internal._templating import _template_vars
110
+ from ansible._internal._templating._engine import TemplateOptions, TemplateOverrides
110
111
  from ansible.utils.display import Display
111
112
 
112
113
 
@@ -174,7 +175,11 @@ class LookupModule(LookupBase):
174
175
  )
175
176
 
176
177
  data_templar = templar.copy_with_new_env(available_variables=vars, searchpath=searchpath)
177
- res = data_templar.template(template_data, escape_backslashes=False, overrides=overrides)
178
+ # use the internal template API to avoid forced top-level finalization behavior imposed by the public API
179
+ res = data_templar._engine.template(template_data, options=TemplateOptions(
180
+ escape_backslashes=False,
181
+ overrides=TemplateOverrides.from_kwargs(overrides),
182
+ ))
178
183
 
179
184
  ret.append(res)
180
185
  else:
ansible/release.py CHANGED
@@ -17,6 +17,6 @@
17
17
 
18
18
  from __future__ import annotations
19
19
 
20
- __version__ = '2.19.0rc2'
20
+ __version__ = '2.19.1'
21
21
  __author__ = 'Ansible, Inc.'
22
22
  __codename__ = "What Is and What Should Never Be"
ansible/utils/encrypt.py CHANGED
@@ -99,6 +99,8 @@ class PasslibHash(BaseHash):
99
99
  salt = self._clean_salt(salt)
100
100
  rounds = self._clean_rounds(rounds)
101
101
  ident = self._clean_ident(ident)
102
+ if salt_size is not None and not isinstance(salt_size, int):
103
+ raise TypeError("salt_size must be an integer")
102
104
  return self._hash(secret, salt=salt, salt_size=salt_size, rounds=rounds, ident=ident)
103
105
 
104
106
  def _clean_ident(self, ident):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ansible-core
3
- Version: 2.19.0rc2
3
+ Version: 2.19.1
4
4
  Summary: Radically simple IT automation
5
5
  Author: Ansible Project
6
6
  Project-URL: Homepage, https://ansible.com/
@@ -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=qCP2EaY13XWVWR3uCmx_MvZnMzQPifDVbizi9KduCF4,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=gDnx5rCu4cYGaxgBGUCupPGG4Tc_Tano7VpTiBjwWDo,32159
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=HHbKYNqvDF50a9abEfzUy7Cl9gWAEZAXWF2F6xQV9dQ,61228
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=qCP2EaY13XWVWR3uCmx_MvZnMzQPifDVbizi9KduCF4,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
@@ -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.0rc2.dist-info/licenses/COPYING,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
792
- ansible_core-2.19.0rc2.dist-info/licenses/licenses/Apache-License.txt,sha256=y16Ofl9KOYjhBjwULGDcLfdWBfTEZRXnduOspt-XbhQ,11325
793
- ansible_core-2.19.0rc2.dist-info/licenses/licenses/BSD-3-Clause.txt,sha256=la0N3fE3Se8vBiuvUcFKA8b-E41G7flTic6P8CkUroE,1548
794
- ansible_core-2.19.0rc2.dist-info/licenses/licenses/MIT-license.txt,sha256=jLXp2XurnyZKbye40g9tfmLGtVlxh3pPD4n8xNqX8xc,1023
795
- ansible_core-2.19.0rc2.dist-info/licenses/licenses/PSF-license.txt,sha256=g7BC_H1qyg8Q1o5F76Vrm8ChSWYI5-dyj-CdGlNKBUo,2484
796
- ansible_core-2.19.0rc2.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.0rc2.dist-info/METADATA,sha256=kSnjj8aI3_xFEajstyVBCeVcA-RPKRqetQMkwUHHVko,7733
1094
- ansible_core-2.19.0rc2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1095
- ansible_core-2.19.0rc2.dist-info/entry_points.txt,sha256=S9yJij5Im6FgRQxzkqSCnPQokC7PcWrDW_NSygZczJU,451
1096
- ansible_core-2.19.0rc2.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
1097
- ansible_core-2.19.0rc2.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,,