Quantcast
Channel: VMware Communities: Message List
Viewing all articles
Browse latest Browse all 230336

Re: Read and write metadata in vCloud Director

$
0
0

Thanks for the answer!

 

I fixed the code, but problem is not solved.

 

My fixed code:

  1. function setMetadataBoolean(obj,key,value){ 
  2.     var metadata = obj.getMetadata(); 
  3.     var vclMetadataStringValue = new VclMetadataBooleanValue() ; 
  4.     vclMetadataStringValue.value = value; 
  5.     var vclAbstractValueObject = new VclAbstractValueObject(); 
  6.     vclAbstractValueObject.setValue(vclMetadataStringValue); 
  7.     var vclMetadataEntry = new VclMetadataEntry(); 
  8.     vclMetadataEntry.key = key; 
  9.     vclMetadataEntry.typedValue = vclAbstractValueObject; 
  10.     System.log("Setting key " + key + " with value " + value); 
  11.     return metadata.updateTypedEntry(vclMetadataEntry); 
  12.  
  13. function getMetadataBoolean(obj,key){ 
  14.     ObjMetadata = obj.getMetadata(); 
  15.     Entries = ObjMetadata.getTypedEntries() 
  16.     for each (Entrie in Entries.enumerate()){ 
  17.         if (Entrie.key == key){ 
  18.             value = Entrie.typedValue.getValue(new VclMetadataBooleanValue).value; 
  19.             break
  20.         }else{value = null;} 
  21.     } 
  22.     return value; 
  23.  
  24.  
  25. //get all ProvidervDC 
  26. var AllPvDC = System.getModule("com.vmware.library.vCloud.operation.admin").getProviderVdcsVCloudHostAdmin(vCDHA); 
  27.  
  28. for each (PvDC in AllPvDC){ 
  29.     PvDC.updateInternalState(); 
  30.     if (getMetadataBoolean(PvDC,"service1") == null){ 
  31.      
  32.         setMetadataBoolean(PvDC,"service1",true); 
  33.          
  34.         // ADD THIS LINE 
  35.         PvDC.updateInternalState(); 
  36.     } 
  37.     //get all External Network in ProvidervDC 
  38.     var AllExtNet = System.getModule("com.vmware.library.vCloud.operation.admin").getExternalNetworksProviderVdc(PvDC); 
  39.      
  40.     for each (ExtNet in AllExtNet){ 
  41.         ExtNet.updateInternalState(); 
  42.          
  43.         if (getMetadataBoolean(ExtNet,"service1") == null){ 
  44.          
  45.             setMetadataBoolean(ExtNet,"service1",true); 
  46.              
  47.             // ADD THIS LINE 
  48.             ExtNet.updateInternalState(); 
  49.         } 
  50.          
  51.          
  52.     } 
  53.      

Viewing all articles
Browse latest Browse all 230336

Trending Articles



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