Skip to content

Commit

Permalink
Merge branch 'release-1.34.18' into develop
Browse files Browse the repository at this point in the history
* release-1.34.18:
  Bumping version to 1.34.18
  Update changelog based on model updates
  Merge customizations for EMR
  • Loading branch information
aws-sdk-python-automation committed Sep 12, 2024
2 parents a2c06ee + c856238 commit d68ce8a
Show file tree
Hide file tree
Showing 12 changed files with 572 additions and 66 deletions.
42 changes: 42 additions & 0 deletions .changes/1.34.18.json
Original file line number Diff line number Diff line change
@@ -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"
}
]
13 changes: 13 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@
CHANGELOG
=========

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
=======

Expand Down
2 changes: 1 addition & 1 deletion awscli/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

import os

__version__ = '1.34.17'
__version__ = '1.34.18'

#
# Get our data path to be added to botocore's search path
Expand Down
77 changes: 43 additions & 34 deletions awscli/customizations/emr/argumentschema.py
Original file line number Diff line number Diff line change
Expand Up @@ -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": {
Expand Down Expand Up @@ -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": {
Expand All @@ -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
}
}
}
Expand All @@ -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": {
Expand All @@ -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
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
# The short X.Y version.
version = '1.34.'
# The full version, including alpha/beta/rc tags.
release = '1.34.17'
release = '1.34.18'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ universal = 0

[metadata]
requires_dist =
botocore==1.35.17
botocore==1.35.18
docutils>=0.10,<0.17
s3transfer>=0.10.0,<0.11.0
PyYAML>=3.10,<6.1
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def find_version(*file_paths):


install_requires = [
'botocore==1.35.17',
'botocore==1.35.18',
'docutils>=0.10,<0.17',
's3transfer>=0.10.0,<0.11.0',
'PyYAML>=3.10,<6.1',
Expand Down
33 changes: 33 additions & 0 deletions tests/unit/customizations/emr/test_add_instance_fleet.py
Original file line number Diff line number Diff line change
@@ -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()
Loading

0 comments on commit d68ce8a

Please sign in to comment.