TraversalSpec Traversal
Use a TraversalSpec
object to identify a managed
object type and a traversal property in that type. TraversalSpec
contains
the following properties:
- type – identifies an inventory object type.
- path – specifies a managed object reference property in the type object. This property provides the traversal path extending from this object.
- selectSet – specifies
an optional list of selection objects for additonal object traversal paths. The
PropertyCollector
tries to apply theTraversalSpec
objects in theselectSet
array to the results of the traversal (the targets of TraversalSpec.path). If the type of a referenced managed object matches one of the specs in theSelectSet
array, the PropertyCollector follows thatTraversalSpec
next.The
selectSet
array can also containSelectionSpec
objects; aSelectionSpec
is a reference to a namedTraversalSpec
. See SelectionSpec Traversal. - skip – indicates
whether to collect properties for managed objects referenced by the
path
property.
During inventory traversal, the
PropertyCollector
visits managed objects referenced by the
TraversalSpec.path
property values. When the
PropertyCollector
visits an object, it collects properties if the
object's type matches a PropertySpec.type
value.
Traversal starts with the managed object referenced by ObjectSpec.obj
, and the
PropertyCollector
also collects its properties if it matches a
PropertySpec
and if ObjectSpec.skip
is
false
. Then the PropertyCollector
follows the
path
property of each applicable TraversalSpec
in
the ObjectSpec.selectSet
array. If the
TraversalSpec.skip
property is false
, the
PropertyCollector
can also collect properties from the objects
referenced by the pathSet
property array.
Finally, thu PropertyCollector
checks the
TraversalSpec.selectSet
array for any traversal specs that apply to
the referenced objects, and the traversal continues until no more traversal specs
apply.
Inventory Navigation is a representation of a
PropertyFilterSpec that defines traversal
of VirtualMachine objects to access related
Network
objects.. The filter uses a ContainerView as a starting point. The TraversalSpec for the ContainerView specifies the view
property for access to the view’s virtual machines. The figure shows TraversalSpec objects that extend navigation from a
VirtualMachine object to the associated
Network and ResourcePool objects. The PropertyCollector applies these TraversalSpec objects to each of the VirtualMachine objects in the view list. The figure also shows the
PropertySpec objects for collecting data
from VirtualMachine, Network, and ResourcePool objects.
