Class/Module Index [+]

Quicksearch

Fog::Compute::Ecloud::Servers

Public Instance Methods

all() click to toggle source
# File lib/fog/ecloud/models/compute/servers.rb, line 12
def all
  data = service.get_servers(href).body
  if data.keys.include?(:VirtualMachines)
    data = data[:VirtualMachines][:VirtualMachine]
  elsif data[:VirtualMachine]
    data = data[:VirtualMachine]
  else
    data = []
  end
  load(data)
end
create( template_uri, options ) click to toggle source
# File lib/fog/ecloud/models/compute/servers.rb, line 35
def create( template_uri, options )
  options[:cpus]        ||= 1
  options[:memory]      ||= 512
  options[:description] ||= ""
  options[:tags]        ||= []

  if template_uri =~ /\/templates\/\d+/
    options[:uri] = href + "/action/createVirtualMachine"
    options[:customization] ||= :linux
    options[:powered_on] ||= false
    if options[:ips]
      options[:ips] = [*options[:ips]]
    else
      [*options[:network_uri]].each do |uri|
        index = options[:network_uri].index(uri)
        ip = self.service.ip_addresses(:href => uri).detect { |i| i.host == nil && i.detected_on.nil? }.name
        options[:ips] ||= []
        options[:ips][index] = ip
      end
    end
    data = service.virtual_machine_create_from_template( template_uri, options ).body
  else
    options[:uri] = href + "/action/importVirtualMachine"
    data = service.virtual_machine_import( template_uri, options ).body
  end
  object = self.service.servers.new(data)
  object
end
from_data(data) click to toggle source
# File lib/fog/ecloud/models/compute/servers.rb, line 31
def from_data(data)
  new(data)
end
get(uri) click to toggle source
# File lib/fog/ecloud/models/compute/servers.rb, line 24
def get(uri)
  data = service.get_server(uri).body
  new(data)
rescue Fog::Errors::NotFound
  nil
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.