2012-08-23 15:03:28 -04:00
|
|
|
module Fog
|
|
|
|
module Rackspace
|
|
|
|
class BlockStorage
|
|
|
|
class Real
|
2013-03-21 16:40:24 -04:00
|
|
|
|
|
|
|
# Retrieves snapshot detail
|
|
|
|
# @param [String] snapshot_id
|
2013-03-22 16:59:03 -04:00
|
|
|
# @return [Excon::Response] response:
|
2013-03-25 12:06:11 -04:00
|
|
|
# * body [Hash]:
|
|
|
|
# * 'snapshot' [Hash]:
|
|
|
|
# * 'volume_id' [String]: - volume_id of the snapshot
|
|
|
|
# * 'display_description' [String]: - snapshot display description
|
|
|
|
# * 'status' [String]: - snapshot status
|
|
|
|
# * 'os-extended-snapshot-attributes:project_id' [String]: -
|
|
|
|
# * 'id' [String]: - snapshot id
|
|
|
|
# * 'size' [Fixnum]: - size of the snapshot in GB
|
|
|
|
# * 'os-extended-snapshot-attributes:progress' [String]: -
|
|
|
|
# * 'display_name' [String]: - display name of snapshot
|
|
|
|
# * 'created_at' [String]: - creation time of snapshot
|
2013-04-15 14:12:14 -04:00
|
|
|
# @raise [Fog::Rackspace::BlockStorage::NotFound] - HTTP 404
|
|
|
|
# @raise [Fog::Rackspace::BlockStorage::BadRequest] - HTTP 400
|
|
|
|
# @raise [Fog::Rackspace::BlockStorage::InternalServerError] - HTTP 500
|
|
|
|
# @raise [Fog::Rackspace::BlockStorage::ServiceError]
|
2013-03-21 16:40:24 -04:00
|
|
|
# @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getSnapshot__v1__tenant_id__snapshots.html
|
2012-08-23 15:03:28 -04:00
|
|
|
def get_snapshot(snapshot_id)
|
|
|
|
request(
|
|
|
|
:expects => [200],
|
|
|
|
:method => 'GET',
|
|
|
|
:path => "snapshots/#{snapshot_id}"
|
|
|
|
)
|
|
|
|
end
|
|
|
|
end
|
2013-01-11 16:06:58 -05:00
|
|
|
|
|
|
|
class Mock
|
|
|
|
def get_snapshot(snapshot_id)
|
|
|
|
snapshot = self.data[:snapshots][snapshot_id]
|
|
|
|
if snapshot.nil?
|
|
|
|
raise Fog::Rackspace::BlockStorage::NotFound
|
|
|
|
else
|
|
|
|
response(:body => {"snapshot" => snapshot})
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2012-08-23 15:03:28 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|