describe_snapshots ( $opt )

Returns information about 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.

Access

public

Parameters

Parameter

Type

Required

Description

$opt

array

Optional

An associative array of parameters that can have the following keys:

  • SnapshotId - string|array - Optional - The optional list of EBS snapshot IDs to describe. Pass a string for a single value, or an indexed array for multiple values.
  • Owner - string|array - Optional - The optional list of EBS snapshot owners. Pass a string for a single value, or an indexed array for multiple values.
  • RestorableBy - string|array - Optional - The optional list of users who have permission to create volumes from the described EBS snapshots. Pass a string for a single value, or an indexed array for multiple values.
  • Filter - array - Optional - A list of filters used to match properties for Snapshots. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
    • x - array - Optional - This represents a simple array index.
      • Name - string - Optional - Specifies the name of the filter.
      • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.

Returns

Type

Description

CFResponse

A CFResponse object containing a parsed HTTP response.

Examples

Describe snapshots that are owned by you.

$ec2 = new AmazonEC2();

$response = $ec2->describe_snapshots(array(
	'Owner' => 'self'
));

var_dump($response->isOK());
Result:
bool(true)

Describe images that are owned by yourself or Amazon, and restorable by you.

$ec2 = new AmazonEC2();

$response = $ec2->describe_snapshots(array(
	'Owner' => array(
		'self',
		'amazon'
	),
	'RestorableBy' => CFCredentials::get('@default')->account_id
));

var_dump($response->isOK());
Result:
bool(true)

Filter snapshots.

$ec2 = new AmazonEC2();

$response = $ec2->describe_snapshots(array(
	'Filter' => array(
		array('Name' => 'status', 'Value' => 'pending')
	)
));

var_dump($response->isOK());
Result:
bool(true)

Related Methods

Source

Method defined in services/ec2.class.php | Toggle source view (42 lines) | View on GitHub

public function describe_snapshots($opt = null)
{
    if (!$opt) $opt = array();
            
    // Optional list (non-map)
    if (isset($opt['SnapshotId']))
    {
        $opt = array_merge($opt, CFComplexType::map(array(
            'SnapshotId' => (is_array($opt['SnapshotId']) ? $opt['SnapshotId'] : array($opt['SnapshotId']))
        )));
        unset($opt['SnapshotId']);
    }
    
    // Optional list (non-map)
    if (isset($opt['Owner']))
    {
        $opt = array_merge($opt, CFComplexType::map(array(
            'Owner' => (is_array($opt['Owner']) ? $opt['Owner'] : array($opt['Owner']))
        )));
        unset($opt['Owner']);
    }
    
    // Optional list (non-map)
    if (isset($opt['RestorableBy']))
    {
        $opt = array_merge($opt, CFComplexType::map(array(
            'RestorableBy' => (is_array($opt['RestorableBy']) ? $opt['RestorableBy'] : array($opt['RestorableBy']))
        )));
        unset($opt['RestorableBy']);
    }
    
    // Optional list + map
    if (isset($opt['Filter']))
    {
        $opt = array_merge($opt, CFComplexType::map(array(
            'Filter' => $opt['Filter']
        )));
        unset($opt['Filter']);
    }

    return $this->authenticate('DescribeSnapshots', $opt);
}

Copyright © 2010–2013 Amazon Web Services, LLC


Feedback