Introduction
amazon.aws is the Ansible collection that provides modules, inventory plugins, and the aws_ssm connection plugin used to manage Amazon Web Services resources and connect to EC2 instances through AWS Systems Manager. Version 11.5.0 has been published on Ansible Galaxy, replacing 11.4.0.
This is a minor release: it introduces a new option on the aws_ec2 inventory plugin, removes a deprecated compatibility shim in favor of the Python standard library, and ships five bugfixes affecting ec2_spot_instance, aws_sqs_queue, rds_cluster, and the aws_ssm connection plugin.
Whats New
Minor Changes
- The deprecated
ansible.module_utils.sixcompatibility shims have been replaced with their Python standard library equivalents.ansible.module_utils.sixis deprecated starting in ansible-core 2.21 and is scheduled for removal in 2.24 (PR #3039). - The
aws_ec2inventory plugin gains ause_deprecated_tagsoption, which allows disabling the deprecatedtagshost variable (and its associated deprecation and reserved-name warnings) independently of the global deprecation warning settings (issue #3028).
Bugfixes
- aws_sqs_queue - Fixed UUID generation in the EDA event source plugin so that
meta.uuidis set as a flat key readable by ansible-rulebook. The SQSMessageIdis now validated as a proper RFC 4122 UUID, falling back to a deterministic UUID5 when it is invalid (PR #3034). - aws_ssm - The transfer bucket's server-side-encryption settings are now applied when uploading files from the controller to the managed node (
put_file), matching the existingfetch_filebehaviour. Previously the upload was made without encryption settings, so buckets whose policy denies unencryptedPutObjectrequests rejected every file transfer withAccessDenied(issue #3018). - aws_ssm connection plugin - Fixed a hang on reboot by handling
ValidationExceptionwhen terminating sessions that are already disconnected (issue #3044). - ec2_spot_instance - Fixed the
network_interfaces.ipv6_addressessuboption, which was defined asipv6addressand serialized to the invalid boto3 keyIpv6addressinstead ofIpv6Address, causing aParamValidationErrorwhen requesting a spot instance with an IPv6 address (issue #2557, PR #3110). - module_utils - Fixed
fail_json_aws()to work with Python 3.14 and ansible-core 2.19+ by using try/except to detectfail_jsonexception parameter support instead oftraceback.format_exc(), which fails outside an exception context in Python 3.14 (PR #3103). - rds_cluster - Fixed
final_snapshot_identifierbeing silently dropped when deleting a DB cluster withskip_final_snapshot=false, which made the deletion fail. The option is now calledfinal_db_snapshot_identifier, matchingrds_instanceand theFinalDBSnapshotIdentifierAPI parameter, withfinal_snapshot_identifierkept as an alias (issue #3084). - aws_ssm connection plugin - Fixed timeouts on Ubuntu clients, where dash on Ubuntu requires one-line commands without embedded
\n(PR #3036).
Affected Components
| Component | Type | Change |
|---|---|---|
| aws_ec2 | Inventory plugin | New use_deprecated_tags option |
| module_utils | Core | six shim removed, fail_json_aws fixed for Python 3.14 |
| aws_sqs_queue | Module | EDA UUID generation fix |
| aws_ssm | Module | SSE applied on put_file |
| aws_ssm | Connection plugin | Fixed reboot hang and Ubuntu dash timeout |
| ec2_spot_instance | Module | Fixed ipv6_addresses suboption serialization |
| rds_cluster | Module | Renamed final_snapshot_identifier to final_db_snapshot_identifier (alias kept) |
How to Install and Verify
# Install or upgrade the collection from Ansible Galaxy
ansible-galaxy collection install amazon.aws:==11.5.0
# Or upgrade to the latest available version
ansible-galaxy collection install amazon.aws --upgrade
# Verify the installed version
ansible-galaxy collection list amazon.aws
# Confirm from Python/ansible-doc
ansible-doc -t module amazon.aws.rds_cluster | head -n 20
Conclusion
Users relying on the aws_ssm connection plugin with Ubuntu managed nodes, or performing put_file transfers into encryption-enforcing S3 buckets, should prioritize this upgrade. Anyone calling rds_cluster with final_snapshot_identifier should also check their playbooks, since the option has been renamed to final_db_snapshot_identifier (the old name remains available as an alias, so existing playbooks keep working without changes).