class VCenterDriver::VirtualMachineFolder
VirtualMachineFolder class
Attributes
item[RW]
items[RW]
Public Class Methods
new(item)
click to toggle source
# File lib/vm_folder.rb, line 24 def initialize(item) @item = item check_item(@item, nil) @items = {} end
Public Instance Methods
fetch!()
click to toggle source
Builds a hash with Datastore-Ref / Datastore to be used as a cache @return [Hash] in the form
{ ds_ref [Symbol] => Datastore object }
# File lib/vm_folder.rb, line 36 def fetch! VIClient.get_entities(@item, 'VirtualMachine').each do |item| item_name = item._ref @items[item_name.to_sym] = VirtualMachine.new_with_item(item) end end
fetch_templates!()
click to toggle source
# File lib/vm_folder.rb, line 43 def fetch_templates! VIClient.get_entities(@item, 'VirtualMachine').each do |item| if item.config.template item_name = item._ref @items[item_name.to_sym] = Template.new(item) end end end
get(ref)
click to toggle source
Returns a Datastore. Uses the cache if available. @param ref [Symbol] the vcenter ref @return Datastore
# File lib/vm_folder.rb, line 58 def get(ref) if !@items[ref.to_sym] rbvmomi_dc = RbVmomi::VIM::Datastore.new(@item._connection, ref) @items[ref.to_sym] = Datastore.new(rbvmomi_dc) end @items[ref.to_sym] end