Skip to content

Commit

Permalink
Merge branch 'release-1.29.73'
Browse files Browse the repository at this point in the history
* release-1.29.73:
  Bumping version to 1.29.73
  Update changelog based on model updates
  AWS EMR: Introduce root volume iops and throughput attributes
  • Loading branch information
aws-sdk-python-automation committed Oct 27, 2023
2 parents e1cb3cf + 200907d commit 044d948
Show file tree
Hide file tree
Showing 11 changed files with 117 additions and 8 deletions.
27 changes: 27 additions & 0 deletions .changes/1.29.73.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[
{
"category": "``emr``",
"description": "Update emr command to latest version",
"type": "api-change"
},
{
"category": "``neptune``",
"description": "Update TdeCredentialPassword type to SensitiveString",
"type": "api-change"
},
{
"category": "``pinpoint``",
"description": "Updated documentation to describe the case insensitivity for EndpointIds.",
"type": "api-change"
},
{
"category": "``redshift``",
"description": "added support to create a dual stack cluster",
"type": "api-change"
},
{
"category": "``wafv2``",
"description": "Updates the descriptions for the calls that manage web ACL associations, to provide information for customer-managed IAM policies.",
"type": "api-change"
}
]
10 changes: 10 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
CHANGELOG
=========

1.29.73
=======

* api-change:``emr``: Update emr command to latest version
* api-change:``neptune``: Update TdeCredentialPassword type to SensitiveString
* api-change:``pinpoint``: Updated documentation to describe the case insensitivity for EndpointIds.
* api-change:``redshift``: added support to create a dual stack cluster
* api-change:``wafv2``: Updates the descriptions for the calls that manage web ACL associations, to provide information for customer-managed IAM policies.


1.29.72
=======

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

__version__ = '1.29.72'
__version__ = '1.29.73'

#
# Get our data path to be added to botocore's search path
Expand Down
12 changes: 12 additions & 0 deletions awscli/customizations/emr/createcluster.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,10 @@ class CreateCluster(Command):
'help_text' : helptext.CUSTOM_AMI_ID},
{'name': 'ebs-root-volume-size',
'help_text' : helptext.EBS_ROOT_VOLUME_SIZE},
{'name': 'ebs-root-volume-iops',
'help_text' : helptext.EBS_ROOT_VOLUME_IOPS},
{'name': 'ebs-root-volume-throughput',
'help_text' : helptext.EBS_ROOT_VOLUME_THROUGHPUT},
{'name': 'repo-upgrade-on-boot',
'help_text' : helptext.REPO_UPGRADE_ON_BOOT},
{'name': 'kerberos-attributes',
Expand Down Expand Up @@ -343,6 +347,14 @@ def _run_main_command(self, parsed_args, parsed_globals):
emrutils.apply_dict(
params, 'EbsRootVolumeSize', int(parsed_args.ebs_root_volume_size)
)
if parsed_args.ebs_root_volume_iops is not None:
emrutils.apply_dict(
params, 'EbsRootVolumeIops', int(parsed_args.ebs_root_volume_iops)
)
if parsed_args.ebs_root_volume_throughput is not None:
emrutils.apply_dict(
params, 'EbsRootVolumeThroughput', int(parsed_args.ebs_root_volume_throughput)
)

if parsed_args.repo_upgrade_on_boot is not None:
emrutils.apply_dict(
Expand Down
11 changes: 11 additions & 0 deletions awscli/customizations/emr/helptext.py
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,17 @@
' in GiB, of the EBS root device volume of the Amazon Linux AMI'
' that is used for each EC2 instance in the cluster. </p>')

EBS_ROOT_VOLUME_IOPS = (
'<p>This option is available only with Amazon EMR version 6.15.0 and later. Specifies the IOPS,'
' of the EBS root device volume of the Amazon Linux AMI'
' that is used for each EC2 instance in the cluster. </p>')

EBS_ROOT_VOLUME_THROUGHPUT = (
'<p>This option is available only with Amazon EMR version 6.15.0 and later. Specifies the throughput,'
' in MiB/s, of the EBS root device volume of the Amazon Linux AMI'
' that is used for each EC2 instance in the cluster. </p>')


SECURITY_CONFIG = (
'<p>Specifies the name of a security configuration to use for the cluster.'
' A security configuration defines data encryption settings and'
Expand Down
15 changes: 15 additions & 0 deletions awscli/examples/emr/create-cluster-examples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -533,3 +533,18 @@ The following ``create-cluster`` example creates an Amazon EMR cluster that uses
--service-role EMR_DefaultRole \
--ec2-attributes InstanceProfile=EMR_EC2_DefaultRole \
--instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=1,InstanceType=m4.large

**Example 24: To specify an EBS root volume attributes: size, iops and throughput for cluster instances created with EMR releases 6.15.0 and later**

The following ``create-cluster`` example creates an Amazon EMR cluster that uses root volume attributes to configure root volumes specifications for the EC2 instances. ::

aws emr create-cluster \
--name "Cluster with My Custom AMI" \
--custom-ami-id ami-a518e6df \
--ebs-root-volume-size 20 \
--ebs-root-volume-iops 3000 \
--ebs-root-volume-throughput 125 \
--release-label emr-6.15.0 \
--use-default-roles \
--instance-count 2 \
--instance-type m4.large
2 changes: 2 additions & 0 deletions awscli/examples/emr/create-cluster-synopsis.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
[--security-configuration <value>]
[--custom-ami-id <value>]
[--ebs-root-volume-size <value>]
[--ebs-root-volume-iops <value>]
[--ebs-root-volume-throughput <value>]
[--repo-upgrade-on-boot <value>]
[--kerberos-attributes <value>]
[--managed-scaling-policy <value>]
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.29.'
# The full version, including alpha/beta/rc tags.
release = '1.29.72'
release = '1.29.73'

# 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.31.72
botocore==1.31.73
docutils>=0.10,<0.17
s3transfer>=0.7.0,<0.8.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.31.72',
'botocore==1.31.73',
'docutils>=0.10,<0.17',
's3transfer>=0.7.0,<0.8.0',
'PyYAML>=3.10,<6.1',
Expand Down
40 changes: 36 additions & 4 deletions tests/unit/customizations/emr/test_create_cluster_release_label.py
Original file line number Diff line number Diff line change
Expand Up @@ -1101,7 +1101,7 @@ def test_instance_group_with_autoscaling_policy_missing_autoscaling_role(self):
' configuring an AutoScaling policy for an instance group.\n')
result = self.run_cmd(cmd, 255)
self.assertEqual(expected_error_msg, result[1])

def test_scale_down_behavior(self):
cmd = (self.prefix + '--release-label emr-4.0.0 --scale-down-behavior TERMINATE_AT_INSTANCE_HOUR '
'--instance-groups ' + DEFAULT_INSTANCE_GROUPS_ARG)
Expand Down Expand Up @@ -1384,6 +1384,38 @@ def test_create_cluster_with_ebs_root_volume_size(self):
}
self.assert_params_for_cmd(cmd, result)

def test_create_cluster_with_ebs_root_volume_iops(self):
cmd = (self.prefix + '--release-label emr-6.15.0 --security-configuration MySecurityConfig '+
' --ebs-root-volume-iops 3000' +
' --instance-groups ' + DEFAULT_INSTANCE_GROUPS_ARG)
result = \
{
'Name': DEFAULT_CLUSTER_NAME,
'Instances': DEFAULT_INSTANCES,
'ReleaseLabel': 'emr-6.15.0',
'VisibleToAllUsers': True,
'Tags': [],
'EbsRootVolumeIops': 3000,
'SecurityConfiguration': 'MySecurityConfig'
}
self.assert_params_for_cmd(cmd, result)

def test_create_cluster_with_ebs_root_volume_throughput(self):
cmd = (self.prefix + '--release-label emr-6.15.0 --security-configuration MySecurityConfig '+
' --ebs-root-volume-throughput 125' +
' --instance-groups ' + DEFAULT_INSTANCE_GROUPS_ARG)
result = \
{
'Name': DEFAULT_CLUSTER_NAME,
'Instances': DEFAULT_INSTANCES,
'ReleaseLabel': 'emr-6.15.0',
'VisibleToAllUsers': True,
'Tags': [],
'EbsRootVolumeThroughput': 125,
'SecurityConfiguration': 'MySecurityConfig'
}
self.assert_params_for_cmd(cmd, result)

def test_create_cluster_with_repo_upgrade_on_boot(self):
cmd = (self.prefix + '--release-label emr-4.7.2 --security-configuration MySecurityConfig '+
' --repo-upgrade-on-boot NONE' +
Expand Down Expand Up @@ -1433,7 +1465,7 @@ def test_create_cluster_with_managed_scaling_policy(self):
'MaximumCapacityUnits': 4,
'UnitType': 'Instances',
'MaximumCoreCapacityUnits': 1
}
}
},
'SecurityConfiguration': 'MySecurityConfig'
}
Expand Down Expand Up @@ -1497,8 +1529,8 @@ def test_create_cluster_with_placement_groups(self):

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'
+ ' --os-release-label ' + test_os_release_label
cmd = (self.prefix + '--release-label emr-6.6.0'
+ ' --os-release-label ' + test_os_release_label
+ ' --instance-groups ' + DEFAULT_INSTANCE_GROUPS_ARG)
result = \
{
Expand Down

0 comments on commit 044d948

Please sign in to comment.