This operation lists the iSCSI stored volumes of a gateway. Results are sorted by volume ARN.
The response includes only the volume ARNs. If you want additional volume information, use the
DescribeStorediSCSIVolumes
API.
The operation supports pagination. By default, the operation returns a maximum of up to 100
volumes. You can optionally specify the Limit
field in the body to limit the
number of volumes in the response. If the number of volumes returned in the response is
truncated, the response includes a Marker field. You can use this Marker value in your
subsequent request to retrieve the next set of volumes.
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