本文整理汇总了Java中com.vmware.vim25.TaskInfo类的典型用法代码示例。如果您正苦于以下问题:Java TaskInfo类的具体用法?Java TaskInfo怎么用?Java TaskInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
TaskInfo类属于com.vmware.vim25包,在下文中一共展示了TaskInfo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: detachDiskFromVM
import com.vmware.vim25.TaskInfo; //导入依赖的package包/类
public void detachDiskFromVM() throws Exception {
ArrayOfVirtualDevice devices = this.get
.entityProp(this.vm, VimPath.vm_config_hardware_device);
VirtualDisk vd = (VirtualDisk) findMatchingVirtualDevice(getListOfVirtualDisk(devices));
if (vd == null) {
throw new IllegalStateException(
String.format(
"Matching Virtual Disk is not for disk %s.",
this.diskState.documentSelfLink));
}
// Detach the disk from VM.
VirtualDeviceConfigSpec deviceConfigSpec = new VirtualDeviceConfigSpec();
deviceConfigSpec.setOperation(VirtualDeviceConfigSpecOperation.REMOVE);
deviceConfigSpec.setDevice(vd);
VirtualMachineConfigSpec spec = new VirtualMachineConfigSpec();
spec.getDeviceChange().add(deviceConfigSpec);
ManagedObjectReference reconfigureTask = getVimPort().reconfigVMTask(this.vm, spec);
TaskInfo info = VimUtils.waitTaskEnd(this.connection, reconfigureTask);
if (info.getState() == TaskInfoState.ERROR) {
VimUtils.rethrow(info.getError());
}
}
示例2: deleteDiskFromVSphere
import com.vmware.vim25.TaskInfo; //导入依赖的package包/类
private void deleteDiskFromVSphere(DiskState diskState) throws Throwable {
Connection connection = createConnection();
String diskFullPath = CustomProperties.of(diskState).getString(DISK_FULL_PATH, null);
ManagedObjectReference diskManager = connection.getServiceContent()
.getVirtualDiskManager();
ManagedObjectReference datacenterMoRef = VimUtils.convertStringToMoRef(diskState.regionId);
ManagedObjectReference deleteTask = connection.getVimPort().deleteVirtualDiskTask(diskManager,
diskFullPath, datacenterMoRef);
TaskInfo info = VimUtils.waitTaskEnd(connection, deleteTask);
String dirName = CustomProperties.of(diskState).getString(DISK_PARENT_DIRECTORY, null);
ManagedObjectReference fileManager = connection.getServiceContent()
.getFileManager();
deleteTask = connection.getVimPort().deleteDatastoreFileTask(fileManager, dirName,
datacenterMoRef);
info = VimUtils.waitTaskEnd(connection, deleteTask);
}
示例3: printTaskInfo
import com.vmware.vim25.TaskInfo; //导入依赖的package包/类
static void printTaskInfo(TaskInfo ti)
{
System.out.println("\nName:" + ti.getName());
System.out.println("Key:" + ti.getKey());
System.out.println("Entity:" + ti.getEntityName());
System.out.println("Reason:" + taskReason(ti.getReason()));
System.out.println("QueueTime:"
+ ti.getQueueTime().getTime());
Calendar calStart = ti.getStartTime();
Date dateStart = calStart==null? null : calStart.getTime();
System.out.println("StartTime:" + dateStart);
Calendar calStop = ti.getCompleteTime();
Date dateStop = calStop==null? null : calStop.getTime();
System.out.println("CompleteTime:" + dateStop);
System.out.println("Cancelable:" + ti.isCancelable());
System.out.println("Cancelled:" + ti.isCancelled());
}
示例4: getTaskFailureInfo
import com.vmware.vim25.TaskInfo; //导入依赖的package包/类
public static String getTaskFailureInfo(VmwareContext context, ManagedObjectReference morTask) {
StringBuffer sb = new StringBuffer();
try {
TaskInfo info = (TaskInfo)context.getVimClient().getDynamicProperty(morTask, "info");
if (info != null) {
LocalizedMethodFault fault = info.getError();
if (fault != null) {
sb.append(fault.getLocalizedMessage()).append(" ");
if (fault.getFault() != null)
sb.append(fault.getFault().getClass().getName());
}
}
} catch (Exception e) {
s_logger.info("[ignored]"
+ "error retrieving failure info for task : " + e.getLocalizedMessage());
}
return sb.toString();
}
示例5: logTaskInfo
import com.vmware.vim25.TaskInfo; //导入依赖的package包/类
private void logTaskInfo(TaskInfo info) {
if (info == null) {
logger.debug("Deleted task info key");
return;
}
TaskInfoState state = info.getState();
Integer progress = info.getProgress();
if (state == TaskInfoState.SUCCESS) {
progress = Integer.valueOf(100);
} else if (progress == null) {
progress = Integer.valueOf(0);
}
LocalizableMessage desc = info.getDescription();
String description = desc != null ? desc.getMessage() : "";
XMLGregorianCalendar queueT = info.getQueueTime();
String queueTime = queueT != null
? queueT.toGregorianCalendar().getTime().toString() : "";
XMLGregorianCalendar startT = info.getStartTime();
String startTime = startT != null
? startT.toGregorianCalendar().getTime().toString() : "";
XMLGregorianCalendar completeT = info.getCompleteTime();
String completeTime = completeT != null
? completeT.toGregorianCalendar().getTime().toString() : "";
logger.debug("Save task info key: " + info.getKey() + " name: "
+ info.getName() + " target: " + info.getEntityName()
+ " state: " + state.name() + " progress: " + progress
+ "% description: " + description + " queue-time: " + queueTime
+ " start-time: " + startTime + " complete-time: "
+ completeTime);
}
示例6: successfulTask
import com.vmware.vim25.TaskInfo; //导入依赖的package包/类
@StateMachineAction
@Override
protected String successfulTask(TaskInfo taskInfo, VMPropertyHandler ph) {
ph.setSetting(VMPropertyHandler.GUEST_READY_TIMEOUT_REF,
String.valueOf(System.currentTimeMillis()));
if (TASK_NAME_CREATE_SNAPSHOT.equals(taskInfo.getName())) {
ManagedObjectReference mor = (ManagedObjectReference) taskInfo
.getResult();
ph.setSetting(VMPropertyHandler.SNAPSHOT_ID, mor.getValue());
}
return EVENT_SUCCESS;
}
示例7: successfulTask
import com.vmware.vim25.TaskInfo; //导入依赖的package包/类
protected String successfulTask(
@SuppressWarnings("unused") TaskInfo taskInfo,
VMPropertyHandler ph) {
ph.setSetting(VMPropertyHandler.GUEST_READY_TIMEOUT_REF,
String.valueOf(System.currentTimeMillis()));
return EVENT_SUCCESS;
}
示例8: getTaskInfo
import com.vmware.vim25.TaskInfo; //导入依赖的package包/类
protected TaskInfo getTaskInfo(VMwareClient vmw,
VMPropertyHandler paramHandler) throws Exception {
String instanceId = paramHandler.getInstanceName();
String taskKey = paramHandler
.getServiceSetting(VMPropertyHandler.TASK_KEY);
logger.debug("VM: " + instanceId + " taskId: " + taskKey);
if (taskKey == null || "".equals(taskKey)) {
return null;
}
VimPortType service = vmw.getConnection().getService();
ManagedObjectReference taskManager = vmw.getConnection()
.getServiceContent().getTaskManager();
ManagedObjectReference taskHistoryCollector = service
.createCollectorForTasks(taskManager, new TaskFilterSpec());
try {
service.resetCollector(taskHistoryCollector);
service.readNextTasks(taskHistoryCollector, 100);
List<TaskInfo> taskList = vmw.getConnection().getService()
.readPreviousTasks(taskHistoryCollector, 100);
if (taskList != null) {
for (TaskInfo taskInfo : taskList) {
if (taskInfo != null && taskKey.equals(taskInfo.getKey())) {
logTaskInfo(taskInfo);
return taskInfo;
}
}
}
logger.error("Task not found. VM: " + instanceId + " taskId: "
+ taskKey);
return null;
} finally {
service.destroyCollector(taskHistoryCollector);
}
}
示例9: start
import com.vmware.vim25.TaskInfo; //导入依赖的package包/类
public TaskInfo start() throws Exception {
LOG.debug("instanceName: " + instanceName);
ManagedObjectReference startTask = vmw.getConnection().getService()
.powerOnVMTask(vmInstance, null);
TaskInfo tInfo = (TaskInfo) vmw.getServiceUtil()
.getDynamicProperty(startTask, "info");
return tInfo;
}
示例10: reconfigureVirtualMachine
import com.vmware.vim25.TaskInfo; //导入依赖的package包/类
/**
* Reconfigures VMware instance. Memory, CPU, disk space and network
* adapter. The VM has been created and must be stopped to reconfigure the
* hardware.
*/
public TaskInfo reconfigureVirtualMachine(VMPropertyHandler paramHandler)
throws Exception {
LOG.debug("instanceName: " + instanceName);
VimPortType service = vmw.getConnection().getService();
VirtualMachineConfigSpec vmConfigSpec = new VirtualMachineConfigSpec();
vmConfigSpec
.setMemoryMB(Long.valueOf(paramHandler.getConfigMemoryMB()));
vmConfigSpec.setNumCPUs(Integer.valueOf(paramHandler.getConfigCPUs()));
String reqUser = paramHandler
.getServiceSetting(VMPropertyHandler.REQUESTING_USER);
String comment = Messages.get(paramHandler.getLocale(), "vm_comment",
new Object[] { paramHandler.getSettings().getOrganizationName(),
paramHandler.getSettings().getSubscriptionId(),
reqUser });
String annotation = vmConfigSpec.getAnnotation();
comment = updateComment(comment, annotation);
vmConfigSpec.setAnnotation(comment);
DiskManager diskManager = new DiskManager(vmw, paramHandler);
diskManager.reconfigureDisks(vmConfigSpec, vmInstance);
NetworkManager.configureNetworkAdapter(vmw, vmConfigSpec, paramHandler,
vmInstance);
LOG.debug("Call vSphere API: reconfigVMTask()");
ManagedObjectReference reconfigureTask = service
.reconfigVMTask(vmInstance, vmConfigSpec);
return (TaskInfo) vmw.getServiceUtil()
.getDynamicProperty(reconfigureTask, "info");
}
示例11: updateCommentField
import com.vmware.vim25.TaskInfo; //导入依赖的package包/类
public TaskInfo updateCommentField(String comment) throws Exception {
LOG.debug("instanceName: " + instanceName + " comment: " + comment);
VimPortType service = vmw.getConnection().getService();
VirtualMachineConfigSpec vmConfigSpec = new VirtualMachineConfigSpec();
String annotation = vmConfigSpec.getAnnotation();
comment = updateComment(comment, annotation);
vmConfigSpec.setAnnotation(comment);
LOG.debug("Call vSphere API: reconfigVMTask()");
ManagedObjectReference reconfigureTask = service
.reconfigVMTask(vmInstance, vmConfigSpec);
return (TaskInfo) vmw.getServiceUtil()
.getDynamicProperty(reconfigureTask, "info");
}
示例12: delete
import com.vmware.vim25.TaskInfo; //导入依赖的package包/类
/**
* Delete VMware instance on vSphere server.
*
* @param vmw
* connected VMware client entity
* @param instanceId
* id of the instance
*/
public TaskInfo delete() throws Exception {
LOG.debug("Call vSphere API: destroyTask() instanceName: "
+ instanceName);
ManagedObjectReference startTask = vmw.getConnection().getService()
.destroyTask(vmInstance);
return (TaskInfo) vmw.getServiceUtil().getDynamicProperty(startTask,
"info");
}
示例13: migrateVM
import com.vmware.vim25.TaskInfo; //导入依赖的package包/类
private static boolean migrateVM(ServiceInstance si, Folder rootFolder,
HostSystem newHost, String targetVMName, String newHostName)
throws Exception {
log("Selected host [vm] for vMotion: " + newHostName + " [" + targetVMName
+ "]");
VirtualMachine vm = (VirtualMachine)new InventoryNavigator(rootFolder)
.searchManagedEntity("VirtualMachine", targetVMName);
if (vm == null) {
log(WARNING, "Could not resolve VM " + targetVMName + ", vMotion of this VM cannot be performed.");
return false;
}
ComputeResource cr = (ComputeResource)newHost.getParent();
String[] checks = new String[] { "cpu", "software" };
HostVMotionCompatibility[] vmcs = si.queryVMotionCompatibility(vm,
new HostSystem[] { newHost }, checks);
String[] comps = vmcs[0].getCompatibility();
if (checks.length != comps.length) {
log(WARNING, "CPU/software NOT compatible, vMotion failed.");
return false;
}
long start = System.currentTimeMillis();
Task task = vm.migrateVM_Task(cr.getResourcePool(), newHost,
VirtualMachineMovePriority.highPriority,
VirtualMachinePowerState.poweredOn);
if (task.waitForMe() == Task.SUCCESS) {
long end = System.currentTimeMillis();
log("vMotion of " + targetVMName + " to " + newHostName
+ " completed in " + (end - start) + "ms. Task result: "
+ task.getTaskInfo().getResult());
return true;
} else {
TaskInfo info = task.getTaskInfo();
log(WARNING, "vMotion of " + targetVMName + " to " + newHostName
+ " failed. Error details: " + info.getError().getFault());
return false;
}
}
示例14: powerOffVM
import com.vmware.vim25.TaskInfo; //导入依赖的package包/类
/**
* Power off virtual machine
*/
public static void powerOffVM(final Connection connection, final VimPortType vimPort,
final ManagedObjectReference vm) throws Exception {
ManagedObjectReference powerTask = vimPort.powerOffVMTask(vm);
TaskInfo info = VimUtils.waitTaskEnd(connection, powerTask);
if (info.getState() == TaskInfoState.ERROR) {
VimUtils.rethrow(info.getError());
}
}
示例15: powerOnVM
import com.vmware.vim25.TaskInfo; //导入依赖的package包/类
/**
* Power on virtual machine
*/
public static void powerOnVM(final Connection connection, final VimPortType vimPort,
final ManagedObjectReference vm) throws Exception {
ManagedObjectReference powerTask = vimPort.powerOnVMTask(vm, null);
TaskInfo info = VimUtils.waitTaskEnd(connection, powerTask);
if (info.getState() == TaskInfoState.ERROR) {
VimUtils.rethrow(info.getError());
}
}