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

Bump botocore requirements #934

Merged
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.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,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 4.0.0 of this collection supports `boto3 >= 1.17.0` and `botocore >= 1.20.0`
Version 5.0.0 of this collection supports `boto3 >= 1.18.0` and `botocore >= 1.21.0`

All support for the original AWS SDK `boto` was removed in release 4.0.0.

Expand Down
6 changes: 6 additions & 0 deletions changelogs/fragments/botocore.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
breaking_changes:
- amazon.aws collection - The amazon.aws collection has dropped support for ``botocore<1.21.0`` and
``boto3<1.18.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/1359).
4 changes: 2 additions & 2 deletions plugins/doc_fragments/aws.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ class ModuleDocFragment(object):
type: dict
requirements:
- python >= 3.6
- boto3 >= 1.17.0
- botocore >= 1.20.0
- boto3 >= 1.18.0
- botocore >= 1.21.0
notes:
- If parameters are not set within the module, the following
environment variables can be used in decreasing order of precedence
Expand Down
4 changes: 2 additions & 2 deletions plugins/doc_fragments/aws_boto3.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ class ModuleDocFragment(object):
options: {}
requirements:
- python >= 3.6
- boto3 >= 1.17.0
- botocore >= 1.20.0
- boto3 >= 1.18.0
- botocore >= 1.21.0
'''
8 changes: 4 additions & 4 deletions plugins/module_utils/modules.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,11 +125,11 @@ def __init__(self, **kwargs):
self._module.fail_json(
msg=missing_required_lib('botocore or boto3'))
current_versions = self._gather_versions()
if not self.botocore_at_least('1.20.0'):
self.warn('botocore < 1.20.0 is not supported or tested.'
if not self.botocore_at_least('1.21.0'):
self.warn('botocore < 1.21.0 is not supported or tested.'
' Some features may not work.')
if not self.boto3_at_least("1.17.0"):
self.warn('boto3 < 1.17.0 is not supported or tested.'
if not self.boto3_at_least("1.18.0"):
self.warn('boto3 < 1.18.0 is not supported or tested.'
' Some features may not work.')

self.check_mode = self._module.check_mode
Expand Down
4 changes: 2 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
# - tests/unit/constraints.txt
# - tests/integration/constraints.txt
# - tests/integration/targets/setup_botocore_pip
botocore>=1.20.0
boto3>=1.17.0
botocore>=1.21.0
boto3>=1.18.0
6 changes: 3 additions & 3 deletions tests/integration/constraints.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Specifically run tests against the oldest versions that we support
boto3==1.17.0
botocore==1.20.0
boto3==1.18.0
botocore==1.21.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.19.0
awscli==1.20.0
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
default_botocore_version: '1.20.0'
default_boto3_version: '1.17.0'
default_botocore_version: '1.21.0'
default_boto3_version: '1.18.0'
6 changes: 3 additions & 3 deletions tests/unit/constraints.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Specifically run tests against the oldest versions that we support
boto3==1.17.0
botocore==1.20.0
boto3==1.18.0
botocore==1.21.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.19.0
awscli==1.20.0
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ class TestMinimalVersions(object):
# Prepare some data for use in our testing
# ========================================================
def setup_method(self):
self.MINIMAL_BOTO3 = '1.17.0'
self.MINIMAL_BOTOCORE = '1.20.0'
self.OLD_BOTO3 = '1.16.999'
self.OLD_BOTOCORE = '1.19.999'
self.MINIMAL_BOTO3 = '1.18.0'
self.MINIMAL_BOTOCORE = '1.21.0'
self.OLD_BOTO3 = '1.17.999'
self.OLD_BOTOCORE = '1.20.999'

# ========================================================
# Test we don't warn when using valid versions
Expand Down