Search in sources :

Example 1 with RegisterInstancesWithLoadBalancerRequest

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

the class AWSLoadBalancerService method registerInstances.

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

Example 2 with RegisterInstancesWithLoadBalancerRequest

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

the class TestAWSSetupUtils method registerAWSInstancesToLoadBalancer.

private static void registerAWSInstancesToLoadBalancer(VerificationHost host, AmazonElasticLoadBalancingAsyncClient client, String name, List<String> instanceIds) {
    RegisterInstancesWithLoadBalancerRequest registerRequest = new RegisterInstancesWithLoadBalancerRequest().withLoadBalancerName(name).withInstances(instanceIds.stream().map(com.amazonaws.services.elasticloadbalancing.model.Instance::new).collect(Collectors.toList()));
    RegisterInstancesWithLoadBalancerResult result = null;
    try {
        result = client.registerInstancesWithLoadBalancer(registerRequest);
    } catch (Exception e) {
        host.log(Level.SEVERE, "Error registering instances with load balancer %s", Utils.toString(e));
    }
    assertNotNull(result);
    assertFalse(result.getInstances().isEmpty());
}
Also used : RegisterInstancesWithLoadBalancerRequest(com.amazonaws.services.elasticloadbalancing.model.RegisterInstancesWithLoadBalancerRequest) Instance(com.amazonaws.services.ec2.model.Instance) RegisterInstancesWithLoadBalancerResult(com.amazonaws.services.elasticloadbalancing.model.RegisterInstancesWithLoadBalancerResult) UnknownHostException(java.net.UnknownHostException) AmazonEC2Exception(com.amazonaws.services.ec2.model.AmazonEC2Exception) TimeoutException(java.util.concurrent.TimeoutException)

Aggregations

RegisterInstancesWithLoadBalancerRequest (com.amazonaws.services.elasticloadbalancing.model.RegisterInstancesWithLoadBalancerRequest)2 RegisterInstancesWithLoadBalancerResult (com.amazonaws.services.elasticloadbalancing.model.RegisterInstancesWithLoadBalancerResult)2 AmazonEC2Exception (com.amazonaws.services.ec2.model.AmazonEC2Exception)1 Instance (com.amazonaws.services.ec2.model.Instance)1 AWSDeferredResultAsyncHandler (com.vmware.photon.controller.model.adapters.awsadapter.util.AWSDeferredResultAsyncHandler)1 UnknownHostException (java.net.UnknownHostException)1 TimeoutException (java.util.concurrent.TimeoutException)1