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