Amazon Elastic Compute Cloud
API Reference (API Version 2013-02-01)
« PreviousNext »
View the PDF for this guide.Go to the AWS Discussion Forum for this product.Did this page help you?  Yes | No |  Tell us about it...

DescribeSnapshots

Description

Describes one or more of the Amazon EBS snapshots available to you. Snapshots available to you include public snapshots available for any AWS account to launch, private snapshots you own, and private snapshots owned by another AWS account but for which you've been given explicit create volume permissions.

The create volume permissions fall into 3 categories:

public

The owner of the snapshot granted create volume permissions for the snapshot to the all group. All AWS accounts have create volume permissions for these snapshots.

explicit

The owner of the snapshot granted create volume permissions to a specific AWS account.

implicit

An AWS account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be modified by specifying snapshot IDs, snapshot owners, or AWS accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it will not be included in the returned results.

If you specify one or more snapshot owners, only snapshots from the specified owners and for which you have access are returned. The results can include the AWS account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify AWS account IDs (if you own the snapshot(s)), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

Request Parameters

SnapshotId.n

One or more snapshot IDs.

Type: String

Default: Describes snapshots for which you have launch permissions.

Required: No

Owner.n

Returns the snapshots owned by the specified owner. Multiple owners can be specified.

Type: String

Valid values: self | amazon | AWS Account ID

Default: None

Required: No

RestorableBy.n

One or more AWS accounts IDs that can create volumes from the snapshot.

Type: String

Default: None

Required: No

Filter.n.Name

The name of a filter. See the Supported Filters section for a list of supported filter names.

Type: String

Default: None

Required: No

Filter.n.Value.m

A value for the filter. See the Supported Filters section for a list of supported values for each filter.

Type: String

Default: None

Required: No

Supported Filters

You can specify filters so that the response includes information for only certain snapshots. For example, you can use a filter to specify that you're interested in snapshots whose status is pending. You can specify multiple values for a filter. The response includes information for a snapshot only if it matches at least one of the filter values that you specified.

You can specify multiple filters; for example, specify snapshot's that have a pending status, and have a specific tag. The response includes information for a snapshot only if it matches all the filters that you specified. If there's no match, no special message is returned, the response is simply empty.

You can use wildcards in a filter value. An asterisk (*) matches zero or more characters, and a question mark (?) matches exactly one character. You can escape special characters using a backslash (\) before the character. For example, a value of \*amazon\?\\ searches for the literal string *amazon?\.

The following are the available filters.

description

A description of the snapshot.

Type: String

owner-alias

The AWS account alias (for example, amazon) that owns the snapshot.

Type: String

owner-id

The ID of the AWS account that owns the snapshot.

Type: String

progress

The progress of the snapshot, as a percentage (for example, 80%).

Type: String

snapshot-id

The snapshot ID.

Type: String

start-time

The time stamp when the snapshot was initiated.

Type: DateTime

status

The status of the snapshot.

Type: String

Valid values: pending | completed | error

tag-key

The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key filter.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

Type: String

tag-value

The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

Type: String

tag:key

Filters the response based on a specific tag/value combination.

Example: To list just the resources that have been assigned tag Purpose=X, specify:

Filter.1.Name=tag:Purpose

Filter.1.Value.1=X

Example: To list just resources that have been assigned tag Purpose=X OR Purpose=Y, specify:

Filter.1.Name=tag:Purpose

Filter.1.Value.1=X

Filter.1.Value.2=Y

volume-id

The ID of the volume the snapshot is for.

Type: String

volume-size

The size of the volume, in GiB (for example, 20).

Type: String

Response Elements

The following elements are returned in a DescribeSnapshotsResponse element.

requestId

The ID of the request.

Type: xsd:string

snapshotSet

A list of snapshots. Each snapshot is wrapped in an item element.

Type: DescribeSnapshotsSetItemResponseType

Examples

Example Request

This example describes snapshot snap-1a2b3c4d.

https://ec2.amazonaws.com/?Action=DescribeSnapshots
&SnapshotId=snap-1a2b3c4d
&AUTHPARAMS

Example Response

<DescribeSnapshotsResponse xmlns="http://ec2.amazonaws.com/doc/2013-02-01/">
   <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId> 
   <snapshotSet>
      <item>
         <snapshotId>snap-1a2b3c4d</snapshotId>
         <volumeId>vol-1a2b3c4d</volumeId>
         <status>pending</status>
         <startTime>YYYY-MM-DDTHH:MM:SS.SSSZ</startTime>
         <progress>80%</progress>
         <ownerId>111122223333</ownerId>
         <volumeSize>15</volumeSize>
         <description>Daily Backup</description>
         <tagSet/>
      </item>
   </snapshotSet>
</DescribeSnapshotsResponse>

Example Request

This example filters the response to include only snapshots with the pending status, and that are also tagged with a value that includes the string db_.

https://ec2.amazonaws.com/?Action=DescribeSnapshots
&Filter.1.Name=status
&Filter.1.Value.1=pending
&Filter.2.Name=tag-value
&Filter.2.Value.1=*db_*
&AUTHPARAMS

Example Response

<DescribeSnapshotsResponse xmlns="http://ec2.amazonaws.com/doc/2013-02-01/">
   <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId> 
   <snapshotSet>
      <item>
         <snapshotId>snap-1a2b3c4d</snapshotId>
         <volumeId>vol-1a2b3c4d</volumeId>
         <status>pending</status>
         <startTime>YYYY-MM-DDTHH:MM:SS.SSSZ</startTime>
         <progress>30%</progress>
         <ownerId>111122223333</ownerId>
         <volumeSize>15</volumeSize>
         <description>Daily Backup</description>
         <tagSet>
            <item>
               <key>Purpose</key>
               <value>demo_db_14_backup</value>
            </item>
         </tagSet>
      </item>
   </snapshotSet>
</DescribeSnapshotsResponse>