Skip to content

Commit 3b5a597

Browse files
Merge branch 'release-1.27.31' into develop
* release-1.27.31: Bumping version to 1.27.31 Update changelog based on model updates Add pagination backcompat for kinesis list-streams
2 parents cd7cf2e + 31c4ad4 commit 3b5a597

File tree

9 files changed

+178
-4
lines changed

9 files changed

+178
-4
lines changed

.changes/1.27.31.json

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
[
2+
{
3+
"category": "``backup-gateway``",
4+
"description": "This release adds support for VMware vSphere tags, enabling customer to protect VMware virtual machines using tag-based policies for AWS tags mapped from vSphere tags. This release also adds support for customer-accessible gateway-hypervisor interaction log and upload bandwidth rate limit schedule.",
5+
"type": "api-change"
6+
},
7+
{
8+
"category": "``connect``",
9+
"description": "Added support for \"English - New Zealand\" and \"English - South African\" to be used with Amazon Connect Custom Vocabulary APIs.",
10+
"type": "api-change"
11+
},
12+
{
13+
"category": "``ecs``",
14+
"description": "This release adds support for container port ranges in ECS, a new capability that allows customers to provide container port ranges to simplify use cases where multiple ports are in use in a container. This release updates TaskDefinition mutation APIs and the Task description APIs.",
15+
"type": "api-change"
16+
},
17+
{
18+
"category": "``eks``",
19+
"description": "Add support for Windows managed nodes groups.",
20+
"type": "api-change"
21+
},
22+
{
23+
"category": "``glue``",
24+
"description": "This release adds support for AWS Glue Crawler with native DeltaLake tables, allowing Crawlers to classify Delta Lake format tables and catalog them for query engines to query against.",
25+
"type": "api-change"
26+
},
27+
{
28+
"category": "``kinesis``",
29+
"description": "Added StreamARN parameter for Kinesis Data Streams APIs. Added a new opaque pagination token for ListStreams. SDKs will auto-generate Account Endpoint when accessing Kinesis Data Streams.",
30+
"type": "api-change"
31+
},
32+
{
33+
"category": "``location``",
34+
"description": "This release adds support for a new style, \"VectorOpenDataStandardLight\" which can be used with the new data source, \"Open Data Maps (Preview)\".",
35+
"type": "api-change"
36+
},
37+
{
38+
"category": "``m2``",
39+
"description": "Adds an optional create-only `KmsKeyId` property to Environment and Application resources.",
40+
"type": "api-change"
41+
},
42+
{
43+
"category": "``sagemaker``",
44+
"description": "SageMaker Inference Recommender now allows customers to load tests their models on various instance types using private VPC.",
45+
"type": "api-change"
46+
},
47+
{
48+
"category": "``securityhub``",
49+
"description": "Added new resource details objects to ASFF, including resources for AwsEc2LaunchTemplate, AwsSageMakerNotebookInstance, AwsWafv2WebAcl and AwsWafv2RuleGroup.",
50+
"type": "api-change"
51+
},
52+
{
53+
"category": "``translate``",
54+
"description": "Raised the input byte size limit of the Text field in the TranslateText API to 10000 bytes.",
55+
"type": "api-change"
56+
}
57+
]

CHANGELOG.rst

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@
22
CHANGELOG
33
=========
44

5+
1.27.31
6+
=======
7+
8+
* api-change:``backup-gateway``: This release adds support for VMware vSphere tags, enabling customer to protect VMware virtual machines using tag-based policies for AWS tags mapped from vSphere tags. This release also adds support for customer-accessible gateway-hypervisor interaction log and upload bandwidth rate limit schedule.
9+
* api-change:``connect``: Added support for "English - New Zealand" and "English - South African" to be used with Amazon Connect Custom Vocabulary APIs.
10+
* api-change:``ecs``: This release adds support for container port ranges in ECS, a new capability that allows customers to provide container port ranges to simplify use cases where multiple ports are in use in a container. This release updates TaskDefinition mutation APIs and the Task description APIs.
11+
* api-change:``eks``: Add support for Windows managed nodes groups.
12+
* api-change:``glue``: This release adds support for AWS Glue Crawler with native DeltaLake tables, allowing Crawlers to classify Delta Lake format tables and catalog them for query engines to query against.
13+
* api-change:``kinesis``: Added StreamARN parameter for Kinesis Data Streams APIs. Added a new opaque pagination token for ListStreams. SDKs will auto-generate Account Endpoint when accessing Kinesis Data Streams.
14+
* api-change:``location``: This release adds support for a new style, "VectorOpenDataStandardLight" which can be used with the new data source, "Open Data Maps (Preview)".
15+
* api-change:``m2``: Adds an optional create-only `KmsKeyId` property to Environment and Application resources.
16+
* api-change:``sagemaker``: SageMaker Inference Recommender now allows customers to load tests their models on various instance types using private VPC.
17+
* api-change:``securityhub``: Added new resource details objects to ASFF, including resources for AwsEc2LaunchTemplate, AwsSageMakerNotebookInstance, AwsWafv2WebAcl and AwsWafv2RuleGroup.
18+
* api-change:``translate``: Raised the input byte size limit of the Text field in the TranslateText API to 10000 bytes.
19+
20+
521
1.27.30
622
=======
723

awscli/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"""
1818
import os
1919

20-
__version__ = '1.27.30'
20+
__version__ = '1.27.31'
2121

2222
#
2323
# Get our data path to be added to botocore's search path

awscli/customizations/kinesis.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License"). You
4+
# may not use this file except in compliance with the License. A copy of
5+
# the License is located at
6+
#
7+
# http://aws.amazon.com/apache2.0/
8+
#
9+
# or in the "license" file accompanying this file. This file is
10+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11+
# ANY KIND, either express or implied. See the License for the specific
12+
# language governing permissions and limitations under the License.
13+
14+
15+
def register_kinesis_list_streams_pagination_backcompat(event_emitter):
16+
# The ListStreams previously used the ExclusiveStartStreamName parameter
17+
# for input tokens to pagination. This operation was then updated to
18+
# also allow for the typical NextToken input and output parameters. The
19+
# pagination model was also updated to use the NextToken field instead of
20+
# the ExclusiveStartStreamName field for input tokens. However, the
21+
# ExclusiveStartStreamName is still a valid parameter to control pagination
22+
# of this operation and is incompatible with the NextToken parameter. So,
23+
# the CLI needs to continue to treat the ExclusiveStartStreamName as if it
24+
# is a raw input token parameter to the API by disabling auto-pagination if
25+
# provided. Otherwise, if it was treated as a normal API parameter, errors
26+
# would be thrown when paginating across multiple pages since the parameter
27+
# is incompatible with the NextToken parameter.
28+
event_emitter.register(
29+
'building-argument-table.kinesis.list-streams',
30+
undocument_exclusive_start_stream_name,
31+
)
32+
event_emitter.register(
33+
'operation-args-parsed.kinesis.list-streams',
34+
disable_pagination_when_exclusive_start_stream_name_provided,
35+
)
36+
37+
38+
def undocument_exclusive_start_stream_name(argument_table, **kwargs):
39+
argument_table['exclusive-start-stream-name']._UNDOCUMENTED = True
40+
41+
42+
def disable_pagination_when_exclusive_start_stream_name_provided(
43+
parsed_args, parsed_globals, **kwargs
44+
):
45+
if parsed_args.exclusive_start_stream_name is not None:
46+
parsed_globals.paginate = False

awscli/handlers.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@
9292
from awscli.customizations.sms_voice import register_sms_voice_hide
9393
from awscli.customizations.dynamodb import register_dynamodb_paginator_fix
9494
from awscli.customizations.overridesslcommonname import register_override_ssl_common_name
95+
from awscli.customizations.kinesis import \
96+
register_kinesis_list_streams_pagination_backcompat
9597

9698

9799
def awscli_initialize(event_handlers):
@@ -185,3 +187,4 @@ def awscli_initialize(event_handlers):
185187
register_sms_voice_hide(event_handlers)
186188
register_dynamodb_paginator_fix(event_handlers)
187189
register_override_ssl_common_name(event_handlers)
190+
register_kinesis_list_streams_pagination_backcompat(event_handlers)

doc/source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
# The short X.Y version.
5353
version = '1.27.'
5454
# The full version, including alpha/beta/rc tags.
55-
release = '1.27.30'
55+
release = '1.27.31'
5656

5757
# The language for content autogenerated by Sphinx. Refer to documentation
5858
# for a list of supported languages.

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ universal = 0
33

44
[metadata]
55
requires_dist =
6-
botocore==1.29.30
6+
botocore==1.29.31
77
docutils>=0.10,<0.17
88
s3transfer>=0.6.0,<0.7.0
99
PyYAML>=3.10,<5.5

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def find_version(*file_paths):
2424

2525

2626
install_requires = [
27-
'botocore==1.29.30',
27+
'botocore==1.29.31',
2828
'docutils>=0.10,<0.17',
2929
's3transfer>=0.6.0,<0.7.0',
3030
'PyYAML>=3.10,<5.5',
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License"). You
4+
# may not use this file except in compliance with the License. A copy of
5+
# the License is located at
6+
#
7+
# http://aws.amazon.com/apache2.0/
8+
#
9+
# or in the "license" file accompanying this file. This file is
10+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11+
# ANY KIND, either express or implied. See the License for the specific
12+
# language governing permissions and limitations under the License.
13+
import json
14+
15+
from awscli.testutils import BaseAWSCommandParamsTest, BaseAWSHelpOutputTest
16+
17+
18+
class TestListStreams(BaseAWSCommandParamsTest):
19+
20+
prefix = ['kinesis', 'list-streams']
21+
22+
def test_exclusive_start_stream_name_disables_auto_pagination(self):
23+
cmdline = self.prefix + ['--exclusive-start-stream-name', 'stream-1']
24+
self.parsed_responses = [
25+
{
26+
'StreamNames': ['stream-1', 'stream-2'],
27+
'StreamSummaries': [
28+
{'StreamName': 'stream-1'},
29+
{'StreamName': 'stream-2'},
30+
],
31+
'HasMoreStreams': True,
32+
'NextToken': 'token',
33+
}
34+
]
35+
expected_params = {'ExclusiveStartStreamName': 'stream-1'}
36+
stdout, _, _ = self.assert_params_for_cmd(cmdline, expected_params)
37+
output = json.dumps(stdout)
38+
self.assertIn('NextToken', output)
39+
self.assertIn('HasMoreStreams', output)
40+
41+
def test_exclusive_start_stream_name_incompatible_with_page_args(self):
42+
cmdline = self.prefix + ['--exclusive-start-stream-name', 'stream-1']
43+
cmdline += ['--page-size', '1']
44+
_, stderr, _ = self.run_cmd(cmdline, expected_rc=255)
45+
self.assertIn('Error during pagination: Cannot specify', stderr)
46+
self.assertIn('--page-size', stderr)
47+
48+
49+
class TestListStreamsHelp(BaseAWSHelpOutputTest):
50+
def test_exclusive_start_stream_name_is_undocumented(self):
51+
self.driver.main(['kinesis', 'list-streams', 'help'])
52+
self.assert_not_contains('--exclusive-start-steam-name')

0 commit comments

Comments
 (0)