første xml update
[virt-orchestrator.git] / vFLOWER / content / Actions / com.vmware.library.vc.vm.spec.identity / getCustomizationIdentificationFromCredential.action.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <dunes-script-module name="getCustomizationIdentificationFromCredential" result-type="Any" api-version="3.1.0" id="b542b6a6-84ea-4222-a9a8-547a3aab8efe" version="0.2.1" allowed-operations="fv">
3     <description>The Identification data object type provides information needed to join a workgroup or domain</description>
4
5     <param n="domainAdmin" t="Credential">[Optional] This is the domain user account used for authentication if the virtual machine is joining a domain. The user does not need to be a domain administrator, but the account must have the privileges required to add computers to the domain.</param>
6
7     <param n="joinDomain" t="string">[Optional] The domain that the virtual machine should join. If this value is supplied, then domainAdmin and domainAdminPassword must also be supplied, and the workgroup name must be empty.</param>
8
9     <param n="joinWorkgroup" t="string">[Optional] The workgroup that the virtual machine should join. If this value is supplied, then the domain name and authentication fields must be empty.</param>
10
11     <script encoded="false">
12 var identification;
13 try {
14         checkParam();
15         if(joinDomain==null &amp;&amp; joinWorkgroup==null){
16                 joinWorkgroup="WORKGROUP";
17         }
18         identification = new VcCustomizationIdentification();
19         affectParam();
20         return identification;
21 }
22 catch (ex) {
23         throw "Unable to create VcCustomizationIdentification: " + ex;
24 }
25
26 function affectParam() {
27         if (joinWorkgroup == null || joinWorkgroup == "") {
28                 identification.domainAdmin = domainAdmin.username;
29                 identification.domainAdminPassword = VcPlugin.createCustomizationPasswordFromCredentials(domainAdmin, true);
30
31                 identification.joinDomain = joinDomain;
32                 identification.joinWorkgroup = joinWorkgroup;
33         }
34         else {
35                 identification.joinWorkgroup = joinWorkgroup;
36                 identification.joinDomain = null;
37         }               
38 }
39
40 function checkParam() {
41         if (joinDomain != null &amp;&amp; joinDomain == "") joinDomain = null;
42         if (joinWorkgroup != null &amp;&amp; joinWorkgroup == "") joinWorkgroup = null;
43         
44         if (joinDomain != null &amp;&amp; joinWorkgroup != null) throw "joinDomain and joinWorkgroup cannot be set together";
45         if (joinDomain != null &amp;&amp; (domainAdmin == null)) throw "joinDomain is set, but domainAdmin or domainAdminPassword is not set";
46 }
47     </script>
48 </dunes-script-module>