ansible-core 2.18.5rc1__py3-none-any.whl → 2.19.0b1__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/_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 +160 -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 +198 -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 +351 -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 +153 -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 +48 -46
- 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 +165 -108
- 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 +136 -76
- ansible/executor/stats.py +5 -5
- ansible/executor/task_executor.py +237 -236
- ansible/executor/task_queue_manager.py +62 -38
- ansible/executor/task_result.py +21 -12
- 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 +77 -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 +154 -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/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 +36 -339
- 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 +6 -15
- 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 +141 -123
- ansible/plugins/callback/default.py +30 -23
- ansible/plugins/callback/junit.py +28 -24
- ansible/plugins/callback/minimal.py +17 -14
- ansible/plugins/callback/oneline.py +13 -7
- ansible/plugins/callback/tree.py +10 -6
- 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 +218 -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 +94 -113
- ansible/plugins/strategy/debug.py +2 -2
- ansible/plugins/strategy/free.py +13 -28
- ansible/plugins/strategy/host_pinned.py +2 -2
- ansible/plugins/strategy/linear.py +31 -33
- ansible/plugins/terminal/__init__.py +4 -4
- ansible/plugins/test/__init__.py +7 -2
- ansible/plugins/test/core.py +54 -20
- 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 +368 -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 +428 -58
- 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 +28 -8
- ansible/utils/version.py +2 -2
- ansible/vars/clean.py +4 -4
- ansible/vars/hostvars.py +60 -90
- ansible/vars/manager.py +205 -264
- ansible/vars/reserved.py +8 -9
- ansible_core-2.19.0b1.dist-info/BSD-3-Clause.txt +28 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b1.dist-info}/METADATA +5 -4
- ansible_core-2.19.0b1.dist-info/RECORD +1070 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b1.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/utils/jsonify.py +0 -36
- 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.0b1.dist-info}/Apache-License.txt +0 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b1.dist-info}/COPYING +0 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b1.dist-info}/MIT-license.txt +0 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b1.dist-info}/PSF-license.txt +0 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b1.dist-info}/entry_points.txt +0 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b1.dist-info}/simplified_bsd.txt +0 -0
- {ansible_core-2.18.5rc1.dist-info → ansible_core-2.19.0b1.dist-info}/top_level.txt +0 -0
ansible/config/base.yml
CHANGED
@@ -9,6 +9,38 @@ _ANSIBLE_CONNECTION_PATH:
|
|
9
9
|
- For internal use only.
|
10
10
|
type: path
|
11
11
|
version_added: "2.18"
|
12
|
+
ALLOW_BROKEN_CONDITIONALS:
|
13
|
+
# This config option will be deprecated once it no longer has any effect (2.23).
|
14
|
+
name: Allow broken conditionals
|
15
|
+
default: false
|
16
|
+
description:
|
17
|
+
- When enabled, this option allows conditionals with non-boolean results to be used.
|
18
|
+
- A deprecation warning will be emitted in these cases.
|
19
|
+
- By default, non-boolean conditionals result in an error.
|
20
|
+
- Such results often indicate unintentional use of templates where they are not supported, resulting in a conditional that is always true.
|
21
|
+
- When this option is enabled, conditional expressions which are a literal ``None`` or empty string will evaluate as true for backwards compatibility.
|
22
|
+
env: [{name: ANSIBLE_ALLOW_BROKEN_CONDITIONALS}]
|
23
|
+
ini:
|
24
|
+
- {key: allow_broken_conditionals, section: defaults}
|
25
|
+
type: boolean
|
26
|
+
version_added: "2.19"
|
27
|
+
ALLOW_EMBEDDED_TEMPLATES:
|
28
|
+
name: Allow embedded templates
|
29
|
+
default: true
|
30
|
+
description:
|
31
|
+
- When enabled, this option allows embedded templates to be used for specific backward compatibility scenarios.
|
32
|
+
- A deprecation warning will be emitted in these cases.
|
33
|
+
- First, conditionals (for example, ``failed_when``, ``until``, ``assert.that``) fully enclosed in template delimiters.
|
34
|
+
- "Second, string constants in conditionals (for example, ``when: some_var == '{{ some_other_var }}'``)."
|
35
|
+
- Finally, positional arguments to lookups (for example, ``lookup('pipe', 'echo {{ some_var }}')``).
|
36
|
+
- This feature is deprecated, since embedded templates are unnecessary in these cases.
|
37
|
+
- When disabled, use of embedded templates will result in an error.
|
38
|
+
- A future release will disable this feature by default.
|
39
|
+
env: [{name: ANSIBLE_ALLOW_EMBEDDED_TEMPLATES}]
|
40
|
+
ini:
|
41
|
+
- {key: allow_embedded_templates, section: defaults}
|
42
|
+
type: boolean
|
43
|
+
version_added: "2.19"
|
12
44
|
ANSIBLE_HOME:
|
13
45
|
name: The Ansible home path
|
14
46
|
description:
|
@@ -160,38 +192,50 @@ AGNOSTIC_BECOME_PROMPT:
|
|
160
192
|
yaml: {key: privilege_escalation.agnostic_become_prompt}
|
161
193
|
version_added: "2.5"
|
162
194
|
CACHE_PLUGIN:
|
163
|
-
name: Persistent Cache plugin
|
195
|
+
name: Persistent Fact Cache plugin
|
164
196
|
default: memory
|
165
|
-
description: Chooses which cache plugin to use
|
197
|
+
description: Chooses which fact cache plugin to use. By default, no cache is used and facts do not persist between runs.
|
166
198
|
env: [{name: ANSIBLE_CACHE_PLUGIN}]
|
167
199
|
ini:
|
168
200
|
- {key: fact_caching, section: defaults}
|
169
201
|
yaml: {key: facts.cache.plugin}
|
170
202
|
CACHE_PLUGIN_CONNECTION:
|
171
|
-
name: Cache Plugin URI
|
203
|
+
name: Fact Cache Plugin URI
|
172
204
|
default: ~
|
173
|
-
description: Defines connection or path information for the cache plugin.
|
205
|
+
description: Defines connection or path information for the fact cache plugin.
|
174
206
|
env: [{name: ANSIBLE_CACHE_PLUGIN_CONNECTION}]
|
175
207
|
ini:
|
176
208
|
- {key: fact_caching_connection, section: defaults}
|
177
209
|
yaml: {key: facts.cache.uri}
|
178
210
|
CACHE_PLUGIN_PREFIX:
|
179
|
-
name: Cache Plugin table prefix
|
211
|
+
name: Fact Cache Plugin table prefix
|
180
212
|
default: ansible_facts
|
181
|
-
description: Prefix to use for cache plugin files/tables.
|
213
|
+
description: Prefix to use for fact cache plugin files/tables.
|
182
214
|
env: [{name: ANSIBLE_CACHE_PLUGIN_PREFIX}]
|
183
215
|
ini:
|
184
216
|
- {key: fact_caching_prefix, section: defaults}
|
185
217
|
yaml: {key: facts.cache.prefix}
|
186
218
|
CACHE_PLUGIN_TIMEOUT:
|
187
|
-
name: Cache Plugin expiration timeout
|
219
|
+
name: Fact Cache Plugin expiration timeout
|
188
220
|
default: 86400
|
189
|
-
description: Expiration timeout for the cache plugin data.
|
221
|
+
description: Expiration timeout for the fact cache plugin data.
|
190
222
|
env: [{name: ANSIBLE_CACHE_PLUGIN_TIMEOUT}]
|
191
223
|
ini:
|
192
224
|
- {key: fact_caching_timeout, section: defaults}
|
193
225
|
type: integer
|
194
226
|
yaml: {key: facts.cache.timeout}
|
227
|
+
_CALLBACK_DISPATCH_ERROR_BEHAVIOR:
|
228
|
+
name: Callback dispatch error behavior
|
229
|
+
default: warn
|
230
|
+
description:
|
231
|
+
- Action to take when a callback dispatch results in an error.
|
232
|
+
type: choices
|
233
|
+
choices: &choices_ignore_warn_fail
|
234
|
+
- ignore
|
235
|
+
- warn
|
236
|
+
- fail
|
237
|
+
env: [ { name: _ANSIBLE_CALLBACK_DISPATCH_ERROR_BEHAVIOR } ]
|
238
|
+
version_added: '2.19'
|
195
239
|
COLLECTIONS_SCAN_SYS_PATH:
|
196
240
|
name: Scan PYTHONPATH for installed collections
|
197
241
|
description: A boolean to enable or disable scanning the sys.path for installed collections.
|
@@ -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'
|
@@ -505,6 +540,10 @@ DEFAULT_ALLOW_UNSAFE_LOOKUPS:
|
|
505
540
|
- {key: allow_unsafe_lookups, section: defaults}
|
506
541
|
type: boolean
|
507
542
|
version_added: "2.2.3"
|
543
|
+
deprecated:
|
544
|
+
why: This option is no longer used in the Ansible Core code base.
|
545
|
+
version: "2.23"
|
546
|
+
alternatives: Lookup plugins are responsible for tagging strings containing templates to allow evaluation as a template.
|
508
547
|
DEFAULT_ASK_PASS:
|
509
548
|
name: Ask for the login password
|
510
549
|
default: False
|
@@ -764,15 +803,20 @@ DEFAULT_INVENTORY_PLUGIN_PATH:
|
|
764
803
|
DEFAULT_JINJA2_EXTENSIONS:
|
765
804
|
name: Enabled Jinja2 extensions
|
766
805
|
default: []
|
806
|
+
type: list
|
767
807
|
description:
|
768
808
|
- This is a developer-specific feature that allows enabling additional Jinja2 extensions.
|
769
809
|
- "See the Jinja2 documentation for details. If you do not know what these do, you probably don't need to change this setting :)"
|
770
810
|
env: [{name: ANSIBLE_JINJA2_EXTENSIONS}]
|
771
811
|
ini:
|
772
812
|
- {key: jinja2_extensions, section: defaults}
|
813
|
+
deprecated:
|
814
|
+
why: Jinja2 extensions have been deprecated
|
815
|
+
version: "2.23"
|
816
|
+
alternatives: Ansible-supported Jinja plugins (tests, filters, lookups)
|
773
817
|
DEFAULT_JINJA2_NATIVE:
|
774
818
|
name: Use Jinja2's NativeEnvironment for templating
|
775
|
-
default:
|
819
|
+
default: True
|
776
820
|
description: This option preserves variable types during template operations.
|
777
821
|
env: [{name: ANSIBLE_JINJA2_NATIVE}]
|
778
822
|
ini:
|
@@ -780,6 +824,10 @@ DEFAULT_JINJA2_NATIVE:
|
|
780
824
|
type: boolean
|
781
825
|
yaml: {key: jinja2_native}
|
782
826
|
version_added: 2.7
|
827
|
+
deprecated:
|
828
|
+
why: This option is no longer used in the Ansible Core code base.
|
829
|
+
version: "2.23"
|
830
|
+
alternatives: Jinja2 native mode is now the default and only option.
|
783
831
|
DEFAULT_KEEP_REMOTE_FILES:
|
784
832
|
name: Keep remote files
|
785
833
|
default: False
|
@@ -791,7 +839,6 @@ DEFAULT_KEEP_REMOTE_FILES:
|
|
791
839
|
- {key: keep_remote_files, section: defaults}
|
792
840
|
type: boolean
|
793
841
|
DEFAULT_LIBVIRT_LXC_NOSECLABEL:
|
794
|
-
# TODO: move to plugin
|
795
842
|
name: No security label on Lxc
|
796
843
|
default: False
|
797
844
|
description:
|
@@ -803,6 +850,10 @@ DEFAULT_LIBVIRT_LXC_NOSECLABEL:
|
|
803
850
|
- {key: libvirt_lxc_noseclabel, section: selinux}
|
804
851
|
type: boolean
|
805
852
|
version_added: "2.1"
|
853
|
+
deprecated:
|
854
|
+
why: This option was moved to the plugin itself
|
855
|
+
version: "2.22"
|
856
|
+
alternatives: Use the option from the plugin itself.
|
806
857
|
DEFAULT_LOAD_CALLBACK_PLUGINS:
|
807
858
|
name: Load callbacks for adhoc
|
808
859
|
default: False
|
@@ -936,6 +987,10 @@ DEFAULT_NULL_REPRESENTATION:
|
|
936
987
|
ini:
|
937
988
|
- {key: null_representation, section: defaults}
|
938
989
|
type: raw
|
990
|
+
deprecated:
|
991
|
+
why: This option is no longer used in the Ansible Core code base.
|
992
|
+
version: "2.23"
|
993
|
+
alternatives: There is no alternative at the moment. A different mechanism would have to be implemented in the current code base.
|
939
994
|
DEFAULT_POLL_INTERVAL:
|
940
995
|
name: Async poll interval
|
941
996
|
default: 15
|
@@ -1135,6 +1190,10 @@ DEFAULT_UNDEFINED_VAR_BEHAVIOR:
|
|
1135
1190
|
ini:
|
1136
1191
|
- {key: error_on_undefined_vars, section: defaults}
|
1137
1192
|
type: boolean
|
1193
|
+
deprecated:
|
1194
|
+
why: This option is no longer used in the Ansible Core code base.
|
1195
|
+
version: "2.23"
|
1196
|
+
alternatives: There is no alternative at the moment. A different mechanism would have to be implemented in the current code base.
|
1138
1197
|
DEFAULT_VARS_PLUGIN_PATH:
|
1139
1198
|
name: Vars Plugins Path
|
1140
1199
|
default: '{{ ANSIBLE_HOME ~ "/plugins/vars:/usr/share/ansible/plugins/vars" }}'
|
@@ -1219,6 +1278,9 @@ DEPRECATION_WARNINGS:
|
|
1219
1278
|
ini:
|
1220
1279
|
- {key: deprecation_warnings, section: defaults}
|
1221
1280
|
type: boolean
|
1281
|
+
vars:
|
1282
|
+
- name: ansible_deprecation_warnings
|
1283
|
+
version_added: '2.19'
|
1222
1284
|
DEVEL_WARNING:
|
1223
1285
|
name: Running devel warning
|
1224
1286
|
default: True
|
@@ -1272,6 +1334,22 @@ DISPLAY_SKIPPED_HOSTS:
|
|
1272
1334
|
ini:
|
1273
1335
|
- {key: display_skipped_hosts, section: defaults}
|
1274
1336
|
type: boolean
|
1337
|
+
DISPLAY_TRACEBACK:
|
1338
|
+
name: Control traceback display
|
1339
|
+
default: never
|
1340
|
+
description: When to include tracebacks in extended error messages
|
1341
|
+
env:
|
1342
|
+
- name: ANSIBLE_DISPLAY_TRACEBACK
|
1343
|
+
ini:
|
1344
|
+
- {key: display_traceback, section: defaults}
|
1345
|
+
type: list
|
1346
|
+
choices:
|
1347
|
+
- error
|
1348
|
+
- warning
|
1349
|
+
- deprecated
|
1350
|
+
- always
|
1351
|
+
- never
|
1352
|
+
version_added: "2.19"
|
1275
1353
|
DOCSITE_ROOT_URL:
|
1276
1354
|
name: Root docsite URL
|
1277
1355
|
default: https://docs.ansible.com/ansible-core/
|
@@ -1579,21 +1657,12 @@ INTERPRETER_PYTHON:
|
|
1579
1657
|
description:
|
1580
1658
|
- Path to the Python interpreter to be used for module execution on remote targets, or an automatic discovery mode.
|
1581
1659
|
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?
|
1660
|
+
All discovery modes match against an ordered list of well-known Python interpreter locations.
|
1661
|
+
The fallback behavior will issue a warning that the interpreter should be set explicitly (since interpreters
|
1662
|
+
installed later may change which one is used). This warning behavior can be disabled by setting ``auto_silent``.
|
1663
|
+
The ``auto_legacy`` modes are deprecated and behave the same as their respective ``auto`` modes.
|
1664
|
+
They exist for backward-compatibility with older Ansible releases that always defaulted to ``/usr/bin/python3``,
|
1665
|
+
which will use that interpreter if present.
|
1597
1666
|
INTERPRETER_PYTHON_FALLBACK:
|
1598
1667
|
name: Ordered list of Python interpreters to check for in discovery
|
1599
1668
|
default:
|
@@ -1647,60 +1716,6 @@ INVENTORY_ANY_UNPARSED_IS_FAILED:
|
|
1647
1716
|
ini:
|
1648
1717
|
- {key: any_unparsed_is_failed, section: inventory}
|
1649
1718
|
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
1719
|
INVENTORY_ENABLED:
|
1705
1720
|
name: Active Inventory plugins
|
1706
1721
|
default: ['host_list', 'script', 'auto', 'yaml', 'ini', 'toml']
|
@@ -1719,7 +1734,7 @@ INVENTORY_EXPORT:
|
|
1719
1734
|
type: bool
|
1720
1735
|
INVENTORY_IGNORE_EXTS:
|
1721
1736
|
name: Inventory ignore extensions
|
1722
|
-
default: "{{(REJECT_EXTS + ('.orig', '.
|
1737
|
+
default: "{{(REJECT_EXTS + ('.orig', '.cfg', '.retry'))}}"
|
1723
1738
|
description: List of extensions to ignore when using a directory as an inventory source.
|
1724
1739
|
env: [{name: ANSIBLE_INVENTORY_IGNORE}]
|
1725
1740
|
ini:
|
@@ -1957,6 +1972,24 @@ SHOW_CUSTOM_STATS:
|
|
1957
1972
|
ini:
|
1958
1973
|
- {key: show_custom_stats, section: defaults}
|
1959
1974
|
type: bool
|
1975
|
+
SSH_AGENT:
|
1976
|
+
name: Manage an SSH Agent
|
1977
|
+
description: Manage an SSH Agent via Ansible. A configuration of ``none`` will not interact with an agent,
|
1978
|
+
``auto`` will start and destroy an agent via ``ssh-agent`` binary during the run, and a path
|
1979
|
+
to an SSH_AUTH_SOCK will allow interaction with a pre-existing agent.
|
1980
|
+
default: none
|
1981
|
+
type: string
|
1982
|
+
env: [{name: ANSIBLE_SSH_AGENT}]
|
1983
|
+
ini: [{key: ssh_agent, section: connection}]
|
1984
|
+
version_added: '2.19'
|
1985
|
+
SSH_AGENT_KEY_LIFETIME:
|
1986
|
+
name: Set a maximum lifetime when adding identities to an agent
|
1987
|
+
description: For keys inserted into an agent defined by ``SSH_AGENT``, define a lifetime, in seconds, that the key may remain
|
1988
|
+
in the agent.
|
1989
|
+
type: int
|
1990
|
+
env: [{name: ANSIBLE_SSH_AGENT_KEY_LIFETIME}]
|
1991
|
+
ini: [{key: ssh_agent_key_lifetime, section: connection}]
|
1992
|
+
version_added: '2.19'
|
1960
1993
|
STRING_TYPE_FILTERS:
|
1961
1994
|
name: Filters to preserve strings
|
1962
1995
|
default: [string, to_json, to_nice_json, to_yaml, to_nice_yaml, ppretty, json]
|
@@ -1967,6 +2000,10 @@ STRING_TYPE_FILTERS:
|
|
1967
2000
|
ini:
|
1968
2001
|
- {key: dont_type_filters, section: jinja2}
|
1969
2002
|
type: list
|
2003
|
+
deprecated:
|
2004
|
+
why: This option has no effect.
|
2005
|
+
version: "2.23"
|
2006
|
+
alternatives: None; native types returned from filters are always preserved.
|
1970
2007
|
SYSTEM_WARNINGS:
|
1971
2008
|
name: System warnings
|
1972
2009
|
default: True
|
@@ -2019,6 +2056,39 @@ TASK_TIMEOUT:
|
|
2019
2056
|
- {key: task_timeout, section: defaults}
|
2020
2057
|
type: integer
|
2021
2058
|
version_added: '2.10'
|
2059
|
+
_TEMPLAR_UNKNOWN_TYPE_CONVERSION:
|
2060
|
+
name: Templar unknown type conversion behavior
|
2061
|
+
default: warn
|
2062
|
+
description:
|
2063
|
+
- Action to take when an unknown type is converted for variable storage during template finalization.
|
2064
|
+
- This setting has no effect on the inability to store unsupported variable types as the result of templating.
|
2065
|
+
- Experimental diagnostic feature, subject to change.
|
2066
|
+
type: choices
|
2067
|
+
choices: *choices_ignore_warn_fail
|
2068
|
+
env: [{name: _ANSIBLE_TEMPLAR_UNKNOWN_TYPE_CONVERSION}]
|
2069
|
+
version_added: '2.19'
|
2070
|
+
_TEMPLAR_UNKNOWN_TYPE_ENCOUNTERED:
|
2071
|
+
name: Templar unknown type encountered behavior
|
2072
|
+
default: ignore
|
2073
|
+
description:
|
2074
|
+
- Action to take when an unknown type is encountered inside a template pipeline.
|
2075
|
+
- Experimental diagnostic feature, subject to change.
|
2076
|
+
type: choices
|
2077
|
+
choices: *choices_ignore_warn_fail
|
2078
|
+
env: [{name: _ANSIBLE_TEMPLAR_UNKNOWN_TYPE_ENCOUNTERED}]
|
2079
|
+
version_added: '2.19'
|
2080
|
+
_TEMPLAR_UNTRUSTED_TEMPLATE_BEHAVIOR:
|
2081
|
+
name: Templar untrusted template behavior
|
2082
|
+
default: ignore
|
2083
|
+
description:
|
2084
|
+
- Action to take when processing of an untrusted template is skipped.
|
2085
|
+
- For `ignore` or `warn`, the input template string is returned as-is.
|
2086
|
+
- This setting has no effect on expressions.
|
2087
|
+
- Experimental diagnostic feature, subject to change.
|
2088
|
+
type: choices
|
2089
|
+
choices: *choices_ignore_warn_fail
|
2090
|
+
env: [{name: _ANSIBLE_TEMPLAR_UNTRUSTED_TEMPLATE_BEHAVIOR}]
|
2091
|
+
version_added: '2.19'
|
2022
2092
|
WORKER_SHUTDOWN_POLL_COUNT:
|
2023
2093
|
name: Worker Shutdown Poll Count
|
2024
2094
|
default: 0
|
@@ -2081,6 +2151,12 @@ WIN_ASYNC_STARTUP_TIMEOUT:
|
|
2081
2151
|
vars:
|
2082
2152
|
- {name: ansible_win_async_startup_timeout}
|
2083
2153
|
version_added: '2.10'
|
2154
|
+
WRAP_STDERR:
|
2155
|
+
description: Control line-wrapping behavior on console warnings and errors from default output callbacks (eases pattern-based output testing)
|
2156
|
+
env: [{name: ANSIBLE_WRAP_STDERR}]
|
2157
|
+
default: false
|
2158
|
+
type: bool
|
2159
|
+
version_added: "2.19"
|
2084
2160
|
YAML_FILENAME_EXTENSIONS:
|
2085
2161
|
name: Valid YAML extensions
|
2086
2162
|
default: [".yml", ".yaml", ".json"]
|
@@ -2102,25 +2178,6 @@ NETCONF_SSH_CONFIG:
|
|
2102
2178
|
- {key: ssh_config, section: netconf_connection}
|
2103
2179
|
yaml: {key: netconf_connection.ssh_config}
|
2104
2180
|
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
2181
|
VALIDATE_ACTION_GROUP_METADATA:
|
2125
2182
|
version_added: '2.12'
|
2126
2183
|
description:
|