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

main.java.com.amazonaws.services.cloudwatch.AmazonCloudWatchAsyncClient Maven / Gradle / Ivy

Go to download

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

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

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

/**
 * Asynchronous client for accessing AmazonCloudWatch.
 * 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.
 * Amazon CloudWatch 

* This is the Amazon CloudWatch API Reference . This guide * provides detailed information about Amazon CloudWatch actions, data * types, parameters, and errors. For detailed information about Amazon * CloudWatch features and their associated API calls, go to the * Amazon CloudWatch Developer Guide * . *

*

* Amazon CloudWatch is a web service that enables you to publish, * monitor, and manage various metrics, as well as configure alarm * actions based on data from metrics. For more information about this * product go to * http://aws.amazon.com/cloudwatch * . *

*

* Use the following links to get started using the Amazon CloudWatch * API Reference : *

* *
    *
  • * Actions * : An alphabetical list of all Amazon CloudWatch actions.
  • *
  • * Data Types * : An alphabetical list of all Amazon CloudWatch data types.
  • *
  • * Common Parameters * : Parameters that all Query actions can use.
  • *
  • * Common Errors * : Client and server errors that all actions can return.
  • *
  • * Regions and Endpoints * : Itemized regions and endpoints for all AWS products.
  • *
  • * WSDL Location * : http://monitoring.amazonaws.com/doc/2010-08-01/CloudWatch.wsdl
  • * *
*/ public class AmazonCloudWatchAsyncClient extends AmazonCloudWatchClient implements AmazonCloudWatchAsync { /** * 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 * AmazonCloudWatch. 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 AmazonCloudWatchAsyncClient() { this(new DefaultAWSCredentialsProviderChain()); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonCloudWatch. 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 AmazonCloudWatch * (ex: proxy settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain */ public AmazonCloudWatchAsyncClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration, Executors.newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonCloudWatch 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 AmazonCloudWatchAsyncClient(AWSCredentials awsCredentials) { this(awsCredentials, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonCloudWatch 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 AmazonCloudWatchAsyncClient(AWSCredentials awsCredentials, ExecutorService executorService) { super(awsCredentials); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on * AmazonCloudWatch 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 AmazonCloudWatchAsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService) { super(awsCredentials, clientConfiguration); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on * AmazonCloudWatch 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 AmazonCloudWatchAsyncClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonCloudWatch 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 AmazonCloudWatchAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ExecutorService executorService) { this(awsCredentialsProvider, new ClientConfiguration(), executorService); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonCloudWatch 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 AmazonCloudWatchAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, Executors.newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonCloudWatch 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 AmazonCloudWatchAsyncClient(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(); } /** *

* Creates or updates an alarm and associates it with the specified * Amazon CloudWatch metric. Optionally, this operation can associate one * or more Amazon Simple Notification Service resources with the alarm. *

*

* When this operation creates an alarm, the alarm state is immediately * set to INSUFFICIENT_DATA . The alarm is evaluated and * its StateValue is set appropriately. Any actions * associated with the StateValue is then executed. *

*

* NOTE: When updating an existing alarm, its StateValue is left * unchanged. *

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

* Creates or updates an alarm and associates it with the specified * Amazon CloudWatch metric. Optionally, this operation can associate one * or more Amazon Simple Notification Service resources with the alarm. *

*

* When this operation creates an alarm, the alarm state is immediately * set to INSUFFICIENT_DATA . The alarm is evaluated and * its StateValue is set appropriately. Any actions * associated with the StateValue is then executed. *

*

* NOTE: When updating an existing alarm, its StateValue is left * unchanged. *

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

* Publishes metric data points to Amazon CloudWatch. Amazon Cloudwatch * associates the data points with the specified metric. If the specified * metric does not exist, Amazon CloudWatch creates the metric. *

*

* NOTE: If you create a metric with the PutMetricData action, * allow up to fifteen minutes for the metric to appear in calls to the * ListMetrics action. *

*

* The size of a PutMetricData request is limited to 8 KB for HTTP GET * requests and 40 KB for HTTP POST requests. *

*

* IMPORTANT: Although the Value parameter accepts numbers of * type Double, Amazon CloudWatch truncates values with very large * exponents. Values with base-10 exponents greater than 126 (1 x 10^126) * are truncated. Likewise, values with base-10 exponents less than -130 * (1 x 10^-130) are also truncated. *

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

* Publishes metric data points to Amazon CloudWatch. Amazon Cloudwatch * associates the data points with the specified metric. If the specified * metric does not exist, Amazon CloudWatch creates the metric. *

*

* NOTE: If you create a metric with the PutMetricData action, * allow up to fifteen minutes for the metric to appear in calls to the * ListMetrics action. *

*

* The size of a PutMetricData request is limited to 8 KB for HTTP GET * requests and 40 KB for HTTP POST requests. *

*

* IMPORTANT: Although the Value parameter accepts numbers of * type Double, Amazon CloudWatch truncates values with very large * exponents. Values with base-10 exponents greater than 126 (1 x 10^126) * are truncated. Likewise, values with base-10 exponents less than -130 * (1 x 10^-130) are also truncated. *

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

* Returns a list of valid metrics stored for the AWS account owner. * Returned metrics can be used with GetMetricStatistics to * obtain statistical data for a given metric. *

*

* NOTE: Up to 500 results are returned for any one call. To * retrieve further results, use returned NextToken values with * subsequent ListMetrics operations. *

*

* NOTE: If you create a metric with the PutMetricData action, * allow up to fifteen minutes for the metric to appear in calls to the * ListMetrics action. *

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

* Returns a list of valid metrics stored for the AWS account owner. * Returned metrics can be used with GetMetricStatistics to * obtain statistical data for a given metric. *

*

* NOTE: Up to 500 results are returned for any one call. To * retrieve further results, use returned NextToken values with * subsequent ListMetrics operations. *

*

* NOTE: If you create a metric with the PutMetricData action, * allow up to fifteen minutes for the metric to appear in calls to the * ListMetrics action. *

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

* Gets statistics for the specified metric. *

*

* NOTE: The maximum number of data points returned from a single * GetMetricStatistics request is 1,440. If a request is made that * generates more than 1,440 data points, Amazon CloudWatch returns an * error. In such a case, alter the request by narrowing the specified * time range or increasing the specified period. Alternatively, make * multiple requests across adjacent time ranges. *

*

* Amazon CloudWatch aggregates data points based on the length of the * period that you specify. For example, if you request * statistics with a one-minute granularity, Amazon CloudWatch aggregates * data points with time stamps that fall within the same one-minute * period. In such a case, the data points queried can greatly outnumber * the data points returned. *

*

* NOTE: The maximum number of data points that can be queried is * 50,850; whereas the maximum number of data points returned is 1,440. *

*

* The following examples show various statistics allowed by the data * point query maximum of 50,850 when you call * GetMetricStatistics on Amazon EC2 instances with detailed * (one-minute) monitoring enabled: *

* *
    *
  • Statistics for up to 400 instances for a span of one hour
  • *
  • Statistics for up to 35 instances over a span of 24 hours
  • *
  • Statistics for up to 2 instances over a span of 2 weeks
  • * *
* * @param getMetricStatisticsRequest Container for the necessary * parameters to execute the GetMetricStatistics operation on * AmazonCloudWatch. * * @return A Java Future object containing the response from the * GetMetricStatistics service method, as returned by AmazonCloudWatch. * * * @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 AmazonCloudWatch indicating * either a problem with the data in the request, or a server side issue. */ public Future getMetricStatisticsAsync(final GetMetricStatisticsRequest getMetricStatisticsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetMetricStatisticsResult call() throws Exception { return getMetricStatistics(getMetricStatisticsRequest); } }); } /** *

* Gets statistics for the specified metric. *

*

* NOTE: The maximum number of data points returned from a single * GetMetricStatistics request is 1,440. If a request is made that * generates more than 1,440 data points, Amazon CloudWatch returns an * error. In such a case, alter the request by narrowing the specified * time range or increasing the specified period. Alternatively, make * multiple requests across adjacent time ranges. *

*

* Amazon CloudWatch aggregates data points based on the length of the * period that you specify. For example, if you request * statistics with a one-minute granularity, Amazon CloudWatch aggregates * data points with time stamps that fall within the same one-minute * period. In such a case, the data points queried can greatly outnumber * the data points returned. *

*

* NOTE: The maximum number of data points that can be queried is * 50,850; whereas the maximum number of data points returned is 1,440. *

*

* The following examples show various statistics allowed by the data * point query maximum of 50,850 when you call * GetMetricStatistics on Amazon EC2 instances with detailed * (one-minute) monitoring enabled: *

* *
    *
  • Statistics for up to 400 instances for a span of one hour
  • *
  • Statistics for up to 35 instances over a span of 24 hours
  • *
  • Statistics for up to 2 instances over a span of 2 weeks
  • * *
* * @param getMetricStatisticsRequest Container for the necessary * parameters to execute the GetMetricStatistics operation on * AmazonCloudWatch. * @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 * GetMetricStatistics service method, as returned by AmazonCloudWatch. * * * @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 AmazonCloudWatch indicating * either a problem with the data in the request, or a server side issue. */ public Future getMetricStatisticsAsync( final GetMetricStatisticsRequest getMetricStatisticsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetMetricStatisticsResult call() throws Exception { GetMetricStatisticsResult result; try { result = getMetricStatistics(getMetricStatisticsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getMetricStatisticsRequest, result); return result; } }); } /** *

* Disables actions for the specified alarms. When an alarm's actions * are disabled the alarm's state may change, but none of the alarm's * actions will execute. *

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

* Disables actions for the specified alarms. When an alarm's actions * are disabled the alarm's state may change, but none of the alarm's * actions will execute. *

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

* Retrieves alarms with the specified names. If no name is specified, * all alarms for the user are returned. Alarms can be retrieved by using * only a prefix for the alarm name, the alarm state, or a prefix for any * action. *

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

* Retrieves alarms with the specified names. If no name is specified, * all alarms for the user are returned. Alarms can be retrieved by using * only a prefix for the alarm name, the alarm state, or a prefix for any * action. *

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

* Retrieves all alarms for a single metric. Specify a statistic, * period, or unit to filter the set of alarms further. *

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

* Retrieves all alarms for a single metric. Specify a statistic, * period, or unit to filter the set of alarms further. *

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

* Retrieves history for the specified alarm. Filter alarms by date * range or item type. If an alarm name is not specified, Amazon * CloudWatch returns histories for all of the owner's alarms. *

*

* NOTE: Amazon CloudWatch retains the history of an alarm for * two weeks, whether or not you delete the alarm. *

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

* Retrieves history for the specified alarm. Filter alarms by date * range or item type. If an alarm name is not specified, Amazon * CloudWatch returns histories for all of the owner's alarms. *

*

* NOTE: Amazon CloudWatch retains the history of an alarm for * two weeks, whether or not you delete the alarm. *

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

* Enables actions for the specified alarms. *

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

* Enables actions for the specified alarms. *

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

* Deletes all specified alarms. In the event of an error, no alarms are * deleted. *

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

* Deletes all specified alarms. In the event of an error, no alarms are * deleted. *

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

* Temporarily sets the state of an alarm. When the updated * StateValue differs from the previous value, the action * configured for the appropriate state is invoked. This is not a * permanent change. The next periodic alarm check (in about a minute) * will set the alarm to its actual state. *

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

* Temporarily sets the state of an alarm. When the updated * StateValue differs from the previous value, the action * configured for the appropriate state is invoked. This is not a * permanent change. The next periodic alarm check (in about a minute) * will set the alarm to its actual state. *

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy