Quantcast
Channel: VMware Communities : All Content - All Communities
Viewing all articles
Browse latest Browse all 207710

Property Collector - Any suggestions to optimize the following query to get datastores?

$
0
0

Hi,

 

I am using following query\traversal path to get datstores in vcenter/esx.

 

Is there any improvements or optimizations can be done to this query?

 

 

//creating traversal spec to slect all datastore objects in computeresource

 

TraversalSpec computeResourceDatastoreTraversalSpec = new TraversalSpec();

computeResourceDatastoreTraversalSpec.type =

"ComputeResource";

computeResourceDatastoreTraversalSpec.name =

"computeResourceDatastoreTraversalSpec";

computeResourceDatastoreTraversalSpec.path =

"datastore";

computeResourceDatastoreTraversalSpec.skip =

false;

 

//creating traversal spec to slect all datastore objects in clusterresource

 

TraversalSpec clusterComputeResourceDatastoreTraversalSpec = new TraversalSpec();

clusterComputeResourceDatastoreTraversalSpec.type =

"ClusterComputeResource";

clusterComputeResourceDatastoreTraversalSpec.name =

"clusterComputeResourceDatastoreTraversalSpec";

clusterComputeResourceDatastoreTraversalSpec.path =

"datastore";

clusterComputeResourceDatastoreTraversalSpec.skip =

false;

 

//creating traversal spec to select all hostfolder objects in datastor

 

TraversalSpec datacenterHostTraversalSpec = new TraversalSpec();

datacenterHostTraversalSpec.type =

"Datacenter";

datacenterHostTraversalSpec.name =

"datacenterHostTraversalSpec";

datacenterHostTraversalSpec.path =

"hostFolder";

datacenterHostTraversalSpec.skip =

false;

datacenterHostTraversalSpec.selectSet =

new SelectionSpec[] { new SelectionSpec() };

 

//add foldertraversal spec to selection set

datacenterHostTraversalSpec.selectSet[0].name =

"folderTraversalSpec";

 

//creating recusrive folder traversal spec

 

TraversalSpec folderTraversalSpec = new TraversalSpec();

folderTraversalSpec.name =

"folderTraversalSpec";

folderTraversalSpec.type =

"Folder";

folderTraversalSpec.path =

"childEntity";

folderTraversalSpec.skip =

false;

folderTraversalSpec.selectSet =

new SelectionSpec[] { new SelectionSpec(),

datacenterHostTraversalSpec, computeResourceDatastoreTraversalSpec,

clusterComputeResourceDatastoreTraversalSpec };

folderTraversalSpec.selectSet[0].name =

"folderTraversalSpec";

 

PropertyFilterSpec propFilterSpec = new PropertyFilterSpec();

propFilterSpec.propSet =

new PropertySpec[] { new PropertySpec() };

propFilterSpec.propSet[0].all =

false;

propFilterSpec.propSet[0].type =

"Datastore";

propFilterSpec.propSet[0].pathSet =

new string[] { "info", "summary", "vm", "host" };

propFilterSpec.objectSet =

new ObjectSpec[] { new ObjectSpec() };

propFilterSpec.objectSet[0].obj =

this.ServiceUtil.GetConnection().Root;

propFilterSpec.objectSet[0].skip =

false;

propFilterSpec.objectSet[0].selectSet =

new SelectionSpec[] { folderTraversalSpec };

 

ObjectContent[] ocArray = this.ServiceUtil.GetConnection().Service

.RetrieveProperties(

this.ServiceUtil.GetConnection().PropCol,

 

new PropertyFilterSpec[] { propFilterSpec });

 

Regards,

Naresh


Viewing all articles
Browse latest Browse all 207710

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>