class Solusvm::Node

Solusvm::Node is the class for working with nodes.

Public Instance Methods

available_ips(nodeid) click to toggle source

Retrieves a list of available IPs for a specific node.

# File lib/solusvm/node.rb, line 50
def available_ips(nodeid)
  perform_request(action: 'node-iplist', nodeid: nodeid)
  if statusmsg.match /no available ip/i
    []
  else
    parse_returned_params_as_list('ips')
  end
end
ids(type) click to toggle source

Lists existing nodes ids of a given type.

Parameters:

  • type - a valid virtualization type; e.g: [openvz|xen|xen hvm|kvm]

# File lib/solusvm/node.rb, line 30
def ids(type)
  validate_server_type(type) do
    perform_request(action: 'node-idlist', type: type)
    parse_returned_params_as_list('nodes')
  end
end
list(type) click to toggle source

Lists existing nodes of a given type.

Parameters:

  • type - a valid virtualization type; e.g: [openvz|xen|xen hvm|kvm]

# File lib/solusvm/node.rb, line 10
def list(type)
  validate_server_type(type) do
    perform_request(action: 'listnodes', type: type)
    parse_returned_params_as_list('nodes')
  end
end
list_groups() click to toggle source

Lists existing node groups

# File lib/solusvm/node.rb, line 18
def list_groups
  perform_request(action: 'listnodegroups')

  # return list of node groups with numeric values excluded
  returned_parameters['nodegroups'].to_s.split(',').map {|group| group.split('|')[1]}
end
statistics(nodeid) click to toggle source

Retrieves statistics from a specific node.

# File lib/solusvm/node.rb, line 38
def statistics(nodeid)
  perform_request(action: 'node-statistics', nodeid: nodeid)
  returned_parameters
end
virtualservers(nodeid) click to toggle source

Lists virtual servers from a specific node.

# File lib/solusvm/node.rb, line 60
def virtualservers(nodeid)
  perform_request({action: "node-virtualservers", nodeid: nodeid}, "virtualserver")

  if returned_parameters["virtualservers"] && returned_parameters["virtualservers"]["virtualserver"]
    returned_parameters["virtualservers"]["virtualserver"]
  elsif returned_parameters["virtualservers"]
    []
  end
end
xenresources(nodeid) click to toggle source

Retrieves available xen resources from a specific node.

# File lib/solusvm/node.rb, line 44
def xenresources(nodeid)
  perform_request(action: 'node-xenresources', nodeid: nodeid)
  returned_parameters
end