Sha256: dc20c0bbc0f154771f4913e5af2e9675d870828e4bc72366cfb4d5939fa5183e

Contents?: true

Size: 1.85 KB

Versions: 7

Compression:

Stored size: 1.85 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_image.rb"
        load "fog/rackspace/requests/servers/create_server.rb"
        load "fog/rackspace/requests/servers/delete_image.rb"
        load "fog/rackspace/requests/servers/delete_server.rb"
        load "fog/rackspace/requests/servers/get_server_details.rb"
        load "fog/rackspace/requests/servers/list_flavors.rb"
        load "fog/rackspace/requests/servers/list_images.rb"
        load "fog/rackspace/requests/servers/list_images_detail.rb"
        load "fog/rackspace/requests/servers/list_servers.rb"
        load "fog/rackspace/requests/servers/list_servers_detail.rb"
        load "fog/rackspace/requests/servers/reboot_server.rb"
        load "fog/rackspace/requests/servers/update_server.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

7 entries across 7 versions & 1 rubygems

Version Path
fog-0.0.29 lib/fog/rackspace/servers.rb
fog-0.0.28 lib/fog/rackspace/servers.rb
fog-0.0.27 lib/fog/rackspace/servers.rb
fog-0.0.26 lib/fog/rackspace/servers.rb
fog-0.0.25 lib/fog/rackspace/servers.rb
fog-0.0.24 lib/fog/rackspace/servers.rb
fog-0.0.23 lib/fog/rackspace/servers.rb