]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/aviator/feature/aviator/openstack/image/v1/public/list_public_images.rb
add aimonb/aviator to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / aviator / feature / aviator / openstack / image / v1 / public / list_public_images.rb
1 module Aviator
2
3   define_request :list_public_images, :inherit => [:openstack, :common, :v2, :public, :base] do
4
5     meta :service,        :image
6     meta :api_version,    :v1
7
8     link 'documentation', 'http://docs.openstack.org/api/openstack-image-service/1.1/content/requesting-a-list-of-public-vm-images.html'
9
10     param :name,             :required => false
11     param :container_format, :required => false
12     param :disk_format,      :required => false
13     param :status,           :required => false
14     param :size_min,         :required => false
15     param :size_max,         :required => false
16     param :sort_key,         :required => false
17     param :sort_dir,         :required => false
18
19
20     def headers
21       super
22     end
23
24     def http_method
25       :get
26     end
27
28     def url
29       uri = URI(base_url)
30       url = "#{ uri.scheme }://#{ uri.host }:#{ uri.port.to_s }/v1/images"
31
32       filters = []
33
34       optional_params.each do |param_name|
35         filters << "#{ param_name }=#{ params[param_name] }" if params[param_name]
36       end
37
38       url += "?#{ filters.join('&') }" unless filters.empty?
39
40       url
41     end
42
43   end
44
45 end