Function: VCFA Event Handler – Provisioning

by Simon Sparks · 9 March 2026

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

public VccfaEventHandlerProvisioning(objVCFAHost: VCFAHost, inputProperties: Properties): void {
    if (objVCFAHost === null) {
        objVCFAHost = VCFAHostManager.getDefaultHost();
    }

    let objJson: Properties = inputProperties.get<Properties>("object");
    let objPropertiesInvolvedObject: Properties = objJson.get("involvedObject");
    let objPropertiesProject: Properties = objJson.get("project");

    let strVirtualMachineName: string = objPropertiesInvolvedObject.get("name");
    let strNamespaceName: string = objPropertiesInvolvedObject.get("namespace");
    let strProjectId: string = objPropertiesProject.get("id");

    let objVCFAProject: VCFAProject = this.VcfaProjectGetById(objVCFAHost, strProjectId);

    let objVCFASupervisorNamespace: VCFASupervisorNamespace = this.VcfaSupervisorNamespaceGetByName(objVCFAHost, objVCFAProject, strNamespaceName)

    let strPath: string = `/proxy/k8s/namespaces/${objVCFASupervisorNamespace.k8sId}/apis/vmoperator.vmware.com/v1alpha3/namespaces/${objVCFASupervisorNamespace.name}/virtualmachines/${strVirtualMachineName}`;

    let strContent: string = this.VcfaGenericRestClient(objVCFAHost, "GET", strPath);

    let objContent: 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);
    }
}
TypeScript

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like