Parent

Class/Module Index [+]

Quicksearch

Fog::Compute::XenServer::Server

Public Instance Methods

affinity() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 95
def affinity
  service.hosts.get __affinity
end
clean_reboot() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 215
def clean_reboot
  reboot 'clean'
end
clean_shutdown() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 230
def clean_shutdown
  stop 'clean'
end
consoles() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 99
def consoles
  __consoles.map {|console| service.consoles.get console }
end
destroy() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 103
def destroy
  # Make sure it's halted
  stop('hard')
  vbds.each do |vbd|
    if vbd.type == "Disk"
      vbd.unplug                  if vbd.allowed_operations.include?("unplug")
      vbd.vdi.destroy                  if vbd.vdi.allowed_operations.include?("destroy")
    end
  end
  service.destroy_server( reference )
  true
end
guest_metrics() click to toggle source

This is not always present in XenServer VMs Guest needs XenTools installed to report this AFAIK

# File lib/fog/xenserver/models/compute/server.rb, line 148
def guest_metrics
  return nil unless __guest_metrics
  rec = service.get_record( __guest_metrics, 'VM_guest_metrics' )
  Fog::Compute::XenServer::GuestMetrics.new(rec)
end
halted?() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 171
def halted?
  reload
  power_state == "Halted"
end
hard_reboot() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 211
def hard_reboot
  reboot 'hard'
end
hard_shutdown() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 226
def hard_shutdown
  stop 'hard'
end
home_hypervisor() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 158
def home_hypervisor
  service.hosts.first
end
mac_address() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 162
def mac_address
  networks.first.MAC
end
networks() click to toggle source

associations

# File lib/fog/xenserver/models/compute/server.rb, line 137
def networks
  vifs.map { |v| v.network }
end
provision() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 234
def provision
  service.provision_server reference
end
reboot(stype = 'clean') click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 206
def reboot(stype = 'clean')
  service.reboot_server(reference, stype)
  true
end
refresh() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 126
def refresh
  data = service.get_record( reference, 'VM' )
  merge_attributes( data )
  true
end
resident_on() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 141
def resident_on
  service.hosts.get __resident_on
end
revert(snapshot_ref) click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 242
def revert(snapshot_ref)
  service.snapshot_revert(snapshot_ref)
end
running?() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 166
def running?
  reload
  power_state == "Running"
end
save(params = {}) click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 183
def save(params = {})
  requires :name
  nets = attributes[:networks] || []
  if params[:auto_start].nil?
    auto_start = true
  else
    auto_start = params[:auto_start]
  end
  if template_name
    attr = service.get_record(
      service.create_server( name, template_name, nets, :auto_start => auto_start),
      'VM'
    )
  else
    attr = service.get_record(
      service.create_server_raw(attributes),
      'VM'
    )
  end
  merge_attributes attr
  true
end
set_attribute(name, *val) click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 118
def set_attribute(name, *val)
  data = service.set_attribute( 'VM', reference, name, *val )
  # Do not reload automatically for performance reasons
  # We can set multiple attributes at the same time and
  # then reload manually
  #reload
end
snapshot(name) click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 238
def snapshot(name)
  service.snapshot_server(reference, name)
end
start() click to toggle source

operations

# File lib/fog/xenserver/models/compute/server.rb, line 177
def start
  return false if running?
  service.start_server( reference )
  true
end
stop(stype = 'clean') click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 219
def stop(stype = 'clean')
  return false if !running?
  service.shutdown_server( reference, stype )
  wait_for { power_state == 'Halted' }
  true
end
tools_installed?() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 154
def tools_installed?
  !guest_metrics.nil?
end
vbds() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 91
def vbds
  __vbds.map {|vbd| service.vbds.get vbd }
end
vifs() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 132
def vifs
  __vifs.map { |vif| service.vifs.get vif }
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.