private static void reconfigVirtualMachine() throws Exception { System.out.println("ReConfigure The Virtual Machine .........."); VirtualMachineFileInfo vmFileInfo = new VirtualMachineFileInfo(); vmFileInfo.setLogDirectory("[" + datastore + "] " + vmName); vmFileInfo.setSnapshotDirectory("[" + datastore + "] " + vmName); vmFileInfo.setSuspendDirectory("[" + datastore + "] " + vmName); vmFileInfo.setVmPathName("[" + datastore + "] " + vmName + "/" + vmName + ".vmx"); VirtualMachineConfigSpec vmConfigSpec = new VirtualMachineConfigSpec(); vmConfigSpec.setFiles(vmFileInfo); ManagedObjectReference taskmor = vimPort.reconfigVMTask(getVmByVMname(vmName), vmConfigSpec); Object[] result = waitForValues( taskmor, new String[] {"info.state", "info.error"}, new String[] {"state"}, new Object[][] {new Object[] {TaskInfoState.SUCCESS, TaskInfoState.ERROR}}); if (result[0].equals(TaskInfoState.SUCCESS)) { System.out.println("ReConfigure The Virtual Machine .......... Done"); } else { System.out.println("Some Exception While Reconfiguring The VM " + result[0]); } }