class Fog::Compute::Ecloud::Servers
Public Instance Methods
all()
click to toggle source
# File lib/fog/compute/ecloud/models/servers.rb, line 11 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/compute/ecloud/models/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 = 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 = service.servers.new(data) object end
from_data(data)
click to toggle source
# File lib/fog/compute/ecloud/models/servers.rb, line 31 def from_data(data) new(data) end
get(uri)
click to toggle source
# File lib/fog/compute/ecloud/models/servers.rb, line 23 def get(uri) data = service.get_server(uri).body new(data) rescue ServiceError => e raise e unless e.status_code == 404 nil end