Update metering and volume request files to use inheritance.

This commit is contained in:
Mark Maglana
2013-09-23 00:09:59 -07:00
parent ced249ed02
commit f0b7bf10f3
7 changed files with 28 additions and 68 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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