ansible-core 2.18.5rc1__py3-none-any.whl → 2.19.0b2__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/_internal/__init__.py +53 -0
- ansible/_internal/_ansiballz.py +265 -0
- ansible/_internal/_collection_proxy.py +47 -0
- ansible/_internal/_datatag/__init__.py +0 -0
- ansible/_internal/_datatag/_tags.py +130 -0
- ansible/_internal/_datatag/_utils.py +19 -0
- ansible/_internal/_datatag/_wrappers.py +33 -0
- ansible/_internal/_errors/__init__.py +0 -0
- ansible/_internal/_errors/_captured.py +128 -0
- ansible/_internal/_errors/_handler.py +91 -0
- ansible/_internal/_errors/_utils.py +310 -0
- ansible/_internal/_json/__init__.py +203 -0
- ansible/_internal/_json/_legacy_encoder.py +34 -0
- ansible/_internal/_json/_profiles/__init__.py +0 -0
- ansible/_internal/_json/_profiles/_cache_persistence.py +55 -0
- ansible/_internal/_json/_profiles/_inventory_legacy.py +40 -0
- ansible/_internal/_json/_profiles/_legacy.py +197 -0
- ansible/_internal/_locking.py +21 -0
- ansible/_internal/_plugins/__init__.py +0 -0
- ansible/_internal/_plugins/_cache.py +57 -0
- ansible/_internal/_task.py +78 -0
- ansible/_internal/_templating/__init__.py +10 -0
- ansible/_internal/_templating/_access.py +86 -0
- ansible/_internal/_templating/_chain_templar.py +63 -0
- ansible/_internal/_templating/_datatag.py +95 -0
- ansible/_internal/_templating/_engine.py +588 -0
- ansible/_internal/_templating/_errors.py +28 -0
- ansible/_internal/_templating/_jinja_bits.py +1066 -0
- ansible/_internal/_templating/_jinja_common.py +332 -0
- ansible/_internal/_templating/_jinja_patches.py +44 -0
- ansible/_internal/_templating/_jinja_plugins.py +345 -0
- ansible/_internal/_templating/_lazy_containers.py +633 -0
- ansible/_internal/_templating/_marker_behaviors.py +103 -0
- ansible/_internal/_templating/_transform.py +63 -0
- ansible/_internal/_templating/_utils.py +107 -0
- ansible/_internal/_wrapt.py +1052 -0
- ansible/_internal/_yaml/__init__.py +0 -0
- ansible/_internal/_yaml/_constructor.py +240 -0
- ansible/_internal/_yaml/_dumper.py +62 -0
- ansible/_internal/_yaml/_errors.py +166 -0
- ansible/_internal/_yaml/_loader.py +66 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/README.md +11 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/action/debug.py +36 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/filter/apply_trust.py +19 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/filter/dump_object.py +18 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/filter/finalize.py +16 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/filter/origin.py +18 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/filter/python_literal_eval.py +24 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/filter/python_literal_eval.yml +33 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/filter/tag_names.py +16 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/filter/true_type.py +17 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/filter/unmask.py +49 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/lookup/config.py +21 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/lookup/config.yml +2 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/test/tagged.py +15 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/test/tagged.yml +19 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/test/tagged_with.py +18 -0
- ansible/_internal/ansible_collections/ansible/_protomatter/plugins/test/tagged_with.yml +19 -0
- ansible/cli/__init__.py +159 -89
- ansible/cli/_ssh_askpass.py +47 -0
- ansible/cli/adhoc.py +14 -7
- ansible/cli/arguments/option_helpers.py +154 -7
- ansible/cli/config.py +43 -68
- ansible/cli/console.py +10 -8
- ansible/cli/doc.py +62 -53
- ansible/cli/galaxy.py +27 -20
- ansible/cli/inventory.py +28 -26
- ansible/cli/playbook.py +4 -12
- ansible/cli/pull.py +51 -11
- ansible/cli/scripts/ansible_connection_cli_stub.py +7 -7
- ansible/cli/vault.py +12 -11
- ansible/compat/__init__.py +2 -2
- ansible/config/base.yml +166 -112
- ansible/config/manager.py +52 -49
- ansible/constants.py +3 -4
- ansible/errors/__init__.py +277 -235
- ansible/executor/interpreter_discovery.py +28 -149
- ansible/executor/module_common.py +426 -493
- ansible/executor/play_iterator.py +22 -27
- ansible/executor/playbook_executor.py +11 -11
- ansible/executor/powershell/async_watchdog.ps1 +97 -102
- ansible/executor/powershell/async_wrapper.ps1 +202 -151
- ansible/executor/powershell/become_wrapper.ps1 +89 -144
- ansible/executor/powershell/bootstrap_wrapper.ps1 +24 -9
- ansible/executor/powershell/coverage_wrapper.ps1 +82 -135
- ansible/executor/powershell/exec_wrapper.ps1 +462 -196
- ansible/executor/powershell/module_manifest.py +417 -265
- ansible/executor/powershell/module_wrapper.ps1 +169 -186
- ansible/executor/powershell/psrp_fetch_file.ps1 +41 -0
- ansible/executor/powershell/psrp_put_file.ps1 +122 -0
- ansible/executor/powershell/winrm_fetch_file.ps1 +46 -0
- ansible/executor/powershell/winrm_put_file.ps1 +36 -0
- ansible/executor/process/worker.py +161 -96
- ansible/executor/stats.py +5 -5
- ansible/executor/task_executor.py +268 -258
- ansible/executor/task_queue_manager.py +124 -90
- ansible/executor/task_result.py +183 -78
- ansible/galaxy/__init__.py +2 -2
- ansible/galaxy/api.py +22 -18
- ansible/galaxy/collection/__init__.py +1 -1
- ansible/galaxy/collection/concrete_artifact_manager.py +8 -11
- ansible/galaxy/dependency_resolution/dataclasses.py +14 -4
- ansible/galaxy/dependency_resolution/providers.py +1 -1
- ansible/galaxy/dependency_resolution/reporters.py +81 -0
- ansible/galaxy/role.py +4 -8
- ansible/galaxy/token.py +28 -21
- ansible/inventory/data.py +47 -57
- ansible/inventory/group.py +44 -72
- ansible/inventory/helpers.py +9 -0
- ansible/inventory/host.py +32 -54
- ansible/inventory/manager.py +78 -34
- ansible/keyword_desc.yml +1 -1
- ansible/module_utils/_internal/__init__.py +55 -0
- ansible/module_utils/_internal/_ambient_context.py +58 -0
- ansible/module_utils/_internal/_ansiballz.py +133 -0
- ansible/module_utils/_internal/_concurrent/_daemon_threading.py +1 -0
- ansible/module_utils/_internal/_dataclass_annotation_patch.py +64 -0
- ansible/module_utils/_internal/_dataclass_validation.py +217 -0
- ansible/module_utils/_internal/_datatag/__init__.py +928 -0
- ansible/module_utils/_internal/_datatag/_tags.py +38 -0
- ansible/module_utils/_internal/_debugging.py +31 -0
- ansible/module_utils/_internal/_errors.py +30 -0
- ansible/module_utils/_internal/_json/__init__.py +63 -0
- ansible/module_utils/_internal/_json/_legacy_encoder.py +26 -0
- ansible/module_utils/_internal/_json/_profiles/__init__.py +410 -0
- ansible/module_utils/_internal/_json/_profiles/_fallback_to_str.py +73 -0
- ansible/module_utils/_internal/_json/_profiles/_module_legacy_c2m.py +31 -0
- ansible/module_utils/_internal/_json/_profiles/_module_legacy_m2c.py +35 -0
- ansible/module_utils/_internal/_json/_profiles/_module_modern_c2m.py +35 -0
- ansible/module_utils/_internal/_json/_profiles/_module_modern_m2c.py +33 -0
- ansible/module_utils/_internal/_json/_profiles/_tagless.py +50 -0
- ansible/module_utils/_internal/_patches/__init__.py +66 -0
- ansible/module_utils/_internal/_patches/_dataclass_annotation_patch.py +55 -0
- ansible/module_utils/_internal/_patches/_socket_patch.py +34 -0
- ansible/module_utils/_internal/_patches/_sys_intern_patch.py +34 -0
- ansible/module_utils/_internal/_plugin_exec_context.py +49 -0
- ansible/module_utils/_internal/_testing.py +0 -0
- ansible/module_utils/_internal/_traceback.py +89 -0
- ansible/module_utils/ansible_release.py +2 -2
- ansible/module_utils/api.py +1 -2
- ansible/module_utils/basic.py +152 -120
- ansible/module_utils/common/_utils.py +24 -28
- ansible/module_utils/common/collections.py +1 -2
- ansible/module_utils/common/dict_transformations.py +2 -2
- ansible/module_utils/common/file.py +2 -2
- ansible/module_utils/common/json.py +90 -84
- ansible/module_utils/common/locale.py +2 -2
- ansible/module_utils/common/messages.py +108 -0
- ansible/module_utils/common/parameters.py +27 -24
- ansible/module_utils/common/process.py +2 -2
- ansible/module_utils/common/respawn.py +41 -19
- ansible/module_utils/common/sentinel.py +66 -0
- ansible/module_utils/common/sys_info.py +8 -8
- ansible/module_utils/common/text/converters.py +16 -37
- ansible/module_utils/common/validation.py +35 -24
- ansible/module_utils/common/warnings.py +86 -25
- ansible/module_utils/common/yaml.py +29 -3
- ansible/module_utils/compat/datetime.py +33 -21
- ansible/module_utils/compat/paramiko.py +21 -10
- ansible/module_utils/compat/typing.py +6 -5
- ansible/module_utils/connection.py +2 -2
- ansible/module_utils/csharp/Ansible.Basic.cs +14 -11
- ansible/module_utils/csharp/Ansible.Become.cs +1 -0
- ansible/module_utils/csharp/Ansible._Async.cs +517 -0
- ansible/module_utils/datatag.py +46 -0
- ansible/module_utils/distro/__init__.py +2 -2
- ansible/module_utils/facts/ansible_collector.py +4 -5
- ansible/module_utils/facts/collector.py +13 -14
- ansible/module_utils/facts/compat.py +4 -4
- ansible/module_utils/facts/default_collectors.py +1 -1
- ansible/module_utils/facts/hardware/aix.py +34 -0
- ansible/module_utils/facts/hardware/base.py +1 -1
- ansible/module_utils/facts/hardware/darwin.py +1 -3
- ansible/module_utils/facts/hardware/freebsd.py +2 -2
- ansible/module_utils/facts/hardware/linux.py +4 -4
- ansible/module_utils/facts/namespace.py +1 -1
- ansible/module_utils/facts/network/base.py +1 -1
- ansible/module_utils/facts/network/fc_wwn.py +1 -2
- ansible/module_utils/facts/network/iscsi.py +1 -2
- ansible/module_utils/facts/network/nvme.py +1 -2
- ansible/module_utils/facts/other/facter.py +1 -2
- ansible/module_utils/facts/other/ohai.py +2 -3
- ansible/module_utils/facts/system/apparmor.py +1 -2
- ansible/module_utils/facts/system/caps.py +1 -1
- ansible/module_utils/facts/system/chroot.py +1 -2
- ansible/module_utils/facts/system/cmdline.py +1 -2
- ansible/module_utils/facts/system/date_time.py +5 -3
- ansible/module_utils/facts/system/distribution.py +9 -8
- ansible/module_utils/facts/system/dns.py +1 -1
- ansible/module_utils/facts/system/env.py +1 -2
- ansible/module_utils/facts/system/fips.py +7 -20
- ansible/module_utils/facts/system/loadavg.py +1 -2
- ansible/module_utils/facts/system/local.py +1 -2
- ansible/module_utils/facts/system/lsb.py +1 -2
- ansible/module_utils/facts/system/pkg_mgr.py +1 -2
- ansible/module_utils/facts/system/platform.py +1 -2
- ansible/module_utils/facts/system/python.py +1 -2
- ansible/module_utils/facts/system/selinux.py +1 -1
- ansible/module_utils/facts/system/service_mgr.py +1 -2
- ansible/module_utils/facts/system/ssh_pub_keys.py +1 -1
- ansible/module_utils/facts/system/systemd.py +1 -1
- ansible/module_utils/facts/system/user.py +1 -2
- ansible/module_utils/facts/utils.py +3 -3
- ansible/module_utils/facts/virtual/base.py +1 -1
- ansible/module_utils/facts/virtual/sunos.py +3 -15
- ansible/module_utils/facts/virtual/sysctl.py +3 -16
- ansible/module_utils/json_utils.py +2 -2
- ansible/module_utils/parsing/convert_bool.py +1 -1
- ansible/module_utils/service.py +18 -21
- ansible/module_utils/splitter.py +7 -7
- ansible/module_utils/testing.py +31 -0
- ansible/module_utils/urls.py +60 -31
- ansible/modules/add_host.py +4 -4
- ansible/modules/apt.py +60 -46
- ansible/modules/apt_key.py +19 -12
- ansible/modules/apt_repository.py +19 -16
- ansible/modules/assemble.py +6 -6
- ansible/modules/assert.py +4 -4
- ansible/modules/async_status.py +10 -12
- ansible/modules/async_wrapper.py +8 -3
- ansible/modules/blockinfile.py +6 -7
- ansible/modules/command.py +10 -17
- ansible/modules/copy.py +57 -144
- ansible/modules/cron.py +20 -15
- ansible/modules/deb822_repository.py +8 -9
- ansible/modules/debconf.py +5 -5
- ansible/modules/debug.py +4 -4
- ansible/modules/dnf.py +8 -8
- ansible/modules/dnf5.py +39 -13
- ansible/modules/dpkg_selections.py +4 -4
- ansible/modules/expect.py +8 -10
- ansible/modules/fail.py +4 -4
- ansible/modules/fetch.py +4 -4
- ansible/modules/file.py +174 -133
- ansible/modules/find.py +19 -17
- ansible/modules/gather_facts.py +3 -3
- ansible/modules/get_url.py +59 -53
- ansible/modules/getent.py +7 -9
- ansible/modules/git.py +28 -25
- ansible/modules/group.py +6 -6
- ansible/modules/group_by.py +4 -4
- ansible/modules/hostname.py +13 -29
- ansible/modules/import_playbook.py +6 -6
- ansible/modules/import_role.py +6 -6
- ansible/modules/import_tasks.py +6 -6
- ansible/modules/include_role.py +6 -6
- ansible/modules/include_tasks.py +6 -6
- ansible/modules/include_vars.py +6 -6
- ansible/modules/iptables.py +86 -73
- ansible/modules/known_hosts.py +10 -10
- ansible/modules/lineinfile.py +5 -5
- ansible/modules/meta.py +4 -4
- ansible/modules/mount_facts.py +2 -2
- ansible/modules/package.py +4 -4
- ansible/modules/package_facts.py +22 -10
- ansible/modules/pause.py +6 -6
- ansible/modules/ping.py +6 -6
- ansible/modules/pip.py +10 -11
- ansible/modules/raw.py +4 -4
- ansible/modules/reboot.py +6 -6
- ansible/modules/replace.py +9 -13
- ansible/modules/rpm_key.py +7 -8
- ansible/modules/script.py +4 -4
- ansible/modules/service.py +7 -8
- ansible/modules/service_facts.py +87 -10
- ansible/modules/set_fact.py +5 -5
- ansible/modules/set_stats.py +4 -4
- ansible/modules/setup.py +2 -2
- ansible/modules/shell.py +6 -6
- ansible/modules/slurp.py +6 -6
- ansible/modules/stat.py +9 -23
- ansible/modules/subversion.py +15 -15
- ansible/modules/systemd.py +6 -6
- ansible/modules/systemd_service.py +6 -6
- ansible/modules/sysvinit.py +6 -6
- ansible/modules/tempfile.py +5 -6
- ansible/modules/template.py +6 -6
- ansible/modules/unarchive.py +32 -11
- ansible/modules/uri.py +33 -26
- ansible/modules/user.py +53 -34
- ansible/modules/validate_argument_spec.py +10 -7
- ansible/modules/wait_for.py +32 -27
- ansible/modules/wait_for_connection.py +6 -6
- ansible/modules/yum_repository.py +6 -6
- ansible/parsing/ajson.py +14 -32
- ansible/parsing/dataloader.py +99 -54
- ansible/parsing/mod_args.py +28 -44
- ansible/parsing/plugin_docs.py +21 -86
- ansible/parsing/quoting.py +1 -1
- ansible/parsing/splitter.py +27 -12
- ansible/parsing/utils/addresses.py +24 -24
- ansible/parsing/utils/jsonify.py +5 -1
- ansible/parsing/utils/yaml.py +32 -61
- ansible/parsing/vault/__init__.py +319 -87
- ansible/parsing/yaml/__init__.py +0 -18
- ansible/parsing/yaml/dumper.py +6 -120
- ansible/parsing/yaml/loader.py +6 -39
- ansible/parsing/yaml/objects.py +43 -335
- ansible/playbook/__init__.py +1 -1
- ansible/playbook/attribute.py +8 -3
- ansible/playbook/base.py +182 -132
- ansible/playbook/block.py +26 -24
- ansible/playbook/collectionsearch.py +1 -15
- ansible/playbook/conditional.py +3 -77
- ansible/playbook/handler.py +8 -2
- ansible/playbook/helpers.py +41 -53
- ansible/playbook/included_file.py +31 -27
- ansible/playbook/loop_control.py +2 -2
- ansible/playbook/play.py +85 -44
- ansible/playbook/play_context.py +12 -17
- ansible/playbook/playbook_include.py +14 -15
- ansible/playbook/role/__init__.py +24 -26
- ansible/playbook/role/definition.py +15 -17
- ansible/playbook/role/include.py +2 -4
- ansible/playbook/role/metadata.py +10 -11
- ansible/playbook/role_include.py +3 -3
- ansible/playbook/taggable.py +13 -8
- ansible/playbook/task.py +188 -118
- ansible/playbook/task_include.py +5 -5
- ansible/plugins/__init__.py +68 -21
- ansible/plugins/action/__init__.py +209 -176
- ansible/plugins/action/add_host.py +1 -1
- ansible/plugins/action/assemble.py +1 -1
- ansible/plugins/action/assert.py +54 -66
- ansible/plugins/action/copy.py +7 -11
- ansible/plugins/action/debug.py +37 -31
- ansible/plugins/action/dnf.py +3 -4
- ansible/plugins/action/fail.py +1 -1
- ansible/plugins/action/fetch.py +4 -5
- ansible/plugins/action/gather_facts.py +7 -6
- ansible/plugins/action/group_by.py +1 -1
- ansible/plugins/action/include_vars.py +10 -11
- ansible/plugins/action/package.py +3 -6
- ansible/plugins/action/pause.py +2 -2
- ansible/plugins/action/script.py +15 -8
- ansible/plugins/action/service.py +6 -11
- ansible/plugins/action/set_fact.py +3 -12
- ansible/plugins/action/set_stats.py +3 -8
- ansible/plugins/action/template.py +35 -59
- ansible/plugins/action/unarchive.py +1 -1
- ansible/plugins/action/validate_argument_spec.py +5 -5
- ansible/plugins/action/wait_for_connection.py +1 -1
- ansible/plugins/become/__init__.py +31 -8
- ansible/plugins/become/runas.py +71 -0
- ansible/plugins/become/su.py +13 -8
- ansible/plugins/become/sudo.py +19 -0
- ansible/plugins/cache/__init__.py +35 -44
- ansible/plugins/cache/base.py +8 -0
- ansible/plugins/cache/jsonfile.py +10 -16
- ansible/plugins/cache/memory.py +6 -12
- ansible/plugins/callback/__init__.py +284 -179
- ansible/plugins/callback/default.py +99 -92
- ansible/plugins/callback/junit.py +44 -39
- ansible/plugins/callback/minimal.py +28 -25
- ansible/plugins/callback/oneline.py +28 -21
- ansible/plugins/callback/tree.py +16 -11
- ansible/plugins/connection/__init__.py +47 -34
- ansible/plugins/connection/local.py +150 -54
- ansible/plugins/connection/paramiko_ssh.py +21 -18
- ansible/plugins/connection/psrp.py +76 -165
- ansible/plugins/connection/ssh.py +301 -78
- ansible/plugins/connection/winrm.py +58 -140
- ansible/plugins/doc_fragments/action_common_attributes.py +14 -14
- ansible/plugins/doc_fragments/action_core.py +6 -6
- ansible/plugins/doc_fragments/backup.py +2 -2
- ansible/plugins/doc_fragments/checksum_common.py +27 -0
- ansible/plugins/doc_fragments/constructed.py +6 -2
- ansible/plugins/doc_fragments/decrypt.py +2 -2
- ansible/plugins/doc_fragments/default_callback.py +2 -2
- ansible/plugins/doc_fragments/files.py +2 -2
- ansible/plugins/doc_fragments/inventory_cache.py +2 -2
- ansible/plugins/doc_fragments/result_format_callback.py +2 -2
- ansible/plugins/doc_fragments/return_common.py +2 -2
- ansible/plugins/doc_fragments/template_common.py +4 -4
- ansible/plugins/doc_fragments/url.py +17 -1
- ansible/plugins/doc_fragments/url_windows.py +2 -2
- ansible/plugins/doc_fragments/validate.py +2 -2
- ansible/plugins/doc_fragments/vars_plugin_staging.py +2 -2
- ansible/plugins/filter/__init__.py +6 -2
- ansible/plugins/filter/b64decode.yml +22 -0
- ansible/plugins/filter/b64encode.yml +22 -0
- ansible/plugins/filter/bool.yml +11 -4
- ansible/plugins/filter/core.py +225 -108
- ansible/plugins/filter/encryption.py +32 -32
- ansible/plugins/filter/flatten.yml +3 -2
- ansible/plugins/filter/human_to_bytes.yml +1 -1
- ansible/plugins/filter/mathstuff.py +30 -37
- ansible/plugins/filter/password_hash.yml +8 -0
- ansible/plugins/filter/regex_search.yml +1 -4
- ansible/plugins/filter/split.yml +1 -1
- ansible/plugins/filter/to_nice_yaml.yml +0 -4
- ansible/plugins/filter/to_yaml.yml +0 -4
- ansible/plugins/filter/unvault.yml +1 -1
- ansible/plugins/filter/urls.py +1 -1
- ansible/plugins/filter/urlsplit.py +8 -9
- ansible/plugins/filter/vault.yml +14 -9
- ansible/plugins/filter/win_basename.yml +6 -1
- ansible/plugins/filter/win_dirname.yml +5 -0
- ansible/plugins/inventory/__init__.py +97 -77
- ansible/plugins/inventory/advanced_host_list.py +7 -5
- ansible/plugins/inventory/auto.py +11 -4
- ansible/plugins/inventory/constructed.py +21 -24
- ansible/plugins/inventory/generator.py +16 -11
- ansible/plugins/inventory/host_list.py +7 -5
- ansible/plugins/inventory/ini.py +78 -44
- ansible/plugins/inventory/script.py +189 -119
- ansible/plugins/inventory/toml.py +16 -126
- ansible/plugins/inventory/yaml.py +10 -8
- ansible/plugins/list.py +3 -3
- ansible/plugins/loader.py +197 -82
- ansible/plugins/lookup/__init__.py +21 -4
- ansible/plugins/lookup/config.py +21 -35
- ansible/plugins/lookup/csvfile.py +3 -2
- ansible/plugins/lookup/dict.py +1 -6
- ansible/plugins/lookup/env.py +12 -9
- ansible/plugins/lookup/file.py +5 -8
- ansible/plugins/lookup/first_found.py +86 -55
- ansible/plugins/lookup/indexed_items.py +1 -10
- ansible/plugins/lookup/ini.py +14 -13
- ansible/plugins/lookup/items.py +1 -1
- ansible/plugins/lookup/lines.py +8 -1
- ansible/plugins/lookup/list.py +1 -1
- ansible/plugins/lookup/nested.py +2 -18
- ansible/plugins/lookup/password.py +5 -5
- ansible/plugins/lookup/pipe.py +5 -7
- ansible/plugins/lookup/sequence.py +18 -8
- ansible/plugins/lookup/subelements.py +1 -4
- ansible/plugins/lookup/template.py +42 -36
- ansible/plugins/lookup/together.py +0 -12
- ansible/plugins/lookup/unvault.py +1 -5
- ansible/plugins/lookup/url.py +2 -8
- ansible/plugins/lookup/vars.py +16 -24
- ansible/plugins/shell/__init__.py +2 -2
- ansible/plugins/shell/cmd.py +2 -2
- ansible/plugins/shell/powershell.py +39 -22
- ansible/plugins/shell/sh.py +3 -2
- ansible/plugins/strategy/__init__.py +159 -184
- ansible/plugins/strategy/debug.py +2 -2
- ansible/plugins/strategy/free.py +16 -31
- ansible/plugins/strategy/host_pinned.py +2 -2
- ansible/plugins/strategy/linear.py +41 -41
- ansible/plugins/terminal/__init__.py +4 -4
- ansible/plugins/test/__init__.py +7 -2
- ansible/plugins/test/core.py +55 -21
- ansible/plugins/test/files.py +1 -1
- ansible/plugins/test/mathstuff.py +3 -3
- ansible/plugins/test/uri.py +3 -3
- ansible/plugins/vars/host_group_vars.py +7 -14
- ansible/release.py +2 -2
- ansible/template/__init__.py +370 -944
- ansible/utils/__init__.py +0 -18
- ansible/utils/_ssh_agent.py +657 -0
- ansible/utils/collection_loader/__init__.py +52 -5
- ansible/utils/collection_loader/_collection_config.py +5 -6
- ansible/utils/collection_loader/_collection_finder.py +79 -93
- ansible/utils/collection_loader/_collection_meta.py +13 -8
- ansible/utils/display.py +433 -63
- ansible/utils/encrypt.py +27 -19
- ansible/utils/fqcn.py +2 -2
- ansible/utils/hashing.py +2 -2
- ansible/utils/helpers.py +2 -2
- ansible/utils/listify.py +8 -8
- ansible/utils/lock.py +2 -2
- ansible/utils/path.py +4 -4
- ansible/utils/plugin_docs.py +14 -13
- ansible/utils/sentinel.py +4 -62
- ansible/utils/singleton.py +2 -0
- ansible/utils/ssh_functions.py +1 -1
- ansible/utils/unsafe_proxy.py +23 -332
- ansible/utils/vars.py +51 -8
- ansible/utils/version.py +2 -2
- ansible/vars/clean.py +5 -5
- ansible/vars/hostvars.py +60 -90
- ansible/vars/manager.py +206 -282
- ansible/vars/reserved.py +8 -9
- ansible_core-2.19.0b2.dist-info/BSD-3-Clause.txt +28 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b2.dist-info}/METADATA +5 -4
- ansible_core-2.19.0b2.dist-info/RECORD +1072 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b2.dist-info}/WHEEL +1 -1
- ansible_test/_data/completion/docker.txt +7 -7
- ansible_test/_data/completion/remote.txt +6 -6
- ansible_test/_data/completion/windows.txt +1 -0
- ansible_test/_data/requirements/ansible.txt +2 -2
- ansible_test/_data/requirements/sanity.ansible-doc.txt +3 -3
- ansible_test/_data/requirements/sanity.changelog.txt +1 -1
- ansible_test/_data/requirements/sanity.import.plugin.txt +2 -2
- ansible_test/_data/requirements/sanity.pylint.txt +4 -4
- ansible_test/_data/requirements/sanity.validate-modules.txt +2 -2
- ansible_test/_data/requirements/sanity.yamllint.txt +1 -1
- ansible_test/_data/requirements/units.txt +1 -0
- ansible_test/_internal/__init__.py +1 -0
- ansible_test/_internal/ansible_util.py +2 -0
- ansible_test/_internal/become.py +1 -0
- ansible_test/_internal/bootstrap.py +1 -0
- ansible_test/_internal/cache.py +1 -0
- ansible_test/_internal/cgroup.py +1 -0
- ansible_test/_internal/ci/__init__.py +1 -0
- ansible_test/_internal/ci/azp.py +1 -0
- ansible_test/_internal/ci/local.py +1 -0
- ansible_test/_internal/classification/__init__.py +1 -0
- ansible_test/_internal/classification/common.py +1 -0
- ansible_test/_internal/classification/csharp.py +1 -0
- ansible_test/_internal/classification/powershell.py +1 -0
- ansible_test/_internal/classification/python.py +1 -0
- ansible_test/_internal/cli/__init__.py +1 -0
- ansible_test/_internal/cli/actions.py +1 -0
- ansible_test/_internal/cli/argparsing/__init__.py +1 -0
- ansible_test/_internal/cli/argparsing/actions.py +1 -0
- ansible_test/_internal/cli/argparsing/argcompletion.py +1 -0
- ansible_test/_internal/cli/argparsing/parsers.py +1 -0
- ansible_test/_internal/cli/commands/__init__.py +11 -0
- ansible_test/_internal/cli/commands/coverage/__init__.py +1 -0
- ansible_test/_internal/cli/commands/coverage/analyze/__init__.py +1 -0
- ansible_test/_internal/cli/commands/coverage/analyze/targets/__init__.py +1 -0
- ansible_test/_internal/cli/commands/coverage/analyze/targets/combine.py +1 -0
- ansible_test/_internal/cli/commands/coverage/analyze/targets/expand.py +1 -0
- ansible_test/_internal/cli/commands/coverage/analyze/targets/filter.py +1 -0
- ansible_test/_internal/cli/commands/coverage/analyze/targets/generate.py +1 -0
- ansible_test/_internal/cli/commands/coverage/analyze/targets/missing.py +1 -0
- ansible_test/_internal/cli/commands/coverage/combine.py +1 -0
- ansible_test/_internal/cli/commands/coverage/erase.py +1 -0
- ansible_test/_internal/cli/commands/coverage/html.py +1 -0
- ansible_test/_internal/cli/commands/coverage/report.py +1 -0
- ansible_test/_internal/cli/commands/coverage/xml.py +1 -0
- ansible_test/_internal/cli/commands/env.py +1 -0
- ansible_test/_internal/cli/commands/integration/__init__.py +1 -0
- ansible_test/_internal/cli/commands/integration/network.py +1 -0
- ansible_test/_internal/cli/commands/integration/posix.py +1 -0
- ansible_test/_internal/cli/commands/integration/windows.py +1 -0
- ansible_test/_internal/cli/commands/sanity.py +9 -0
- ansible_test/_internal/cli/commands/shell.py +1 -0
- ansible_test/_internal/cli/commands/units.py +1 -0
- ansible_test/_internal/cli/compat.py +1 -0
- ansible_test/_internal/cli/completers.py +1 -0
- ansible_test/_internal/cli/converters.py +1 -0
- ansible_test/_internal/cli/environments.py +1 -0
- ansible_test/_internal/cli/epilog.py +1 -0
- ansible_test/_internal/cli/parsers/__init__.py +1 -0
- ansible_test/_internal/cli/parsers/base_argument_parsers.py +1 -0
- ansible_test/_internal/cli/parsers/helpers.py +1 -0
- ansible_test/_internal/cli/parsers/host_config_parsers.py +1 -0
- ansible_test/_internal/cli/parsers/key_value_parsers.py +1 -0
- ansible_test/_internal/cli/parsers/value_parsers.py +1 -0
- ansible_test/_internal/commands/__init__.py +1 -0
- ansible_test/_internal/commands/coverage/__init__.py +2 -1
- ansible_test/_internal/commands/coverage/analyze/__init__.py +1 -0
- ansible_test/_internal/commands/coverage/analyze/targets/__init__.py +1 -0
- ansible_test/_internal/commands/coverage/analyze/targets/combine.py +1 -0
- ansible_test/_internal/commands/coverage/analyze/targets/expand.py +1 -0
- ansible_test/_internal/commands/coverage/analyze/targets/filter.py +1 -0
- ansible_test/_internal/commands/coverage/analyze/targets/generate.py +1 -0
- ansible_test/_internal/commands/coverage/analyze/targets/missing.py +1 -0
- ansible_test/_internal/commands/coverage/combine.py +2 -1
- ansible_test/_internal/commands/coverage/erase.py +1 -0
- ansible_test/_internal/commands/coverage/html.py +1 -0
- ansible_test/_internal/commands/coverage/report.py +1 -0
- ansible_test/_internal/commands/coverage/xml.py +1 -0
- ansible_test/_internal/commands/env/__init__.py +2 -0
- ansible_test/_internal/commands/integration/__init__.py +4 -0
- ansible_test/_internal/commands/integration/cloud/__init__.py +1 -0
- ansible_test/_internal/commands/integration/cloud/acme.py +2 -1
- ansible_test/_internal/commands/integration/cloud/aws.py +1 -0
- ansible_test/_internal/commands/integration/cloud/azure.py +1 -0
- ansible_test/_internal/commands/integration/cloud/cs.py +1 -0
- ansible_test/_internal/commands/integration/cloud/digitalocean.py +1 -0
- ansible_test/_internal/commands/integration/cloud/galaxy.py +3 -2
- ansible_test/_internal/commands/integration/cloud/hcloud.py +1 -0
- ansible_test/_internal/commands/integration/cloud/httptester.py +2 -1
- ansible_test/_internal/commands/integration/cloud/nios.py +2 -1
- ansible_test/_internal/commands/integration/cloud/opennebula.py +1 -0
- ansible_test/_internal/commands/integration/cloud/openshift.py +1 -0
- ansible_test/_internal/commands/integration/cloud/scaleway.py +1 -0
- ansible_test/_internal/commands/integration/cloud/vcenter.py +1 -0
- ansible_test/_internal/commands/integration/cloud/vultr.py +1 -0
- ansible_test/_internal/commands/integration/coverage.py +1 -0
- ansible_test/_internal/commands/integration/filters.py +1 -0
- ansible_test/_internal/commands/integration/network.py +1 -0
- ansible_test/_internal/commands/integration/posix.py +1 -0
- ansible_test/_internal/commands/integration/windows.py +1 -0
- ansible_test/_internal/commands/sanity/__init__.py +16 -1
- ansible_test/_internal/commands/sanity/ansible_doc.py +1 -0
- ansible_test/_internal/commands/sanity/bin_symlinks.py +1 -0
- ansible_test/_internal/commands/sanity/compile.py +1 -0
- ansible_test/_internal/commands/sanity/ignores.py +1 -0
- ansible_test/_internal/commands/sanity/import.py +1 -0
- ansible_test/_internal/commands/sanity/integration_aliases.py +1 -0
- ansible_test/_internal/commands/sanity/pep8.py +1 -0
- ansible_test/_internal/commands/sanity/pslint.py +1 -0
- ansible_test/_internal/commands/sanity/pylint.py +24 -26
- ansible_test/_internal/commands/sanity/shellcheck.py +1 -0
- ansible_test/_internal/commands/sanity/validate_modules.py +1 -0
- ansible_test/_internal/commands/sanity/yamllint.py +1 -0
- ansible_test/_internal/commands/shell/__init__.py +1 -0
- ansible_test/_internal/commands/units/__init__.py +1 -0
- ansible_test/_internal/compat/__init__.py +1 -0
- ansible_test/_internal/compat/packaging.py +1 -0
- ansible_test/_internal/compat/yaml.py +1 -0
- ansible_test/_internal/completion.py +1 -0
- ansible_test/_internal/config.py +2 -0
- ansible_test/_internal/connections.py +1 -0
- ansible_test/_internal/constants.py +1 -0
- ansible_test/_internal/containers.py +1 -0
- ansible_test/_internal/content_config.py +1 -0
- ansible_test/_internal/core_ci.py +1 -0
- ansible_test/_internal/coverage_util.py +11 -10
- ansible_test/_internal/data.py +1 -0
- ansible_test/_internal/delegation.py +1 -0
- ansible_test/_internal/dev/__init__.py +1 -0
- ansible_test/_internal/dev/container_probe.py +1 -0
- ansible_test/_internal/diff.py +3 -2
- ansible_test/_internal/docker_util.py +2 -1
- ansible_test/_internal/encoding.py +1 -0
- ansible_test/_internal/executor.py +1 -0
- ansible_test/_internal/git.py +1 -0
- ansible_test/_internal/host_configs.py +1 -0
- ansible_test/_internal/host_profiles.py +1 -0
- ansible_test/_internal/http.py +1 -0
- ansible_test/_internal/init.py +1 -0
- ansible_test/_internal/inventory.py +35 -3
- ansible_test/_internal/io.py +1 -0
- ansible_test/_internal/metadata.py +1 -0
- ansible_test/_internal/payload.py +1 -0
- ansible_test/_internal/provider/__init__.py +1 -0
- ansible_test/_internal/provider/layout/__init__.py +1 -0
- ansible_test/_internal/provider/layout/ansible.py +1 -0
- ansible_test/_internal/provider/layout/collection.py +1 -0
- ansible_test/_internal/provider/layout/unsupported.py +1 -0
- ansible_test/_internal/provider/source/__init__.py +1 -0
- ansible_test/_internal/provider/source/git.py +1 -0
- ansible_test/_internal/provider/source/installed.py +1 -0
- ansible_test/_internal/provider/source/unsupported.py +1 -0
- ansible_test/_internal/provider/source/unversioned.py +1 -0
- ansible_test/_internal/provisioning.py +1 -0
- ansible_test/_internal/pypi_proxy.py +6 -5
- ansible_test/_internal/python_requirements.py +1 -0
- ansible_test/_internal/ssh.py +1 -0
- ansible_test/_internal/target.py +1 -0
- ansible_test/_internal/test.py +3 -2
- ansible_test/_internal/thread.py +1 -0
- ansible_test/_internal/timeout.py +1 -0
- ansible_test/_internal/util.py +1 -0
- ansible_test/_internal/util_common.py +5 -2
- ansible_test/_internal/venv.py +1 -0
- ansible_test/_util/controller/sanity/code-smell/action-plugin-docs.py +1 -0
- ansible_test/_util/controller/sanity/code-smell/changelog/sphinx.py +1 -0
- ansible_test/_util/controller/sanity/code-smell/changelog.py +1 -0
- ansible_test/_util/controller/sanity/code-smell/empty-init.py +1 -0
- ansible_test/_util/controller/sanity/code-smell/line-endings.py +1 -0
- ansible_test/_util/controller/sanity/code-smell/no-assert.py +1 -0
- ansible_test/_util/controller/sanity/code-smell/no-get-exception.py +1 -0
- ansible_test/_util/controller/sanity/code-smell/no-illegal-filenames.py +1 -0
- ansible_test/_util/controller/sanity/code-smell/no-smart-quotes.py +1 -0
- ansible_test/_util/controller/sanity/code-smell/replace-urlopen.py +1 -0
- ansible_test/_util/controller/sanity/code-smell/runtime-metadata.py +28 -1
- ansible_test/_util/controller/sanity/code-smell/shebang.py +1 -0
- ansible_test/_util/controller/sanity/code-smell/symlinks.py +1 -0
- ansible_test/_util/controller/sanity/code-smell/use-argspec-type-path.py +1 -0
- ansible_test/_util/controller/sanity/code-smell/use-compat-six.py +1 -0
- ansible_test/_util/controller/sanity/integration-aliases/yaml_to_json.py +2 -1
- ansible_test/_util/controller/sanity/pep8/current-ignore.txt +4 -0
- ansible_test/_util/controller/sanity/pylint/config/ansible-test-target.cfg +7 -5
- ansible_test/_util/controller/sanity/pylint/config/ansible-test.cfg +7 -5
- ansible_test/_util/controller/sanity/pylint/config/code-smell.cfg +7 -5
- ansible_test/_util/controller/sanity/pylint/config/collection.cfg +3 -5
- ansible_test/_util/controller/sanity/pylint/config/default.cfg +7 -7
- ansible_test/_util/controller/sanity/pylint/plugins/deprecated.py +1 -13
- ansible_test/_util/controller/sanity/pylint/plugins/hide_unraisable.py +1 -0
- ansible_test/_util/controller/sanity/pylint/plugins/string_format.py +1 -8
- ansible_test/_util/controller/sanity/pylint/plugins/unwanted.py +1 -8
- ansible_test/_util/controller/sanity/validate-modules/validate_modules/main.py +55 -28
- ansible_test/_util/controller/sanity/validate-modules/validate_modules/module_args.py +12 -5
- ansible_test/_util/controller/sanity/validate-modules/validate_modules/schema.py +13 -2
- ansible_test/_util/controller/sanity/validate-modules/validate_modules/utils.py +1 -0
- ansible_test/_util/controller/sanity/yamllint/yamllinter.py +35 -17
- ansible_test/_util/controller/tools/collection_detail.py +1 -0
- ansible_test/_util/controller/tools/yaml_to_json.py +2 -1
- ansible_test/_util/target/pytest/plugins/ansible_forked.py +6 -1
- ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py +2 -1
- ansible_test/_util/target/pytest/plugins/ansible_pytest_coverage.py +1 -0
- ansible_test/_util/target/sanity/compile/compile.py +1 -0
- ansible_test/_util/target/sanity/import/importer.py +15 -16
- ansible_test/_util/target/setup/bootstrap.sh +9 -20
- ansible_test/_util/target/setup/probe_cgroups.py +1 -0
- ansible_test/_util/target/setup/quiet_pip.py +1 -0
- ansible_test/_util/target/setup/requirements.py +35 -27
- ansible_test/_util/target/tools/virtualenvcheck.py +2 -1
- ansible_test/_util/target/tools/yamlcheck.py +2 -1
- ansible/compat/selectors.py +0 -32
- ansible/errors/yaml_strings.py +0 -138
- ansible/executor/action_write_locks.py +0 -44
- ansible/executor/discovery/python_target.py +0 -47
- ansible/executor/powershell/module_powershell_wrapper.ps1 +0 -86
- ansible/executor/powershell/module_script_wrapper.ps1 +0 -22
- ansible/module_utils/compat/importlib.py +0 -26
- ansible/module_utils/compat/selectors.py +0 -32
- ansible/module_utils/pycompat24.py +0 -73
- ansible/parsing/yaml/constructor.py +0 -178
- ansible/template/native_helpers.py +0 -251
- ansible/template/template.py +0 -43
- ansible/template/vars.py +0 -77
- ansible/utils/native_jinja.py +0 -11
- ansible/vars/fact_cache.py +0 -71
- ansible_core-2.18.5rc1.dist-info/RECORD +0 -992
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b2.dist-info}/Apache-License.txt +0 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b2.dist-info}/COPYING +0 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b2.dist-info}/MIT-license.txt +0 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b2.dist-info}/PSF-license.txt +0 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b2.dist-info}/entry_points.txt +0 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b2.dist-info}/simplified_bsd.txt +0 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b2.dist-info}/top_level.txt +0 -0
ansible/config/base.yml
CHANGED
@@ -9,6 +9,50 @@ _ANSIBLE_CONNECTION_PATH:
|
|
9
9
|
- For internal use only.
|
10
10
|
type: path
|
11
11
|
version_added: "2.18"
|
12
|
+
_CALLBACK_DISPATCH_ERROR_BEHAVIOR:
|
13
|
+
name: Callback dispatch error behavior
|
14
|
+
default: warning
|
15
|
+
description:
|
16
|
+
- Action to take when a callback dispatch results in an error.
|
17
|
+
type: choices
|
18
|
+
choices: &basic_error
|
19
|
+
error: issue a 'fatal' error and stop the play
|
20
|
+
warning: issue a warning but continue
|
21
|
+
ignore: just continue silently
|
22
|
+
env: [ { name: _ANSIBLE_CALLBACK_DISPATCH_ERROR_BEHAVIOR } ]
|
23
|
+
version_added: '2.19'
|
24
|
+
ALLOW_BROKEN_CONDITIONALS:
|
25
|
+
# This config option will be deprecated once it no longer has any effect (2.23).
|
26
|
+
name: Allow broken conditionals
|
27
|
+
default: false
|
28
|
+
description:
|
29
|
+
- When enabled, this option allows conditionals with non-boolean results to be used.
|
30
|
+
- A deprecation warning will be emitted in these cases.
|
31
|
+
- By default, non-boolean conditionals result in an error.
|
32
|
+
- Such results often indicate unintentional use of templates where they are not supported, resulting in a conditional that is always true.
|
33
|
+
- When this option is enabled, conditional expressions which are a literal ``None`` or empty string will evaluate as true for backwards compatibility.
|
34
|
+
env: [{name: ANSIBLE_ALLOW_BROKEN_CONDITIONALS}]
|
35
|
+
ini:
|
36
|
+
- {key: allow_broken_conditionals, section: defaults}
|
37
|
+
type: boolean
|
38
|
+
version_added: "2.19"
|
39
|
+
ALLOW_EMBEDDED_TEMPLATES:
|
40
|
+
name: Allow embedded templates
|
41
|
+
default: true
|
42
|
+
description:
|
43
|
+
- When enabled, this option allows embedded templates to be used for specific backward compatibility scenarios.
|
44
|
+
- A deprecation warning will be emitted in these cases.
|
45
|
+
- First, conditionals (for example, ``failed_when``, ``until``, ``assert.that``) fully enclosed in template delimiters.
|
46
|
+
- "Second, string constants in conditionals (for example, ``when: some_var == '{{ some_other_var }}'``)."
|
47
|
+
- Finally, positional arguments to lookups (for example, ``lookup('pipe', 'echo {{ some_var }}')``).
|
48
|
+
- This feature is deprecated, since embedded templates are unnecessary in these cases.
|
49
|
+
- When disabled, use of embedded templates will result in an error.
|
50
|
+
- A future release will disable this feature by default.
|
51
|
+
env: [{name: ANSIBLE_ALLOW_EMBEDDED_TEMPLATES}]
|
52
|
+
ini:
|
53
|
+
- {key: allow_embedded_templates, section: defaults}
|
54
|
+
type: boolean
|
55
|
+
version_added: "2.19"
|
12
56
|
ANSIBLE_HOME:
|
13
57
|
name: The Ansible home path
|
14
58
|
description:
|
@@ -160,33 +204,33 @@ AGNOSTIC_BECOME_PROMPT:
|
|
160
204
|
yaml: {key: privilege_escalation.agnostic_become_prompt}
|
161
205
|
version_added: "2.5"
|
162
206
|
CACHE_PLUGIN:
|
163
|
-
name: Persistent Cache plugin
|
207
|
+
name: Persistent Fact Cache plugin
|
164
208
|
default: memory
|
165
|
-
description: Chooses which cache plugin to use
|
209
|
+
description: Chooses which fact cache plugin to use. By default, no cache is used and facts do not persist between runs.
|
166
210
|
env: [{name: ANSIBLE_CACHE_PLUGIN}]
|
167
211
|
ini:
|
168
212
|
- {key: fact_caching, section: defaults}
|
169
213
|
yaml: {key: facts.cache.plugin}
|
170
214
|
CACHE_PLUGIN_CONNECTION:
|
171
|
-
name: Cache Plugin URI
|
215
|
+
name: Fact Cache Plugin URI
|
172
216
|
default: ~
|
173
|
-
description: Defines connection or path information for the cache plugin.
|
217
|
+
description: Defines connection or path information for the fact cache plugin.
|
174
218
|
env: [{name: ANSIBLE_CACHE_PLUGIN_CONNECTION}]
|
175
219
|
ini:
|
176
220
|
- {key: fact_caching_connection, section: defaults}
|
177
221
|
yaml: {key: facts.cache.uri}
|
178
222
|
CACHE_PLUGIN_PREFIX:
|
179
|
-
name: Cache Plugin table prefix
|
223
|
+
name: Fact Cache Plugin table prefix
|
180
224
|
default: ansible_facts
|
181
|
-
description: Prefix to use for cache plugin files/tables.
|
225
|
+
description: Prefix to use for fact cache plugin files/tables.
|
182
226
|
env: [{name: ANSIBLE_CACHE_PLUGIN_PREFIX}]
|
183
227
|
ini:
|
184
228
|
- {key: fact_caching_prefix, section: defaults}
|
185
229
|
yaml: {key: facts.cache.prefix}
|
186
230
|
CACHE_PLUGIN_TIMEOUT:
|
187
|
-
name: Cache Plugin expiration timeout
|
231
|
+
name: Fact Cache Plugin expiration timeout
|
188
232
|
default: 86400
|
189
|
-
description: Expiration timeout for the cache plugin data.
|
233
|
+
description: Expiration timeout for the fact cache plugin data.
|
190
234
|
env: [{name: ANSIBLE_CACHE_PLUGIN_TIMEOUT}]
|
191
235
|
ini:
|
192
236
|
- {key: fact_caching_timeout, section: defaults}
|
@@ -212,18 +256,9 @@ COLLECTIONS_PATHS:
|
|
212
256
|
default: '{{ ANSIBLE_HOME ~ "/collections:/usr/share/ansible/collections" }}'
|
213
257
|
type: pathspec
|
214
258
|
env:
|
215
|
-
- name: ANSIBLE_COLLECTIONS_PATHS
|
216
|
-
deprecated:
|
217
|
-
why: does not fit var naming standard, use the singular form ANSIBLE_COLLECTIONS_PATH instead
|
218
|
-
version: "2.19"
|
219
259
|
- name: ANSIBLE_COLLECTIONS_PATH
|
220
260
|
version_added: '2.10'
|
221
261
|
ini:
|
222
|
-
- key: collections_paths
|
223
|
-
section: defaults
|
224
|
-
deprecated:
|
225
|
-
why: does not fit var naming standard, use the singular form collections_path instead
|
226
|
-
version: "2.19"
|
227
262
|
- key: collections_path
|
228
263
|
section: defaults
|
229
264
|
version_added: '2.10'
|
@@ -233,10 +268,7 @@ COLLECTIONS_ON_ANSIBLE_VERSION_MISMATCH:
|
|
233
268
|
- When a collection is loaded that does not support the running Ansible version (with the collection metadata key `requires_ansible`).
|
234
269
|
env: [{name: ANSIBLE_COLLECTIONS_ON_ANSIBLE_VERSION_MISMATCH}]
|
235
270
|
ini: [{key: collections_on_ansible_version_mismatch, section: defaults}]
|
236
|
-
choices:
|
237
|
-
error: issue a 'fatal' error and stop the play
|
238
|
-
warning: issue a warning but continue
|
239
|
-
ignore: just continue silently
|
271
|
+
choices: *basic_error
|
240
272
|
default: warning
|
241
273
|
COLOR_CHANGED:
|
242
274
|
name: Color for 'changed' task status
|
@@ -505,6 +537,10 @@ DEFAULT_ALLOW_UNSAFE_LOOKUPS:
|
|
505
537
|
- {key: allow_unsafe_lookups, section: defaults}
|
506
538
|
type: boolean
|
507
539
|
version_added: "2.2.3"
|
540
|
+
deprecated:
|
541
|
+
why: This option is no longer used in the Ansible Core code base.
|
542
|
+
version: "2.23"
|
543
|
+
alternatives: Lookup plugins are responsible for tagging strings containing templates to allow evaluation as a template.
|
508
544
|
DEFAULT_ASK_PASS:
|
509
545
|
name: Ask for the login password
|
510
546
|
default: False
|
@@ -764,15 +800,20 @@ DEFAULT_INVENTORY_PLUGIN_PATH:
|
|
764
800
|
DEFAULT_JINJA2_EXTENSIONS:
|
765
801
|
name: Enabled Jinja2 extensions
|
766
802
|
default: []
|
803
|
+
type: list
|
767
804
|
description:
|
768
805
|
- This is a developer-specific feature that allows enabling additional Jinja2 extensions.
|
769
806
|
- "See the Jinja2 documentation for details. If you do not know what these do, you probably don't need to change this setting :)"
|
770
807
|
env: [{name: ANSIBLE_JINJA2_EXTENSIONS}]
|
771
808
|
ini:
|
772
809
|
- {key: jinja2_extensions, section: defaults}
|
810
|
+
deprecated:
|
811
|
+
why: Jinja2 extensions have been deprecated
|
812
|
+
version: "2.23"
|
813
|
+
alternatives: Ansible-supported Jinja plugins (tests, filters, lookups)
|
773
814
|
DEFAULT_JINJA2_NATIVE:
|
774
815
|
name: Use Jinja2's NativeEnvironment for templating
|
775
|
-
default:
|
816
|
+
default: True
|
776
817
|
description: This option preserves variable types during template operations.
|
777
818
|
env: [{name: ANSIBLE_JINJA2_NATIVE}]
|
778
819
|
ini:
|
@@ -780,6 +821,10 @@ DEFAULT_JINJA2_NATIVE:
|
|
780
821
|
type: boolean
|
781
822
|
yaml: {key: jinja2_native}
|
782
823
|
version_added: 2.7
|
824
|
+
deprecated:
|
825
|
+
why: This option is no longer used in the Ansible Core code base.
|
826
|
+
version: "2.23"
|
827
|
+
alternatives: Jinja2 native mode is now the default and only option.
|
783
828
|
DEFAULT_KEEP_REMOTE_FILES:
|
784
829
|
name: Keep remote files
|
785
830
|
default: False
|
@@ -791,7 +836,6 @@ DEFAULT_KEEP_REMOTE_FILES:
|
|
791
836
|
- {key: keep_remote_files, section: defaults}
|
792
837
|
type: boolean
|
793
838
|
DEFAULT_LIBVIRT_LXC_NOSECLABEL:
|
794
|
-
# TODO: move to plugin
|
795
839
|
name: No security label on Lxc
|
796
840
|
default: False
|
797
841
|
description:
|
@@ -803,6 +847,10 @@ DEFAULT_LIBVIRT_LXC_NOSECLABEL:
|
|
803
847
|
- {key: libvirt_lxc_noseclabel, section: selinux}
|
804
848
|
type: boolean
|
805
849
|
version_added: "2.1"
|
850
|
+
deprecated:
|
851
|
+
why: This option was moved to the plugin itself
|
852
|
+
version: "2.22"
|
853
|
+
alternatives: Use the option from the plugin itself.
|
806
854
|
DEFAULT_LOAD_CALLBACK_PLUGINS:
|
807
855
|
name: Load callbacks for adhoc
|
808
856
|
default: False
|
@@ -936,6 +984,10 @@ DEFAULT_NULL_REPRESENTATION:
|
|
936
984
|
ini:
|
937
985
|
- {key: null_representation, section: defaults}
|
938
986
|
type: raw
|
987
|
+
deprecated:
|
988
|
+
why: This option is no longer used in the Ansible Core code base.
|
989
|
+
version: "2.23"
|
990
|
+
alternatives: There is no alternative at the moment. A different mechanism would have to be implemented in the current code base.
|
939
991
|
DEFAULT_POLL_INTERVAL:
|
940
992
|
name: Async poll interval
|
941
993
|
default: 15
|
@@ -1135,6 +1187,10 @@ DEFAULT_UNDEFINED_VAR_BEHAVIOR:
|
|
1135
1187
|
ini:
|
1136
1188
|
- {key: error_on_undefined_vars, section: defaults}
|
1137
1189
|
type: boolean
|
1190
|
+
deprecated:
|
1191
|
+
why: This option is no longer used in the Ansible Core code base.
|
1192
|
+
version: "2.23"
|
1193
|
+
alternatives: There is no alternative at the moment. A different mechanism would have to be implemented in the current code base.
|
1138
1194
|
DEFAULT_VARS_PLUGIN_PATH:
|
1139
1195
|
name: Vars Plugins Path
|
1140
1196
|
default: '{{ ANSIBLE_HOME ~ "/plugins/vars:/usr/share/ansible/plugins/vars" }}'
|
@@ -1219,6 +1275,9 @@ DEPRECATION_WARNINGS:
|
|
1219
1275
|
ini:
|
1220
1276
|
- {key: deprecation_warnings, section: defaults}
|
1221
1277
|
type: boolean
|
1278
|
+
vars:
|
1279
|
+
- name: ansible_deprecation_warnings
|
1280
|
+
version_added: '2.19'
|
1222
1281
|
DEVEL_WARNING:
|
1223
1282
|
name: Running devel warning
|
1224
1283
|
default: True
|
@@ -1272,6 +1331,22 @@ DISPLAY_SKIPPED_HOSTS:
|
|
1272
1331
|
ini:
|
1273
1332
|
- {key: display_skipped_hosts, section: defaults}
|
1274
1333
|
type: boolean
|
1334
|
+
DISPLAY_TRACEBACK:
|
1335
|
+
name: Control traceback display
|
1336
|
+
default: never
|
1337
|
+
description: When to include tracebacks in extended error messages
|
1338
|
+
env:
|
1339
|
+
- name: ANSIBLE_DISPLAY_TRACEBACK
|
1340
|
+
ini:
|
1341
|
+
- {key: display_traceback, section: defaults}
|
1342
|
+
type: list
|
1343
|
+
choices:
|
1344
|
+
- error
|
1345
|
+
- warning
|
1346
|
+
- deprecated
|
1347
|
+
- always
|
1348
|
+
- never
|
1349
|
+
version_added: "2.19"
|
1275
1350
|
DOCSITE_ROOT_URL:
|
1276
1351
|
name: Root docsite URL
|
1277
1352
|
default: https://docs.ansible.com/ansible-core/
|
@@ -1579,21 +1654,12 @@ INTERPRETER_PYTHON:
|
|
1579
1654
|
description:
|
1580
1655
|
- Path to the Python interpreter to be used for module execution on remote targets, or an automatic discovery mode.
|
1581
1656
|
Supported discovery modes are ``auto`` (the default), ``auto_silent``, ``auto_legacy``, and ``auto_legacy_silent``.
|
1582
|
-
All discovery modes
|
1583
|
-
|
1584
|
-
|
1585
|
-
|
1586
|
-
|
1587
|
-
|
1588
|
-
_INTERPRETER_PYTHON_DISTRO_MAP:
|
1589
|
-
name: Mapping of known included platform pythons for various Linux distros
|
1590
|
-
default:
|
1591
|
-
# Entry only for testing
|
1592
|
-
ansible test:
|
1593
|
-
'99': /usr/bin/python99
|
1594
|
-
version_added: "2.8"
|
1595
|
-
# FUTURE: add inventory override once we're sure it can't be abused by a rogue target
|
1596
|
-
# FUTURE: add a platform layer to the map so we could use for, eg, freebsd/macos/etc?
|
1657
|
+
All discovery modes match against an ordered list of well-known Python interpreter locations.
|
1658
|
+
The fallback behavior will issue a warning that the interpreter should be set explicitly (since interpreters
|
1659
|
+
installed later may change which one is used). This warning behavior can be disabled by setting ``auto_silent``.
|
1660
|
+
The ``auto_legacy`` modes are deprecated and behave the same as their respective ``auto`` modes.
|
1661
|
+
They exist for backward-compatibility with older Ansible releases that always defaulted to ``/usr/bin/python3``,
|
1662
|
+
which will use that interpreter if present.
|
1597
1663
|
INTERPRETER_PYTHON_FALLBACK:
|
1598
1664
|
name: Ordered list of Python interpreters to check for in discovery
|
1599
1665
|
default:
|
@@ -1647,60 +1713,6 @@ INVENTORY_ANY_UNPARSED_IS_FAILED:
|
|
1647
1713
|
ini:
|
1648
1714
|
- {key: any_unparsed_is_failed, section: inventory}
|
1649
1715
|
version_added: "2.7"
|
1650
|
-
INVENTORY_CACHE_ENABLED:
|
1651
|
-
name: Inventory caching enabled
|
1652
|
-
default: False
|
1653
|
-
description:
|
1654
|
-
- Toggle to turn on inventory caching.
|
1655
|
-
- This setting has been moved to the individual inventory plugins as a plugin option :ref:`inventory_plugins`.
|
1656
|
-
- The existing configuration settings are still accepted with the inventory plugin adding additional options from inventory configuration.
|
1657
|
-
- This message will be removed in 2.16.
|
1658
|
-
env: [{name: ANSIBLE_INVENTORY_CACHE}]
|
1659
|
-
ini:
|
1660
|
-
- {key: cache, section: inventory}
|
1661
|
-
type: bool
|
1662
|
-
INVENTORY_CACHE_PLUGIN:
|
1663
|
-
name: Inventory cache plugin
|
1664
|
-
description:
|
1665
|
-
- The plugin for caching inventory.
|
1666
|
-
- This setting has been moved to the individual inventory plugins as a plugin option :ref:`inventory_plugins`.
|
1667
|
-
- The existing configuration settings are still accepted with the inventory plugin adding additional options from inventory and fact cache configuration.
|
1668
|
-
- This message will be removed in 2.16.
|
1669
|
-
env: [{name: ANSIBLE_INVENTORY_CACHE_PLUGIN}]
|
1670
|
-
ini:
|
1671
|
-
- {key: cache_plugin, section: inventory}
|
1672
|
-
INVENTORY_CACHE_PLUGIN_CONNECTION:
|
1673
|
-
name: Inventory cache plugin URI to override the defaults section
|
1674
|
-
description:
|
1675
|
-
- The inventory cache connection.
|
1676
|
-
- This setting has been moved to the individual inventory plugins as a plugin option :ref:`inventory_plugins`.
|
1677
|
-
- The existing configuration settings are still accepted with the inventory plugin adding additional options from inventory and fact cache configuration.
|
1678
|
-
- This message will be removed in 2.16.
|
1679
|
-
env: [{name: ANSIBLE_INVENTORY_CACHE_CONNECTION}]
|
1680
|
-
ini:
|
1681
|
-
- {key: cache_connection, section: inventory}
|
1682
|
-
INVENTORY_CACHE_PLUGIN_PREFIX:
|
1683
|
-
name: Inventory cache plugin table prefix
|
1684
|
-
description:
|
1685
|
-
- The table prefix for the cache plugin.
|
1686
|
-
- This setting has been moved to the individual inventory plugins as a plugin option :ref:`inventory_plugins`.
|
1687
|
-
- The existing configuration settings are still accepted with the inventory plugin adding additional options from inventory and fact cache configuration.
|
1688
|
-
- This message will be removed in 2.16.
|
1689
|
-
env: [{name: ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX}]
|
1690
|
-
default: ansible_inventory_
|
1691
|
-
ini:
|
1692
|
-
- {key: cache_prefix, section: inventory}
|
1693
|
-
INVENTORY_CACHE_TIMEOUT:
|
1694
|
-
name: Inventory cache plugin expiration timeout
|
1695
|
-
description:
|
1696
|
-
- Expiration timeout for the inventory cache plugin data.
|
1697
|
-
- This setting has been moved to the individual inventory plugins as a plugin option :ref:`inventory_plugins`.
|
1698
|
-
- The existing configuration settings are still accepted with the inventory plugin adding additional options from inventory and fact cache configuration.
|
1699
|
-
- This message will be removed in 2.16.
|
1700
|
-
default: 3600
|
1701
|
-
env: [{name: ANSIBLE_INVENTORY_CACHE_TIMEOUT}]
|
1702
|
-
ini:
|
1703
|
-
- {key: cache_timeout, section: inventory}
|
1704
1716
|
INVENTORY_ENABLED:
|
1705
1717
|
name: Active Inventory plugins
|
1706
1718
|
default: ['host_list', 'script', 'auto', 'yaml', 'ini', 'toml']
|
@@ -1719,7 +1731,7 @@ INVENTORY_EXPORT:
|
|
1719
1731
|
type: bool
|
1720
1732
|
INVENTORY_IGNORE_EXTS:
|
1721
1733
|
name: Inventory ignore extensions
|
1722
|
-
default: "{{(REJECT_EXTS + ('.orig', '.
|
1734
|
+
default: "{{(REJECT_EXTS + ('.orig', '.cfg', '.retry'))}}"
|
1723
1735
|
description: List of extensions to ignore when using a directory as an inventory source.
|
1724
1736
|
env: [{name: ANSIBLE_INVENTORY_IGNORE}]
|
1725
1737
|
ini:
|
@@ -1957,6 +1969,24 @@ SHOW_CUSTOM_STATS:
|
|
1957
1969
|
ini:
|
1958
1970
|
- {key: show_custom_stats, section: defaults}
|
1959
1971
|
type: bool
|
1972
|
+
SSH_AGENT:
|
1973
|
+
name: Manage an SSH Agent
|
1974
|
+
description: Manage an SSH Agent via Ansible. A configuration of ``none`` will not interact with an agent,
|
1975
|
+
``auto`` will start and destroy an agent via ``ssh-agent`` binary during the run, and a path
|
1976
|
+
to an SSH_AUTH_SOCK will allow interaction with a pre-existing agent.
|
1977
|
+
default: none
|
1978
|
+
type: string
|
1979
|
+
env: [{name: ANSIBLE_SSH_AGENT}]
|
1980
|
+
ini: [{key: ssh_agent, section: connection}]
|
1981
|
+
version_added: '2.19'
|
1982
|
+
SSH_AGENT_KEY_LIFETIME:
|
1983
|
+
name: Set a maximum lifetime when adding identities to an agent
|
1984
|
+
description: For keys inserted into an agent defined by ``SSH_AGENT``, define a lifetime, in seconds, that the key may remain
|
1985
|
+
in the agent.
|
1986
|
+
type: int
|
1987
|
+
env: [{name: ANSIBLE_SSH_AGENT_KEY_LIFETIME}]
|
1988
|
+
ini: [{key: ssh_agent_key_lifetime, section: connection}]
|
1989
|
+
version_added: '2.19'
|
1960
1990
|
STRING_TYPE_FILTERS:
|
1961
1991
|
name: Filters to preserve strings
|
1962
1992
|
default: [string, to_json, to_nice_json, to_yaml, to_nice_yaml, ppretty, json]
|
@@ -1967,6 +1997,10 @@ STRING_TYPE_FILTERS:
|
|
1967
1997
|
ini:
|
1968
1998
|
- {key: dont_type_filters, section: jinja2}
|
1969
1999
|
type: list
|
2000
|
+
deprecated:
|
2001
|
+
why: This option has no effect.
|
2002
|
+
version: "2.23"
|
2003
|
+
alternatives: None; native types returned from filters are always preserved.
|
1970
2004
|
SYSTEM_WARNINGS:
|
1971
2005
|
name: System warnings
|
1972
2006
|
default: True
|
@@ -2019,6 +2053,39 @@ TASK_TIMEOUT:
|
|
2019
2053
|
- {key: task_timeout, section: defaults}
|
2020
2054
|
type: integer
|
2021
2055
|
version_added: '2.10'
|
2056
|
+
_TEMPLAR_UNKNOWN_TYPE_CONVERSION:
|
2057
|
+
name: Templar unknown type conversion behavior
|
2058
|
+
default: warning
|
2059
|
+
description:
|
2060
|
+
- Action to take when an unknown type is converted for variable storage during template finalization.
|
2061
|
+
- This setting has no effect on the inability to store unsupported variable types as the result of templating.
|
2062
|
+
- Experimental diagnostic feature, subject to change.
|
2063
|
+
type: choices
|
2064
|
+
choices: *basic_error
|
2065
|
+
env: [{name: _ANSIBLE_TEMPLAR_UNKNOWN_TYPE_CONVERSION}]
|
2066
|
+
version_added: '2.19'
|
2067
|
+
_TEMPLAR_UNKNOWN_TYPE_ENCOUNTERED:
|
2068
|
+
name: Templar unknown type encountered behavior
|
2069
|
+
default: ignore
|
2070
|
+
description:
|
2071
|
+
- Action to take when an unknown type is encountered inside a template pipeline.
|
2072
|
+
- Experimental diagnostic feature, subject to change.
|
2073
|
+
type: choices
|
2074
|
+
choices: *basic_error
|
2075
|
+
env: [{name: _ANSIBLE_TEMPLAR_UNKNOWN_TYPE_ENCOUNTERED}]
|
2076
|
+
version_added: '2.19'
|
2077
|
+
_TEMPLAR_UNTRUSTED_TEMPLATE_BEHAVIOR:
|
2078
|
+
name: Templar untrusted template behavior
|
2079
|
+
default: ignore
|
2080
|
+
description:
|
2081
|
+
- Action to take when processing of an untrusted template is skipped.
|
2082
|
+
- For `ignore` or `warn`, the input template string is returned as-is.
|
2083
|
+
- This setting has no effect on expressions.
|
2084
|
+
- Experimental diagnostic feature, subject to change.
|
2085
|
+
type: choices
|
2086
|
+
choices: *basic_error
|
2087
|
+
env: [{name: _ANSIBLE_TEMPLAR_UNTRUSTED_TEMPLATE_BEHAVIOR}]
|
2088
|
+
version_added: '2.19'
|
2022
2089
|
WORKER_SHUTDOWN_POLL_COUNT:
|
2023
2090
|
name: Worker Shutdown Poll Count
|
2024
2091
|
default: 0
|
@@ -2081,6 +2148,12 @@ WIN_ASYNC_STARTUP_TIMEOUT:
|
|
2081
2148
|
vars:
|
2082
2149
|
- {name: ansible_win_async_startup_timeout}
|
2083
2150
|
version_added: '2.10'
|
2151
|
+
WRAP_STDERR:
|
2152
|
+
description: Control line-wrapping behavior on console warnings and errors from default output callbacks (eases pattern-based output testing)
|
2153
|
+
env: [{name: ANSIBLE_WRAP_STDERR}]
|
2154
|
+
default: false
|
2155
|
+
type: bool
|
2156
|
+
version_added: "2.19"
|
2084
2157
|
YAML_FILENAME_EXTENSIONS:
|
2085
2158
|
name: Valid YAML extensions
|
2086
2159
|
default: [".yml", ".yaml", ".json"]
|
@@ -2102,25 +2175,6 @@ NETCONF_SSH_CONFIG:
|
|
2102
2175
|
- {key: ssh_config, section: netconf_connection}
|
2103
2176
|
yaml: {key: netconf_connection.ssh_config}
|
2104
2177
|
default: null
|
2105
|
-
STRING_CONVERSION_ACTION:
|
2106
|
-
version_added: '2.8'
|
2107
|
-
description:
|
2108
|
-
- Action to take when a module parameter value is converted to a string (this does not affect variables).
|
2109
|
-
For string parameters, values such as '1.00', "['a', 'b',]", and 'yes', 'y', etc.
|
2110
|
-
will be converted by the YAML parser unless fully quoted.
|
2111
|
-
- Valid options are 'error', 'warn', and 'ignore'.
|
2112
|
-
- Since 2.8, this option defaults to 'warn' but will change to 'error' in 2.12.
|
2113
|
-
default: 'warn'
|
2114
|
-
env:
|
2115
|
-
- name: ANSIBLE_STRING_CONVERSION_ACTION
|
2116
|
-
ini:
|
2117
|
-
- section: defaults
|
2118
|
-
key: string_conversion_action
|
2119
|
-
type: string
|
2120
|
-
deprecated:
|
2121
|
-
why: This option is no longer used in the Ansible Core code base.
|
2122
|
-
version: "2.19"
|
2123
|
-
alternatives: There is no alternative at the moment. A different mechanism would have to be implemented in the current code base.
|
2124
2178
|
VALIDATE_ACTION_GROUP_METADATA:
|
2125
2179
|
version_added: '2.12'
|
2126
2180
|
description:
|