Class: Vmesh::Datacenter
- Inherits:
-
Object
- Object
- Vmesh::Datacenter
- Defined in:
- lib/vmesh/datacenter.rb
Instance Attribute Summary collapse
-
#dc ⇒ Object
Returns the value of attribute dc.
Class Method Summary collapse
-
.find_pool(vim, name, dcname = nil) ⇒ Object
non wrapped object, gasp!.
- .get(vim, datacenter_name) ⇒ Object
Instance Method Summary collapse
-
#initialize(datacenter) ⇒ Datacenter
constructor
A new instance of Datacenter.
- #name ⇒ Object
Constructor Details
#initialize(datacenter) ⇒ Datacenter
Returns a new instance of Datacenter.
4 5 6 |
# File 'lib/vmesh/datacenter.rb', line 4 def initialize(datacenter) @dc = datacenter end |
Instance Attribute Details
#dc ⇒ Object
Returns the value of attribute dc.
3 4 5 |
# File 'lib/vmesh/datacenter.rb', line 3 def dc @dc end |
Class Method Details
.find_pool(vim, name, dcname = nil) ⇒ Object
non wrapped object, gasp!
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/vmesh/datacenter.rb', line 14 def self.find_pool(vim, name, dcname = nil) Vmesh::logger.debug "Looking for datacenter pool #{name} in datacenter named #{dcname}." dc = vim.serviceInstance.find_datacenter(dcname) or abort "datacenter not found" dc = Datacenter.get(vim, nil).dc baseEntity = dc.hostFolder entityArray = name.split('/') entityArray.each do |entityArrItem| if entityArrItem != '' if baseEntity.is_a? RbVmomi::VIM::Folder baseEntity = baseEntity.childEntity.find { |f| f.name == entityArrItem } or abort "no such pool #{name} while looking for #{entityArrItem}" elsif baseEntity.is_a? RbVmomi::VIM::ClusterComputeResource baseEntity = baseEntity.resourcePool.resourcePool.find { |f| f.name == entityArrItem } or abort "no such pool #{name} while looking for #{entityArrItem}" elsif baseEntity.is_a? RbVmomi::VIM::ResourcePool baseEntity = baseEntity.resourcePool.find { |f| f.name == entityArrItem } or abort "no such pool #{name} while looking for #{entityArrItem}" else abort "Unexpected Object type encountered #{baseEntity.type} while finding resourcePool" end end end baseEntity = baseEntity.resourcePool if not baseEntity.is_a?(RbVmomi::VIM::ResourcePool) and baseEntity.respond_to?(:resourcePool) baseEntity end |
.get(vim, datacenter_name) ⇒ Object
8 9 10 11 |
# File 'lib/vmesh/datacenter.rb', line 8 def self.get(vim, datacenter_name) dc = vim.serviceInstance.find_datacenter(datacenter_name) or abort "datacenter #{datacenter_name} not found" Datacenter.new dc end |
Instance Method Details
#name ⇒ Object
38 39 40 |
# File 'lib/vmesh/datacenter.rb', line 38 def name @dc.name end |