mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
Add list_server_volumes request method for block storage service.
This commit is contained in:
parent
9e9dd62c56
commit
8e7f54265d
1 changed files with 49 additions and 0 deletions
49
lib/fog/hp/requests/compute/list_server_volumes.rb
Normal file
49
lib/fog/hp/requests/compute/list_server_volumes.rb
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
module Fog
|
||||||
|
module Compute
|
||||||
|
class HP
|
||||||
|
class Real
|
||||||
|
|
||||||
|
# List all volumes attached to a server
|
||||||
|
#
|
||||||
|
# ==== Parameters
|
||||||
|
# * server_id<~Integer> - Id of server to list attached volumes for
|
||||||
|
#
|
||||||
|
# ==== Returns
|
||||||
|
# * response<~Excon::Response>:
|
||||||
|
# * body<~Hash>:
|
||||||
|
# * 'volumeAttachments'<~Array>:
|
||||||
|
# * <~Hash>
|
||||||
|
# * 'device':<~String> - The name of the device
|
||||||
|
# * 'serverId':<~Integer> - The server id to which thsi volume is attached
|
||||||
|
# * 'id':<~Integer> - The volume id
|
||||||
|
# * 'volumeId':<~Integer> - The volume id
|
||||||
|
def list_server_volumes(server_id)
|
||||||
|
response = request(
|
||||||
|
:expects => 200,
|
||||||
|
:method => 'GET',
|
||||||
|
:path => "servers/#{server_id}/os-volume_attachments"
|
||||||
|
)
|
||||||
|
response
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
class Mock # :nodoc:all
|
||||||
|
|
||||||
|
def list_server_volumes(server_id)
|
||||||
|
response = Excon::Response.new
|
||||||
|
volumes = []
|
||||||
|
if server = self.data[:servers][server_id]
|
||||||
|
volumes = server['volumeAttachments']
|
||||||
|
response.status = 200
|
||||||
|
response.body = { 'volumeAttachments' => volumes }
|
||||||
|
response
|
||||||
|
else
|
||||||
|
raise Fog::Compute::HP::NotFound
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue