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

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

Go to download

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

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