-
Notifications
You must be signed in to change notification settings - Fork 101
Rackspace Cloud Block Storage Code Samples
Alan Quillin edited this page Apr 25, 2014
·
9 revisions
#CloudBlockStorageProvider
Here we will provide samples for basic operation on CloudFilesProvider
.
CloudBlockStorageProvider
requires we pass in CloudIdentity
.
We can create CloudIdentity
by passing any 2 combination. Username/Password or Username/APIKey.
var cloudIdentity = new CloudIdentity() { Username = "username", Password = "password" };
or
var cloudIdentity = new CloudIdentity() { APIKey = "apikey", Username = "username" };
For more information on IdentityProvider
There are 2 ways to pass in the identity credentials to CloudBlockStorageProvider
:
-
In the constructor.
-
Into each method individually.
Our samples below will assume the identity has been passed into the constructor.
##Volumes
var provider = new CloudBlockStorageProvider();
bool volumeCreatedResponse = provider.CreateVolume(100, "Test Volume Description",
"Test Volume", null, "SATA", null, cloudIdentity);
var provider = new CloudBlockStorageProvider();
IEnumerable<Volume> volumeListResponse = provider.ListVolumes(null, cloudIdentity);
var provider = new CloudBlockStorageProvider();
Volume singleVolumeResponse = provider.ShowVolume({volume_id}, null, cloudIdentity);
var provider = new CloudBlockStorageProvider();
bool deleteVolumeResult= provider.DeleteVolume({volume_id}, null, cloudIdentity);
var provider = new CloudBlockStorageProvider();
Volume volumeDetails = provider.WaitForVolumeAvailable({volume_id}, null, cloudIdentity);
var provider = new CloudBlockStorageProvider();
bool volumeWaitForDeletedResult = provider.WaitForVolumeDeleted({volume_id}, null, cloudIdentity);
var provider = new CloudBlockStorageProvider();
Volume volumeWaitForStateResult = provider.WaitForVolumeState({volume_id}, VolumeState.AVAILABLE,
new[] { VolumeState.ERROR, VolumeState.ERROR_DELETING },
10, 5000, null, cloudIdentity);
##Volume Types
var provider = new CloudBlockStorageProvider();
IEnumerable<VolumeType> volumeTypeListResponse = provider.ListVolumeTypes(null, cloudIdentity);
var provider = new CloudBlockStorageProvider();
VolumeType describeVolumeTypeResponse = provider.DescribeVolumeType({volume_type_id}, null, cloudIdentity);
##Snapshots
var provider = new CloudBlockStorageProvider();
bool snapshotCreatedResponse = provider.CreateSnapshot({volume_id}, true, "Test Snapshot Name",
"Test Snapshot Description", null,
cloudIdentity);
var provider = new CloudBlockStorageProvider();
IEnumerable<Snapshot> snapshotListResponse = provider.ListSnapshots(null, cloudIdentity);
var provider = new CloudBlockStorageProvider();
Snapshot singleSnapshotResponse = provider.ShowSnapshot({snapshot_id}, null, cloudIdentity);
var provider = new CloudBlockStorageProvider();
bool deleteSnapshotResult = provider.DeleteSnapshot({snapshot_id}, null, cloudIdentity);
var provider = new CloudBlockStorageProvider();
Snapshot snapshotDetails = provider.WaitForSnapshotAvailable({snapshot_id}, null, cloudIdentity);
var provider = new CloudBlockStorageProvider();
bool snapshotWaitForDeletedResult = provider.DeleteSnapshot({snapshot_id}, null, cloudIdentity);
var provider = new CloudBlockStorageProvider();
Snapshot snapshotWaitForStateResult = provider.WaitForSnapshotState({snapshot_id}, SnapshotState.AVAILABLE,
new[] { SnapshotState.ERROR, SnapshotState.ERROR_DELETING },
10, 5000, null, cloudIdentity);