1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/xenserver/models/compute/host.rb

53 lines
1.3 KiB
Ruby
Raw Normal View History

2012-04-02 07:25:03 -04:00
require 'fog/core/model'
module Fog
module Compute
class XenServer
class Host < Fog::Model
# API Reference here:
# http://docs.vmd.citrix.com/XenServer/5.6.0/1.0/en_gb/api/?c=host
identity :reference
attribute :name, :aliases => :name_label
attribute :uuid
attribute :address
attribute :allowed_operations
attribute :enabled
attribute :hostname
attribute :__metrics, :aliases => :metrics
2012-04-02 07:25:03 -04:00
attribute :name_description
attribute :other_config
attribute :__pbds, :aliases => :PBDs
attribute :__pifs, :aliases => :PIFs
attribute :__resident_vms, :aliases => :resident_VMs
def pifs
__pifs.collect { |pif| connection.pifs.get pif }
end
def pbds
__pbds.collect { |pbd| connection.pbds.get pbd }
end
def resident_servers
__resident_vms.collect { |ref| connection.servers.get ref }
end
def resident_vms
resident_servers
end
def metrics
return nil unless __metrics
rec = connection.get_record(__metrics, 'host_metrics' )
Fog::Compute::XenServer::HostMetrics.new(rec)
end
2012-04-02 07:25:03 -04:00
end
end
end
end