Top use this function add it to the class library file named vCenterServerService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: vCenterServerService.ts
publicWaitForVcTaskEnd(objVcTask:VcTask,intPollRate:number):any{
while (objVcTask.info!==null){
letobjVcTaskInfoState:VcTaskInfoState=objVcTask.info.state;
if (objVcTaskInfoState.value==="success"){
break;
}
elseif (objVcTaskInfoState.value==="error"){
if (objVcTask.info.error.localizedMessage===null){
throw`Task '${objVcTask.info.name}' has encountered an unknown error`;
}
else{
throw`Task '${objVcTask.info.name}' error: '${objVcTask.info.error.localizedMessage}'`;
}
}
elseif (objVcTaskInfoState.value==="running"){
if (objVcTask.info.progress===null){
this.objLogger.info(`${objVcTask.info.name} - Queued or In Progress...`);
}
else{
this.objLogger.info(`${objVcTask.info.name} - Progress:${objVcTask.info.progress} %`);
}
}
System.sleep(intPollRate*1000);
}
this.objLogger.info(objVcTask.info.name+" - Completed");
System.sleep(2*1000);
if (objVcTask!==null&&objVcTask.info!==null&&objVcTask.info.result_AnyValue!==null){
letobjVcSdkConnection:VcSdkConnection=objVcTask.sdkConnection;
returnVcPlugin.convertToVimManagedObject(objVcSdkConnection,objVcTask.info.result_AnyValue);
}
else{
returnnull;
}
}
Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
