Sha256: 339c42da56d47bcbbbc8fdef564a041b4224c7ef8dcf2bdd6291160cdda7c2ca

Contents?: true

Size: 1.87 KB

Versions: 3

Compression:

Stored size: 1.87 KB

Contents

module Fog
  module Terremark
    module Ecloud

      module Bin
      end

      module Defaults
        HOST   = 'services.enterprisecloud.terremark.com'
        PATH   = '/api/v0.8a-ext2.0'
        PORT   = 443
        SCHEME = 'https'
      end

      extend Fog::Terremark::Shared

      def self.new(options={})

        unless @required
          shared_requires
          @required = true
        end

        check_shared_options(options)

        if Fog.mocking?
          Fog::Terremark::Ecloud::Mock.new(options)
        else
          Fog::Terremark::Ecloud::Real.new(options)
        end

      end

      class Real
        requires :terremark_ecloud_password, :terremark_ecloud_username
        recognizes :host, :path, :port, :scheme, :persistent
        
        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]
          @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

      end

      class Mock
        include Fog::Terremark::Shared::Mock
        include Fog::Terremark::Shared::Parser

        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

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fog-0.3.29 lib/fog/terremark/ecloud.rb
fog-0.3.28 lib/fog/terremark/ecloud.rb
fog-0.3.27 lib/fog/terremark/ecloud.rb