class Fog::Compute::Gridscale::Server

Public Instance Methods

cpu() click to toggle source
# File lib/fog/compute/gridscale/models/server.rb, line 54
def cpu
  cores
end
delete() click to toggle source
# File lib/fog/compute/gridscale/models/server.rb, line 140
def delete
  requires :object_uuid
  response = service.server_delete(object_uuid)
  response.body
end
destroy() click to toggle source
# File lib/fog/compute/gridscale/models/server.rb, line 146
def destroy
  requires :object_uuid
  response = service.server_delete(object_uuid)
  response
end
interfaces() click to toggle source
# File lib/fog/compute/gridscale/models/server.rb, line 80
def interfaces
  requires :object_uuid
  service.server_relation_networks.all(object_uuid)
end
ipv4_address() click to toggle source
# File lib/fog/compute/gridscale/models/server.rb, line 62
def ipv4_address
  if (net = relations['public_ips'].find {|n|n['family']==4})
    net['ip']
  end
end
ipv6_address() click to toggle source
# File lib/fog/compute/gridscale/models/server.rb, line 85
def ipv6_address
  if (net = relations['public_ips'].find {|n|n['family']==6})
    net['ip']
  end
end
mac() click to toggle source
# File lib/fog/compute/gridscale/models/server.rb, line 68
def mac
  if relations['networks'] and relations['networks'] != []
    if relations['networks'].first
      if relations['networks'].first['mac'] != nil
        relations['networks'].first['mac'].to_s
      else
        nil
      end
    end
  end
end
public_ip_address() click to toggle source
# File lib/fog/compute/gridscale/models/server.rb, line 58
def public_ip_address
  ipv4_address
end
ready?() click to toggle source
# File lib/fog/compute/gridscale/models/server.rb, line 169
def ready?
  requires :object_uuid
  response = service.server_power_get(object_uuid)
  response.body['power']
end
save() click to toggle source
# File lib/fog/compute/gridscale/models/server.rb, line 91
def save
  raise Fog::Errors::Error.new('Re-saving an existing object may create a duplicate') if persisted?
  requires :name, :cores, :memory

  options = {}
  if attributes[:interfaces_attributes]
    options[:interfaces_attributes] = attributes[:interfaces_attributes]
  end

  if attributes[:storage]
    options[:storage] = attributes[:storage]
  end

  if attributes[:labels]
    options[:labels] = attributes[:labels]
  end

  if attributes[:auto_recovery]
    options[:auto_recovery] = auto_recovery
  end

  if attributes[:hardware_profile]
    options[:hardware_profile] = hardware_profile
  end

  if attributes[:availability_zone]
    options[:availability_zone] = availability_zone
  end

  if attributes[:location_uuid]
    options[:location_uuid] = location_uuid
  end

  if attributes[:template_uuid]
    options[:template_uuid] = template_uuid
  end

  if attributes[:sshkey_uuid]
    options[:sshkey_uuid] = sshkey_uuid
  end

  if attributes[:isoimage_uuid]
    options[:isoimage_uuid] = isoimage_uuid
  end

  data = service.server_create(name, cores, memory, options)
  merge_attributes(data.body['server'])
end
shutdown() click to toggle source
# File lib/fog/compute/gridscale/models/server.rb, line 157
def shutdown
  requires :object_uuid
  response = service.server_shutdown(object_uuid)
  response
end
start() click to toggle source
# File lib/fog/compute/gridscale/models/server.rb, line 152
def start
  response = service.server_power_on(object_uuid)
  response.body
end
stop() click to toggle source
# File lib/fog/compute/gridscale/models/server.rb, line 163
def stop
  requires :object_uuid
  response = service.server_power_off(object_uuid)
  response
end