public Observable<String> deRegisterInstanceFromLoadbalancer(String loadBalancer) { if (instanceId == null || loadBalancer == null) { LOG.error("Unable to register instance {}, on load balancer {}.", instanceId, loadBalancer); throw new IllegalStateException(); } try { return Observable.from(elbAsyncClient.deregisterInstancesFromLoadBalancerAsync(new DeregisterInstancesFromLoadBalancerRequest().withLoadBalancerName(loadBalancer).withInstances(new Instance().withInstanceId(instanceId)))) .flatMap(x -> Observable.just(loadBalancer)); } catch (AmazonClientException e) { LOG.error(LogConstants.ERROR_EXECUTING_REQUEST, e); throw new AwsException(e); } }
/** * * @param loadBalancerName * @param instances * @param lbClient * @return */ public List<com.amazonaws.services.elasticloadbalancing.model.Instance> deregisterInstancesLB(String loadBalancerName, List<com.amazonaws.services.elasticloadbalancing.model.Instance> instances, AmazonElasticLoadBalancing lbClient) { DeregisterInstancesFromLoadBalancerRequest request = new DeregisterInstancesFromLoadBalancerRequest() .withInstances(instances) .withLoadBalancerName(loadBalancerName); DeregisterInstancesFromLoadBalancerResult result = lbClient.deregisterInstancesFromLoadBalancer(request); return result.getInstances(); }