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

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

Go to download

The Amazon Web Services SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

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

import 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 - 2025 Weber Informatics LLC | Privacy Policy