Skip to content

Rackspace Cloud Block Storage Code Samples

Alan Quillin edited this page May 22, 2013 · 8 revisions

#CloudBlockStorageProvider Here we will provide samples for basic operation on CloudFilesProvider.

ScreenShot

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:

  1. In the constructor.

  2. Into each method individually.

Our samples below will assume the identity has been passed into the constructor.

##Volumes

Create Volume

              var provider = new CloudBlockStorageProvider();
              bool volumeCreatedResponse = provider.CreateVolume(100, "Test Volume Description", 
                                              "Test Volume", null, "SATA", null, cloudIdentity);

List Volumes

              var provider = new CloudBlockStorageProvider();
              IEnumerable<Volume> volumeListResponse = provider.ListVolumes(null, cloudIdentity);

Show Volume

              var provider = new CloudBlockStorageProvider();
              Volume singleVolumeResponse = provider.ShowVolume({volume_id}, null, cloudIdentity);

Delete Volume

              var provider = new CloudBlockStorageProvider();
              bool deleteVolumeResult= provider.DeleteVolume({volume_id}, null, cloudIdentity);

Volume State Helper Methods

Wait For Volume To Be Available

              var provider = new CloudBlockStorageProvider();
              Volume volumeDetails = provider.WaitForVolumeAvailable({volume_id}, null, cloudIdentity);

Wait For Volume To Be Deleted

              var provider = new CloudBlockStorageProvider();
              bool volumeWaitForDeletedResult = provider.WaitForVolumeDeleted({volume_id}, null, cloudIdentity);


Wait For Volume Specific State

              var provider = new CloudBlockStorageProvider();
              Volume volumeWaitForStateResult = provider.WaitForVolumeState({volume_id}, VolumeState.AVAILABLE,
                                                                   new[] { VolumeState.ERROR, VolumeState.ERROR_DELETING }, 
                                                                   10, 5000, null, cloudIdentity);

##Volume Types

List Volume Types

              var provider = new CloudBlockStorageProvider();
              IEnumerable<VolumeType> volumeTypeListResponse = provider.ListVolumeTypes(null, cloudIdentity);

Describe Volume Type

              var provider = new CloudBlockStorageProvider();
              VolumeType describeVolumeTypeResponse = provider.DescribeVolumeType({volume_type_id}, null, cloudIdentity);

##Snapshots

Create Snapshot

              var provider = new CloudBlockStorageProvider();
              bool snapshotCreatedResponse = provider.CreateSnapshot({volume_id}, true, "Test Snapshot Name",
                                                                      "Test Snapshot Description", null,
                                                                      cloudIdentity);

List Snapshots

              var provider = new CloudBlockStorageProvider();
              IEnumerable<Snapshot> snapshotListResponse = provider.ListSnapshots(null, cloudIdentity);

Show Snapshot

              var provider = new CloudBlockStorageProvider();
              Snapshot singleSnapshotResponse = provider.ShowSnapshot({snapshot_id}, null, cloudIdentity);

Delete Snapshot

              var provider = new CloudBlockStorageProvider();
              bool deleteSnapshotResult = provider.DeleteSnapshot({snapshot_id}, null, cloudIdentity);

Snapshot State Helper Methods

Wait For Snapshot To Be Available

              var provider = new CloudBlockStorageProvider();
              Snapshot snapshotDetails = provider.WaitForSnapshotAvailable({snapshot_id}, null, cloudIdentity);

Wait For Snapshot To Be Deleted

              var provider = new CloudBlockStorageProvider();
              bool snapshotWaitForDeletedResult = provider.DeleteSnapshot({snapshot_id}, null, cloudIdentity);


Wait For Specific Snapshot State

              var provider = new CloudBlockStorageProvider();
              Snapshot snapshotWaitForStateResult = provider.WaitForSnapshotState({snapshot_id}, SnapshotState.AVAILABLE,
                                                                   new[] { SnapshotState.ERROR, SnapshotState.ERROR_DELETING }, 
                                                                   10, 5000, null, cloudIdentity);

Clone this wiki locally