@Test public void customizeWindowsGuestSuccess() throws Exception { Map<String, String> resultMap = new HashMap<>(); whenNew(GuestService.class).withNoArguments().thenReturn(guestServiceMock); when(guestServiceMock.customizeVM(any(HttpInputs.class), any(VmInputs.class), any(GuestInputs.class), anyBoolean())).thenReturn(resultMap); resultMap = windowsGuest.customizeWindowsGuest("", "", "", "", "", "", "", "", "noreboot", "", "", "", "", "", "", "", "", "", "perServer", "", "", "", "", "", "", "", "", "", "", "", null); verify(guestServiceMock, times(1)).customizeVM(any(HttpInputs.class), any(VmInputs.class), any(GuestInputs.class), anyBoolean()); assertNotNull(resultMap); }
@Action(name = "Customize Windows Guest", outputs = { @Output(Outputs.RETURN_CODE), @Output(Outputs.RETURN_RESULT), @Output(Outputs.EXCEPTION) }, responses = { @Response(text = Outputs.SUCCESS, field = Outputs.RETURN_CODE, value = Outputs.RETURN_CODE_SUCCESS, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.RESOLVED), @Response(text = Outputs.FAILURE, field = Outputs.RETURN_CODE, value = Outputs.RETURN_CODE_FAILURE, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.ERROR, isOnFail = true) }) public Map<String, String> customizeWindowsGuest(@Param(value = HOST, required = true) String host, @Param(value = PORT) String port, @Param(value = PROTOCOL) String protocol, @Param(value = USERNAME, required = true) String username, @Param(value = PASSWORD, encrypted = true) String password, @Param(value = TRUST_EVERYONE) String trustEveryone, @Param(value = CLOSE_SESSION) String closeSession, @Param(value = VM_NAME, required = true) String virtualMachineName, @Param(value = REBOOT_OPTION, required = true) String rebootOption, @Param(value = COMPUTER_NAME, required = true) String computerName, @Param(value = COMPUTER_PASSWORD, required = true) String computerPassword, @Param(value = OWNER_NAME, required = true) String ownerName, @Param(value = OWNER_ORGANIZATION, required = true) String ownerOrganization, @Param(value = PRODUCT_KEY) String productKey, @Param(value = DOMAIN_USERNAME) String domainUsername, @Param(value = DOMAIN_PASSWORD) String domainPassword, @Param(value = DOMAIN) String domain, @Param(value = WORKGROUP) String workgroup, @Param(value = LICENSE_DATA_MODE, required = true) String licenseDataMode, @Param(value = DNS_SERVER) String dnsServer, @Param(value = IP_ADDRESS) String ipAddress, @Param(value = SUBNET_MASK) String subnetMask, @Param(value = DEFAULT_GATEWAY) String defaultGateway, @Param(value = MAC_ADDRESS) String macAddress, @Param(value = AUTO_LOGON) String autoLogon, @Param(value = DELETE_ACCOUNTS) String deleteAccounts, @Param(value = CHANGE_SID, required = true) String changeSID, @Param(value = AUTO_LOGON_COUNT) String autoLogonCount, @Param(value = AUTO_USERS) String autoUsers, @Param(value = TIME_ZONE) String timeZone, @Param(value = VMWARE_GLOBAL_SESSION_OBJECT) GlobalSessionObject<Map<String, Connection>> globalSessionObject) { try { final HttpInputs httpInputs = new HttpInputs.HttpInputsBuilder() .withHost(host) .withPort(port) .withProtocol(protocol) .withUsername(username) .withPassword(password) .withTrustEveryone(defaultIfEmpty(trustEveryone, FALSE)) .withCloseSession(defaultIfEmpty(closeSession, TRUE)) .withGlobalSessionObject(globalSessionObject) .build(); final VmInputs vmInputs = new VmInputs.VmInputsBuilder() .withVirtualMachineName(virtualMachineName) .build(); final GuestInputs guestInputs = new GuestInputs.GuestInputsBuilder() .withRebootOption(rebootOption) .withComputerName(computerName) .withComputerPassword(computerPassword) .withOwnerName(ownerName) .withOwnerOrganization(ownerOrganization) .withProductKey(productKey) .withDomainUsername(domainUsername) .withDomainPassword(domainPassword) .withDomain(domain) .withWorkgroup(workgroup) .withLicenseDataMode(licenseDataMode) .withDnsServer(dnsServer) .withIpAddress(ipAddress) .withSubnetMask(subnetMask) .withDefaultGateway(defaultGateway) .withMacAddress(macAddress) .withAutoLogon(autoLogon) .withDeleteAccounts(deleteAccounts) .withChangeSID(changeSID) .withAutoLogonCount(autoLogonCount) .withAutoUsers(autoUsers) .withTimeZone(timeZone) .build(); return new GuestService().customizeVM(httpInputs, vmInputs, guestInputs, true); } catch (Exception ex) { return OutputUtilities.getFailureResultsMap(ex); } }
CustomizeWindowsGuest { @Action(name = "Customize Windows Guest", outputs = { @Output(Outputs.RETURN_CODE), @Output(Outputs.RETURN_RESULT), @Output(Outputs.EXCEPTION) }, responses = { @Response(text = Outputs.SUCCESS, field = Outputs.RETURN_CODE, value = Outputs.RETURN_CODE_SUCCESS, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.RESOLVED), @Response(text = Outputs.FAILURE, field = Outputs.RETURN_CODE, value = Outputs.RETURN_CODE_FAILURE, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.ERROR, isOnFail = true) }) public Map<String, String> customizeWindowsGuest(@Param(value = HOST, required = true) String host, @Param(value = PORT) String port, @Param(value = PROTOCOL) String protocol, @Param(value = USERNAME, required = true) String username, @Param(value = PASSWORD, encrypted = true) String password, @Param(value = TRUST_EVERYONE) String trustEveryone, @Param(value = CLOSE_SESSION) String closeSession, @Param(value = VM_NAME, required = true) String virtualMachineName, @Param(value = REBOOT_OPTION, required = true) String rebootOption, @Param(value = COMPUTER_NAME, required = true) String computerName, @Param(value = COMPUTER_PASSWORD, required = true) String computerPassword, @Param(value = OWNER_NAME, required = true) String ownerName, @Param(value = OWNER_ORGANIZATION, required = true) String ownerOrganization, @Param(value = PRODUCT_KEY) String productKey, @Param(value = DOMAIN_USERNAME) String domainUsername, @Param(value = DOMAIN_PASSWORD) String domainPassword, @Param(value = DOMAIN) String domain, @Param(value = WORKGROUP) String workgroup, @Param(value = LICENSE_DATA_MODE, required = true) String licenseDataMode, @Param(value = DNS_SERVER) String dnsServer, @Param(value = IP_ADDRESS) String ipAddress, @Param(value = SUBNET_MASK) String subnetMask, @Param(value = DEFAULT_GATEWAY) String defaultGateway, @Param(value = MAC_ADDRESS) String macAddress, @Param(value = AUTO_LOGON) String autoLogon, @Param(value = DELETE_ACCOUNTS) String deleteAccounts, @Param(value = CHANGE_SID, required = true) String changeSID, @Param(value = AUTO_LOGON_COUNT) String autoLogonCount, @Param(value = AUTO_USERS) String autoUsers, @Param(value = TIME_ZONE) String timeZone, @Param(value = VMWARE_GLOBAL_SESSION_OBJECT) GlobalSessionObject<Map<String, Connection>> globalSessionObject) { try { final HttpInputs httpInputs = new HttpInputs.HttpInputsBuilder() .withHost(host) .withPort(port) .withProtocol(protocol) .withUsername(username) .withPassword(password) .withTrustEveryone(defaultIfEmpty(trustEveryone, FALSE)) .withCloseSession(defaultIfEmpty(closeSession, TRUE)) .withGlobalSessionObject(globalSessionObject) .build(); final VmInputs vmInputs = new VmInputs.VmInputsBuilder() .withVirtualMachineName(virtualMachineName) .build(); final GuestInputs guestInputs = new GuestInputs.GuestInputsBuilder() .withRebootOption(rebootOption) .withComputerName(computerName) .withComputerPassword(computerPassword) .withOwnerName(ownerName) .withOwnerOrganization(ownerOrganization) .withProductKey(productKey) .withDomainUsername(domainUsername) .withDomainPassword(domainPassword) .withDomain(domain) .withWorkgroup(workgroup) .withLicenseDataMode(licenseDataMode) .withDnsServer(dnsServer) .withIpAddress(ipAddress) .withSubnetMask(subnetMask) .withDefaultGateway(defaultGateway) .withMacAddress(macAddress) .withAutoLogon(autoLogon) .withDeleteAccounts(deleteAccounts) .withChangeSID(changeSID) .withAutoLogonCount(autoLogonCount) .withAutoUsers(autoUsers) .withTimeZone(timeZone) .build(); return new GuestService().customizeVM(httpInputs, vmInputs, guestInputs, true); } catch (Exception ex) { return OutputUtilities.getFailureResultsMap(ex); } } }
CustomizeWindowsGuest { @Action(name = "Customize Windows Guest", outputs = { @Output(Outputs.RETURN_CODE), @Output(Outputs.RETURN_RESULT), @Output(Outputs.EXCEPTION) }, responses = { @Response(text = Outputs.SUCCESS, field = Outputs.RETURN_CODE, value = Outputs.RETURN_CODE_SUCCESS, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.RESOLVED), @Response(text = Outputs.FAILURE, field = Outputs.RETURN_CODE, value = Outputs.RETURN_CODE_FAILURE, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.ERROR, isOnFail = true) }) public Map<String, String> customizeWindowsGuest(@Param(value = HOST, required = true) String host, @Param(value = PORT) String port, @Param(value = PROTOCOL) String protocol, @Param(value = USERNAME, required = true) String username, @Param(value = PASSWORD, encrypted = true) String password, @Param(value = TRUST_EVERYONE) String trustEveryone, @Param(value = CLOSE_SESSION) String closeSession, @Param(value = VM_NAME, required = true) String virtualMachineName, @Param(value = REBOOT_OPTION, required = true) String rebootOption, @Param(value = COMPUTER_NAME, required = true) String computerName, @Param(value = COMPUTER_PASSWORD, required = true) String computerPassword, @Param(value = OWNER_NAME, required = true) String ownerName, @Param(value = OWNER_ORGANIZATION, required = true) String ownerOrganization, @Param(value = PRODUCT_KEY) String productKey, @Param(value = DOMAIN_USERNAME) String domainUsername, @Param(value = DOMAIN_PASSWORD) String domainPassword, @Param(value = DOMAIN) String domain, @Param(value = WORKGROUP) String workgroup, @Param(value = LICENSE_DATA_MODE, required = true) String licenseDataMode, @Param(value = DNS_SERVER) String dnsServer, @Param(value = IP_ADDRESS) String ipAddress, @Param(value = SUBNET_MASK) String subnetMask, @Param(value = DEFAULT_GATEWAY) String defaultGateway, @Param(value = MAC_ADDRESS) String macAddress, @Param(value = AUTO_LOGON) String autoLogon, @Param(value = DELETE_ACCOUNTS) String deleteAccounts, @Param(value = CHANGE_SID, required = true) String changeSID, @Param(value = AUTO_LOGON_COUNT) String autoLogonCount, @Param(value = AUTO_USERS) String autoUsers, @Param(value = TIME_ZONE) String timeZone, @Param(value = VMWARE_GLOBAL_SESSION_OBJECT) GlobalSessionObject<Map<String, Connection>> globalSessionObject) { try { final HttpInputs httpInputs = new HttpInputs.HttpInputsBuilder() .withHost(host) .withPort(port) .withProtocol(protocol) .withUsername(username) .withPassword(password) .withTrustEveryone(defaultIfEmpty(trustEveryone, FALSE)) .withCloseSession(defaultIfEmpty(closeSession, TRUE)) .withGlobalSessionObject(globalSessionObject) .build(); final VmInputs vmInputs = new VmInputs.VmInputsBuilder() .withVirtualMachineName(virtualMachineName) .build(); final GuestInputs guestInputs = new GuestInputs.GuestInputsBuilder() .withRebootOption(rebootOption) .withComputerName(computerName) .withComputerPassword(computerPassword) .withOwnerName(ownerName) .withOwnerOrganization(ownerOrganization) .withProductKey(productKey) .withDomainUsername(domainUsername) .withDomainPassword(domainPassword) .withDomain(domain) .withWorkgroup(workgroup) .withLicenseDataMode(licenseDataMode) .withDnsServer(dnsServer) .withIpAddress(ipAddress) .withSubnetMask(subnetMask) .withDefaultGateway(defaultGateway) .withMacAddress(macAddress) .withAutoLogon(autoLogon) .withDeleteAccounts(deleteAccounts) .withChangeSID(changeSID) .withAutoLogonCount(autoLogonCount) .withAutoUsers(autoUsers) .withTimeZone(timeZone) .build(); return new GuestService().customizeVM(httpInputs, vmInputs, guestInputs, true); } catch (Exception ex) { return OutputUtilities.getFailureResultsMap(ex); } }  }
CustomizeWindowsGuest { @Action(name = "Customize Windows Guest", outputs = { @Output(Outputs.RETURN_CODE), @Output(Outputs.RETURN_RESULT), @Output(Outputs.EXCEPTION) }, responses = { @Response(text = Outputs.SUCCESS, field = Outputs.RETURN_CODE, value = Outputs.RETURN_CODE_SUCCESS, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.RESOLVED), @Response(text = Outputs.FAILURE, field = Outputs.RETURN_CODE, value = Outputs.RETURN_CODE_FAILURE, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.ERROR, isOnFail = true) }) public Map<String, String> customizeWindowsGuest(@Param(value = HOST, required = true) String host, @Param(value = PORT) String port, @Param(value = PROTOCOL) String protocol, @Param(value = USERNAME, required = true) String username, @Param(value = PASSWORD, encrypted = true) String password, @Param(value = TRUST_EVERYONE) String trustEveryone, @Param(value = CLOSE_SESSION) String closeSession, @Param(value = VM_NAME, required = true) String virtualMachineName, @Param(value = REBOOT_OPTION, required = true) String rebootOption, @Param(value = COMPUTER_NAME, required = true) String computerName, @Param(value = COMPUTER_PASSWORD, required = true) String computerPassword, @Param(value = OWNER_NAME, required = true) String ownerName, @Param(value = OWNER_ORGANIZATION, required = true) String ownerOrganization, @Param(value = PRODUCT_KEY) String productKey, @Param(value = DOMAIN_USERNAME) String domainUsername, @Param(value = DOMAIN_PASSWORD) String domainPassword, @Param(value = DOMAIN) String domain, @Param(value = WORKGROUP) String workgroup, @Param(value = LICENSE_DATA_MODE, required = true) String licenseDataMode, @Param(value = DNS_SERVER) String dnsServer, @Param(value = IP_ADDRESS) String ipAddress, @Param(value = SUBNET_MASK) String subnetMask, @Param(value = DEFAULT_GATEWAY) String defaultGateway, @Param(value = MAC_ADDRESS) String macAddress, @Param(value = AUTO_LOGON) String autoLogon, @Param(value = DELETE_ACCOUNTS) String deleteAccounts, @Param(value = CHANGE_SID, required = true) String changeSID, @Param(value = AUTO_LOGON_COUNT) String autoLogonCount, @Param(value = AUTO_USERS) String autoUsers, @Param(value = TIME_ZONE) String timeZone, @Param(value = VMWARE_GLOBAL_SESSION_OBJECT) GlobalSessionObject<Map<String, Connection>> globalSessionObject) { try { final HttpInputs httpInputs = new HttpInputs.HttpInputsBuilder() .withHost(host) .withPort(port) .withProtocol(protocol) .withUsername(username) .withPassword(password) .withTrustEveryone(defaultIfEmpty(trustEveryone, FALSE)) .withCloseSession(defaultIfEmpty(closeSession, TRUE)) .withGlobalSessionObject(globalSessionObject) .build(); final VmInputs vmInputs = new VmInputs.VmInputsBuilder() .withVirtualMachineName(virtualMachineName) .build(); final GuestInputs guestInputs = new GuestInputs.GuestInputsBuilder() .withRebootOption(rebootOption) .withComputerName(computerName) .withComputerPassword(computerPassword) .withOwnerName(ownerName) .withOwnerOrganization(ownerOrganization) .withProductKey(productKey) .withDomainUsername(domainUsername) .withDomainPassword(domainPassword) .withDomain(domain) .withWorkgroup(workgroup) .withLicenseDataMode(licenseDataMode) .withDnsServer(dnsServer) .withIpAddress(ipAddress) .withSubnetMask(subnetMask) .withDefaultGateway(defaultGateway) .withMacAddress(macAddress) .withAutoLogon(autoLogon) .withDeleteAccounts(deleteAccounts) .withChangeSID(changeSID) .withAutoLogonCount(autoLogonCount) .withAutoUsers(autoUsers) .withTimeZone(timeZone) .build(); return new GuestService().customizeVM(httpInputs, vmInputs, guestInputs, true); } catch (Exception ex) { return OutputUtilities.getFailureResultsMap(ex); } }  @Action(name = "Customize Windows Guest", outputs = { @Output(Outputs.RETURN_CODE), @Output(Outputs.RETURN_RESULT), @Output(Outputs.EXCEPTION) }, responses = { @Response(text = Outputs.SUCCESS, field = Outputs.RETURN_CODE, value = Outputs.RETURN_CODE_SUCCESS, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.RESOLVED), @Response(text = Outputs.FAILURE, field = Outputs.RETURN_CODE, value = Outputs.RETURN_CODE_FAILURE, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.ERROR, isOnFail = true) }) Map<String, String> customizeWindowsGuest(@Param(value = HOST, required = true) String host,
                                                     @Param(value = PORT) String port,
                                                     @Param(value = PROTOCOL) String protocol,
                                                     @Param(value = USERNAME, required = true) String username,
                                                     @Param(value = PASSWORD, encrypted = true) String password,
                                                     @Param(value = TRUST_EVERYONE) String trustEveryone,
                                                     @Param(value = CLOSE_SESSION) String closeSession,


                                                     @Param(value = VM_NAME, required = true) String virtualMachineName,
                                                     @Param(value = REBOOT_OPTION, required = true) String rebootOption,
                                                     @Param(value = COMPUTER_NAME, required = true) String computerName,
                                                     @Param(value = COMPUTER_PASSWORD, required = true) String computerPassword,
                                                     @Param(value = OWNER_NAME, required = true) String ownerName,
                                                     @Param(value = OWNER_ORGANIZATION, required = true) String ownerOrganization,
                                                     @Param(value = PRODUCT_KEY) String productKey,
                                                     @Param(value = DOMAIN_USERNAME) String domainUsername,
                                                     @Param(value = DOMAIN_PASSWORD) String domainPassword,
                                                     @Param(value = DOMAIN) String domain,
                                                     @Param(value = WORKGROUP) String workgroup,
                                                     @Param(value = LICENSE_DATA_MODE, required = true) String licenseDataMode,
                                                     @Param(value = DNS_SERVER) String dnsServer,
                                                     @Param(value = IP_ADDRESS) String ipAddress,
                                                     @Param(value = SUBNET_MASK) String subnetMask,
                                                     @Param(value = DEFAULT_GATEWAY) String defaultGateway,
                                                     @Param(value = MAC_ADDRESS) String macAddress,

                                                     @Param(value = AUTO_LOGON) String autoLogon,
                                                     @Param(value = DELETE_ACCOUNTS) String deleteAccounts,
                                                     @Param(value = CHANGE_SID, required = true) String changeSID,
                                                     @Param(value = AUTO_LOGON_COUNT) String autoLogonCount,
                                                     @Param(value = AUTO_USERS) String autoUsers,
                                                     @Param(value = TIME_ZONE) String timeZone,
                                                     @Param(value = VMWARE_GLOBAL_SESSION_OBJECT) GlobalSessionObject<Map<String, Connection>> globalSessionObject); }
CustomizeWindowsGuest { @Action(name = "Customize Windows Guest", outputs = { @Output(Outputs.RETURN_CODE), @Output(Outputs.RETURN_RESULT), @Output(Outputs.EXCEPTION) }, responses = { @Response(text = Outputs.SUCCESS, field = Outputs.RETURN_CODE, value = Outputs.RETURN_CODE_SUCCESS, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.RESOLVED), @Response(text = Outputs.FAILURE, field = Outputs.RETURN_CODE, value = Outputs.RETURN_CODE_FAILURE, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.ERROR, isOnFail = true) }) public Map<String, String> customizeWindowsGuest(@Param(value = HOST, required = true) String host, @Param(value = PORT) String port, @Param(value = PROTOCOL) String protocol, @Param(value = USERNAME, required = true) String username, @Param(value = PASSWORD, encrypted = true) String password, @Param(value = TRUST_EVERYONE) String trustEveryone, @Param(value = CLOSE_SESSION) String closeSession, @Param(value = VM_NAME, required = true) String virtualMachineName, @Param(value = REBOOT_OPTION, required = true) String rebootOption, @Param(value = COMPUTER_NAME, required = true) String computerName, @Param(value = COMPUTER_PASSWORD, required = true) String computerPassword, @Param(value = OWNER_NAME, required = true) String ownerName, @Param(value = OWNER_ORGANIZATION, required = true) String ownerOrganization, @Param(value = PRODUCT_KEY) String productKey, @Param(value = DOMAIN_USERNAME) String domainUsername, @Param(value = DOMAIN_PASSWORD) String domainPassword, @Param(value = DOMAIN) String domain, @Param(value = WORKGROUP) String workgroup, @Param(value = LICENSE_DATA_MODE, required = true) String licenseDataMode, @Param(value = DNS_SERVER) String dnsServer, @Param(value = IP_ADDRESS) String ipAddress, @Param(value = SUBNET_MASK) String subnetMask, @Param(value = DEFAULT_GATEWAY) String defaultGateway, @Param(value = MAC_ADDRESS) String macAddress, @Param(value = AUTO_LOGON) String autoLogon, @Param(value = DELETE_ACCOUNTS) String deleteAccounts, @Param(value = CHANGE_SID, required = true) String changeSID, @Param(value = AUTO_LOGON_COUNT) String autoLogonCount, @Param(value = AUTO_USERS) String autoUsers, @Param(value = TIME_ZONE) String timeZone, @Param(value = VMWARE_GLOBAL_SESSION_OBJECT) GlobalSessionObject<Map<String, Connection>> globalSessionObject) { try { final HttpInputs httpInputs = new HttpInputs.HttpInputsBuilder() .withHost(host) .withPort(port) .withProtocol(protocol) .withUsername(username) .withPassword(password) .withTrustEveryone(defaultIfEmpty(trustEveryone, FALSE)) .withCloseSession(defaultIfEmpty(closeSession, TRUE)) .withGlobalSessionObject(globalSessionObject) .build(); final VmInputs vmInputs = new VmInputs.VmInputsBuilder() .withVirtualMachineName(virtualMachineName) .build(); final GuestInputs guestInputs = new GuestInputs.GuestInputsBuilder() .withRebootOption(rebootOption) .withComputerName(computerName) .withComputerPassword(computerPassword) .withOwnerName(ownerName) .withOwnerOrganization(ownerOrganization) .withProductKey(productKey) .withDomainUsername(domainUsername) .withDomainPassword(domainPassword) .withDomain(domain) .withWorkgroup(workgroup) .withLicenseDataMode(licenseDataMode) .withDnsServer(dnsServer) .withIpAddress(ipAddress) .withSubnetMask(subnetMask) .withDefaultGateway(defaultGateway) .withMacAddress(macAddress) .withAutoLogon(autoLogon) .withDeleteAccounts(deleteAccounts) .withChangeSID(changeSID) .withAutoLogonCount(autoLogonCount) .withAutoUsers(autoUsers) .withTimeZone(timeZone) .build(); return new GuestService().customizeVM(httpInputs, vmInputs, guestInputs, true); } catch (Exception ex) { return OutputUtilities.getFailureResultsMap(ex); } }  @Action(name = "Customize Windows Guest", outputs = { @Output(Outputs.RETURN_CODE), @Output(Outputs.RETURN_RESULT), @Output(Outputs.EXCEPTION) }, responses = { @Response(text = Outputs.SUCCESS, field = Outputs.RETURN_CODE, value = Outputs.RETURN_CODE_SUCCESS, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.RESOLVED), @Response(text = Outputs.FAILURE, field = Outputs.RETURN_CODE, value = Outputs.RETURN_CODE_FAILURE, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.ERROR, isOnFail = true) }) Map<String, String> customizeWindowsGuest(@Param(value = HOST, required = true) String host,
                                                     @Param(value = PORT) String port,
                                                     @Param(value = PROTOCOL) String protocol,
                                                     @Param(value = USERNAME, required = true) String username,
                                                     @Param(value = PASSWORD, encrypted = true) String password,
                                                     @Param(value = TRUST_EVERYONE) String trustEveryone,
                                                     @Param(value = CLOSE_SESSION) String closeSession,


                                                     @Param(value = VM_NAME, required = true) String virtualMachineName,
                                                     @Param(value = REBOOT_OPTION, required = true) String rebootOption,
                                                     @Param(value = COMPUTER_NAME, required = true) String computerName,
                                                     @Param(value = COMPUTER_PASSWORD, required = true) String computerPassword,
                                                     @Param(value = OWNER_NAME, required = true) String ownerName,
                                                     @Param(value = OWNER_ORGANIZATION, required = true) String ownerOrganization,
                                                     @Param(value = PRODUCT_KEY) String productKey,
                                                     @Param(value = DOMAIN_USERNAME) String domainUsername,
                                                     @Param(value = DOMAIN_PASSWORD) String domainPassword,
                                                     @Param(value = DOMAIN) String domain,
                                                     @Param(value = WORKGROUP) String workgroup,
                                                     @Param(value = LICENSE_DATA_MODE, required = true) String licenseDataMode,
                                                     @Param(value = DNS_SERVER) String dnsServer,
                                                     @Param(value = IP_ADDRESS) String ipAddress,
                                                     @Param(value = SUBNET_MASK) String subnetMask,
                                                     @Param(value = DEFAULT_GATEWAY) String defaultGateway,
                                                     @Param(value = MAC_ADDRESS) String macAddress,

                                                     @Param(value = AUTO_LOGON) String autoLogon,
                                                     @Param(value = DELETE_ACCOUNTS) String deleteAccounts,
                                                     @Param(value = CHANGE_SID, required = true) String changeSID,
                                                     @Param(value = AUTO_LOGON_COUNT) String autoLogonCount,
                                                     @Param(value = AUTO_USERS) String autoUsers,
                                                     @Param(value = TIME_ZONE) String timeZone,
                                                     @Param(value = VMWARE_GLOBAL_SESSION_OBJECT) GlobalSessionObject<Map<String, Connection>> globalSessionObject);  }