To use this function add it to the class library file named OrchestratorPluginVCFAService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: OrchestratorPluginVCFAService.ts
Description: Orchestrator Function to handle the provisioning event.
Public Function: VccfaEventHandlerProvisioning
publicVccfaEventHandlerProvisioning(objVCFAHost:VCFAHost,inputProperties:Properties):void{
if (objVCFAHost===null){
objVCFAHost=VCFAHostManager.getDefaultHost();
}
letobjJson:Properties=inputProperties.get<Properties>("object");
letobjPropertiesInvolvedObject:Properties=objJson.get("involvedObject");
letobjPropertiesProject:Properties=objJson.get("project");
letstrVirtualMachineName:string=objPropertiesInvolvedObject.get("name");
letstrNamespaceName:string=objPropertiesInvolvedObject.get("namespace");
letstrProjectId:string=objPropertiesProject.get("id");
letobjVCFAProject:VCFAProject=this.VcfaProjectGetById(objVCFAHost,strProjectId);
letobjVCFASupervisorNamespace:VCFASupervisorNamespace=this.VcfaSupervisorNamespaceGetByName(objVCFAHost,objVCFAProject,strNamespaceName)
letstrPath:string=`/proxy/k8s/namespaces/${objVCFASupervisorNamespace.k8sId}/apis/vmoperator.vmware.com/v1alpha3/namespaces/${objVCFASupervisorNamespace.name}/virtualmachines/${strVirtualMachineName}`;
letstrContent:string=this.VcfaGenericRestClient(objVCFAHost,"GET",strPath);
letobjContent:any=JSON.parse(strContent);
if (objContent&&objContent.spec){
this.objLogger.info("Content Status:"+objContent.status);
this.objLogger.info("Content Status:"+objContent.message);
this.objLogger.info("Virtual Machine Spec:"+objContent.spec);
this.objLogger.info("Virtual Machine Spec Power Off Mode:"+objContent.spec.powerOffMode);
}
}TypeScriptDiscover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
