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

com.amazonaws.services.cloudwatch.AmazonCloudWatchClient Maven / Gradle / Ivy

There is a newer version: 2.20.1
Show 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 org.w3c.dom.*;

import java.net.*;
import java.util.*;
import java.util.Map.Entry;

import com.amazonaws.*;
import com.amazonaws.auth.*;
import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.metrics.*;
import com.amazonaws.regions.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.util.AWSRequestMetrics.Field;

import com.amazonaws.services.cloudwatch.model.*;
import com.amazonaws.services.cloudwatch.model.transform.*;

/**
 * Client for accessing AmazonCloudWatch.  All service calls made
 * using this client are blocking, and will not return until the service call
 * completes.
 * 

* 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 AmazonCloudWatchClient extends AmazonWebServiceClient implements AmazonCloudWatch { /** Provider for AWS credentials. */ private AWSCredentialsProvider awsCredentialsProvider; /** * List of exception unmarshallers for all AmazonCloudWatch exceptions. */ protected final List> exceptionUnmarshallers = new ArrayList>(); /** * Constructs a new 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 AmazonCloudWatchClient() { this(new DefaultAWSCredentialsProviderChain(), new ClientConfiguration()); } /** * Constructs a new 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 AmazonCloudWatchClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration); } /** * Constructs a new client to invoke service methods on * AmazonCloudWatch using the specified AWS account credentials. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentials The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. */ public AmazonCloudWatchClient(AWSCredentials awsCredentials) { this(awsCredentials, new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on * AmazonCloudWatch using the specified AWS account credentials * and client configuration options. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentials The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. * @param clientConfiguration The client configuration options controlling how this * client connects to AmazonCloudWatch * (ex: proxy settings, retry counts, etc.). */ public AmazonCloudWatchClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials); init(); } /** * Constructs a new client to invoke service methods on * AmazonCloudWatch using the specified AWS account credentials provider. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. */ public AmazonCloudWatchClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on * AmazonCloudWatch using the specified AWS account credentials * provider and client configuration options. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration The client configuration options controlling how this * client connects to AmazonCloudWatch * (ex: proxy settings, retry counts, etc.). */ public AmazonCloudWatchClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on * AmazonCloudWatch using the specified AWS account credentials * provider, client configuration options, and request metric collector. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration The client configuration options controlling how this * client connects to AmazonCloudWatch * (ex: proxy settings, retry counts, etc.). * @param requestMetricCollector optional request metric collector */ public AmazonCloudWatchClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; init(); } private void init() { exceptionUnmarshallers.add(new InvalidNextTokenExceptionUnmarshaller()); exceptionUnmarshallers.add(new InvalidParameterCombinationExceptionUnmarshaller()); exceptionUnmarshallers.add(new InvalidFormatExceptionUnmarshaller()); exceptionUnmarshallers.add(new LimitExceededExceptionUnmarshaller()); exceptionUnmarshallers.add(new InternalServiceExceptionUnmarshaller()); exceptionUnmarshallers.add(new ResourceNotFoundExceptionUnmarshaller()); exceptionUnmarshallers.add(new MissingRequiredParameterExceptionUnmarshaller()); exceptionUnmarshallers.add(new InvalidParameterValueExceptionUnmarshaller()); exceptionUnmarshallers.add(new StandardErrorUnmarshaller()); // calling this.setEndPoint(...) will also modify the signer accordingly this.setEndpoint("monitoring.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain( "/com/amazonaws/services/cloudwatch/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain( "/com/amazonaws/services/cloudwatch/request.handler2s")); } /** *

* 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 service method on AmazonCloudWatch. * * * @throws LimitExceededException * * @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 void putMetricAlarm(PutMetricAlarmRequest putMetricAlarmRequest) { ExecutionContext executionContext = createExecutionContext(putMetricAlarmRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); Request request = null; awsRequestMetrics.startEvent(Field.ClientExecuteTime); try { request = new PutMetricAlarmRequestMarshaller().marshall(putMetricAlarmRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); invoke(request, null, executionContext); } finally { endClientExecution(awsRequestMetrics, request, 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 service method on AmazonCloudWatch. * * * @throws InvalidParameterValueException * @throws InternalServiceException * @throws InvalidParameterCombinationException * @throws MissingRequiredParameterException * * @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 void putMetricData(PutMetricDataRequest putMetricDataRequest) { ExecutionContext executionContext = createExecutionContext(putMetricDataRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); Request request = null; awsRequestMetrics.startEvent(Field.ClientExecuteTime); try { request = new PutMetricDataRequestMarshaller().marshall(putMetricDataRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); invoke(request, null, executionContext); } finally { endClientExecution(awsRequestMetrics, request, 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 service method on AmazonCloudWatch. * * @return The response from the ListMetrics service method, as returned * by AmazonCloudWatch. * * @throws InternalServiceException * @throws InvalidParameterValueException * * @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 ListMetricsResult listMetrics(ListMetricsRequest listMetricsRequest) { ExecutionContext executionContext = createExecutionContext(listMetricsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); Request request = null; Response response = null; awsRequestMetrics.startEvent(Field.ClientExecuteTime); try { request = new ListMetricsRequestMarshaller().marshall(listMetricsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new ListMetricsResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 service method on * AmazonCloudWatch. * * @return The response from the GetMetricStatistics service method, as * returned by AmazonCloudWatch. * * @throws InvalidParameterValueException * @throws InternalServiceException * @throws InvalidParameterCombinationException * @throws MissingRequiredParameterException * * @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 GetMetricStatisticsResult getMetricStatistics(GetMetricStatisticsRequest getMetricStatisticsRequest) { ExecutionContext executionContext = createExecutionContext(getMetricStatisticsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); Request request = null; Response response = null; awsRequestMetrics.startEvent(Field.ClientExecuteTime); try { request = new GetMetricStatisticsRequestMarshaller().marshall(getMetricStatisticsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new GetMetricStatisticsResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 service method on * 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 void disableAlarmActions(DisableAlarmActionsRequest disableAlarmActionsRequest) { ExecutionContext executionContext = createExecutionContext(disableAlarmActionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); Request request = null; awsRequestMetrics.startEvent(Field.ClientExecuteTime); try { request = new DisableAlarmActionsRequestMarshaller().marshall(disableAlarmActionsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); invoke(request, null, executionContext); } finally { endClientExecution(awsRequestMetrics, request, 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 service method on AmazonCloudWatch. * * @return The response from the DescribeAlarms service method, as * returned by AmazonCloudWatch. * * @throws InvalidNextTokenException * * @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 DescribeAlarmsResult describeAlarms(DescribeAlarmsRequest describeAlarmsRequest) { ExecutionContext executionContext = createExecutionContext(describeAlarmsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); Request request = null; Response response = null; awsRequestMetrics.startEvent(Field.ClientExecuteTime); try { request = new DescribeAlarmsRequestMarshaller().marshall(describeAlarmsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new DescribeAlarmsResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 service method on * AmazonCloudWatch. * * @return 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 DescribeAlarmsForMetricResult describeAlarmsForMetric(DescribeAlarmsForMetricRequest describeAlarmsForMetricRequest) { ExecutionContext executionContext = createExecutionContext(describeAlarmsForMetricRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); Request request = null; Response response = null; awsRequestMetrics.startEvent(Field.ClientExecuteTime); try { request = new DescribeAlarmsForMetricRequestMarshaller().marshall(describeAlarmsForMetricRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new DescribeAlarmsForMetricResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 service method on * AmazonCloudWatch. * * @return The response from the DescribeAlarmHistory service method, as * returned by AmazonCloudWatch. * * @throws InvalidNextTokenException * * @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 DescribeAlarmHistoryResult describeAlarmHistory(DescribeAlarmHistoryRequest describeAlarmHistoryRequest) { ExecutionContext executionContext = createExecutionContext(describeAlarmHistoryRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); Request request = null; Response response = null; awsRequestMetrics.startEvent(Field.ClientExecuteTime); try { request = new DescribeAlarmHistoryRequestMarshaller().marshall(describeAlarmHistoryRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new DescribeAlarmHistoryResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Enables actions for the specified alarms. *

* * @param enableAlarmActionsRequest Container for the necessary * parameters to execute the EnableAlarmActions service method on * 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 void enableAlarmActions(EnableAlarmActionsRequest enableAlarmActionsRequest) { ExecutionContext executionContext = createExecutionContext(enableAlarmActionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); Request request = null; awsRequestMetrics.startEvent(Field.ClientExecuteTime); try { request = new EnableAlarmActionsRequestMarshaller().marshall(enableAlarmActionsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); invoke(request, null, executionContext); } finally { endClientExecution(awsRequestMetrics, request, 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 service method on AmazonCloudWatch. * * * @throws ResourceNotFoundException * * @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 void deleteAlarms(DeleteAlarmsRequest deleteAlarmsRequest) { ExecutionContext executionContext = createExecutionContext(deleteAlarmsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); Request request = null; awsRequestMetrics.startEvent(Field.ClientExecuteTime); try { request = new DeleteAlarmsRequestMarshaller().marshall(deleteAlarmsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); invoke(request, null, executionContext); } finally { endClientExecution(awsRequestMetrics, request, 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 service method on AmazonCloudWatch. * * * @throws ResourceNotFoundException * @throws InvalidFormatException * * @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 void setAlarmState(SetAlarmStateRequest setAlarmStateRequest) { ExecutionContext executionContext = createExecutionContext(setAlarmStateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); Request request = null; awsRequestMetrics.startEvent(Field.ClientExecuteTime); try { request = new SetAlarmStateRequestMarshaller().marshall(setAlarmStateRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); invoke(request, null, executionContext); } finally { endClientExecution(awsRequestMetrics, request, 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. *

* * @return The response from the ListMetrics service method, as returned * by AmazonCloudWatch. * * @throws InternalServiceException * @throws InvalidParameterValueException * * @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 ListMetricsResult listMetrics() throws AmazonServiceException, AmazonClientException { return listMetrics(new ListMetricsRequest()); } /** *

* 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. *

* * @return The response from the DescribeAlarms service method, as * returned by AmazonCloudWatch. * * @throws InvalidNextTokenException * * @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 DescribeAlarmsResult describeAlarms() throws AmazonServiceException, AmazonClientException { return describeAlarms(new DescribeAlarmsRequest()); } /** *

* 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. *

* * @return The response from the DescribeAlarmHistory service method, as * returned by AmazonCloudWatch. * * @throws InvalidNextTokenException * * @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 DescribeAlarmHistoryResult describeAlarmHistory() throws AmazonServiceException, AmazonClientException { return describeAlarmHistory(new DescribeAlarmHistoryRequest()); } /** * Returns additional metadata for a previously executed successful, request, typically used for * debugging issues where a service isn't acting as expected. This data isn't considered part * of the result data returned by an operation, so it's available through this separate, * diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access * this extra diagnostic information for an executed request, you should use this method * to retrieve it as soon as possible after executing the request. * * @param request * The originally executed request * * @return The response metadata for the specified request, or null if none * is available. */ public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) { return client.getResponseMetadataForRequest(request); } private Response invoke(Request request, Unmarshaller unmarshaller, ExecutionContext executionContext) { request.setEndpoint(endpoint); request.setTimeOffset(timeOffset); AmazonWebServiceRequest originalRequest = request.getOriginalRequest(); for (Entry entry : originalRequest.copyPrivateRequestParameters().entrySet()) { request.addParameter(entry.getKey(), entry.getValue()); } AWSCredentials credentials = awsCredentialsProvider.getCredentials(); if (originalRequest.getRequestCredentials() != null) { credentials = originalRequest.getRequestCredentials(); } executionContext.setCredentials(credentials); StaxResponseHandler responseHandler = new StaxResponseHandler(unmarshaller); DefaultErrorResponseHandler errorResponseHandler = new DefaultErrorResponseHandler(exceptionUnmarshallers); return client.execute(request, responseHandler, errorResponseHandler, executionContext); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy