To use this function add it to the class library file named vCloudService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: vCloudService.ts
Description: Orchestrator Function to Delete aa Load Balancer off an Edge
Function VclLoadBalancerVirtualServerDelete
public VclLoadBalancerVirtualServerDelete(objVclGateway: VclGateway, strLoadBalancerName: string): void {
objVclGateway.updateInternalState();
let objVclGatewayConfiguration: VclGatewayConfiguration = objVclGateway.configuration;
let objVclGatewayFeatures: VclGatewayFeatures = objVclGatewayConfiguration.edgeGatewayServiceConfiguration;
let objVclAbstractObjectSet: VclAbstractObjectSet = objVclGatewayFeatures.networkService;
let arrVclLoadBalancerService: VclLoadBalancerService[] = objVclAbstractObjectSet.find(new VclLoadBalancerService());
let objVclLoadBalancerService: VclLoadBalancerService = arrVclLoadBalancerService[0];
this.objLogger.info("Load Balancer Service Enabled ?: " + objVclLoadBalancerService.isEnabled);
let objVclObjectListVirtualServer: VclObjectList = objVclLoadBalancerService.virtualServer;
let arrVclLoadBalancerVirtualServer: VclLoadBalancerVirtualServer[] = objVclObjectListVirtualServer.enumerate();
this.objLogger.info("Before deletion the number of Load Balancer Virtual Servers are: " + objVclObjectListVirtualServer.size());
let objVclLoadBalancerVirtualServer: VclLoadBalancerVirtualServer = arrVclLoadBalancerVirtualServer.find((objVclLoadBalancerVirtualServer: VclLoadBalancerVirtualServer): boolean => {
return objVclLoadBalancerVirtualServer.name == strLoadBalancerName + "-VirtualServer";
});
this.objLogger.info("A Match was Found for " + objVclLoadBalancerVirtualServer.name + ", this Virtual Server will be deleted.");
let intVirtualServerIndex: number = objVclObjectListVirtualServer.indexOf(objVclLoadBalancerVirtualServer);
objVclLoadBalancerService.virtualServer.remove(intVirtualServerIndex);
this.objLogger.info("After deletion the number of Load Balancer Virtual Servers are: " + objVclLoadBalancerService.virtualServer.size());
objVclObjectListVirtualServer = objVclLoadBalancerService.virtualServer;
arrVclLoadBalancerVirtualServer = objVclObjectListVirtualServer.enumerate();
arrVclLoadBalancerVirtualServer.forEach((objVclLoadBalancerVirtualServer: VclLoadBalancerVirtualServer): void => {
this.objLogger.info("AFTER DECOM - objVclLoadBalancerVirtualServer.name = " + objVclLoadBalancerVirtualServer.name);
});
let objVclObjectListPool: VclObjectList = objVclLoadBalancerService.pool;
let arrVclLoadBalancerPool: VclLoadBalancerPool[] = objVclObjectListPool.enumerate();
this.objLogger.info("Before deletion the number of Load Balancer Pools are: " + objVclObjectListPool.size());
let objVclLoadBalancerPool: VclLoadBalancerPool = arrVclLoadBalancerPool.find((objVclLoadBalancerPool: VclLoadBalancerPool): boolean => {
return objVclLoadBalancerPool.name == strLoadBalancerName + "-Pool";
});
this.objLogger.info("A Match was Found for " + objVclLoadBalancerPool.name + ", this Pool will be deleted.");
let intPoolIndex: number = objVclObjectListPool.indexOf(objVclLoadBalancerPool);
objVclLoadBalancerService.pool.remove(intPoolIndex);
this.objLogger.info("After deletion the number of Load Balancer Pools are: " + objVclLoadBalancerService.pool.size());
objVclObjectListPool = objVclLoadBalancerService.pool;
arrVclLoadBalancerPool = objVclObjectListPool.enumerate();
arrVclLoadBalancerPool.forEach((objVclLoadBalancerPool: VclLoadBalancerPool): void => {
this.objLogger.info("AFTER DECOM - objVclLoadBalancerPool.name = " + objVclLoadBalancerPool.name);
});
let objVclTask: VclTask = objVclGateway.update();
this.WaitForVclTask(objVclTask, 1);
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
