]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/aviator/lib/puppet/feature/aviator/openstack/volume/requests/v1/public/list_volumes.rb
add aimonb/aviator to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / aviator / lib / puppet / feature / aviator / openstack / volume / requests / v1 / public / list_volumes.rb
1 module Aviator
2
3   define_request :list_volumes, :inherit => [:openstack, :common, :v2, :public, :base] do
4
5     meta :service,        :volume
6     meta :api_version,    :v1
7
8     link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumesSimple_v1__tenant_id__volumes_v1__tenant_id__volumes.html'
9
10     param :all_tenants,         :required => false
11     param :details,             :required => false
12     param :status,              :required => false
13     param :availability_zone,   :required => false
14     param :bootable,            :required => false
15     param :display_name,        :required => false
16     param :display_description, :required => false
17     param :volume_type,         :required => false
18     param :snapshot_id,         :required => false
19     param :size,                :required => false
20
21
22     def headers
23       super
24     end
25
26     def http_method
27       :get
28     end
29
30     def url
31       str  = "#{ base_url }/volumes"
32       str += "/detail" if params[:details]
33
34       filters = []
35
36       (optional_params + required_params - [:details]).each do |param_name|
37         value = param_name == :all_tenants && params[param_name] ? 1 : params[param_name]
38         filters << "#{ param_name }=#{ value }" if value
39       end
40
41       str += "?#{ filters.join('&') }" unless filters.empty?
42
43       str
44     end
45
46   end
47
48 end