første xml update
[virt-orchestrator.git] / vFLOWER / content / Actions / com.vmware.library.vc.datastore / getDatastoreForHostAndResourcePool.action.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <dunes-script-module name="getDatastoreForHostAndResourcePool" result-type="Array/VC:Datastore" api-version="3.1.0" id="1305f8d8-b3b5-4f06-a8d6-d11629b188cc" version="0.3.0" allowed-operations="fv">
3     <description>Return all available Datastore on host and pool (sum of each). If host and pool are null, return the available datastore to relocate the vm (in fact, all datastore in the same Virtual Center)</description>
4
5     <param n="host" t="VC:HostSystem"/>
6
7     <param n="pool" t="VC:ResourcePool"/>
8
9     <param n="vm" t="VC:VirtualMachine"/>
10
11     <script encoded="false">
12 var result = new Array();
13 var keys = new Properties();
14 if (host == null &amp;&amp; pool == null) {
15         result = System.getModule("com.vmware.library.vc.datastore").getAllDatastoreOnVimHost(vm.sdkConnection);
16 }
17 else {
18         if (host != null) {
19                 addDatastore(host.datastore);
20         }
21         if (pool != null) {
22                 computeResource = pool.parent;
23                 while ( ! ((computeResource instanceof VcClusterComputeResource) || (computeResource instanceof VcComputeResource))) {
24                         computeResource = computeResource.parent;
25                 }
26                 addDatastore(computeResource.datastore);
27         }
28 }
29 return result;
30
31
32
33 function addDatastore(datastores) {
34         for (var i in datastores) {
35                 if (keys.get(datastores[i].sdkId) == null) {
36                         keys.put(datastores[i].sdkId, datastores[i].sdkId);
37                         result.push(datastores[i]);
38                 }
39         }
40 }
41     </script>
42 </dunes-script-module>