]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/aviator/lib/puppet/feature/aviator/openstack/compute/requests/v2/public/list_servers.rb
add aimonb/aviator to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / aviator / lib / puppet / feature / aviator / openstack / compute / requests / v2 / public / list_servers.rb
1 module Aviator
2
3   define_request :list_servers, :inherit => [:openstack, :common, :v2, :public, :base] do
4
5     meta :service, :compute
6
7     link 'documentation',
8          'http://docs.openstack.org/api/openstack-compute/2/content/List_Servers-d1e2078.html'
9
10     link 'documentation',
11          'http://docs.openstack.org/api/openstack-compute/2/content/GET_listServers_v2__tenant_id__servers_compute_servers.html'
12
13     link 'github :issue => getting all servers',
14          'https://github.com/aviator/aviator/issues/35'
15          
16     link 'related mailing list discussion',
17          'https://lists.launchpad.net/openstack/msg24695.html'
18
19     param :all_tenants,    :required => false
20     param :details,        :required => false
21     param :flavor,         :required => false
22     param :image,          :required => false
23     param :limit,          :required => false
24     param :marker,         :required => false
25     param :server,         :required => false
26     param :status,         :required => false
27     param 'changes-since', :required => false, :alias => :changes_since
28
29
30     def headers
31       super
32     end
33
34
35     def http_method
36       :get
37     end
38
39
40     def url
41       str  = "#{ base_url }/servers"
42       str += "/detail" if params[:details]
43
44       filters = []
45
46       (optional_params + required_params - [:details]).each do |param_name|
47         value = param_name == :all_tenants && params[param_name] ? 1 : params[param_name] 
48         filters << "#{ param_name }=#{ value }" if value
49       end
50
51       str += "?#{ filters.join('&') }" unless filters.empty?
52
53       str
54     end
55
56   end
57
58 end