create_snapshot ( $opt )

This operation initiates a snapshot of a volume.

AWS Storage Gateway provides the ability to back up point-in-time snapshots of your data to Amazon Simple Storage (S3) for durable off-site recovery, as well as import the data to an Amazon Elastic Block Store (EBS) volume in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway volume on a scheduled or ad-hoc basis. This API enables you to take ad-hoc snapshot. For more information, see Working With Snapshots in the AWS Storage Gateway Console.

In the CreateSnapshot request you identify the volume by providing its Amazon Resource Name (ARN). You must also provide description for the snapshot. When AWS Storage Gateway takes the snapshot of specified volume, the snapshot and description appears in the AWS Storage Gateway Console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, go to DeleteSnapshot and DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

Access

public

Parameters

Parameter

Type

Required

Description

$opt

array

Optional

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

  • VolumeARN - string - Required - The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.
  • SnapshotDescription - string - Required - Textual description of the snapshot that appears in the Amazon EC2 console, Elastic Block Store snapshots panel in the Description field, and in the AWS Storage Gateway snapshot Details pane, Description field
  • 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

Create a Snapshot

$ec2 = new AmazonEC2();
$sg = new AmazonStorageGateway();

// Create a Snapshot
$response = $sg->create_snapshot(array(
	'VolumeARN'           => $volume_arn,
	'SnapshotDescription' => 'example-snapshot',
));
var_dump($response->isOK());
$snapshot_id = (string) $response->body->SnapshotId;

sleep(10);

// Check if snapshot is complete
$response = $ec2->describe_snapshots(array(
	'SnapshotId' => $snapshot_id,
	'Filter'     => array(
		array('Name' => 'status', 'Value' => array('completed'))
	),
));
var_dump($response->body);

Source

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

public function create_snapshot($opt = null)
{
    if (!$opt) $opt = array();
    
    return $this->authenticate('CreateSnapshot', $opt);
}

Copyright © 2010–2013 Amazon Web Services, LLC


Feedback