Search in sources :

Example 1 with DeregisterInstancesFromLoadBalancerResult

use of com.amazonaws.services.elasticloadbalancing.model.DeregisterInstancesFromLoadBalancerResult in project photon-model by vmware.

the class AWSLoadBalancerService method deregisterInstances.

private DeferredResult<AWSLoadBalancerContext> deregisterInstances(AWSLoadBalancerContext context) {
    // Do not try to deregister instances if there aren't any
    if (context.instanceIdsToDeregister.isEmpty()) {
        return DeferredResult.completed(context);
    }
    DeregisterInstancesFromLoadBalancerRequest request = buildInstanceDeregistrationRequest(context);
    String message = "Deregistering instances to AWS Load Balancer with name [" + context.loadBalancerStateExpanded.name + "]";
    AWSDeferredResultAsyncHandler<DeregisterInstancesFromLoadBalancerRequest, DeregisterInstancesFromLoadBalancerResult> handler = new AWSDeferredResultAsyncHandler<>(this, message);
    context.client.deregisterInstancesFromLoadBalancerAsync(request, handler);
    return handler.toDeferredResult().thenApply(ignore -> context);
}
Also used : AWSDeferredResultAsyncHandler(com.vmware.photon.controller.model.adapters.awsadapter.util.AWSDeferredResultAsyncHandler) DeregisterInstancesFromLoadBalancerResult(com.amazonaws.services.elasticloadbalancing.model.DeregisterInstancesFromLoadBalancerResult) DeregisterInstancesFromLoadBalancerRequest(com.amazonaws.services.elasticloadbalancing.model.DeregisterInstancesFromLoadBalancerRequest)

Aggregations

DeregisterInstancesFromLoadBalancerRequest (com.amazonaws.services.elasticloadbalancing.model.DeregisterInstancesFromLoadBalancerRequest)1 DeregisterInstancesFromLoadBalancerResult (com.amazonaws.services.elasticloadbalancing.model.DeregisterInstancesFromLoadBalancerResult)1 AWSDeferredResultAsyncHandler (com.vmware.photon.controller.model.adapters.awsadapter.util.AWSDeferredResultAsyncHandler)1