This operation delete the specified gateway volume that you previously created using the
CreateStorediSCSIVolume
API. For gateway-stored volumes, the local disk that was
configured as the storage volume is not deleted. You can reuse the local disk to create another
storage volume.
Before you delete a gateway volume, make sure there are no iSCSI connections to the volume you are deleting. You should also make sure there is no snapshot in progress. You can use the Amazon Elastic Compute Cloud (Amazon EC2) API to query snapshots on the volume you are deleting and check the snapshot status. For more information, go to DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.
In the request, you must provide the Amazon Resource Name (ARN) of the storage volume you want to delete.
Access
public
Parameters
Parameter |
Type |
Required |
Description |
---|---|---|---|
|
Optional |
An associative array of parameters that can have the following keys:
|
Returns
Type |
Description |
---|---|
A |
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