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