Amazon Elastic Compute Cloud

2020/12/18 - Amazon Elastic Compute Cloud - 2 updated api methods

Changes  EBS io2 volumes now supports Multi-Attach

DescribeVolumesModifications (updated) Link ¶
Changes (response)
{'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
)
type DryRun

boolean

param DryRun

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 .

type VolumeIds

list

param VolumeIds

The IDs of the volumes.

  • (string) --

type Filters

list

param Filters

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

type NextToken

string

param NextToken

The nextToken value returned by a previous paginated request.

type MaxResults

integer

param MaxResults

The maximum number of results (up to a limit of 500) to be returned in a paginated request.

rtype

dict

returns

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

ModifyVolume (updated) Link ¶
Changes (request, response)
Request
{'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
)
type DryRun

boolean

param DryRun

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 .

type VolumeId

string

param VolumeId

[REQUIRED]

The ID of the volume.

type Size

integer

param Size

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.

type VolumeType

string

param VolumeType

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.

type Iops

integer

param Iops

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.

type Throughput

integer

param Throughput

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.

type MultiAttachEnabled

boolean

param MultiAttachEnabled

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 .

rtype

dict

returns

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.