Skip to content

Commit 9c6005c

Browse files
Merge branch 'release-1.36.0' into develop
* release-1.36.0: Bumping version to 1.36.0 Update endpoints model Update to latest models Merge customizations for S3
2 parents e9dcfac + 786c28d commit 9c6005c

File tree

31 files changed

+2026
-518
lines changed

31 files changed

+2026
-518
lines changed

.changes/1.36.0.json

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
[
2+
{
3+
"category": "``apigateway``",
4+
"description": "Documentation updates for Amazon API Gateway",
5+
"type": "api-change"
6+
},
7+
{
8+
"category": "``bedrock-agent-runtime``",
9+
"description": "Now supports streaming for inline agents.",
10+
"type": "api-change"
11+
},
12+
{
13+
"category": "``cognito-identity``",
14+
"description": "corrects the dual-stack endpoint configuration",
15+
"type": "api-change"
16+
},
17+
{
18+
"category": "``partnercentral-selling``",
19+
"description": "Add Tagging support for ResourceSnapshotJob resources",
20+
"type": "api-change"
21+
},
22+
{
23+
"category": "``s3``",
24+
"description": "This change enhances integrity protections for new SDK requests to S3. S3 SDKs now support the CRC64NVME checksum algorithm, full object checksums for multipart S3 objects, and new default integrity protections for S3 requests.",
25+
"type": "api-change"
26+
},
27+
{
28+
"category": "``security-ir``",
29+
"description": "Increase minimum length of Threat Actor IP 'userAgent' to 1.",
30+
"type": "api-change"
31+
},
32+
{
33+
"category": "``sesv2``",
34+
"description": "This release introduces a new recommendation in Virtual Deliverability Manager Advisor, which detects elevated complaint rates for customer sending identities.",
35+
"type": "api-change"
36+
},
37+
{
38+
"category": "``workspaces``",
39+
"description": "Added GeneralPurpose.4xlarge & GeneralPurpose.8xlarge ComputeTypes.",
40+
"type": "api-change"
41+
},
42+
{
43+
"category": "``workspaces-thin-client``",
44+
"description": "Mark type in MaintenanceWindow as required.",
45+
"type": "api-change"
46+
},
47+
{
48+
"category": "AWSCRT",
49+
"description": "Update awscrt version to 0.23.4",
50+
"type": "enhancement"
51+
},
52+
{
53+
"category": "``s3``",
54+
"description": "The S3 client attempts to validate response checksums for all S3 API operations that support checksums. However, if the SDK has not implemented the specified checksum algorithm then this validation is skipped. Checksum validation behavior can be configured using the ``when_supported`` and ``when_required`` options - in code using the ``response_checksum_validation`` parameter for ``botocore.config.Config``, in the shared AWS config file using ``response_checksum_validation``, or as an env variable using ``AWS_RESPONSE_CHECKSUM_VALIDATION``.",
55+
"type": "feature"
56+
},
57+
{
58+
"category": "``s3``",
59+
"description": "Added support for the CRC64NVME checksum algorithm in the S3 client through the optional AWS CRT (``awscrt``) dependency.",
60+
"type": "feature"
61+
},
62+
{
63+
"category": "``s3``",
64+
"description": "S3 client behavior is updated to always calculate a CRC32 checksum by default for operations that support it (such as PutObject or UploadPart), or require it (such as DeleteObjects). Checksum behavior can be configured using ``when_supported`` and ``when_required`` options - in code using the ``request_checksum_calculation`` parameter for ``botocore.config.Config``, in the shared AWS config file using ``request_checksum_calculation``, or as an env variable using ``AWS_REQUEST_CHECKSUM_CALCULATION``. Note: Botocore will no longer automatically compute and populate the Content-MD5 header.",
65+
"type": "feature"
66+
}
67+
]

CHANGELOG.rst

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

5+
1.36.0
6+
======
7+
8+
* api-change:``apigateway``: Documentation updates for Amazon API Gateway
9+
* api-change:``bedrock-agent-runtime``: Now supports streaming for inline agents.
10+
* api-change:``cognito-identity``: corrects the dual-stack endpoint configuration
11+
* api-change:``partnercentral-selling``: Add Tagging support for ResourceSnapshotJob resources
12+
* api-change:``s3``: This change enhances integrity protections for new SDK requests to S3. S3 SDKs now support the CRC64NVME checksum algorithm, full object checksums for multipart S3 objects, and new default integrity protections for S3 requests.
13+
* api-change:``security-ir``: Increase minimum length of Threat Actor IP 'userAgent' to 1.
14+
* api-change:``sesv2``: This release introduces a new recommendation in Virtual Deliverability Manager Advisor, which detects elevated complaint rates for customer sending identities.
15+
* api-change:``workspaces``: Added GeneralPurpose.4xlarge & GeneralPurpose.8xlarge ComputeTypes.
16+
* api-change:``workspaces-thin-client``: Mark type in MaintenanceWindow as required.
17+
* enhancement:AWSCRT: Update awscrt version to 0.23.4
18+
* feature:``s3``: The S3 client attempts to validate response checksums for all S3 API operations that support checksums. However, if the SDK has not implemented the specified checksum algorithm then this validation is skipped. Checksum validation behavior can be configured using the ``when_supported`` and ``when_required`` options - in code using the ``response_checksum_validation`` parameter for ``botocore.config.Config``, in the shared AWS config file using ``response_checksum_validation``, or as an env variable using ``AWS_RESPONSE_CHECKSUM_VALIDATION``.
19+
* feature:``s3``: Added support for the CRC64NVME checksum algorithm in the S3 client through the optional AWS CRT (``awscrt``) dependency.
20+
* feature:``s3``: S3 client behavior is updated to always calculate a CRC32 checksum by default for operations that support it (such as PutObject or UploadPart), or require it (such as DeleteObjects). Checksum behavior can be configured using ``when_supported`` and ``when_required`` options - in code using the ``request_checksum_calculation`` parameter for ``botocore.config.Config``, in the shared AWS config file using ``request_checksum_calculation``, or as an env variable using ``AWS_REQUEST_CHECKSUM_CALCULATION``. Note: Botocore will no longer automatically compute and populate the Content-MD5 header.
21+
22+
523
1.35.99
624
=======
725

botocore/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import os
1717
import re
1818

19-
__version__ = '1.35.99'
19+
__version__ = '1.36.0'
2020

2121

2222
class NullHandler(logging.Handler):

botocore/args.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,15 @@
6161
# values result in a warning-level log message.
6262
USERAGENT_APPID_MAXLEN = 50
6363

64+
VALID_REQUEST_CHECKSUM_CALCULATION_CONFIG = (
65+
"when_supported",
66+
"when_required",
67+
)
68+
VALID_RESPONSE_CHECKSUM_VALIDATION_CONFIG = (
69+
"when_supported",
70+
"when_required",
71+
)
72+
6473

6574
class ClientArgsCreator:
6675
def __init__(
@@ -271,12 +280,19 @@ def compute_client_args(
271280
sigv4a_signing_region_set=(
272281
client_config.sigv4a_signing_region_set
273282
),
283+
request_checksum_calculation=(
284+
client_config.request_checksum_calculation
285+
),
286+
response_checksum_validation=(
287+
client_config.response_checksum_validation
288+
),
274289
)
275290
self._compute_retry_config(config_kwargs)
276291
self._compute_connect_timeout(config_kwargs)
277292
self._compute_user_agent_appid_config(config_kwargs)
278293
self._compute_request_compression_config(config_kwargs)
279294
self._compute_sigv4a_signing_region_set_config(config_kwargs)
295+
self._compute_checksum_config(config_kwargs)
280296
s3_config = self.compute_s3_config(client_config)
281297

282298
is_s3_service = self._is_s3_service(service_name)
@@ -781,3 +797,36 @@ def _compute_sigv4a_signing_region_set_config(self, config_kwargs):
781797
'sigv4a_signing_region_set'
782798
)
783799
config_kwargs['sigv4a_signing_region_set'] = sigv4a_signing_region_set
800+
801+
def _compute_checksum_config(self, config_kwargs):
802+
self._handle_checksum_config(
803+
config_kwargs,
804+
config_key="request_checksum_calculation",
805+
valid_options=VALID_REQUEST_CHECKSUM_CALCULATION_CONFIG,
806+
)
807+
self._handle_checksum_config(
808+
config_kwargs,
809+
config_key="response_checksum_validation",
810+
valid_options=VALID_RESPONSE_CHECKSUM_VALIDATION_CONFIG,
811+
)
812+
813+
def _handle_checksum_config(
814+
self,
815+
config_kwargs,
816+
config_key,
817+
valid_options,
818+
):
819+
value = config_kwargs.get(config_key)
820+
if value is None:
821+
value = self._config_store.get_config_variable(config_key)
822+
823+
if isinstance(value, str):
824+
value = value.lower()
825+
826+
if value not in valid_options:
827+
raise botocore.exceptions.InvalidChecksumConfigError(
828+
config_key=config_key,
829+
config_value=value,
830+
valid_options=valid_options,
831+
)
832+
config_kwargs[config_key] = value

botocore/config.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,37 @@ class Config:
235235
specified service will be ignored.
236236
237237
Defaults to None.
238+
239+
:type request_checksum_calculation: str
240+
:param request_checksum_calculation: Determines when a checksum will be
241+
calculated for request payloads. Valid values are:
242+
243+
* ``when_supported`` -- When set, a checksum will be calculated for
244+
all request payloads of operations modeled with the ``httpChecksum``
245+
trait where ``requestChecksumRequired`` is ``true`` or a
246+
``requestAlgorithmMember`` is modeled.
247+
248+
* ``when_required`` -- When set, a checksum will only be calculated
249+
for request payloads of operations modeled with the ``httpChecksum``
250+
trait where ``requestChecksumRequired`` is ``true`` or where a
251+
``requestAlgorithmMember`` is modeled and supplied.
252+
253+
Defaults to None.
254+
255+
:type response_checksum_validation: str
256+
:param response_checksum_validation: Determines when checksum validation
257+
will be performed on response payloads. Valid values are:
258+
259+
* ``when_supported`` -- When set, checksum validation is performed on
260+
all response payloads of operations modeled with the ``httpChecksum``
261+
trait where ``responseAlgorithms`` is modeled, except when no modeled
262+
checksum algorithms are supported.
263+
264+
* ``when_required`` -- When set, checksum validation is not performed
265+
on response payloads of operations unless the checksum algorithm is
266+
supported and the ``requestValidationModeMember`` member is set to ``ENABLED``.
267+
268+
Defaults to None.
238269
"""
239270

240271
OPTION_DEFAULTS = OrderedDict(
@@ -264,6 +295,8 @@ class Config:
264295
('disable_request_compression', None),
265296
('client_context_params', None),
266297
('sigv4a_signing_region_set', None),
298+
('request_checksum_calculation', None),
299+
('response_checksum_validation', None),
267300
]
268301
)
269302

botocore/configprovider.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,18 @@
168168
None,
169169
None,
170170
),
171+
'request_checksum_calculation': (
172+
'request_checksum_calculation',
173+
'AWS_REQUEST_CHECKSUM_CALCULATION',
174+
"when_supported",
175+
None,
176+
),
177+
'response_checksum_validation': (
178+
'response_checksum_validation',
179+
'AWS_RESPONSE_CHECKSUM_VALIDATION',
180+
"when_supported",
181+
None,
182+
),
171183
}
172184

173185
# Evaluate AWS_STS_REGIONAL_ENDPOINTS settings
@@ -468,7 +480,7 @@ def __copy__(self):
468480

469481
def get_config_variable(self, logical_name):
470482
"""
471-
Retrieve the value associeated with the specified logical_name
483+
Retrieve the value associated with the specified logical_name
472484
from the corresponding provider. If no value is found None will
473485
be returned.
474486

botocore/data/apigateway/2015-07-09/service-2.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2626,7 +2626,7 @@
26262626
},
26272627
"domainNameId":{
26282628
"shape":"String",
2629-
"documentation":"<p>The identifier for the domain name resource. Supported only for private custom domain names.</p>",
2629+
"documentation":"<p>The identifier for the domain name resource. Required for private custom domain names.</p>",
26302630
"location":"querystring",
26312631
"locationName":"domainNameId"
26322632
},
@@ -4474,7 +4474,7 @@
44744474
},
44754475
"domainNameId":{
44764476
"shape":"String",
4477-
"documentation":"<p> The identifier for the domain name resource. Supported only for private custom domain names. </p>",
4477+
"documentation":"<p> The identifier for the domain name resource. Required for private custom domain names. </p>",
44784478
"location":"querystring",
44794479
"locationName":"domainNameId"
44804480
}

botocore/data/bedrock-agent-runtime/2023-07-26/service-2.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@
102102
{"shape":"AccessDeniedException"},
103103
{"shape":"ServiceQuotaExceededException"}
104104
],
105-
"documentation":"<note> <p>The CLI doesn't support streaming operations in Amazon Bedrock, including <code>InvokeAgent</code>.</p> </note> <p>Sends a prompt for the agent to process and respond to. Note the following fields for the request:</p> <ul> <li> <p>To continue the same conversation with an agent, use the same <code>sessionId</code> value in the request.</p> </li> <li> <p>To activate trace enablement, turn <code>enableTrace</code> to <code>true</code>. Trace enablement helps you follow the agent's reasoning process that led it to the information it processed, the actions it took, and the final result it yielded. For more information, see <a href=\"https://docs.aws.amazon.com/bedrock/latest/userguide/agents-test.html#trace-events\">Trace enablement</a>.</p> </li> <li> <p>To stream agent responses, make sure that only orchestration prompt is enabled. Agent streaming is not supported for the following steps: </p> <ul> <li> <p> <code>Pre-processing</code> </p> </li> <li> <p> <code>Post-processing</code> </p> </li> <li> <p>Agent with 1 Knowledge base and <code>User Input</code> not enabled</p> </li> </ul> </li> <li> <p>End a conversation by setting <code>endSession</code> to <code>true</code>.</p> </li> <li> <p>In the <code>sessionState</code> object, you can include attributes for the session or prompt or, if you configured an action group to return control, results from invocation of the action group.</p> </li> </ul> <p>The response is returned in the <code>bytes</code> field of the <code>chunk</code> object.</p> <ul> <li> <p>The <code>attribution</code> object contains citations for parts of the response.</p> </li> <li> <p>If you set <code>enableTrace</code> to <code>true</code> in the request, you can trace the agent's steps and reasoning process that led it to the response.</p> </li> <li> <p>If the action predicted was configured to return control, the response returns parameters for the action, elicited from the user, in the <code>returnControl</code> field.</p> </li> <li> <p>Errors are also surfaced in the response.</p> </li> </ul>"
105+
"documentation":"<note> </note> <p>Sends a prompt for the agent to process and respond to. Note the following fields for the request:</p> <ul> <li> <p>To continue the same conversation with an agent, use the same <code>sessionId</code> value in the request.</p> </li> <li> <p>To activate trace enablement, turn <code>enableTrace</code> to <code>true</code>. Trace enablement helps you follow the agent's reasoning process that led it to the information it processed, the actions it took, and the final result it yielded. For more information, see <a href=\"https://docs.aws.amazon.com/bedrock/latest/userguide/agents-test.html#trace-events\">Trace enablement</a>.</p> </li> <li> <p>To stream agent responses, make sure that only orchestration prompt is enabled. Agent streaming is not supported for the following steps: </p> <ul> <li> <p> <code>Pre-processing</code> </p> </li> <li> <p> <code>Post-processing</code> </p> </li> <li> <p>Agent with 1 Knowledge base and <code>User Input</code> not enabled</p> </li> </ul> </li> <li> <p>End a conversation by setting <code>endSession</code> to <code>true</code>.</p> </li> <li> <p>In the <code>sessionState</code> object, you can include attributes for the session or prompt or, if you configured an action group to return control, results from invocation of the action group.</p> </li> </ul> <p>The response contains both <b>chunk</b> and <b>trace</b> attributes.</p> <p>The final response is returned in the <code>bytes</code> field of the <code>chunk</code> object. The <code>InvokeAgent</code> returns one chunk for the entire interaction.</p> <ul> <li> <p>The <code>attribution</code> object contains citations for parts of the response.</p> </li> <li> <p>If you set <code>enableTrace</code> to <code>true</code> in the request, you can trace the agent's steps and reasoning process that led it to the response.</p> </li> <li> <p>If the action predicted was configured to return control, the response returns parameters for the action, elicited from the user, in the <code>returnControl</code> field.</p> </li> <li> <p>Errors are also surfaced in the response.</p> </li> </ul>"
106106
},
107107
"InvokeFlow":{
108108
"name":"InvokeFlow",
@@ -146,7 +146,7 @@
146146
{"shape":"AccessDeniedException"},
147147
{"shape":"ServiceQuotaExceededException"}
148148
],
149-
"documentation":"<p> Invokes an inline Amazon Bedrock agent using the configurations you provide with the request. </p> <ul> <li> <p>Specify the following fields for security purposes.</p> <ul> <li> <p>(Optional) <code>customerEncryptionKeyArn</code> – The Amazon Resource Name (ARN) of a KMS key to encrypt the creation of the agent.</p> </li> <li> <p>(Optional) <code>idleSessionTTLinSeconds</code> – Specify the number of seconds for which the agent should maintain session information. After this time expires, the subsequent <code>InvokeInlineAgent</code> request begins a new session.</p> </li> </ul> </li> <li> <p>To override the default prompt behavior for agent orchestration and to use advanced prompts, include a <code>promptOverrideConfiguration</code> object. For more information, see <a href=\"https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html\">Advanced prompts</a>.</p> </li> <li> <p>The agent instructions will not be honored if your agent has only one knowledge base, uses default prompts, has no action group, and user input is disabled.</p> </li> </ul> <note> <p>The CLI doesn't support streaming operations in Amazon Bedrock, including <code>InvokeInlineAgent</code>.</p> </note>"
149+
"documentation":"<p> Invokes an inline Amazon Bedrock agent using the configurations you provide with the request. </p> <ul> <li> <p>Specify the following fields for security purposes.</p> <ul> <li> <p>(Optional) <code>customerEncryptionKeyArn</code> – The Amazon Resource Name (ARN) of a KMS key to encrypt the creation of the agent.</p> </li> <li> <p>(Optional) <code>idleSessionTTLinSeconds</code> – Specify the number of seconds for which the agent should maintain session information. After this time expires, the subsequent <code>InvokeInlineAgent</code> request begins a new session.</p> </li> </ul> </li> <li> <p>To override the default prompt behavior for agent orchestration and to use advanced prompts, include a <code>promptOverrideConfiguration</code> object. For more information, see <a href=\"https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html\">Advanced prompts</a>.</p> </li> <li> <p>The agent instructions will not be honored if your agent has only one knowledge base, uses default prompts, has no action group, and user input is disabled.</p> </li> </ul> <note> </note>"
150150
},
151151
"OptimizePrompt":{
152152
"name":"OptimizePrompt",
@@ -2903,6 +2903,10 @@
29032903
"documentation":"<p> The unique identifier of the session. Use the same value across requests to continue the same conversation. </p>",
29042904
"location":"uri",
29052905
"locationName":"sessionId"
2906+
},
2907+
"streamingConfigurations":{
2908+
"shape":"StreamingConfigurations",
2909+
"documentation":"<p> Specifies the configurations for streaming. </p> <note> <p>To use agent streaming, you need permissions to perform the <code>bedrock:InvokeModelWithResponseStream</code> action.</p> </note>"
29062910
}
29072911
}
29082912
},

0 commit comments

Comments
 (0)