Parent

Class/Module Index [+]

Quicksearch

Fog::Compute::Glesys::Real

Public Class Methods

new(options) click to toggle source
# 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

Public Instance Methods

create(options = {}) click to toggle source
# File lib/fog/glesys/requests/compute/create.rb, line 6
def create(options = {})
  request('server/create/',options)
end
destroy(options) click to toggle source
# 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
ip_add(params) click to toggle source
# File lib/fog/glesys/requests/compute/ip_add.rb, line 6
def ip_add(params)
  request("/ip/add", params)
end
ip_details(params) click to toggle source
# File lib/fog/glesys/requests/compute/ip_details.rb, line 6
def ip_details(params)
  request("/ip/details", params)
end
ip_list_free(options = {}) click to toggle source
# File lib/fog/glesys/requests/compute/ip_list_free.rb, line 6
def ip_list_free(options = {})
  request("/ip/listfree", options)
end
ip_list_own(options = {}) click to toggle source
# File lib/fog/glesys/requests/compute/ip_list_own.rb, line 6
def ip_list_own(options = {})
  request("/ip/listown", options)
end
ip_release(params) click to toggle source
# File lib/fog/glesys/requests/compute/ip_release.rb, line 6
def ip_release(params)
  request("/ip/release", params)
end
ip_remove(params) click to toggle source
# File lib/fog/glesys/requests/compute/ip_remove.rb, line 6
def ip_remove(params)
  request("/ip/remove", params)
end
ip_take(params) click to toggle source
# File lib/fog/glesys/requests/compute/ip_take.rb, line 6
def ip_take(params)
  request("/ip/take", params)
end
list_servers(serverid = nil, options = {}) click to toggle source
# 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
reboot(param) click to toggle source
# File lib/fog/glesys/requests/compute/reboot.rb, line 6
def reboot(param)
  request("/server/reboot", param)
end
request(method_name, options = {}) click to toggle source
# 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
server_details(serverid, options = {}) click to toggle source
# File lib/fog/glesys/requests/compute/server_details.rb, line 6
def server_details(serverid, options = {})
  request("/server/details", { :serverid => serverid }.merge!(options) )
end
server_status(serverid) click to toggle source
# File lib/fog/glesys/requests/compute/server_status.rb, line 6
def server_status(serverid)
  request("/server/status", { :serverid => serverid } )
end
start(param) click to toggle source
# File lib/fog/glesys/requests/compute/start.rb, line 6
def start(param)
  request("/server/start", param)
end
stop(param) click to toggle source
# File lib/fog/glesys/requests/compute/stop.rb, line 6
def stop(param)
  request("/server/stop", param)
end
template_list() click to toggle source
# File lib/fog/glesys/requests/compute/template_list.rb, line 6
def template_list
  request("/server/templates")
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.