From f0b7bf10f3d95f74cf6f96c8e96df11fbcc45c2a Mon Sep 17 00:00:00 2001 From: Mark Maglana Date: Mon, 23 Sep 2013 00:09:59 -0700 Subject: [PATCH] Update metering and volume request files to use inheritance. --- .../metering/v1/admin/list_projects.rb | 15 ++++-------- .../volume/v1/public/create_volume.rb | 12 ++++------ .../volume/v1/public/delete_volume.rb | 13 ++++------- .../openstack/volume/v1/public/get_volume.rb | 10 +++----- .../volume/v1/public/list_volume_types.rb | 9 +++----- .../volume/v1/public/list_volumes.rb | 23 ++++--------------- .../volume/v1/public/update_volume.rb | 14 +++++------ 7 files changed, 28 insertions(+), 68 deletions(-) diff --git a/lib/aviator/openstack/metering/v1/admin/list_projects.rb b/lib/aviator/openstack/metering/v1/admin/list_projects.rb index 7dc8a57..b280644 100644 --- a/lib/aviator/openstack/metering/v1/admin/list_projects.rb +++ b/lib/aviator/openstack/metering/v1/admin/list_projects.rb @@ -1,20 +1,14 @@ module Aviator - define_request :list_projects do + define_request :list_projects, inherit: [:openstack, :common, :v2, :admin, :base] do - meta :provider, :openstack meta :service, :metering meta :api_version, :v1 meta :endpoint_type, :admin + def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -24,8 +18,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - uri = URI(service_spec[:endpoints][0][:adminURL]) + uri = URI(base_url_for(:admin)) "#{ uri.scheme }://#{ uri.host }:#{ uri.port.to_s }/v1/projects" end diff --git a/lib/aviator/openstack/volume/v1/public/create_volume.rb b/lib/aviator/openstack/volume/v1/public/create_volume.rb index 6643e42..d7ab33c 100644 --- a/lib/aviator/openstack/volume/v1/public/create_volume.rb +++ b/lib/aviator/openstack/volume/v1/public/create_volume.rb @@ -1,10 +1,9 @@ module Aviator - define_request :create_volume do - meta :provider, :openstack + define_request :create_volume, inherit: [:openstack, :common, :v2, :public, :base] do + meta :service, :volume meta :api_version, :v1 - meta :endpoint_type, :public link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/POST_createVolume_v1__tenant_id__volumes_v1__tenant_id__volumes.html' @@ -33,9 +32,7 @@ module Aviator end def headers - {}.tap do |h| - h['X-Auth-Token'] = session_data[:access][:token][:id] unless self.anonymous? - end + super end def http_method @@ -43,8 +40,7 @@ module Aviator end def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - "#{ service_spec[:endpoints][0][:publicURL] }/volumes" + "#{ base_url_for :public }/volumes" end end diff --git a/lib/aviator/openstack/volume/v1/public/delete_volume.rb b/lib/aviator/openstack/volume/v1/public/delete_volume.rb index 038d477..96d5cb4 100644 --- a/lib/aviator/openstack/volume/v1/public/delete_volume.rb +++ b/lib/aviator/openstack/volume/v1/public/delete_volume.rb @@ -1,19 +1,16 @@ module Aviator - define_request :delete_volume do - meta :provider, :openstack + define_request :delete_volume, inherit: [:openstack, :common, :v2, :public, :base] do + meta :service, :volume meta :api_version, :v1 - meta :endpoint_type, :public link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/DELETE_deleteVolume_v1__tenant_id__volumes__volume_id__v1__tenant_id__volumes.html' param :id, required: true def headers - {}.tap do |h| - h['X-Auth-Token'] = session_data[:access][:token][:id] unless self.anonymous? - end + super end def http_method @@ -21,9 +18,7 @@ module Aviator end def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - - "#{ service_spec[:endpoints][0][:publicURL] }/volumes/#{ params[:id] }" + "#{ base_url_for :public }/volumes/#{ params[:id] }" end end diff --git a/lib/aviator/openstack/volume/v1/public/get_volume.rb b/lib/aviator/openstack/volume/v1/public/get_volume.rb index 1287b81..93151f0 100644 --- a/lib/aviator/openstack/volume/v1/public/get_volume.rb +++ b/lib/aviator/openstack/volume/v1/public/get_volume.rb @@ -1,6 +1,6 @@ module Aviator - define_request :get_volume do + define_request :get_volume, inherit: [:openstack, :common, :v2, :public, :base] do meta :provider, :openstack meta :service, :volume meta :api_version, :v1 @@ -11,9 +11,7 @@ module Aviator param :id, required: true def headers - {}.tap do |h| - h['X-Auth-Token'] = session_data[:access][:token][:id] unless self.anonymous? - end + super end def http_method @@ -21,9 +19,7 @@ module Aviator end def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - - "#{ service_spec[:endpoints][0][:publicURL] }/volumes/#{ params[:id] }" + "#{ base_url_for :public }/volumes/#{ params[:id] }" end diff --git a/lib/aviator/openstack/volume/v1/public/list_volume_types.rb b/lib/aviator/openstack/volume/v1/public/list_volume_types.rb index dda7da9..85414b5 100644 --- a/lib/aviator/openstack/volume/v1/public/list_volume_types.rb +++ b/lib/aviator/openstack/volume/v1/public/list_volume_types.rb @@ -1,6 +1,6 @@ module Aviator - define_request :list_volume_types do + define_request :list_volume_types, inherit: [:openstack, :common, :v2, :public, :base] do meta :provider, :openstack meta :service, :volume @@ -13,9 +13,7 @@ module Aviator param :name, required: false def headers - {}.tap do |h| - h['X-Auth-Token'] = session_data[:access][:token][:id] unless self.anonymous? - end + super end def http_method @@ -23,8 +21,7 @@ module Aviator end def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - "#{ service_spec[:endpoints][0][:publicURL] }/types" + "#{ base_url_for :public }/types" end end diff --git a/lib/aviator/openstack/volume/v1/public/list_volumes.rb b/lib/aviator/openstack/volume/v1/public/list_volumes.rb index 2649138..482ff95 100644 --- a/lib/aviator/openstack/volume/v1/public/list_volumes.rb +++ b/lib/aviator/openstack/volume/v1/public/list_volumes.rb @@ -1,11 +1,9 @@ module Aviator - define_request :list_volumes do + define_request :list_volumes, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack meta :service, :volume meta :api_version, :v1 - meta :endpoint_type, :public link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumesSimple_v1__tenant_id__volumes_v1__tenant_id__volumes.html' @@ -21,9 +19,7 @@ module Aviator def headers - {}.tap do |h| - h['X-Auth-Token'] = session_data[:access][:token][:id] unless self.anonymous? - end + super end def http_method @@ -31,20 +27,9 @@ module Aviator end def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - - str = "#{ service_spec[:endpoints][0][:publicURL] }/volumes" + str = "#{ base_url_for :public }/volumes" str += "/detail" if params[:details] - - filters = [] - - (optional_params + required_params - [:details]).each do |param_name| - filters << "#{ param_name }=#{ params[param_name] }" if params[param_name] - end - - str += "?#{ filters.join('&') }" unless filters.empty? - - str + str += params_to_querystring(optional_params + required_params - [:details]) end end diff --git a/lib/aviator/openstack/volume/v1/public/update_volume.rb b/lib/aviator/openstack/volume/v1/public/update_volume.rb index 3227464..524003c 100644 --- a/lib/aviator/openstack/volume/v1/public/update_volume.rb +++ b/lib/aviator/openstack/volume/v1/public/update_volume.rb @@ -1,11 +1,9 @@ module Aviator - define_request :update_volume do + define_request :update_volume, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack meta :service, :volume meta :api_version, :v1 - meta :endpoint_type, :public link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/PUT_renameVolume_v1__tenant_id__volumes__volume_id__v1__tenant_id__volumes.html' @@ -13,6 +11,7 @@ module Aviator param :display_name, required: false param :display_description, required: false + def body p = { volume: {} } @@ -25,18 +24,17 @@ module Aviator def headers - {}.tap do |h| - h['X-Auth-Token'] = session_data[:access][:token][:id] unless self.anonymous? - end + super end + def http_method :put end + def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - "#{ service_spec[:endpoints][0][:publicURL] }/volumes/#{ params[:id] }" + "#{ base_url_for :public }/volumes/#{ params[:id] }" end end