Class: Fog::Compute::Serverlove::Real
- Inherits:
-
Object
- Object
- Fog::Compute::Serverlove::Real
- Defined in:
- lib/fog/serverlove/compute.rb,
lib/fog/serverlove/requests/compute/get_image.rb,
lib/fog/serverlove/requests/compute/get_images.rb,
lib/fog/serverlove/requests/compute/get_server.rb,
lib/fog/serverlove/requests/compute/get_servers.rb,
lib/fog/serverlove/requests/compute/stop_server.rb,
lib/fog/serverlove/requests/compute/create_image.rb,
lib/fog/serverlove/requests/compute/reset_server.rb,
lib/fog/serverlove/requests/compute/start_server.rb,
lib/fog/serverlove/requests/compute/update_image.rb,
lib/fog/serverlove/requests/compute/create_server.rb,
lib/fog/serverlove/requests/compute/destroy_image.rb,
lib/fog/serverlove/requests/compute/update_server.rb,
lib/fog/serverlove/requests/compute/destroy_server.rb,
lib/fog/serverlove/requests/compute/shutdown_server.rb,
lib/fog/serverlove/requests/compute/load_standard_image.rb
Instance Method Summary collapse
- #create_image(options) ⇒ Object
- #create_server(options) ⇒ Object
- #destroy_image(drive_id) ⇒ Object
- #destroy_server(server_id) ⇒ Object
- #encode_pairs(params) ⇒ Object
- #get_image(image_id) ⇒ Object
- #get_images ⇒ Object
- #get_server(server_id) ⇒ Object
- #get_servers ⇒ Object
-
#initialize(options) ⇒ Real
constructor
A new instance of Real.
- #load_standard_image(destination_image, source_image) ⇒ Object
-
#raise_if_error!(response) ⇒ Object
TODO.
- #request(params) ⇒ Object
- #reset_server(server_id) ⇒ Object
- #shutdown_server(server_id) ⇒ Object
- #start_server(server_id) ⇒ Object
- #stop_server(server_id) ⇒ Object
- #update_image(identifier, options) ⇒ Object
- #update_server(identifier, options) ⇒ Object
Constructor Details
#initialize(options) ⇒ Real
Returns a new instance of Real.
55 56 57 58 59 60 61 |
# File 'lib/fog/serverlove/compute.rb', line 55 def initialize() @api_uuid = [:serverlove_uuid] || Fog.credentials[:serverlove_uuid] @api_key = [:serverlove_api_key] || Fog.credentials[:serverlove_api_key] @api_host = [:serverlove_api_url] || Fog.credentials[:serverlove_api_url] || API_HOST @connection = Fog::Connection.new("https://#{@api_uuid}:#{@api_key}@#{@api_host}") end |
Instance Method Details
#create_image(options) ⇒ Object
6 7 8 9 |
# File 'lib/fog/serverlove/requests/compute/create_image.rb', line 6 def create_image() return nil if .empty? || .nil? request(:method => "post", :path => "/drives/create", :expects => 200, :options => ) end |
#create_server(options) ⇒ Object
6 7 8 9 |
# File 'lib/fog/serverlove/requests/compute/create_server.rb', line 6 def create_server() return nil if .empty? || .nil? request(:method => "post", :path => "/servers/create/stopped", :expects => 200, :options => ) end |
#destroy_image(drive_id) ⇒ Object
6 7 8 |
# File 'lib/fog/serverlove/requests/compute/destroy_image.rb', line 6 def destroy_image(drive_id) request(:method => "post", :path => "/drives/#{drive_id}/destroy", :expects => 204) end |
#destroy_server(server_id) ⇒ Object
6 7 8 |
# File 'lib/fog/serverlove/requests/compute/destroy_server.rb', line 6 def destroy_server(server_id) request(:method => "post", :path => "/servers/#{server_id}/destroy", :expects => 204) end |
#encode_pairs(params) ⇒ Object
82 83 84 85 86 |
# File 'lib/fog/serverlove/compute.rb', line 82 def encode_pairs(params) params.keys.collect do |key| "#{key} #{params[key]}" end.join("\n") end |
#get_image(image_id) ⇒ Object
6 7 8 |
# File 'lib/fog/serverlove/requests/compute/get_image.rb', line 6 def get_image(image_id) request(:method => "get", :path => "/drives/#{image_id}/info", :expects => 200) end |
#get_images ⇒ Object
6 7 8 |
# File 'lib/fog/serverlove/requests/compute/get_images.rb', line 6 def get_images request(:method => "get", :path => "/drives/info", :expects => 200) end |
#get_server(server_id) ⇒ Object
6 7 8 |
# File 'lib/fog/serverlove/requests/compute/get_server.rb', line 6 def get_server(server_id) request(:method => "get", :path => "/servers/#{server_id}/info", :expects => 200) end |
#get_servers ⇒ Object
6 7 8 |
# File 'lib/fog/serverlove/requests/compute/get_servers.rb', line 6 def get_servers request(:method => "get", :path => "/servers/info", :expects => 200) end |
#load_standard_image(destination_image, source_image) ⇒ Object
6 7 8 |
# File 'lib/fog/serverlove/requests/compute/load_standard_image.rb', line 6 def load_standard_image(destination_image, source_image) request(:method => "post", :path => "/drives/#{destination_image}/image/#{source_image}/gunzip", :expects => 204) end |
#raise_if_error!(response) ⇒ Object
TODO
89 90 91 92 93 94 |
# File 'lib/fog/serverlove/compute.rb', line 89 def raise_if_error!(response) case response.status when 400 then raise 'omg' end end |
#request(params) ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/fog/serverlove/compute.rb', line 63 def request(params) params = params.merge!( :headers => { "Accept" => "application/json" } ) unless params[:options].nil? params[:body] = encode_pairs(params[:options]) params.delete(:options) end response = @connection.request(params) raise_if_error!(response) response.body = Fog::JSON.decode(response.body) if response.body && response.body.length > 0 response end |
#reset_server(server_id) ⇒ Object
6 7 8 |
# File 'lib/fog/serverlove/requests/compute/reset_server.rb', line 6 def reset_server(server_id) request(:method => "post", :path => "/servers/#{server_id}/reset", :expects => 204) end |
#shutdown_server(server_id) ⇒ Object
6 7 8 |
# File 'lib/fog/serverlove/requests/compute/shutdown_server.rb', line 6 def shutdown_server(server_id) request(:method => "post", :path => "/servers/#{server_id}/shutdown", :expects => 204) end |
#start_server(server_id) ⇒ Object
6 7 8 |
# File 'lib/fog/serverlove/requests/compute/start_server.rb', line 6 def start_server(server_id) request(:method => "post", :path => "/servers/#{server_id}/start", :expects => 200) end |
#stop_server(server_id) ⇒ Object
6 7 8 |
# File 'lib/fog/serverlove/requests/compute/stop_server.rb', line 6 def stop_server(server_id) request(:method => "post", :path => "/servers/#{server_id}/stop", :expects => 204) end |
#update_image(identifier, options) ⇒ Object
6 7 8 9 10 |
# File 'lib/fog/serverlove/requests/compute/update_image.rb', line 6 def update_image(identifier, ) return nil if identifier.nil? || identifier == "" return nil if .empty? || .nil? request(:method => "post", :path => "/drives/#{identifier}/set", :expects => 200, :options => ) end |
#update_server(identifier, options) ⇒ Object
6 7 8 9 10 |
# File 'lib/fog/serverlove/requests/compute/update_server.rb', line 6 def update_server(identifier, ) return nil if identifier.nil? || identifier == "" return nil if .empty? || .nil? request(:method => "post", :path => "/servers/#{identifier}/set", :expects => 200, :options => ) end |