main.java.com.amazonaws.services.cloudwatch.AmazonCloudWatchAsyncClient Maven / Gradle / Ivy
Show all versions of aws-android-sdk-s3 Show documentation
/*
* 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;
}
});
}
}