fog--fog/lib/fog/terremark/ecloud.rb

68 lines
1.7 KiB
Ruby
Raw Normal View History

module Fog
module Terremark
2010-10-13 20:20:18 +00:00
module Ecloud
2010-10-13 20:20:18 +00:00
module Bin
end
2010-10-13 20:20:18 +00:00
module Defaults
HOST = 'services.enterprisecloud.terremark.com'
PATH = '/api/v0.8a-ext2.0'
PORT = 443
SCHEME = 'https'
end
2010-04-28 20:26:18 +00:00
2010-10-13 20:20:18 +00:00
extend Fog::Terremark::Shared
2010-10-13 20:20:18 +00:00
def self.new(options={})
2010-10-13 20:20:18 +00:00
unless @required
shared_requires
@required = true
end
2010-10-13 20:20:18 +00:00
check_shared_options(options)
2010-10-13 20:20:18 +00:00
if Fog.mocking?
Fog::Terremark::Ecloud::Mock.new(options)
2010-10-13 20:20:18 +00:00
else
Fog::Terremark::Ecloud::Real.new(options)
2010-10-13 20:20:18 +00:00
end
end
2010-10-13 20:20:18 +00:00
class Real
2010-10-13 20:20:18 +00:00
include Fog::Terremark::Shared::Real
include Fog::Terremark::Shared::Parser
def initialize(options={})
@terremark_password = options[:terremark_ecloud_password]
@terremark_username = options[:terremark_ecloud_username]
2010-04-28 20:26:18 +00:00
@host = options[:host] || Fog::Terremark::Ecloud::Defaults::HOST
@path = options[:path] || Fog::Terremark::Ecloud::Defaults::PATH
@port = options[:port] || Fog::Terremark::Ecloud::Defaults::PORT
@scheme = options[:scheme] || Fog::Terremark::Ecloud::Defaults::SCHEME
@connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}", options[:persistent])
end
2010-10-13 20:20:18 +00:00
end
2010-10-13 20:20:18 +00:00
class Mock
include Fog::Terremark::Shared::Mock
include Fog::Terremark::Shared::Parser
2010-04-28 03:50:23 +00:00
2010-10-13 20:20:18 +00:00
def initialize(option = {})
super
@base_url = Fog::Terremark::Ecloud::Defaults::SCHEME + "://" +
Fog::Terremark::Ecloud::Defaults::HOST +
Fog::Terremark::Ecloud::Defaults::PATH
@data = self.class.data[:terremark_ecloud_username]
end
end
2010-10-13 20:20:18 +00:00
end
end
end