--- /dev/null
+module Aviator
+
+ define_request :list_public_images, :inherit => [:openstack, :common, :v2, :public, :base] do
+
+ meta :service, :image
+ meta :api_version, :v1
+
+ link 'documentation', 'http://docs.openstack.org/api/openstack-image-service/1.1/content/requesting-a-list-of-public-vm-images.html'
+
+ param :name, :required => false
+ param :container_format, :required => false
+ param :disk_format, :required => false
+ param :status, :required => false
+ param :size_min, :required => false
+ param :size_max, :required => false
+ param :sort_key, :required => false
+ param :sort_dir, :required => false
+
+
+ def headers
+ super
+ end
+
+ def http_method
+ :get
+ end
+
+ def url
+ uri = URI(base_url)
+ url = "#{ uri.scheme }://#{ uri.host }:#{ uri.port.to_s }/v1/images"
+
+ filters = []
+
+ optional_params.each do |param_name|
+ filters << "#{ param_name }=#{ params[param_name] }" if params[param_name]
+ end
+
+ url += "?#{ filters.join('&') }" unless filters.empty?
+
+ url
+ end
+
+ end
+
+end