lib/aviator/openstack/image/requests/v1/public/list_public_images.rb
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