public static void main(String[] args) throws Exception { String urlStr ="http://dev:8000/vmAction.cgi?cmd=powerOn&moref=VirtualMachine:16&sessionId=9241E7B8-A37B-4264-A8D1-945628F9E0D6&locale=en&serviceUrl=https://localhost/sdk"; Map<String, String> kvPairs = parseURL(urlStr); String morStr = kvPairs.get(MOREF); String type = morStr.substring(0, morStr.indexOf(":")); String value = morStr.substring(morStr.indexOf(":")+1); ManagedObjectReference mor = new ManagedObjectReference(); mor.setType(type); mor.set_value(value); String sesssionStr = "vmware_soap_session=\"" + kvPairs.get(SESSION_ID) + "\""; ServiceInstance si = new ServiceInstance(new URL(kvPairs.get(SERVICE_URL)),sesssionStr, true); ManagedEntity me = MorUtil.createExactManagedEntity(si.getServerConnection(), mor); String name = me.getName(); System.out.println("name:" + name); if(me instanceof VirtualMachine) { Task task = ((VirtualMachine)me).powerOffVM_Task(); task.waitForMe(); } // si.getServerConnection().logout(); if you get access via sessionID, pls don't log out... }
public static void main(String[] args) throws Exception { String urlStr ="http://dev:8000/vmAction.cgi?cmd=powerOn&moref=VirtualMachine:16&sessionId=9241E7B8-A37B-4264-A8D1-945628F9E0D6&locale=en&serviceUrl=https://localhost/sdk"; Map<String, String> kvPairs = parseURL(urlStr); String morStr = kvPairs.get(MOREF); String type = morStr.substring(0, morStr.indexOf(":")); String value = morStr.substring(morStr.indexOf(":")+1); ManagedObjectReference mor = new ManagedObjectReference(); mor.setType(type); mor.set_value(value); String sesssionStr = "vmware_soap_session=\"" + kvPairs.get(SESSION_ID) + "\""; ServiceInstance si = new ServiceInstance(new URL(kvPairs.get(SERVICE_URL)),sesssionStr, true); ManagedEntity me = MorUtil.createExactManagedEntity(si.getServerConnection(), mor); String name = me.getName(); System.out.println("name:" + name); if(me instanceof VirtualMachine) { Task task = ((VirtualMachine)me).powerOffVM_Task(); task.waitForMe(); } // si.getServerConnection().logout(); if you get access via sessionID, pls don't log out... }
Task task = vmdm.addCdDriveFromIso(isoPath, startConnected); String result = task.waitForMe(); if (result == Task.SUCCESS) { System.out.println("ISO is mounted to cd drive successfully."); vmdm.removeDevice(cdrom, false); result = task.waitForMe(); if (result == Task.SUCCESS) { System.out.println("The mounted cd drive is removed successfully.");
public static void main(String[] args) throws Exception { CommandLineParser clp = new CommandLineParser(new OptionSpec[]{}, args); String urlStr = clp.get_option("url"); String username = clp.get_option("username"); String password = clp.get_option("password"); ServiceInstance si = new ServiceInstance(new URL(urlStr), username, password, true); Folder rootFolder = si.getRootFolder(); VirtualMachine vm = (VirtualMachine) new InventoryNavigator(rootFolder).searchManagedEntities("VirtualMachine")[0]; Task task = vm.rename_Task("myvm"); String result = task.waitForMe(); if(result == Task.SUCCESS) { System.out.println("The name has been successfully changed."); } else { System.out.println("The name cannot be changed."); } si.getServerConnection().logout(); }
dstPath, dc, true); if(cTask.waitForMe()==Task.SUCCESS)
public static void main(String[] args) throws Exception { CommandLineParser clp = new CommandLineParser(new OptionSpec[]{}, args); String urlStr = clp.get_option("url"); String username = clp.get_option("username"); String password = clp.get_option("password"); ServiceInstance si = new ServiceInstance(new URL(urlStr), username, password, true); Folder rootFolder = si.getRootFolder(); VirtualMachine vm = (VirtualMachine) new InventoryNavigator(rootFolder).searchManagedEntities("VirtualMachine")[0]; Task task = vm.rename_Task("myvm"); String result = task.waitForMe(); if(result == Task.SUCCESS) { System.out.println("The name has been successfully changed."); } else { System.out.println("The name cannot be changed."); } si.getServerConnection().logout(); }
Task task = vm.reconfigVM_Task(vmConfigSpec); if(task.waitForMe()==Task.SUCCESS)
task.waitForMe(); System.out.println("vm:" + vm.getName() + " powered off.");
Task task = vm.reconfigVM_Task(vmConfigSpec); if(task.waitForMe()==Task.SUCCESS)
dstPath, dc, true); if(cTask.waitForMe()==Task.SUCCESS)
task.waitForMe(); System.out.println("vm:" + vm.getName() + " powered off.");
VirtualMachinePowerState.poweredOn); if(task.waitForMe()==Task.SUCCESS)
task.waitForMe(); TaskInfo tInfo = task.getTaskInfo(); ArrayOfHostDatastoreBrowserSearchResults searchResult =
VirtualMachineMovePriority.highPriority, VirtualMachinePowerState.poweredOn); if (task.waitForMe() == Task.SUCCESS) { long end = System.currentTimeMillis(); log("vMotion of " + targetVMName + " to " + newHostName
searchSpec.setQuery(new FileQuery[]{fQuery}); Task task = dsBrowser.searchDatastoreSubFolders_Task("[" + dsName + "]", searchSpec); task.waitForMe(); TaskInfo tInfo = task.getTaskInfo(); ArrayOfHostDatastoreBrowserSearchResults searchResult = (ArrayOfHostDatastoreBrowserSearchResults) tInfo.getResult();
@Override public BusinessWrapper<Boolean> vmModifyName(VmServerDO vmServer) { String vmName = vmServer.getInsideIp() + ":" + vmServer.getServerName(); if (vmServer.getVmName().equals(vmName)) return new BusinessWrapper<>(true); this.login(); try { VirtualMachine vm = (VirtualMachine) new InventoryNavigator( serviceInstance.getRootFolder()).searchManagedEntity("VirtualMachine", vmServer.getVmName()); if (vm == null) { logger.error("vcsa 查询错误:" + " No VM " + vmServer.getVmName() + " found"); serviceInstance.getRootFolder().getServerConnection().logout(); return new BusinessWrapper<>(false); } VmServerDO vmServerDO = new VmServerDO(vm); VirtualMachineConfigSpec vmConfigSpec = new VirtualMachineConfigSpec(); vmConfigSpec.setName(vmServerDO.getInsideIp() + ":" + vmServerDO.getServerName()); Task task = vm.reconfigVM_Task(vmConfigSpec); if (task.waitForMe() == Task.SUCCESS) { serviceInstance.getRootFolder().getServerConnection().logout(); return new BusinessWrapper<>(true); } else { serviceInstance.getRootFolder().getServerConnection().logout(); return new BusinessWrapper<>(false); } } catch (Exception e) { serviceInstance.getRootFolder().getServerConnection().logout(); logger.error("vcsa 查询错误"); } return new BusinessWrapper<>(true); }