Orchestrator Function: Delete a Load Balancer off an Edge

by Simon Sparks · 5 September 2013

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.

You may also like