X-Git-Url: https://git.donarmstrong.com/?p=dsa-puppet.git;a=blobdiff_plain;f=3rdparty%2Fmodules%2Faviator%2Ffeature%2Faviator%2Fopenstack%2Fvolume%2Fv1%2Fpublic%2Flist_volumes.rb;fp=3rdparty%2Fmodules%2Faviator%2Ffeature%2Faviator%2Fopenstack%2Fvolume%2Fv1%2Fpublic%2Flist_volumes.rb;h=c88cf75003e768298d9298370adb15fd93b3d060;hp=0000000000000000000000000000000000000000;hb=4631045ebb77ee8622f6fa09277a50c372bcc02e;hpb=3d4dc4fd9e59bd0e07646c99f6b356c7d9d859aa diff --git a/3rdparty/modules/aviator/feature/aviator/openstack/volume/v1/public/list_volumes.rb b/3rdparty/modules/aviator/feature/aviator/openstack/volume/v1/public/list_volumes.rb new file mode 100644 index 00000000..c88cf750 --- /dev/null +++ b/3rdparty/modules/aviator/feature/aviator/openstack/volume/v1/public/list_volumes.rb @@ -0,0 +1,48 @@ +module Aviator + + define_request :list_volumes, :inherit => [:openstack, :common, :v2, :public, :base] do + + meta :service, :volume + meta :api_version, :v1 + + link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumesSimple_v1__tenant_id__volumes_v1__tenant_id__volumes.html' + + param :all_tenants, :required => false + param :details, :required => false + param :status, :required => false + param :availability_zone, :required => false + param :bootable, :required => false + param :display_name, :required => false + param :display_description, :required => false + param :volume_type, :required => false + param :snapshot_id, :required => false + param :size, :required => false + + + def headers + super + end + + def http_method + :get + end + + def url + str = "#{ base_url }/volumes" + str += "/detail" if params[:details] + + filters = [] + + (optional_params + required_params - [:details]).each do |param_name| + value = param_name == :all_tenants && params[param_name] ? 1 : params[param_name] + filters << "#{ param_name }=#{ value }" if value + end + + str += "?#{ filters.join('&') }" unless filters.empty? + + str + end + + end + +end