1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

Add list_volumes for block storage.

This commit is contained in:
Rupak Ganguly 2012-07-05 13:10:13 -04:00
parent 4d42931b4c
commit e1f91c4115

View file

@ -0,0 +1,52 @@
module Fog
module BlockStorage
class HP
class Real
# List existing block storage volumes
#
# ==== Parameters
# None
#
# ==== Returns
# * response<~Excon::Response>:
# * body<~Array>:
# * volumes<~Hash>:
# * 'id'<~Integer>: - Id for the volume
# * 'displayName'<~String>: - Name of the volume
# * 'displayDescription'<~String>: - Description of the volume
# * 'size'<~Integer>: - Size in GB for the volume
# * 'status'<~String>: - Status of the volume i.e. "available"
# * 'volumeType'<~String>: - Type of the volume
# * 'snapshotId'<~String>: - Id of the volume snapshot
# * 'createdAt'<~String>: - Timestamp in UTC when volume was created
# * 'availabilityZone'<~String>: - Availability zone i.e. "nova"
# * attachments<~Array>: Array of hashes of attachments
# * metadata<~Hash>: Hash of metadata for the volume
def list_volumes
response = request(
:expects => 200,
:method => 'GET',
:path => 'os-volumes'
)
response
end
end
class Mock # :nodoc:all
def list_volumes
response = Excon::Response.new
volumes = []
volumes = self.data[:volumes].values unless self.data[:volumes].nil?
response.status = 200
response.body = { 'volumes' => volumes }
response
end
end
end
end
end