# File lib/fog/glesys/compute.rb, line 72 def initialize(options) require 'base64' @api_url = options[:glesys_api_url] || Fog.credentials[:glesys_api_url] || API_URL @glesys_username = options[:glesys_username] || Fog.credentials[:glesys_api_key] @glesys_api_key = options[:glesys_api_key] || Fog.credentials[:glesys_api_key] @connection_options = options[:connection_options] || {} @persistent = options[:persistent] || false @connection = Fog::Connection.new(@api_url, @persistent, @connection_options) end
# File lib/fog/glesys/requests/compute/create.rb, line 6 def create(options = {}) request('server/create/',options) end
# File lib/fog/glesys/requests/compute/destroy.rb, line 6 def destroy(options) if options[:keepip].nil? options[:keepip] = 0 end request("/server/destroy", options) end
# File lib/fog/glesys/requests/compute/ip_add.rb, line 6 def ip_add(params) request("/ip/add", params) end
# File lib/fog/glesys/requests/compute/ip_details.rb, line 6 def ip_details(params) request("/ip/details", params) end
# File lib/fog/glesys/requests/compute/ip_list_free.rb, line 6 def ip_list_free(options = {}) request("/ip/listfree", options) end
# File lib/fog/glesys/requests/compute/ip_list_own.rb, line 6 def ip_list_own(options = {}) request("/ip/listown", options) end
# File lib/fog/glesys/requests/compute/ip_release.rb, line 6 def ip_release(params) request("/ip/release", params) end
# File lib/fog/glesys/requests/compute/ip_remove.rb, line 6 def ip_remove(params) request("/ip/remove", params) end
# File lib/fog/glesys/requests/compute/ip_take.rb, line 6 def ip_take(params) request("/ip/take", params) end
# File lib/fog/glesys/requests/compute/list_servers.rb, line 6 def list_servers(serverid = nil, options = {}) unless serverid.nil? options[:serverid] = serverid end request("/server/list", options) end
# File lib/fog/glesys/requests/compute/reboot.rb, line 6 def reboot(param) request("/server/reboot", param) end
# File lib/fog/glesys/compute.rb, line 83 def request(method_name, options = {}) options.merge!( {:format => 'json'}) begin parser = options.delete(:parser) data = @connection.request( :expects => 200, :method => "POST", :body => urlencode(options), :parser => parser, :path => method_name, :headers => { 'Authorization' => "Basic #{encoded_api_auth}", 'Content-Type' => 'application/x-www-form-urlencoded' } ) data.body = Fog::JSON.decode(data.body) response_code = data.body['response']['status']['code'] unless response_code.to_i == 200 raise Fog::Compute::Glesys::Error, "#{data.body['response']['status']['text']}" end data rescue Excon::Errors::HTTPStatusError => error raise case error when Excon::Errors::NotFound Fog::Compute::Glesys::NotFound.slurp(error) else error end end end
# File lib/fog/glesys/requests/compute/server_details.rb, line 6 def server_details(serverid, options = {}) request("/server/details", { :serverid => serverid }.merge!(options) ) end
# File lib/fog/glesys/requests/compute/server_status.rb, line 6 def server_status(serverid) request("/server/status", { :serverid => serverid } ) end
# File lib/fog/glesys/requests/compute/start.rb, line 6 def start(param) request("/server/start", param) end
Generated with the Darkfish Rdoc Generator 2.