com.amazonaws.services.cloudwatch
Class AmazonCloudWatchAsyncClient

java.lang.Object
  extended by com.amazonaws.AmazonWebServiceClient
      extended by com.amazonaws.services.cloudwatch.AmazonCloudWatchClient
          extended by com.amazonaws.services.cloudwatch.AmazonCloudWatchAsyncClient
All Implemented Interfaces:
AmazonCloudWatch, AmazonCloudWatchAsync

public class AmazonCloudWatchAsyncClient
extends AmazonCloudWatchClient
implements AmazonCloudWatchAsync

Client for accessing AmazonCloudWatch. All calls made using this client are non-blocking and will immediately return a Java Future. Callers must use the Future object to determine when the service call has actually completed.

Amazon CloudWatch is a web service that enables you to monitor and manage various metrics, as well as configure alarm actions based on data from metrics.

Amazon CloudWatch monitoring enables you to collect, analyze, and view system and application metrics so that you can make operational and business decisions more quickly and with greater confidence. You can use Amazon CloudWatch to collect metrics about your AWS resources, such as the performance of your Amazon EC2 instances.

If you are registered for an AWS product that supports Amazon CloudWatch, the service automatically pushes basic metrics to CloudWatch for you. Once Amazon CloudWatch contains metrics, you can calculate statistics based on that data.

Amazon CloudWatch alarms help you implement decisions more easily by enabling you do things like send notifications or automatically make changes to the resources you are monitoring, based on rules that you define. For example, you can create alarms that initiate Auto Scaling and Simple Notification Service actions on your behalf.


Constructor Summary
AmazonCloudWatchAsyncClient(AWSCredentials awsCredentials)
          Constructs a new asynchronous client to invoke service methods on AmazonCloudWatch using the specified AWS account credentials.
AmazonCloudWatchAsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, 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.
AmazonCloudWatchAsyncClient(AWSCredentials awsCredentials, ExecutorService executorService)
          Constructs a new asynchronous client to invoke service methods on AmazonCloudWatch using the specified AWS account credentials and executor service.
 
Method Summary
 Future<Void> deleteAlarmsAsync(DeleteAlarmsRequest deleteAlarmsRequest)
           Deletes all specified alarms.
 Future<DescribeAlarmHistoryResult> describeAlarmHistoryAsync(DescribeAlarmHistoryRequest describeAlarmHistoryRequest)
           Retrieves history for the specified alarm.
 Future<DescribeAlarmsResult> describeAlarmsAsync(DescribeAlarmsRequest describeAlarmsRequest)
           Retrieves alarms with the specified names.
 Future<DescribeAlarmsForMetricResult> describeAlarmsForMetricAsync(DescribeAlarmsForMetricRequest describeAlarmsForMetricRequest)
           Retrieves all alarms for a single metric.
 Future<Void> disableAlarmActionsAsync(DisableAlarmActionsRequest disableAlarmActionsRequest)
           Disables actions for the specified alarms.
 Future<Void> enableAlarmActionsAsync(EnableAlarmActionsRequest enableAlarmActionsRequest)
           Enables actions for the specified alarms.
 ExecutorService getExecutorService()
          Returns the executor service used by this async client to execute requests.
 Future<GetMetricStatisticsResult> getMetricStatisticsAsync(GetMetricStatisticsRequest getMetricStatisticsRequest)
           Gets statistics for the specified metric.
 Future<ListMetricsResult> listMetricsAsync(ListMetricsRequest listMetricsRequest)
           Returns a list of valid metrics stored for the AWS account owner.
 Future<Void> putMetricAlarmAsync(PutMetricAlarmRequest putMetricAlarmRequest)
           Creates or updates an alarm and associates it with the specified Amazon CloudWatch metric.
 Future<Void> setAlarmStateAsync(SetAlarmStateRequest setAlarmStateRequest)
           Temporarily sets the state of an alarm.
 
Methods inherited from class com.amazonaws.services.cloudwatch.AmazonCloudWatchClient
deleteAlarms, describeAlarmHistory, describeAlarmHistory, describeAlarms, describeAlarms, describeAlarmsForMetric, disableAlarmActions, enableAlarmActions, getCachedResponseMetadata, getMetricStatistics, listMetrics, listMetrics, putMetricAlarm, setAlarmState
 
Methods inherited from class com.amazonaws.AmazonWebServiceClient
setEndpoint, shutdown
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.amazonaws.services.cloudwatch.AmazonCloudWatch
deleteAlarms, describeAlarmHistory, describeAlarmHistory, describeAlarms, describeAlarms, describeAlarmsForMetric, disableAlarmActions, enableAlarmActions, getCachedResponseMetadata, getMetricStatistics, listMetrics, listMetrics, putMetricAlarm, setAlarmState, setEndpoint, shutdown
 

Constructor Detail

AmazonCloudWatchAsyncClient

public AmazonCloudWatchAsyncClient(AWSCredentials awsCredentials)
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 default cached 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.

Parameters:
awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.

AmazonCloudWatchAsyncClient

public AmazonCloudWatchAsyncClient(AWSCredentials awsCredentials,
                                   ExecutorService executorService)
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.

Parameters:
awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
executorService - The executor service by which all asynchronous requests will be executed.

AmazonCloudWatchAsyncClient

public AmazonCloudWatchAsyncClient(AWSCredentials awsCredentials,
                                   ClientConfiguration clientConfiguration,
                                   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.

Parameters:
awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
clientConfiguration - Client configuration options (ex: max retry limit, proxy settings, etc).
executorService - The executor service by which all asynchronous requests will be executed.
Method Detail

getExecutorService

public ExecutorService getExecutorService()
Returns the executor service used by this async client to execute requests.

Returns:
The executor service used by this async client to execute requests.

putMetricAlarmAsync

public Future<Void> putMetricAlarmAsync(PutMetricAlarmRequest putMetricAlarmRequest)
                                 throws AmazonServiceException,
                                        AmazonClientException

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.

Specified by:
putMetricAlarmAsync in interface AmazonCloudWatchAsync
Parameters:
putMetricAlarmRequest - Container for the necessary parameters to execute the PutMetricAlarm operation on AmazonCloudWatch.
Returns:
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.
AmazonServiceException - If an error response is returned by AmazonCloudWatch indicating either a problem with the data in the request, or a server side issue.

listMetricsAsync

public Future<ListMetricsResult> listMetricsAsync(ListMetricsRequest listMetricsRequest)
                                           throws AmazonServiceException,
                                                  AmazonClientException

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.

Specified by:
listMetricsAsync in interface AmazonCloudWatchAsync
Parameters:
listMetricsRequest - Container for the necessary parameters to execute the ListMetrics operation on AmazonCloudWatch.
Returns:
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.
AmazonServiceException - If an error response is returned by AmazonCloudWatch indicating either a problem with the data in the request, or a server side issue.

getMetricStatisticsAsync

public Future<GetMetricStatisticsResult> getMetricStatisticsAsync(GetMetricStatisticsRequest getMetricStatisticsRequest)
                                                           throws AmazonServiceException,
                                                                  AmazonClientException

Gets statistics for the specified metric.

NOTE: The maximum number of datapoints returned from a single GetMetricStatistics request is 1,440. If a request is made that generates more than 1,440 datapoints, 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.

Specified by:
getMetricStatisticsAsync in interface AmazonCloudWatchAsync
Parameters:
getMetricStatisticsRequest - Container for the necessary parameters to execute the GetMetricStatistics operation on AmazonCloudWatch.
Returns:
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.
AmazonServiceException - If an error response is returned by AmazonCloudWatch indicating either a problem with the data in the request, or a server side issue.

disableAlarmActionsAsync

public Future<Void> disableAlarmActionsAsync(DisableAlarmActionsRequest disableAlarmActionsRequest)
                                      throws AmazonServiceException,
                                             AmazonClientException

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.

Specified by:
disableAlarmActionsAsync in interface AmazonCloudWatchAsync
Parameters:
disableAlarmActionsRequest - Container for the necessary parameters to execute the DisableAlarmActions operation on AmazonCloudWatch.
Returns:
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.
AmazonServiceException - If an error response is returned by AmazonCloudWatch indicating either a problem with the data in the request, or a server side issue.

describeAlarmsAsync

public Future<DescribeAlarmsResult> describeAlarmsAsync(DescribeAlarmsRequest describeAlarmsRequest)
                                                 throws AmazonServiceException,
                                                        AmazonClientException

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.

Specified by:
describeAlarmsAsync in interface AmazonCloudWatchAsync
Parameters:
describeAlarmsRequest - Container for the necessary parameters to execute the DescribeAlarms operation on AmazonCloudWatch.
Returns:
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.
AmazonServiceException - If an error response is returned by AmazonCloudWatch indicating either a problem with the data in the request, or a server side issue.

describeAlarmsForMetricAsync

public Future<DescribeAlarmsForMetricResult> describeAlarmsForMetricAsync(DescribeAlarmsForMetricRequest describeAlarmsForMetricRequest)
                                                                   throws AmazonServiceException,
                                                                          AmazonClientException

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

Specified by:
describeAlarmsForMetricAsync in interface AmazonCloudWatchAsync
Parameters:
describeAlarmsForMetricRequest - Container for the necessary parameters to execute the DescribeAlarmsForMetric operation on AmazonCloudWatch.
Returns:
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.
AmazonServiceException - If an error response is returned by AmazonCloudWatch indicating either a problem with the data in the request, or a server side issue.

describeAlarmHistoryAsync

public Future<DescribeAlarmHistoryResult> describeAlarmHistoryAsync(DescribeAlarmHistoryRequest describeAlarmHistoryRequest)
                                                             throws AmazonServiceException,
                                                                    AmazonClientException

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 deleted alarms for a period of six weeks. If an alarm has been deleted, its history can still be queried.

Specified by:
describeAlarmHistoryAsync in interface AmazonCloudWatchAsync
Parameters:
describeAlarmHistoryRequest - Container for the necessary parameters to execute the DescribeAlarmHistory operation on AmazonCloudWatch.
Returns:
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.
AmazonServiceException - If an error response is returned by AmazonCloudWatch indicating either a problem with the data in the request, or a server side issue.

enableAlarmActionsAsync

public Future<Void> enableAlarmActionsAsync(EnableAlarmActionsRequest enableAlarmActionsRequest)
                                     throws AmazonServiceException,
                                            AmazonClientException

Enables actions for the specified alarms.

Specified by:
enableAlarmActionsAsync in interface AmazonCloudWatchAsync
Parameters:
enableAlarmActionsRequest - Container for the necessary parameters to execute the EnableAlarmActions operation on AmazonCloudWatch.
Returns:
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.
AmazonServiceException - If an error response is returned by AmazonCloudWatch indicating either a problem with the data in the request, or a server side issue.

deleteAlarmsAsync

public Future<Void> deleteAlarmsAsync(DeleteAlarmsRequest deleteAlarmsRequest)
                               throws AmazonServiceException,
                                      AmazonClientException

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

Specified by:
deleteAlarmsAsync in interface AmazonCloudWatchAsync
Parameters:
deleteAlarmsRequest - Container for the necessary parameters to execute the DeleteAlarms operation on AmazonCloudWatch.
Returns:
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.
AmazonServiceException - If an error response is returned by AmazonCloudWatch indicating either a problem with the data in the request, or a server side issue.

setAlarmStateAsync

public Future<Void> setAlarmStateAsync(SetAlarmStateRequest setAlarmStateRequest)
                                throws AmazonServiceException,
                                       AmazonClientException

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.

Specified by:
setAlarmStateAsync in interface AmazonCloudWatchAsync
Parameters:
setAlarmStateRequest - Container for the necessary parameters to execute the SetAlarmState operation on AmazonCloudWatch.
Returns:
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.
AmazonServiceException - If an error response is returned by AmazonCloudWatch indicating either a problem with the data in the request, or a server side issue.


Copyright © 2010 Amazon Web Services, Inc. All Rights Reserved.