mirror of
				https://github.com/fog/fog.git
				synced 2022-11-09 13:51:43 -05:00 
			
		
		
		
	[rackspace] cleaner mocking/dependencies
This commit is contained in:
		
							parent
							
								
									c066bf58f3
								
							
						
					
					
						commit
						0bfd9b3bc7
					
				
					 42 changed files with 442 additions and 587 deletions
				
			
		| 
						 | 
				
			
			@ -1,61 +1,31 @@
 | 
			
		|||
require 'fog/rackspace/files'
 | 
			
		||||
require 'fog/rackspace/servers'
 | 
			
		||||
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
 | 
			
		||||
    def self.dependencies
 | 
			
		||||
      [
 | 
			
		||||
        'fog/rackspace/files.rb',
 | 
			
		||||
        'fog/rackspace/servers.rb'
 | 
			
		||||
      ]
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def self.reload
 | 
			
		||||
      self.dependencies.each {|dependency| load(dependency)}
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
      def self.authenticate(options)
 | 
			
		||||
        unless @rackspace_api_key = options[:rackspace_api_key]
 | 
			
		||||
          raise ArgumentError.new('rackspace_api_key is required to access rackspace')
 | 
			
		||||
        end
 | 
			
		||||
        unless @rackspace_username = options[:rackspace_username]
 | 
			
		||||
          raise ArgumentError.new('rackspace_username is required to access rackspace')
 | 
			
		||||
        end
 | 
			
		||||
        connection = Fog::Connection.new("https://auth.api.rackspacecloud.com")
 | 
			
		||||
        response = connection.request({
 | 
			
		||||
          :expects  => 204,
 | 
			
		||||
          :headers  => {
 | 
			
		||||
            'X-Auth-Key'  => @rackspace_api_key,
 | 
			
		||||
            'X-Auth-User' => @rackspace_username
 | 
			
		||||
          },
 | 
			
		||||
          :host     => 'auth.api.rackspacecloud.com',
 | 
			
		||||
          :method   => 'GET',
 | 
			
		||||
          :path     => 'v1.0'
 | 
			
		||||
        })
 | 
			
		||||
        response.headers.reject do |key, value|
 | 
			
		||||
          !['X-Server-Management-Url', 'X-Storage-Url', 'X-CDN-Management-Url', 'X-Auth-Token'].include?(key)
 | 
			
		||||
        end
 | 
			
		||||
    def self.authenticate(options)
 | 
			
		||||
      unless @rackspace_api_key = options[:rackspace_api_key]
 | 
			
		||||
        raise ArgumentError.new('rackspace_api_key is required to access rackspace')
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
    else
 | 
			
		||||
 | 
			
		||||
      def self.authenticate(options)
 | 
			
		||||
        {
 | 
			
		||||
          'X-Auth_Token'            => '01234567-0123-0123-0123-01234',
 | 
			
		||||
          'X-CDN-Management-Url'    => 'https://cdn.cloaddrive.com/v1/CloudFS_01234-0123',
 | 
			
		||||
          'X-Server-Management-Url' => 'https://servers.api.rackspacecloud.com/v1.0/01234',
 | 
			
		||||
          'X-Storage-Url'           => 'https://storage.clouddrive.com/v1/CloudFS_01234-0123'
 | 
			
		||||
        }
 | 
			
		||||
      unless @rackspace_username = options[:rackspace_username]
 | 
			
		||||
        raise ArgumentError.new('rackspace_username is required to access rackspace')
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      srand(Time.now.to_i)
 | 
			
		||||
 | 
			
		||||
      class Mock
 | 
			
		||||
      connection = Fog::Connection.new("https://auth.api.rackspacecloud.com")
 | 
			
		||||
      response = connection.request({
 | 
			
		||||
        :expects  => 204,
 | 
			
		||||
        :headers  => {
 | 
			
		||||
          'X-Auth-Key'  => @rackspace_api_key,
 | 
			
		||||
          'X-Auth-User' => @rackspace_username
 | 
			
		||||
        },
 | 
			
		||||
        :host     => 'auth.api.rackspacecloud.com',
 | 
			
		||||
        :method   => 'GET',
 | 
			
		||||
        :path     => 'v1.0'
 | 
			
		||||
      })
 | 
			
		||||
      response.headers.reject do |key, value|
 | 
			
		||||
        !['X-Server-Management-Url', 'X-Storage-Url', 'X-CDN-Management-Url', 'X-Auth-Token'].include?(key)
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
Fog::Rackspace.reload
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,51 +1,36 @@
 | 
			
		|||
require 'fog/rackspace/models/files/directory'
 | 
			
		||||
require 'fog/rackspace/models/files/directories'
 | 
			
		||||
require 'fog/rackspace/models/files/file'
 | 
			
		||||
require 'fog/rackspace/models/files/files'
 | 
			
		||||
require 'fog/rackspace/requests/files/delete_container'
 | 
			
		||||
require 'fog/rackspace/requests/files/delete_object'
 | 
			
		||||
require 'fog/rackspace/requests/files/get_container'
 | 
			
		||||
require 'fog/rackspace/requests/files/get_containers'
 | 
			
		||||
require 'fog/rackspace/requests/files/get_object'
 | 
			
		||||
require 'fog/rackspace/requests/files/head_container'
 | 
			
		||||
require 'fog/rackspace/requests/files/head_containers'
 | 
			
		||||
require 'fog/rackspace/requests/files/head_object'
 | 
			
		||||
require 'fog/rackspace/requests/files/put_container'
 | 
			
		||||
require 'fog/rackspace/requests/files/put_object'
 | 
			
		||||
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    class Files
 | 
			
		||||
    module Files
 | 
			
		||||
 | 
			
		||||
      def self.dependencies
 | 
			
		||||
        [
 | 
			
		||||
          "fog/rackspace/models/files/directory.rb",
 | 
			
		||||
          "fog/rackspace/models/files/directories.rb",
 | 
			
		||||
          "fog/rackspace/models/files/file.rb",
 | 
			
		||||
          "fog/rackspace/models/files/files.rb",
 | 
			
		||||
          "fog/rackspace/requests/files/delete_container.rb",
 | 
			
		||||
          "fog/rackspace/requests/files/delete_object.rb",
 | 
			
		||||
          "fog/rackspace/requests/files/get_container.rb",
 | 
			
		||||
          "fog/rackspace/requests/files/get_containers.rb",
 | 
			
		||||
          "fog/rackspace/requests/files/get_object.rb",
 | 
			
		||||
          "fog/rackspace/requests/files/head_container.rb",
 | 
			
		||||
          "fog/rackspace/requests/files/head_containers.rb",
 | 
			
		||||
          "fog/rackspace/requests/files/head_object.rb",
 | 
			
		||||
          "fog/rackspace/requests/files/put_container.rb",
 | 
			
		||||
          "fog/rackspace/requests/files/put_object.rb"
 | 
			
		||||
        ]
 | 
			
		||||
      def self.new(options={})
 | 
			
		||||
        if Fog.mocking?
 | 
			
		||||
          Fog::Rackspace::Files::Mock.new(options)
 | 
			
		||||
        else
 | 
			
		||||
          Fog::Rackspace::Files::Real.new(options)
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.reload
 | 
			
		||||
        self.dependencies.each {|dependency| load(dependency)}
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def initialize(options={})
 | 
			
		||||
        credentials = Fog::Rackspace.authenticate(options)
 | 
			
		||||
        @auth_token = credentials['X-Auth-Token']
 | 
			
		||||
        cdn_uri = URI.parse(credentials['X-CDN-Management-Url'])
 | 
			
		||||
        @cdn_host   = cdn_uri.host
 | 
			
		||||
        @cdn_path   = cdn_uri.path
 | 
			
		||||
        @cdn_port   = cdn_uri.port
 | 
			
		||||
        @cdn_scheme = cdn_uri.scheme
 | 
			
		||||
        storage_uri = URI.parse(credentials['X-Storage-Url'])
 | 
			
		||||
        @storage_host   = storage_uri.host
 | 
			
		||||
        @storage_path   = storage_uri.path
 | 
			
		||||
        @storage_port   = storage_uri.port
 | 
			
		||||
        @storage_scheme = storage_uri.scheme
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def parse_data(data)
 | 
			
		||||
      def self.parse_data(data)
 | 
			
		||||
        metadata = {
 | 
			
		||||
          :body => nil,
 | 
			
		||||
          :headers => {}
 | 
			
		||||
        }
 | 
			
		||||
      
 | 
			
		||||
 | 
			
		||||
        if data.is_a?(String)
 | 
			
		||||
          metadata[:body] = data
 | 
			
		||||
          metadata[:headers]['Content-Length'] = metadata[:body].size.to_s
 | 
			
		||||
| 
						 | 
				
			
			@ -61,48 +46,89 @@ module Fog
 | 
			
		|||
        metadata
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def cdn_request(params)
 | 
			
		||||
        @cdn_connection = Fog::Connection.new("#{@cdn_scheme}://#{@cdn_host}:#{@cdn_port}")
 | 
			
		||||
        response = @cdn_connection.request({
 | 
			
		||||
          :body     => params[:body],
 | 
			
		||||
          :expects  => params[:expects],
 | 
			
		||||
          :headers  => {
 | 
			
		||||
            'Content-Type' => 'application/json',
 | 
			
		||||
            'X-Auth-Token' => @auth_token
 | 
			
		||||
          }.merge!(params[:headers] || {}),
 | 
			
		||||
          :host     => @cdn_host,
 | 
			
		||||
          :method   => params[:method],
 | 
			
		||||
          :path     => "#{@cdn_path}/#{params[:path]}",
 | 
			
		||||
          :query    => params[:query]
 | 
			
		||||
        })
 | 
			
		||||
        unless response.body.empty?
 | 
			
		||||
          response.body = JSON.parse(response.body)
 | 
			
		||||
        end
 | 
			
		||||
        response
 | 
			
		||||
      def self.reset_data(keys=Mock.data.keys)
 | 
			
		||||
        Mock.reset_data(keys)
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def storage_request(params, parse_json = true)
 | 
			
		||||
        @storage_connection = Fog::Connection.new("#{@storage_scheme}://#{@storage_host}:#{@storage_port}")
 | 
			
		||||
        response = @storage_connection.request({
 | 
			
		||||
          :body     => params[:body],
 | 
			
		||||
          :expects  => params[:expects],
 | 
			
		||||
          :headers  => {
 | 
			
		||||
            'Content-Type' => 'application/json',
 | 
			
		||||
            'X-Auth-Token' => @auth_token
 | 
			
		||||
          }.merge!(params[:headers] || {}),
 | 
			
		||||
          :host     => @storage_host,
 | 
			
		||||
          :method   => params[:method],
 | 
			
		||||
          :path     => "#{@storage_path}/#{params[:path]}",
 | 
			
		||||
          :query    => params[:query]
 | 
			
		||||
        })
 | 
			
		||||
        if !response.body.empty? && parse_json
 | 
			
		||||
          response.body = JSON.parse(response.body)
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def self.data
 | 
			
		||||
          @data ||= Hash.new do |hash, key|
 | 
			
		||||
            hash[key] = {}
 | 
			
		||||
          end
 | 
			
		||||
        end
 | 
			
		||||
        response
 | 
			
		||||
 | 
			
		||||
        def self.reset_data(keys=data.keys)
 | 
			
		||||
          for key in [*keys]
 | 
			
		||||
            data.delete(key)
 | 
			
		||||
          end
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def initialize(options={})
 | 
			
		||||
          @rackspace_username = options[:rackspace_username]
 | 
			
		||||
          @data = self.class.data[@rackspace_username]
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        def initialize(options={})
 | 
			
		||||
          credentials = Fog::Rackspace.authenticate(options)
 | 
			
		||||
          @auth_token = credentials['X-Auth-Token']
 | 
			
		||||
          cdn_uri = URI.parse(credentials['X-CDN-Management-Url'])
 | 
			
		||||
          @cdn_host   = cdn_uri.host
 | 
			
		||||
          @cdn_path   = cdn_uri.path
 | 
			
		||||
          @cdn_port   = cdn_uri.port
 | 
			
		||||
          @cdn_scheme = cdn_uri.scheme
 | 
			
		||||
          storage_uri = URI.parse(credentials['X-Storage-Url'])
 | 
			
		||||
          @storage_host   = storage_uri.host
 | 
			
		||||
          @storage_path   = storage_uri.path
 | 
			
		||||
          @storage_port   = storage_uri.port
 | 
			
		||||
          @storage_scheme = storage_uri.scheme
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def cdn_request(params)
 | 
			
		||||
          @cdn_connection = Fog::Connection.new("#{@cdn_scheme}://#{@cdn_host}:#{@cdn_port}")
 | 
			
		||||
          response = @cdn_connection.request({
 | 
			
		||||
            :body     => params[:body],
 | 
			
		||||
            :expects  => params[:expects],
 | 
			
		||||
            :headers  => {
 | 
			
		||||
              'Content-Type' => 'application/json',
 | 
			
		||||
              'X-Auth-Token' => @auth_token
 | 
			
		||||
            }.merge!(params[:headers] || {}),
 | 
			
		||||
            :host     => @cdn_host,
 | 
			
		||||
            :method   => params[:method],
 | 
			
		||||
            :path     => "#{@cdn_path}/#{params[:path]}",
 | 
			
		||||
            :query    => params[:query]
 | 
			
		||||
          })
 | 
			
		||||
          unless response.body.empty?
 | 
			
		||||
            response.body = JSON.parse(response.body)
 | 
			
		||||
          end
 | 
			
		||||
          response
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def storage_request(params, parse_json = true)
 | 
			
		||||
          @storage_connection = Fog::Connection.new("#{@storage_scheme}://#{@storage_host}:#{@storage_port}")
 | 
			
		||||
          response = @storage_connection.request({
 | 
			
		||||
            :body     => params[:body],
 | 
			
		||||
            :expects  => params[:expects],
 | 
			
		||||
            :headers  => {
 | 
			
		||||
              'Content-Type' => 'application/json',
 | 
			
		||||
              'X-Auth-Token' => @auth_token
 | 
			
		||||
            }.merge!(params[:headers] || {}),
 | 
			
		||||
            :host     => @storage_host,
 | 
			
		||||
            :method   => params[:method],
 | 
			
		||||
            :path     => "#{@storage_path}/#{params[:path]}",
 | 
			
		||||
            :query    => params[:query]
 | 
			
		||||
          })
 | 
			
		||||
          if !response.body.empty? && parse_json
 | 
			
		||||
            response.body = JSON.parse(response.body)
 | 
			
		||||
          end
 | 
			
		||||
          response
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
Fog::Rackspace::Files.reload
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,9 +1,20 @@
 | 
			
		|||
require 'fog/collection'
 | 
			
		||||
require 'fog/rackspace/models/files/directory'
 | 
			
		||||
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    class Files
 | 
			
		||||
    module Files
 | 
			
		||||
 | 
			
		||||
      def directories
 | 
			
		||||
        Fog::Rackspace::Files::Directories.new(:connection => self)
 | 
			
		||||
      class Real
 | 
			
		||||
        def directories
 | 
			
		||||
          Fog::Rackspace::Files::Directories.new(:connection => self)
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      class Mock
 | 
			
		||||
        def directories
 | 
			
		||||
          Fog::Rackspace::Files::Directories.new(:connection => self)
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      class Directories < Fog::Collection
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,8 @@
 | 
			
		|||
require 'fog/model'
 | 
			
		||||
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    class Files
 | 
			
		||||
    module Files
 | 
			
		||||
 | 
			
		||||
      class Directory < Fog::Model
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,8 @@
 | 
			
		|||
require 'fog/model'
 | 
			
		||||
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    class Files
 | 
			
		||||
    module Files
 | 
			
		||||
 | 
			
		||||
      class File < Fog::Model
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,9 @@
 | 
			
		|||
require 'fog/collection'
 | 
			
		||||
require 'fog/rackspace/models/files/file'
 | 
			
		||||
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    class Files
 | 
			
		||||
    module Files
 | 
			
		||||
 | 
			
		||||
      class Files < Fog::Collection
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,8 @@
 | 
			
		|||
require 'fog/model'
 | 
			
		||||
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    class Servers
 | 
			
		||||
    module Servers
 | 
			
		||||
 | 
			
		||||
      class Flavor < Fog::Model
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,9 +1,20 @@
 | 
			
		|||
require 'fog/collection'
 | 
			
		||||
require 'fog/rackspace/models/servers/flavor'
 | 
			
		||||
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    class Servers
 | 
			
		||||
    module Servers
 | 
			
		||||
 | 
			
		||||
      def flavors
 | 
			
		||||
        Fog::Rackspace::Servers::Flavors.new(:connection => self)
 | 
			
		||||
      class Real
 | 
			
		||||
        def flavors
 | 
			
		||||
          Fog::Rackspace::Servers::Flavors.new(:connection => self)
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      class Mock
 | 
			
		||||
        def flavors
 | 
			
		||||
          Fog::Rackspace::Servers::Flavors.new(:connection => self)
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      class Flavors < Fog::Collection
 | 
			
		||||
| 
						 | 
				
			
			@ -16,7 +27,8 @@ module Fog
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
        def get(flavor_id)
 | 
			
		||||
          connection.get_flavor_details(flavor_id)
 | 
			
		||||
          data = connection.get_flavor_details(flavor_id).body['flavor']
 | 
			
		||||
          new(data)
 | 
			
		||||
        rescue Excon::Errors::NotFound
 | 
			
		||||
          nil
 | 
			
		||||
        end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,8 @@
 | 
			
		|||
require 'fog/model'
 | 
			
		||||
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    class Servers
 | 
			
		||||
    module Servers
 | 
			
		||||
 | 
			
		||||
      class Image < Fog::Model
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,11 +1,24 @@
 | 
			
		|||
require 'fog/collection'
 | 
			
		||||
require 'fog/rackspace/models/servers/image'
 | 
			
		||||
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    class Servers
 | 
			
		||||
    module Servers
 | 
			
		||||
 | 
			
		||||
      def images(attributes = {})
 | 
			
		||||
        Fog::Rackspace::Servers::Images.new({
 | 
			
		||||
          :connection => self
 | 
			
		||||
        }.merge!(attributes))
 | 
			
		||||
      class Real
 | 
			
		||||
        def images(attributes = {})
 | 
			
		||||
          Fog::Rackspace::Servers::Images.new({
 | 
			
		||||
            :connection => self
 | 
			
		||||
          }.merge!(attributes))
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      class Mock
 | 
			
		||||
        def images(attributes = {})
 | 
			
		||||
          Fog::Rackspace::Servers::Images.new({
 | 
			
		||||
            :connection => self
 | 
			
		||||
          }.merge!(attributes))
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      class Images < Fog::Collection
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,8 @@
 | 
			
		|||
require 'fog/model'
 | 
			
		||||
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    class Servers
 | 
			
		||||
    module Servers
 | 
			
		||||
 | 
			
		||||
      class Server < Fog::Model
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,9 +1,20 @@
 | 
			
		|||
require 'fog/collection'
 | 
			
		||||
require 'fog/rackspace/models/servers/server'
 | 
			
		||||
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    class Servers
 | 
			
		||||
    module Servers
 | 
			
		||||
 | 
			
		||||
      def servers
 | 
			
		||||
        Fog::Rackspace::Servers::Servers.new(:connection => self)
 | 
			
		||||
      class Mock
 | 
			
		||||
        def servers
 | 
			
		||||
          Fog::Rackspace::Servers::Servers.new(:connection => self)
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      class Real
 | 
			
		||||
        def servers
 | 
			
		||||
          Fog::Rackspace::Servers::Servers.new(:connection => self)
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      class Servers < Fog::Collection
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Files
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Files
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # Delete an existing container
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -19,14 +18,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def delete_container(name)
 | 
			
		||||
          raise MockNotImplemented.new("Contributions welcome!")
 | 
			
		||||
| 
						 | 
				
			
			@ -35,5 +28,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Files
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Files
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # Delete an existing container
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -20,14 +19,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def delete_object(container, object)
 | 
			
		||||
          raise MockNotImplemented.new("Contributions welcome!")
 | 
			
		||||
| 
						 | 
				
			
			@ -36,5 +29,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Files
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Files
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # Get details for container and total bytes stored
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -45,14 +44,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def get_container(container, options = {})
 | 
			
		||||
          raise MockNotImplemented.new("Contributions welcome!")
 | 
			
		||||
| 
						 | 
				
			
			@ -61,5 +54,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Files
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Files
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # List existing storage containers
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -35,14 +34,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def get_containers(options = {})
 | 
			
		||||
          raise MockNotImplemented.new("Contributions welcome!")
 | 
			
		||||
| 
						 | 
				
			
			@ -51,5 +44,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Files
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Files
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # Get details for object
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -21,14 +20,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def get_object(container, object)
 | 
			
		||||
          raise MockNotImplemented.new("Contributions welcome!")
 | 
			
		||||
| 
						 | 
				
			
			@ -37,5 +30,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Files
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Files
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # List number of objects and total bytes stored
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -25,14 +24,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def head_container(container)
 | 
			
		||||
          raise MockNotImplemented.new("Contributions welcome!")
 | 
			
		||||
| 
						 | 
				
			
			@ -41,5 +34,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Files
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Files
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # List number of containers and total bytes stored
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -22,14 +21,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def head_containers
 | 
			
		||||
          raise MockNotImplemented.new("Contributions welcome!")
 | 
			
		||||
| 
						 | 
				
			
			@ -38,5 +31,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Files
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Files
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # Get headers for object
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -20,14 +19,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def head_object(container, object)
 | 
			
		||||
          raise MockNotImplemented.new("Contributions welcome!")
 | 
			
		||||
| 
						 | 
				
			
			@ -36,5 +29,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Files
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Files
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # Create a new container
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -19,14 +18,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def put_container(name)
 | 
			
		||||
          raise MockNotImplemented.new("Contributions welcome!")
 | 
			
		||||
| 
						 | 
				
			
			@ -35,5 +28,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Files
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Files
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # Create a new object
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -10,7 +9,7 @@ unless Fog.mocking?
 | 
			
		|||
        # * container<~String> - Name for container, should be < 256 bytes and must not contain '/'
 | 
			
		||||
        #
 | 
			
		||||
        def put_object(container, object, data)
 | 
			
		||||
          data = parse_data(data)
 | 
			
		||||
          data = Fog::Rackspace::Files.parse_data(data)
 | 
			
		||||
          response = storage_request(
 | 
			
		||||
            :body     => data[:body],
 | 
			
		||||
            :expects  => 201,
 | 
			
		||||
| 
						 | 
				
			
			@ -22,14 +21,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def put_object(container, object, data)
 | 
			
		||||
          raise MockNotImplemented.new("Contributions welcome!")
 | 
			
		||||
| 
						 | 
				
			
			@ -38,5 +31,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # Create an image from a running server
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -34,14 +33,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def create_image(server_id, options = {})
 | 
			
		||||
          response = Excon::Response.new
 | 
			
		||||
| 
						 | 
				
			
			@ -57,8 +50,8 @@ else
 | 
			
		|||
            'updated'   => now,
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
          Fog::Rackspace::Servers.data[:last_modified][:images][data['id']] = now
 | 
			
		||||
          Fog::Rackspace::Servers.data[:images][data['id']] = data
 | 
			
		||||
          @data[:last_modified][:images][data['id']] = now
 | 
			
		||||
          @data[:images][data['id']] = data
 | 
			
		||||
          response.body = { 'image' => data.reject {|key, value| !['id', 'name', 'serverId'].include?(key)} }
 | 
			
		||||
          response
 | 
			
		||||
        end
 | 
			
		||||
| 
						 | 
				
			
			@ -66,5 +59,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # Create a new server
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -65,14 +64,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def create_server(flavor_id, image_id, name, options = {})
 | 
			
		||||
          response = Excon::Response.new
 | 
			
		||||
| 
						 | 
				
			
			@ -90,8 +83,8 @@ else
 | 
			
		|||
            'status'    => 'BUILD'
 | 
			
		||||
          }
 | 
			
		||||
          data['adminPass'] = "#{data['name']}password"
 | 
			
		||||
          Fog::Rackspace::Servers.data[:last_modified][:servers][data['id']] = Time.now
 | 
			
		||||
          Fog::Rackspace::Servers.data[:servers][data['id']] = data
 | 
			
		||||
          @data[:last_modified][:servers][data['id']] = Time.now
 | 
			
		||||
          @data[:servers][data['id']] = data
 | 
			
		||||
          response.body = { 'server' => data }
 | 
			
		||||
          response
 | 
			
		||||
        end
 | 
			
		||||
| 
						 | 
				
			
			@ -99,5 +92,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # Delete an image
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -18,14 +17,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def delete_image(image_id)
 | 
			
		||||
          response = Excon::Response.new
 | 
			
		||||
| 
						 | 
				
			
			@ -34,8 +27,8 @@ else
 | 
			
		|||
              response.status = 409
 | 
			
		||||
              raise(Excon::Errors.status_error({:expects => 202}, response))
 | 
			
		||||
            else
 | 
			
		||||
              Fog::Rackspace::Servers.data[:last_modified][:images].delete(image_id)
 | 
			
		||||
              Fog::Rackspace::Servers.data[:images].delete(image_id)
 | 
			
		||||
              @data[:last_modified][:images].delete(image_id)
 | 
			
		||||
              @data[:images].delete(image_id)
 | 
			
		||||
              response.status = 202
 | 
			
		||||
            end
 | 
			
		||||
          else
 | 
			
		||||
| 
						 | 
				
			
			@ -48,5 +41,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # Delete an existing server
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -18,14 +17,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def delete_server(server_id)
 | 
			
		||||
          response = Excon::Response.new
 | 
			
		||||
| 
						 | 
				
			
			@ -34,8 +27,8 @@ else
 | 
			
		|||
              response.status = 409
 | 
			
		||||
              raise(Excon::Errors.status_error({:expects => 202}, response))
 | 
			
		||||
            else
 | 
			
		||||
              Fog::Rackspace::Servers.data[:last_modified][:servers].delete(server_id)
 | 
			
		||||
              Fog::Rackspace::Servers.data[:servers].delete(server_id)
 | 
			
		||||
              @data[:last_modified][:servers].delete(server_id)
 | 
			
		||||
              @data[:servers].delete(server_id)
 | 
			
		||||
              response.status = 202
 | 
			
		||||
            end
 | 
			
		||||
          else
 | 
			
		||||
| 
						 | 
				
			
			@ -48,5 +41,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # Get details for flavor by id
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -22,14 +21,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def get_flavor_details(flavor_id)
 | 
			
		||||
          raise MockNotImplemented.new("Contributions welcome!")
 | 
			
		||||
| 
						 | 
				
			
			@ -38,5 +31,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # Get details about a server
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -33,14 +32,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def get_server_details(server_id)
 | 
			
		||||
          response = Excon::Response.new
 | 
			
		||||
| 
						 | 
				
			
			@ -57,5 +50,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # List all server addresses
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -24,14 +23,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def list_addresses(server_id)
 | 
			
		||||
          response = Excon::Response.new
 | 
			
		||||
| 
						 | 
				
			
			@ -48,5 +41,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # List all flavors (IDs and names only)
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -20,14 +19,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def list_flavors
 | 
			
		||||
          raise MockNotImplemented.new("Contributions welcome!")
 | 
			
		||||
| 
						 | 
				
			
			@ -36,5 +29,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # List all flavors
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -22,14 +21,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def list_flavors_detail
 | 
			
		||||
          raise MockNotImplemented.new("Contributions welcome!")
 | 
			
		||||
| 
						 | 
				
			
			@ -38,5 +31,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # List all images (IDs and names only)
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -20,14 +19,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def list_images
 | 
			
		||||
          response = Excon::Response.new
 | 
			
		||||
| 
						 | 
				
			
			@ -44,5 +37,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # List all images
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -23,23 +22,17 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def list_images_detail
 | 
			
		||||
          response = Excon::Response.new
 | 
			
		||||
 | 
			
		||||
          images = Fog::Rackspace::Servers.data[:images].values
 | 
			
		||||
          images = @data[:images].values
 | 
			
		||||
          for image in images
 | 
			
		||||
            case image['status']
 | 
			
		||||
            when 'SAVING'
 | 
			
		||||
              if Time.now - Fog::Rackspace::Servers.data[:last_modified][:images][image['id']] > 2
 | 
			
		||||
              if Time.now - @data[:last_modified][:images][image['id']] > 2
 | 
			
		||||
                image['status'] = 'ACTIVE'
 | 
			
		||||
              end
 | 
			
		||||
            end
 | 
			
		||||
| 
						 | 
				
			
			@ -53,5 +46,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # List private server addresses
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -22,14 +21,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def list_private_addresses(server_id)
 | 
			
		||||
          response = Excon::Response.new
 | 
			
		||||
| 
						 | 
				
			
			@ -46,5 +39,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # List public server addresses
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -22,14 +21,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def list_public_addresses(server_id)
 | 
			
		||||
          response = Excon::Response.new
 | 
			
		||||
| 
						 | 
				
			
			@ -46,5 +39,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # List all servers (IDs and names only)
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -21,14 +20,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def list_servers
 | 
			
		||||
          response = Excon::Response.new
 | 
			
		||||
| 
						 | 
				
			
			@ -45,5 +38,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # List all servers details
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -30,23 +29,17 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def list_servers_detail
 | 
			
		||||
          response = Excon::Response.new
 | 
			
		||||
 | 
			
		||||
          servers = Fog::Rackspace::Servers.data[:servers].values
 | 
			
		||||
          servers = @data[:servers].values
 | 
			
		||||
          for server in servers
 | 
			
		||||
            case server['status']
 | 
			
		||||
            when 'BUILD'
 | 
			
		||||
              if Time.now - Fog::Rackspace::Servers.data[:last_modified][:servers][server['id']] > 2
 | 
			
		||||
              if Time.now - @data[:last_modified][:servers][server['id']] > 2
 | 
			
		||||
                server['status'] = 'ACTIVE'
 | 
			
		||||
              end
 | 
			
		||||
            end
 | 
			
		||||
| 
						 | 
				
			
			@ -60,5 +53,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # Reboot an existing server
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -20,14 +19,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def reboot_server(server_id, type)
 | 
			
		||||
          raise MockNotImplemented.new("Contributions welcome!")
 | 
			
		||||
| 
						 | 
				
			
			@ -36,5 +29,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
unless Fog.mocking?
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    module Servers
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        # Update an existing server
 | 
			
		||||
        #
 | 
			
		||||
| 
						 | 
				
			
			@ -21,14 +20,8 @@ unless Fog.mocking?
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  module Fog
 | 
			
		||||
    module Rackspace
 | 
			
		||||
      class Servers
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def update_server(server_id, options)
 | 
			
		||||
          response = Excon::Response.new
 | 
			
		||||
| 
						 | 
				
			
			@ -50,5 +43,4 @@ else
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,89 +1,103 @@
 | 
			
		|||
require 'fog/rackspace/models/servers/flavor'
 | 
			
		||||
require 'fog/rackspace/models/servers/flavors'
 | 
			
		||||
require 'fog/rackspace/models/servers/image'
 | 
			
		||||
require 'fog/rackspace/models/servers/images'
 | 
			
		||||
require 'fog/rackspace/models/servers/server'
 | 
			
		||||
require 'fog/rackspace/models/servers/servers'
 | 
			
		||||
require 'fog/rackspace/requests/servers/create_image'
 | 
			
		||||
require 'fog/rackspace/requests/servers/create_server'
 | 
			
		||||
require 'fog/rackspace/requests/servers/delete_image'
 | 
			
		||||
require 'fog/rackspace/requests/servers/delete_server'
 | 
			
		||||
require 'fog/rackspace/requests/servers/get_flavor_details'
 | 
			
		||||
require 'fog/rackspace/requests/servers/get_server_details'
 | 
			
		||||
require 'fog/rackspace/requests/servers/list_addresses'
 | 
			
		||||
require 'fog/rackspace/requests/servers/list_private_addresses'
 | 
			
		||||
require 'fog/rackspace/requests/servers/list_public_addresses'
 | 
			
		||||
require 'fog/rackspace/requests/servers/list_flavors'
 | 
			
		||||
require 'fog/rackspace/requests/servers/list_flavors_detail'
 | 
			
		||||
require 'fog/rackspace/requests/servers/list_images'
 | 
			
		||||
require 'fog/rackspace/requests/servers/list_images_detail'
 | 
			
		||||
require 'fog/rackspace/requests/servers/list_servers'
 | 
			
		||||
require 'fog/rackspace/requests/servers/list_servers_detail'
 | 
			
		||||
require 'fog/rackspace/requests/servers/reboot_server'
 | 
			
		||||
require 'fog/rackspace/requests/servers/update_server'
 | 
			
		||||
 | 
			
		||||
module Fog
 | 
			
		||||
  module Rackspace
 | 
			
		||||
    class Servers
 | 
			
		||||
    module Servers
 | 
			
		||||
 | 
			
		||||
      if Fog.mocking?
 | 
			
		||||
        def self.data
 | 
			
		||||
          @data
 | 
			
		||||
      def self.new(options={})
 | 
			
		||||
        if Fog.mocking?
 | 
			
		||||
          Fog::Rackspace::Servers::Mock.new(options)
 | 
			
		||||
        else
 | 
			
		||||
          Fog::Rackspace::Servers::Real.new(options)
 | 
			
		||||
        end
 | 
			
		||||
        def self.reset_data
 | 
			
		||||
          @data = {
 | 
			
		||||
            :last_modified => {
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.reset_data(keys=Mock.data.keys)
 | 
			
		||||
        Mock.reset_data(keys)
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      class Mock
 | 
			
		||||
 | 
			
		||||
        def self.data
 | 
			
		||||
          @data ||= Hash.new do |hash, key|
 | 
			
		||||
            hash[key] = {
 | 
			
		||||
              :last_modified => {
 | 
			
		||||
                :images  => {},
 | 
			
		||||
                :servers => {}
 | 
			
		||||
              },
 | 
			
		||||
              :images  => {},
 | 
			
		||||
              :servers => {}
 | 
			
		||||
            },
 | 
			
		||||
            :images  => {},
 | 
			
		||||
            :servers => {}
 | 
			
		||||
          }
 | 
			
		||||
            }
 | 
			
		||||
          end
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.dependencies
 | 
			
		||||
        [
 | 
			
		||||
          "fog/rackspace/models/servers/flavor.rb",
 | 
			
		||||
          "fog/rackspace/models/servers/flavors.rb",
 | 
			
		||||
          "fog/rackspace/models/servers/image.rb",
 | 
			
		||||
          "fog/rackspace/models/servers/images.rb",
 | 
			
		||||
          "fog/rackspace/models/servers/server.rb",
 | 
			
		||||
          "fog/rackspace/models/servers/servers.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/create_image.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/create_server.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/delete_image.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/delete_server.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/get_flavor_details.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/get_server_details.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/list_addresses.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/list_private_addresses.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/list_public_addresses.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/list_flavors.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/list_flavors_detail.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/list_images.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/list_images_detail.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/list_servers.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/list_servers_detail.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/reboot_server.rb",
 | 
			
		||||
          "fog/rackspace/requests/servers/update_server.rb"
 | 
			
		||||
        ]
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def self.reload
 | 
			
		||||
        self.dependencies.each {|dependency| load(dependency)}
 | 
			
		||||
        if Fog.mocking?
 | 
			
		||||
          reset_data
 | 
			
		||||
        def self.reset_data(keys=data.keys)
 | 
			
		||||
          for key in [*keys]
 | 
			
		||||
            data.delete(key)
 | 
			
		||||
          end
 | 
			
		||||
        end
 | 
			
		||||
      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
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def request(params)
 | 
			
		||||
        @connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}")
 | 
			
		||||
        response = @connection.request({
 | 
			
		||||
          :body     => params[:body],
 | 
			
		||||
          :expects  => params[:expects],
 | 
			
		||||
          :headers  => {
 | 
			
		||||
            'Content-Type' => 'application/json',
 | 
			
		||||
            'X-Auth-Token' => @auth_token
 | 
			
		||||
          }.merge!(params[:headers] || {}),
 | 
			
		||||
          :host     => @host,
 | 
			
		||||
          :method   => params[:method],
 | 
			
		||||
          :path     => "#{@path}/#{params[:path]}"
 | 
			
		||||
        })
 | 
			
		||||
        unless response.body.empty?
 | 
			
		||||
          response.body = JSON.parse(response.body)
 | 
			
		||||
        def initialize(options={})
 | 
			
		||||
          @rackspace_username = options[:rackspace_username]
 | 
			
		||||
          @data = self.class.data[@rackspace_username]
 | 
			
		||||
        end
 | 
			
		||||
        response
 | 
			
		||||
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      class Real
 | 
			
		||||
 | 
			
		||||
        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
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def request(params)
 | 
			
		||||
          @connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}")
 | 
			
		||||
          response = @connection.request({
 | 
			
		||||
            :body     => params[:body],
 | 
			
		||||
            :expects  => params[:expects],
 | 
			
		||||
            :headers  => {
 | 
			
		||||
              'Content-Type' => 'application/json',
 | 
			
		||||
              'X-Auth-Token' => @auth_token
 | 
			
		||||
            }.merge!(params[:headers] || {}),
 | 
			
		||||
            :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
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
Fog::Rackspace::Servers.reload
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,6 @@ describe 'Rackspace::Servers.list_images_detail' do
 | 
			
		|||
      actual = Rackspace[:servers].list_images_detail.body
 | 
			
		||||
      actual['images'].should be_an(Array)
 | 
			
		||||
      image = actual['images'].first
 | 
			
		||||
      image['created'].should be_a(String)
 | 
			
		||||
      image['id'].should be_an(Integer)
 | 
			
		||||
      image['name'].should be_a(String)
 | 
			
		||||
      image['status'].should be_a(String)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,7 +15,9 @@ describe 'Rackspace::Servers.reboot_server' do
 | 
			
		|||
    end
 | 
			
		||||
 | 
			
		||||
    it "should return proper attributes" do
 | 
			
		||||
      Rackspace[:servers].reboot_server(@server_id, 'HARD')
 | 
			
		||||
      eventually(128) do
 | 
			
		||||
        Rackspace[:servers].reboot_server(@server_id, 'HARD')
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue