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.