Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package aws-cli for openSUSE:Factory checked 
in at 2024-09-24 17:31:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/aws-cli (Old)
 and      /work/SRC/openSUSE:Factory/.aws-cli.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "aws-cli"

Tue Sep 24 17:31:40 2024 rev:99 rq:1202212 version:1.34.21

Changes:
--------
--- /work/SRC/openSUSE:Factory/aws-cli/aws-cli.changes  2024-09-06 
17:19:17.693760878 +0200
+++ /work/SRC/openSUSE:Factory/.aws-cli.new.29891/aws-cli.changes       
2024-09-24 17:31:56.325719726 +0200
@@ -1,0 +2,131 @@
+Fri Sep 20 10:01:33 UTC 2024 - John Paul Adrian Glaubitz 
<adrian.glaub...@suse.com>
+
+- Update to 1.34.21
+  * api-change:``codebuild``: GitLab Enhancements - Add support for 
Self-Hosted GitLab runners in
+    CodeBuild. Add group webhooks
+  * api-change:``ecr``: The `DescribeImageScanning` API now includes 
`fixAvailable`,
+    `exploitAvailable`, and `fixedInVersion` fields to provide more detailed 
information about the
+    availability of fixes, exploits, and fixed versions for identified image 
vulnerabilities.
+  * api-change:``ecs``: This is a documentation only release to address 
various tickets.
+  * api-change:``lambda``: Support for JSON resource-based policies and block 
public access
+  * api-change:``rds``: Updates Amazon RDS documentation with configuration 
information about the
+    BYOL model for RDS for Db2.
+  * api-change:``ssm``: Support for additional levels of cross-account, 
cross-Region organizational
+    units in Automation. Various documentation updates.
+- from version 1.34.20
+  * api-change:``bedrock``: This feature adds cross account s3 bucket and VPC 
support to
+    ModelInvocation jobs. To use a cross account bucket, pass in the accountId 
of the bucket to
+    s3BucketOwner in the ModelInvocationJobInputDataConfig or 
ModelInvocationJobOutputDataConfig.
+  * api-change:``iot``: This release adds additional enhancements to AWS IoT 
Device Management
+    Software Package Catalog and Jobs. It also adds SBOM support in Software 
Package Version.
+  * api-change:``medialive``: Removing the ON_PREMISE enum from the input 
settings field.
+  * api-change:``organizations``: Doc only update for AWS Organizations that 
fixes several
+    customer-reported issues
+  * api-change:``pca-connector-scep``: This is a general availability (GA) 
release of Connector for
+    SCEP, a feature of AWS Private CA. Connector for SCEP links your 
SCEP-enabled and mobile device
+    management systems to AWS Private CA for digital signature installation 
and certificate management.
+  * api-change:``rds``: Launching Global Cluster tagging.
+- from version 1.34.19
+  * api-change:``amplify``: Doc only update to Amplify to explain platform 
setting for Next.js 14 SSG
+    only applications
+  * api-change:``ivs``: Updates to all tags descriptions.
+  * api-change:``ivschat``: Updates to all tags descriptions.
+- from version 1.34.18
+  * api-change:``cognito-idp``: Added email MFA option to user pools with 
advanced security features.
+  * api-change:``elbv2``: Correct incorrectly mapped error in ELBv2 waiters
+  * api-change:``emr``: Update APIs to allow modification of ODCR options, 
allocation strategy, and
+    InstanceTypeConfigs on running InstanceFleet clusters.
+  * api-change:``glue``: AWS Glue is introducing two new optimizers for Apache 
Iceberg tables:
+    snapshot retention and orphan file deletion. Customers can enable these 
optimizers and customize
+    their configurations to perform daily maintenance tasks on their Iceberg 
tables based on their
+    specific requirements.
+  * api-change:``mediaconvert``: This release includes support for dynamic 
video overlay workflows,
+    including picture-in-picture and squeezeback
+  * api-change:``rds``: This release adds support for the os-upgrade pending 
maintenance action for
+    Amazon Aurora DB clusters.
+  * api-change:``storagegateway``: The S3 File Gateway now supports DSSE-KMS 
encryption. A new
+    parameter EncryptionType is added to these APIs: CreateSmbFileShare, 
CreateNfsFileShare,
+    UpdateSmbFileShare, UpdateNfsFileShare, DescribeSmbFileShares, 
DescribeNfsFileShares. Also, in
+    favor of EncryptionType, KmsEncrypted is deprecated.
+  * api-change:``synthetics``: This release introduces two features. The first 
is tag replication,
+    which allows for the propagation of canary tags onto Synthetics related 
resources, such as Lambda
+    functions. The second is a limit increase in canary name length, which has 
now been increased from
+    21 to 255 characters.
+- from version 1.34.17
+  * api-change:``bedrock-agent``: Amazon Bedrock Knowledge Bases now supports 
using inference
+    profiles to increase throughput and improve resilience.
+  * api-change:``bedrock-agent-runtime``: Amazon Bedrock Knowledge Bases now 
supports using inference
+    profiles to increase throughput and improve resilience.
+  * api-change:``ecr``: Added KMS_DSSE to EncryptionType
+  * api-change:``guardduty``: Add support for new statistic types in 
GetFindingsStatistics.
+  * api-change:``lexv2-models``: Support new Polly voice engines in 
VoiceSettings: long-form and
+    generative
+  * api-change:``medialive``: Adds AV1 Codec support, SRT ouputs, and 
MediaLive Anywhere support.
+- from version 1.34.16
+  * api-change:``chime-sdk-voice``: Documentation-only update that clarifies 
the ValidateE911Address
+    action of the Amazon Chime SDK Voice APIs.
+  * api-change:``cognito-identity``: This release adds sensitive trait to some 
required shapes.
+  * api-change:``pipes``: This release adds support for customer managed KMS 
keys in Amazon
+    EventBridge Pipe
+  * api-change:``securityhub``: Documentation update for Security Hub
+- from version 1.34.15
+  * api-change:``dynamodb``: Doc-only update for DynamoDB. Added information 
about async behavior for
+    TagResource and UntagResource APIs and updated the description of 
ResourceInUseException.
+  * api-change:``elbv2``: Add paginators for the ELBv2 
DescribeListenerCertificates and DescribeRules
+    APIs. Fix broken waiter for the ELBv2 DescribeLoadBalancers API.
+  * api-change:``ivs-realtime``: IVS Real-Time now offers customers the 
ability to broadcast to
+    Stages using RTMP(S).
+  * api-change:``kafka``: Amazon MSK Replicator can now replicate data to 
identically named topics
+    between MSK clusters within the same AWS Region or across different AWS 
Regions.
+  * api-change:``sagemaker``: Amazon Sagemaker supports orchestrating 
SageMaker HyperPod clusters
+    with Amazon EKS
+  * api-change:``sagemaker-runtime``: AWS SageMaker Runtime feature: Add 
sticky routing to support
+    stateful inference models.
+- from version 1.34.14
+  * api-change:``qapps``: Adds UpdateLibraryItemMetadata api to change status 
of app for admin
+    verification feature and returns isVerified field in any api returning the 
app or library item.
+- from version 1.34.13
+  * api-change:``application-signals``: Amazon CloudWatch Application Signals 
now supports creating
+    Service Level Objectives using a new calculation type. Users can now 
create SLOs which are
+    configured with request-based SLIs to help meet their specific business 
requirements.
+  * api-change:``codepipeline``: Updates to add recent notes to APIs and to 
replace example S3 bucket
+    names globally.
+  * api-change:``connect``: Amazon Connect Custom Vocabulary now supports 
Catalan (Spain), Danish
+    (Denmark), Dutch (Netherlands), Finnish (Finland), Indonesian (Indonesia), 
Malay (Malaysia),
+    Norwegian Bokmal (Norway), Polish (Poland), Swedish (Sweden), and 
Tagalog/Filipino (Philippines).
+  * api-change:``gamelift``: Amazon GameLift provides additional events for 
tracking the fleet
+    creation process.
+  * api-change:``kinesisanalyticsv2``: Support for Flink 1.20 in Managed 
Service for Apache Flink
+  * api-change:``sagemaker``: Amazon SageMaker now supports idle shutdown of 
JupyterLab and
+    CodeEditor applications on SageMaker Studio.
+- from version 1.34.12
+  * api-change:``appsync``: Adds new logging levels (INFO and DEBUG) for 
additional log output control
+  * api-change:``bedrock-agent``: Add support for user metadata inside 
PromptVariant.
+  * api-change:``finspace``: Updates Finspace documentation for smaller 
instances.
+  * api-change:``fis``: This release adds safety levers, a new mechanism to 
stop all running
+    experiments and prevent new experiments from starting.
+  * api-change:``logs``: Update to support new APIs for delivery of logs from 
AWS services.
+  * api-change:``s3control``: Amazon Simple Storage Service /S3 Access Grants 
/ Features : This
+    release launches new Access Grants API - ListCallerAccessGrants.
+- from version 1.34.11
+  * api-change:``connect``: Release ReplicaConfiguration as part of 
DescribeInstance
+  * api-change:``datazone``: Add support to let data publisher specify a 
subset of the data asset
+    that a subscriber will have access to based on the asset filters provided, 
when accepting a
+    subscription request.
+  * api-change:``elbv2``: This release adds support for configuring TCP idle 
timeout on NLB and GWLB
+    listeners.
+  * api-change:``mediaconnect``: AWS Elemental MediaConnect introduces 
thumbnails for Flow source
+    monitoring. Thumbnails provide still image previews of the live content 
feeding your MediaConnect
+    Flow allowing you to easily verify that your source is operating as 
expected.
+  * api-change:``medialive``: Added MinQP as a Rate Control option for H264 
and H265 encodes.
+  * api-change:``sagemaker``: Amazon SageMaker now supports automatic mounting 
of a user's home
+    folder in the Amazon Elastic File System (EFS) associated with the 
SageMaker Studio domain to their
+    Studio Spaces to enable users to share data between their own private 
spaces.
+  * api-change:``timestream-influxdb``: Timestream for InfluxDB now supports 
compute scaling and
+    deployment type conversion. This release adds the DbInstanceType and 
DeploymentType parameters to
+    the UpdateDbInstance API.
+- Refresh patches for new version
+  * ac_update-docutils.patch
+- Update Requires from setup.py
+
+-------------------------------------------------------------------

Old:
----
  1.34.10.tar.gz

New:
----
  1.34.21.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ aws-cli.spec ++++++
--- /var/tmp/diff_new_pack.HGzUCF/_old  2024-09-24 17:31:57.201756400 +0200
+++ /var/tmp/diff_new_pack.HGzUCF/_new  2024-09-24 17:31:57.201756400 +0200
@@ -24,7 +24,7 @@
 %global _sitelibdir %{%{pythons}_sitelib}
 
 Name:           aws-cli
-Version:        1.34.10
+Version:        1.34.21
 Release:        0
 Summary:        Amazon Web Services Command Line Interface
 License:        Apache-2.0
@@ -42,7 +42,7 @@
 BuildRequires:  %{pythons}-setuptools
 BuildRequires:  %{pythons}-wheel
 Requires:       %{pythons}
-Requires:       %{pythons}-botocore >= 1.35.10
+Requires:       %{pythons}-botocore >= 1.35.21
 Requires:       %{pythons}-six
 Requires:       (%{pythons}-PyYAML >= 3.10 with %{pythons}-PyYAML <= 6.1)
 Requires:       (%{pythons}-colorama >= 0.2.5 with %{pythons}-colorama <= 
0.5.0)

++++++ 1.34.10.tar.gz -> 1.34.21.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/.changes/1.34.11.json 
new/aws-cli-1.34.21/.changes/1.34.11.json
--- old/aws-cli-1.34.10/.changes/1.34.11.json   1970-01-01 01:00:00.000000000 
+0100
+++ new/aws-cli-1.34.21/.changes/1.34.11.json   2024-09-17 20:09:24.000000000 
+0200
@@ -0,0 +1,37 @@
+[
+  {
+    "category": "``connect``",
+    "description": "Release ReplicaConfiguration as part of DescribeInstance",
+    "type": "api-change"
+  },
+  {
+    "category": "``datazone``",
+    "description": "Add support to let data publisher specify a subset of the 
data asset that a subscriber will have access to based on the asset filters 
provided, when accepting a subscription request.",
+    "type": "api-change"
+  },
+  {
+    "category": "``elbv2``",
+    "description": "This release adds support for configuring TCP idle timeout 
on NLB and GWLB listeners.",
+    "type": "api-change"
+  },
+  {
+    "category": "``mediaconnect``",
+    "description": "AWS Elemental MediaConnect introduces thumbnails for Flow 
source monitoring. Thumbnails provide still image previews of the live content 
feeding your MediaConnect Flow allowing you to easily verify that your source 
is operating as expected.",
+    "type": "api-change"
+  },
+  {
+    "category": "``medialive``",
+    "description": "Added MinQP as a Rate Control option for H264 and H265 
encodes.",
+    "type": "api-change"
+  },
+  {
+    "category": "``sagemaker``",
+    "description": "Amazon SageMaker now supports automatic mounting of a 
user's home folder in the Amazon Elastic File System (EFS) associated with the 
SageMaker Studio domain to their Studio Spaces to enable users to share data 
between their own private spaces.",
+    "type": "api-change"
+  },
+  {
+    "category": "``timestream-influxdb``",
+    "description": "Timestream for InfluxDB now supports compute scaling and 
deployment type conversion. This release adds the DbInstanceType and 
DeploymentType parameters to the UpdateDbInstance API.",
+    "type": "api-change"
+  }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/.changes/1.34.12.json 
new/aws-cli-1.34.21/.changes/1.34.12.json
--- old/aws-cli-1.34.10/.changes/1.34.12.json   1970-01-01 01:00:00.000000000 
+0100
+++ new/aws-cli-1.34.21/.changes/1.34.12.json   2024-09-17 20:09:24.000000000 
+0200
@@ -0,0 +1,32 @@
+[
+  {
+    "category": "``appsync``",
+    "description": "Adds new logging levels (INFO and DEBUG) for additional 
log output control",
+    "type": "api-change"
+  },
+  {
+    "category": "``bedrock-agent``",
+    "description": "Add support for user metadata inside PromptVariant.",
+    "type": "api-change"
+  },
+  {
+    "category": "``finspace``",
+    "description": "Updates Finspace documentation for smaller instances.",
+    "type": "api-change"
+  },
+  {
+    "category": "``fis``",
+    "description": "This release adds safety levers, a new mechanism to stop 
all running experiments and prevent new experiments from starting.",
+    "type": "api-change"
+  },
+  {
+    "category": "``logs``",
+    "description": "Update to support new APIs for delivery of logs from AWS 
services.",
+    "type": "api-change"
+  },
+  {
+    "category": "``s3control``",
+    "description": "Amazon Simple Storage Service /S3 Access Grants / Features 
: This release launches new Access Grants API - ListCallerAccessGrants.",
+    "type": "api-change"
+  }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/.changes/1.34.13.json 
new/aws-cli-1.34.21/.changes/1.34.13.json
--- old/aws-cli-1.34.10/.changes/1.34.13.json   1970-01-01 01:00:00.000000000 
+0100
+++ new/aws-cli-1.34.21/.changes/1.34.13.json   2024-09-17 20:09:24.000000000 
+0200
@@ -0,0 +1,32 @@
+[
+  {
+    "category": "``application-signals``",
+    "description": "Amazon CloudWatch Application Signals now supports 
creating Service Level Objectives using a new calculation type. Users can now 
create SLOs which are configured with request-based SLIs to help meet their 
specific business requirements.",
+    "type": "api-change"
+  },
+  {
+    "category": "``codepipeline``",
+    "description": "Updates to add recent notes to APIs and to replace example 
S3 bucket names globally.",
+    "type": "api-change"
+  },
+  {
+    "category": "``connect``",
+    "description": "Amazon Connect Custom Vocabulary now supports Catalan 
(Spain), Danish (Denmark), Dutch (Netherlands), Finnish (Finland), Indonesian 
(Indonesia), Malay (Malaysia), Norwegian Bokmal (Norway), Polish (Poland), 
Swedish (Sweden), and Tagalog/Filipino (Philippines).",
+    "type": "api-change"
+  },
+  {
+    "category": "``gamelift``",
+    "description": "Amazon GameLift provides additional events for tracking 
the fleet creation process.",
+    "type": "api-change"
+  },
+  {
+    "category": "``kinesisanalyticsv2``",
+    "description": "Support for Flink 1.20 in Managed Service for Apache 
Flink",
+    "type": "api-change"
+  },
+  {
+    "category": "``sagemaker``",
+    "description": "Amazon SageMaker now supports idle shutdown of JupyterLab 
and CodeEditor applications on SageMaker Studio.",
+    "type": "api-change"
+  }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/.changes/1.34.14.json 
new/aws-cli-1.34.21/.changes/1.34.14.json
--- old/aws-cli-1.34.10/.changes/1.34.14.json   1970-01-01 01:00:00.000000000 
+0100
+++ new/aws-cli-1.34.21/.changes/1.34.14.json   2024-09-17 20:09:24.000000000 
+0200
@@ -0,0 +1,7 @@
+[
+  {
+    "category": "``qapps``",
+    "description": "Adds UpdateLibraryItemMetadata api to change status of app 
for admin verification feature and returns isVerified field in any api 
returning the app or library item.",
+    "type": "api-change"
+  }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/.changes/1.34.15.json 
new/aws-cli-1.34.21/.changes/1.34.15.json
--- old/aws-cli-1.34.10/.changes/1.34.15.json   1970-01-01 01:00:00.000000000 
+0100
+++ new/aws-cli-1.34.21/.changes/1.34.15.json   2024-09-17 20:09:24.000000000 
+0200
@@ -0,0 +1,32 @@
+[
+  {
+    "category": "``dynamodb``",
+    "description": "Doc-only update for DynamoDB. Added information about 
async behavior for TagResource and UntagResource APIs and updated the 
description of ResourceInUseException.",
+    "type": "api-change"
+  },
+  {
+    "category": "``elbv2``",
+    "description": "Add paginators for the ELBv2 DescribeListenerCertificates 
and DescribeRules APIs. Fix broken waiter for the ELBv2 DescribeLoadBalancers 
API.",
+    "type": "api-change"
+  },
+  {
+    "category": "``ivs-realtime``",
+    "description": "IVS Real-Time now offers customers the ability to 
broadcast to Stages using RTMP(S).",
+    "type": "api-change"
+  },
+  {
+    "category": "``kafka``",
+    "description": "Amazon MSK Replicator can now replicate data to 
identically named topics between MSK clusters within the same AWS Region or 
across different AWS Regions.",
+    "type": "api-change"
+  },
+  {
+    "category": "``sagemaker``",
+    "description": "Amazon Sagemaker supports orchestrating SageMaker HyperPod 
clusters with Amazon EKS",
+    "type": "api-change"
+  },
+  {
+    "category": "``sagemaker-runtime``",
+    "description": "AWS SageMaker Runtime feature: Add sticky routing to 
support stateful inference models.",
+    "type": "api-change"
+  }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/.changes/1.34.16.json 
new/aws-cli-1.34.21/.changes/1.34.16.json
--- old/aws-cli-1.34.10/.changes/1.34.16.json   1970-01-01 01:00:00.000000000 
+0100
+++ new/aws-cli-1.34.21/.changes/1.34.16.json   2024-09-17 20:09:24.000000000 
+0200
@@ -0,0 +1,22 @@
+[
+  {
+    "category": "``chime-sdk-voice``",
+    "description": "Documentation-only update that clarifies the 
ValidateE911Address action of the Amazon Chime SDK Voice APIs.",
+    "type": "api-change"
+  },
+  {
+    "category": "``cognito-identity``",
+    "description": "This release adds sensitive trait to some required 
shapes.",
+    "type": "api-change"
+  },
+  {
+    "category": "``pipes``",
+    "description": "This release adds support for customer managed KMS keys in 
Amazon EventBridge Pipe",
+    "type": "api-change"
+  },
+  {
+    "category": "``securityhub``",
+    "description": "Documentation update for Security Hub",
+    "type": "api-change"
+  }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/.changes/1.34.17.json 
new/aws-cli-1.34.21/.changes/1.34.17.json
--- old/aws-cli-1.34.10/.changes/1.34.17.json   1970-01-01 01:00:00.000000000 
+0100
+++ new/aws-cli-1.34.21/.changes/1.34.17.json   2024-09-17 20:09:24.000000000 
+0200
@@ -0,0 +1,32 @@
+[
+  {
+    "category": "``bedrock-agent``",
+    "description": "Amazon Bedrock Knowledge Bases now supports using 
inference profiles to increase throughput and improve resilience.",
+    "type": "api-change"
+  },
+  {
+    "category": "``bedrock-agent-runtime``",
+    "description": "Amazon Bedrock Knowledge Bases now supports using 
inference profiles to increase throughput and improve resilience.",
+    "type": "api-change"
+  },
+  {
+    "category": "``ecr``",
+    "description": "Added KMS_DSSE to EncryptionType",
+    "type": "api-change"
+  },
+  {
+    "category": "``guardduty``",
+    "description": "Add support for new statistic types in 
GetFindingsStatistics.",
+    "type": "api-change"
+  },
+  {
+    "category": "``lexv2-models``",
+    "description": "Support new Polly voice engines in VoiceSettings: 
long-form and generative",
+    "type": "api-change"
+  },
+  {
+    "category": "``medialive``",
+    "description": "Adds AV1 Codec support, SRT ouputs, and MediaLive Anywhere 
support.",
+    "type": "api-change"
+  }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/.changes/1.34.18.json 
new/aws-cli-1.34.21/.changes/1.34.18.json
--- old/aws-cli-1.34.10/.changes/1.34.18.json   1970-01-01 01:00:00.000000000 
+0100
+++ new/aws-cli-1.34.21/.changes/1.34.18.json   2024-09-17 20:09:24.000000000 
+0200
@@ -0,0 +1,42 @@
+[
+  {
+    "category": "``cognito-idp``",
+    "description": "Added email MFA option to user pools with advanced 
security features.",
+    "type": "api-change"
+  },
+  {
+    "category": "``elbv2``",
+    "description": "Correct incorrectly mapped error in ELBv2 waiters",
+    "type": "api-change"
+  },
+  {
+    "category": "``emr``",
+    "description": "Update APIs to allow modification of ODCR options, 
allocation strategy, and InstanceTypeConfigs on running InstanceFleet 
clusters.",
+    "type": "api-change"
+  },
+  {
+    "category": "``glue``",
+    "description": "AWS Glue is introducing two new optimizers for Apache 
Iceberg tables: snapshot retention and orphan file deletion. Customers can 
enable these optimizers and customize their configurations to perform daily 
maintenance tasks on their Iceberg tables based on their specific 
requirements.",
+    "type": "api-change"
+  },
+  {
+    "category": "``mediaconvert``",
+    "description": "This release includes support for dynamic video overlay 
workflows, including picture-in-picture and squeezeback",
+    "type": "api-change"
+  },
+  {
+    "category": "``rds``",
+    "description": "This release adds support for the os-upgrade pending 
maintenance action for Amazon Aurora DB clusters.",
+    "type": "api-change"
+  },
+  {
+    "category": "``storagegateway``",
+    "description": "The S3 File Gateway now supports DSSE-KMS encryption. A 
new parameter EncryptionType is added to these APIs: CreateSmbFileShare, 
CreateNfsFileShare, UpdateSmbFileShare, UpdateNfsFileShare, 
DescribeSmbFileShares, DescribeNfsFileShares. Also, in favor of EncryptionType, 
KmsEncrypted is deprecated.",
+    "type": "api-change"
+  },
+  {
+    "category": "``synthetics``",
+    "description": "This release introduces two features. The first is tag 
replication, which allows for the propagation of canary tags onto Synthetics 
related resources, such as Lambda functions. The second is a limit increase in 
canary name length, which has now been increased from 21 to 255 characters.",
+    "type": "api-change"
+  }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/.changes/1.34.19.json 
new/aws-cli-1.34.21/.changes/1.34.19.json
--- old/aws-cli-1.34.10/.changes/1.34.19.json   1970-01-01 01:00:00.000000000 
+0100
+++ new/aws-cli-1.34.21/.changes/1.34.19.json   2024-09-17 20:09:24.000000000 
+0200
@@ -0,0 +1,17 @@
+[
+  {
+    "category": "``amplify``",
+    "description": "Doc only update to Amplify to explain platform setting for 
Next.js 14 SSG only applications",
+    "type": "api-change"
+  },
+  {
+    "category": "``ivs``",
+    "description": "Updates to all tags descriptions.",
+    "type": "api-change"
+  },
+  {
+    "category": "``ivschat``",
+    "description": "Updates to all tags descriptions.",
+    "type": "api-change"
+  }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/.changes/1.34.20.json 
new/aws-cli-1.34.21/.changes/1.34.20.json
--- old/aws-cli-1.34.10/.changes/1.34.20.json   1970-01-01 01:00:00.000000000 
+0100
+++ new/aws-cli-1.34.21/.changes/1.34.20.json   2024-09-17 20:09:24.000000000 
+0200
@@ -0,0 +1,32 @@
+[
+  {
+    "category": "``bedrock``",
+    "description": "This feature adds cross account s3 bucket and VPC support 
to ModelInvocation jobs. To use a cross account bucket, pass in the accountId 
of the bucket to s3BucketOwner in the ModelInvocationJobInputDataConfig or 
ModelInvocationJobOutputDataConfig.",
+    "type": "api-change"
+  },
+  {
+    "category": "``iot``",
+    "description": "This release adds additional enhancements to AWS IoT 
Device Management Software Package Catalog and Jobs. It also adds SBOM support 
in Software Package Version.",
+    "type": "api-change"
+  },
+  {
+    "category": "``medialive``",
+    "description": "Removing the ON_PREMISE enum from the input settings 
field.",
+    "type": "api-change"
+  },
+  {
+    "category": "``organizations``",
+    "description": "Doc only update for AWS Organizations that fixes several 
customer-reported issues",
+    "type": "api-change"
+  },
+  {
+    "category": "``pca-connector-scep``",
+    "description": "This is a general availability (GA) release of Connector 
for SCEP, a feature of AWS Private CA. Connector for SCEP links your 
SCEP-enabled and mobile device management systems to AWS Private CA for digital 
signature installation and certificate management.",
+    "type": "api-change"
+  },
+  {
+    "category": "``rds``",
+    "description": "Launching Global Cluster tagging.",
+    "type": "api-change"
+  }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/.changes/1.34.21.json 
new/aws-cli-1.34.21/.changes/1.34.21.json
--- old/aws-cli-1.34.10/.changes/1.34.21.json   1970-01-01 01:00:00.000000000 
+0100
+++ new/aws-cli-1.34.21/.changes/1.34.21.json   2024-09-17 20:09:24.000000000 
+0200
@@ -0,0 +1,32 @@
+[
+  {
+    "category": "``codebuild``",
+    "description": "GitLab Enhancements - Add support for Self-Hosted GitLab 
runners in CodeBuild. Add group webhooks",
+    "type": "api-change"
+  },
+  {
+    "category": "``ecr``",
+    "description": "The `DescribeImageScanning` API now includes 
`fixAvailable`, `exploitAvailable`, and `fixedInVersion` fields to provide more 
detailed information about the availability of fixes, exploits, and fixed 
versions for identified image vulnerabilities.",
+    "type": "api-change"
+  },
+  {
+    "category": "``ecs``",
+    "description": "This is a documentation only release to address various 
tickets.",
+    "type": "api-change"
+  },
+  {
+    "category": "``lambda``",
+    "description": "Support for JSON resource-based policies and block public 
access",
+    "type": "api-change"
+  },
+  {
+    "category": "``rds``",
+    "description": "Updates Amazon RDS documentation with configuration 
information about the BYOL model for RDS for Db2.",
+    "type": "api-change"
+  },
+  {
+    "category": "``ssm``",
+    "description": "Support for additional levels of cross-account, 
cross-Region organizational units in Automation. Various documentation 
updates.",
+    "type": "api-change"
+  }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/CHANGELOG.rst 
new/aws-cli-1.34.21/CHANGELOG.rst
--- old/aws-cli-1.34.10/CHANGELOG.rst   2024-08-30 20:16:13.000000000 +0200
+++ new/aws-cli-1.34.21/CHANGELOG.rst   2024-09-17 20:09:24.000000000 +0200
@@ -2,6 +2,120 @@
 CHANGELOG
 =========
 
+1.34.21
+=======
+
+* api-change:``codebuild``: GitLab Enhancements - Add support for Self-Hosted 
GitLab runners in CodeBuild. Add group webhooks
+* api-change:``ecr``: The `DescribeImageScanning` API now includes 
`fixAvailable`, `exploitAvailable`, and `fixedInVersion` fields to provide more 
detailed information about the availability of fixes, exploits, and fixed 
versions for identified image vulnerabilities.
+* api-change:``ecs``: This is a documentation only release to address various 
tickets.
+* api-change:``lambda``: Support for JSON resource-based policies and block 
public access
+* api-change:``rds``: Updates Amazon RDS documentation with configuration 
information about the BYOL model for RDS for Db2.
+* api-change:``ssm``: Support for additional levels of cross-account, 
cross-Region organizational units in Automation. Various documentation updates.
+
+
+1.34.20
+=======
+
+* api-change:``bedrock``: This feature adds cross account s3 bucket and VPC 
support to ModelInvocation jobs. To use a cross account bucket, pass in the 
accountId of the bucket to s3BucketOwner in the 
ModelInvocationJobInputDataConfig or ModelInvocationJobOutputDataConfig.
+* api-change:``iot``: This release adds additional enhancements to AWS IoT 
Device Management Software Package Catalog and Jobs. It also adds SBOM support 
in Software Package Version.
+* api-change:``medialive``: Removing the ON_PREMISE enum from the input 
settings field.
+* api-change:``organizations``: Doc only update for AWS Organizations that 
fixes several customer-reported issues
+* api-change:``pca-connector-scep``: This is a general availability (GA) 
release of Connector for SCEP, a feature of AWS Private CA. Connector for SCEP 
links your SCEP-enabled and mobile device management systems to AWS Private CA 
for digital signature installation and certificate management.
+* api-change:``rds``: Launching Global Cluster tagging.
+
+
+1.34.19
+=======
+
+* api-change:``amplify``: Doc only update to Amplify to explain platform 
setting for Next.js 14 SSG only applications
+* api-change:``ivs``: Updates to all tags descriptions.
+* api-change:``ivschat``: Updates to all tags descriptions.
+
+
+1.34.18
+=======
+
+* api-change:``cognito-idp``: Added email MFA option to user pools with 
advanced security features.
+* api-change:``elbv2``: Correct incorrectly mapped error in ELBv2 waiters
+* api-change:``emr``: Update APIs to allow modification of ODCR options, 
allocation strategy, and InstanceTypeConfigs on running InstanceFleet clusters.
+* api-change:``glue``: AWS Glue is introducing two new optimizers for Apache 
Iceberg tables: snapshot retention and orphan file deletion. Customers can 
enable these optimizers and customize their configurations to perform daily 
maintenance tasks on their Iceberg tables based on their specific requirements.
+* api-change:``mediaconvert``: This release includes support for dynamic video 
overlay workflows, including picture-in-picture and squeezeback
+* api-change:``rds``: This release adds support for the os-upgrade pending 
maintenance action for Amazon Aurora DB clusters.
+* api-change:``storagegateway``: The S3 File Gateway now supports DSSE-KMS 
encryption. A new parameter EncryptionType is added to these APIs: 
CreateSmbFileShare, CreateNfsFileShare, UpdateSmbFileShare, UpdateNfsFileShare, 
DescribeSmbFileShares, DescribeNfsFileShares. Also, in favor of EncryptionType, 
KmsEncrypted is deprecated.
+* api-change:``synthetics``: This release introduces two features. The first 
is tag replication, which allows for the propagation of canary tags onto 
Synthetics related resources, such as Lambda functions. The second is a limit 
increase in canary name length, which has now been increased from 21 to 255 
characters.
+
+
+1.34.17
+=======
+
+* api-change:``bedrock-agent``: Amazon Bedrock Knowledge Bases now supports 
using inference profiles to increase throughput and improve resilience.
+* api-change:``bedrock-agent-runtime``: Amazon Bedrock Knowledge Bases now 
supports using inference profiles to increase throughput and improve resilience.
+* api-change:``ecr``: Added KMS_DSSE to EncryptionType
+* api-change:``guardduty``: Add support for new statistic types in 
GetFindingsStatistics.
+* api-change:``lexv2-models``: Support new Polly voice engines in 
VoiceSettings: long-form and generative
+* api-change:``medialive``: Adds AV1 Codec support, SRT ouputs, and MediaLive 
Anywhere support.
+
+
+1.34.16
+=======
+
+* api-change:``chime-sdk-voice``: Documentation-only update that clarifies the 
ValidateE911Address action of the Amazon Chime SDK Voice APIs.
+* api-change:``cognito-identity``: This release adds sensitive trait to some 
required shapes.
+* api-change:``pipes``: This release adds support for customer managed KMS 
keys in Amazon EventBridge Pipe
+* api-change:``securityhub``: Documentation update for Security Hub
+
+
+1.34.15
+=======
+
+* api-change:``dynamodb``: Doc-only update for DynamoDB. Added information 
about async behavior for TagResource and UntagResource APIs and updated the 
description of ResourceInUseException.
+* api-change:``elbv2``: Add paginators for the ELBv2 
DescribeListenerCertificates and DescribeRules APIs. Fix broken waiter for the 
ELBv2 DescribeLoadBalancers API.
+* api-change:``ivs-realtime``: IVS Real-Time now offers customers the ability 
to broadcast to Stages using RTMP(S).
+* api-change:``kafka``: Amazon MSK Replicator can now replicate data to 
identically named topics between MSK clusters within the same AWS Region or 
across different AWS Regions.
+* api-change:``sagemaker``: Amazon Sagemaker supports orchestrating SageMaker 
HyperPod clusters with Amazon EKS
+* api-change:``sagemaker-runtime``: AWS SageMaker Runtime feature: Add sticky 
routing to support stateful inference models.
+
+
+1.34.14
+=======
+
+* api-change:``qapps``: Adds UpdateLibraryItemMetadata api to change status of 
app for admin verification feature and returns isVerified field in any api 
returning the app or library item.
+
+
+1.34.13
+=======
+
+* api-change:``application-signals``: Amazon CloudWatch Application Signals 
now supports creating Service Level Objectives using a new calculation type. 
Users can now create SLOs which are configured with request-based SLIs to help 
meet their specific business requirements.
+* api-change:``codepipeline``: Updates to add recent notes to APIs and to 
replace example S3 bucket names globally.
+* api-change:``connect``: Amazon Connect Custom Vocabulary now supports 
Catalan (Spain), Danish (Denmark), Dutch (Netherlands), Finnish (Finland), 
Indonesian (Indonesia), Malay (Malaysia), Norwegian Bokmal (Norway), Polish 
(Poland), Swedish (Sweden), and Tagalog/Filipino (Philippines).
+* api-change:``gamelift``: Amazon GameLift provides additional events for 
tracking the fleet creation process.
+* api-change:``kinesisanalyticsv2``: Support for Flink 1.20 in Managed Service 
for Apache Flink
+* api-change:``sagemaker``: Amazon SageMaker now supports idle shutdown of 
JupyterLab and CodeEditor applications on SageMaker Studio.
+
+
+1.34.12
+=======
+
+* api-change:``appsync``: Adds new logging levels (INFO and DEBUG) for 
additional log output control
+* api-change:``bedrock-agent``: Add support for user metadata inside 
PromptVariant.
+* api-change:``finspace``: Updates Finspace documentation for smaller 
instances.
+* api-change:``fis``: This release adds safety levers, a new mechanism to stop 
all running experiments and prevent new experiments from starting.
+* api-change:``logs``: Update to support new APIs for delivery of logs from 
AWS services.
+* api-change:``s3control``: Amazon Simple Storage Service /S3 Access Grants / 
Features : This release launches new Access Grants API - ListCallerAccessGrants.
+
+
+1.34.11
+=======
+
+* api-change:``connect``: Release ReplicaConfiguration as part of 
DescribeInstance
+* api-change:``datazone``: Add support to let data publisher specify a subset 
of the data asset that a subscriber will have access to based on the asset 
filters provided, when accepting a subscription request.
+* api-change:``elbv2``: This release adds support for configuring TCP idle 
timeout on NLB and GWLB listeners.
+* api-change:``mediaconnect``: AWS Elemental MediaConnect introduces 
thumbnails for Flow source monitoring. Thumbnails provide still image previews 
of the live content feeding your MediaConnect Flow allowing you to easily 
verify that your source is operating as expected.
+* api-change:``medialive``: Added MinQP as a Rate Control option for H264 and 
H265 encodes.
+* api-change:``sagemaker``: Amazon SageMaker now supports automatic mounting 
of a user's home folder in the Amazon Elastic File System (EFS) associated with 
the SageMaker Studio domain to their Studio Spaces to enable users to share 
data between their own private spaces.
+* api-change:``timestream-influxdb``: Timestream for InfluxDB now supports 
compute scaling and deployment type conversion. This release adds the 
DbInstanceType and DeploymentType parameters to the UpdateDbInstance API.
+
+
 1.34.10
 =======
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/awscli/__init__.py 
new/aws-cli-1.34.21/awscli/__init__.py
--- old/aws-cli-1.34.10/awscli/__init__.py      2024-08-30 20:16:13.000000000 
+0200
+++ new/aws-cli-1.34.21/awscli/__init__.py      2024-09-17 20:09:24.000000000 
+0200
@@ -18,7 +18,7 @@
 
 import os
 
-__version__ = '1.34.10'
+__version__ = '1.34.21'
 
 #
 # Get our data path to be added to botocore's search path
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.34.10/awscli/customizations/emr/argumentschema.py 
new/aws-cli-1.34.21/awscli/customizations/emr/argumentschema.py
--- old/aws-cli-1.34.10/awscli/customizations/emr/argumentschema.py     
2024-08-30 20:16:13.000000000 +0200
+++ new/aws-cli-1.34.21/awscli/customizations/emr/argumentschema.py     
2024-09-17 20:09:24.000000000 +0200
@@ -57,6 +57,41 @@
     "description": "Instance group application configurations."
 }
 
+ONDEMAND_CAPACITY_RESERVATION_OPTIONS_SCHEMA = {
+    "type": "object",
+    "properties" : {
+        "UsageStrategy": {
+            "type": "string",
+            "description": "The strategy of whether to use available capacity 
reservations to fulfill On-Demand capacity.",
+            "enum": ["use-capacity-reservations-first"]
+        },
+        "CapacityReservationPreference": {
+            "type": "string",
+            "description": "The preference of the capacity reservation of the 
instance.",
+            "enum": [
+                "open",
+                "none"
+            ]
+        },
+        "CapacityReservationResourceGroupArn": {
+            "type": "string",
+            "description": "The ARN of the capacity reservation resource group 
in which to run the instance."
+        }
+    }
+}
+
+SPOT_ALLOCATION_STRATEGY_SCHEMA = {
+    "type": "string",
+    "description": "The strategy to use to launch Spot instance fleets.",
+    "enum": ["capacity-optimized", "price-capacity-optimized", "lowest-price", 
"diversified", "capacity-optimized-prioritized"]
+}
+
+ONDEMAND_ALLOCATION_STRATEGY_SCHEMA = {
+    "type": "string",
+    "description": "The strategy to use to launch On-Demand instance fleets.",
+    "enum": ["lowest-price", "prioritized"]
+}
+
 INSTANCE_GROUPS_SCHEMA = {
     "type": "array",
     "items": {
@@ -411,33 +446,8 @@
                     "OnDemandSpecification": {
                         "type": "object",
                         "properties": {
-                            "AllocationStrategy": {
-                                "type": "string",
-                                "description": "The strategy to use in 
launching On-Demand instance fleets.",
-                                "enum": ["lowest-price", "prioritized"]
-                            },
-                            "CapacityReservationOptions": {
-                                "type": "object",
-                                "properties" : {
-                                    "UsageStrategy": {
-                                        "type": "string",
-                                        "description": "The strategy of 
whether to use unused Capacity Reservations for fulfilling On-Demand capacity.",
-                                        "enum": 
["use-capacity-reservations-first"]
-                                    },
-                                    "CapacityReservationPreference": {
-                                        "type": "string",
-                                        "description": "The preference of the 
instance's Capacity Reservation.",
-                                        "enum": [
-                                            "open",
-                                            "none"
-                                        ]
-                                    },
-                                    "CapacityReservationResourceGroupArn": {
-                                        "type": "string",
-                                        "description": "The ARN of the 
Capacity Reservation resource group in which to run the instance."
-                                    }
-                                }
-                            }
+                            "AllocationStrategy": 
ONDEMAND_ALLOCATION_STRATEGY_SCHEMA,
+                            "CapacityReservationOptions": 
ONDEMAND_CAPACITY_RESERVATION_OPTIONS_SCHEMA
                         }
                     },
                     "SpotSpecification": {
@@ -459,11 +469,7 @@
                                 "type": "integer",
                                 "description": "Block duration in minutes."
                             },
-                            "AllocationStrategy": {
-                                "type": "string",
-                                "description": "The strategy to use in 
launching Spot instance fleets.",
-                                "enum": ["capacity-optimized", 
"price-capacity-optimized", "lowest-price", "diversified", 
"capacity-optimized-prioritized"]
-                            }
+                            "AllocationStrategy": 
SPOT_ALLOCATION_STRATEGY_SCHEMA
                         }
                     }
                 }
@@ -477,7 +483,8 @@
                             "TimeoutDurationMinutes": {
                                 "type" : "integer",
                                 "description": "The time, in minutes, after 
which the resize will be stopped if requested resources are unavailable."
-                            }
+                            },
+                            "AllocationStrategy": 
SPOT_ALLOCATION_STRATEGY_SCHEMA
                         }
                     },
                     "OnDemandResizeSpecification": {
@@ -486,7 +493,9 @@
                             "TimeoutDurationMinutes": {
                                 "type" : "integer",
                                 "description": "The time, in minutes, after 
which the resize will be stopped if requested resources are unavailable."
-                            }
+                            },
+                            "AllocationStrategy": 
ONDEMAND_ALLOCATION_STRATEGY_SCHEMA,
+                            "CapacityReservationOptions": 
ONDEMAND_CAPACITY_RESERVATION_OPTIONS_SCHEMA
                         }
                     }
                 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.34.10/awscli/examples/medical-imaging/copy-image-set.rst 
new/aws-cli-1.34.21/awscli/examples/medical-imaging/copy-image-set.rst
--- old/aws-cli-1.34.10/awscli/examples/medical-imaging/copy-image-set.rst      
2024-08-30 20:16:13.000000000 +0200
+++ new/aws-cli-1.34.21/awscli/examples/medical-imaging/copy-image-set.rst      
2024-09-17 20:09:24.000000000 +0200
@@ -1,14 +1,12 @@
 **Example 1: To copy an image set without a destination.**
 
-The following ``copy-image-set`` code example makes a duplicate copy of an 
image set without a destination. ::
+The following ``copy-image-set`` example makes a duplicate copy of an image 
set without a destination. ::
 
     aws medical-imaging copy-image-set \
         --datastore-id 12345678901234567890123456789012 \
         --source-image-set-id ea92b0d8838c72a3f25d00d13616f87e \
         --copy-image-set-information '{"sourceImageSet": {"latestVersionId": 
"1" } }'
 
-
-
 Output::
 
     {
@@ -33,15 +31,45 @@
 
 **Example 2: To copy an image set with a destination.**
 
-The following ``copy-image-set`` code example makes a duplicate copy of an 
image set with a destination. ::
+The following ``copy-image-set`` example makes a duplicate copy of an image 
set with a destination. ::
 
     aws medical-imaging copy-image-set \
         --datastore-id 12345678901234567890123456789012 \
         --source-image-set-id ea92b0d8838c72a3f25d00d13616f87e \
         --copy-image-set-information '{"sourceImageSet": {"latestVersionId": 
"1" }, "destinationImageSet": { "imageSetId": 
"b9a06fef182a5f992842f77f8e0868e5", "latestVersionId": "1"} }'
 
+Output::
+
+    {
+        "destinationImageSetProperties": {
+            "latestVersionId": "2",
+            "imageSetWorkflowStatus": "COPYING",
+            "updatedAt": 1680042505.135,
+            "imageSetId": "b9a06fef182a5f992842f77f8e0868e5",
+            "imageSetState": "LOCKED",
+            "createdAt": 1680042357.432
+        },
+        "sourceImageSetProperties": {
+            "latestVersionId": "1",
+            "imageSetWorkflowStatus": "COPYING_WITH_READ_ONLY_ACCESS",
+            "updatedAt": 1680042505.135,
+            "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e",
+            "imageSetState": "LOCKED",
+            "createdAt": 1680027126.436
+        },
+        "datastoreId": "12345678901234567890123456789012"
+    }
+
+**Example 3: To copy a subset of instances from a source image set to a 
destination image set.**
 
+The following ``copy-image-set`` example copies one DICOM instance from the 
source image set to the destination image set.
+The force parameter is provided to override inconsistencies in the Patient, 
Study, and Series level attributes. ::
 
+    aws medical-imaging copy-image-set \
+        --datastore-id 12345678901234567890123456789012 \
+        --source-image-set-id ea92b0d8838c72a3f25d00d13616f87e \
+        --copy-image-set-information '{"sourceImageSet": {"latestVersionId": 
"1","DICOMCopies": {"copiableAttributes": 
"{\"SchemaVersion\":\"1.1\",\"Study\":{\"Series\":{\"1.3.6.1.4.1.5962.99.1.3673257865.2104868982.1369432891697.3666.0\":{\"Instances\":{\"1.3.6.1.4.1.5962.99.1.3673257865.2104868982.1369432891697.3669.0\":{}}}}}}"}},"destinationImageSet":
 {"imageSetId": "b9eb50d8ee682eb9fcf4acbf92f62bb7","latestVersionId": "1"}}' \
+        --force
 
 Output::
 
@@ -50,7 +78,7 @@
             "latestVersionId": "2",
             "imageSetWorkflowStatus": "COPYING",
             "updatedAt": 1680042505.135,
-            "imageSetId": "b9a06fef182a5f992842f77f8e0868e5",
+            "imageSetId": "b9eb50d8ee682eb9fcf4acbf92f62bb7",
             "imageSetState": "LOCKED",
             "createdAt": 1680042357.432
         },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.34.10/awscli/examples/medical-imaging/update-image-set-metadata.rst
 
new/aws-cli-1.34.21/awscli/examples/medical-imaging/update-image-set-metadata.rst
--- 
old/aws-cli-1.34.10/awscli/examples/medical-imaging/update-image-set-metadata.rst
   2024-08-30 20:16:13.000000000 +0200
+++ 
new/aws-cli-1.34.21/awscli/examples/medical-imaging/update-image-set-metadata.rst
   2024-09-17 20:09:24.000000000 +0200
@@ -1,24 +1,52 @@
-**To insert or update an attribute in image set metadata**
+**Example 1: To insert or update an attribute in image set metadata**
 
-The following ``update-image-set-metadata`` code example inserts or updates an 
attribute in image set metadata. ::
+The following ``update-image-set-metadata`` example inserts or updates an 
attribute in image set metadata. ::
 
     aws medical-imaging update-image-set-metadata \
         --datastore-id 12345678901234567890123456789012 \
         --image-set-id ea92b0d8838c72a3f25d00d13616f87e \
         --latest-version-id 1 \
+        --cli-binary-format raw-in-base64-out \
         --update-image-set-metadata-updates file://metadata-updates.json
 
 Contents of ``metadata-updates.json`` ::
 
     {
         "DICOMUpdates": {
-            "updatableAttributes": 
"eyJTY2hlbWFWZXJzaW9uIjoxLjEsIlBhdGllbnQiOnsiRElDT00iOnsiUGF0aWVudE5hbWUiOiJNWF5NWCJ9fX0="
+            "updatableAttributes": 
"{\"SchemaVersion\":1.1,\"Patient\":{\"DICOM\":{\"PatientName\":\"MX^MX\"}}}"
         }
     }
 
-Note: ``updatableAttributes`` is a Base64 encoded JSON string. Here is the 
unencoded JSON string.
+Output::
+
+    {
+        "latestVersionId": "2",
+        "imageSetWorkflowStatus": "UPDATING",
+        "updatedAt": 1680042257.908,
+        "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e",
+        "imageSetState": "LOCKED",
+        "createdAt": 1680027126.436,
+        "datastoreId": "12345678901234567890123456789012"
+    }
 
-{"SchemaVersion":1.1,"Patient":{"DICOM":{"PatientName":"MX^MX"}}}
+**Example 2: To remove an attribute from image set metadata**
+
+The following ``update-image-set-metadata`` example removes an attribute from 
image set metadata. ::
+
+    aws medical-imaging update-image-set-metadata \
+        --datastore-id 12345678901234567890123456789012 \
+        --image-set-id ea92b0d8838c72a3f25d00d13616f87e \
+        --latest-version-id 1 \
+        --cli-binary-format raw-in-base64-out \
+        --update-image-set-metadata-updates file://metadata-updates.json
+
+Contents of ``metadata-updates.json`` ::
+
+    {
+        "DICOMUpdates": {
+            "removableAttributes": 
"{\"SchemaVersion\":1.1,\"Study\":{\"DICOM\":{\"StudyDescription\":\"CHEST\"}}}"
+        }
+    }
 
 Output::
 
@@ -32,27 +60,81 @@
         "datastoreId": "12345678901234567890123456789012"
     }
 
-**To remove an attribute from image set metadata**
+**Example 3: To remove an instance from image set metadata**
 
-The following ``update-image-set-metadata`` code example removes an attribute 
from image set metadata. ::
+The following ``update-image-set-metadata`` example removes an instance from 
image set metadata. ::
 
     aws medical-imaging update-image-set-metadata \
         --datastore-id 12345678901234567890123456789012 \
         --image-set-id ea92b0d8838c72a3f25d00d13616f87e \
         --latest-version-id 1 \
+        --cli-binary-format raw-in-base64-out \
         --update-image-set-metadata-updates file://metadata-updates.json
 
 Contents of ``metadata-updates.json`` ::
 
     {
         "DICOMUpdates": {
-            "removableAttributes": 
"e1NjaGVtYVZlcnNpb246MS4xLFN0dWR5OntESUNPTTp7U3R1ZHlEZXNjcmlwdGlvbjpDSEVTVH19fQo="
+            "removableAttributes": "{\"SchemaVersion\": 1.1,\"Study\": 
{\"Series\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": 
{\"Instances\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": 
{}}}}}}"
         }
     }
 
-Note: ``removableAttributes`` is a Base64 encoded JSON string. Here is the 
unencoded JSON string. The key and value must match the attribute to be removed.
+Output::
+
+    {
+        "latestVersionId": "2",
+        "imageSetWorkflowStatus": "UPDATING",
+        "updatedAt": 1680042257.908,
+        "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e",
+        "imageSetState": "LOCKED",
+        "createdAt": 1680027126.436,
+        "datastoreId": "12345678901234567890123456789012"
+    }
+
+
+**Example 4: To revert an image set to a previous version**
+
+The following ``update-image-set-metadata`` example shows how to revert an 
image set to a prior version. CopyImageSet and UpdateImageSetMetadata actions 
create new versions of image sets. ::
+
+    aws medical-imaging update-image-set-metadata \
+        --datastore-id 12345678901234567890123456789012 \
+        --image-set-id 53d5fdb05ca4d46ac7ca64b06545c66e \
+        --latest-version-id 3 \
+        --cli-binary-format raw-in-base64-out \
+        --update-image-set-metadata-updates '{"revertToVersionId": "1"}'
+
+Output::
+
+    {
+        "datastoreId": "12345678901234567890123456789012",
+        "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
+        "latestVersionId": "4",
+        "imageSetState": "LOCKED",
+        "imageSetWorkflowStatus": "UPDATING",
+        "createdAt": 1680027126.436,
+        "updatedAt": 1680042257.908
+    }
+
+**Example 5: To add a private DICOM data element to an instance**
+
+The following ``update-image-set-metadata`` example shows how to add a private 
element to a specified instance within an image set. The DICOM standard permits 
private data elements for communication of information that cannot be contained 
in standard data elements. You can create, update, and delete private data 
elements with the
+UpdateImageSetMetadata action. ::
+
+    aws medical-imaging update-image-set-metadata \
+        --datastore-id 12345678901234567890123456789012 \
+        --image-set-id 53d5fdb05ca4d46ac7ca64b06545c66e \
+        --latest-version-id 1 \
+        --cli-binary-format raw-in-base64-out \
+        --force \
+        --update-image-set-metadata-updates file://metadata-updates.json
+
+Contents of ``metadata-updates.json`` ::
 
-{"SchemaVersion":1.1,"Study":{"DICOM":{"StudyDescription":"CHEST"}}}
+    {
+        "DICOMUpdates": {
+            "updatableAttributes": "{\"SchemaVersion\": 1.1,\"Study\": 
{\"Series\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": 
{\"Instances\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": 
{\"DICOM\": {\"001910F9\": \"97\"},\"DICOMVRs\": {\"001910F9\": \"DS\"}}}}}}}"
+        }
+    }
 
 Output::
 
@@ -60,33 +142,63 @@
         "latestVersionId": "2",
         "imageSetWorkflowStatus": "UPDATING",
         "updatedAt": 1680042257.908,
-        "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e",
+        "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
         "imageSetState": "LOCKED",
         "createdAt": 1680027126.436,
         "datastoreId": "12345678901234567890123456789012"
     }
 
-**To remove an instance from image set metadata**
+**Example 6: To update a private DICOM data element to an instance**
 
-The following ``update-image-set-metadata`` code example removes an instance 
from image set metadata. ::
+The following ``update-image-set-metadata`` example shows how to update the 
value of a private data element belonging to an instance within an image set. ::
 
     aws medical-imaging update-image-set-metadata \
         --datastore-id 12345678901234567890123456789012 \
-        --image-set-id ea92b0d8838c72a3f25d00d13616f87e \
+        --image-set-id 53d5fdb05ca4d46ac7ca64b06545c66e \
         --latest-version-id 1 \
+        --cli-binary-format raw-in-base64-out \
+        --force \
         --update-image-set-metadata-updates file://metadata-updates.json
 
 Contents of ``metadata-updates.json`` ::
 
     {
         "DICOMUpdates": {
-            "removableAttributes": 
"eezEuMS4xLjEuMS4xLjEyMzQ1LjEyMzQ1Njc4OTAxMi4xMjMuMTIzNDU2Nzg5MDEyMzQuMTp7SW5zdGFuY2VzOnsxLjEuMS4xLjEuMS4xMjM0NS4xMjM0NTY3ODkwMTIuMTIzLjEyMzQ1Njc4OTAxMjM0LjE6e319fX19fQo="
+            "updatableAttributes": "{\"SchemaVersion\": 1.1,\"Study\": 
{\"Series\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": 
{\"Instances\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": 
{\"DICOM\": {\"00091001\": \"GE_GENESIS_DD\"}}}}}}}"
         }
     }
 
-Note: ``removableAttributes`` is a Base64 encoded JSON string. Here is the 
unencoded JSON string.
+Output::
+
+    {
+        "latestVersionId": "2",
+        "imageSetWorkflowStatus": "UPDATING",
+        "updatedAt": 1680042257.908,
+        "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
+        "imageSetState": "LOCKED",
+        "createdAt": 1680027126.436,
+        "datastoreId": "12345678901234567890123456789012"
+    }
+
+**Example 7: To update a SOPInstanceUID with the force parameter**
 
-{"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1":{"Instances":{"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1":{}}}}}}
+The following ``update-image-set-metadata`` example shows how to update a 
SOPInstanceUID, using the force parameter to override the DICOM metadata 
constraints. ::
+
+    aws medical-imaging update-image-set-metadata \
+            --datastore-id 12345678901234567890123456789012 \
+            --image-set-id 53d5fdb05ca4d46ac7ca64b06545c66e \
+            --latest-version-id 1 \
+            --cli-binary-format raw-in-base64-out \
+            --force \
+            --update-image-set-metadata-updates file://metadata-updates.json
+
+Contents of ``metadata-updates.json`` ::
+
+    {
+        "DICOMUpdates": {
+            "updatableAttributes": 
"{\"SchemaVersion\":1.1,\"Study\":{\"Series\":{\"1.3.6.1.4.1.5962.99.1.3633258862.2104868982.1369432891697.3656.0\":{\"Instances\":{\"1.3.6.1.4.1.5962.99.1.3633258862.2104868982.1369432891697.3659.0\":{\"DICOM\":{\"SOPInstanceUID\":\"1.3.6.1.4.1.5962.99.1.3633258862.2104868982.1369432891697.3659.9\"}}}}}}}"
+        }
+    }
 
 Output::
 
@@ -94,7 +206,7 @@
         "latestVersionId": "2",
         "imageSetWorkflowStatus": "UPDATING",
         "updatedAt": 1680042257.908,
-        "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e",
+        "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
         "imageSetState": "LOCKED",
         "createdAt": 1680027126.436,
         "datastoreId": "12345678901234567890123456789012"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/doc/source/conf.py 
new/aws-cli-1.34.21/doc/source/conf.py
--- old/aws-cli-1.34.10/doc/source/conf.py      2024-08-30 20:16:13.000000000 
+0200
+++ new/aws-cli-1.34.21/doc/source/conf.py      2024-09-17 20:09:24.000000000 
+0200
@@ -52,7 +52,7 @@
 # The short X.Y version.
 version = '1.34.'
 # The full version, including alpha/beta/rc tags.
-release = '1.34.10'
+release = '1.34.21'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/setup.cfg 
new/aws-cli-1.34.21/setup.cfg
--- old/aws-cli-1.34.10/setup.cfg       2024-08-30 20:16:13.000000000 +0200
+++ new/aws-cli-1.34.21/setup.cfg       2024-09-17 20:09:24.000000000 +0200
@@ -3,7 +3,7 @@
 
 [metadata]
 requires_dist =
-        botocore==1.35.10
+        botocore==1.35.21
         docutils>=0.10,<0.17
         s3transfer>=0.10.0,<0.11.0
         PyYAML>=3.10,<6.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.34.10/setup.py new/aws-cli-1.34.21/setup.py
--- old/aws-cli-1.34.10/setup.py        2024-08-30 20:16:13.000000000 +0200
+++ new/aws-cli-1.34.21/setup.py        2024-09-17 20:09:24.000000000 +0200
@@ -24,7 +24,7 @@
 
 
 install_requires = [
-    'botocore==1.35.10',
+    'botocore==1.35.21',
     'docutils>=0.10,<0.17',
     's3transfer>=0.10.0,<0.11.0',
     'PyYAML>=3.10,<6.1',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.34.10/tests/unit/customizations/emr/test_add_instance_fleet.py 
new/aws-cli-1.34.21/tests/unit/customizations/emr/test_add_instance_fleet.py
--- 
old/aws-cli-1.34.10/tests/unit/customizations/emr/test_add_instance_fleet.py    
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/aws-cli-1.34.21/tests/unit/customizations/emr/test_add_instance_fleet.py    
    2024-09-17 20:09:24.000000000 +0200
@@ -0,0 +1,33 @@
+# Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"). You
+# may not use this file except in compliance with the License. A copy of
+# the License is located at
+#
+#     http://aws.amazon.com/apache2.0/
+#
+# or in the "license" file accompanying this file. This file is
+# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+# ANY KIND, either express or implied. See the License for the specific
+# language governing permissions and limitations under the License.
+
+from tests.unit.customizations.emr import EMRBaseAWSCommandParamsTest as \
+    BaseAWSCommandParamsTest
+from tests.unit.customizations.emr import test_constants_instance_fleets as \
+    CONSTANTS_FLEET
+
+class TestAddInstanceFleet(BaseAWSCommandParamsTest):
+    prefix = f"emr add-instance-fleet --cluster-id 
{CONSTANTS_FLEET.DEFAULT_CLUSTER_NAME} --instance-fleet "
+
+    def test_add_instance_fleet_with_allocation_strategy_spot_and_od(self):
+        result = \
+            {
+                "ClusterId": CONSTANTS_FLEET.DEFAULT_CLUSTER_NAME,
+                "InstanceFleet": 
CONSTANTS_FLEET.RES_TASK_INSTANCE_FLEET_WITH_RESIZE_ALLOCATION_STRATEGY_SPOT_AND_OD
+            }
+        self.assert_params_for_cmd(
+            self.prefix + 
CONSTANTS_FLEET.TASK_INSTANCE_FLEET_WITH_RESIZE_ALLOCATION_STRATEGY_SPOT_AND_OD,
+            result)
+
+if __name__ == "__main__":
+    unittest.main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.34.10/tests/unit/customizations/emr/test_constants_instance_fleets.py
 
new/aws-cli-1.34.21/tests/unit/customizations/emr/test_constants_instance_fleets.py
--- 
old/aws-cli-1.34.10/tests/unit/customizations/emr/test_constants_instance_fleets.py
 2024-08-30 20:16:13.000000000 +0200
+++ 
new/aws-cli-1.34.21/tests/unit/customizations/emr/test_constants_instance_fleets.py
 2024-09-17 20:09:24.000000000 +0200
@@ -11,6 +11,9 @@
 # ANY KIND, either express or implied. See the License for the specific
 # language governing permissions and limitations under the License.
 
+DEFAULT_INSTANCE_FLEET_NAME = "if-XYZ123"
+DEFAULT_CLUSTER_NAME = "j-ABC123456"
+
 INSTANCE_FLEETS_WITH_ON_DEMAND_MASTER_ONLY = (
     
'InstanceFleetType=MASTER,TargetOnDemandCapacity=1,InstanceTypeConfigs=[{InstanceType=d2.xlarge}],'
     
'LaunchSpecifications={OnDemandSpecification={AllocationStrategy=lowest-price,'
@@ -70,17 +73,66 @@
     'TimeoutAction=TERMINATE_CLUSTER,AllocationStrategy=diversified}}')
 
 INSTANCE_FLEETS_WITH_PRIORITIZED_ALLOCATION_STRATEGY_SPOT_AND_OD = (
-    
'InstanceFleetType=MASTER,TargetSpotCapacity=1,InstanceTypeConfigs=[{InstanceType=d2.xlarge,BidPrice=0.1,Priority=0.0}],'
-    
'LaunchSpecifications={SpotSpecification={TimeoutDurationMinutes=30,TimeoutAction=TERMINATE_CLUSTER,'
-    
'AllocationStrategy=capacity-optimized-prioritized},OnDemandSpecification={AllocationStrategy=prioritized}}
 '
-    
'InstanceFleetType=CORE,TargetSpotCapacity=100,InstanceTypeConfigs=[{InstanceType=d2.xlarge,BidPrice=0.5,'
-    
'WeightedCapacity=1,Priority=0.0},{InstanceType=m3.2xlarge,BidPrice=0.2,WeightedCapacity=2,Priority=1.0},{InstanceType=m3.4xlarge,BidPrice=0.4,'
-    
'WeightedCapacity=4,Priority=99.0}],LaunchSpecifications={SpotSpecification={TimeoutDurationMinutes=32,'
-    
'TimeoutAction=TERMINATE_CLUSTER,AllocationStrategy=capacity-optimized-prioritized},OnDemandSpecification={AllocationStrategy=prioritized}}
 '
-    
'InstanceFleetType=TASK,TargetSpotCapacity=100,InstanceTypeConfigs=[{InstanceType=d2.xlarge,BidPrice=0.5,'
-    
'WeightedCapacity=1,Priority=10.0},{InstanceType=m3.2xlarge,BidPrice=0.2,WeightedCapacity=2,Priority=0.0},{InstanceType=m3.4xlarge,BidPrice=0.4,'
-    
'WeightedCapacity=4,Priority=100.0}],LaunchSpecifications={SpotSpecification={TimeoutDurationMinutes=77,'
-    
'TimeoutAction=TERMINATE_CLUSTER,AllocationStrategy=capacity-optimized-prioritized},OnDemandSpecification={AllocationStrategy=prioritized}}')
+    
'InstanceFleetType=MASTER,TargetSpotCapacity=1,InstanceTypeConfigs=[{InstanceType=d2.xlarge,'
+    
'BidPrice=0.1,Priority=0.0}],LaunchSpecifications={SpotSpecification={TimeoutDurationMinutes=30,'
+    
'TimeoutAction=TERMINATE_CLUSTER,AllocationStrategy=capacity-optimized-prioritized},'
+    'OnDemandSpecification={AllocationStrategy=prioritized}} '
+    
'InstanceFleetType=CORE,TargetSpotCapacity=100,InstanceTypeConfigs=[{InstanceType=d2.xlarge,'
+    
'BidPrice=0.5,WeightedCapacity=1,Priority=0.0},{InstanceType=m3.2xlarge,BidPrice=0.2,'
+    
'WeightedCapacity=2,Priority=1.0},{InstanceType=m3.4xlarge,BidPrice=0.4,WeightedCapacity=4,'
+    
'Priority=99.0}],LaunchSpecifications={SpotSpecification={TimeoutDurationMinutes=32,'
+    
'TimeoutAction=TERMINATE_CLUSTER,AllocationStrategy=capacity-optimized-prioritized},'
+    'OnDemandSpecification={AllocationStrategy=prioritized}} '
+    
'InstanceFleetType=TASK,TargetSpotCapacity=100,InstanceTypeConfigs=[{InstanceType=d2.xlarge,'
+    
'BidPrice=0.5,WeightedCapacity=1,Priority=10.0},{InstanceType=m3.2xlarge,BidPrice=0.2,'
+    
'WeightedCapacity=2,Priority=0.0},{InstanceType=m3.4xlarge,BidPrice=0.4,WeightedCapacity=4,'
+    
'Priority=100.0}],LaunchSpecifications={SpotSpecification={TimeoutDurationMinutes=77,'
+    'TimeoutAction=TERMINATE_CLUSTER,AllocationStrategy='
+    
'capacity-optimized-prioritized},OnDemandSpecification={AllocationStrategy=prioritized}}')
+
+TASK_INSTANCE_FLEET_WITH_RESIZE_ALLOCATION_STRATEGY_SPOT_AND_OD = (
+    
'InstanceFleetType=TASK,TargetSpotCapacity=100,InstanceTypeConfigs=[{InstanceType=d2.xlarge,'
+    
'BidPrice=0.5,WeightedCapacity=1},{InstanceType=m3.2xlarge,BidPrice=0.2,WeightedCapacity=2},'
+    
'{InstanceType=m3.4xlarge,BidPrice=0.4,WeightedCapacity=4}],LaunchSpecifications={'
+    
'SpotSpecification={TimeoutDurationMinutes=77,TimeoutAction=TERMINATE_CLUSTER,'
+    
'AllocationStrategy=capacity-optimized-prioritized},OnDemandSpecification={'
+    
'AllocationStrategy=lowest-price}},ResizeSpecifications={SpotResizeSpecification={'
+    'AllocationStrategy=capacity-optimized},OnDemandResizeSpecification={'
+    'AllocationStrategy=lowest-price,CapacityReservationOptions={'
+    
'UsageStrategy=use-capacity-reservations-first,CapacityReservationPreference=open}}}')
+
+INSTANCE_FLEETS_WITH_RESIZE_ALLOCATION_STRATEGY_SPOT_AND_OD = (
+    
'InstanceFleetType=MASTER,TargetSpotCapacity=1,InstanceTypeConfigs=[{InstanceType=d2.xlarge,'
+    
'BidPrice=0.1}],LaunchSpecifications={SpotSpecification={TimeoutDurationMinutes=30,'
+    
'TimeoutAction=TERMINATE_CLUSTER,AllocationStrategy=capacity-optimized-prioritized},'
+    'OnDemandSpecification={AllocationStrategy=lowest-price}} '
+    
'InstanceFleetType=CORE,TargetSpotCapacity=100,InstanceTypeConfigs=[{InstanceType=d2.xlarge,'
+    
'BidPrice=0.5,WeightedCapacity=1},{InstanceType=m3.2xlarge,BidPrice=0.2,WeightedCapacity=2},'
+    
'{InstanceType=m3.4xlarge,BidPrice=0.4,WeightedCapacity=4}],LaunchSpecifications={'
+    
'SpotSpecification={TimeoutDurationMinutes=32,TimeoutAction=TERMINATE_CLUSTER,'
+    
'AllocationStrategy=capacity-optimized-prioritized},OnDemandSpecification={'
+    
'AllocationStrategy=lowest-price}},ResizeSpecifications={SpotResizeSpecification='
+    '{AllocationStrategy=capacity-optimized},OnDemandResizeSpecification={'
+    'AllocationStrategy=lowest-price,CapacityReservationOptions={'
+    
'UsageStrategy=use-capacity-reservations-first,CapacityReservationPreference=open}}}
 '
+    f'{TASK_INSTANCE_FLEET_WITH_RESIZE_ALLOCATION_STRATEGY_SPOT_AND_OD}')
+
+MODIFY_INSTANCE_FLEET_WITH_INSTANCE_TYPE_CONFIGS = (
+    f'InstanceFleetId={DEFAULT_INSTANCE_FLEET_NAME},'
+    f'InstanceTypeConfigs=[{{InstanceType=d2.xlarge}}]')
+
+MODIFY_INSTANCE_FLEET_WITH_SPOT_AND_OD_RESIZE_SPECIFICATIONS = (
+    
f'InstanceFleetId={DEFAULT_INSTANCE_FLEET_NAME},ResizeSpecifications={{SpotResizeSpecification='
+    f'{{AllocationStrategy=capacity-optimized}},OnDemandResizeSpecification={{'
+    f'AllocationStrategy=lowest-price,CapacityReservationOptions={{'
+    
f'UsageStrategy=use-capacity-reservations-first,CapacityReservationPreference=open}}}}}}')
+
+MODIFY_INSTANCE_FLEET_WITH_INSTANCE_TYPE_CONFIGS_AND_SPOT_AND_OD_RESIZE_SPECIFICATIONS
 = (
+    
f'InstanceFleetId={DEFAULT_INSTANCE_FLEET_NAME},ResizeSpecifications={{SpotResizeSpecification='
+    f'{{AllocationStrategy=capacity-optimized}},OnDemandResizeSpecification={{'
+    f'AllocationStrategy=lowest-price,CapacityReservationOptions={{'
+    
f'UsageStrategy=use-capacity-reservations-first,CapacityReservationPreference=open}}}}}}'
+    f',InstanceTypeConfigs=[{{InstanceType=d2.xlarge}}]')
 
 RES_INSTANCE_FLEETS_WITH_ON_DEMAND_MASTER_ONLY = \
     [{"InstanceTypeConfigs": [{"InstanceType": "d2.xlarge"}],
@@ -256,36 +308,305 @@
       "Name": "TASK"
     }]
 
-
 RES_INSTANCE_FLEETS_WITH_PRIORITIZED_ALLOCATION_STRATEGY_SPOT_AND_OD = \
-    [{"InstanceTypeConfigs": [{"InstanceType": "d2.xlarge","BidPrice": 
"0.1","Priority": 0.0}],
+  [
+    {
+      "InstanceTypeConfigs": [
+        {
+          "InstanceType": "d2.xlarge",
+          "BidPrice": "0.1",
+          "Priority": 0
+        }
+      ],
       "LaunchSpecifications": {
-          "SpotSpecification": {"TimeoutDurationMinutes": 30, "TimeoutAction": 
"TERMINATE_CLUSTER", "AllocationStrategy": "capacity-optimized-prioritized"},
-          "OnDemandSpecification": {"AllocationStrategy": "prioritized"}
+        "SpotSpecification": {
+          "TimeoutDurationMinutes": 30,
+          "TimeoutAction": "TERMINATE_CLUSTER",
+          "AllocationStrategy": "capacity-optimized-prioritized"
+        },
+        "OnDemandSpecification": {
+          "AllocationStrategy": "prioritized"
+        }
       },
       "TargetSpotCapacity": 1,
       "InstanceFleetType": "MASTER",
       "Name": "MASTER"
     },
-    {"InstanceTypeConfigs": [{"InstanceType": "d2.xlarge","BidPrice": 
"0.5","WeightedCapacity": 1,"Priority": 0.0},
-      {"InstanceType": "m3.2xlarge","BidPrice": "0.2","WeightedCapacity": 
2,"Priority": 1.0},{"InstanceType": "m3.4xlarge","BidPrice": "0.4",
-      "WeightedCapacity": 4,"Priority": 99.0}],
-      "LaunchSpecifications" : {
-          "SpotSpecification": {"TimeoutDurationMinutes": 32, "TimeoutAction": 
"TERMINATE_CLUSTER", "AllocationStrategy": "capacity-optimized-prioritized"},
-          "OnDemandSpecification": {"AllocationStrategy": "prioritized"}
+    {
+      "InstanceTypeConfigs": [
+        {
+          "InstanceType": "d2.xlarge",
+          "BidPrice": "0.5",
+          "WeightedCapacity": 1,
+          "Priority": 0
+        },
+        {
+          "InstanceType": "m3.2xlarge",
+          "BidPrice": "0.2",
+          "WeightedCapacity": 2,
+          "Priority": 1
+        },
+        {
+          "InstanceType": "m3.4xlarge",
+          "BidPrice": "0.4",
+          "WeightedCapacity": 4,
+          "Priority": 99
+        }
+      ],
+      "LaunchSpecifications": {
+        "SpotSpecification": {
+          "TimeoutDurationMinutes": 32,
+          "TimeoutAction": "TERMINATE_CLUSTER",
+          "AllocationStrategy": "capacity-optimized-prioritized"
+        },
+        "OnDemandSpecification": {
+          "AllocationStrategy": "prioritized"
+        }
       },
       "TargetSpotCapacity": 100,
       "InstanceFleetType": "CORE",
       "Name": "CORE"
     },
-    {"InstanceTypeConfigs": [{"InstanceType": "d2.xlarge","BidPrice": 
"0.5","WeightedCapacity": 1,"Priority": 10.0},
-      {"InstanceType": "m3.2xlarge","BidPrice": "0.2","WeightedCapacity": 
2,"Priority": 0.0},{"InstanceType": "m3.4xlarge","BidPrice": "0.4",
-      "WeightedCapacity": 4,"Priority": 100.0}],
-      "LaunchSpecifications" : {
-          "SpotSpecification": {"TimeoutDurationMinutes": 77, "TimeoutAction": 
"TERMINATE_CLUSTER", "AllocationStrategy": "capacity-optimized-prioritized"},
-          "OnDemandSpecification": {"AllocationStrategy": "prioritized"}
+    {
+      "InstanceTypeConfigs": [
+        {
+          "InstanceType": "d2.xlarge",
+          "BidPrice": "0.5",
+          "WeightedCapacity": 1,
+          "Priority": 10
+        },
+        {
+          "InstanceType": "m3.2xlarge",
+          "BidPrice": "0.2",
+          "WeightedCapacity": 2,
+          "Priority": 0
+        },
+        {
+          "InstanceType": "m3.4xlarge",
+          "BidPrice": "0.4",
+          "WeightedCapacity": 4,
+          "Priority": 100
+        }
+      ],
+      "LaunchSpecifications": {
+        "SpotSpecification": {
+          "TimeoutDurationMinutes": 77,
+          "TimeoutAction": "TERMINATE_CLUSTER",
+          "AllocationStrategy": "capacity-optimized-prioritized"
+        },
+        "OnDemandSpecification": {
+          "AllocationStrategy": "prioritized"
+        }
       },
       "TargetSpotCapacity": 100,
       "InstanceFleetType": "TASK",
       "Name": "TASK"
-    }]
\ No newline at end of file
+    }]
+
+RES_INSTANCE_FLEETS_WITH_RESIZE_ALLOCATION_STRATEGY_SPOT_AND_OD = \
+  [
+    {
+      "InstanceTypeConfigs": [
+        {
+          "InstanceType": "d2.xlarge",
+          "BidPrice": "0.1"
+        }
+      ],
+      "LaunchSpecifications": {
+        "SpotSpecification": {
+          "TimeoutDurationMinutes": 30,
+          "TimeoutAction": "TERMINATE_CLUSTER",
+          "AllocationStrategy": "capacity-optimized-prioritized"
+        },
+        "OnDemandSpecification": {
+          "AllocationStrategy": "lowest-price"
+        }
+      },
+      "TargetSpotCapacity": 1,
+      "InstanceFleetType": "MASTER",
+      "Name": "MASTER"
+    },
+    {
+      "InstanceTypeConfigs": [
+        {
+          "InstanceType": "d2.xlarge",
+          "BidPrice": "0.5",
+          "WeightedCapacity": 1
+        },
+        {
+          "InstanceType": "m3.2xlarge",
+          "BidPrice": "0.2",
+          "WeightedCapacity": 2
+        },
+        {
+          "InstanceType": "m3.4xlarge",
+          "BidPrice": "0.4",
+          "WeightedCapacity": 4
+        }
+      ],
+      "LaunchSpecifications": {
+        "SpotSpecification": {
+          "TimeoutDurationMinutes": 32,
+          "TimeoutAction": "TERMINATE_CLUSTER",
+          "AllocationStrategy": "capacity-optimized-prioritized"
+        },
+        "OnDemandSpecification": {
+          "AllocationStrategy": "lowest-price"
+        }
+      },
+      "ResizeSpecifications": {
+        "OnDemandResizeSpecification": {
+          "AllocationStrategy": "lowest-price",
+          "CapacityReservationOptions": {
+            "CapacityReservationPreference": "open",
+            "UsageStrategy": "use-capacity-reservations-first"
+          }
+        },
+        "SpotResizeSpecification": {
+          "AllocationStrategy": "capacity-optimized"
+        }
+      },
+      "TargetSpotCapacity": 100,
+      "InstanceFleetType": "CORE",
+      "Name": "CORE"
+    },
+    {
+      "InstanceTypeConfigs": [
+        {
+          "InstanceType": "d2.xlarge",
+          "BidPrice": "0.5",
+          "WeightedCapacity": 1
+        },
+        {
+          "InstanceType": "m3.2xlarge",
+          "BidPrice": "0.2",
+          "WeightedCapacity": 2
+        },
+        {
+          "InstanceType": "m3.4xlarge",
+          "BidPrice": "0.4",
+          "WeightedCapacity": 4
+        }
+      ],
+      "LaunchSpecifications": {
+        "SpotSpecification": {
+          "TimeoutDurationMinutes": 77,
+          "TimeoutAction": "TERMINATE_CLUSTER",
+          "AllocationStrategy": "capacity-optimized-prioritized"
+        },
+        "OnDemandSpecification": {
+          "AllocationStrategy": "lowest-price"
+        }
+      },
+      "ResizeSpecifications": {
+        "OnDemandResizeSpecification": {
+          "AllocationStrategy": "lowest-price",
+          "CapacityReservationOptions": {
+            "CapacityReservationPreference": "open",
+            "UsageStrategy": "use-capacity-reservations-first"
+          }
+        },
+        "SpotResizeSpecification": {
+          "AllocationStrategy": "capacity-optimized"
+        }
+      },
+      "TargetSpotCapacity": 100,
+      "InstanceFleetType": "TASK",
+      "Name": "TASK"
+    }
+  ]
+
+RES_TASK_INSTANCE_FLEET_WITH_RESIZE_ALLOCATION_STRATEGY_SPOT_AND_OD = \
+  {
+    "InstanceTypeConfigs": [
+      {
+        "InstanceType": "d2.xlarge",
+        "BidPrice": "0.5",
+        "WeightedCapacity": 1
+      },
+      {
+        "InstanceType": "m3.2xlarge",
+        "BidPrice": "0.2",
+        "WeightedCapacity": 2
+      },
+      {
+        "InstanceType": "m3.4xlarge",
+        "BidPrice": "0.4",
+        "WeightedCapacity": 4
+      }
+    ],
+    "LaunchSpecifications": {
+      "SpotSpecification": {
+        "TimeoutDurationMinutes": 77,
+        "TimeoutAction": "TERMINATE_CLUSTER",
+        "AllocationStrategy": "capacity-optimized-prioritized"
+      },
+      "OnDemandSpecification": {
+        "AllocationStrategy": "lowest-price"
+      }
+    },
+    "ResizeSpecifications": {
+      "OnDemandResizeSpecification": {
+        "AllocationStrategy": "lowest-price",
+        "CapacityReservationOptions": {
+          "CapacityReservationPreference": "open",
+          "UsageStrategy": "use-capacity-reservations-first"
+        }
+      },
+      "SpotResizeSpecification": {
+        "AllocationStrategy": "capacity-optimized"
+      }
+    },
+    "TargetSpotCapacity": 100,
+    "InstanceFleetType": "TASK"
+  }
+
+RES_MODIFY_INSTANCE_FLEET_WITH_INSTANCE_TYPE_CONFIGS = \
+    {
+      "ClusterId": DEFAULT_CLUSTER_NAME,
+      "InstanceFleet": {
+        "InstanceFleetId": DEFAULT_INSTANCE_FLEET_NAME,
+        "InstanceTypeConfigs": [
+          {"InstanceType": "d2.xlarge"}
+        ]
+      }
+    }
+
+RES_MODIFY_INSTANCE_FLEET_WITH_SPOT_AND_OD_RESIZE_SPECIFICATIONS = \
+    {
+      "ClusterId": DEFAULT_CLUSTER_NAME,
+      "InstanceFleet": {
+        "InstanceFleetId": DEFAULT_INSTANCE_FLEET_NAME,
+          "ResizeSpecifications": {
+            "OnDemandResizeSpecification": {
+              "AllocationStrategy": "lowest-price",
+              "CapacityReservationOptions": {
+                "CapacityReservationPreference": "open",
+                "UsageStrategy": "use-capacity-reservations-first"
+              }
+            },
+          "SpotResizeSpecification": {"AllocationStrategy": 
"capacity-optimized"}
+        }
+      }
+  }
+
+RES_MODIFY_INSTANCE_FLEET_WITH_INSTANCE_TYPE_CONFIGS_AND_SPOT_AND_OD_RESIZE_SPECIFICATIONS
 = \
+    {
+      "ClusterId": DEFAULT_CLUSTER_NAME,
+      "InstanceFleet": {
+        "InstanceFleetId": DEFAULT_INSTANCE_FLEET_NAME,
+          "ResizeSpecifications": {
+            "OnDemandResizeSpecification": {
+              "AllocationStrategy": "lowest-price",
+              "CapacityReservationOptions": {
+                "CapacityReservationPreference": "open",
+                "UsageStrategy": "use-capacity-reservations-first"
+              }
+            },
+          "SpotResizeSpecification": {"AllocationStrategy": 
"capacity-optimized"}
+        },
+        "InstanceTypeConfigs": [
+            {"InstanceType": "d2.xlarge"}
+        ]
+      }
+    }
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.34.10/tests/unit/customizations/emr/test_create_cluster_release_label.py
 
new/aws-cli-1.34.21/tests/unit/customizations/emr/test_create_cluster_release_label.py
--- 
old/aws-cli-1.34.10/tests/unit/customizations/emr/test_create_cluster_release_label.py
      2024-08-30 20:16:13.000000000 +0200
+++ 
new/aws-cli-1.34.21/tests/unit/customizations/emr/test_create_cluster_release_label.py
      2024-09-17 20:09:24.000000000 +0200
@@ -1552,6 +1552,26 @@
             }
         self.assert_params_for_cmd(cmd, result)
 
+    def test_instance_fleets_with_resize_allocation_strategy_spot_od(self):
+        cmd = (self.prefix + '--release-label emr-4.2.0 --instance-fleets ' +
+               
CONSTANTS_FLEET.INSTANCE_FLEETS_WITH_RESIZE_ALLOCATION_STRATEGY_SPOT_AND_OD +
+               ' --ec2-attributes AvailabilityZones=[us-east-1a,us-east-1b]')
+        instance_fleets = 
CONSTANTS_FLEET.RES_INSTANCE_FLEETS_WITH_RESIZE_ALLOCATION_STRATEGY_SPOT_AND_OD
+        result = \
+            {
+                'Name': DEFAULT_CLUSTER_NAME,
+                'Instances': {'KeepJobFlowAliveWhenNoSteps': True,
+                              'TerminationProtected': False,
+                              'InstanceFleets':
+                                instance_fleets,
+                              'Placement': {'AvailabilityZones': 
['us-east-1a','us-east-1b']}
+                            },
+                'ReleaseLabel': 'emr-4.2.0',
+                'VisibleToAllUsers': True,
+                'Tags': []
+            }
+        self.assert_params_for_cmd(cmd, result)
+
     def test_create_cluster_with_os_release_label(self):
         test_os_release_label = '2.0.20220406.1'
         cmd = (self.prefix + '--release-label emr-6.6.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.34.10/tests/unit/customizations/emr/test_describe_cluster.py 
new/aws-cli-1.34.21/tests/unit/customizations/emr/test_describe_cluster.py
--- old/aws-cli-1.34.10/tests/unit/customizations/emr/test_describe_cluster.py  
2024-08-30 20:16:13.000000000 +0200
+++ new/aws-cli-1.34.21/tests/unit/customizations/emr/test_describe_cluster.py  
2024-09-17 20:09:24.000000000 +0200
@@ -176,6 +176,20 @@
                     "BidPriceAsPercentageOfOnDemandPrice": 0.0
                 }
             ],
+            "LaunchSpecifications" : {
+                "SpotSpecification": {"TimeoutDurationMinutes": 77, 
"TimeoutAction": "TERMINATE_CLUSTER",
+                                        "AllocationStrategy": 
"capacity-optimized-prioritized"},
+                "OnDemandSpecification": {"AllocationStrategy": "lowest-price"}
+            },
+            "ResizeSpecifications": {
+                "OnDemandResizeSpecification": {"AllocationStrategy": 
"lowest-price",
+                    "CapacityReservationOptions": {
+                        "CapacityReservationPreference": "open",
+                        "UsageStrategy": "use-capacity-reservations-first"
+                    }
+                },
+                "SpotResizeSpecification": {"AllocationStrategy": 
"capacity-optimized"}
+            },
             "Name": "Master instance group",
             "InstanceFleetType": "MASTER",
             "InstanceType": "m1.large",
@@ -327,6 +341,20 @@
                         "BidPriceAsPercentageOfOnDemandPrice": 0.0
                     }
                 ],
+                "LaunchSpecifications" : {
+                    "SpotSpecification": {"TimeoutDurationMinutes": 77, 
"TimeoutAction": "TERMINATE_CLUSTER",
+                                          "AllocationStrategy": 
"capacity-optimized-prioritized"},
+                    "OnDemandSpecification": {"AllocationStrategy": 
"lowest-price"}
+                },
+                "ResizeSpecifications": {
+                    "OnDemandResizeSpecification": {"AllocationStrategy": 
"lowest-price",
+                        "CapacityReservationOptions": {
+                            "CapacityReservationPreference": "open",
+                            "UsageStrategy": "use-capacity-reservations-first"
+                        }
+                    },
+                    "SpotResizeSpecification": {"AllocationStrategy": 
"capacity-optimized"}
+                },
                 "Name": "Master instance group",
                 "InstanceFleetType": "MASTER",
                 "InstanceType": "m1.large",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.34.10/tests/unit/customizations/emr/test_modify_instance_fleet.py 
new/aws-cli-1.34.21/tests/unit/customizations/emr/test_modify_instance_fleet.py
--- 
old/aws-cli-1.34.10/tests/unit/customizations/emr/test_modify_instance_fleet.py 
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/aws-cli-1.34.21/tests/unit/customizations/emr/test_modify_instance_fleet.py 
    2024-09-17 20:09:24.000000000 +0200
@@ -0,0 +1,40 @@
+# Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"). You
+# may not use this file except in compliance with the License. A copy of
+# the License is located at
+#
+#     http://aws.amazon.com/apache2.0/
+#
+# or in the "license" file accompanying this file. This file is
+# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+# ANY KIND, either express or implied. See the License for the specific
+# language governing permissions and limitations under the License.
+
+from tests.unit.customizations.emr import EMRBaseAWSCommandParamsTest as \
+    BaseAWSCommandParamsTest
+from tests.unit.customizations.emr import test_constants_instance_fleets as \
+    CONSTANTS_FLEET
+
+
+class TestModifyInstanceFleet(BaseAWSCommandParamsTest):
+    prefix = f"emr modify-instance-fleet --cluster-id 
{CONSTANTS_FLEET.DEFAULT_CLUSTER_NAME} --instance-fleet "
+
+    def test_modify_instance_fleet_with_instance_type_configs(self):
+        self.assert_params_for_cmd(
+            self.prefix + 
CONSTANTS_FLEET.MODIFY_INSTANCE_FLEET_WITH_INSTANCE_TYPE_CONFIGS,
+            
CONSTANTS_FLEET.RES_MODIFY_INSTANCE_FLEET_WITH_INSTANCE_TYPE_CONFIGS)
+
+    def test_modify_instance_fleet_with_allocation_strategy_spot_and_od(self):
+        self.assert_params_for_cmd(
+            self.prefix + 
CONSTANTS_FLEET.MODIFY_INSTANCE_FLEET_WITH_SPOT_AND_OD_RESIZE_SPECIFICATIONS,
+            
CONSTANTS_FLEET.RES_MODIFY_INSTANCE_FLEET_WITH_SPOT_AND_OD_RESIZE_SPECIFICATIONS)
+
+    def 
test_modify_instance_fleet_with_allocation_strategy_spot_and_od_and_instance_type_configs(self):
+        self.assert_params_for_cmd(
+            self.prefix + 
CONSTANTS_FLEET.MODIFY_INSTANCE_FLEET_WITH_INSTANCE_TYPE_CONFIGS_AND_SPOT_AND_OD_RESIZE_SPECIFICATIONS,
+            
CONSTANTS_FLEET.RES_MODIFY_INSTANCE_FLEET_WITH_INSTANCE_TYPE_CONFIGS_AND_SPOT_AND_OD_RESIZE_SPECIFICATIONS)
+
+
+if __name__ == "__main__":
+    unittest.main()

++++++ ac_update-docutils.patch ++++++
--- /var/tmp/diff_new_pack.HGzUCF/_old  2024-09-24 17:31:58.921828407 +0200
+++ /var/tmp/diff_new_pack.HGzUCF/_new  2024-09-24 17:31:58.925828574 +0200
@@ -1,10 +1,10 @@
-diff -Nru aws-cli-1.34.10.orig/setup.py aws-cli-1.34.10/setup.py
---- aws-cli-1.34.10.orig/setup.py      2024-08-30 20:16:13.000000000 +0200
-+++ aws-cli-1.34.10/setup.py   2024-09-04 08:23:42.025785880 +0200
+diff -Nru aws-cli-1.34.21.orig/setup.py aws-cli-1.34.21/setup.py
+--- aws-cli-1.34.21.orig/setup.py      2024-09-17 18:09:24.000000000 +0000
++++ aws-cli-1.34.21/setup.py   2024-09-20 10:00:12.360600395 +0000
 @@ -25,7 +25,7 @@
  
  install_requires = [
-     'botocore==1.35.10',
+     'botocore==1.35.21',
 -    'docutils>=0.10,<0.17',
 +    'docutils>=0.10',
      's3transfer>=0.10.0,<0.11.0',

Reply via email to