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
publicVclLoadBalancerVirtualServerDelete(objVclGateway:VclGateway,strLoadBalancerName:string):void{
objVclGateway.updateInternalState();
letobjVclGatewayConfiguration:VclGatewayConfiguration=objVclGateway.configuration;
letobjVclGatewayFeatures:VclGatewayFeatures=objVclGatewayConfiguration.edgeGatewayServiceConfiguration;
letobjVclAbstractObjectSet:VclAbstractObjectSet=objVclGatewayFeatures.networkService;
letarrVclLoadBalancerService:VclLoadBalancerService[]=objVclAbstractObjectSet.find(newVclLoadBalancerService());
letobjVclLoadBalancerService:VclLoadBalancerService=arrVclLoadBalancerService[0];
this.objLogger.info("Load Balancer Service Enabled ?:"+objVclLoadBalancerService.isEnabled);
letobjVclObjectListVirtualServer:VclObjectList=objVclLoadBalancerService.virtualServer;
letarrVclLoadBalancerVirtualServer:VclLoadBalancerVirtualServer[]=objVclObjectListVirtualServer.enumerate();
this.objLogger.info("Before deletion the number of Load Balancer Virtual Servers are:"+objVclObjectListVirtualServer.size());
letobjVclLoadBalancerVirtualServer:VclLoadBalancerVirtualServer=arrVclLoadBalancerVirtualServer.find((objVclLoadBalancerVirtualServer:VclLoadBalancerVirtualServer):boolean=>{
returnobjVclLoadBalancerVirtualServer.name==strLoadBalancerName+"-VirtualServer";
});
this.objLogger.info("A Match was Found for"+objVclLoadBalancerVirtualServer.name+", this Virtual Server will be deleted.");
letintVirtualServerIndex: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);
});
letobjVclObjectListPool:VclObjectList=objVclLoadBalancerService.pool;
letarrVclLoadBalancerPool:VclLoadBalancerPool[]=objVclObjectListPool.enumerate();
this.objLogger.info("Before deletion the number of Load Balancer Pools are:"+objVclObjectListPool.size());
letobjVclLoadBalancerPool:VclLoadBalancerPool=arrVclLoadBalancerPool.find((objVclLoadBalancerPool:VclLoadBalancerPool):boolean=>{
returnobjVclLoadBalancerPool.name==strLoadBalancerName+"-Pool";
});
this.objLogger.info("A Match was Found for"+objVclLoadBalancerPool.name+", this Pool will be deleted.");
letintPoolIndex: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);
});
letobjVclTask:VclTask=objVclGateway.update();
this.WaitForVclTask(objVclTask,1);
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
