Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[4.0.0] Bump minimum botocore version to 1.20.0 #956

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -20,7 +20,7 @@ As the AWS SDK for Python (Boto3 and Botocore) has [ceased supporting Python 2.7

Starting with the 2.0.0 releases of amazon.aws and community.aws, it is generally the collection's policy to support the versions of `botocore` and `boto3` that were released 12 months prior to the most recent major collection release, following semantic versioning (for example, 2.0.0, 3.0.0).

Version 3.0.0 of this collection supports `boto3 >= 1.16.0` and `botocore >= 1.19.0`
Version 4.0.0 of this collection supports `boto3 >= 1.17.0` and `botocore >= 1.20.0`

## Included content
<!--start collection content-->
Expand Down
7 changes: 7 additions & 0 deletions changelogs/fragments/release-4--botocore.yml
@@ -0,0 +1,7 @@
major_changes:
- community.aws collection - The amazon.aws collection has dropped support for
``botocore<1.20.0`` and ``boto3<1.17.0``. Most modules will continue to work
with older versions of the AWS SDK, however compatability 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/956).
2 changes: 0 additions & 2 deletions plugins/modules/aws_msk_cluster.py
Expand Up @@ -50,7 +50,6 @@
instance_type:
description:
- The type of Amazon EC2 instances to use for Kafka brokers.
- Update operation requires botocore version >= 1.19.58.
choices:
- kafka.t3.small
- kafka.m5.large
Expand Down Expand Up @@ -520,7 +519,6 @@ def create_or_update_cluster(client, module):
}
},
"broker_type": {
"botocore_version": "1.19.58",
"current_value": cluster["BrokerNodeGroupInfo"]["InstanceType"],
"target_value": module.params.get("instance_type"),
"update_params": {
Expand Down
12 changes: 6 additions & 6 deletions plugins/modules/ec2_launch_template.py
Expand Up @@ -358,15 +358,15 @@
type: str
description: >
- Wether the instance metadata endpoint is available via IPv6 (C(enabled)) or not (C(disabled)).
- Requires boto3 >= 1.18.29
- Requires botocore >= 1.21.29
choices: [enabled, disabled]
default: 'disabled'
instance_metadata_tags:
version_added: 3.1.0
type: str
description:
- Wether the instance tags are availble (C(enabled)) via metadata endpoint or not (C(disabled)).
- Requires boto3 >= 1.20.30
- Requires botocore >= 1.23.30
choices: [enabled, disabled]
default: 'disabled'
'''
Expand Down Expand Up @@ -534,18 +534,18 @@ def create_or_update(module, template_options):
lt_data = scrub_none_parameters(lt_data, descend_into_lists=True)

if lt_data.get('MetadataOptions'):
if not module.boto3_at_least('1.20.30'):
if not module.botocore_at_least('1.23.30'):
# fail only if enabled is requested
if lt_data['MetadataOptions'].get('InstanceMetadataTags') == 'enabled':
module.require_boto3_at_least('1.20.30', reason='to set instance_metadata_tags')
module.require_botocore_at_least('1.23.30', reason='to set instance_metadata_tags')
# pop if it's not requested to keep backwards compatibility.
# otherwise the modules failes because parameters are set due default values
lt_data['MetadataOptions'].pop('InstanceMetadataTags')

if not module.boto3_at_least('1.18.29'):
if not module.botocore_at_least('1.21.29'):
# fail only if enabled is requested
if lt_data['MetadataOptions'].get('HttpProtocolIpv6') == 'enabled':
module.require_boto3_at_least('1.18.29', reason='to set http_protocol_ipv6')
module.require_botocore_at_least('1.21.29', reason='to set http_protocol_ipv6')
# pop if it's not requested to keep backwards compatibility.
# otherwise the modules failes because parameters are set due default values
lt_data['MetadataOptions'].pop('HttpProtocolIpv6')
Expand Down
4 changes: 2 additions & 2 deletions requirements.txt
Expand Up @@ -2,5 +2,5 @@
# - tests/unit/constraints.txt
# - tests/integration/constraints.txt
# - tests/integration/targets/setup_botocore_pip
botocore>=1.19.0
boto3>=1.16.0
botocore>=1.20.0
boto3>=1.17.0
6 changes: 3 additions & 3 deletions tests/integration/constraints.txt
@@ -1,7 +1,7 @@
# Specifically run tests against the oldest versions that we support
boto3==1.16.0
botocore==1.19.0
boto3==1.17.0
botocore==1.20.0

# AWS CLI has `botocore==` dependencies, provide the one that matches botocore
# to avoid needing to download over a years worth of awscli wheels.
awscli==1.18.160
awscli==1.19.0
@@ -1,2 +1,2 @@
default_botocore_version: '1.19.0'
default_boto3_version: '1.16.0'
default_botocore_version: '1.20.0'
default_boto3_version: '1.17.0'
6 changes: 3 additions & 3 deletions tests/unit/constraints.txt
@@ -1,7 +1,7 @@
# Specifically run tests against the oldest versions that we support
boto3==1.16.0
botocore==1.19.0
boto3==1.17.0
botocore==1.20.0

# AWS CLI has `botocore==` dependencies, provide the one that matches botocore
# to avoid needing to download over a years worth of awscli wheels.
awscli==1.18.160
awscli==1.19.0