X-Git-Url: https://git.donarmstrong.com/?p=dsa-puppet.git;a=blobdiff_plain;f=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Faviator%2Fopenstack%2Fimage%2Frequests%2Fv1%2Fpublic%2Flist_public_images.rb;fp=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Faviator%2Fopenstack%2Fimage%2Frequests%2Fv1%2Fpublic%2Flist_public_images.rb;h=2164d73eb5d85a1093fc9388a86c9f545c720118;hp=0000000000000000000000000000000000000000;hb=b7626cbcbb2fb8e7ce3dc5ac60e80a981175f9d3;hpb=8132e6bb1199463f5e334326659c974d4772b3e3 diff --git a/3rdparty/modules/aviator/lib/puppet/feature/aviator/openstack/image/requests/v1/public/list_public_images.rb b/3rdparty/modules/aviator/lib/puppet/feature/aviator/openstack/image/requests/v1/public/list_public_images.rb new file mode 100644 index 00000000..2164d73e --- /dev/null +++ b/3rdparty/modules/aviator/lib/puppet/feature/aviator/openstack/image/requests/v1/public/list_public_images.rb @@ -0,0 +1,45 @@ +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