1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/storm_on_demand/storage.rb
Paul Thornthwaite a72433d2f8 Remove duplicate requires from services
Following work on reorganising the requires, there was an inconsistent
approach to where service wrappers are required. (Fog::Compute...)

Since they should be standardised and shared across providers (although
they really aren't yet) they have been moved to `fog-core` gem.

Each provider has their own `lib/fog/{provider}/core` files that is
required by each of their services. These files should all require
`fog/core` which already required most or these.

So this removes the extra cases to concentrate them in core.
2014-02-13 17:44:48 +00:00

68 lines
1.5 KiB
Ruby

require 'fog/storm_on_demand/core'
require "fog/storm_on_demand/shared"
module Fog
module Storage
class StormOnDemand < Fog::Service
API_URL = 'https://api.stormondemand.com'
API_VERSION = 'v1'
requires :storm_on_demand_username, :storm_on_demand_password
recognizes :storm_on_demand_auth_url
model_path 'fog/storm_on_demand/models/storage'
model :cluster
collection :clusters
model :volume
collection :volumes
request_path 'fog/storm_on_demand/requests/storage'
request :list_clusters
request :attach_volume_to_server
request :create_volume
request :delete_volume
request :detach_volume_from_server
request :get_volume
request :list_volumes
request :resize_volume
request :update_volume
class Mock
def self.data
@data ||= Hash.new
end
def self.reset
@data = nil
end
def self.reset_data(keys=data.keys)
for key in [*keys]
data.delete(key)
end
end
def initialize(options={})
@storm_on_demand_username = options[:storm_on_demand_username]
end
def data
self.class.data[@storm_on_demand_username]
end
def reset_data
self.class.data.delete(@storm_on_demand_username)
end
end
class Real
include Fog::StormOnDemand::RealShared
end
end
end
end