com.amazonaws.services.elasticbeanstalk.AWSElasticBeanstalkAsyncClient Maven / Gradle / Ivy
Show all versions of aws-java-sdk-osgi Show documentation
/*
 * Copyright 2010-2016 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.elasticbeanstalk;
import com.amazonaws.services.elasticbeanstalk.model.*;
import com.amazonaws.annotation.ThreadSafe;
/**
 * Interface for accessing Elastic Beanstalk asynchronously. Each asynchronous
 * method will return a Java Future object representing the asynchronous
 * operation; overloads which accept an {@code AsyncHandler} can be used to
 * receive notification when an asynchronous operation completes.
 * 
 * AWS Elastic Beanstalk 
 * 
 * AWS Elastic Beanstalk makes it easy for you to create, deploy, and manage
 * scalable, fault-tolerant applications running on the Amazon Web Services
 * cloud.
 * 
 * 
 * For more information about this product, go to the AWS Elastic Beanstalk
 * details page. The location of the latest AWS Elastic Beanstalk WSDL is http://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.
 * wsdl. To install the Software Development Kits (SDKs), Integrated
 * Development Environment (IDE) Toolkits, and command line tools that enable
 * you to access the API, go to Tools
 * for Amazon Web Services.
 * 
 * 
 * Endpoints
 * 
 * 
 * For a list of region-specific endpoints that AWS Elastic Beanstalk supports,
 * go to Regions and Endpoints in the Amazon Web Services Glossary.
 * 
 */
@ThreadSafe
public class AWSElasticBeanstalkAsyncClient extends AWSElasticBeanstalkClient
        implements AWSElasticBeanstalkAsync {
    private static final int DEFAULT_THREAD_POOL_SIZE = 50;
    private final java.util.concurrent.ExecutorService executorService;
    /**
     * Constructs a new asynchronous client to invoke service methods on Elastic
     * Beanstalk. 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
 
     * - Credential profiles file at the default location (~/.aws/credentials)
     * shared by all AWS SDKs and the AWS CLI
 
     * - Instance profile credentials delivered through the Amazon EC2
     * metadata service
 
     * 
     * 
     * Asynchronous methods are delegated to a fixed-size thread pool containing
     * 50 threads (to match the default maximum number of concurrent connections
     * to the service).
     *
     * @see com.amazonaws.auth.DefaultAWSCredentialsProviderChain
     * @see java.util.concurrent.Executors#newFixedThreadPool(int)
     */
    public AWSElasticBeanstalkAsyncClient() {
        this(new com.amazonaws.auth.DefaultAWSCredentialsProviderChain());
    }
    /**
     * Constructs a new asynchronous client to invoke service methods on Elastic
     * Beanstalk. 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
 
     * - Credential profiles file at the default location (~/.aws/credentials)
     * shared by all AWS SDKs and the AWS CLI
 
     * - Instance profile credentials delivered through the Amazon EC2
     * metadata service
 
     * 
     * 
     * Asynchronous methods are delegated to a fixed-size thread pool containing
     * a number of threads equal to the maximum number of concurrent connections
     * configured via {@code ClientConfiguration.getMaxConnections()}.
     *
     * @param clientConfiguration
     *        The client configuration options controlling how this client
     *        connects to Elastic Beanstalk (ex: proxy settings, retry counts,
     *        etc).
     *
     * @see com.amazonaws.auth.DefaultAWSCredentialsProviderChain
     * @see java.util.concurrent.Executors#newFixedThreadPool(int)
     */
    public AWSElasticBeanstalkAsyncClient(
            com.amazonaws.ClientConfiguration clientConfiguration) {
        this(new com.amazonaws.auth.DefaultAWSCredentialsProviderChain(),
                clientConfiguration, java.util.concurrent.Executors
                        .newFixedThreadPool(clientConfiguration
                                .getMaxConnections()));
    }
    /**
     * Constructs a new asynchronous client to invoke service methods on Elastic
     * Beanstalk using the specified AWS account credentials.
     * 
     * Asynchronous methods are delegated to a fixed-size thread pool containing
     * 50 threads (to match the default maximum number of concurrent connections
     * to the service).
     *
     * @param awsCredentials
     *        The AWS credentials (access key ID and secret key) to use when
     *        authenticating with AWS services.
     * @see java.util.concurrent.Executors#newFixedThreadPool(int)
     */
    public AWSElasticBeanstalkAsyncClient(
            com.amazonaws.auth.AWSCredentials awsCredentials) {
        this(awsCredentials, java.util.concurrent.Executors
                .newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE));
    }
    /**
     * Constructs a new asynchronous client to invoke service methods on Elastic
     * Beanstalk using the specified AWS account credentials and executor
     * service. Default client settings will be used.
     *
     * @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 AWSElasticBeanstalkAsyncClient(
            com.amazonaws.auth.AWSCredentials awsCredentials,
            java.util.concurrent.ExecutorService executorService) {
        this(awsCredentials, configFactory.getConfig(), executorService);
    }
    /**
     * Constructs a new asynchronous client to invoke service methods on Elastic
     * Beanstalk using the specified AWS account credentials, executor service,
     * and client configuration options.
     *
     * @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 AWSElasticBeanstalkAsyncClient(
            com.amazonaws.auth.AWSCredentials awsCredentials,
            com.amazonaws.ClientConfiguration clientConfiguration,
            java.util.concurrent.ExecutorService executorService) {
        super(awsCredentials, clientConfiguration);
        this.executorService = executorService;
    }
    /**
     * Constructs a new asynchronous client to invoke service methods on Elastic
     * Beanstalk using the specified AWS account credentials provider. Default
     * client settings will be used.
     * 
     * Asynchronous methods are delegated to a fixed-size thread pool containing
     * 50 threads (to match the default maximum number of concurrent connections
     * to the service).
     *
     * @param awsCredentialsProvider
     *        The AWS credentials provider which will provide credentials to
     *        authenticate requests with AWS services.
     * @see java.util.concurrent.Executors#newFixedThreadPool(int)
     */
    public AWSElasticBeanstalkAsyncClient(
            com.amazonaws.auth.AWSCredentialsProvider awsCredentialsProvider) {
        this(awsCredentialsProvider, java.util.concurrent.Executors
                .newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE));
    }
    /**
     * Constructs a new asynchronous client to invoke service methods on Elastic
     * Beanstalk using the provided AWS account credentials provider and client
     * configuration options.
     * 
     * Asynchronous methods are delegated to a fixed-size thread pool containing
     * a number of threads equal to the maximum number of concurrent connections
     * configured via {@code ClientConfiguration.getMaxConnections()}.
     *
     * @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).
     *
     * @see com.amazonaws.auth.DefaultAWSCredentialsProviderChain
     * @see java.util.concurrent.Executors#newFixedThreadPool(int)
     */
    public AWSElasticBeanstalkAsyncClient(
            com.amazonaws.auth.AWSCredentialsProvider awsCredentialsProvider,
            com.amazonaws.ClientConfiguration clientConfiguration) {
        this(awsCredentialsProvider, clientConfiguration,
                java.util.concurrent.Executors
                        .newFixedThreadPool(clientConfiguration
                                .getMaxConnections()));
    }
    /**
     * Constructs a new asynchronous client to invoke service methods on Elastic
     * Beanstalk using the specified AWS account credentials provider and
     * executor service. Default client settings will be used.
     *
     * @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 AWSElasticBeanstalkAsyncClient(
            com.amazonaws.auth.AWSCredentialsProvider awsCredentialsProvider,
            java.util.concurrent.ExecutorService executorService) {
        this(awsCredentialsProvider, configFactory.getConfig(), executorService);
    }
    /**
     * Constructs a new asynchronous client to invoke service methods on Elastic
     * Beanstalk using the specified AWS account credentials provider, executor
     * service, and client configuration options.
     *
     * @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 AWSElasticBeanstalkAsyncClient(
            com.amazonaws.auth.AWSCredentialsProvider awsCredentialsProvider,
            com.amazonaws.ClientConfiguration clientConfiguration,
            java.util.concurrent.ExecutorService executorService) {
        super(awsCredentialsProvider, clientConfiguration);
        this.executorService = executorService;
    }
    /**
     * Returns the executor service used by this client to execute async
     * requests.
     *
     * @return The executor service used by this client to execute async
     *         requests.
     */
    public java.util.concurrent.ExecutorService getExecutorService() {
        return executorService;
    }
    @Override
    public java.util.concurrent.Future abortEnvironmentUpdateAsync(
            AbortEnvironmentUpdateRequest request) {
        return abortEnvironmentUpdateAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future abortEnvironmentUpdateAsync(
            final AbortEnvironmentUpdateRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public AbortEnvironmentUpdateResult call() throws Exception {
                        AbortEnvironmentUpdateResult result;
                        try {
                            result = abortEnvironmentUpdate(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    /**
     * Simplified method form for invoking the AbortEnvironmentUpdate operation.
     *
     * @see #abortEnvironmentUpdateAsync(AbortEnvironmentUpdateRequest)
     */
    @Override
    public java.util.concurrent.Future abortEnvironmentUpdateAsync() {
        return abortEnvironmentUpdateAsync(new AbortEnvironmentUpdateRequest());
    }
    /**
     * Simplified method form for invoking the AbortEnvironmentUpdate operation
     * with an AsyncHandler.
     *
     * @see #abortEnvironmentUpdateAsync(AbortEnvironmentUpdateRequest,
     *      com.amazonaws.handlers.AsyncHandler)
     */
    public java.util.concurrent.Future abortEnvironmentUpdateAsync(
            com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return abortEnvironmentUpdateAsync(new AbortEnvironmentUpdateRequest(),
                asyncHandler);
    }
    @Override
    public java.util.concurrent.Future applyEnvironmentManagedActionAsync(
            ApplyEnvironmentManagedActionRequest request) {
        return applyEnvironmentManagedActionAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future applyEnvironmentManagedActionAsync(
            final ApplyEnvironmentManagedActionRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public ApplyEnvironmentManagedActionResult call()
                            throws Exception {
                        ApplyEnvironmentManagedActionResult result;
                        try {
                            result = applyEnvironmentManagedAction(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future checkDNSAvailabilityAsync(
            CheckDNSAvailabilityRequest request) {
        return checkDNSAvailabilityAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future checkDNSAvailabilityAsync(
            final CheckDNSAvailabilityRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public CheckDNSAvailabilityResult call() throws Exception {
                        CheckDNSAvailabilityResult result;
                        try {
                            result = checkDNSAvailability(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future composeEnvironmentsAsync(
            ComposeEnvironmentsRequest request) {
        return composeEnvironmentsAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future composeEnvironmentsAsync(
            final ComposeEnvironmentsRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public ComposeEnvironmentsResult call() throws Exception {
                        ComposeEnvironmentsResult result;
                        try {
                            result = composeEnvironments(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future createApplicationAsync(
            CreateApplicationRequest request) {
        return createApplicationAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future createApplicationAsync(
            final CreateApplicationRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public CreateApplicationResult call() throws Exception {
                        CreateApplicationResult result;
                        try {
                            result = createApplication(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future createApplicationVersionAsync(
            CreateApplicationVersionRequest request) {
        return createApplicationVersionAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future createApplicationVersionAsync(
            final CreateApplicationVersionRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public CreateApplicationVersionResult call()
                            throws Exception {
                        CreateApplicationVersionResult result;
                        try {
                            result = createApplicationVersion(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future createConfigurationTemplateAsync(
            CreateConfigurationTemplateRequest request) {
        return createConfigurationTemplateAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future createConfigurationTemplateAsync(
            final CreateConfigurationTemplateRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public CreateConfigurationTemplateResult call()
                            throws Exception {
                        CreateConfigurationTemplateResult result;
                        try {
                            result = createConfigurationTemplate(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future createEnvironmentAsync(
            CreateEnvironmentRequest request) {
        return createEnvironmentAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future createEnvironmentAsync(
            final CreateEnvironmentRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public CreateEnvironmentResult call() throws Exception {
                        CreateEnvironmentResult result;
                        try {
                            result = createEnvironment(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future createStorageLocationAsync(
            CreateStorageLocationRequest request) {
        return createStorageLocationAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future createStorageLocationAsync(
            final CreateStorageLocationRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public CreateStorageLocationResult call() throws Exception {
                        CreateStorageLocationResult result;
                        try {
                            result = createStorageLocation(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    /**
     * Simplified method form for invoking the CreateStorageLocation operation.
     *
     * @see #createStorageLocationAsync(CreateStorageLocationRequest)
     */
    @Override
    public java.util.concurrent.Future createStorageLocationAsync() {
        return createStorageLocationAsync(new CreateStorageLocationRequest());
    }
    /**
     * Simplified method form for invoking the CreateStorageLocation operation
     * with an AsyncHandler.
     *
     * @see #createStorageLocationAsync(CreateStorageLocationRequest,
     *      com.amazonaws.handlers.AsyncHandler)
     */
    public java.util.concurrent.Future createStorageLocationAsync(
            com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return createStorageLocationAsync(new CreateStorageLocationRequest(),
                asyncHandler);
    }
    @Override
    public java.util.concurrent.Future deleteApplicationAsync(
            DeleteApplicationRequest request) {
        return deleteApplicationAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future deleteApplicationAsync(
            final DeleteApplicationRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public DeleteApplicationResult call() throws Exception {
                        DeleteApplicationResult result;
                        try {
                            result = deleteApplication(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future deleteApplicationVersionAsync(
            DeleteApplicationVersionRequest request) {
        return deleteApplicationVersionAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future deleteApplicationVersionAsync(
            final DeleteApplicationVersionRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public DeleteApplicationVersionResult call()
                            throws Exception {
                        DeleteApplicationVersionResult result;
                        try {
                            result = deleteApplicationVersion(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future deleteConfigurationTemplateAsync(
            DeleteConfigurationTemplateRequest request) {
        return deleteConfigurationTemplateAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future deleteConfigurationTemplateAsync(
            final DeleteConfigurationTemplateRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public DeleteConfigurationTemplateResult call()
                            throws Exception {
                        DeleteConfigurationTemplateResult result;
                        try {
                            result = deleteConfigurationTemplate(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future deleteEnvironmentConfigurationAsync(
            DeleteEnvironmentConfigurationRequest request) {
        return deleteEnvironmentConfigurationAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future deleteEnvironmentConfigurationAsync(
            final DeleteEnvironmentConfigurationRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public DeleteEnvironmentConfigurationResult call()
                            throws Exception {
                        DeleteEnvironmentConfigurationResult result;
                        try {
                            result = deleteEnvironmentConfiguration(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future describeApplicationVersionsAsync(
            DescribeApplicationVersionsRequest request) {
        return describeApplicationVersionsAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future describeApplicationVersionsAsync(
            final DescribeApplicationVersionsRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public DescribeApplicationVersionsResult call()
                            throws Exception {
                        DescribeApplicationVersionsResult result;
                        try {
                            result = describeApplicationVersions(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    /**
     * Simplified method form for invoking the DescribeApplicationVersions
     * operation.
     *
     * @see #describeApplicationVersionsAsync(DescribeApplicationVersionsRequest)
     */
    @Override
    public java.util.concurrent.Future describeApplicationVersionsAsync() {
        return describeApplicationVersionsAsync(new DescribeApplicationVersionsRequest());
    }
    /**
     * Simplified method form for invoking the DescribeApplicationVersions
     * operation with an AsyncHandler.
     *
     * @see #describeApplicationVersionsAsync(DescribeApplicationVersionsRequest,
     *      com.amazonaws.handlers.AsyncHandler)
     */
    public java.util.concurrent.Future describeApplicationVersionsAsync(
            com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return describeApplicationVersionsAsync(
                new DescribeApplicationVersionsRequest(), asyncHandler);
    }
    @Override
    public java.util.concurrent.Future describeApplicationsAsync(
            DescribeApplicationsRequest request) {
        return describeApplicationsAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future describeApplicationsAsync(
            final DescribeApplicationsRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public DescribeApplicationsResult call() throws Exception {
                        DescribeApplicationsResult result;
                        try {
                            result = describeApplications(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    /**
     * Simplified method form for invoking the DescribeApplications operation.
     *
     * @see #describeApplicationsAsync(DescribeApplicationsRequest)
     */
    @Override
    public java.util.concurrent.Future describeApplicationsAsync() {
        return describeApplicationsAsync(new DescribeApplicationsRequest());
    }
    /**
     * Simplified method form for invoking the DescribeApplications operation
     * with an AsyncHandler.
     *
     * @see #describeApplicationsAsync(DescribeApplicationsRequest,
     *      com.amazonaws.handlers.AsyncHandler)
     */
    public java.util.concurrent.Future describeApplicationsAsync(
            com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return describeApplicationsAsync(new DescribeApplicationsRequest(),
                asyncHandler);
    }
    @Override
    public java.util.concurrent.Future describeConfigurationOptionsAsync(
            DescribeConfigurationOptionsRequest request) {
        return describeConfigurationOptionsAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future describeConfigurationOptionsAsync(
            final DescribeConfigurationOptionsRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public DescribeConfigurationOptionsResult call()
                            throws Exception {
                        DescribeConfigurationOptionsResult result;
                        try {
                            result = describeConfigurationOptions(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future describeConfigurationSettingsAsync(
            DescribeConfigurationSettingsRequest request) {
        return describeConfigurationSettingsAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future describeConfigurationSettingsAsync(
            final DescribeConfigurationSettingsRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public DescribeConfigurationSettingsResult call()
                            throws Exception {
                        DescribeConfigurationSettingsResult result;
                        try {
                            result = describeConfigurationSettings(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future describeEnvironmentHealthAsync(
            DescribeEnvironmentHealthRequest request) {
        return describeEnvironmentHealthAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future describeEnvironmentHealthAsync(
            final DescribeEnvironmentHealthRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public DescribeEnvironmentHealthResult call()
                            throws Exception {
                        DescribeEnvironmentHealthResult result;
                        try {
                            result = describeEnvironmentHealth(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future describeEnvironmentManagedActionHistoryAsync(
            DescribeEnvironmentManagedActionHistoryRequest request) {
        return describeEnvironmentManagedActionHistoryAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future describeEnvironmentManagedActionHistoryAsync(
            final DescribeEnvironmentManagedActionHistoryRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public DescribeEnvironmentManagedActionHistoryResult call()
                            throws Exception {
                        DescribeEnvironmentManagedActionHistoryResult result;
                        try {
                            result = describeEnvironmentManagedActionHistory(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future describeEnvironmentManagedActionsAsync(
            DescribeEnvironmentManagedActionsRequest request) {
        return describeEnvironmentManagedActionsAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future describeEnvironmentManagedActionsAsync(
            final DescribeEnvironmentManagedActionsRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public DescribeEnvironmentManagedActionsResult call()
                            throws Exception {
                        DescribeEnvironmentManagedActionsResult result;
                        try {
                            result = describeEnvironmentManagedActions(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future describeEnvironmentResourcesAsync(
            DescribeEnvironmentResourcesRequest request) {
        return describeEnvironmentResourcesAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future describeEnvironmentResourcesAsync(
            final DescribeEnvironmentResourcesRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public DescribeEnvironmentResourcesResult call()
                            throws Exception {
                        DescribeEnvironmentResourcesResult result;
                        try {
                            result = describeEnvironmentResources(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future describeEnvironmentsAsync(
            DescribeEnvironmentsRequest request) {
        return describeEnvironmentsAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future describeEnvironmentsAsync(
            final DescribeEnvironmentsRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public DescribeEnvironmentsResult call() throws Exception {
                        DescribeEnvironmentsResult result;
                        try {
                            result = describeEnvironments(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    /**
     * Simplified method form for invoking the DescribeEnvironments operation.
     *
     * @see #describeEnvironmentsAsync(DescribeEnvironmentsRequest)
     */
    @Override
    public java.util.concurrent.Future describeEnvironmentsAsync() {
        return describeEnvironmentsAsync(new DescribeEnvironmentsRequest());
    }
    /**
     * Simplified method form for invoking the DescribeEnvironments operation
     * with an AsyncHandler.
     *
     * @see #describeEnvironmentsAsync(DescribeEnvironmentsRequest,
     *      com.amazonaws.handlers.AsyncHandler)
     */
    public java.util.concurrent.Future describeEnvironmentsAsync(
            com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return describeEnvironmentsAsync(new DescribeEnvironmentsRequest(),
                asyncHandler);
    }
    @Override
    public java.util.concurrent.Future describeEventsAsync(
            DescribeEventsRequest request) {
        return describeEventsAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future describeEventsAsync(
            final DescribeEventsRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public DescribeEventsResult call() throws Exception {
                        DescribeEventsResult result;
                        try {
                            result = describeEvents(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    /**
     * Simplified method form for invoking the DescribeEvents operation.
     *
     * @see #describeEventsAsync(DescribeEventsRequest)
     */
    @Override
    public java.util.concurrent.Future describeEventsAsync() {
        return describeEventsAsync(new DescribeEventsRequest());
    }
    /**
     * Simplified method form for invoking the DescribeEvents operation with an
     * AsyncHandler.
     *
     * @see #describeEventsAsync(DescribeEventsRequest,
     *      com.amazonaws.handlers.AsyncHandler)
     */
    public java.util.concurrent.Future describeEventsAsync(
            com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return describeEventsAsync(new DescribeEventsRequest(), asyncHandler);
    }
    @Override
    public java.util.concurrent.Future describeInstancesHealthAsync(
            DescribeInstancesHealthRequest request) {
        return describeInstancesHealthAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future describeInstancesHealthAsync(
            final DescribeInstancesHealthRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public DescribeInstancesHealthResult call()
                            throws Exception {
                        DescribeInstancesHealthResult result;
                        try {
                            result = describeInstancesHealth(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future listAvailableSolutionStacksAsync(
            ListAvailableSolutionStacksRequest request) {
        return listAvailableSolutionStacksAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future listAvailableSolutionStacksAsync(
            final ListAvailableSolutionStacksRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public ListAvailableSolutionStacksResult call()
                            throws Exception {
                        ListAvailableSolutionStacksResult result;
                        try {
                            result = listAvailableSolutionStacks(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    /**
     * Simplified method form for invoking the ListAvailableSolutionStacks
     * operation.
     *
     * @see #listAvailableSolutionStacksAsync(ListAvailableSolutionStacksRequest)
     */
    @Override
    public java.util.concurrent.Future listAvailableSolutionStacksAsync() {
        return listAvailableSolutionStacksAsync(new ListAvailableSolutionStacksRequest());
    }
    /**
     * Simplified method form for invoking the ListAvailableSolutionStacks
     * operation with an AsyncHandler.
     *
     * @see #listAvailableSolutionStacksAsync(ListAvailableSolutionStacksRequest,
     *      com.amazonaws.handlers.AsyncHandler)
     */
    public java.util.concurrent.Future listAvailableSolutionStacksAsync(
            com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return listAvailableSolutionStacksAsync(
                new ListAvailableSolutionStacksRequest(), asyncHandler);
    }
    @Override
    public java.util.concurrent.Future rebuildEnvironmentAsync(
            RebuildEnvironmentRequest request) {
        return rebuildEnvironmentAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future rebuildEnvironmentAsync(
            final RebuildEnvironmentRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public RebuildEnvironmentResult call() throws Exception {
                        RebuildEnvironmentResult result;
                        try {
                            result = rebuildEnvironment(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future requestEnvironmentInfoAsync(
            RequestEnvironmentInfoRequest request) {
        return requestEnvironmentInfoAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future requestEnvironmentInfoAsync(
            final RequestEnvironmentInfoRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public RequestEnvironmentInfoResult call() throws Exception {
                        RequestEnvironmentInfoResult result;
                        try {
                            result = requestEnvironmentInfo(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future restartAppServerAsync(
            RestartAppServerRequest request) {
        return restartAppServerAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future restartAppServerAsync(
            final RestartAppServerRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public RestartAppServerResult call() throws Exception {
                        RestartAppServerResult result;
                        try {
                            result = restartAppServer(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future retrieveEnvironmentInfoAsync(
            RetrieveEnvironmentInfoRequest request) {
        return retrieveEnvironmentInfoAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future retrieveEnvironmentInfoAsync(
            final RetrieveEnvironmentInfoRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public RetrieveEnvironmentInfoResult call()
                            throws Exception {
                        RetrieveEnvironmentInfoResult result;
                        try {
                            result = retrieveEnvironmentInfo(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future swapEnvironmentCNAMEsAsync(
            SwapEnvironmentCNAMEsRequest request) {
        return swapEnvironmentCNAMEsAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future swapEnvironmentCNAMEsAsync(
            final SwapEnvironmentCNAMEsRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public SwapEnvironmentCNAMEsResult call() throws Exception {
                        SwapEnvironmentCNAMEsResult result;
                        try {
                            result = swapEnvironmentCNAMEs(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    /**
     * Simplified method form for invoking the SwapEnvironmentCNAMEs operation.
     *
     * @see #swapEnvironmentCNAMEsAsync(SwapEnvironmentCNAMEsRequest)
     */
    @Override
    public java.util.concurrent.Future swapEnvironmentCNAMEsAsync() {
        return swapEnvironmentCNAMEsAsync(new SwapEnvironmentCNAMEsRequest());
    }
    /**
     * Simplified method form for invoking the SwapEnvironmentCNAMEs operation
     * with an AsyncHandler.
     *
     * @see #swapEnvironmentCNAMEsAsync(SwapEnvironmentCNAMEsRequest,
     *      com.amazonaws.handlers.AsyncHandler)
     */
    public java.util.concurrent.Future swapEnvironmentCNAMEsAsync(
            com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return swapEnvironmentCNAMEsAsync(new SwapEnvironmentCNAMEsRequest(),
                asyncHandler);
    }
    @Override
    public java.util.concurrent.Future terminateEnvironmentAsync(
            TerminateEnvironmentRequest request) {
        return terminateEnvironmentAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future terminateEnvironmentAsync(
            final TerminateEnvironmentRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public TerminateEnvironmentResult call() throws Exception {
                        TerminateEnvironmentResult result;
                        try {
                            result = terminateEnvironment(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future updateApplicationAsync(
            UpdateApplicationRequest request) {
        return updateApplicationAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future updateApplicationAsync(
            final UpdateApplicationRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public UpdateApplicationResult call() throws Exception {
                        UpdateApplicationResult result;
                        try {
                            result = updateApplication(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future updateApplicationVersionAsync(
            UpdateApplicationVersionRequest request) {
        return updateApplicationVersionAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future updateApplicationVersionAsync(
            final UpdateApplicationVersionRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public UpdateApplicationVersionResult call()
                            throws Exception {
                        UpdateApplicationVersionResult result;
                        try {
                            result = updateApplicationVersion(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future updateConfigurationTemplateAsync(
            UpdateConfigurationTemplateRequest request) {
        return updateConfigurationTemplateAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future updateConfigurationTemplateAsync(
            final UpdateConfigurationTemplateRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public UpdateConfigurationTemplateResult call()
                            throws Exception {
                        UpdateConfigurationTemplateResult result;
                        try {
                            result = updateConfigurationTemplate(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future updateEnvironmentAsync(
            UpdateEnvironmentRequest request) {
        return updateEnvironmentAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future updateEnvironmentAsync(
            final UpdateEnvironmentRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public UpdateEnvironmentResult call() throws Exception {
                        UpdateEnvironmentResult result;
                        try {
                            result = updateEnvironment(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    @Override
    public java.util.concurrent.Future validateConfigurationSettingsAsync(
            ValidateConfigurationSettingsRequest request) {
        return validateConfigurationSettingsAsync(request, null);
    }
    @Override
    public java.util.concurrent.Future validateConfigurationSettingsAsync(
            final ValidateConfigurationSettingsRequest request,
            final com.amazonaws.handlers.AsyncHandler asyncHandler) {
        return executorService
                .submit(new java.util.concurrent.Callable() {
                    @Override
                    public ValidateConfigurationSettingsResult call()
                            throws Exception {
                        ValidateConfigurationSettingsResult result;
                        try {
                            result = validateConfigurationSettings(request);
                        } catch (Exception ex) {
                            if (asyncHandler != null) {
                                asyncHandler.onError(ex);
                            }
                            throw ex;
                        }
                        if (asyncHandler != null) {
                            asyncHandler.onSuccess(request, result);
                        }
                        return result;
                    }
                });
    }
    /**
     * 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 {@code getExecutorService().shutdown()} followed by
     * {@code getExecutorService().awaitTermination()} prior to calling this
     * method.
     */
    @Override
    public void shutdown() {
        super.shutdown();
        executorService.shutdownNow();
    }
}