Major Changes
- amazon.aws collection - Due to the AWS SDKs announcing the end of support for Python less than 3.6 (https://boto3.amazonaws.com/v1/documentation/api/1.17.64/guide/migrationpy3.html) this collection now requires Python 3.6+ (#298).
- amazon.aws collection - The amazon.aws collection has dropped support for
botocore<1.18.0
andboto3<1.15.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 (#502). - ec2_instance - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_instance
. - ec2_instance_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_instance_info
. - ec2_vpc_endpoint - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_endpoint
. - ec2_vpc_endpoint_facts - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_endpoint_info
. - ec2_vpc_endpoint_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_endpoint_info
. - ec2_vpc_endpoint_service_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_endpoint_service_info
. - ec2_vpc_igw - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_igw
. - ec2_vpc_igw_facts - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_igw_facts
. - ec2_vpc_igw_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_igw_info
. - ec2_vpc_nat_gateway - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_nat_gateway
. - ec2_vpc_nat_gateway_facts - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_nat_gateway_info
. - ec2_vpc_nat_gateway_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_nat_gateway_info
. - ec2_vpc_route_table - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_route_table
. - ec2_vpc_route_table_facts - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_route_table_facts
. - ec2_vpc_route_table_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_route_table_info
.
Minor Changes
- aws_ec2 - use a generator rather than list comprehension (#465).
- aws_s3 - Tests for compatibility with older versions of the AWS SDKs have been removed (#442).
- aws_s3 - Tests for compatibility with older versions of the AWS SDKs have been removed (#442).
- aws_s3 - add
tags
andpurge_tags
features for an S3 object (#335) - aws_s3 - new mode to copy existing on another bucket (#359).
- aws_secret - added support for gracefully handling deleted secrets (#455).
- aws_ssm - add
on_missing
andon_denied
option (#370). - cloudformation - Tests for compatibility with older versions of the AWS SDKs have been removed (#442).
- cloudformation - Tests for compatibility with older versions of the AWS SDKs have been removed (#442).
- ec2_ami - ensure tags are propagated to the snapshot(s) when creating an AMI (#437).
- ec2_eni - fix idempotency when
security_groups
attribute is specified (#337). - ec2_eni - timeout increased when waiting for ENIs to finish detaching (#501).
- ec2_group - Tests for compatibility with older versions of the AWS SDKs have been removed (#442).
- ec2_group - Tests for compatibility with older versions of the AWS SDKs have been removed (#442).
- ec2_group - use a generator rather than list comprehension (#465).
- ec2_group - use system ipaddress module, available with Python >= 3.3, instead of vendored copy (#461).
- ec2_instance - Tests for compatibility with older versions of the AWS SDKs have been removed (#442).
- ec2_instance - Tests for compatibility with older versions of the AWS SDKs have been removed (#442).
- ec2_instance - add
throughput
parameter for gp3 volume types (#433). - ec2_instance - add support for controlling metadata options (#414).
- ec2_instance - remove unnecessary raise when exiting with a failure (#460).
- ec2_instance_info - Tests for compatibility with older versions of the AWS SDKs have been removed (#442).
- ec2_instance_info - Tests for compatibility with older versions of the AWS SDKs have been removed (#442).
- ec2_snapshot - migrated to use the boto3 python library (#356).
- ec2_spot_instance_info - Added a new module that describes the specified Spot Instance requests (#487).
- ec2_vol - add parameter
multi_attach
to support Multi-Attach on volume creation/update (#362). - ec2_vol - relax the boto3/botocore requirements and only require botocore 1.19.27 for modifying the
throughput
parameter (#346). - ec2_vpc_dhcp_option - Now also returns a boto3-style resource description in the
dhcp_options
result key. This includes any tags for thedhcp_options_id
and has the same format as the current return value ofec2_vpc_dhcp_option_info
. (#252) - ec2_vpc_dhcp_option_info - Now also returns a user-friendly
dhcp_config
key that matches the historicalnew_config
key from ec2_vpc_dhcp_option, and alleviates the need to useitems2dict(key_name='key', value_name='values')
when parsing the output of the module. (#252) - ec2_vpc_subnet - Tests for compatibility with older versions of the AWS SDKs have been removed (#442).
- ec2_vpc_subnet - Tests for compatibility with older versions of the AWS SDKs have been removed (#442).
- integration tests - remove dependency with collection
community.general
(#361). - module_utils/waiter - add RDS cluster
cluster_available
waiter (#464). - module_utils/waiter - add RDS cluster
cluster_deleted
waiter (#464). - module_utils/waiter - add Route53
resource_record_sets_changed
waiter (#350). - s3_bucket - Tests for compatibility with older versions of the AWS SDKs have been removed (#442).
- s3_bucket - Tests for compatibility with older versions of the AWS SDKs have been removed (#442).
- s3_bucket - add new option
object_ownership
to configure object ownership (#311) - s3_bucket - updated to use HeadBucket instead of ListBucket when testing for bucket existence (#357).
Breaking Changes / Porting Guide
- ec2_instance - instance wait for state behaviour has changed. If plays require the old behavior of waiting for the instance monitoring status to become
OK
when launching a new instance, the action will need to specifystate: started
(#481). - ec2_snapshot - support for waiting indefinitely has been dropped, new default is 10 minutes (#356).
- ec2_vol_info - return
attachment_set
is now a list of attachments with Multi-Attach support on disk. (#362). - ec2_vpc_dhcp_option - The module has been refactored to use boto3. Keys and value types returned by the module are now consistent, which is a change from the previous behaviour. A
purge_tags
option has been added, which defaults toTrue
. (#252) - ec2_vpc_dhcp_option_info - Now preserves case for tag keys in return value. (#252)
- module_utils.core - The boto3 switch has been removed from the region parameter (#287).
- module_utils/compat - vendored copy of ipaddress removed (#461).
- module_utils/core - updated the
scrub_none_parameters
function so thatdescend_into_lists
is set toTrue
by default (#297).
Deprecated Features
- ec2 - the boto based
ec2
module has been deprecated in favour of the boto3 basedec2_instance
module. Theec2
module will be removed in release 4.0.0 (#424). - ec2_vpc_dhcp_option - The
new_config
return key has been deprecated and will be removed in a future release. It will be replaced bydhcp_config
. Both values are returned in the interim. (#252)
Bugfixes
- aws_s3 - Fix upload permission when an S3 bucket ACL policy requires a particular canned ACL (#318)
- ec2_ami - Fix ami issue when creating an ami with no_device parameter (#386)
- ec2_instance -
ec2_instance
was waiting on EC2 instance monitoring status to beOK
when launching a new instance. This could cause a play to wait multiple minutes for AWS's monitoring to complete status checks (#481). - ec2_snapshot - Fix snapshot issue when capturing a snapshot of a volume without tags (#383)
- ec2_vol - Fixes
changed
status whenmodify_volume
is used, but no new disk is being attached. The module incorrectly reported that no change had occurred even when disks had been modified (iops, throughput, type, etc.). (#482). - ec2_vol - fix iops setting and enforce iops/throughput parameters usage (#334)
- inventory -
include_filters
won't be ignored anymore iffilters
is not set (#457). - s3_bucket - Fix error handling when attempting to set a feature that is not implemented (#391).
- s3_bucket - Gracefully handle
NotImplemented
exceptions when fetching encryption settings (#390).
New Modules
- ec2_spot_instance - request, stop, reboot or cancel spot instance
- ec2_spot_instance_info - Gather information about ec2 spot instance requests