første xml update
[virt-orchestrator.git] / vFLOWER / content / Actions / com.vmware.library.vc.vm.spec.config.device / getVirtualDevice.action.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <dunes-script-module name="getVirtualDevice" result-type="Any" api-version="3.1.0" id="b91481c1-f5e9-4e99-8bdf-daaf77bf4ea0" version="0.3.0" allowed-operations="fv">
3     <description>
4 Set values common to all Virtual Device. Should not be called directly to create a VirtualDevice!!!
5
6 VirtualDevice is the base data object type for devices in a virtual machine. This type contains enough information about a virtual device to allow clients to display devices they do not recognize. For example, a client with an older version than the server to which it connects may see a device without knowing what it is.
7     </description>
8
9     <param n="device" t="Any">Virtual Device to set values.</param>
10
11     <param n="backing" t="Any">[Optional] Any valid VirtualDeviceBackingInfo, depend on the device itself.</param>
12
13     <param n="connectable" t="Any">[Optional] VimVirtualDeviceConnectInfo: Information about restrictions on removing this device while a virtual machine is running. If the device is not removable, then this property is null.</param>
14
15     <param n="controllerKey" t="number">[Optional] Object key that denotes the controller object for this device. This property contains the key property value of the controller device object.</param>
16
17     <param n="deviceInfo" t="Any">[Optional] VimDescription: This property provides a label and summary information for the device.</param>
18
19     <param n="key" t="number">[Optional] This property is a unique key that distinguishes this device from other devices in the same virtual machine. This must be unique. Can only be setted by users at create time</param>
20
21     <param n="unitNumber" t="number">[Optioanl] Unit number of this device on its controller. This property is null if the controller property is null (for example, when the device is not attached to a specific controller object).  Normally, two devices on the same controller may not be assigned the same unit number.</param>
22
23     <script encoded="false">
24 if (device == null) throw "ReferenceError: device cannot be null. getVirtualDevice must be called from another getVirtual[device] action";
25 if (backing != null) {
26         if (checkBackingType(backing) == true) {
27                 device.backing = backing;
28         }
29 }
30 if (connectable != null) {
31         if (connectable instanceof VcVirtualDeviceConnectInfo) {
32                 device.connectable = connectable;
33         }
34         else {
35                 throw "ReferenceError: connectable must be of type 'VcVirtualDeviceConnectInfo'";
36         }
37 }
38 if (deviceInfo != null) {
39         if (deviceInfo instanceof VcDescription) {
40                 device.deviceInfo = deviceInfo;
41         }
42         else {
43                 throw "ReferenceError: deviceInfo must be of type 'VcDescription'";
44         }
45 }
46 if (key != null) {
47         device.key = key;
48 }
49 else {
50         device.key = 0;
51         System.log("Device key not set. Force to 0");
52 }
53 if (unitNumber != null) {
54         device.unitNumber = unitNumber;
55 }
56
57 return device;
58
59
60 function checkBackingType(backing) {
61         if (backing instanceof VcVirtualCdromAtapiBackingInfo) return true;
62         if (backing instanceof VcVirtualCdromPassthroughBackingInfo) return true;
63         if (backing instanceof VcVirtualDiskRawDiskVer2BackingInfo) return true;
64         if (backing instanceof VcVirtualDiskPartitionedRawDiskVer2BackingInfo) return true;
65         if (backing instanceof VcVirtualEthernetCardLegacyNetworkBackingInfo) return true;
66         if (backing instanceof VcVirtualEthernetCardNetworkBackingInfo) return true;
67         if (backing instanceof VcVirtualEthernetCardDistributedVirtualPortBackingInfo) return true;
68         if (backing instanceof VcVirtualFloppyDeviceBackingInfo) return true;
69         if (backing instanceof VcVirtualParallelPortDeviceBackingInfo) return true;
70         if (backing instanceof VcVirtualPointingDeviceDeviceBackingInfo) return true;
71         if (backing instanceof VcVirtualSCSIPassthroughDeviceBackingInfo) return true;
72         if (backing instanceof VcVirtualSerialPortDeviceBackingInfo) return true;
73         if (backing instanceof VcVirtualSoundCardDeviceBackingInfo) return true;
74         if (backing instanceof VcVirtualDeviceFileBackingInfo) return true;
75         if (backing instanceof VcVirtualDevicePipeBackingInfo) return true;
76         if (backing instanceof VcVirtualDeviceRemoteDeviceBackingInfo) return true;
77         
78         if (backing instanceof VcVirtualCdromIsoBackingInfo) return true;
79         if (backing instanceof VcVirtualDiskFlatVer1BackingInfo) return true;
80         if (backing instanceof VcVirtualDiskFlatVer2BackingInfo) return true;
81         if (backing instanceof VcVirtualDiskRawDiskMappingVer1BackingInfo) return true;
82         if (backing instanceof VcVirtualDiskSparseVer1BackingInfo) return true;
83         if (backing instanceof VcVirtualDiskSparseVer2BackingInfo) return true;
84         if (backing instanceof VcVirtualFloppyImageBackingInfo) return true;
85         if (backing instanceof VcVirtualParallelPortFileBackingInfo) return true;
86         if (backing instanceof VcVirtualSerialPortFileBackingInfo) return true;
87
88         if (backing instanceof VcVirtualSerialPortPipeBackingInfo) return true;
89         
90         if (backing instanceof VcVirtualCdromRemoteAtapiBackingInfo) return true;
91         if (backing instanceof VcVirtualCdromRemotePassthroughBackingInfo) return true;
92         if (backing instanceof VcVirtualFloppyRemoteDeviceBackingInfo) return true;
93         throw ("TypeError: backing is not of a valide type. type is: " + System.getObjectClassName(backing));
94 }
95     </script>
96 </dunes-script-module>