All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.elasticloadbalancing.AmazonElasticLoadBalancingAsyncClient Maven / Gradle / Ivy

Go to download

The Amazon Web Services SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

The newest version!
/*
 * Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.amazonaws.services.elasticloadbalancing;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.handlers.AsyncHandler;
import com.amazonaws.ClientConfiguration;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;

import com.amazonaws.services.elasticloadbalancing.model.*;

/**
 * Asynchronous client for accessing AmazonElasticLoadBalancing.
 * All asynchronous calls made using this client are non-blocking. Callers could either
 * process the result and handle the exceptions in the worker thread by providing a callback handler
 * when making the call, or use the returned Future object to check the result of the call in the calling thread.
 * Elastic Load Balancing 

* Elastic Load Balancing is a cost-effective and easy to use web * service to help you improve the availability and scalability of your * application running on Amazon Elastic Cloud Compute (Amazon EC2). It * makes it easy for you to distribute application loads between two or * more EC2 instances. Elastic Load Balancing supports the growth in * traffic of your application by enabling availability through * redundancy. *

*

* This guide provides detailed information about Elastic Load Balancing * actions, data types, and parameters that can be used for sending a * query request. Query requests are HTTP or HTTPS requests that use the * HTTP verb GET or POST and a query parameter named Action or Operation. * Action is used throughout this documentation, although Operation is * supported for backward compatibility with other AWS Query APIs. *

*

* For detailed information on constructing a query request using the * actions, data types, and parameters mentioned in this guide, go to * Using the Query API * in the Elastic Load Balancing Developer Guide . *

*

* For detailed information about Elastic Load Balancing features and * their associated actions, go to * Using Elastic Load Balancing * in the Elastic Load Balancing Developer Guide . *

*

* This reference guide is based on the current WSDL, which is available * at: * * *

*

* Endpoints *

*

* The examples in this guide assume that your load balancers are created * in the US East (Northern Virginia) region and use us-east-1 as the * endpoint. *

*

* You can create your load balancers in other AWS regions. For * information about regions and endpoints supported by Elastic Load * Balancing, see * Regions and Endpoints * in the Amazon Web Services General Reference. *

*/ public class AmazonElasticLoadBalancingAsyncClient extends AmazonElasticLoadBalancingClient implements AmazonElasticLoadBalancingAsync { /** * Executor service for executing asynchronous requests. */ private ExecutorService executorService; private static final int DEFAULT_THREAD_POOL_SIZE = 50; /** * Constructs a new asynchronous client to invoke service methods on * AmazonElasticLoadBalancing. A credentials provider chain will be used * that searches for credentials in this order: *
    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @see DefaultAWSCredentialsProviderChain */ public AmazonElasticLoadBalancingAsyncClient() { this(new DefaultAWSCredentialsProviderChain()); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonElasticLoadBalancing. A credentials provider chain will be used * that searches for credentials in this order: *

    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param clientConfiguration The client configuration options controlling how this * client connects to AmazonElasticLoadBalancing * (ex: proxy settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain */ public AmazonElasticLoadBalancingAsyncClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration, Executors.newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonElasticLoadBalancing using the specified AWS account credentials. * Default client settings will be used, and a fixed size thread pool will be * created for executing the asynchronous tasks. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentials The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. */ public AmazonElasticLoadBalancingAsyncClient(AWSCredentials awsCredentials) { this(awsCredentials, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonElasticLoadBalancing using the specified AWS account credentials * and executor service. Default client settings will be used. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AmazonElasticLoadBalancingAsyncClient(AWSCredentials awsCredentials, ExecutorService executorService) { super(awsCredentials); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on * AmazonElasticLoadBalancing using the specified AWS account credentials, * executor service, and client configuration options. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy * settings, etc). * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AmazonElasticLoadBalancingAsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService) { super(awsCredentials, clientConfiguration); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on * AmazonElasticLoadBalancing using the specified AWS account credentials provider. * Default client settings will be used, and a fixed size thread pool will be * created for executing the asynchronous tasks. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. */ public AmazonElasticLoadBalancingAsyncClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonElasticLoadBalancing using the specified AWS account credentials provider * and executor service. Default client settings will be used. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AmazonElasticLoadBalancingAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ExecutorService executorService) { this(awsCredentialsProvider, new ClientConfiguration(), executorService); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonElasticLoadBalancing using the specified AWS account credentials * provider and client configuration options. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy * settings, etc). */ public AmazonElasticLoadBalancingAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, Executors.newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonElasticLoadBalancing using the specified AWS account credentials * provider, executor service, and client configuration options. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy * settings, etc). * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AmazonElasticLoadBalancingAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, ExecutorService executorService) { super(awsCredentialsProvider, clientConfiguration); this.executorService = executorService; } /** * Returns the executor service used by this async client to execute * requests. * * @return The executor service used by this async client to execute * requests. */ public ExecutorService getExecutorService() { return executorService; } /** * Shuts down the client, releasing all managed resources. This includes * forcibly terminating all pending asynchronous service calls. Clients who * wish to give pending asynchronous service calls time to complete should * call getExecutorService().shutdown() followed by * getExecutorService().awaitTermination() prior to calling this method. */ @Override public void shutdown() { super.shutdown(); executorService.shutdownNow(); } /** *

* Returns meta-information on the specified load balancer policies * defined by the Elastic Load Balancing service. The policy types that * are returned from this action can be used in a * CreateLoadBalancerPolicy action to instantiate specific policy * configurations that will be applied to a load balancer. *

* * @param describeLoadBalancerPolicyTypesRequest Container for the * necessary parameters to execute the DescribeLoadBalancerPolicyTypes * operation on AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * DescribeLoadBalancerPolicyTypes service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future describeLoadBalancerPolicyTypesAsync(final DescribeLoadBalancerPolicyTypesRequest describeLoadBalancerPolicyTypesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeLoadBalancerPolicyTypesResult call() throws Exception { return describeLoadBalancerPolicyTypes(describeLoadBalancerPolicyTypesRequest); } }); } /** *

* Returns meta-information on the specified load balancer policies * defined by the Elastic Load Balancing service. The policy types that * are returned from this action can be used in a * CreateLoadBalancerPolicy action to instantiate specific policy * configurations that will be applied to a load balancer. *

* * @param describeLoadBalancerPolicyTypesRequest Container for the * necessary parameters to execute the DescribeLoadBalancerPolicyTypes * operation on AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeLoadBalancerPolicyTypes service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future describeLoadBalancerPolicyTypesAsync( final DescribeLoadBalancerPolicyTypesRequest describeLoadBalancerPolicyTypesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeLoadBalancerPolicyTypesResult call() throws Exception { DescribeLoadBalancerPolicyTypesResult result; try { result = describeLoadBalancerPolicyTypes(describeLoadBalancerPolicyTypesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeLoadBalancerPolicyTypesRequest, result); return result; } }); } /** *

* Specifies the health check settings to use for evaluating the health * state of your back-end instances. *

*

* For more information, see * Health Check * in the Elastic Load Balancing Developer Guide . *

* * @param configureHealthCheckRequest Container for the necessary * parameters to execute the ConfigureHealthCheck operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * ConfigureHealthCheck service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future configureHealthCheckAsync(final ConfigureHealthCheckRequest configureHealthCheckRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ConfigureHealthCheckResult call() throws Exception { return configureHealthCheck(configureHealthCheckRequest); } }); } /** *

* Specifies the health check settings to use for evaluating the health * state of your back-end instances. *

*

* For more information, see * Health Check * in the Elastic Load Balancing Developer Guide . *

* * @param configureHealthCheckRequest Container for the necessary * parameters to execute the ConfigureHealthCheck operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ConfigureHealthCheck service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future configureHealthCheckAsync( final ConfigureHealthCheckRequest configureHealthCheckRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ConfigureHealthCheckResult call() throws Exception { ConfigureHealthCheckResult result; try { result = configureHealthCheck(configureHealthCheckRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(configureHealthCheckRequest, result); return result; } }); } /** *

* Removes subnets from the set of configured subnets in the Amazon * Virtual Private Cloud (Amazon VPC) for the load balancer. *

*

* After a subnet is removed all of the EC2 instances registered with * the load balancer that are in the removed subnet will go into the * OutOfService state. When a subnet is removed, the load balancer * will balance the traffic among the remaining routable subnets for the * load balancer. *

* * @param detachLoadBalancerFromSubnetsRequest Container for the * necessary parameters to execute the DetachLoadBalancerFromSubnets * operation on AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * DetachLoadBalancerFromSubnets service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future detachLoadBalancerFromSubnetsAsync(final DetachLoadBalancerFromSubnetsRequest detachLoadBalancerFromSubnetsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DetachLoadBalancerFromSubnetsResult call() throws Exception { return detachLoadBalancerFromSubnets(detachLoadBalancerFromSubnetsRequest); } }); } /** *

* Removes subnets from the set of configured subnets in the Amazon * Virtual Private Cloud (Amazon VPC) for the load balancer. *

*

* After a subnet is removed all of the EC2 instances registered with * the load balancer that are in the removed subnet will go into the * OutOfService state. When a subnet is removed, the load balancer * will balance the traffic among the remaining routable subnets for the * load balancer. *

* * @param detachLoadBalancerFromSubnetsRequest Container for the * necessary parameters to execute the DetachLoadBalancerFromSubnets * operation on AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DetachLoadBalancerFromSubnets service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future detachLoadBalancerFromSubnetsAsync( final DetachLoadBalancerFromSubnetsRequest detachLoadBalancerFromSubnetsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DetachLoadBalancerFromSubnetsResult call() throws Exception { DetachLoadBalancerFromSubnetsResult result; try { result = detachLoadBalancerFromSubnets(detachLoadBalancerFromSubnetsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(detachLoadBalancerFromSubnetsRequest, result); return result; } }); } /** *

* Modifies the attributes of a specified load balancer. *

*

* You can modify the load balancer attributes, such as * AccessLogs , * ConnectionDraining , and * CrossZoneLoadBalancing by either enabling or disabling * them. *

*

* For information on cross-zone load balancing, see Request * Routing and for information on connection draining, see * Connection Draining in the * Concepts section of the Elastic Load Balancer Developer Guide . For information on access logs, see Access Logs * . *

* * @param modifyLoadBalancerAttributesRequest Container for the necessary * parameters to execute the ModifyLoadBalancerAttributes operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * ModifyLoadBalancerAttributes service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyLoadBalancerAttributesAsync(final ModifyLoadBalancerAttributesRequest modifyLoadBalancerAttributesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ModifyLoadBalancerAttributesResult call() throws Exception { return modifyLoadBalancerAttributes(modifyLoadBalancerAttributesRequest); } }); } /** *

* Modifies the attributes of a specified load balancer. *

*

* You can modify the load balancer attributes, such as * AccessLogs , * ConnectionDraining , and * CrossZoneLoadBalancing by either enabling or disabling * them. *

*

* For information on cross-zone load balancing, see Request * Routing and for information on connection draining, see * Connection Draining in the * Concepts section of the Elastic Load Balancer Developer Guide . For information on access logs, see Access Logs * . *

* * @param modifyLoadBalancerAttributesRequest Container for the necessary * parameters to execute the ModifyLoadBalancerAttributes operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ModifyLoadBalancerAttributes service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyLoadBalancerAttributesAsync( final ModifyLoadBalancerAttributesRequest modifyLoadBalancerAttributesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ModifyLoadBalancerAttributesResult call() throws Exception { ModifyLoadBalancerAttributesResult result; try { result = modifyLoadBalancerAttributes(modifyLoadBalancerAttributesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(modifyLoadBalancerAttributesRequest, result); return result; } }); } /** *

* Creates one or more listeners on a load balancer for the specified * port. If a listener with the given port does not already exist, it * will be created; otherwise, the properties of the new listener must * match the properties of the existing listener. *

*

* For more information, see * Add a Listener to Your Load Balancer * in the Elastic Load Balancing Developer Guide . *

* * @param createLoadBalancerListenersRequest Container for the necessary * parameters to execute the CreateLoadBalancerListeners operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * CreateLoadBalancerListeners service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future createLoadBalancerListenersAsync(final CreateLoadBalancerListenersRequest createLoadBalancerListenersRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { createLoadBalancerListeners(createLoadBalancerListenersRequest); return null; } }); } /** *

* Creates one or more listeners on a load balancer for the specified * port. If a listener with the given port does not already exist, it * will be created; otherwise, the properties of the new listener must * match the properties of the existing listener. *

*

* For more information, see * Add a Listener to Your Load Balancer * in the Elastic Load Balancing Developer Guide . *

* * @param createLoadBalancerListenersRequest Container for the necessary * parameters to execute the CreateLoadBalancerListeners operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateLoadBalancerListeners service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future createLoadBalancerListenersAsync( final CreateLoadBalancerListenersRequest createLoadBalancerListenersRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { createLoadBalancerListeners(createLoadBalancerListenersRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createLoadBalancerListenersRequest, null); return null; } }); } /** *

* Deletes listeners from the load balancer for the specified port. *

* * @param deleteLoadBalancerListenersRequest Container for the necessary * parameters to execute the DeleteLoadBalancerListeners operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * DeleteLoadBalancerListeners service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteLoadBalancerListenersAsync(final DeleteLoadBalancerListenersRequest deleteLoadBalancerListenersRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteLoadBalancerListeners(deleteLoadBalancerListenersRequest); return null; } }); } /** *

* Deletes listeners from the load balancer for the specified port. *

* * @param deleteLoadBalancerListenersRequest Container for the necessary * parameters to execute the DeleteLoadBalancerListeners operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteLoadBalancerListeners service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteLoadBalancerListenersAsync( final DeleteLoadBalancerListenersRequest deleteLoadBalancerListenersRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteLoadBalancerListeners(deleteLoadBalancerListenersRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteLoadBalancerListenersRequest, null); return null; } }); } /** *

* Generates a stickiness policy with sticky session lifetimes that * follow that of an application-generated cookie. This policy can be * associated only with HTTP/HTTPS listeners. *

*

* This policy is similar to the policy created by * CreateLBCookieStickinessPolicy, except that the lifetime of the * special Elastic Load Balancing cookie follows the lifetime of the * application-generated cookie specified in the policy configuration. * The load balancer only inserts a new stickiness cookie when the * application response includes a new application cookie. *

*

* If the application cookie is explicitly removed or expires, the * session stops being sticky until a new application cookie is issued. *

*

* NOTE: An application client must receive and send two cookies: * the application-generated cookie and the special Elastic Load * Balancing cookie named AWSELB. This is the default behavior for many * common web browsers. *

*

* For more information, see * Enabling Application-Controlled Session Stickiness * in the Elastic Load Balancing Developer Guide . *

* * @param createAppCookieStickinessPolicyRequest Container for the * necessary parameters to execute the CreateAppCookieStickinessPolicy * operation on AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * CreateAppCookieStickinessPolicy service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future createAppCookieStickinessPolicyAsync(final CreateAppCookieStickinessPolicyRequest createAppCookieStickinessPolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateAppCookieStickinessPolicyResult call() throws Exception { return createAppCookieStickinessPolicy(createAppCookieStickinessPolicyRequest); } }); } /** *

* Generates a stickiness policy with sticky session lifetimes that * follow that of an application-generated cookie. This policy can be * associated only with HTTP/HTTPS listeners. *

*

* This policy is similar to the policy created by * CreateLBCookieStickinessPolicy, except that the lifetime of the * special Elastic Load Balancing cookie follows the lifetime of the * application-generated cookie specified in the policy configuration. * The load balancer only inserts a new stickiness cookie when the * application response includes a new application cookie. *

*

* If the application cookie is explicitly removed or expires, the * session stops being sticky until a new application cookie is issued. *

*

* NOTE: An application client must receive and send two cookies: * the application-generated cookie and the special Elastic Load * Balancing cookie named AWSELB. This is the default behavior for many * common web browsers. *

*

* For more information, see * Enabling Application-Controlled Session Stickiness * in the Elastic Load Balancing Developer Guide . *

* * @param createAppCookieStickinessPolicyRequest Container for the * necessary parameters to execute the CreateAppCookieStickinessPolicy * operation on AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateAppCookieStickinessPolicy service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future createAppCookieStickinessPolicyAsync( final CreateAppCookieStickinessPolicyRequest createAppCookieStickinessPolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateAppCookieStickinessPolicyResult call() throws Exception { CreateAppCookieStickinessPolicyResult result; try { result = createAppCookieStickinessPolicy(createAppCookieStickinessPolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createAppCookieStickinessPolicyRequest, result); return result; } }); } /** *

* Associates one or more security groups with your load balancer in * Amazon Virtual Private Cloud (Amazon VPC). The provided security group * IDs will override any currently applied security groups. *

*

* For more information, see * Manage Security Groups in Amazon VPC * in the Elastic Load Balancing Developer Guide . *

* * @param applySecurityGroupsToLoadBalancerRequest Container for the * necessary parameters to execute the ApplySecurityGroupsToLoadBalancer * operation on AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * ApplySecurityGroupsToLoadBalancer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future applySecurityGroupsToLoadBalancerAsync(final ApplySecurityGroupsToLoadBalancerRequest applySecurityGroupsToLoadBalancerRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ApplySecurityGroupsToLoadBalancerResult call() throws Exception { return applySecurityGroupsToLoadBalancer(applySecurityGroupsToLoadBalancerRequest); } }); } /** *

* Associates one or more security groups with your load balancer in * Amazon Virtual Private Cloud (Amazon VPC). The provided security group * IDs will override any currently applied security groups. *

*

* For more information, see * Manage Security Groups in Amazon VPC * in the Elastic Load Balancing Developer Guide . *

* * @param applySecurityGroupsToLoadBalancerRequest Container for the * necessary parameters to execute the ApplySecurityGroupsToLoadBalancer * operation on AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ApplySecurityGroupsToLoadBalancer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future applySecurityGroupsToLoadBalancerAsync( final ApplySecurityGroupsToLoadBalancerRequest applySecurityGroupsToLoadBalancerRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ApplySecurityGroupsToLoadBalancerResult call() throws Exception { ApplySecurityGroupsToLoadBalancerResult result; try { result = applySecurityGroupsToLoadBalancer(applySecurityGroupsToLoadBalancerRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(applySecurityGroupsToLoadBalancerRequest, result); return result; } }); } /** *

* Returns detailed descriptions of the policies. If you specify a load * balancer name, the action returns the descriptions of all the policies * created for the load balancer. If you specify a policy name associated * with your load balancer, the action returns the description of that * policy. If you don't specify a load balancer name, the action returns * descriptions of the specified sample policies, or descriptions of all * the sample policies. The names of the sample policies have the * ELBSample- prefix. *

* * @param describeLoadBalancerPoliciesRequest Container for the necessary * parameters to execute the DescribeLoadBalancerPolicies operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * DescribeLoadBalancerPolicies service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future describeLoadBalancerPoliciesAsync(final DescribeLoadBalancerPoliciesRequest describeLoadBalancerPoliciesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeLoadBalancerPoliciesResult call() throws Exception { return describeLoadBalancerPolicies(describeLoadBalancerPoliciesRequest); } }); } /** *

* Returns detailed descriptions of the policies. If you specify a load * balancer name, the action returns the descriptions of all the policies * created for the load balancer. If you specify a policy name associated * with your load balancer, the action returns the description of that * policy. If you don't specify a load balancer name, the action returns * descriptions of the specified sample policies, or descriptions of all * the sample policies. The names of the sample policies have the * ELBSample- prefix. *

* * @param describeLoadBalancerPoliciesRequest Container for the necessary * parameters to execute the DescribeLoadBalancerPolicies operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeLoadBalancerPolicies service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future describeLoadBalancerPoliciesAsync( final DescribeLoadBalancerPoliciesRequest describeLoadBalancerPoliciesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeLoadBalancerPoliciesResult call() throws Exception { DescribeLoadBalancerPoliciesResult result; try { result = describeLoadBalancerPolicies(describeLoadBalancerPoliciesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeLoadBalancerPoliciesRequest, result); return result; } }); } /** *

* Associates, updates, or disables a policy with a listener on the load * balancer. You can associate multiple policies with a listener. *

* * @param setLoadBalancerPoliciesOfListenerRequest Container for the * necessary parameters to execute the SetLoadBalancerPoliciesOfListener * operation on AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * SetLoadBalancerPoliciesOfListener service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future setLoadBalancerPoliciesOfListenerAsync(final SetLoadBalancerPoliciesOfListenerRequest setLoadBalancerPoliciesOfListenerRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public SetLoadBalancerPoliciesOfListenerResult call() throws Exception { return setLoadBalancerPoliciesOfListener(setLoadBalancerPoliciesOfListenerRequest); } }); } /** *

* Associates, updates, or disables a policy with a listener on the load * balancer. You can associate multiple policies with a listener. *

* * @param setLoadBalancerPoliciesOfListenerRequest Container for the * necessary parameters to execute the SetLoadBalancerPoliciesOfListener * operation on AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * SetLoadBalancerPoliciesOfListener service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future setLoadBalancerPoliciesOfListenerAsync( final SetLoadBalancerPoliciesOfListenerRequest setLoadBalancerPoliciesOfListenerRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public SetLoadBalancerPoliciesOfListenerResult call() throws Exception { SetLoadBalancerPoliciesOfListenerResult result; try { result = setLoadBalancerPoliciesOfListener(setLoadBalancerPoliciesOfListenerRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(setLoadBalancerPoliciesOfListenerRequest, result); return result; } }); } /** *

* Removes the specified EC2 Availability Zones from the set of * configured Availability Zones for the load balancer. *

*

* There must be at least one Availability Zone registered with a load * balancer at all times. Once an Availability Zone is removed, all the * instances registered with the load balancer that are in the removed * Availability Zone go into the OutOfService state. Upon * Availability Zone removal, the load balancer attempts to equally * balance the traffic among its remaining usable Availability Zones. * Trying to remove an Availability Zone that was not associated with the * load balancer does nothing. *

*

* For more information, see * Disable an Availability Zone from a Load-Balanced Application * in the Elastic Load Balancing Developer Guide . *

* * @param disableAvailabilityZonesForLoadBalancerRequest Container for * the necessary parameters to execute the * DisableAvailabilityZonesForLoadBalancer operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * DisableAvailabilityZonesForLoadBalancer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future disableAvailabilityZonesForLoadBalancerAsync(final DisableAvailabilityZonesForLoadBalancerRequest disableAvailabilityZonesForLoadBalancerRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DisableAvailabilityZonesForLoadBalancerResult call() throws Exception { return disableAvailabilityZonesForLoadBalancer(disableAvailabilityZonesForLoadBalancerRequest); } }); } /** *

* Removes the specified EC2 Availability Zones from the set of * configured Availability Zones for the load balancer. *

*

* There must be at least one Availability Zone registered with a load * balancer at all times. Once an Availability Zone is removed, all the * instances registered with the load balancer that are in the removed * Availability Zone go into the OutOfService state. Upon * Availability Zone removal, the load balancer attempts to equally * balance the traffic among its remaining usable Availability Zones. * Trying to remove an Availability Zone that was not associated with the * load balancer does nothing. *

*

* For more information, see * Disable an Availability Zone from a Load-Balanced Application * in the Elastic Load Balancing Developer Guide . *

* * @param disableAvailabilityZonesForLoadBalancerRequest Container for * the necessary parameters to execute the * DisableAvailabilityZonesForLoadBalancer operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DisableAvailabilityZonesForLoadBalancer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future disableAvailabilityZonesForLoadBalancerAsync( final DisableAvailabilityZonesForLoadBalancerRequest disableAvailabilityZonesForLoadBalancerRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DisableAvailabilityZonesForLoadBalancerResult call() throws Exception { DisableAvailabilityZonesForLoadBalancerResult result; try { result = disableAvailabilityZonesForLoadBalancer(disableAvailabilityZonesForLoadBalancerRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(disableAvailabilityZonesForLoadBalancerRequest, result); return result; } }); } /** *

* Returns the current state of the specified instances registered with * the specified load balancer. If no instances are specified, the state * of all the instances registered with the load balancer is returned. *

*

* NOTE: You must provide the same account credentials as those * that were used to create the load balancer. *

* * @param describeInstanceHealthRequest Container for the necessary * parameters to execute the DescribeInstanceHealth operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * DescribeInstanceHealth service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future describeInstanceHealthAsync(final DescribeInstanceHealthRequest describeInstanceHealthRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeInstanceHealthResult call() throws Exception { return describeInstanceHealth(describeInstanceHealthRequest); } }); } /** *

* Returns the current state of the specified instances registered with * the specified load balancer. If no instances are specified, the state * of all the instances registered with the load balancer is returned. *

*

* NOTE: You must provide the same account credentials as those * that were used to create the load balancer. *

* * @param describeInstanceHealthRequest Container for the necessary * parameters to execute the DescribeInstanceHealth operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeInstanceHealth service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future describeInstanceHealthAsync( final DescribeInstanceHealthRequest describeInstanceHealthRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeInstanceHealthResult call() throws Exception { DescribeInstanceHealthResult result; try { result = describeInstanceHealth(describeInstanceHealthRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeInstanceHealthRequest, result); return result; } }); } /** *

* Deletes a policy from the load balancer. The specified policy must * not be enabled for any listeners. *

* * @param deleteLoadBalancerPolicyRequest Container for the necessary * parameters to execute the DeleteLoadBalancerPolicy operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * DeleteLoadBalancerPolicy service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteLoadBalancerPolicyAsync(final DeleteLoadBalancerPolicyRequest deleteLoadBalancerPolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteLoadBalancerPolicyResult call() throws Exception { return deleteLoadBalancerPolicy(deleteLoadBalancerPolicyRequest); } }); } /** *

* Deletes a policy from the load balancer. The specified policy must * not be enabled for any listeners. *

* * @param deleteLoadBalancerPolicyRequest Container for the necessary * parameters to execute the DeleteLoadBalancerPolicy operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteLoadBalancerPolicy service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteLoadBalancerPolicyAsync( final DeleteLoadBalancerPolicyRequest deleteLoadBalancerPolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteLoadBalancerPolicyResult call() throws Exception { DeleteLoadBalancerPolicyResult result; try { result = deleteLoadBalancerPolicy(deleteLoadBalancerPolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteLoadBalancerPolicyRequest, result); return result; } }); } /** *

* Creates a new policy that contains the necessary attributes depending * on the policy type. Policies are settings that are saved for your load * balancer and that can be applied to the front-end listener, or the * back-end application server, depending on your policy type. *

* * @param createLoadBalancerPolicyRequest Container for the necessary * parameters to execute the CreateLoadBalancerPolicy operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * CreateLoadBalancerPolicy service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future createLoadBalancerPolicyAsync(final CreateLoadBalancerPolicyRequest createLoadBalancerPolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateLoadBalancerPolicyResult call() throws Exception { return createLoadBalancerPolicy(createLoadBalancerPolicyRequest); } }); } /** *

* Creates a new policy that contains the necessary attributes depending * on the policy type. Policies are settings that are saved for your load * balancer and that can be applied to the front-end listener, or the * back-end application server, depending on your policy type. *

* * @param createLoadBalancerPolicyRequest Container for the necessary * parameters to execute the CreateLoadBalancerPolicy operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateLoadBalancerPolicy service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future createLoadBalancerPolicyAsync( final CreateLoadBalancerPolicyRequest createLoadBalancerPolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateLoadBalancerPolicyResult call() throws Exception { CreateLoadBalancerPolicyResult result; try { result = createLoadBalancerPolicy(createLoadBalancerPolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createLoadBalancerPolicyRequest, result); return result; } }); } /** *

* Adds one or more EC2 Availability Zones to the load balancer. *

*

* The load balancer evenly distributes requests across all its * registered Availability Zones that contain instances. *

*

* NOTE: The new EC2 Availability Zones to be added must be in the * same EC2 Region as the Availability Zones for which the load balancer * was created. *

*

* For more information, see * Expand a Load Balanced Application to an Additional Availability Zone * in the Elastic Load Balancing Developer Guide . *

* * @param enableAvailabilityZonesForLoadBalancerRequest Container for the * necessary parameters to execute the * EnableAvailabilityZonesForLoadBalancer operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * EnableAvailabilityZonesForLoadBalancer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future enableAvailabilityZonesForLoadBalancerAsync(final EnableAvailabilityZonesForLoadBalancerRequest enableAvailabilityZonesForLoadBalancerRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public EnableAvailabilityZonesForLoadBalancerResult call() throws Exception { return enableAvailabilityZonesForLoadBalancer(enableAvailabilityZonesForLoadBalancerRequest); } }); } /** *

* Adds one or more EC2 Availability Zones to the load balancer. *

*

* The load balancer evenly distributes requests across all its * registered Availability Zones that contain instances. *

*

* NOTE: The new EC2 Availability Zones to be added must be in the * same EC2 Region as the Availability Zones for which the load balancer * was created. *

*

* For more information, see * Expand a Load Balanced Application to an Additional Availability Zone * in the Elastic Load Balancing Developer Guide . *

* * @param enableAvailabilityZonesForLoadBalancerRequest Container for the * necessary parameters to execute the * EnableAvailabilityZonesForLoadBalancer operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * EnableAvailabilityZonesForLoadBalancer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future enableAvailabilityZonesForLoadBalancerAsync( final EnableAvailabilityZonesForLoadBalancerRequest enableAvailabilityZonesForLoadBalancerRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public EnableAvailabilityZonesForLoadBalancerResult call() throws Exception { EnableAvailabilityZonesForLoadBalancerResult result; try { result = enableAvailabilityZonesForLoadBalancer(enableAvailabilityZonesForLoadBalancerRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(enableAvailabilityZonesForLoadBalancerRequest, result); return result; } }); } /** *

* Deletes the specified load balancer. *

*

* If attempting to recreate the load balancer, you must reconfigure all * the settings. The DNS name associated with a deleted load balancer * will no longer be usable. Once deleted, the name and associated DNS * record of the load balancer no longer exist and traffic sent to any of * its IP addresses will no longer be delivered to back-end instances. *

*

* To successfully call this API, you must provide the same account * credentials as were used to create the load balancer. *

*

* NOTE: By design, if the load balancer does not exist or has * already been deleted, a call to DeleteLoadBalancer action still * succeeds. *

* * @param deleteLoadBalancerRequest Container for the necessary * parameters to execute the DeleteLoadBalancer operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * DeleteLoadBalancer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteLoadBalancerAsync(final DeleteLoadBalancerRequest deleteLoadBalancerRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteLoadBalancer(deleteLoadBalancerRequest); return null; } }); } /** *

* Deletes the specified load balancer. *

*

* If attempting to recreate the load balancer, you must reconfigure all * the settings. The DNS name associated with a deleted load balancer * will no longer be usable. Once deleted, the name and associated DNS * record of the load balancer no longer exist and traffic sent to any of * its IP addresses will no longer be delivered to back-end instances. *

*

* To successfully call this API, you must provide the same account * credentials as were used to create the load balancer. *

*

* NOTE: By design, if the load balancer does not exist or has * already been deleted, a call to DeleteLoadBalancer action still * succeeds. *

* * @param deleteLoadBalancerRequest Container for the necessary * parameters to execute the DeleteLoadBalancer operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteLoadBalancer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteLoadBalancerAsync( final DeleteLoadBalancerRequest deleteLoadBalancerRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteLoadBalancer(deleteLoadBalancerRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteLoadBalancerRequest, null); return null; } }); } /** *

* Creates a new load balancer. *

*

* After the call has completed successfully, a new load balancer is * created with a unique Domain Name Service (DNS) name. The DNS name * includes the name of the AWS region in which the load balance was * created. For example, if your load balancer was created in the United * States, the DNS name might end with either of the following: *

* *
    *
  • us-east-1.elb.amazonaws.com (for the Northern Virginia * Region)
  • *
  • us-west-1.elb.amazonaws.com (for the Northern California * Region)
  • * *
*

* For information about the AWS regions supported by Elastic Load * Balancing, see * Regions and Endpoints * . *

*

* You can create up to 20 load balancers per region per account. *

*

* Elastic Load Balancing supports load balancing your Amazon EC2 * instances launched within any one of the following platforms: *

* * * * @param createLoadBalancerRequest Container for the necessary * parameters to execute the CreateLoadBalancer operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * CreateLoadBalancer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future createLoadBalancerAsync(final CreateLoadBalancerRequest createLoadBalancerRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateLoadBalancerResult call() throws Exception { return createLoadBalancer(createLoadBalancerRequest); } }); } /** *

* Creates a new load balancer. *

*

* After the call has completed successfully, a new load balancer is * created with a unique Domain Name Service (DNS) name. The DNS name * includes the name of the AWS region in which the load balance was * created. For example, if your load balancer was created in the United * States, the DNS name might end with either of the following: *

* *
    *
  • us-east-1.elb.amazonaws.com (for the Northern Virginia * Region)
  • *
  • us-west-1.elb.amazonaws.com (for the Northern California * Region)
  • * *
*

* For information about the AWS regions supported by Elastic Load * Balancing, see * Regions and Endpoints * . *

*

* You can create up to 20 load balancers per region per account. *

*

* Elastic Load Balancing supports load balancing your Amazon EC2 * instances launched within any one of the following platforms: *

* * * * @param createLoadBalancerRequest Container for the necessary * parameters to execute the CreateLoadBalancer operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateLoadBalancer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future createLoadBalancerAsync( final CreateLoadBalancerRequest createLoadBalancerRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateLoadBalancerResult call() throws Exception { CreateLoadBalancerResult result; try { result = createLoadBalancer(createLoadBalancerRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createLoadBalancerRequest, result); return result; } }); } /** *

* Replaces the current set of policies associated with a port on which * the back-end server is listening with a new set of policies. After the * policies have been created using CreateLoadBalancerPolicy, they can be * applied here as a list. At this time, only the back-end server * authentication policy type can be applied to the back-end ports; this * policy type is composed of multiple public key policies. *

*

* NOTE: The SetLoadBalancerPoliciesForBackendServer replaces the * current set of policies associated with the specified instance port. * Every time you use this action to enable the policies, use the * PolicyNames parameter to list all the policies you want to enable. *

*

* You can use DescribeLoadBalancers or DescribeLoadBalancerPolicies * action to verify that the policy has been associated with the back-end * server. *

* * @param setLoadBalancerPoliciesForBackendServerRequest Container for * the necessary parameters to execute the * SetLoadBalancerPoliciesForBackendServer operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * SetLoadBalancerPoliciesForBackendServer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future setLoadBalancerPoliciesForBackendServerAsync(final SetLoadBalancerPoliciesForBackendServerRequest setLoadBalancerPoliciesForBackendServerRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public SetLoadBalancerPoliciesForBackendServerResult call() throws Exception { return setLoadBalancerPoliciesForBackendServer(setLoadBalancerPoliciesForBackendServerRequest); } }); } /** *

* Replaces the current set of policies associated with a port on which * the back-end server is listening with a new set of policies. After the * policies have been created using CreateLoadBalancerPolicy, they can be * applied here as a list. At this time, only the back-end server * authentication policy type can be applied to the back-end ports; this * policy type is composed of multiple public key policies. *

*

* NOTE: The SetLoadBalancerPoliciesForBackendServer replaces the * current set of policies associated with the specified instance port. * Every time you use this action to enable the policies, use the * PolicyNames parameter to list all the policies you want to enable. *

*

* You can use DescribeLoadBalancers or DescribeLoadBalancerPolicies * action to verify that the policy has been associated with the back-end * server. *

* * @param setLoadBalancerPoliciesForBackendServerRequest Container for * the necessary parameters to execute the * SetLoadBalancerPoliciesForBackendServer operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * SetLoadBalancerPoliciesForBackendServer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future setLoadBalancerPoliciesForBackendServerAsync( final SetLoadBalancerPoliciesForBackendServerRequest setLoadBalancerPoliciesForBackendServerRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public SetLoadBalancerPoliciesForBackendServerResult call() throws Exception { SetLoadBalancerPoliciesForBackendServerResult result; try { result = setLoadBalancerPoliciesForBackendServer(setLoadBalancerPoliciesForBackendServerRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(setLoadBalancerPoliciesForBackendServerRequest, result); return result; } }); } /** *

* Deregisters instances from the load balancer. Once the instance is * deregistered, it will stop receiving traffic from the load balancer. *

*

* In order to successfully call this API, the same account credentials * as those used to create the load balancer must be provided. *

*

* For more information, see * De-register and Register Amazon EC2 Instances * in the Elastic Load Balancing Developer Guide . *

*

* You can use DescribeLoadBalancers to verify if the instance is * deregistered from the load balancer. *

* * @param deregisterInstancesFromLoadBalancerRequest Container for the * necessary parameters to execute the * DeregisterInstancesFromLoadBalancer operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * DeregisterInstancesFromLoadBalancer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future deregisterInstancesFromLoadBalancerAsync(final DeregisterInstancesFromLoadBalancerRequest deregisterInstancesFromLoadBalancerRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeregisterInstancesFromLoadBalancerResult call() throws Exception { return deregisterInstancesFromLoadBalancer(deregisterInstancesFromLoadBalancerRequest); } }); } /** *

* Deregisters instances from the load balancer. Once the instance is * deregistered, it will stop receiving traffic from the load balancer. *

*

* In order to successfully call this API, the same account credentials * as those used to create the load balancer must be provided. *

*

* For more information, see * De-register and Register Amazon EC2 Instances * in the Elastic Load Balancing Developer Guide . *

*

* You can use DescribeLoadBalancers to verify if the instance is * deregistered from the load balancer. *

* * @param deregisterInstancesFromLoadBalancerRequest Container for the * necessary parameters to execute the * DeregisterInstancesFromLoadBalancer operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeregisterInstancesFromLoadBalancer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future deregisterInstancesFromLoadBalancerAsync( final DeregisterInstancesFromLoadBalancerRequest deregisterInstancesFromLoadBalancerRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeregisterInstancesFromLoadBalancerResult call() throws Exception { DeregisterInstancesFromLoadBalancerResult result; try { result = deregisterInstancesFromLoadBalancer(deregisterInstancesFromLoadBalancerRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deregisterInstancesFromLoadBalancerRequest, result); return result; } }); } /** *

* Sets the certificate that terminates the specified listener's SSL * connections. The specified certificate replaces any prior certificate * that was used on the same load balancer and port. *

*

* For more information on updating your SSL certificate, see * Updating an SSL Certificate for a Load Balancer * in the Elastic Load Balancing Developer Guide . *

* * @param setLoadBalancerListenerSSLCertificateRequest Container for the * necessary parameters to execute the * SetLoadBalancerListenerSSLCertificate operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * SetLoadBalancerListenerSSLCertificate service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future setLoadBalancerListenerSSLCertificateAsync(final SetLoadBalancerListenerSSLCertificateRequest setLoadBalancerListenerSSLCertificateRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { setLoadBalancerListenerSSLCertificate(setLoadBalancerListenerSSLCertificateRequest); return null; } }); } /** *

* Sets the certificate that terminates the specified listener's SSL * connections. The specified certificate replaces any prior certificate * that was used on the same load balancer and port. *

*

* For more information on updating your SSL certificate, see * Updating an SSL Certificate for a Load Balancer * in the Elastic Load Balancing Developer Guide . *

* * @param setLoadBalancerListenerSSLCertificateRequest Container for the * necessary parameters to execute the * SetLoadBalancerListenerSSLCertificate operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * SetLoadBalancerListenerSSLCertificate service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future setLoadBalancerListenerSSLCertificateAsync( final SetLoadBalancerListenerSSLCertificateRequest setLoadBalancerListenerSSLCertificateRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { setLoadBalancerListenerSSLCertificate(setLoadBalancerListenerSSLCertificateRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(setLoadBalancerListenerSSLCertificateRequest, null); return null; } }); } /** *

* Returns detailed information about all of the attributes associated * with the specified load balancer. *

* * @param describeLoadBalancerAttributesRequest Container for the * necessary parameters to execute the DescribeLoadBalancerAttributes * operation on AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * DescribeLoadBalancerAttributes service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future describeLoadBalancerAttributesAsync(final DescribeLoadBalancerAttributesRequest describeLoadBalancerAttributesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeLoadBalancerAttributesResult call() throws Exception { return describeLoadBalancerAttributes(describeLoadBalancerAttributesRequest); } }); } /** *

* Returns detailed information about all of the attributes associated * with the specified load balancer. *

* * @param describeLoadBalancerAttributesRequest Container for the * necessary parameters to execute the DescribeLoadBalancerAttributes * operation on AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeLoadBalancerAttributes service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future describeLoadBalancerAttributesAsync( final DescribeLoadBalancerAttributesRequest describeLoadBalancerAttributesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeLoadBalancerAttributesResult call() throws Exception { DescribeLoadBalancerAttributesResult result; try { result = describeLoadBalancerAttributes(describeLoadBalancerAttributesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeLoadBalancerAttributesRequest, result); return result; } }); } /** *

* Generates a stickiness policy with sticky session lifetimes * controlled by the lifetime of the browser (user-agent) or a specified * expiration period. This policy can be associated only with HTTP/HTTPS * listeners. *

*

* When a load balancer implements this policy, the load balancer uses a * special cookie to track the backend server instance for each request. * When the load balancer receives a request, it first checks to see if * this cookie is present in the request. If so, the load balancer sends * the request to the application server specified in the cookie. If not, * the load balancer sends the request to a server that is chosen based * on the existing load balancing algorithm. *

*

* A cookie is inserted into the response for binding subsequent * requests from the same user to that server. The validity of the cookie * is based on the cookie expiration time, which is specified in the * policy configuration. *

*

* For more information, see * Enabling Duration-Based Session Stickiness * in the Elastic Load Balancing Developer Guide . *

* * @param createLBCookieStickinessPolicyRequest Container for the * necessary parameters to execute the CreateLBCookieStickinessPolicy * operation on AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * CreateLBCookieStickinessPolicy service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future createLBCookieStickinessPolicyAsync(final CreateLBCookieStickinessPolicyRequest createLBCookieStickinessPolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateLBCookieStickinessPolicyResult call() throws Exception { return createLBCookieStickinessPolicy(createLBCookieStickinessPolicyRequest); } }); } /** *

* Generates a stickiness policy with sticky session lifetimes * controlled by the lifetime of the browser (user-agent) or a specified * expiration period. This policy can be associated only with HTTP/HTTPS * listeners. *

*

* When a load balancer implements this policy, the load balancer uses a * special cookie to track the backend server instance for each request. * When the load balancer receives a request, it first checks to see if * this cookie is present in the request. If so, the load balancer sends * the request to the application server specified in the cookie. If not, * the load balancer sends the request to a server that is chosen based * on the existing load balancing algorithm. *

*

* A cookie is inserted into the response for binding subsequent * requests from the same user to that server. The validity of the cookie * is based on the cookie expiration time, which is specified in the * policy configuration. *

*

* For more information, see * Enabling Duration-Based Session Stickiness * in the Elastic Load Balancing Developer Guide . *

* * @param createLBCookieStickinessPolicyRequest Container for the * necessary parameters to execute the CreateLBCookieStickinessPolicy * operation on AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateLBCookieStickinessPolicy service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future createLBCookieStickinessPolicyAsync( final CreateLBCookieStickinessPolicyRequest createLBCookieStickinessPolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateLBCookieStickinessPolicyResult call() throws Exception { CreateLBCookieStickinessPolicyResult result; try { result = createLBCookieStickinessPolicy(createLBCookieStickinessPolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createLBCookieStickinessPolicyRequest, result); return result; } }); } /** *

* Adds one or more subnets to the set of configured subnets in the * Amazon Virtual Private Cloud (Amazon VPC) for the load balancer. *

*

* The load balancers evenly distribute requests across all of the * registered subnets. For more information, see * Deploy Elastic Load Balancing in Amazon VPC * in the Elastic Load Balancing Developer Guide . * *

* * @param attachLoadBalancerToSubnetsRequest Container for the necessary * parameters to execute the AttachLoadBalancerToSubnets operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * AttachLoadBalancerToSubnets service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future attachLoadBalancerToSubnetsAsync(final AttachLoadBalancerToSubnetsRequest attachLoadBalancerToSubnetsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AttachLoadBalancerToSubnetsResult call() throws Exception { return attachLoadBalancerToSubnets(attachLoadBalancerToSubnetsRequest); } }); } /** *

* Adds one or more subnets to the set of configured subnets in the * Amazon Virtual Private Cloud (Amazon VPC) for the load balancer. *

*

* The load balancers evenly distribute requests across all of the * registered subnets. For more information, see * Deploy Elastic Load Balancing in Amazon VPC * in the Elastic Load Balancing Developer Guide . * *

* * @param attachLoadBalancerToSubnetsRequest Container for the necessary * parameters to execute the AttachLoadBalancerToSubnets operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AttachLoadBalancerToSubnets service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future attachLoadBalancerToSubnetsAsync( final AttachLoadBalancerToSubnetsRequest attachLoadBalancerToSubnetsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AttachLoadBalancerToSubnetsResult call() throws Exception { AttachLoadBalancerToSubnetsResult result; try { result = attachLoadBalancerToSubnets(attachLoadBalancerToSubnetsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(attachLoadBalancerToSubnetsRequest, result); return result; } }); } /** *

* Adds new instances to the load balancer. *

*

* Once the instance is registered, it starts receiving traffic and * requests from the load balancer. Any instance that is not in any of * the Availability Zones registered for the load balancer will be moved * to the OutOfService state. It will move to the InService * state when the Availability Zone is added to the load balancer. *

*

* When an instance registered with a load balancer is stopped and then * restarted, the IP addresses associated with the instance changes. * Elastic Load Balancing cannot recognize the new IP address, which * prevents it from routing traffic to the instances. We recommend that * you de-register your Amazon EC2 instances from your load balancer * after you stop your instance, and then register the load balancer with * your instance after you've restarted. To de-register your instances * from load balancer, use DeregisterInstancesFromLoadBalancer action. *

*

* For more information, see * De-register and Register Amazon EC2 Instances * in the Elastic Load Balancing Developer Guide . *

*

* NOTE: In order for this call to be successful, you must provide * the same account credentials as those that were used to create the * load balancer. *

*

* NOTE: Completion of this API does not guarantee that operation * has completed. Rather, it means that the request has been registered * and the changes will happen shortly. *

*

* You can use DescribeLoadBalancers or DescribeInstanceHealth action to * check the state of the newly registered instances. *

* * @param registerInstancesWithLoadBalancerRequest Container for the * necessary parameters to execute the RegisterInstancesWithLoadBalancer * operation on AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * RegisterInstancesWithLoadBalancer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future registerInstancesWithLoadBalancerAsync(final RegisterInstancesWithLoadBalancerRequest registerInstancesWithLoadBalancerRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RegisterInstancesWithLoadBalancerResult call() throws Exception { return registerInstancesWithLoadBalancer(registerInstancesWithLoadBalancerRequest); } }); } /** *

* Adds new instances to the load balancer. *

*

* Once the instance is registered, it starts receiving traffic and * requests from the load balancer. Any instance that is not in any of * the Availability Zones registered for the load balancer will be moved * to the OutOfService state. It will move to the InService * state when the Availability Zone is added to the load balancer. *

*

* When an instance registered with a load balancer is stopped and then * restarted, the IP addresses associated with the instance changes. * Elastic Load Balancing cannot recognize the new IP address, which * prevents it from routing traffic to the instances. We recommend that * you de-register your Amazon EC2 instances from your load balancer * after you stop your instance, and then register the load balancer with * your instance after you've restarted. To de-register your instances * from load balancer, use DeregisterInstancesFromLoadBalancer action. *

*

* For more information, see * De-register and Register Amazon EC2 Instances * in the Elastic Load Balancing Developer Guide . *

*

* NOTE: In order for this call to be successful, you must provide * the same account credentials as those that were used to create the * load balancer. *

*

* NOTE: Completion of this API does not guarantee that operation * has completed. Rather, it means that the request has been registered * and the changes will happen shortly. *

*

* You can use DescribeLoadBalancers or DescribeInstanceHealth action to * check the state of the newly registered instances. *

* * @param registerInstancesWithLoadBalancerRequest Container for the * necessary parameters to execute the RegisterInstancesWithLoadBalancer * operation on AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * RegisterInstancesWithLoadBalancer service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future registerInstancesWithLoadBalancerAsync( final RegisterInstancesWithLoadBalancerRequest registerInstancesWithLoadBalancerRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RegisterInstancesWithLoadBalancerResult call() throws Exception { RegisterInstancesWithLoadBalancerResult result; try { result = registerInstancesWithLoadBalancer(registerInstancesWithLoadBalancerRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(registerInstancesWithLoadBalancerRequest, result); return result; } }); } /** *

* Returns detailed configuration information for all the load balancers * created for the account. If you specify load balancer names, the * action returns configuration information of the specified load * balancers. *

*

* NOTE: In order to retrieve this information, you must provide * the same account credentials that was used to create the load * balancer. *

* * @param describeLoadBalancersRequest Container for the necessary * parameters to execute the DescribeLoadBalancers operation on * AmazonElasticLoadBalancing. * * @return A Java Future object containing the response from the * DescribeLoadBalancers service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future describeLoadBalancersAsync(final DescribeLoadBalancersRequest describeLoadBalancersRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeLoadBalancersResult call() throws Exception { return describeLoadBalancers(describeLoadBalancersRequest); } }); } /** *

* Returns detailed configuration information for all the load balancers * created for the account. If you specify load balancer names, the * action returns configuration information of the specified load * balancers. *

*

* NOTE: In order to retrieve this information, you must provide * the same account credentials that was used to create the load * balancer. *

* * @param describeLoadBalancersRequest Container for the necessary * parameters to execute the DescribeLoadBalancers operation on * AmazonElasticLoadBalancing. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeLoadBalancers service method, as returned by * AmazonElasticLoadBalancing. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public Future describeLoadBalancersAsync( final DescribeLoadBalancersRequest describeLoadBalancersRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeLoadBalancersResult call() throws Exception { DescribeLoadBalancersResult result; try { result = describeLoadBalancers(describeLoadBalancersRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeLoadBalancersRequest, result); return result; } }); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy