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.

Figure 1. Inventory Navigation
Shows inventory navigation with traversal spec and property spec.