update_snapshot_schedule ( $opt )

This operation updates a snapshot schedule configured for a gateway volume.

The default snapshot schedule for volume is once every 24 hours, starting at the creation time of the volume. You can use this API to change the shapshot schedule configured for the volume.

In the request you must identify the gateway volume whose snapshot schedule you want to update, and the schedule information, including when you want the snapshot to begin on a day and the frequency (in hours) of snapshots.

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.
  • StartAt - integer - Required - The hour of the day at which the snapshot schedule begins represented as hh, where hh is the hour (0 to 23). The hour of the day is in the time zone of the gateway.
  • RecurrenceInHours - integer - Required - Frequency of snapshots. Specify the number of hours between snapshots.
  • Description - string - Optional - Optional description of the snapshot that overwrites the existing description.
  • 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

Volumes and Snapshots

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

// Get network interface ID
$response = $sg->describe_gateway_information(array('GatewayARN' => $gateway_arn));
var_dump($response->isOK());
$network_interface_id = (string) $response->body->GatewayNetworkInterfaces->Ipv4Address;

// Get local disk
$response = $sg->list_local_disks(array('GatewayARN' => $gateway_arn));
var_dump($response->isOK());
$disks = $response->body->DiskId()->map_string();
$disk_id = $disks[1];

// List iSCSI volumes
$response = $sg->list_volumes(array('GatewayARN' => $gateway_arn));
var_dump($response->isOK());

// Add iSCSI volume
$response = $sg->create_stored_iscsi_volume(array(
	'GatewayARN'           => $gateway_arn,
	'DiskId'               => $disk_id,
	'NetworkInterfaceId'   => $network_interface_id,
	'PreserveExistingData' => true,
	'TargetName'           => 'aws-sdk-php-test-volume-01',
));
var_dump($response->isOK());
$volume_arn = (string) $response->body->VolumeARN;
$target_arn = (string) $response->body->TargetARN;

// Wait until volume is available
do
{
	sleep(20); echo '.';
	$response = $sg->describe_stored_iscsi_volumes(array('VolumeARNs' => array($volume_arn)));
	$status = $response->body->VolumeStatus()->map_string();
	$status = (string) reset($status);
} while ($status !== 'AVAILABLE');

// List iSCSI volumes
$response = $sg->list_volumes(array('GatewayARN' => $gateway_arn));
var_dump($response->isOK());

// Update snapshot schedule
$response = $sg->update_snapshot_schedule(array(
	'VolumeARN'         => $volume_arn,
	'StartAt'           => 0,
	'RecurrenceInHours' => 24,
	"Description"       => 'daily snapshot',
));
var_dump($response->isOK());

// Describe snapshot schedule
$response = $sg->describe_snapshot_schedule(array(
	'VolumeARN' => $volume_arn,
));
var_dump($response->isOK());

// Update chap credentials
$response = $sg->update_chap_credentials(array(
	'TargetARN'                     => $target_arn,
	'SecretToAuthenticateInitiator' => '111111111111',
	'InitiatorName'                 => 'example-initiator',
	'SecretToAuthenticateTarget'    => '222222222222',
));
var_dump($response->isOK());

// Describe chap credentials
$response = $sg->describe_chap_credentials(array(
	'TargetARN' => $target_arn,
));
var_dump($response->isOK());

// Delete chap credentials
$response = $sg->delete_chap_credentials(array(
	'TargetARN'     => $target_arn,
	'InitiatorName' => 'example-initiator',
));
var_dump($response->isOK());

// Delete iSCSI volume
$response = $sg->delete_volume(array(
	'VolumeARN'  => $volume_arn,
));
var_dump($response->isOK());

// List iSCSI volumes
$response = $sg->list_volumes(array('GatewayARN' => $gateway_arn));
var_dump($response->isOK());

Source

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

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

Copyright © 2010–2013 Amazon Web Services, LLC


Feedback