2020/12/18 - Amazon Elastic Compute Cloud - 2 updated api methods
Changes Update ec2 client to latest version
{'VolumesModifications': {'OriginalMultiAttachEnabled': 'boolean', 'TargetMultiAttachEnabled': 'boolean'}}
Describes the most recent volume modification request for the specified EBS volumes.
If a volume has never been modified, some information in the output will be null. If a volume has been modified more than once, the output includes only the most recent modification request.
You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitoring volume modifications in the Amazon Elastic Compute Cloud User Guide.
See also: AWS API Documentation
Request Syntax
client.describe_volumes_modifications( DryRun=True|False, VolumeIds=[ 'string', ], Filters=[ { 'Name': 'string', 'Values': [ 'string', ] }, ], NextToken='string', MaxResults=123 )
boolean
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
list
The IDs of the volumes.
(string) --
list
The filters.
modification-state - The current modification state (modifying | optimizing | completed | failed).
original-iops - The original IOPS rate of the volume.
original-size - The original size of the volume, in GiB.
original-volume-type - The original volume type of the volume (standard | io1 | io2 | gp2 | sc1 | st1).
originalMultiAttachEnabled - Indicates whether Multi-Attach support was enabled (true | false).
start-time - The modification start time.
target-iops - The target IOPS rate of the volume.
target-size - The target size of the volume, in GiB.
target-volume-type - The target volume type of the volume (standard | io1 | io2 | gp2 | sc1 | st1).
targetMultiAttachEnabled - Indicates whether Multi-Attach support is to be enabled (true | false).
volume-id - The ID of the volume.
(dict) --
A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs. The filters supported by a describe operation are documented with the describe operation. For example:
DescribeAvailabilityZones
DescribeImages
DescribeInstances
DescribeKeyPairs
DescribeSecurityGroups
DescribeSnapshots
DescribeSubnets
DescribeTags
DescribeVolumes
DescribeVpcs
Name (string) --
The name of the filter. Filter names are case-sensitive.
Values (list) --
The filter values. Filter values are case-sensitive.
(string) --
string
The nextToken value returned by a previous paginated request.
integer
The maximum number of results (up to a limit of 500) to be returned in a paginated request.
dict
Response Syntax
{ 'VolumesModifications': [ { 'VolumeId': 'string', 'ModificationState': 'modifying'|'optimizing'|'completed'|'failed', 'StatusMessage': 'string', 'TargetSize': 123, 'TargetIops': 123, 'TargetVolumeType': 'standard'|'io1'|'io2'|'gp2'|'sc1'|'st1'|'gp3', 'TargetThroughput': 123, 'TargetMultiAttachEnabled': True|False, 'OriginalSize': 123, 'OriginalIops': 123, 'OriginalVolumeType': 'standard'|'io1'|'io2'|'gp2'|'sc1'|'st1'|'gp3', 'OriginalThroughput': 123, 'OriginalMultiAttachEnabled': True|False, 'Progress': 123, 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1) }, ], 'NextToken': 'string' }
Response Structure
(dict) --
VolumesModifications (list) --
Information about the volume modifications.
(dict) --
Describes the modification status of an EBS volume.
If the volume has never been modified, some element values will be null.
VolumeId (string) --
The ID of the volume.
ModificationState (string) --
The current modification state. The modification state is null for unmodified volumes.
StatusMessage (string) --
A status message about the modification progress or failure.
TargetSize (integer) --
The target size of the volume, in GiB.
TargetIops (integer) --
The target IOPS rate of the volume.
TargetVolumeType (string) --
The target EBS volume type of the volume.
TargetThroughput (integer) --
The target throughput of the volume, in MiB/s.
TargetMultiAttachEnabled (boolean) --
The target setting for Amazon EBS Multi-Attach.
OriginalSize (integer) --
The original size of the volume, in GiB.
OriginalIops (integer) --
The original IOPS rate of the volume.
OriginalVolumeType (string) --
The original EBS volume type of the volume.
OriginalThroughput (integer) --
The original throughput of the volume, in MiB/s.
OriginalMultiAttachEnabled (boolean) --
The original setting for Amazon EBS Multi-Attach.
Progress (integer) --
The modification progress, from 0 to 100 percent complete.
StartTime (datetime) --
The modification start time.
EndTime (datetime) --
The modification completion or failure time.
NextToken (string) --
Token for pagination, null if there are no more results
{'MultiAttachEnabled': 'boolean'}Response
{'VolumeModification': {'OriginalMultiAttachEnabled': 'boolean', 'TargetMultiAttachEnabled': 'boolean'}}
You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you might be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying an EBS volume running Linux, see Modifying the size, IOPS, or type of an EBS volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the size, IOPS, or type of an EBS volume on Windows.
When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For information about extending a Linux file system, see Extending a Linux file system. For information about extending a Windows file system, see Extending a Windows file system.
You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitoring volume modifications.
With previous-generation instance types, resizing an EBS volume might require detaching and reattaching the volume or stopping and restarting the instance. For more information, see Amazon EBS Elastic Volumes (Linux) or Amazon EBS Elastic Volumes (Windows).
If you reach the maximum volume modification rate per volume limit, you will need to wait at least six hours before applying further modifications to the affected EBS volume.
See also: AWS API Documentation
Request Syntax
client.modify_volume( DryRun=True|False, VolumeId='string', Size=123, VolumeType='standard'|'io1'|'io2'|'gp2'|'sc1'|'st1'|'gp3', Iops=123, Throughput=123, MultiAttachEnabled=True|False )
boolean
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
string
[REQUIRED]
The ID of the volume.
integer
The target size of the volume, in GiB. The target volume size must be greater than or equal to the existing size of the volume.
The following are the supported volumes sizes for each volume type:
gp2 and gp3: 1-16,384
io1 and io2: 4-16,384
st1 and sc1: 125-16,384
standard: 1-1,024
Default: If no size is specified, the existing size is retained.
string
The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.
Default: If no type is specified, the existing type is retained.
integer
The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.
The following are the supported values for each volume type:
gp3: 3,000-16,000 IOPS
io1: 100-64,000 IOPS
io2: 100-64,000 IOPS
Default: If no IOPS value is specified, the existing value is retained.
integer
The target throughput of the volume, in MiB/s. This parameter is valid only for gp3 volumes. The maximum value is 1,000.
Default: If no throughput value is specified, the existing value is retained.
Valid Range: Minimum value of 125. Maximum value of 1000.
boolean
Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Nitro-based instances in the same Availability Zone. This parameter is supported with io1 and io2 volumes only. For more information, see Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.
dict
Response Syntax
{ 'VolumeModification': { 'VolumeId': 'string', 'ModificationState': 'modifying'|'optimizing'|'completed'|'failed', 'StatusMessage': 'string', 'TargetSize': 123, 'TargetIops': 123, 'TargetVolumeType': 'standard'|'io1'|'io2'|'gp2'|'sc1'|'st1'|'gp3', 'TargetThroughput': 123, 'TargetMultiAttachEnabled': True|False, 'OriginalSize': 123, 'OriginalIops': 123, 'OriginalVolumeType': 'standard'|'io1'|'io2'|'gp2'|'sc1'|'st1'|'gp3', 'OriginalThroughput': 123, 'OriginalMultiAttachEnabled': True|False, 'Progress': 123, 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1) } }
Response Structure
(dict) --
VolumeModification (dict) --
Information about the volume modification.
VolumeId (string) --
The ID of the volume.
ModificationState (string) --
The current modification state. The modification state is null for unmodified volumes.
StatusMessage (string) --
A status message about the modification progress or failure.
TargetSize (integer) --
The target size of the volume, in GiB.
TargetIops (integer) --
The target IOPS rate of the volume.
TargetVolumeType (string) --
The target EBS volume type of the volume.
TargetThroughput (integer) --
The target throughput of the volume, in MiB/s.
TargetMultiAttachEnabled (boolean) --
The target setting for Amazon EBS Multi-Attach.
OriginalSize (integer) --
The original size of the volume, in GiB.
OriginalIops (integer) --
The original IOPS rate of the volume.
OriginalVolumeType (string) --
The original EBS volume type of the volume.
OriginalThroughput (integer) --
The original throughput of the volume, in MiB/s.
OriginalMultiAttachEnabled (boolean) --
The original setting for Amazon EBS Multi-Attach.
Progress (integer) --
The modification progress, from 0 to 100 percent complete.
StartTime (datetime) --
The modification start time.
EndTime (datetime) --
The modification completion or failure time.