class RbVmomi::VIM::ResourcePool

Copyright © 2011-2017 VMware, Inc. All Rights Reserved. SPDX-License-Identifier: MIT

Public Class Methods

resourcePoolSubTree(objs, fields = []) click to toggle source
# File lib/rbvmomi/vim/ResourcePool.rb, line 26
def self.resourcePoolSubTree objs, fields = []
  fields = (fields + ['name', 'resourcePool']).uniq
  filterSpec = RbVmomi::VIM.PropertyFilterSpec(
    :objectSet => objs.map do |obj|
      RbVmomi::VIM.ObjectSpec(
        :obj => obj,
        :selectSet => [
          RbVmomi::VIM.TraversalSpec(
            :name => "tsRP",
            :type => 'ResourcePool',
            :path => 'resourcePool',
            :skip => false,
            :selectSet => [
              RbVmomi::VIM.SelectionSpec(:name => "tsRP")
            ]
          )
        ]
      )
    end,
    :propSet => [{
      :pathSet => fields,
      :type => 'ResourcePool'
    }]
  )

  propCollector = objs.first._connection.propertyCollector
  result = propCollector.RetrieveProperties(:specSet => [filterSpec])
  
  Hash[result.map do |x|
    [x.obj, x.to_hash]
  end]
end

Public Instance Methods

find(name) click to toggle source

Retrieve a child ResourcePool. @param name [String] Name of the child. @return [VIM::ResourcePool]

# File lib/rbvmomi/vim/ResourcePool.rb, line 8
def find name
  _connection.searchIndex.FindChild(:entity => self, :name => name)
end
resourcePoolSubTree(fields = []) click to toggle source
# File lib/rbvmomi/vim/ResourcePool.rb, line 22
def resourcePoolSubTree fields = []
  self.class.resourcePoolSubTree [self], fields
end
traverse(path) click to toggle source

Retrieve a descendant of this ResourcePool. @param path [String] Path delimited by '/'. @return [VIM::ResourcePool]

# File lib/rbvmomi/vim/ResourcePool.rb, line 15
def traverse path
  es = path.split('/').reject(&:empty?)
  es.inject(self) do |f,e|
    f.find(e) || return
  end
end