PropertyCollector Data

This document assumes that you want to keep up with changes in the configuration of the vCenter Server, and therefore plan to use the update tracking capability of the
PropertyCollector
.
The
PropertyCollector
requires two fairly complex arguments: the
PropertySpec
and the
ObjectSpec
. The
ObjectSpec
contains instructions to the
PropertyCollector
describing where to look for the desired data. Because configuration information in vSphere is organized like a directory tree, the
ObjectSpec
must describe how to traverse the tree to obtain the desired information. The net result is a complex, nested, and recursive list of instructions. Fortunately, once you have determined the location of all the desired information, the
ObjectSpec
needed to determine the layout of a vSphere object hierarchy can be a static unvarying object. See the code example in section Understanding an ObjectSpec.
The
PropertySpec
is a list of desired property information. Formulating a list that includes all of the desired information can take some effort to compile, but once determined, this can be a static object also.
The data returned from the
PropertyCollector
is a container class called
PropertyFilterUpdate
, which contains an
objectSet
with an item-by-item list of changes to object properties. Every item in this container is identified with one of the following keys: enter (add), leave (delete), and modify. On the first data request, every data item is included, and “enter” is marked for every data item.
The
PropertyCollector
presents its results in what amounts to random order. Since all managed objects have a “parent” property, you can reconstruct the configuration hierarchy by building a tree in memory, using the
parent
identification to organize. The root folder is identified as the only folder without a parent.