Ansible 15 Porting Guide
Ansible 15 is based on Ansible-core 2.22.
We suggest you read this page along with the Ansible 15 Changelog to understand what updates you may need to make.
Introduction
This release adds secret masking. Ansible now registers known secret values, such as decrypted vault content, no_log module options, and prompted passwords, and replaces them with $REDACTED$ wherever it writes output.
The values themselves are unchanged, so playbooks keep working with the real data and only the rendered output is masked.
Most playbooks need no changes. Content that inspected the VALUE_SPECIFIED_IN_NO_LOG_PARAMETER placeholder, and modules or plugins that stripped secrets from results by hand, should be reviewed.
Authors of custom callback plugins should update them to declare support for masking, as described in Callback plugins.
We recommend you test your playbooks, callback plugins, and any tooling that consumes Ansible output in a staging environment with this release. See Masking secrets in Ansible output for the user guide and Handling secrets in modules and plugins for the developer guide.
Playbook
Secret masking
Ansible now masks registered secrets in its output. Values such as decrypted vault content, no_log module option values, and prompted passwords are replaced with $REDACTED$ on the screen, in the log_path log file, in callback output, and in module logs on the managed node. The values themselves are unchanged and remain usable by tasks. Use the new register_secret filter to register your own values and the mask_secrets filter to redact registered secrets from a string. See Masking secrets in Ansible output for details, including how secrets are matched and the limitations of masking.
Module options marked with no_log: true are no longer replaced with the literal VALUE_SPECIFIED_IN_NO_LOG_PARAMETER in the module result. The real value is kept in the result and registered as a secret so it is masked in output. Playbooks that compared a result value against VALUE_SPECIFIED_IN_NO_LOG_PARAMETER should be updated.
One consequence of this change is that a no_log option value is now masked wherever it appears in later output, not only in the module result. A very short value, such as one or two characters, is also masked inside unrelated words and values, which can make output hard to read, and the pattern of placeholders can reveal the value. See Short secrets for details.
The register_secret filter fails on a value that is not a string or is empty after leading and trailing whitespace is stripped, because such a value cannot be masked. Set the filter’s validation_action option to warn or ignore to return the value unregistered instead of failing.
Using the debug module with msg or var to show a password or other sensitive value on the screen no longer works. The debug module writes through Display, so a registered secret is shown as $REDACTED$ wherever it appears, including inside a larger variable and at any verbosity level. There is no option to disable masking for a single task.
If you need to see the real value, for example to confirm that a vault variable decrypts to what you expect, write it to a file instead of displaying it. A file written by a module is not an output boundary, so the file contains the unmasked value:
- name: Write the secret to a file for inspection
ansible.builtin.copy:
content: "{{ db_password }}"
dest: /tmp/db_password.txt
mode: "0600"
delegate_to: localhost
Read the file outside of Ansible and delete it when you are done.
Engine
Secret masking
Masking is applied at the points where data leaves Ansible rather than to the data itself:
All
Displayoutput, including the screen, thelog_pathlog file, warnings, deprecation messages, errors, and tracebacks.The
resultmapping of every task result passed to a callback plugin.Module logging to syslog and the Windows Event Log, including the module invocation entry.
Secrets registered in a worker process or inside a module on a managed node are sent back to the controller and registered there, so a value discovered by one task is masked in every later task. Registered secrets that appear in a module’s arguments are passed to the module so module-side logging can mask them.
There is no minimum or maximum secret length. A registered secret is masked wherever it appears, including inside a longer word or value. Overlapping and adjacent secrets are replaced with a single placeholder. See How registered secrets are matched for the details.
Leading and trailing whitespace is stripped from a value before it is registered, so a secret read from a file with a trailing newline is masked with or without that newline.
Masking only matches the exact registered string, so an encoded or hashed copy of a secret is not masked unless it is registered as well. The JSON-escaped form of a secret is the one exception and is always masked.
Masking also only covers messages Ansible writes through Display. Messages that other Python libraries emit with the standard logging module share the log_path file and are not masked.
Plugin API
Secret masking API
The
ansible.module_utils.secretsmodule is a new public API providingregister_secret(),register_secrets(), andmask_secrets(). See Handling secrets in modules and plugins.The
Ansible.SecretsC# module util provides the same API for PowerShell modules through[Ansible.Secrets.SecretMasker].Plugin configuration options can set
secret: trueto register the resolved value as a secret regardless of the source that set it.AnsibleModuleno longer stripsno_logvalues from module results.
Values registered through the secrets API are masked in Display output, callback output, and module logs.
Any plugin or module that discovers a sensitive value at runtime, such as a token returned by an API, should register it as soon as it is known.
The secret configuration keyword is only supported for the str, string, and list types and is not supported on suboptions.
Declaring it on any other type is an error when the plugin configuration is loaded.
The ansible-core connection and become plugins use it for their password and key options, and plugins that accept a password or token should do the same.
Modules that relied on remove_values() or sanitize_keys() to strip no_log values from their results should remove those calls.
The values are now masked at the output boundary instead, and both helpers are deprecated.
Callback plugins
The result mapping of every task result passed to a callback plugin is now masked before the callback receives it.
Every string value and every string dictionary key in result.result is masked at any depth of nesting, including inside loop results.
Existing callbacks keep working without changes and no longer see the real value of any registered secret in the result.
Masking also changes some values that are not strings:
An
intorfloatwhose text form is a registered secret is replaced with the placeholder string. A callback that expects a number in a result must handle receiving the string$REDACTED$instead when that number was registered as a secret.When two dictionary keys mask to the same placeholder, the second is renamed with a numeric suffix such as
$REDACTED$ (2)so that no entry is lost.stdout_linesandstderr_linesare rebuilt from the maskedstdoutandstderrso that a secret spanning several lines is masked in the lines as well.
Only result.result is masked.
Task and play names, the warnings, deprecations, and exception attributes of the result, the statistics passed to v2_playbook_on_stats(), and anything a callback derives itself are masked only when written through Display().
A callback that writes such data to a file, socket, HTTP request, database, or any other destination must pass it through ansible.module_utils.secrets.mask_secrets() first.
To update a custom callback plugin:
Audit every place the callback writes data other than through
Display(), and mask any data that does not come fromresult.resultwithmask_secrets().Remove any custom code that stripped
no_logvalues or checked forVALUE_SPECIFIED_IN_NO_LOG_PARAMETER, as results no longer contain that placeholder.Check any code that relies on the type of a result value, since a number registered as a secret is replaced with a string.
The following example supports both ansible-core 2.22 and earlier versions.
On versions before 2.22 the ansible.module_utils.secrets import fails and the result already has no_log values removed, so mask_secrets() falls back to returning the text unchanged.
On 2.22 and later the result is already masked and mask_secrets() covers the task name written alongside it:
import json
from ansible.plugins.callback import CallbackBase
try:
from ansible.module_utils.secrets import mask_secrets
except ImportError:
# ansible-core < 2.22 has no secret masking API. Results on those versions
# already have no_log values removed, so there is nothing to mask here.
def mask_secrets(value):
return value
class CallbackModule(CallbackBase):
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'notification'
CALLBACK_NAME = 'namespace.collection_name.json_file'
CALLBACK_NEEDS_ENABLED = True
def v2_runner_on_ok(self, result):
# result.result is already masked on 2.22+, but the task name is not, so mask
# the serialized form before writing it.
entry = {'task': result.task_name, 'result': result.result}
entry_json = mask_secrets(json.dumps(entry, default=str))
with open('/var/log/ansible-results.jsonl', 'a') as fd:
fd.write(entry_json + '\n')
The junit and tree callbacks shipped with ansible-core are examples of callbacks that write to files and mask everything they write.
The task no_log keyword continues to censor the entire result regardless of masking as it affects the result value provided.
See Callback plugins for more details.
Command Line
Passwords entered for
--ask-pass,--ask-become-pass, and--ask-vault-passare registered as secrets and masked in output.Values entered for a
vars_promptwithprivate: true(the default) are registered as secrets and masked in output.
Deprecated
ansible.module_utils.basic.heuristic_log_sanitize()is deprecated and will be removed inansible-core2.25. Secret values are now masked automatically. Use theansible.module_utils.secretsAPI to handle secrets manually.ansible.module_utils.common.parameters.remove_values()andsanitize_keys()are deprecated and will be removed inansible-core2.25. Secret values are now masked automatically. Use theansible.module_utils.secretsAPI to handle secrets manually.The
liveargument ofansible.utils.cmd_functions.run_cmd()is deprecated and will be removed inansible-core2.25 because it bypasses secret masking. Callers that need to stream output live should run the subprocess themselves and mask any secrets in the output.
Failure inference from non-zero rc
Failure inference for modules and actions that return a non-zero rc value and no failed value is deprecated and emits a runtime deprecation warning.
Modules and actions may use any logic desired to determine failure (including consulting rc), but failures must be explicitly communicated in the task result by setting failed true, or via methods that do so implicitly, such as fail_json or raising an unhandled error.
When failure inference is removed in 2.24, the rc key will receive no special attention during task result processing.
Modules
Modules removed
The following modules no longer exist:
No notable changes
Deprecation notices
No notable changes
Noteworthy module changes
Module options marked
no_log: truekeep their real value in the module result instead of being replaced withVALUE_SPECIFIED_IN_NO_LOG_PARAMETER. The value is registered as a secret and masked in output. See How masking changes no_log.Values logged by
AnsibleModule.log()and the module invocation log entry now use$REDACTED$in place of the previousNOT_LOGGING_PARAMETERandNOT_LOGGING_PASSWORDplaceholders, and any other registered secret in the message is masked.AnsibleModule.log()and the module invocation log no longer apply theheuristic_log_sanitize()heuristics. For example,user:password@hostin a URL is no longer rewritten unless the password is a registered secret.AnsibleModule.run_command()no longer replaces password-like arguments such as--password=...with********in thecmdvalue of a failure result, and no longer passes themsgvalue throughheuristic_log_sanitize().The
urimodule no longer rewrites response keys to stripno_logvalues. Registered secrets are masked in output instead.
Only registered secrets are masked in the values above.
Modules that pass a secret on the command line or embed one in a URL, where that secret is not a no_log option, should register it with ansible.module_utils.secrets.register_secret().
Plugins
Noteworthy plugin changes
The following plugin options are marked
secret: trueand are masked in output:sshconnection plugin:password,private_key, andprivate_key_passphrasewinrmconnection plugin:passwordpsrpconnection plugin:passwordandcertificate_key_passwordsudo,su, andrunasbecome plugins:become_passurllookup plugin:password
The
passwordlookup registers the generated plaintext password as a secret. Theunvaultlookup registers the entire decrypted content of each file as a single secret. Thevaultandunvaultfilters register the vault password passed to them, and also register the plaintext being encrypted or decrypted as a single secret.Vault-encrypted files loaded as variables are parsed and each value is registered individually, so values inside them are masked wherever they appear on their own.
The
pauseaction registers user input as a secret whenecho: falseis set.Connection plugin authors should audit any code that displays the raw standard output or standard error of a module invocation. Secrets that a module registers during its run are returned in the raw JSON result and are not masked until the controller processes it. The connection plugins shipped with
ansible-coreonly display raw module output whenANSIBLE_DEBUGis enabled.Callback plugins receive task results with registered secrets already masked. The
junitandtreecallbacks pass everything they write to a file throughmask_secrets()so that task and play names and other data not taken from the result are masked as well. See Callback plugins.
Porting custom scripts
No notable changes
Networking
Secret masking does not apply to the messages logged by the persistent_log_messages option.
Persistent connections run in a separate ansible-connection process that does not receive the secrets registered by the controller, so passwords and other sensitive configuration sent over the connection are written to the log in plain text.
Only enable this option while debugging and treat the resulting log as sensitive.
Porting Guide for v15.0.0a4
Added Collections
everpure.flasharray (version 1.45.1)
everpure.flashblade (version 1.28.0)
Breaking Changes
ansible.windows
dsc3 - Check mode now runs
dsc config set --what-ifinstead ofdsc config testso the reported changes align with whatdscwould do. Group resources such asMicrosoft.DSC/GroupandMicrosoft.DSC/Includedo not support what-if and fail in check mode.
Deprecated Features
The collection
purestorage.flasharraywas renamed toeverpure.flasharray. For now both collections are included in Ansible. The content inpurestorage.flasharrayhas been replaced by deprecated redirects in Ansible 15.0.0. The collection will be completely removed from Ansible 17. Please update your FQCNs frompurestorage.flasharraytoeverpure.flasharray(https://forum.ansible.com/t/46435).The collection
purestorage.flashbladewas renamed toeverpure.flashblade. For now both collections are included in Ansible. The content inpurestorage.flashbladehas been replaced by deprecated redirects in Ansible 15.0.0. The collection will be completely removed from Ansible 17. Please update your FQCNs frompurestorage.flashbladetoeverpure.flashblade(https://forum.ansible.com/t/46435).
Ansible-core
task result - Inferred task failure from a non-zero
rckey and absence of afailedkey emits a runtime deprecation warning. Actions and modules must explicitly communicate failure by setting thefailedkey, using APIs that do so, or raising an unhandled exception. In ansible-core 2.24, therckey will receive no special handling during task result processing.
Porting Guide for v15.0.0a3
Breaking Changes
amazon.aws
Collection - Minimum supported Python version is now 3.9 (https://github.com/ansible-collections/amazon.aws/pull/2922).
Collection - Minimum supported boto3 version is now 1.38.0 (https://github.com/ansible-collections/amazon.aws/pull/2922).
Collection - Minimum supported boto3 version is now 1.38.23 (https://github.com/ansible-collections/amazon.aws/pull/2952).
Collection - Minimum supported botocore version is now 1.38.0 (https://github.com/ansible-collections/amazon.aws/pull/2922).
Collection - Minimum supported botocore version is now 1.38.23 (https://github.com/ansible-collections/amazon.aws/pull/2952).
Support for ansible-core < 2.18 has been dropped. The collection now requires ansible-core >= 2.18.0 which supports Python >= 3.11 (https://github.com/ansible-collections/amazon.aws/pull/3142).
cloudformation - removed the deprecated
templateparameter. The parameter was deprecated in release 7.6.0 and the removal date of 2026-05-01 has passed. Usetemplate_bodywith theansible.builtin.fileoransible.builtin.templatelookup plugin instead (https://github.com/ansible-collections/amazon.aws/pull/3097).ec2_instance - removed the
placement_groupparameter. The parameter was deprecated in release 7.0.0. Useplacement.group_nameinstead (https://github.com/ansible-collections/amazon.aws/pull/2937).ec2_instance - removed the
tenancyparameter. The parameter was deprecated in release 7.0.0. Useplacement.tenancyinstead (https://github.com/ansible-collections/amazon.aws/pull/2937).s3_object - removed support for boolean values in the
overwriteparameter. Only the string valuesalways,never,different, orlatestare now accepted (https://github.com/ansible-collections/amazon.aws/pull/2924).s3_object - removed support for passing both
dualstackandendpoint_urlparameters at the same time. The parameters are now mutually exclusive. To use dualstack endpoints with a custom endpoint, specify the dualstack endpoint URL directly inendpoint_url(https://github.com/ansible-collections/amazon.aws/pull/2924).
cisco.iosxr
The gRPC connection plugin requires
protobuf>=3.20.0andgrpcio>=1.48.4on the Ansible controller. Update the controller environment before using this connection plugin. Other connection plugins are unaffected.
community.aws
Support for ansible-core < 2.18 has been dropped. The collection now requires ansible-core >= 2.18.0 and Python >= 3.11 (https://github.com/ansible-collections/community.aws/pull/2493).
The collection no longer supports ansible-core 2.17 (https://github.com/ansible-collections/community.aws/pull/2492).
aws_waf_condition - This module alias has been removed following the retirement of AWS WAF Classic. Please migrate to AWS WAF (WAFv2) modules (https://github.com/ansible-collections/community.aws/pull/2418).
aws_waf_info - This module alias has been removed following the retirement of AWS WAF Classic. Please migrate to AWS WAF (WAFv2) modules (https://github.com/ansible-collections/community.aws/pull/2418).
aws_waf_rule - This module alias has been removed following the retirement of AWS WAF Classic. Please migrate to AWS WAF (WAFv2) modules (https://github.com/ansible-collections/community.aws/pull/2418).
aws_waf_web_acl - This module alias has been removed following the retirement of AWS WAF Classic. Please migrate to AWS WAF (WAFv2) modules (https://github.com/ansible-collections/community.aws/pull/2418).
collection - Minimum supported Python version is now 3.9 (https://github.com/ansible-collections/community.aws/pull/2491).
community.aws collection - The
community.awscollection has dropped support forbotocore<1.38.0andboto3<1.38.0. Most modules will continue to work with older versions of the AWS SDK. However, compatibility with older versions of the SDK is not guaranteed and will not be tested. When using older versions of the SDK a warning will be emitted by Ansible (https://github.com/ansible-collections/community.aws/pull/2519).inspector_target - This module has been removed following the retirement of AWS Inspector Classic. (https://github.com/ansible-collections/community.aws/pull/2487).
waf_condition - This module has been removed following the retirement of AWS WAF Classic. Please migrate to AWS WAF (WAFv2) modules (https://github.com/ansible-collections/community.aws/pull/2413).
waf_info - This module has been removed following the retirement of AWS WAF Classic. Please migrate to AWS WAF (WAFv2) modules (https://github.com/ansible-collections/community.aws/pull/2413).
waf_rule - This module has been removed following the retirement of AWS WAF Classic. Please migrate to AWS WAF (WAFv2) modules (https://github.com/ansible-collections/community.aws/pull/2413).
waf_web_acl - This module has been removed following the retirement of AWS WAF Classic. Please migrate to AWS WAF (WAFv2) modules (https://github.com/ansible-collections/community.aws/pull/2413).
theforeman.foreman
activation_keys role - The defaults for
lifecycle_environmentandcontent_viewwere removed and the variables are now optional. This allows usingcontent_view_environmentsto assign Content View Environments instead.convert2rhel role - The
foreman_convert2rhel_content_viewvariable was replaced byforeman_convert2rhel_content_view_environmentsto support Katello 5.0 which removed the old CV API. This breaks compatibility with Katello older than 4.15.
Deprecated Features
amazon.aws
Collection - Support for Python 3.9 is deprecated and will be removed in a release after 2027-04-01, following AWS SDK for Python’s end of support for Python 3.9 in April 2026 (https://github.com/ansible-collections/amazon.aws/pull/2922).
community.aws
inspector_target - The module has been deprecated as Amazon has retired the
Amazon Inspector Classicservice on May 20, 2026 (Complete End of Life), revoking access to its console, APIs, and associated resources. The module will be removed in version 12.0.0 (https://github.com/ansible-collections/community.aws/pull/2485).
community.dns
nameserver_record_info - the return value
results[].result[].valuesis deprecated and will be removed from community.dns 5.0.0. Useresults[].result[].entriesinstead, which has been available for some time (https://github.com/ansible-collections/community.dns/pull/362).wait_for_txt - the return value
records[].valuesis deprecated and will be removed from community.dns 5.0.0. Userecords[].entriesinstead, which has been available for some time (https://github.com/ansible-collections/community.dns/pull/362).
community.proxmox
proxmox_cluster_firewall - add deprecation notice for
proxmox_cluster_firewallmodule. This module will be renamed toproxmox_cluster_firewall_optionsin 3.0.0.proxmox_cluster_firewall_security_group - the default of
purge_omitted_rule_fieldswill change fromfalsetotruein community.proxmox 3.0.0. Withtrue, optional rule fields that are omitted from arulesentry are removed from the existing rule. Setpurge_omitted_rule_fields=falseto keep preserving omitted rule fields in 3.0.0 (https://github.com/ansible-collections/community.proxmox/issues/278, https://github.com/ansible-collections/community.proxmox/pull/527).proxmox_node_firewall - add deprecation notice for
proxmox_node_firewallmodule. This module will be renamed toproxmox_node_firewall_optionsin 3.0.0.proxmox_node_firewall_info - add deprecation notice for
proxmox_node_firewall_infomodule. This module will be renamed toproxmox_node_firewall_options_infoin 3.0.0.
Porting Guide for v15.0.0a2
Breaking Changes
community.vmware
Removed support for ansible-core < 2.21.0.
vmware.vmware_rest
appliance_monitoring_query - The
interval,function,start_timeandend_timeparameters have been grouped under a new requireditemdictionary parameter to match the vSphere 9.1.0 API specification. The module will not work with older versions of the API.appliance_networking_interfaces_ipv4 - The
stateparameter now acceptspresentinstead ofset. Playbooks that explicitly setstate: setmust be updated tostate: present.appliance_networking_interfaces_ipv6 - The
stateparameter now acceptspresentinstead ofset. Playbooks that explicitly setstate: setmust be updated tostate: present.appliance_system_storage - The
stateparameter now acceptsresize-exinstead ofresize_ex. This was done to better align with the API expectations.vcenter_folder_info - The
typeparameter (and itsfilter_typealias) has been moved into a newfilterdictionary asfilter.type, reflecting theVcenter.Folder.FilterSpecobject introduced in the vSphere 9.1.0 API specification. Playbooks that settypeorfilter_typeat the top level must now usefilter.type. Thefolders,names,parent_folders, anddatacentersfilters remain top-level parameters.vcenter_folder_info and vcenter_network_info - The ‘value’ return is not guaranteed to be a list. If a list is desired, the ‘info’ return will always be a list (as documented)
vcenter_host_info - The
standaloneparameter has been moved into a newfilterdictionary asfilter.standalone, reflecting theVcenter.Host.FilterSpecobject introduced in the vSphere 9.1.0 API specification. Playbooks that setstandaloneat the top level must now usefilter.standalone. The other host filters remain top-level parameters.vcenter_ovf_libraryitem - The
deployment_spec.accept_all_EULAparameter has been renamed todeployment_spec.accept_all_eula(snake_case) in the vSphere 9.1.0 API specification and module arguments. The module will not work with older versions of the API.vcenter_vm_guest_filesystem_directories - The ‘present’, ‘absent’, ‘create_temporary’ states have been removed and replaced with options that better reflect the action taken by the API.
vcenter_vm_guest_filesystem_directories - The state option has no default value and must be specified.
Major Changes
Ansible-core
callback plugins - task results passed to callback plugins now always have any registered secrets replaced with
$REDACTED$, so callbacks no longer need to mask the result themselves. TheANSIBLE_SUPPORTS_MASKINGcallback class attribute introduced in ansible-core 2.22.0b1 to opt into receiving unmasked results has been removed and is now ignored.
dellemc.openmanage
Added BIOS registry info module: idrac_bios_registry_info.
Added network attributes info modules: idrac_network_attributes_info, and idrac_network_info.
Added session info module: idrac_session_info.
Complete removal of OMSDK library dependency from the collection.
Enhanced idrac_certificates module with SCEP_CA_CERT support for ACME and SCEP enrollment.
Enhanced idrac_lifecycle_controller_logs module with pagination, filtering, and export capabilities.
Enhanced idrac_session module with self-session protection to prevent accidental lockout when deleting sessions.
Removed 8 deprecated OMSDK-dependent modules: dellemc_configure_idrac_eventing, dellemc_configure_idrac_services, dellemc_idrac_lc_attributes, dellemc_system_lockdown_mode, idrac_network, idrac_timezone_ntp, dellemc_idrac_storage_volume, and idrac_syslog.
Removed OMSDK requirement from idrac_system_info module.
Removed OMSDK-specific code from dellemc_idrac.py utility module.
Removed deprecated parameters from idrac_bios module (share_name, share_user, share_password, share_mnt, boot_sources).
netapp.ontap
na_ontap_active_directory - AWS Lambda support added to the module.
na_ontap_active_directory_domain_controllers - AWS Lambda support added to the module.
na_ontap_dns - GCNV support added to the module.
na_ontap_ems_filter - GCNV support added to the module.
na_ontap_export_policy - GCNV support added to the module.
na_ontap_export_policy_rule - GCNV support added to the module.
na_ontap_ldap_client - GCNV support added to the module.
na_ontap_license - GCNV support added to the module.
na_ontap_nvme - AWS Lambda support added to the module.
na_ontap_nvme_subsystem - AWS Lambda support added to the module.
na_ontap_qtree - GCNV support added to the module.
na_ontap_quotas - GCNV support added to the module.
na_ontap_rest_cli - GCNV support added to the module.
na_ontap_rest_info - GCNV support added to the module.
na_ontap_restit - GCNV support added to the module.
na_ontap_security_certificates - AWS Lambda support added to the module.
na_ontap_security_ipsec_config - AWS Lambda support added to the module.
na_ontap_security_ipsec_policy - AWS Lambda support added to the module.
na_ontap_snapshot - GCNV support added to the module.
na_ontap_snapshot_policy - GCNV support added to the module.
na_ontap_volume - GCNV support added to the module.
vmware.vmware_rest
vcenter_vm_guest_filesystem_directories - The module now raises an error when the vSphere API request fails (for example when creating a directory that already exists) instead of silently returning a successful, unchanged result. Playbooks that relied on the previous behavior should handle the failure explicitly.
Removed Features
community.vmware
module_utils.vm_device_helper - The deprecated
PyVmomiDeviceHelper.is_nvdimm_controllermethod has been removed (https://github.com/ansible-collections/community.vmware/pull/2314).module_utils.vm_device_helper - The deprecated
PyVmomiDeviceHelper.is_nvdimm_devicemethod has been removed (https://github.com/ansible-collections/community.vmware/pull/2314).module_utils.vmware - The deprecated
PyVmomi.find_vmdk_filemethod has been removed (https://github.com/ansible-collections/community.vmware/pull/2314).module_utils.vmware - The deprecated
PyVmomi.host_version_at_leastmethod has been removed (https://github.com/ansible-collections/community.vmware/issues/2309).module_utils.vmware - The deprecated
PyVmomi.network_exists_by_namemethod has been removed (https://github.com/ansible-collections/community.vmware/pull/2314).module_utils.vmware - The deprecated
PyVmomi.vmdk_disk_path_splitmethod has been removed (https://github.com/ansible-collections/community.vmware/pull/2314).module_utils.vmware - The deprecated
connect_to_apifunction has been removed. (https://github.com/ansible-collections/community.vmware/issues/2465).module_utils.vmware - The deprecated
find_host_portgroup_by_namefunction andPyVmomi.find_host_portgroup_by_namemethod have been removed (https://github.com/ansible-collections/community.vmware/pull/2314).module_utils.vmware_rest_client - The deprecated
VmwareRestClient.get_folder_by_namemethod has been removed (https://github.com/ansible-collections/community.vmware/pull/2314).plugin_utils.inventory - The deprecated plugin util has been removed (https://github.com/ansible-collections/community.vmware/issues/2292).
plugins.httpapi - The deprecated
plugins.httpapihas been removed (https://github.com/ansible-collections/community.vmware/issues/2310).vcenter_folder - The deprecated module has been removed. Use
vmware.vmware.folderinstead (https://github.com/ansible-collections/community.vmware/issues/2358).vmware_cluster_ha - The deprecated module has been removed. Use
vmware.vmware.cluster_hainstead (https://github.com/ansible-collections/community.vmware/issues/2333).vmware_cluster_info - The deprecated module has been removed. Use
vmware.vmware.cluster_infoinstead (https://github.com/ansible-collections/community.vmware/issues/2261).vmware_content_deploy_ovf_template - The deprecated module has been removed. Use
vmware.vmware.deploy_content_library_ovfinstead (https://github.com/ansible-collections/community.vmware/issues/2334).vmware_content_deploy_template - The deprecated module has been removed. Use
vmware.vmware.deploy_content_library_templateinstead (https://github.com/ansible-collections/community.vmware/issues/2334).vmware_content_library_manager - The deprecated module has been removed. Use
vmware.vmware.local_content_libraryandvmware.vmware.subscribed_content_libraryinstead (https://github.com/ansible-collections/community.vmware/issues/2359).vmware_dvs_portgroup - The deprecated option
mac_learninghas been removed. Usenetwork_policy.mac_learninginstead (https://github.com/ansible-collections/community.vmware/issues/2466).vmware_guest_powerstate - The deprecated module has been removed. Use
vmware.vmware.vm_powerstateinstead (https://github.com/ansible-collections/community.vmware/issues/2440).vmware_host - The deprecated module has been removed. Use
vmware.vmware.esxi_hostandvmware.vmware.esxi_connectioninstead (https://github.com/ansible-collections/community.vmware/issues/2341).vmware_host_inventory - The deprecated inventory plugin has been removed. Use
vmware.vmware.esxi_hostsinstead (https://github.com/ansible-collections/community.vmware/issues/2292).vmware_maintenancemode - The deprecated module has been removed. Use
vmware.vmware.esxi_maintenance_modeinstead (https://github.com/ansible-collections/community.vmware/issues/2299).vmware_vm_inventory - The deprecated inventory plugin has been removed. Use
vmware.vmware.vmsinstead (https://github.com/ansible-collections/community.vmware/issues/2292).
dellemc.openmanage
dellemc_configure_idrac_eventing - Use idrac_attributes as alternative.
dellemc_configure_idrac_services - Use idrac_attributes as alternative.
dellemc_idrac_lc_attributes - Use idrac_attributes as alternative.
dellemc_idrac_storage_volume - Use idrac_storage_volume as alternative.
dellemc_system_lockdown_mode - Use idrac_attributes as alternative.
idrac_network - Use idrac_network_attributes as alternative.
idrac_syslog - Use idrac_attributes as alternative.
idrac_timezone_ntp - Use idrac_attributes as alternative.
vmware.vmware_rest
appliance_access_consolecli - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_access_consolecli_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_access_dcui - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_access_dcui_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_access_shell - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_access_shell_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_access_ssh - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_access_ssh_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_networking_dns_domains - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_networking_dns_domains_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_networking_dns_hostname - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_networking_dns_hostname_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_networking_dns_servers - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_networking_dns_servers_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_networking_firewall_inbound - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_networking_firewall_inbound_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_networking_noproxy - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_networking_noproxy_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_networking_proxy - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_networking_proxy_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_ntp - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_ntp_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_system_globalfips - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_system_globalfips_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_system_time_timezone - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_system_time_timezone_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_timesync - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
appliance_timesync_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
cluster_moid - The deprecated lookup plugin has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
content_library_item_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
content_locallibrary - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
content_subscribedlibrary - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
datacenter_moid - The deprecated lookup plugin has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
datastore_moid - The deprecated lookup plugin has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
folder_moid - The deprecated lookup plugin has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
host_moid - The deprecated lookup plugin has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
network_moid - The deprecated lookup plugin has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
resource_pool_moid - The deprecated lookup plugin has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_cluster_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_host - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vm - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vm_guest_customization - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vm_guest_networking_interfaces_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vm_guest_power - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vm_hardware_adapter_sata - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vm_hardware_adapter_scsi - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vm_hardware_cdrom - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vm_hardware_cpu - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vm_hardware_cpu_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vm_hardware_disk - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vm_hardware_ethernet - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vm_hardware_memory - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vm_hardware_memory_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vm_libraryitem_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vm_power - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vcenter_vmtemplate_libraryitems_info - The deprecated module has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
vm_moid - The deprecated lookup plugin has been removed (https://github.com/ansible-collections/vmware.vmware_rest/pull/648)
Deprecated Features
The cisco.ucs collection will be removed from Ansible 16. There is no active development happening on the collection. This has moved to cisco.intersight which is also part of the ACP. See the removal discussion for details. After removal, users can still install this collection with
ansible-galaxy collection install cisco.ucs.
community.vmware
module_utils.vmware - The
ansible_date_time_factsfuntion is deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2607).module_utils.vmware_rest_client - The
VmwareRestClient.get_tag_by_namemethod is deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2607).module_utils.vmware_rest_client - The
VmwareRestClient.get_tags_for_hostsystemmethod is deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2607).
vmware.vmware_rest
Deprecate appliance_health_applmgmt_info module. Use vmware.vmware.appliance_info
Deprecate appliance_health_databasestorage_info module. Use vmware.vmware.appliance_info
Deprecate appliance_health_load_info module. Use vmware.vmware.appliance_info
Deprecate appliance_health_mem_info module. Use vmware.vmware.appliance_info
Deprecate appliance_health_storage_info module. Use vmware.vmware.appliance_info
Deprecate appliance_health_swap_info module. Use vmware.vmware.appliance_info
Deprecate appliance_health_system_info module. Use vmware.vmware.appliance_info
Deprecate appliance_networking_info module. Use vmware.vmware.appliance_info
Deprecate appliance_networking_interfaces_info module. Use vmware.vmware.appliance_info
Deprecate appliance_networking_interfaces_ipv4_info module. Use vmware.vmware.appliance_info
Deprecate appliance_networking_interfaces_ipv6_info module. Use vmware.vmware.appliance_info
Deprecate appliance_system_time_info module. Use vmware.vmware.appliance_info
Deprecate appliance_system_version_info module. Use vmware.vmware.appliance_info
Deprecate appliance_vmon_service and appliance_vmon_service_info modules as the endpoint has been removed. Use appliance_services and appliance_services_info instead.
Deprecate vcenter_folder_info module. Use vmware.vmware.folder_info
Deprecate vcenter_host_info module. Use vmware.vmware.esxi_info
Deprecate vcenter_vm_guest_filesystem_directories module. Use ansible.builtin.file
Deprecate vcenter_vm_hardware_floppy and vcenter_vm_hardware_floppy_info modules as floppy drives are legacy hardware.
Deprecate vcenter_vm_info module. Use vmware.vmware.vm_info
Deprecate vcenter_vm_power_info module. Use vmware.vmware.vm_info
Deprecate vcenter_vmtemplate_libraryitems module. Use vmware.vmware.deploy_content_library_template or vmware.vmware.content_template
Porting Guide for v15.0.0a1
Added Collections
ansible.mariadb (version 6.0.2)
Known Issues
Ansible-core
Secret masking - when
ANSIBLE_DEBUG=1is set, the raw stdout and stderr of commands executed on the target, including module results, are displayed before the secrets contained in the module result have been registered for masking. Secrets which are only known to the module, such asno_logoption values, may therefore be shown in plaintext in debug output.
Breaking Changes
Ansible-core
AnsibleModule -
log()and the automatic invocation logging now only redact values registered as secrets (such asno_logoption values) and no longer apply theheuristic_log_sanitize()heuristics, for exampleuser:password@hostin URLs is no longer rewritten unless the password is a registered secret.no_logand password-like options are logged as$REDACTED$instead ofNOT_LOGGING_PARAMETERorNOT_LOGGING_PASSWORD.AnsibleModule -
run_command()no longer rewrites thecmdvalue in a failure result to replace password-like arguments (such as--password=...) with********, and themsgvalue is no longer passed throughheuristic_log_sanitize(). Registered secrets in these values are still redacted in output. Modules that pass a secret on the command line which is not ano_logoption should register it withansible.module_utils.secrets.register_secret().Module options that are marked as
no_log: truewill no longer be redacted literally as"VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"in the module result andinvocation.module_args. Instead, the actual value is registered as a secret and is only redacted in generated output, allowing these values to be used by subsequent tasks without any loss of data. The value is still redacted in callback output and module logging. Playbooks or tests that check for theVALUE_SPECIFIED_IN_NO_LOG_PARAMETERplaceholder in results should be updated.ansible-config - all actions now default to
-t all, so configuration files using sections owned by plugins (for example,[ssh_connection]) are no longer reported as unknown sections, and keys within those sections are actually validated. Use-t baseto retain the previous behavior (https://github.com/ansible/ansible/issues/86398).uri - response keys are no longer rewritten to strip
no_logvalues (previously done withsanitize_keys()); registered secrets are masked in output instead.
cisco.nxos
nxos_l2_interfaces - Port-channel member interfaces are now excluded from gathered, parsed, and overridden/deleted states. Attempting to configure L2 settings directly on a port-channel member via merged, replaced, or deleted (with explicit config) states will now raise an error. Apply L2 configuration on the port-channel interface instead.
nxos_route_maps -
match.metricelements changed from a list of integers to a list of dictionaries with requiredvalueand optionaldeviation(for NX-OSmatch metric <value> +- <deviation>). Update playbooks frommetric: [10, 200]tometric: [{value: 10}, {value: 200}](or adddeviationwhen needed). Fixes fact-gathering failures on that CLI.
community.okd
Minimum supported version of ansible-core is now 2.16 (https://github.com/openshift/community.okd/pull/292).
community.postgresql
postgresql_membership -
state=exactnow reportsgrantedwith an entry for every requested group, asstate=presentdoes, soresult.granted == {}no longer holds on an unchanged run.postgresql_membership - a
membershipsrow must setgranted_bywhen the connecting role holdsADMIN OPTIONon a group only through another role, since PostgreSQL refuses a grant recorded under a role without the option. The deprecatedgroupsoption is not affected.postgresql_membership - on PostgreSQL 16 and later a
membershipsrow manages the one grant recorded under its granting role, which is the bootstrap superuser when the connecting role is a superuser, the connecting role otherwise, or the role named bygranted_by.state=presentmakes that grant even when another role has granted the membership, andstate=absentandstate=exactneither revoke nor report a grant recorded under another role. A task that was unchanged may report changed on its first run and fire its handlers. The deprecatedgroupsoption keeps treating the (group, target role) pair as the membership, whoever granted it (https://github.com/ansible-collections/community.postgresql/issues/757).
hetzner.hcloud
Drop support for Python 3.10
Drop support for ansible-core 2.18
infoblox.nios_modules
nios_next_network lookup - the
cidrargument is now required and must be an integer. Previously, omittingcidrsilently defaulted to24; playbooks that relied on this default now fail withAnsibleError: missing required argument: cidr. Update such playbooks to passcidrexplicitly (https://github.com/infobloxopen/infoblox-ansible/pull/315).
lowlydba.sqlserver
Raise
requires_ansibleto>=2.19. The previously declared floor of>=2.12was never tested by CI, which only runs sanity and integration tests againststable-2.19and newer (https://github.com/lowlydba/lowlydba.sqlserver/issues/380).availability_group - an explicit
falsefordtc_support_enabled,basic_availability_group,database_health_triggeroris_distributed_agnow disables the setting on an existing availability group instead of being ignored (https://github.com/lowlydba/lowlydba.sqlserver/issues/374).backup -
compress,encryption_certificate,azure_base_urlandazure_credentialnow take effect. Playbooks that set these options previously got an uncompressed, unencrypted, local backup regardless of the values supplied (https://github.com/lowlydba/lowlydba.sqlserver/issues/374).install_script -
deployment_methodnow takes effect. Playbooks that setSingleTransaction,TransactionPerScriptorAlwaysRollbackpreviously ran withNoTransaction(https://github.com/lowlydba/lowlydba.sqlserver/issues/374).login - an explicit
falseforpassword_policy_enforcedorpassword_expiration_enablednow disables the setting on the login instead of leaving it unchanged (https://github.com/lowlydba/lowlydba.sqlserver/issues/374).sa - an explicit
falseforpassword_policy_enforcedorpassword_expiration_enablednow disables the setting on the login instead of leaving it unchanged (https://github.com/lowlydba/lowlydba.sqlserver/issues/374).
netapp_eseries.santricity
na_santricity_volume and nar_santricity_host - Rename volume option raid_level to ddp_raid_level for dynamic disk pool volumes.
Major Changes
Ansible-core
Secret masking - Ansible now automatically redacts known secret values from the output it generates, such as
displayoutput (including verbose, warning, deprecation, and error output), module logging, and task results passed to callback plugins. Masking is non-destructive; the real value remains available to tasks, conditionals, and registered variables, only the rendered output is redacted with$REDACTED$.Secret masking - add the
ansible.module_utils.secretspublic API for working with secrets manually. It providesregister_secretandregister_secretsto register values that should be redacted from masked output, andmask_secretsto redact any registered secrets from a string. The API can be used on the controller and in Python modules; the newAnsible.SecretsC# module_util provides the equivalent[Ansible.Secrets.SecretMasker]::RegisterSecret()andMaskString()methods for PowerShell modules. Secrets registered inside a module or worker process are propagated back to the controller so they are also masked there.ansible - Add support for Python 3.15.
ansible - Drop support for Python 3.12 on the controller.
ansible.mysql
MariaDB support is deprecated and is scheduled for removal in version 6.0.0 of this collection. If you already use this collection with MariaDB, please install the ansible.mariadb collection from Ansible Galaxy and change FQCNs in tasks in your playbooks to use ansible.mariadb equivalents, for example, ansible.mysql.mysql_info -> ansible.mariadb.mariadb_info, etc. No other changes are needed. This collection was cloned to the ansible.mariadb collection to allow its contributors and maintainers to focus on MariaDB-related automation development. This ansible.mysql collection still supports MariaDB (only bugfixes and security fixes) until its release 6.0.0 (not earlier than mid 2027), then its support will be dropped!
community.clickhouse
clickhouse_named_collection - new module to add/modify/delete named collections in database.
community.vmware
Bump required
vmware.vmwarecollection version to 2.10.0 (https://github.com/ansible-collections/community.vmware/pull/2568).
fortinet.fortios
Supported multiple versions of log fact modules.
Supported new versions 7.6.7 and 8.0.0.
Updated the Q&A for importing a certificate in the fortios_certificate_remote module.
netapp.ontap
na_ontap_cg_snapshot - AWS Lambda support added to the module.
na_ontap_cli_timeout - AWS Lambda support added to the module.
na_ontap_ems_config - AWS Lambda support added to the module.
na_ontap_ems_destination - AWS Lambda support added to the module.
na_ontap_ems_filter - AWS Lambda support added to the module.
na_ontap_fdsd - AWS Lambda support added to the module.
na_ontap_fdsp - AWS Lambda support added to the module.
na_ontap_fdspt - AWS Lambda support added to the module.
na_ontap_fdss - AWS Lambda support added to the module.
na_ontap_file_security_permissions_acl - AWS Lambda support added to the module.
na_ontap_fpolicy_event - AWS Lambda support added to the module.
na_ontap_fpolicy_ext_engine - AWS Lambda support added to the module.
na_ontap_fpolicy_policy - AWS Lambda support added to the module.
na_ontap_fpolicy_scope - AWS Lambda support added to the module.
na_ontap_fpolicy_status - AWS Lambda support added to the module.
na_ontap_kerberos_interface - AWS Lambda support added to the module.
na_ontap_kerberos_realm - AWS Lambda support added to the module.
na_ontap_login_messages - AWS Lambda support added to the module.
na_ontap_nvme_namespace - AWS Lambda support added to the module.
na_ontap_publickey - AWS Lambda support added to the module.
na_ontap_rest_cli - AWS Lambda support added to the module.
na_ontap_security_key_manager - AWS Lambda support added to the module.
na_ontap_security_ssh - AWS Lambda support added to the module.
na_ontap_snaplock_clock - AWS Lambda support added to the module.
na_ontap_unix_group - AWS Lambda support added to the module.
na_ontap_unix_user - AWS Lambda support added to the module.
na_ontap_user - AWS Lambda support added to the module.
na_ontap_user_role - AWS Lambda support added to the module.
na_ontap_vscan - AWS Lambda support added to the module.
na_ontap_vscan_on_access_policy - AWS Lambda support added to the module.
na_ontap_vscan_on_demand_task - AWS Lambda support added to the module.
na_ontap_vscan_scanner_pool - AWS Lambda support added to the module.
na_ontap_vserver_audit - AWS Lambda support added to the module.
splunk.es
ci - integration tests now run against both Splunk Server 9.4 and 10.4 with Enterprise Security (ES), providing full coverage across supported major versions and catching regressions against real Splunk ES instances.
vmware.vmware_rest
Update minimum required ansible-core version to 2.16 in meta/runtime.yml
Removed Collections
cyberark.pas (previously included version: 1.0.39)
netapp.cloudmanager (previously included version: 21.24.0)
You can still install a removed collection manually with ansible-galaxy collection install <name-of-collection>.
Removed Features
The
netapp.cloudmanagercollection was considered unmaintained and has been removed from Ansible 15 (https://forum.ansible.com/t/44891). Users can still install this collection withansible-galaxy collection install netapp.cloudmanager.The cyberark.pas collection has been removed from Ansible 15 due to violations of the Ansible inclusion requirements. The collection has violated the inclusion requirements multiple times, including those surrounding repository management. The collection maintainers did not respond to the latest violation report. See Collections Removal Process for collections not satisfying the collection requirements for more details (https://forum.ansible.com/t/45816). Users can still install this collection with
ansible-galaxy collection install cyberark.pas.
Ansible-core
Remove deprecated
ANSIBLE_CONNECTION_PATHoptionRemove deprecated
DEFAULT_LIBVIRT_LXC_NOSECLABELoption.url/uri - remove deprecated use of
yes/novalues for thefollow_redirectsoption (https://github.com/ansible/ansible/issues/86790)yum_repository - Removed deprecated parameters.
community.postgresql
postgresql modules - the
login,host,unix_socketandportaliases have been removed incommunity.postgresql 5.0.0. Use thelogin_user,login_host,login_unix_socketandlogin_portoptions instead (https://github.com/ansible-collections/community.postgresql/issues/847).postgresql_copy - the
dbalias of thelogin_dboption has been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_db - the
renamechoice of thestateoption has been removed. Use thecommunity.postgresql.postgresql_querymodule instead (https://github.com/ansible-collections/community.postgresql/issues/833).postgresql_ext - the
dbalias of thelogin_dboption has been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_idx - the
dbalias of thelogin_dboption has been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_membership - the
dbalias of thelogin_dboption has been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_owner - the
dbalias of thelogin_dboption has been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_pg_hba - the
keep_comments_at_rulesoption has been removed. It had no effect since it was deprecated (https://github.com/ansible-collections/community.postgresql/issues/810).postgresql_ping - the
dbalias of thelogin_dboption has been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_privs - the
dbanddatabasealiases of thelogin_dboption have been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_publication - the
dbalias of thelogin_dboption has been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_query - the
dbalias of thelogin_dboption has been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_schema - the
dbanddatabasealiases of thelogin_dboption have been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_script - the
dbalias of thelogin_dboption has been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_sequence - the
dbanddatabasealiases of thelogin_dboption have been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_sequence - the
rename_tooption has been removed. Use thecommunity.postgresql.postgresql_querymodule instead (https://github.com/ansible-collections/community.postgresql/issues/833).postgresql_set - the module has been removed. Please use the
community.postgresql.postgresql_alter_systemmodule instead (https://github.com/ansible-collections/community.postgresql/issues/823).postgresql_slot - the
dbalias of thelogin_dboption has been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_subscription - the
dbalias of thelogin_dboption has been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_table - the
dbalias of thelogin_dboption has been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_table - the
renameoption has been removed. Use thecommunity.postgresql.postgresql_querymodule instead (https://github.com/ansible-collections/community.postgresql/issues/833).postgresql_tablespace - the
dbalias of thelogin_dboption has been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_tablespace - the
rename_tooption has been removed. Use thecommunity.postgresql.postgresql_querymodule instead (https://github.com/ansible-collections/community.postgresql/issues/833).postgresql_user - the
dbalias of thelogin_dboption has been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).postgresql_user_obj_stat_info - the
dbalias of thelogin_dboption has been removed. Use thelogin_dboption instead (https://github.com/ansible-collections/community.postgresql/issues/831).
hetzner.hcloud
hcloud inventory - The deprecated
hcloud_datacenterhost variable was removed. Please use thehcloud_locationhost variable instead.network_info - The deprecated
hcloud_network_info[].servers[].datacenterreturn value was removed. Please use thehcloud_network_info[].servers[].locationreturn value instead.primary_ip - The deprecated
datacenterargument was removed. Please use thelocationargument instead.primary_ip - The deprecated
hcloud_primary_ip.datacenterreturn value was removed. Please use thehcloud_primary_ip.locationreturn value instead.primary_ip_info - The deprecated
hcloud_primary_ip_info[].datacenterreturn value was removed. Please use thehcloud_primary_ip_info[].locationreturn value instead.server - The deprecated
datacenterargument was removed. Please use thelocationargument instead.server - The deprecated
hcloud_server.datacenterreturn value was removed. Please use thehcloud_server.locationreturn value instead.server_info - The deprecated
hcloud_server_info[].datacenterreturn value was removed. Please use thehcloud_server_info[].locationreturn value instead.
ngine_io.cloudstack
The deprecated routing to module names with
cs_prefix has been removed. Use the new module names instead.
Deprecated Features
The dellemc.unity collection will be removed from Ansible 16 due to violations of the Ansible inclusion requirements. No CI runs / sanity tests for 10 months. See Collections Removal Process for collections not satisfying the collection requirements for more details, including for how this can be cancelled (https://forum.ansible.com/t/46085). After removal, users can still install this collection with
ansible-galaxy collection install dellemc.unity.
Ansible-core
AGNOSTIC_BECOME_PROMPT setting, no external tools should need this any more.
Deprecate is_module in get_docstring API in favor of passing
plugin_type='module'.ansible.module_utils.six- A runtime deprecation warning is now emitted when importing thesixcompatibility library, deprecated in ansible-core 2.21 and planned for removal in ansible-core 2.24 (https://github.com/ansible/ansible/issues/86789).action plugins -
AnsibleActionSkipis deprecated and will be removed in ansible-core 2.25. A sanity test detects imports of this exception. Return a results dict from action plugins and don’t include askippedkey, or raiseAnsibleActionNoCheckModeif necessary.ansible.utils.cmd_functions.run_cmd - the
liveargument is deprecated and will be removed in ansible-core 2.25 because it writes the subprocess output directly to stdout/stderr, bypassing the built-in secret masking applied to captured output. Callers that need to stream output live should run the subprocess themselves and are responsible for masking any secrets.module_utils - the
heuristic_log_sanitize()function inansible.module_utils.basicis deprecated and will be removed in ansible-core 2.25. Secret values are now masked automatically, use functions from theansible.module_utils.secretsmodule to handle secrets manually.module_utils - the
remove_values()andsanitize_keys()functions inansible.module_utils.common.parametersare deprecated and will be removed in ansible-core 2.25. Secret values are now masked automatically, use functions from theansible.module_utils.secretsmodule to handle secrets manually.task result - Returning
skippedfrom a module or action plugin is deprecated and will be removed in ansible-core 2.25. Use task-level conditionals (when:) to control execution.
community.clickhouse
clickhouse_db - deprecate pre 22.x handling code for comments (https://github.com/ansible-collections/community.clickhouse/issues/217).
clickhouse_role - list based settings and profiles are marked as deprecated and sheduled for removal in 3.0.0 (https://github.com/ansible-collections/community.clickhouse/issues/218).
clickhouse_user -
passwordandtype_passwordare deprecated and will be removed incommunity.clickhouse 3.0.0, use theauthenticationinstead.clickhouse_user - list based settings and profiles are marked as deprecated and sheduled for removal in 3.0.0 (https://github.com/ansible-collections/community.clickhouse/issues/218).
mark ansible-core-2.17 as deprecated. Support will be removed in future.
community.crypto
get_certificate - the
select_crypto_backendoption is deprecated and will be removed from community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1072).openssl_csr - the
select_crypto_backendoption is deprecated and will be removed from community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1072).openssl_csr_info - the
select_crypto_backendoption is deprecated and will be removed from community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1072).openssl_csr_pipe - the
select_crypto_backendoption is deprecated and will be removed from community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1072).openssl_pkcs12 - the
select_crypto_backendoption is deprecated and will be removed from community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1072).openssl_privatekey - the
select_crypto_backendoption is deprecated and will be removed from community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1072).openssl_privatekey_info - the
select_crypto_backendoption is deprecated and will be removed from community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1072).openssl_privatekey_pipe - the
select_crypto_backendoption is deprecated and will be removed from community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1072).openssl_publickey - the
select_crypto_backendoption is deprecated and will be removed from community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1072).openssl_publickey_info - the
select_crypto_backendoption is deprecated and will be removed from community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1072).openssl_signature - the
select_crypto_backendoption is deprecated and will be removed from community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1072).openssl_signature_info - the
select_crypto_backendoption is deprecated and will be removed from community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1072).x509_certificate - the
select_crypto_backendoption is deprecated and will be removed from community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1072).x509_certificate_info - the
select_crypto_backendoption is deprecated and will be removed from community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1072).x509_certificate_pipe - the
select_crypto_backendoption is deprecated and will be removed from community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1072).
community.general
keycloak_authentication - the module is moved to
middleware_automation.keycloak.keycloak_authentication. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_authentication_required_actions - the module is moved to
middleware_automation.keycloak.keycloak_authentication_required_actions. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_authentication_v2 - the module is moved to
middleware_automation.keycloak.keycloak_authentication_v2. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_authz_authorization_scope - the module is moved to
middleware_automation.keycloak.keycloak_authz_authorization_scope. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_authz_custom_policy - the module is moved to
middleware_automation.keycloak.keycloak_authz_custom_policy. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_authz_permission - the module is moved to
middleware_automation.keycloak.keycloak_authz_permission. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_authz_permission_info - the module is moved to
middleware_automation.keycloak.keycloak_authz_permission_info. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_client - the module is moved to
middleware_automation.keycloak.keycloak_client. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_client_rolemapping - the module is moved to
middleware_automation.keycloak.keycloak_client_rolemapping. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_client_rolescope - the module is moved to
middleware_automation.keycloak.keycloak_client_rolescope. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_clientscope - the module is moved to
middleware_automation.keycloak.keycloak_client_scope. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_clientscope_rolemappings - the module is moved to
middleware_automation.keycloak.keycloak_client_scope_rolemappings. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_clientscope_type - the module is moved to
middleware_automation.keycloak.keycloak_client_scope_type. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_clientsecret_info - the module is moved to
middleware_automation.keycloak.keycloak_clientsecret_info. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_clientsecret_regenerate - the module is moved to
middleware_automation.keycloak.keycloak_clientsecret_regenerate. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_clienttemplate - the module is moved to
middleware_automation.keycloak.keycloak_clienttemplate. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_component - the module is moved to
middleware_automation.keycloak.keycloak_component. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_component_info - the module is moved to
middleware_automation.keycloak.keycloak_component_info. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_group - the module is moved to
middleware_automation.keycloak.keycloak_group. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_identity_provider - the module is moved to
middleware_automation.keycloak.keycloak_identity_provider. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_realm - the module is moved to
middleware_automation.keycloak.keycloak_realm. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_realm_key - the module is moved to
middleware_automation.keycloak.keycloak_realm_key. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_realm_keys_metadata_info - the module is moved to
middleware_automation.keycloak.keycloak_realm_keys_metadata_info. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_realm_localization - the module is moved to
middleware_automation.keycloak.keycloak_realm_localization. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_realm_rolemapping - the module is moved to
middleware_automation.keycloak.keycloak_realm_rolemapping. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_realm_users_info - the module is moved to
middleware_automation.keycloak.keycloak_realm_users_info. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingansible_middleware.keycloaknow (https://github.com/ansible-collections/community.general/pull/12525).keycloak_role - the module is moved to
middleware_automation.keycloak.keycloak_role. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_user - the module is moved to
middleware_automation.keycloak.keycloak_user. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_user_execute_actions_email - the module is moved to
middleware_automation.keycloak.keycloak_user_execute_actions_email. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_user_federation - the module is moved to
middleware_automation.keycloak.keycloak_user_federation. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_user_rolemapping - the module is moved to
middleware_automation.keycloak.keycloak_user_rolemapping. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).keycloak_userprofile - the module is moved to
middleware_automation.keycloak.keycloak_userprofile. The module will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect will be removed in community.general 16.0.0. If you are using the module, please consider installing and usingmiddleware_automation.keycloaknow (https://github.com/ansible-collections/community.general/pull/12484).
community.postgresql
postgresql_membership - the top-level
groupsoption is deprecated and will be removed incommunity.postgresql 6.0.0.granted_by_anywith thegroupskey ofmembershipsbehaves the same on every version;target_rolesstays at the top level, and an emptymembershipslist withstate=exactreplaces an emptygroupslist.
community.rabbitmq
Support for RabbitMQ versions prior to 3.7.0 will be dropped in version 2.0.0 of this collection (https://github.com/ansible-collections/community.rabbitmq/issues/224).
Support for ansible-core versions prior to 2.16.0 will be dropped in version 2.0.0 of this collection (https://github.com/ansible-collections/community.rabbitmq/issues/224).
collection - Python 2 support will be dropped in version 2.0.0 of this collection. Make sure you have Python 3 installed on your target machines (https://github.com/ansible-collections/community.rabbitmq/issues/214).
community.vmware
plugins.module_utils.vmware - The function
find_host_by_cluster_datacenteris deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2599).plugins.module_utils.vmware - The function
vmware_argument_specis deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2599).plugins.module_utils.vmware - The method
PyVmomi.get_all_hosts_by_clusteris deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2599).plugins.module_utils.vmware - The method
PyVmomi.get_folder_pathis deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2599).plugins.module_utils.vmware - The method
PyVmomi.vcenter_version_at_leastis deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2599).plugins.module_utils.vmware_rest_client - The method
VMwareRestClient.get_cluster_by_nameis deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2599).plugins.module_utils.vmware_rest_client - The method
VMwareRestClient.get_datacenter_by_nameis deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2599).plugins.module_utils.vmware_rest_client - The method
VMwareRestClient.get_datastore_by_nameis deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2599).plugins.module_utils.vmware_rest_client - The method
VMwareRestClient.get_host_by_nameis deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2599).plugins.module_utils.vmware_rest_client - The method
VMwareRestClient.get_library_item_by_nameis deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2599).plugins.module_utils.vmware_rest_client - The method
VMwareRestClient.get_library_item_from_content_library_nameis deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2599).plugins.module_utils.vmware_rest_client - The method
VMwareRestClient.get_resource_pool_by_nameis deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2599).plugins.module_utils.vmware_rest_client - The method
VMwareRestClient.get_tags_for_clusteris deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2599).plugins.module_utils.vmware_rest_client - The method
VMwareRestClient.vmware_client_argument_specis deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2599).vcenter_standard_key_provider - the module has been deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2568).
vmware_guest_snapshot_info - the module has been deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2568).
vmware_host_facts - the module has been deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2568).
vmware_host_powerstate - the module has been deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2568).
vmware_host_service_info - the module has been deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2568).
vmware_host_service_manager - the module has been deprecated and will be removed in community.vmware 8.0.0
vmware_tag - the module has been deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2568).
vmware_tag_manager - the module has been deprecated and will be removed in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/pull/2568).
vmware_vcenter_settings - The defaults are deprecated and will be removed where possible in community.vmware 8.0.0 (https://github.com/ansible-collections/community.vmware/issues/2559).
hetzner.hcloud
datacenter_info - The
datacenter_infomodule is deprecated and will be removed after 1 Oct. 2026. Please use thelocation_infomodule instead.
kubernetes.core
Ansible Turbo mode (
ENABLE_TURBO_MODE) has been deprecated and will be removed in release 8.0.0, as it depends on thecloud.commoncollection, which is being retired (https://github.com/ansible-collections/kubernetes.core/pull/1242).helm - the
status.valuesreturn value has been deprecated and will be removed in version 8.0.0. Usestatus.release_valuesinstead (https://github.com/ansible-collections/kubernetes.core/issues/1239).helm - the
wait_timeoutparameter has been deprecated and will be removed in version 7.0.0. Usetimeoutinstead (https://github.com/ansible-collections/kubernetes.core/issues/1239).helm_info - the
status.valuesreturn value has been deprecated and will be removed in version 8.0.0. Usestatus.release_valuesinstead (https://github.com/ansible-collections/kubernetes.core/issues/1239).k8s_exec - the
return_codereturn value has been deprecated and will be removed in version 7.0.0. Usercinstead (https://github.com/ansible-collections/kubernetes.core/issues/1239).k8s_service - the
merge_type=jsonoption has been deprecated and will be removed in version 7.0.0. Usekubernetes.core.k8s_json_patchmodule instead (https://github.com/ansible-collections/kubernetes.core/issues/1239).
netapp_eseries.santricity
na_santricity_volume and nar_santricity_host - The
raid_levelvolume option alias is deprecated and will be removed in version 3.0.0. Useddp_raid_levelinstead.
purestorage.flashblade
purefb_fs - The
nfs_rulesparameter is deprecated in favour ofexport_policyand will be removed in 2.0.0. A deprecation notice is emitted when it is used.
theforeman.foreman
activation_key - the
content_viewandlifecycle_environmentparameters are deprecated, please usecontent_view_environmentsinstead (https://github.com/theforeman/foreman-ansible-modules/pull/1982)
vmware.vmware_rest
turbo mode and the associated environment variable
VMWARE_ENABLE_TURBOare deprecated and will be removed fromvmware.vmware_rest5.0.0 (https://github.com/ansible-collections/vmware.vmware_rest/pull/639).