Function: vCenter Managed Entity Get Parent Implementations

by Simon Sparks · 20 December 2025

To use this function add it to the class library file named vCenterServerService.ts

GitHub Repository: https://github.com/SimonSparksUK/Orchestrator

Filename: vCenterServerService.ts

Private Function: VcManagedEntityGetParent

private VcManagedEntityGetParent<T>(objVcManagedEntity: VcManagedEntity): T {
    let objVcManagedEntityParent: VcManagedEntity = !objVcManagedEntity.parent ? null : objVcManagedEntity.parent;

    if (!objVcManagedEntityParent) {
        return null;
        // @ts-ignore
    } else if (objVcManagedEntityParent instanceof T) {
        return objVcManagedEntityParent as T;
    } else {
        return this.VcManagedEntityGetParent<T>(objVcManagedEntityParent);
    }
}

Public Function: VcManagedEntityGetParentVcDatacenter

public VcManagedEntityGetParentVcDatacenter(objVcManagedEntity: VcManagedEntity): VcDatacenter {

    let objVcDatacenter: VcDatacenter = this.getVcManagedEntityParent<VcDatacenter>(objVcManagedEntity);

    return objVcDatacenter;
}

Public Function: VcManagedEntityGetParentVcHostSystem

public VcManagedEntityGetParentVcHostSystem(objVcManagedEntity: VcManagedEntity): VcHostSystem {

    let objVcHostSystem: VcHostSystem = this.getVcManagedEntityParent<VcHostSystem>(objVcManagedEntity);

    return objVcHostSystem;
}

Public Function: VcManagedEntityGetParentVcClusterComputeResource

public VcManagedEntityGetParentVcClusterComputeResource(objVcManagedEntity: VcManagedEntity): VcClusterComputeResource {

    let objVcClusterComputeResource: VcClusterComputeResource = this.getVcManagedEntityParent<VcClusterComputeResource>(objVcManagedEntity);

    return objVcClusterComputeResource;
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like