Amazon Elastic Compute Cloud
API Reference (API Version 2016-11-15)


Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information on volume status, see Monitoring the Status of Your Volumes.

Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.

Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.


Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

Request Parameters

The following parameters are for this specific action. For more information about required and optional parameters that are common to all actions, see Common Query Parameters.


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: Boolean

Required: No


One or more filters.

  • action.code - The action code for the event (for example, enable-volume-io).

  • action.description - A description of the action.

  • action.event-id - The event ID associated with the action.

  • availability-zone - The Availability Zone of the instance.

  • event.description - A description of the event.

  • event.event-id - The event ID.

  • event.event-type - The event type (for io-enabled: passed | failed; for io-performance: io-performance:degraded | io-performance:severely-degraded | io-performance:stalled).

  • event.not-after - The latest end time for the event.

  • event.not-before - The earliest start time for the event.

  • volume-status.details-name - The cause for volume-status.status (io-enabled | io-performance).

  • volume-status.details-status - The status of volume-status.details-name (for io-enabled: passed | failed; for io-performance: normal | degraded | severely-degraded | stalled).

  • volume-status.status - The status of the volume (ok | impaired | warning | insufficient-data).

Type: array of Filter objects

Required: No


The maximum number of volume results returned by DescribeVolumeStatus in paginated output. When this parameter is used, the request only returns MaxResults results in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. If this parameter is not used, then DescribeVolumeStatus returns all results. You cannot specify this parameter and the volume IDs parameter in the same request.

Type: Integer

Required: No


The NextToken value to include in a future DescribeVolumeStatus request. When the results of the request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

Type: String

Required: No


One or more volume IDs.

Default: Describes all your volumes.

Type: array of Strings

Required: No

Response Elements

The following elements are returned by the service.


The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Type: String


The ID of the request.

Type: String


A list of volumes.

Type: array of VolumeStatusItem objects


For information about the errors that are common to all actions, see Common Errors.



This example describes the status of all the volumes associated with your account.

Sample Request


Sample Response

<DescribeVolumeStatus xmlns=""> <requestId>5jkdf074-37ed-4004-8671-a78ee82bf1cbEXAMPLE</requestId> <volumeStatusSet> <item> <VolumeId>vol-1234567890abcdef0</volumeId> <availabilityZone>us-east-1d</availabilityZone> <volumeStatus> <status>ok</status> <details> <item> <title>io-enabled</title> <status>passed</status> </item> </details> </volumeStatus> </item> <item> <volumeId>vol-1234567890abcdef1</volumeId> <availabilityZone>us-east-1d</availabilityZone> <volumeStatus> <status>impaired</status> <details> <item> <title>io-enabled</title> <status>failed</status> </item> </details> </volumeStatus> <eventsSet> <item> <eventId>evol-61a54008</eventId> <eventType>potential-data-inconsistency</eventType> <description>THIS IS AN EXAMPLE</description> <notBefore>2011-12-01T14:00:00.000Z</notBefore> <notAfter>2011-12-01T15:00:00.000Z</notAfter> </item> </eventsSet> <actionsSet> <item> <code>enable-volume-io</code> <eventId> evol-61a54008</eventId> <eventType>potential-data-inconsistency</eventType> <description>THIS IS AN EXAMPLE</description> </item> </actionsSet> </item> </volumeStatusSet> </DescribeVolumesStatusResponse>


This example describes all the volumes in the us-east-1d Availability Zone with failed io-enabled status.

Sample Request

Copy &Filter.1.Name=availability-zone &Filter.1.Value.1=us-east-1d &Filter.2.Name=volume-status.details-name &Filter.2.Value.1=io-enabled &Filter.3.Name=volume-status.details-status &Filter.3.Value.1=failed &AUTHPARAMS

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: