Sha256: 7070a3dde8cfb7aa284a51d6073c8fa474bbf05af779ef5b43b210768a5929c9

Contents?: true

Size: 1.54 KB

Versions: 6

Compression:

Stored size: 1.54 KB

Contents

module Fog
  module Rackspace
    class Servers

      def self.reload
        load "fog/rackspace/models/servers/server.rb"
        load "fog/rackspace/models/servers/servers.rb"

        load "fog/rackspace/requests/servers/create_server.rb"
        load "fog/rackspace/requests/servers/delete_server.rb"
        load "fog/rackspace/requests/servers/get_flavors.rb"
        load "fog/rackspace/requests/servers/get_images.rb"
        load "fog/rackspace/requests/servers/get_server_details.rb"
        load "fog/rackspace/requests/servers/get_servers.rb"
        load "fog/rackspace/requests/servers/get_servers_details.rb"
      end

      def initialize(options={})
        credentials = Fog::Rackspace.authenticate(options)
        @auth_token = credentials['X-Auth-Token']
        uri = URI.parse(credentials['X-Server-Management-Url'])
        @host   = uri.host
        @path   = uri.path
        @port   = uri.port
        @scheme = uri.scheme
        @connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}")
      end

      def request(params)
        response = @connection.request({
          :body     => params[:body],
          :expects  => params[:expects],
          :headers  => {
            'X-Auth-Token' => @auth_token
          },
          :host     => @host,
          :method   => params[:method],
          :path     => "#{@path}/#{params[:path]}"
        })
        unless response.body.empty?
          response.body = JSON.parse(response.body)
        end
        response
      end

    end
  end
end
Fog::Rackspace::Servers.reload

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
fog-0.0.20 lib/fog/rackspace/servers.rb
fog-0.0.19 lib/fog/rackspace/servers.rb
fog-0.0.18 lib/fog/rackspace/servers.rb
fog-0.0.17 lib/fog/rackspace/servers.rb
fog-0.0.16 lib/fog/rackspace/servers.rb
fog-0.0.15 lib/fog/rackspace/servers.rb