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

main.java.com.amazonaws.services.autoscaling.AmazonAutoScalingAsyncClient Maven / Gradle / Ivy

Go to download

The AWS Android SDK for Amazon S3 module holds the client classes that are used for communicating with Amazon Simple Storage Service

There is a newer version: 2.77.0
Show newest version
/*
 * Copyright 2010-2015 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.autoscaling;

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.autoscaling.model.*;

/**
 * Asynchronous client for accessing AmazonAutoScaling.
 * 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.
 * Auto Scaling 

* Auto Scaling is a web service designed to automatically launch or * terminate Amazon Elastic Compute Cloud (Amazon EC2) instances based on * user-defined policies, schedules, and health checks. This service is * used in conjunction with Amazon CloudWatch and Elastic Load Balancing * services. *

*

* Auto Scaling provides APIs that you can call by submitting a Query * Request. Query requests are HTTP or HTTPS requests that use the HTTP * verbs GET or POST and a Query parameter named Action or * Operation that specifies the API you are calling. Action is * used throughout this documentation, although Operation is also * supported for backward compatibility with other Amazon Web Services * (AWS) Query APIs. *

*

* Calling the API using a Query request is the most direct way to access * the web service, but requires that your application handle low-level * details such as generating the hash to sign the request and error * handling. The benefit of calling the service using a Query request is * that you are assured of having access to the complete functionality of * the API. For information about signing a a query request, see * Use Query Requests to Call Auto Scaling APIs * *

*

* This guide provides detailed information about Auto Scaling actions, * data types, parameters, and errors. For detailed information about * Auto Scaling features and their associated API actions, go to the * Auto Scaling Developer Guide * . *

*

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

*

* * http://autoscaling.amazonaws.com/doc/2011-01-01/AutoScaling.wsdl * *

*

* Endpoints *

*

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

*

* You can set up your Auto Scaling infrastructure in other AWS regions. * For information about this product's regions and endpoints, see * Regions and Endpoints * in the Amazon Web Services General Reference. *

*/ public class AmazonAutoScalingAsyncClient extends AmazonAutoScalingClient implements AmazonAutoScalingAsync { /** * 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 * AmazonAutoScaling. 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 AmazonAutoScalingAsyncClient() { this(new DefaultAWSCredentialsProviderChain()); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonAutoScaling. 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 AmazonAutoScaling * (ex: proxy settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain */ public AmazonAutoScalingAsyncClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration, Executors.newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonAutoScaling 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 AmazonAutoScalingAsyncClient(AWSCredentials awsCredentials) { this(awsCredentials, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonAutoScaling 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 AmazonAutoScalingAsyncClient(AWSCredentials awsCredentials, ExecutorService executorService) { super(awsCredentials); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on * AmazonAutoScaling 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 AmazonAutoScalingAsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService) { super(awsCredentials, clientConfiguration); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on * AmazonAutoScaling 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 AmazonAutoScalingAsyncClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonAutoScaling 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 AmazonAutoScalingAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ExecutorService executorService) { this(awsCredentialsProvider, new ClientConfiguration(), executorService); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonAutoScaling 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 AmazonAutoScalingAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, Executors.newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonAutoScaling 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 AmazonAutoScalingAsyncClient(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 the limits for the Auto Scaling resources currently allowed * for your AWS account. *

*

* Your AWS account comes with default limits on resources for Auto * Scaling. There is a default limit of 20 Auto Scaling * groups and 100 launch configurations per region. *

*

* If you reach the limits for the number of Auto Scaling groups or the * launch configurations, you can go to the * Support Center * and place a request to raise the limits. *

* * @param describeAccountLimitsRequest Container for the necessary * parameters to execute the DescribeAccountLimits operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * DescribeAccountLimits service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAccountLimitsAsync(final DescribeAccountLimitsRequest describeAccountLimitsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAccountLimitsResult call() throws Exception { return describeAccountLimits(describeAccountLimitsRequest); } }); } /** *

* Returns the limits for the Auto Scaling resources currently allowed * for your AWS account. *

*

* Your AWS account comes with default limits on resources for Auto * Scaling. There is a default limit of 20 Auto Scaling * groups and 100 launch configurations per region. *

*

* If you reach the limits for the number of Auto Scaling groups or the * launch configurations, you can go to the * Support Center * and place a request to raise the limits. *

* * @param describeAccountLimitsRequest Container for the necessary * parameters to execute the DescribeAccountLimits operation on * AmazonAutoScaling. * @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 * DescribeAccountLimits service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAccountLimitsAsync( final DescribeAccountLimitsRequest describeAccountLimitsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAccountLimitsResult call() throws Exception { DescribeAccountLimitsResult result; try { result = describeAccountLimits(describeAccountLimitsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeAccountLimitsRequest, result); return result; } }); } /** *

* Returns a full description of each Auto Scaling group in the given * list. This includes all Amazon EC2 instances that are members of the * group. If a list of names is not provided, the service returns the * full details of all Auto Scaling groups. *

*

* This action supports pagination by returning a token if there are * more pages to retrieve. To get the next page, call this action again * with the returned token as the NextToken parameter. *

* * @param describeAutoScalingGroupsRequest Container for the necessary * parameters to execute the DescribeAutoScalingGroups operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * DescribeAutoScalingGroups service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAutoScalingGroupsAsync(final DescribeAutoScalingGroupsRequest describeAutoScalingGroupsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAutoScalingGroupsResult call() throws Exception { return describeAutoScalingGroups(describeAutoScalingGroupsRequest); } }); } /** *

* Returns a full description of each Auto Scaling group in the given * list. This includes all Amazon EC2 instances that are members of the * group. If a list of names is not provided, the service returns the * full details of all Auto Scaling groups. *

*

* This action supports pagination by returning a token if there are * more pages to retrieve. To get the next page, call this action again * with the returned token as the NextToken parameter. *

* * @param describeAutoScalingGroupsRequest Container for the necessary * parameters to execute the DescribeAutoScalingGroups operation on * AmazonAutoScaling. * @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 * DescribeAutoScalingGroups service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAutoScalingGroupsAsync( final DescribeAutoScalingGroupsRequest describeAutoScalingGroupsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAutoScalingGroupsResult call() throws Exception { DescribeAutoScalingGroupsResult result; try { result = describeAutoScalingGroups(describeAutoScalingGroupsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeAutoScalingGroupsRequest, result); return result; } }); } /** *

* Enables monitoring of group metrics for the Auto Scaling group * specified in AutoScalingGroupName . You can specify the * list of enabled metrics with the Metrics parameter. *

*

* Auto Scaling metrics collection can be turned on only if the * InstanceMonitoring flag, in the Auto Scaling group's * launch configuration, is set to True . *

* * @param enableMetricsCollectionRequest Container for the necessary * parameters to execute the EnableMetricsCollection operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * EnableMetricsCollection service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future enableMetricsCollectionAsync(final EnableMetricsCollectionRequest enableMetricsCollectionRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { enableMetricsCollection(enableMetricsCollectionRequest); return null; } }); } /** *

* Enables monitoring of group metrics for the Auto Scaling group * specified in AutoScalingGroupName . You can specify the * list of enabled metrics with the Metrics parameter. *

*

* Auto Scaling metrics collection can be turned on only if the * InstanceMonitoring flag, in the Auto Scaling group's * launch configuration, is set to True . *

* * @param enableMetricsCollectionRequest Container for the necessary * parameters to execute the EnableMetricsCollection operation on * AmazonAutoScaling. * @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 * EnableMetricsCollection service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future enableMetricsCollectionAsync( final EnableMetricsCollectionRequest enableMetricsCollectionRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { enableMetricsCollection(enableMetricsCollectionRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(enableMetricsCollectionRequest, null); return null; } }); } /** *

* Resumes all suspended Auto Scaling processes for an Auto Scaling * group. For information on suspending and resuming Auto Scaling * process, see * Suspend and Resume Auto Scaling Process * . *

* * @param resumeProcessesRequest Container for the necessary parameters * to execute the ResumeProcesses operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * ResumeProcesses service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future resumeProcessesAsync(final ResumeProcessesRequest resumeProcessesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { resumeProcesses(resumeProcessesRequest); return null; } }); } /** *

* Resumes all suspended Auto Scaling processes for an Auto Scaling * group. For information on suspending and resuming Auto Scaling * process, see * Suspend and Resume Auto Scaling Process * . *

* * @param resumeProcessesRequest Container for the necessary parameters * to execute the ResumeProcesses operation on AmazonAutoScaling. * @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 * ResumeProcesses service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future resumeProcessesAsync( final ResumeProcessesRequest resumeProcessesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { resumeProcesses(resumeProcessesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(resumeProcessesRequest, null); return null; } }); } /** *

* Deletes the specified LaunchConfiguration. *

*

* The specified launch configuration must not be attached to an Auto * Scaling group. When this call completes, the launch configuration is * no longer available for use. *

* * @param deleteLaunchConfigurationRequest Container for the necessary * parameters to execute the DeleteLaunchConfiguration operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * DeleteLaunchConfiguration service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteLaunchConfigurationAsync(final DeleteLaunchConfigurationRequest deleteLaunchConfigurationRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteLaunchConfiguration(deleteLaunchConfigurationRequest); return null; } }); } /** *

* Deletes the specified LaunchConfiguration. *

*

* The specified launch configuration must not be attached to an Auto * Scaling group. When this call completes, the launch configuration is * no longer available for use. *

* * @param deleteLaunchConfigurationRequest Container for the necessary * parameters to execute the DeleteLaunchConfiguration operation on * AmazonAutoScaling. * @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 * DeleteLaunchConfiguration service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteLaunchConfigurationAsync( final DeleteLaunchConfigurationRequest deleteLaunchConfigurationRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteLaunchConfiguration(deleteLaunchConfigurationRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteLaunchConfigurationRequest, null); return null; } }); } /** *

* Returns descriptions of what each policy does. This action supports * pagination. If the response includes a token, there are more records * available. To get the additional records, repeat the request with the * response token as the NextToken parameter. *

* * @param describePoliciesRequest Container for the necessary parameters * to execute the DescribePolicies operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * DescribePolicies service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describePoliciesAsync(final DescribePoliciesRequest describePoliciesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribePoliciesResult call() throws Exception { return describePolicies(describePoliciesRequest); } }); } /** *

* Returns descriptions of what each policy does. This action supports * pagination. If the response includes a token, there are more records * available. To get the additional records, repeat the request with the * response token as the NextToken parameter. *

* * @param describePoliciesRequest Container for the necessary parameters * to execute the DescribePolicies operation on AmazonAutoScaling. * @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 * DescribePolicies service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describePoliciesAsync( final DescribePoliciesRequest describePoliciesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribePoliciesResult call() throws Exception { DescribePoliciesResult result; try { result = describePolicies(describePoliciesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describePoliciesRequest, result); return result; } }); } /** *

* Returns scaling process types for use in the ResumeProcesses and * SuspendProcesses actions. *

* * @param describeScalingProcessTypesRequest Container for the necessary * parameters to execute the DescribeScalingProcessTypes operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * DescribeScalingProcessTypes service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeScalingProcessTypesAsync(final DescribeScalingProcessTypesRequest describeScalingProcessTypesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeScalingProcessTypesResult call() throws Exception { return describeScalingProcessTypes(describeScalingProcessTypesRequest); } }); } /** *

* Returns scaling process types for use in the ResumeProcesses and * SuspendProcesses actions. *

* * @param describeScalingProcessTypesRequest Container for the necessary * parameters to execute the DescribeScalingProcessTypes operation on * AmazonAutoScaling. * @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 * DescribeScalingProcessTypes service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeScalingProcessTypesAsync( final DescribeScalingProcessTypesRequest describeScalingProcessTypesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeScalingProcessTypesResult call() throws Exception { DescribeScalingProcessTypesResult result; try { result = describeScalingProcessTypes(describeScalingProcessTypesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeScalingProcessTypesRequest, result); return result; } }); } /** *

* Creates a new Auto Scaling group with the specified name and other * attributes. When the creation request is completed, the Auto Scaling * group is ready to be used in other calls. *

*

* NOTE: The Auto Scaling group name must be unique within the * scope of your AWS account. *

* * @param createAutoScalingGroupRequest Container for the necessary * parameters to execute the CreateAutoScalingGroup operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * CreateAutoScalingGroup service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future createAutoScalingGroupAsync(final CreateAutoScalingGroupRequest createAutoScalingGroupRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { createAutoScalingGroup(createAutoScalingGroupRequest); return null; } }); } /** *

* Creates a new Auto Scaling group with the specified name and other * attributes. When the creation request is completed, the Auto Scaling * group is ready to be used in other calls. *

*

* NOTE: The Auto Scaling group name must be unique within the * scope of your AWS account. *

* * @param createAutoScalingGroupRequest Container for the necessary * parameters to execute the CreateAutoScalingGroup operation on * AmazonAutoScaling. * @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 * CreateAutoScalingGroup service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future createAutoScalingGroupAsync( final CreateAutoScalingGroupRequest createAutoScalingGroupRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { createAutoScalingGroup(createAutoScalingGroupRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createAutoScalingGroupRequest, null); return null; } }); } /** *

* Attaches one or more Amazon EC2 instances to an existing Auto Scaling * group. After the instance(s) is attached, it becomes a part of the * Auto Scaling group. *

*

* For more information, see * Attach Amazon EC2 Instance(s) to Your Existing Auto Scaling Group * in the Auto Scaling Developer Guide . *

* * @param attachInstancesRequest Container for the necessary parameters * to execute the AttachInstances operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * AttachInstances service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future attachInstancesAsync(final AttachInstancesRequest attachInstancesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { attachInstances(attachInstancesRequest); return null; } }); } /** *

* Attaches one or more Amazon EC2 instances to an existing Auto Scaling * group. After the instance(s) is attached, it becomes a part of the * Auto Scaling group. *

*

* For more information, see * Attach Amazon EC2 Instance(s) to Your Existing Auto Scaling Group * in the Auto Scaling Developer Guide . *

* * @param attachInstancesRequest Container for the necessary parameters * to execute the AttachInstances operation on AmazonAutoScaling. * @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 * AttachInstances service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future attachInstancesAsync( final AttachInstancesRequest attachInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { attachInstances(attachInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(attachInstancesRequest, null); return null; } }); } /** *

* Returns the scaling activities for the specified Auto Scaling group. *

*

* If the specified ActivityIds list is empty, all the * activities from the past six weeks are returned. Activities are sorted * by the start time. Activities still in progress appear first on the * list. *

*

* This action supports pagination. If the response includes a token, * there are more records available. To get the additional records, * repeat the request with the response token as the * NextToken parameter. *

* * @param describeScalingActivitiesRequest Container for the necessary * parameters to execute the DescribeScalingActivities operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * DescribeScalingActivities service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeScalingActivitiesAsync(final DescribeScalingActivitiesRequest describeScalingActivitiesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeScalingActivitiesResult call() throws Exception { return describeScalingActivities(describeScalingActivitiesRequest); } }); } /** *

* Returns the scaling activities for the specified Auto Scaling group. *

*

* If the specified ActivityIds list is empty, all the * activities from the past six weeks are returned. Activities are sorted * by the start time. Activities still in progress appear first on the * list. *

*

* This action supports pagination. If the response includes a token, * there are more records available. To get the additional records, * repeat the request with the response token as the * NextToken parameter. *

* * @param describeScalingActivitiesRequest Container for the necessary * parameters to execute the DescribeScalingActivities operation on * AmazonAutoScaling. * @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 * DescribeScalingActivities service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeScalingActivitiesAsync( final DescribeScalingActivitiesRequest describeScalingActivitiesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeScalingActivitiesResult call() throws Exception { DescribeScalingActivitiesResult result; try { result = describeScalingActivities(describeScalingActivitiesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeScalingActivitiesRequest, result); return result; } }); } /** *

* Returns a list of notification actions associated with Auto Scaling * groups for specified events. *

* * @param describeNotificationConfigurationsRequest Container for the * necessary parameters to execute the DescribeNotificationConfigurations * operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * DescribeNotificationConfigurations service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeNotificationConfigurationsAsync(final DescribeNotificationConfigurationsRequest describeNotificationConfigurationsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeNotificationConfigurationsResult call() throws Exception { return describeNotificationConfigurations(describeNotificationConfigurationsRequest); } }); } /** *

* Returns a list of notification actions associated with Auto Scaling * groups for specified events. *

* * @param describeNotificationConfigurationsRequest Container for the * necessary parameters to execute the DescribeNotificationConfigurations * operation on AmazonAutoScaling. * @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 * DescribeNotificationConfigurations service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeNotificationConfigurationsAsync( final DescribeNotificationConfigurationsRequest describeNotificationConfigurationsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeNotificationConfigurationsResult call() throws Exception { DescribeNotificationConfigurationsResult result; try { result = describeNotificationConfigurations(describeNotificationConfigurationsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeNotificationConfigurationsRequest, result); return result; } }); } /** *

* Returns a list of all termination policies supported by Auto Scaling. *

* * @param describeTerminationPolicyTypesRequest Container for the * necessary parameters to execute the DescribeTerminationPolicyTypes * operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * DescribeTerminationPolicyTypes service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTerminationPolicyTypesAsync(final DescribeTerminationPolicyTypesRequest describeTerminationPolicyTypesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTerminationPolicyTypesResult call() throws Exception { return describeTerminationPolicyTypes(describeTerminationPolicyTypesRequest); } }); } /** *

* Returns a list of all termination policies supported by Auto Scaling. *

* * @param describeTerminationPolicyTypesRequest Container for the * necessary parameters to execute the DescribeTerminationPolicyTypes * operation on AmazonAutoScaling. * @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 * DescribeTerminationPolicyTypes service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTerminationPolicyTypesAsync( final DescribeTerminationPolicyTypesRequest describeTerminationPolicyTypesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTerminationPolicyTypesResult call() throws Exception { DescribeTerminationPolicyTypesResult result; try { result = describeTerminationPolicyTypes(describeTerminationPolicyTypesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeTerminationPolicyTypesRequest, result); return result; } }); } /** *

* Lists the Auto Scaling group tags. *

*

* You can use filters to limit results when describing tags. For * example, you can query for tags of a particular Auto Scaling group. * You can specify multiple values for a filter. A tag must match at * least one of the specified values for it to be included in the * results. *

*

* You can also specify multiple filters. The result includes * information for a particular tag only if it matches all your filters. * If there's no match, no special message is returned. *

* * @param describeTagsRequest Container for the necessary parameters to * execute the DescribeTags operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * DescribeTags service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTagsAsync(final DescribeTagsRequest describeTagsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTagsResult call() throws Exception { return describeTags(describeTagsRequest); } }); } /** *

* Lists the Auto Scaling group tags. *

*

* You can use filters to limit results when describing tags. For * example, you can query for tags of a particular Auto Scaling group. * You can specify multiple values for a filter. A tag must match at * least one of the specified values for it to be included in the * results. *

*

* You can also specify multiple filters. The result includes * information for a particular tag only if it matches all your filters. * If there's no match, no special message is returned. *

* * @param describeTagsRequest Container for the necessary parameters to * execute the DescribeTags operation on AmazonAutoScaling. * @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 * DescribeTags service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTagsAsync( final DescribeTagsRequest describeTagsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTagsResult call() throws Exception { DescribeTagsResult result; try { result = describeTags(describeTagsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeTagsRequest, result); return result; } }); } /** *

* Removes the specified tags or a set of tags from a set of resources. *

* * @param deleteTagsRequest Container for the necessary parameters to * execute the DeleteTags operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * DeleteTags service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteTagsAsync(final DeleteTagsRequest deleteTagsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteTags(deleteTagsRequest); return null; } }); } /** *

* Removes the specified tags or a set of tags from a set of resources. *

* * @param deleteTagsRequest Container for the necessary parameters to * execute the DeleteTags operation on AmazonAutoScaling. * @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 * DeleteTags service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteTagsAsync( final DeleteTagsRequest deleteTagsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteTags(deleteTagsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteTagsRequest, null); return null; } }); } /** *

* Executes the specified policy. *

* * @param executePolicyRequest Container for the necessary parameters to * execute the ExecutePolicy operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * ExecutePolicy service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future executePolicyAsync(final ExecutePolicyRequest executePolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { executePolicy(executePolicyRequest); return null; } }); } /** *

* Executes the specified policy. *

* * @param executePolicyRequest Container for the necessary parameters to * execute the ExecutePolicy operation on AmazonAutoScaling. * @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 * ExecutePolicy service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future executePolicyAsync( final ExecutePolicyRequest executePolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { executePolicy(executePolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(executePolicyRequest, null); return null; } }); } /** *

* Creates or updates a policy for an Auto Scaling group. To update an * existing policy, use the existing policy name and set the parameter(s) * you want to change. Any existing parameter not changed in an update to * an existing policy is not changed in this update request. *

* * @param putScalingPolicyRequest Container for the necessary parameters * to execute the PutScalingPolicy operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * PutScalingPolicy service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future putScalingPolicyAsync(final PutScalingPolicyRequest putScalingPolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public PutScalingPolicyResult call() throws Exception { return putScalingPolicy(putScalingPolicyRequest); } }); } /** *

* Creates or updates a policy for an Auto Scaling group. To update an * existing policy, use the existing policy name and set the parameter(s) * you want to change. Any existing parameter not changed in an update to * an existing policy is not changed in this update request. *

* * @param putScalingPolicyRequest Container for the necessary parameters * to execute the PutScalingPolicy operation on AmazonAutoScaling. * @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 * PutScalingPolicy service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future putScalingPolicyAsync( final PutScalingPolicyRequest putScalingPolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public PutScalingPolicyResult call() throws Exception { PutScalingPolicyResult result; try { result = putScalingPolicy(putScalingPolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(putScalingPolicyRequest, result); return result; } }); } /** *

* Configures an Auto Scaling group to send notifications when specified * events take place. Subscribers to this topic can have messages for * events delivered to an endpoint such as a web server or email address. *

*

* For more information see * Get Email Notifications When Your Auto Scaling Group Changes * *

*

* A new PutNotificationConfiguration overwrites an * existing configuration. *

* * @param putNotificationConfigurationRequest Container for the necessary * parameters to execute the PutNotificationConfiguration operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * PutNotificationConfiguration service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future putNotificationConfigurationAsync(final PutNotificationConfigurationRequest putNotificationConfigurationRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { putNotificationConfiguration(putNotificationConfigurationRequest); return null; } }); } /** *

* Configures an Auto Scaling group to send notifications when specified * events take place. Subscribers to this topic can have messages for * events delivered to an endpoint such as a web server or email address. *

*

* For more information see * Get Email Notifications When Your Auto Scaling Group Changes * *

*

* A new PutNotificationConfiguration overwrites an * existing configuration. *

* * @param putNotificationConfigurationRequest Container for the necessary * parameters to execute the PutNotificationConfiguration operation on * AmazonAutoScaling. * @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 * PutNotificationConfiguration service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future putNotificationConfigurationAsync( final PutNotificationConfigurationRequest putNotificationConfigurationRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { putNotificationConfiguration(putNotificationConfigurationRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(putNotificationConfigurationRequest, null); return null; } }); } /** *

* Deletes a policy created by PutScalingPolicy. *

* * @param deletePolicyRequest Container for the necessary parameters to * execute the DeletePolicy operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * DeletePolicy service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future deletePolicyAsync(final DeletePolicyRequest deletePolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deletePolicy(deletePolicyRequest); return null; } }); } /** *

* Deletes a policy created by PutScalingPolicy. *

* * @param deletePolicyRequest Container for the necessary parameters to * execute the DeletePolicy operation on AmazonAutoScaling. * @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 * DeletePolicy service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future deletePolicyAsync( final DeletePolicyRequest deletePolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deletePolicy(deletePolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deletePolicyRequest, null); return null; } }); } /** *

* Deletes notifications created by PutNotificationConfiguration. *

* * @param deleteNotificationConfigurationRequest Container for the * necessary parameters to execute the DeleteNotificationConfiguration * operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * DeleteNotificationConfiguration service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteNotificationConfigurationAsync(final DeleteNotificationConfigurationRequest deleteNotificationConfigurationRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteNotificationConfiguration(deleteNotificationConfigurationRequest); return null; } }); } /** *

* Deletes notifications created by PutNotificationConfiguration. *

* * @param deleteNotificationConfigurationRequest Container for the * necessary parameters to execute the DeleteNotificationConfiguration * operation on AmazonAutoScaling. * @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 * DeleteNotificationConfiguration service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteNotificationConfigurationAsync( final DeleteNotificationConfigurationRequest deleteNotificationConfigurationRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteNotificationConfiguration(deleteNotificationConfigurationRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteNotificationConfigurationRequest, null); return null; } }); } /** *

* Deletes a scheduled action previously created using the * PutScheduledUpdateGroupAction. *

* * @param deleteScheduledActionRequest Container for the necessary * parameters to execute the DeleteScheduledAction operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * DeleteScheduledAction service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteScheduledActionAsync(final DeleteScheduledActionRequest deleteScheduledActionRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteScheduledAction(deleteScheduledActionRequest); return null; } }); } /** *

* Deletes a scheduled action previously created using the * PutScheduledUpdateGroupAction. *

* * @param deleteScheduledActionRequest Container for the necessary * parameters to execute the DeleteScheduledAction operation on * AmazonAutoScaling. * @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 * DeleteScheduledAction service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteScheduledActionAsync( final DeleteScheduledActionRequest deleteScheduledActionRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteScheduledAction(deleteScheduledActionRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteScheduledActionRequest, null); return null; } }); } /** *

* Sets the health status of a specified instance that belongs to any of * your Auto Scaling groups. *

*

* For more information, see * Configure Health Checks for Your Auto Scaling group * . *

* * @param setInstanceHealthRequest Container for the necessary parameters * to execute the SetInstanceHealth operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * SetInstanceHealth service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future setInstanceHealthAsync(final SetInstanceHealthRequest setInstanceHealthRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { setInstanceHealth(setInstanceHealthRequest); return null; } }); } /** *

* Sets the health status of a specified instance that belongs to any of * your Auto Scaling groups. *

*

* For more information, see * Configure Health Checks for Your Auto Scaling group * . *

* * @param setInstanceHealthRequest Container for the necessary parameters * to execute the SetInstanceHealth operation on AmazonAutoScaling. * @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 * SetInstanceHealth service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future setInstanceHealthAsync( final SetInstanceHealthRequest setInstanceHealthRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { setInstanceHealth(setInstanceHealthRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(setInstanceHealthRequest, null); return null; } }); } /** *

* Returns a list of all notification types that are supported by Auto * Scaling. *

* * @param describeAutoScalingNotificationTypesRequest Container for the * necessary parameters to execute the * DescribeAutoScalingNotificationTypes operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * DescribeAutoScalingNotificationTypes service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAutoScalingNotificationTypesAsync(final DescribeAutoScalingNotificationTypesRequest describeAutoScalingNotificationTypesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAutoScalingNotificationTypesResult call() throws Exception { return describeAutoScalingNotificationTypes(describeAutoScalingNotificationTypesRequest); } }); } /** *

* Returns a list of all notification types that are supported by Auto * Scaling. *

* * @param describeAutoScalingNotificationTypesRequest Container for the * necessary parameters to execute the * DescribeAutoScalingNotificationTypes operation on AmazonAutoScaling. * @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 * DescribeAutoScalingNotificationTypes service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAutoScalingNotificationTypesAsync( final DescribeAutoScalingNotificationTypesRequest describeAutoScalingNotificationTypesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAutoScalingNotificationTypesResult call() throws Exception { DescribeAutoScalingNotificationTypesResult result; try { result = describeAutoScalingNotificationTypes(describeAutoScalingNotificationTypesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeAutoScalingNotificationTypesRequest, result); return result; } }); } /** *

* Creates new tags or updates existing tags for an Auto Scaling group. *

*

* NOTE: A tag's definition is composed of a resource ID, * resource type, key and value, and the propagate flag. Value and the * propagate flag are optional parameters. See the Request Parameters for * more information. *

*

* For information on creating tags for your Auto Scaling group, see * Tag Your Auto Scaling Groups and Amazon EC2 Instances * . *

* * @param createOrUpdateTagsRequest Container for the necessary * parameters to execute the CreateOrUpdateTags operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * CreateOrUpdateTags service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future createOrUpdateTagsAsync(final CreateOrUpdateTagsRequest createOrUpdateTagsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { createOrUpdateTags(createOrUpdateTagsRequest); return null; } }); } /** *

* Creates new tags or updates existing tags for an Auto Scaling group. *

*

* NOTE: A tag's definition is composed of a resource ID, * resource type, key and value, and the propagate flag. Value and the * propagate flag are optional parameters. See the Request Parameters for * more information. *

*

* For information on creating tags for your Auto Scaling group, see * Tag Your Auto Scaling Groups and Amazon EC2 Instances * . *

* * @param createOrUpdateTagsRequest Container for the necessary * parameters to execute the CreateOrUpdateTags operation on * AmazonAutoScaling. * @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 * CreateOrUpdateTags service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future createOrUpdateTagsAsync( final CreateOrUpdateTagsRequest createOrUpdateTagsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { createOrUpdateTags(createOrUpdateTagsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createOrUpdateTagsRequest, null); return null; } }); } /** *

* Suspends Auto Scaling processes for an Auto Scaling group. To suspend * specific process types, specify them by name with the * ScalingProcesses.member.N parameter. To suspend all * process types, omit the ScalingProcesses.member.N * parameter. *

*

* IMPORTANT: Suspending either of the two primary process types, * Launch or Terminate, can prevent other process types from functioning * properly. *

*

* To resume processes that have been suspended, use ResumeProcesses For * more information on suspending and resuming Auto Scaling process, see * Suspend and Resume Auto Scaling Process * . *

* * @param suspendProcessesRequest Container for the necessary parameters * to execute the SuspendProcesses operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * SuspendProcesses service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future suspendProcessesAsync(final SuspendProcessesRequest suspendProcessesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { suspendProcesses(suspendProcessesRequest); return null; } }); } /** *

* Suspends Auto Scaling processes for an Auto Scaling group. To suspend * specific process types, specify them by name with the * ScalingProcesses.member.N parameter. To suspend all * process types, omit the ScalingProcesses.member.N * parameter. *

*

* IMPORTANT: Suspending either of the two primary process types, * Launch or Terminate, can prevent other process types from functioning * properly. *

*

* To resume processes that have been suspended, use ResumeProcesses For * more information on suspending and resuming Auto Scaling process, see * Suspend and Resume Auto Scaling Process * . *

* * @param suspendProcessesRequest Container for the necessary parameters * to execute the SuspendProcesses operation on AmazonAutoScaling. * @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 * SuspendProcesses service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future suspendProcessesAsync( final SuspendProcessesRequest suspendProcessesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { suspendProcesses(suspendProcessesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(suspendProcessesRequest, null); return null; } }); } /** *

* Creates a new launch configuration. The launch configuration name * must be unique within the scope of the client's AWS account. The * maximum limit of launch configurations, which by default is 100, must * not yet have been met; otherwise, the call will fail. When created, * the new launch configuration is available for immediate use. *

* * @param createLaunchConfigurationRequest Container for the necessary * parameters to execute the CreateLaunchConfiguration operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * CreateLaunchConfiguration service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future createLaunchConfigurationAsync(final CreateLaunchConfigurationRequest createLaunchConfigurationRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { createLaunchConfiguration(createLaunchConfigurationRequest); return null; } }); } /** *

* Creates a new launch configuration. The launch configuration name * must be unique within the scope of the client's AWS account. The * maximum limit of launch configurations, which by default is 100, must * not yet have been met; otherwise, the call will fail. When created, * the new launch configuration is available for immediate use. *

* * @param createLaunchConfigurationRequest Container for the necessary * parameters to execute the CreateLaunchConfiguration operation on * AmazonAutoScaling. * @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 * CreateLaunchConfiguration service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future createLaunchConfigurationAsync( final CreateLaunchConfigurationRequest createLaunchConfigurationRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { createLaunchConfiguration(createLaunchConfigurationRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createLaunchConfigurationRequest, null); return null; } }); } /** *

* Returns a description of each Auto Scaling instance in the * InstanceIds list. If a list is not provided, the service * returns the full details of all instances up to a maximum of 50. By * default, the service returns a list of 20 items. *

*

* This action supports pagination by returning a token if there are * more pages to retrieve. To get the next page, call this action again * with the returned token as the NextToken parameter. *

* * @param describeAutoScalingInstancesRequest Container for the necessary * parameters to execute the DescribeAutoScalingInstances operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * DescribeAutoScalingInstances service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAutoScalingInstancesAsync(final DescribeAutoScalingInstancesRequest describeAutoScalingInstancesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAutoScalingInstancesResult call() throws Exception { return describeAutoScalingInstances(describeAutoScalingInstancesRequest); } }); } /** *

* Returns a description of each Auto Scaling instance in the * InstanceIds list. If a list is not provided, the service * returns the full details of all instances up to a maximum of 50. By * default, the service returns a list of 20 items. *

*

* This action supports pagination by returning a token if there are * more pages to retrieve. To get the next page, call this action again * with the returned token as the NextToken parameter. *

* * @param describeAutoScalingInstancesRequest Container for the necessary * parameters to execute the DescribeAutoScalingInstances operation on * AmazonAutoScaling. * @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 * DescribeAutoScalingInstances service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAutoScalingInstancesAsync( final DescribeAutoScalingInstancesRequest describeAutoScalingInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAutoScalingInstancesResult call() throws Exception { DescribeAutoScalingInstancesResult result; try { result = describeAutoScalingInstances(describeAutoScalingInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeAutoScalingInstancesRequest, result); return result; } }); } /** *

* Deletes the specified Auto Scaling group if the group has no * instances and no scaling activities in progress. *

*

* NOTE: To remove all instances before calling * DeleteAutoScalingGroup, you can call UpdateAutoScalingGroup to set the * minimum and maximum size of the AutoScalingGroup to zero. *

* * @param deleteAutoScalingGroupRequest Container for the necessary * parameters to execute the DeleteAutoScalingGroup operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * DeleteAutoScalingGroup service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteAutoScalingGroupAsync(final DeleteAutoScalingGroupRequest deleteAutoScalingGroupRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteAutoScalingGroup(deleteAutoScalingGroupRequest); return null; } }); } /** *

* Deletes the specified Auto Scaling group if the group has no * instances and no scaling activities in progress. *

*

* NOTE: To remove all instances before calling * DeleteAutoScalingGroup, you can call UpdateAutoScalingGroup to set the * minimum and maximum size of the AutoScalingGroup to zero. *

* * @param deleteAutoScalingGroupRequest Container for the necessary * parameters to execute the DeleteAutoScalingGroup operation on * AmazonAutoScaling. * @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 * DeleteAutoScalingGroup service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteAutoScalingGroupAsync( final DeleteAutoScalingGroupRequest deleteAutoScalingGroupRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteAutoScalingGroup(deleteAutoScalingGroupRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteAutoScalingGroupRequest, null); return null; } }); } /** *

* Disables monitoring of group metrics for the Auto Scaling group * specified in AutoScalingGroupName . You can specify the * list of affected metrics with the Metrics parameter. *

* * @param disableMetricsCollectionRequest Container for the necessary * parameters to execute the DisableMetricsCollection operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * DisableMetricsCollection service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future disableMetricsCollectionAsync(final DisableMetricsCollectionRequest disableMetricsCollectionRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { disableMetricsCollection(disableMetricsCollectionRequest); return null; } }); } /** *

* Disables monitoring of group metrics for the Auto Scaling group * specified in AutoScalingGroupName . You can specify the * list of affected metrics with the Metrics parameter. *

* * @param disableMetricsCollectionRequest Container for the necessary * parameters to execute the DisableMetricsCollection operation on * AmazonAutoScaling. * @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 * DisableMetricsCollection service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future disableMetricsCollectionAsync( final DisableMetricsCollectionRequest disableMetricsCollectionRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { disableMetricsCollection(disableMetricsCollectionRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(disableMetricsCollectionRequest, null); return null; } }); } /** *

* Updates the configuration for the specified AutoScalingGroup. *

*

* NOTE: To update an Auto Scaling group with a launch * configuration that has the InstanceMonitoring flag set to False, you * must first ensure that collection of group metrics is disabled. * Otherwise, calls to UpdateAutoScalingGroup will fail. If you have * previously enabled group metrics collection, you can disable * collection of all group metrics by calling DisableMetricsCollection. *

*

* The new settings are registered upon the completion of this call. Any * launch configuration settings take effect on any triggers after this * call returns. Scaling activities that are currently in progress aren't * affected. *

*

* NOTE: If a new value is specified for MinSize without * specifying the value for DesiredCapacity, and if the new MinSize is * larger than the current size of the Auto Scaling Group, there will be * an implicit call to SetDesiredCapacity to set the group to the new * MinSize. If a new value is specified for MaxSize without specifying * the value for DesiredCapacity, and the new MaxSize is smaller than the * current size of the Auto Scaling Group, there will be an implicit call * to SetDesiredCapacity to set the group to the new MaxSize. All other * optional parameters are left unchanged if not passed in the request. *

* * @param updateAutoScalingGroupRequest Container for the necessary * parameters to execute the UpdateAutoScalingGroup operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * UpdateAutoScalingGroup service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future updateAutoScalingGroupAsync(final UpdateAutoScalingGroupRequest updateAutoScalingGroupRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { updateAutoScalingGroup(updateAutoScalingGroupRequest); return null; } }); } /** *

* Updates the configuration for the specified AutoScalingGroup. *

*

* NOTE: To update an Auto Scaling group with a launch * configuration that has the InstanceMonitoring flag set to False, you * must first ensure that collection of group metrics is disabled. * Otherwise, calls to UpdateAutoScalingGroup will fail. If you have * previously enabled group metrics collection, you can disable * collection of all group metrics by calling DisableMetricsCollection. *

*

* The new settings are registered upon the completion of this call. Any * launch configuration settings take effect on any triggers after this * call returns. Scaling activities that are currently in progress aren't * affected. *

*

* NOTE: If a new value is specified for MinSize without * specifying the value for DesiredCapacity, and if the new MinSize is * larger than the current size of the Auto Scaling Group, there will be * an implicit call to SetDesiredCapacity to set the group to the new * MinSize. If a new value is specified for MaxSize without specifying * the value for DesiredCapacity, and the new MaxSize is smaller than the * current size of the Auto Scaling Group, there will be an implicit call * to SetDesiredCapacity to set the group to the new MaxSize. All other * optional parameters are left unchanged if not passed in the request. *

* * @param updateAutoScalingGroupRequest Container for the necessary * parameters to execute the UpdateAutoScalingGroup operation on * AmazonAutoScaling. * @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 * UpdateAutoScalingGroup service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future updateAutoScalingGroupAsync( final UpdateAutoScalingGroupRequest updateAutoScalingGroupRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { updateAutoScalingGroup(updateAutoScalingGroupRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateAutoScalingGroupRequest, null); return null; } }); } /** *

* Returns a full description of the launch configurations, or the * specified launch configurations, if they exist. *

*

* If no name is specified, then the full details of all launch * configurations are returned. *

* * @param describeLaunchConfigurationsRequest Container for the necessary * parameters to execute the DescribeLaunchConfigurations operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * DescribeLaunchConfigurations service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeLaunchConfigurationsAsync(final DescribeLaunchConfigurationsRequest describeLaunchConfigurationsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeLaunchConfigurationsResult call() throws Exception { return describeLaunchConfigurations(describeLaunchConfigurationsRequest); } }); } /** *

* Returns a full description of the launch configurations, or the * specified launch configurations, if they exist. *

*

* If no name is specified, then the full details of all launch * configurations are returned. *

* * @param describeLaunchConfigurationsRequest Container for the necessary * parameters to execute the DescribeLaunchConfigurations operation on * AmazonAutoScaling. * @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 * DescribeLaunchConfigurations service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeLaunchConfigurationsAsync( final DescribeLaunchConfigurationsRequest describeLaunchConfigurationsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeLaunchConfigurationsResult call() throws Exception { DescribeLaunchConfigurationsResult result; try { result = describeLaunchConfigurations(describeLaunchConfigurationsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeLaunchConfigurationsRequest, result); return result; } }); } /** *

* Returns policy adjustment types for use in the PutScalingPolicy * action. *

* * @param describeAdjustmentTypesRequest Container for the necessary * parameters to execute the DescribeAdjustmentTypes operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * DescribeAdjustmentTypes service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAdjustmentTypesAsync(final DescribeAdjustmentTypesRequest describeAdjustmentTypesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAdjustmentTypesResult call() throws Exception { return describeAdjustmentTypes(describeAdjustmentTypesRequest); } }); } /** *

* Returns policy adjustment types for use in the PutScalingPolicy * action. *

* * @param describeAdjustmentTypesRequest Container for the necessary * parameters to execute the DescribeAdjustmentTypes operation on * AmazonAutoScaling. * @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 * DescribeAdjustmentTypes service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAdjustmentTypesAsync( final DescribeAdjustmentTypesRequest describeAdjustmentTypesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAdjustmentTypesResult call() throws Exception { DescribeAdjustmentTypesResult result; try { result = describeAdjustmentTypes(describeAdjustmentTypesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeAdjustmentTypesRequest, result); return result; } }); } /** *

* Lists all the actions scheduled for your Auto Scaling group that * haven't been executed. To see a list of actions already executed, see * the activity record returned in DescribeScalingActivities. *

* * @param describeScheduledActionsRequest Container for the necessary * parameters to execute the DescribeScheduledActions operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * DescribeScheduledActions service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeScheduledActionsAsync(final DescribeScheduledActionsRequest describeScheduledActionsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeScheduledActionsResult call() throws Exception { return describeScheduledActions(describeScheduledActionsRequest); } }); } /** *

* Lists all the actions scheduled for your Auto Scaling group that * haven't been executed. To see a list of actions already executed, see * the activity record returned in DescribeScalingActivities. *

* * @param describeScheduledActionsRequest Container for the necessary * parameters to execute the DescribeScheduledActions operation on * AmazonAutoScaling. * @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 * DescribeScheduledActions service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeScheduledActionsAsync( final DescribeScheduledActionsRequest describeScheduledActionsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeScheduledActionsResult call() throws Exception { DescribeScheduledActionsResult result; try { result = describeScheduledActions(describeScheduledActionsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeScheduledActionsRequest, result); return result; } }); } /** *

* Creates or updates a scheduled scaling action for an Auto Scaling * group. When updating a scheduled scaling action, if you leave a * parameter unspecified, the corresponding value remains unchanged in * the affected Auto Scaling group. *

*

* For information on creating or updating a scheduled action for your * Auto Scaling group, see * Scale Based on a Schedule * . *

*

* NOTE: Auto Scaling supports the date and time expressed in * "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT only. *

* * @param putScheduledUpdateGroupActionRequest Container for the * necessary parameters to execute the PutScheduledUpdateGroupAction * operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * PutScheduledUpdateGroupAction service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future putScheduledUpdateGroupActionAsync(final PutScheduledUpdateGroupActionRequest putScheduledUpdateGroupActionRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { putScheduledUpdateGroupAction(putScheduledUpdateGroupActionRequest); return null; } }); } /** *

* Creates or updates a scheduled scaling action for an Auto Scaling * group. When updating a scheduled scaling action, if you leave a * parameter unspecified, the corresponding value remains unchanged in * the affected Auto Scaling group. *

*

* For information on creating or updating a scheduled action for your * Auto Scaling group, see * Scale Based on a Schedule * . *

*

* NOTE: Auto Scaling supports the date and time expressed in * "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT only. *

* * @param putScheduledUpdateGroupActionRequest Container for the * necessary parameters to execute the PutScheduledUpdateGroupAction * operation on AmazonAutoScaling. * @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 * PutScheduledUpdateGroupAction service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future putScheduledUpdateGroupActionAsync( final PutScheduledUpdateGroupActionRequest putScheduledUpdateGroupActionRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { putScheduledUpdateGroupAction(putScheduledUpdateGroupActionRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(putScheduledUpdateGroupActionRequest, null); return null; } }); } /** *

* Returns a list of metrics and a corresponding list of granularities * for each metric. *

* * @param describeMetricCollectionTypesRequest Container for the * necessary parameters to execute the DescribeMetricCollectionTypes * operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * DescribeMetricCollectionTypes service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeMetricCollectionTypesAsync(final DescribeMetricCollectionTypesRequest describeMetricCollectionTypesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeMetricCollectionTypesResult call() throws Exception { return describeMetricCollectionTypes(describeMetricCollectionTypesRequest); } }); } /** *

* Returns a list of metrics and a corresponding list of granularities * for each metric. *

* * @param describeMetricCollectionTypesRequest Container for the * necessary parameters to execute the DescribeMetricCollectionTypes * operation on AmazonAutoScaling. * @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 * DescribeMetricCollectionTypes service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future describeMetricCollectionTypesAsync( final DescribeMetricCollectionTypesRequest describeMetricCollectionTypesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeMetricCollectionTypesResult call() throws Exception { DescribeMetricCollectionTypesResult result; try { result = describeMetricCollectionTypes(describeMetricCollectionTypesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeMetricCollectionTypesRequest, result); return result; } }); } /** *

* Sets the desired size of the specified AutoScalingGroup. *

* * @param setDesiredCapacityRequest Container for the necessary * parameters to execute the SetDesiredCapacity operation on * AmazonAutoScaling. * * @return A Java Future object containing the response from the * SetDesiredCapacity service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future setDesiredCapacityAsync(final SetDesiredCapacityRequest setDesiredCapacityRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { setDesiredCapacity(setDesiredCapacityRequest); return null; } }); } /** *

* Sets the desired size of the specified AutoScalingGroup. *

* * @param setDesiredCapacityRequest Container for the necessary * parameters to execute the SetDesiredCapacity operation on * AmazonAutoScaling. * @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 * SetDesiredCapacity service method, as returned by AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future setDesiredCapacityAsync( final SetDesiredCapacityRequest setDesiredCapacityRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { setDesiredCapacity(setDesiredCapacityRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(setDesiredCapacityRequest, null); return null; } }); } /** *

* Terminates the specified instance. Optionally, the desired group size * can be adjusted. *

*

* NOTE: This call simply registers a termination request. The * termination of the instance cannot happen immediately. *

* * @param terminateInstanceInAutoScalingGroupRequest Container for the * necessary parameters to execute the * TerminateInstanceInAutoScalingGroup operation on AmazonAutoScaling. * * @return A Java Future object containing the response from the * TerminateInstanceInAutoScalingGroup service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future terminateInstanceInAutoScalingGroupAsync(final TerminateInstanceInAutoScalingGroupRequest terminateInstanceInAutoScalingGroupRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public TerminateInstanceInAutoScalingGroupResult call() throws Exception { return terminateInstanceInAutoScalingGroup(terminateInstanceInAutoScalingGroupRequest); } }); } /** *

* Terminates the specified instance. Optionally, the desired group size * can be adjusted. *

*

* NOTE: This call simply registers a termination request. The * termination of the instance cannot happen immediately. *

* * @param terminateInstanceInAutoScalingGroupRequest Container for the * necessary parameters to execute the * TerminateInstanceInAutoScalingGroup operation on AmazonAutoScaling. * @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 * TerminateInstanceInAutoScalingGroup service method, as returned by * AmazonAutoScaling. * * * @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 AmazonAutoScaling indicating * either a problem with the data in the request, or a server side issue. */ public Future terminateInstanceInAutoScalingGroupAsync( final TerminateInstanceInAutoScalingGroupRequest terminateInstanceInAutoScalingGroupRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public TerminateInstanceInAutoScalingGroupResult call() throws Exception { TerminateInstanceInAutoScalingGroupResult result; try { result = terminateInstanceInAutoScalingGroup(terminateInstanceInAutoScalingGroupRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(terminateInstanceInAutoScalingGroupRequest, result); return result; } }); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy