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

com.amazonaws.services.cloudwatch.AmazonCloudWatchAsyncClient 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.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 - 2025 Weber Informatics LLC | Privacy Policy