Quantcast
Channel: VMware Communities : All Content - vSphere Management SDK
Viewing all articles
Browse latest Browse all 1860

Read Tags from a VirtualMachine

$
0
0

How to get tags from a virtual machine in the example below:

 

 

// Get reference to the PropertyCollector

propertyCollector = serviceContent.getPropertyCollector();

 

// Create a new ManagedObjectReference to get

rootFolder = serviceContent.getRootFolder();

 


viewMgrRef = serviceContent.getViewManager();

 

propColl = serviceContent.getPropertyCollector();

 

vmList = new ArrayList<String>();

 

vmList.add("ManagedEntity");

 

cViewRef = vimPort.createContainerView(viewMgrRef, serviceContent.getRootFolder(), vmList, true );    

 

 

// Create an ObjectSpec to define the beginning of the traversal

// We are traversing the root folder, so set the obj property to it

objectSpec = new ObjectSpec();

 

objectSpec.setObj(cViewRef);

 

objectSpec.setSkip(true);

 

tSpec = new TraversalSpec();

 

tSpec.setName("traverseEntities");

 

tSpec.setPath("view");

 

tSpec.setSkip(false);

 

tSpec.setType("ContainerView");

 

objectSpec.getSelectSet().add(tSpec);

 

 

// Create a PropertySpec to specify the properties we want.

propertySpec = new PropertySpec();

 

propertySpec.setType("VirtualMachine");

 

propertySpec.setAll(true);

 

 

// Create a PropertyFilterSpec and add the ObjectSpec and

// PropertySpec to it.  As above, the getter methods will automatically

// initialize the lists

propertyFilterSpec = new PropertyFilterSpec();

 

propertyFilterSpec.getObjectSet().add(objectSpec);

 

propertyFilterSpec.getPropSet().add(propertySpec);

 

 

// The RetrievePropertiesEx method takes a list of PropertyFilterSpec, so we need

// to create a list and add our propertyFilterSpec to it

propertyFilterSpecList = new ArrayList<PropertyFilterSpec>();

 

propertyFilterSpecList.add(propertyFilterSpec);

 

// Although the RetrieveOptions parameter is optional, in Java we must pass

// something in.  A null will give us an exception, so we must pass in an empty

// RetrieveOptions object

retrieveOptions = new RetrieveOptions();

 

// Finally, make the call and get the results

result = vimPort.retrievePropertiesEx(propertyCollector, propertyFilterSpecList, retrieveOptions);

 

 

if (result != null) {

 

     for (ObjectContent objectContent : result.getObjects()) {

 

          properties = objectContent.getPropSet();

 

          for (DynamicProperty property : properties) {

 

               out.println(property.getName() + ": " + property.getVal());

 

               if ("tag".equals(property.getName())) {

 

                    tags = (ArrayOfTag) property.getVal();

 

                    out.println("TAGS .... " +tags.getTag().size());

               }

          }

     }

}

 

 

Output:

 

tag: com.vmware.vim25.ArrayOfTag@15b079f

 

TAGS .... 0

 

Problem: size is always 0 even we have tagged the VMs.

 


Viewing all articles
Browse latest Browse all 1860

Trending Articles



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