Use a TraversalSpec object to identify a managed object type and a traversal property in that type. TraversalSpec contains type, path, and selection 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 additional object traversal paths. The PropertyCollector tries to apply the TraversalSpec objects in the selectSet 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 the SelectSet array, the PropertyCollector follows that TraversalSpec next. The selectSet array can also contain SelectionSpec objects; a SelectionSpec is a reference to a named TraversalSpec. 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, the 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.