Class: VCenterDriver::DatastoreFolder
- Inherits:
-
Object
- Object
- VCenterDriver::DatastoreFolder
- Defined in:
- lib/datastore.rb
Overview
Class DatastoreFolder
Instance Attribute Summary collapse
-
#item ⇒ Object
Returns the value of attribute item.
-
#items ⇒ Object
Returns the value of attribute items.
Instance Method Summary collapse
-
#fetch! ⇒ Hash
Builds a hash with Datastore-Ref / Datastore to be used as a cache.
-
#get(ref) ⇒ Object
Returns a Datastore or StoragePod.
-
#initialize(item) ⇒ DatastoreFolder
constructor
A new instance of DatastoreFolder.
Constructor Details
#initialize(item) ⇒ DatastoreFolder
Returns a new instance of DatastoreFolder.
32 33 34 35 |
# File 'lib/datastore.rb', line 32 def initialize(item) @item = item @items = {} end |
Instance Attribute Details
#item ⇒ Object
Returns the value of attribute item.
30 31 32 |
# File 'lib/datastore.rb', line 30 def item @item end |
#items ⇒ Object
Returns the value of attribute items.
30 31 32 |
# File 'lib/datastore.rb', line 30 def items @items end |
Instance Method Details
#fetch! ⇒ Hash
Builds a hash with Datastore-Ref / Datastore to be used as a cache
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/datastore.rb', line 42 def fetch! VIClient.get_entities(@item, 'Datastore').each do |item| item_name = item._ref @items[item_name.to_sym] = Datastore.new(item) end VIClient.get_entities(@item, 'StoragePod').each do |sp| @items[sp._ref.to_sym] = StoragePod.new(sp) VIClient.get_entities(sp, 'Datastore').each do |item| item_name = item._ref @items[item_name.to_sym] = Datastore.new(item) end end @items end |
#get(ref) ⇒ Object
Returns a Datastore or StoragePod. Uses the cache if available.
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/datastore.rb', line 63 def get(ref) if !@items[ref.to_sym] if ref.start_with?('group-') rbvmomi_spod = RbVmomi::VIM::StoragePod .new( @item._connection, ref ) rescue nil @items[ref.to_sym] = StoragePod.new(rbvmomi_spod) else rbvmomi_ds = RbVmomi::VIM::Datastore .new( @item._connection, ref ) rescue nil @items[ref.to_sym] = Datastore.new(rbvmomi_ds) end end @items[ref.to_sym] end |