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

software.amazon.awssdk.services.cloudwatchlogs.DefaultCloudWatchLogsClient Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon CloudWatch Logs module holds the client classes that are used for communicating with Amazon CloudWatch Logs Service

There is a newer version: 2.29.39
Show newest version
/*
 * Copyright 2014-2019 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 software.amazon.awssdk.services.cloudwatchlogs;

import java.util.function.Consumer;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkInternalApi;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
import software.amazon.awssdk.core.ApiName;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
import software.amazon.awssdk.core.client.handler.ClientExecutionParams;
import software.amazon.awssdk.core.client.handler.SyncClientHandler;
import software.amazon.awssdk.core.exception.SdkClientException;
import software.amazon.awssdk.core.http.HttpResponseHandler;
import software.amazon.awssdk.core.util.VersionInfo;
import software.amazon.awssdk.protocols.core.ExceptionMetadata;
import software.amazon.awssdk.protocols.json.AwsJsonProtocol;
import software.amazon.awssdk.protocols.json.AwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.BaseAwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.JsonOperationMetadata;
import software.amazon.awssdk.services.cloudwatchlogs.model.AssociateKmsKeyRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.AssociateKmsKeyResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.CancelExportTaskRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.CancelExportTaskResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.CloudWatchLogsException;
import software.amazon.awssdk.services.cloudwatchlogs.model.CloudWatchLogsRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.CreateExportTaskRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.CreateExportTaskResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.CreateLogGroupRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.CreateLogGroupResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.CreateLogStreamRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.CreateLogStreamResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DataAlreadyAcceptedException;
import software.amazon.awssdk.services.cloudwatchlogs.model.DeleteDestinationRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DeleteDestinationResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DeleteLogGroupRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DeleteLogGroupResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DeleteLogStreamRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DeleteLogStreamResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DeleteMetricFilterRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DeleteMetricFilterResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DeleteResourcePolicyRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DeleteResourcePolicyResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DeleteRetentionPolicyRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DeleteRetentionPolicyResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DeleteSubscriptionFilterRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DeleteSubscriptionFilterResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeDestinationsRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeDestinationsResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeExportTasksRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeExportTasksResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeLogGroupsRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeLogGroupsResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeLogStreamsRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeLogStreamsResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeMetricFiltersRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeMetricFiltersResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeQueriesRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeQueriesResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeResourcePoliciesRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeResourcePoliciesResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeSubscriptionFiltersRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeSubscriptionFiltersResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.DisassociateKmsKeyRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DisassociateKmsKeyResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.FilterLogEventsRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.FilterLogEventsResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.GetLogEventsRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.GetLogEventsResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.GetLogGroupFieldsRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.GetLogGroupFieldsResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.GetLogRecordRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.GetLogRecordResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.GetQueryResultsRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.GetQueryResultsResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.InvalidOperationException;
import software.amazon.awssdk.services.cloudwatchlogs.model.InvalidParameterException;
import software.amazon.awssdk.services.cloudwatchlogs.model.InvalidSequenceTokenException;
import software.amazon.awssdk.services.cloudwatchlogs.model.LimitExceededException;
import software.amazon.awssdk.services.cloudwatchlogs.model.ListTagsLogGroupRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.ListTagsLogGroupResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.MalformedQueryException;
import software.amazon.awssdk.services.cloudwatchlogs.model.OperationAbortedException;
import software.amazon.awssdk.services.cloudwatchlogs.model.PutDestinationPolicyRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.PutDestinationPolicyResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.PutDestinationRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.PutDestinationResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.PutLogEventsRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.PutLogEventsResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.PutMetricFilterRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.PutMetricFilterResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.PutResourcePolicyRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.PutResourcePolicyResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.PutRetentionPolicyRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.PutRetentionPolicyResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.PutSubscriptionFilterRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.PutSubscriptionFilterResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.ResourceAlreadyExistsException;
import software.amazon.awssdk.services.cloudwatchlogs.model.ResourceNotFoundException;
import software.amazon.awssdk.services.cloudwatchlogs.model.ServiceUnavailableException;
import software.amazon.awssdk.services.cloudwatchlogs.model.StartQueryRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.StartQueryResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.StopQueryRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.StopQueryResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.TagLogGroupRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.TagLogGroupResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.TestMetricFilterRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.TestMetricFilterResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.UnrecognizedClientException;
import software.amazon.awssdk.services.cloudwatchlogs.model.UntagLogGroupRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.UntagLogGroupResponse;
import software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeDestinationsIterable;
import software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeLogGroupsIterable;
import software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeLogStreamsIterable;
import software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeMetricFiltersIterable;
import software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeSubscriptionFiltersIterable;
import software.amazon.awssdk.services.cloudwatchlogs.paginators.FilterLogEventsIterable;
import software.amazon.awssdk.services.cloudwatchlogs.paginators.GetLogEventsIterable;
import software.amazon.awssdk.services.cloudwatchlogs.transform.AssociateKmsKeyRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.CancelExportTaskRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.CreateExportTaskRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.CreateLogGroupRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.CreateLogStreamRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DeleteDestinationRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DeleteLogGroupRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DeleteLogStreamRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DeleteMetricFilterRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DeleteResourcePolicyRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DeleteRetentionPolicyRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DeleteSubscriptionFilterRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DescribeDestinationsRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DescribeExportTasksRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DescribeLogGroupsRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DescribeLogStreamsRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DescribeMetricFiltersRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DescribeQueriesRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DescribeResourcePoliciesRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DescribeSubscriptionFiltersRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.DisassociateKmsKeyRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.FilterLogEventsRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.GetLogEventsRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.GetLogGroupFieldsRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.GetLogRecordRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.GetQueryResultsRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.ListTagsLogGroupRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.PutDestinationPolicyRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.PutDestinationRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.PutLogEventsRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.PutMetricFilterRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.PutResourcePolicyRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.PutRetentionPolicyRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.PutSubscriptionFilterRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.StartQueryRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.StopQueryRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.TagLogGroupRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.TestMetricFilterRequestMarshaller;
import software.amazon.awssdk.services.cloudwatchlogs.transform.UntagLogGroupRequestMarshaller;

/**
 * Internal implementation of {@link CloudWatchLogsClient}.
 *
 * @see CloudWatchLogsClient#builder()
 */
@Generated("software.amazon.awssdk:codegen")
@SdkInternalApi
final class DefaultCloudWatchLogsClient implements CloudWatchLogsClient {
    private final SyncClientHandler clientHandler;

    private final AwsJsonProtocolFactory protocolFactory;

    private final SdkClientConfiguration clientConfiguration;

    protected DefaultCloudWatchLogsClient(SdkClientConfiguration clientConfiguration) {
        this.clientHandler = new AwsSyncClientHandler(clientConfiguration);
        this.clientConfiguration = clientConfiguration;
        this.protocolFactory = init(AwsJsonProtocolFactory.builder()).build();
    }

    @Override
    public final String serviceName() {
        return SERVICE_NAME;
    }

    /**
     * 

* Associates the specified AWS Key Management Service (AWS KMS) customer master key (CMK) with the specified log * group. *

*

* Associating an AWS KMS CMK with a log group overrides any existing associations between the log group and a CMK. * After a CMK is associated with a log group, all newly ingested data for the log group is encrypted using the CMK. * This association is stored as long as the data encrypted with the CMK is still within Amazon CloudWatch Logs. * This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested. *

*

* Note that it can take up to 5 minutes for this operation to take effect. *

*

* If you attempt to associate a CMK with a log group but the CMK does not exist or the CMK is disabled, you will * receive an InvalidParameterException error. *

* * @param associateKmsKeyRequest * @return Result of the AssociateKmsKey operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws OperationAbortedException * Multiple requests to update the same resource were in conflict. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.AssociateKmsKey * @see AWS API * Documentation */ @Override public AssociateKmsKeyResponse associateKmsKey(AssociateKmsKeyRequest associateKmsKeyRequest) throws InvalidParameterException, ResourceNotFoundException, OperationAbortedException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, AssociateKmsKeyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("AssociateKmsKey").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(associateKmsKeyRequest) .withMarshaller(new AssociateKmsKeyRequestMarshaller(protocolFactory))); } /** *

* Cancels the specified export task. *

*

* The task must be in the PENDING or RUNNING state. *

* * @param cancelExportTaskRequest * @return Result of the CancelExportTask operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidOperationException * The operation is not valid on the specified resource. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.CancelExportTask * @see AWS API * Documentation */ @Override public CancelExportTaskResponse cancelExportTask(CancelExportTaskRequest cancelExportTaskRequest) throws InvalidParameterException, ResourceNotFoundException, InvalidOperationException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CancelExportTaskResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CancelExportTask").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(cancelExportTaskRequest) .withMarshaller(new CancelExportTaskRequestMarshaller(protocolFactory))); } /** *

* Creates an export task, which allows you to efficiently export data from a log group to an Amazon S3 bucket. *

*

* This is an asynchronous call. If all the required information is provided, this operation initiates an export * task and responds with the ID of the task. After the task has started, you can use DescribeExportTasks to * get the status of the export task. Each account can only have one active (RUNNING or * PENDING) export task at a time. To cancel an export task, use CancelExportTask. *

*

* You can export logs from multiple log groups or multiple time ranges to the same S3 bucket. To separate out log * data for each export task, you can specify a prefix to be used as the Amazon S3 key prefix for all exported * objects. *

* * @param createExportTaskRequest * @return Result of the CreateExportTask operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws LimitExceededException * You have reached the maximum number of resources that can be created. * @throws OperationAbortedException * Multiple requests to update the same resource were in conflict. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ResourceAlreadyExistsException * The specified resource already exists. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.CreateExportTask * @see AWS API * Documentation */ @Override public CreateExportTaskResponse createExportTask(CreateExportTaskRequest createExportTaskRequest) throws InvalidParameterException, LimitExceededException, OperationAbortedException, ServiceUnavailableException, ResourceNotFoundException, ResourceAlreadyExistsException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateExportTaskResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateExportTask").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createExportTaskRequest) .withMarshaller(new CreateExportTaskRequestMarshaller(protocolFactory))); } /** *

* Creates a log group with the specified name. *

*

* You can create up to 5000 log groups per account. *

*

* You must use the following guidelines when naming a log group: *

*
    *
  • *

    * Log group names must be unique within a region for an AWS account. *

    *
  • *
  • *

    * Log group names can be between 1 and 512 characters long. *

    *
  • *
  • *

    * Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward * slash), and '.' (period). *

    *
  • *
*

* If you associate a AWS Key Management Service (AWS KMS) customer master key (CMK) with the log group, ingested * data is encrypted using the CMK. This association is stored as long as the data encrypted with the CMK is still * within Amazon CloudWatch Logs. This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested. *

*

* If you attempt to associate a CMK with the log group but the CMK does not exist or the CMK is disabled, you will * receive an InvalidParameterException error. *

* * @param createLogGroupRequest * @return Result of the CreateLogGroup operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceAlreadyExistsException * The specified resource already exists. * @throws LimitExceededException * You have reached the maximum number of resources that can be created. * @throws OperationAbortedException * Multiple requests to update the same resource were in conflict. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.CreateLogGroup * @see AWS API * Documentation */ @Override public CreateLogGroupResponse createLogGroup(CreateLogGroupRequest createLogGroupRequest) throws InvalidParameterException, ResourceAlreadyExistsException, LimitExceededException, OperationAbortedException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateLogGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateLogGroup").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createLogGroupRequest) .withMarshaller(new CreateLogGroupRequestMarshaller(protocolFactory))); } /** *

* Creates a log stream for the specified log group. *

*

* There is no limit on the number of log streams that you can create for a log group. *

*

* You must use the following guidelines when naming a log stream: *

*
    *
  • *

    * Log stream names must be unique within the log group. *

    *
  • *
  • *

    * Log stream names can be between 1 and 512 characters long. *

    *
  • *
  • *

    * The ':' (colon) and '*' (asterisk) characters are not allowed. *

    *
  • *
* * @param createLogStreamRequest * @return Result of the CreateLogStream operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceAlreadyExistsException * The specified resource already exists. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.CreateLogStream * @see AWS API * Documentation */ @Override public CreateLogStreamResponse createLogStream(CreateLogStreamRequest createLogStreamRequest) throws InvalidParameterException, ResourceAlreadyExistsException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateLogStreamResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateLogStream").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createLogStreamRequest) .withMarshaller(new CreateLogStreamRequestMarshaller(protocolFactory))); } /** *

* Deletes the specified destination, and eventually disables all the subscription filters that publish to it. This * operation does not delete the physical resource encapsulated by the destination. *

* * @param deleteDestinationRequest * @return Result of the DeleteDestination operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws OperationAbortedException * Multiple requests to update the same resource were in conflict. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DeleteDestination * @see AWS API * Documentation */ @Override public DeleteDestinationResponse deleteDestination(DeleteDestinationRequest deleteDestinationRequest) throws InvalidParameterException, ResourceNotFoundException, OperationAbortedException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteDestinationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteDestination").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteDestinationRequest) .withMarshaller(new DeleteDestinationRequestMarshaller(protocolFactory))); } /** *

* Deletes the specified log group and permanently deletes all the archived log events associated with the log * group. *

* * @param deleteLogGroupRequest * @return Result of the DeleteLogGroup operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws OperationAbortedException * Multiple requests to update the same resource were in conflict. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DeleteLogGroup * @see AWS API * Documentation */ @Override public DeleteLogGroupResponse deleteLogGroup(DeleteLogGroupRequest deleteLogGroupRequest) throws InvalidParameterException, ResourceNotFoundException, OperationAbortedException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteLogGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteLogGroup").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteLogGroupRequest) .withMarshaller(new DeleteLogGroupRequestMarshaller(protocolFactory))); } /** *

* Deletes the specified log stream and permanently deletes all the archived log events associated with the log * stream. *

* * @param deleteLogStreamRequest * @return Result of the DeleteLogStream operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws OperationAbortedException * Multiple requests to update the same resource were in conflict. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DeleteLogStream * @see AWS API * Documentation */ @Override public DeleteLogStreamResponse deleteLogStream(DeleteLogStreamRequest deleteLogStreamRequest) throws InvalidParameterException, ResourceNotFoundException, OperationAbortedException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteLogStreamResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteLogStream").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteLogStreamRequest) .withMarshaller(new DeleteLogStreamRequestMarshaller(protocolFactory))); } /** *

* Deletes the specified metric filter. *

* * @param deleteMetricFilterRequest * @return Result of the DeleteMetricFilter operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws OperationAbortedException * Multiple requests to update the same resource were in conflict. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DeleteMetricFilter * @see AWS API * Documentation */ @Override public DeleteMetricFilterResponse deleteMetricFilter(DeleteMetricFilterRequest deleteMetricFilterRequest) throws InvalidParameterException, ResourceNotFoundException, OperationAbortedException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteMetricFilterResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteMetricFilter").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteMetricFilterRequest) .withMarshaller(new DeleteMetricFilterRequestMarshaller(protocolFactory))); } /** *

* Deletes a resource policy from this account. This revokes the access of the identities in that policy to put log * events to this account. *

* * @param deleteResourcePolicyRequest * @return Result of the DeleteResourcePolicy operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DeleteResourcePolicy * @see AWS API * Documentation */ @Override public DeleteResourcePolicyResponse deleteResourcePolicy(DeleteResourcePolicyRequest deleteResourcePolicyRequest) throws InvalidParameterException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteResourcePolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteResourcePolicy").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteResourcePolicyRequest) .withMarshaller(new DeleteResourcePolicyRequestMarshaller(protocolFactory))); } /** *

* Deletes the specified retention policy. *

*

* Log events do not expire if they belong to log groups without a retention policy. *

* * @param deleteRetentionPolicyRequest * @return Result of the DeleteRetentionPolicy operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws OperationAbortedException * Multiple requests to update the same resource were in conflict. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DeleteRetentionPolicy * @see AWS API * Documentation */ @Override public DeleteRetentionPolicyResponse deleteRetentionPolicy(DeleteRetentionPolicyRequest deleteRetentionPolicyRequest) throws InvalidParameterException, ResourceNotFoundException, OperationAbortedException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteRetentionPolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteRetentionPolicy").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteRetentionPolicyRequest) .withMarshaller(new DeleteRetentionPolicyRequestMarshaller(protocolFactory))); } /** *

* Deletes the specified subscription filter. *

* * @param deleteSubscriptionFilterRequest * @return Result of the DeleteSubscriptionFilter operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws OperationAbortedException * Multiple requests to update the same resource were in conflict. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DeleteSubscriptionFilter * @see AWS * API Documentation */ @Override public DeleteSubscriptionFilterResponse deleteSubscriptionFilter( DeleteSubscriptionFilterRequest deleteSubscriptionFilterRequest) throws InvalidParameterException, ResourceNotFoundException, OperationAbortedException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteSubscriptionFilterResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteSubscriptionFilter").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteSubscriptionFilterRequest) .withMarshaller(new DeleteSubscriptionFilterRequestMarshaller(protocolFactory))); } /** *

* Lists all your destinations. The results are ASCII-sorted by destination name. *

* * @param describeDestinationsRequest * @return Result of the DescribeDestinations operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DescribeDestinations * @see AWS API * Documentation */ @Override public DescribeDestinationsResponse describeDestinations(DescribeDestinationsRequest describeDestinationsRequest) throws InvalidParameterException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeDestinationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeDestinations").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeDestinationsRequest) .withMarshaller(new DescribeDestinationsRequestMarshaller(protocolFactory))); } /** *

* Lists all your destinations. The results are ASCII-sorted by destination name. *

*
*

* This is a variant of * {@link #describeDestinations(software.amazon.awssdk.services.cloudwatchlogs.model.DescribeDestinationsRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeDestinationsIterable responses = client.describeDestinationsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeDestinationsIterable responses = client
     *             .describeDestinationsPaginator(request);
     *     for (software.amazon.awssdk.services.cloudwatchlogs.model.DescribeDestinationsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeDestinationsIterable responses = client.describeDestinationsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #describeDestinations(software.amazon.awssdk.services.cloudwatchlogs.model.DescribeDestinationsRequest)} * operation. *

* * @param describeDestinationsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DescribeDestinations * @see AWS API * Documentation */ @Override public DescribeDestinationsIterable describeDestinationsPaginator(DescribeDestinationsRequest describeDestinationsRequest) throws InvalidParameterException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { return new DescribeDestinationsIterable(this, applyPaginatorUserAgent(describeDestinationsRequest)); } /** *

* Lists the specified export tasks. You can list all your export tasks or filter the results based on task ID or * task status. *

* * @param describeExportTasksRequest * @return Result of the DescribeExportTasks operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DescribeExportTasks * @see AWS API * Documentation */ @Override public DescribeExportTasksResponse describeExportTasks(DescribeExportTasksRequest describeExportTasksRequest) throws InvalidParameterException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeExportTasksResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeExportTasks").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeExportTasksRequest) .withMarshaller(new DescribeExportTasksRequestMarshaller(protocolFactory))); } /** *

* Lists the specified log groups. You can list all your log groups or filter the results by prefix. The results are * ASCII-sorted by log group name. *

* * @param describeLogGroupsRequest * @return Result of the DescribeLogGroups operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DescribeLogGroups * @see AWS API * Documentation */ @Override public DescribeLogGroupsResponse describeLogGroups(DescribeLogGroupsRequest describeLogGroupsRequest) throws InvalidParameterException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DescribeLogGroupsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeLogGroups").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeLogGroupsRequest) .withMarshaller(new DescribeLogGroupsRequestMarshaller(protocolFactory))); } /** *

* Lists the specified log groups. You can list all your log groups or filter the results by prefix. The results are * ASCII-sorted by log group name. *

*
*

* This is a variant of * {@link #describeLogGroups(software.amazon.awssdk.services.cloudwatchlogs.model.DescribeLogGroupsRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeLogGroupsIterable responses = client.describeLogGroupsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeLogGroupsIterable responses = client
     *             .describeLogGroupsPaginator(request);
     *     for (software.amazon.awssdk.services.cloudwatchlogs.model.DescribeLogGroupsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeLogGroupsIterable responses = client.describeLogGroupsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #describeLogGroups(software.amazon.awssdk.services.cloudwatchlogs.model.DescribeLogGroupsRequest)} * operation. *

* * @param describeLogGroupsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DescribeLogGroups * @see AWS API * Documentation */ @Override public DescribeLogGroupsIterable describeLogGroupsPaginator(DescribeLogGroupsRequest describeLogGroupsRequest) throws InvalidParameterException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { return new DescribeLogGroupsIterable(this, applyPaginatorUserAgent(describeLogGroupsRequest)); } /** *

* Lists the log streams for the specified log group. You can list all the log streams or filter the results by * prefix. You can also control how the results are ordered. *

*

* This operation has a limit of five transactions per second, after which transactions are throttled. *

* * @param describeLogStreamsRequest * @return Result of the DescribeLogStreams operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DescribeLogStreams * @see AWS API * Documentation */ @Override public DescribeLogStreamsResponse describeLogStreams(DescribeLogStreamsRequest describeLogStreamsRequest) throws InvalidParameterException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeLogStreamsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeLogStreams").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeLogStreamsRequest) .withMarshaller(new DescribeLogStreamsRequestMarshaller(protocolFactory))); } /** *

* Lists the log streams for the specified log group. You can list all the log streams or filter the results by * prefix. You can also control how the results are ordered. *

*

* This operation has a limit of five transactions per second, after which transactions are throttled. *

*
*

* This is a variant of * {@link #describeLogStreams(software.amazon.awssdk.services.cloudwatchlogs.model.DescribeLogStreamsRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeLogStreamsIterable responses = client.describeLogStreamsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeLogStreamsIterable responses = client
     *             .describeLogStreamsPaginator(request);
     *     for (software.amazon.awssdk.services.cloudwatchlogs.model.DescribeLogStreamsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeLogStreamsIterable responses = client.describeLogStreamsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #describeLogStreams(software.amazon.awssdk.services.cloudwatchlogs.model.DescribeLogStreamsRequest)} * operation. *

* * @param describeLogStreamsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DescribeLogStreams * @see AWS API * Documentation */ @Override public DescribeLogStreamsIterable describeLogStreamsPaginator(DescribeLogStreamsRequest describeLogStreamsRequest) throws InvalidParameterException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { return new DescribeLogStreamsIterable(this, applyPaginatorUserAgent(describeLogStreamsRequest)); } /** *

* Lists the specified metric filters. You can list all the metric filters or filter the results by log name, * prefix, metric name, or metric namespace. The results are ASCII-sorted by filter name. *

* * @param describeMetricFiltersRequest * @return Result of the DescribeMetricFilters operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DescribeMetricFilters * @see AWS API * Documentation */ @Override public DescribeMetricFiltersResponse describeMetricFilters(DescribeMetricFiltersRequest describeMetricFiltersRequest) throws InvalidParameterException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeMetricFiltersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeMetricFilters").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeMetricFiltersRequest) .withMarshaller(new DescribeMetricFiltersRequestMarshaller(protocolFactory))); } /** *

* Lists the specified metric filters. You can list all the metric filters or filter the results by log name, * prefix, metric name, or metric namespace. The results are ASCII-sorted by filter name. *

*
*

* This is a variant of * {@link #describeMetricFilters(software.amazon.awssdk.services.cloudwatchlogs.model.DescribeMetricFiltersRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeMetricFiltersIterable responses = client.describeMetricFiltersPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeMetricFiltersIterable responses = client
     *             .describeMetricFiltersPaginator(request);
     *     for (software.amazon.awssdk.services.cloudwatchlogs.model.DescribeMetricFiltersResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeMetricFiltersIterable responses = client.describeMetricFiltersPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #describeMetricFilters(software.amazon.awssdk.services.cloudwatchlogs.model.DescribeMetricFiltersRequest)} * operation. *

* * @param describeMetricFiltersRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DescribeMetricFilters * @see AWS API * Documentation */ @Override public DescribeMetricFiltersIterable describeMetricFiltersPaginator(DescribeMetricFiltersRequest describeMetricFiltersRequest) throws InvalidParameterException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { return new DescribeMetricFiltersIterable(this, applyPaginatorUserAgent(describeMetricFiltersRequest)); } /** *

* Returns a list of CloudWatch Logs Insights queries that are scheduled, executing, or have been executed recently * in this account. You can request all queries, or limit it to queries of a specific log group or queries with a * certain status. *

* * @param describeQueriesRequest * @return Result of the DescribeQueries operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DescribeQueries * @see AWS API * Documentation */ @Override public DescribeQueriesResponse describeQueries(DescribeQueriesRequest describeQueriesRequest) throws InvalidParameterException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DescribeQueriesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeQueries").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeQueriesRequest) .withMarshaller(new DescribeQueriesRequestMarshaller(protocolFactory))); } /** *

* Lists the resource policies in this account. *

* * @param describeResourcePoliciesRequest * @return Result of the DescribeResourcePolicies operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DescribeResourcePolicies * @see AWS * API Documentation */ @Override public DescribeResourcePoliciesResponse describeResourcePolicies( DescribeResourcePoliciesRequest describeResourcePoliciesRequest) throws InvalidParameterException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeResourcePoliciesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeResourcePolicies").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeResourcePoliciesRequest) .withMarshaller(new DescribeResourcePoliciesRequestMarshaller(protocolFactory))); } /** *

* Lists the subscription filters for the specified log group. You can list all the subscription filters or filter * the results by prefix. The results are ASCII-sorted by filter name. *

* * @param describeSubscriptionFiltersRequest * @return Result of the DescribeSubscriptionFilters operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DescribeSubscriptionFilters * @see AWS API Documentation */ @Override public DescribeSubscriptionFiltersResponse describeSubscriptionFilters( DescribeSubscriptionFiltersRequest describeSubscriptionFiltersRequest) throws InvalidParameterException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeSubscriptionFiltersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeSubscriptionFilters").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeSubscriptionFiltersRequest) .withMarshaller(new DescribeSubscriptionFiltersRequestMarshaller(protocolFactory))); } /** *

* Lists the subscription filters for the specified log group. You can list all the subscription filters or filter * the results by prefix. The results are ASCII-sorted by filter name. *

*
*

* This is a variant of * {@link #describeSubscriptionFilters(software.amazon.awssdk.services.cloudwatchlogs.model.DescribeSubscriptionFiltersRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeSubscriptionFiltersIterable responses = client.describeSubscriptionFiltersPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeSubscriptionFiltersIterable responses = client
     *             .describeSubscriptionFiltersPaginator(request);
     *     for (software.amazon.awssdk.services.cloudwatchlogs.model.DescribeSubscriptionFiltersResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.cloudwatchlogs.paginators.DescribeSubscriptionFiltersIterable responses = client.describeSubscriptionFiltersPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #describeSubscriptionFilters(software.amazon.awssdk.services.cloudwatchlogs.model.DescribeSubscriptionFiltersRequest)} * operation. *

* * @param describeSubscriptionFiltersRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DescribeSubscriptionFilters * @see AWS API Documentation */ @Override public DescribeSubscriptionFiltersIterable describeSubscriptionFiltersPaginator( DescribeSubscriptionFiltersRequest describeSubscriptionFiltersRequest) throws InvalidParameterException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { return new DescribeSubscriptionFiltersIterable(this, applyPaginatorUserAgent(describeSubscriptionFiltersRequest)); } /** *

* Disassociates the associated AWS Key Management Service (AWS KMS) customer master key (CMK) from the specified * log group. *

*

* After the AWS KMS CMK is disassociated from the log group, AWS CloudWatch Logs stops encrypting newly ingested * data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires * permissions for the CMK whenever the encrypted data is requested. *

*

* Note that it can take up to 5 minutes for this operation to take effect. *

* * @param disassociateKmsKeyRequest * @return Result of the DisassociateKmsKey operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws OperationAbortedException * Multiple requests to update the same resource were in conflict. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.DisassociateKmsKey * @see AWS API * Documentation */ @Override public DisassociateKmsKeyResponse disassociateKmsKey(DisassociateKmsKeyRequest disassociateKmsKeyRequest) throws InvalidParameterException, ResourceNotFoundException, OperationAbortedException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociateKmsKeyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DisassociateKmsKey").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(disassociateKmsKeyRequest) .withMarshaller(new DisassociateKmsKeyRequestMarshaller(protocolFactory))); } /** *

* Lists log events from the specified log group. You can list all the log events or filter the results using a * filter pattern, a time range, and the name of the log stream. *

*

* By default, this operation returns as many log events as can fit in 1 MB (up to 10,000 log events), or all the * events found within the time range that you specify. If the results include a token, then there are more log * events available, and you can get additional results by specifying the token in a subsequent call. *

* * @param filterLogEventsRequest * @return Result of the FilterLogEvents operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.FilterLogEvents * @see AWS API * Documentation */ @Override public FilterLogEventsResponse filterLogEvents(FilterLogEventsRequest filterLogEventsRequest) throws InvalidParameterException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, FilterLogEventsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("FilterLogEvents").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(filterLogEventsRequest) .withMarshaller(new FilterLogEventsRequestMarshaller(protocolFactory))); } /** *

* Lists log events from the specified log group. You can list all the log events or filter the results using a * filter pattern, a time range, and the name of the log stream. *

*

* By default, this operation returns as many log events as can fit in 1 MB (up to 10,000 log events), or all the * events found within the time range that you specify. If the results include a token, then there are more log * events available, and you can get additional results by specifying the token in a subsequent call. *

*
*

* This is a variant of * {@link #filterLogEvents(software.amazon.awssdk.services.cloudwatchlogs.model.FilterLogEventsRequest)} operation. * The return type is a custom iterable that can be used to iterate through all the pages. SDK will internally * handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.cloudwatchlogs.paginators.FilterLogEventsIterable responses = client.filterLogEventsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.cloudwatchlogs.paginators.FilterLogEventsIterable responses = client
     *             .filterLogEventsPaginator(request);
     *     for (software.amazon.awssdk.services.cloudwatchlogs.model.FilterLogEventsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.cloudwatchlogs.paginators.FilterLogEventsIterable responses = client.filterLogEventsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #filterLogEvents(software.amazon.awssdk.services.cloudwatchlogs.model.FilterLogEventsRequest)} * operation. *

* * @param filterLogEventsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.FilterLogEvents * @see AWS API * Documentation */ @Override public FilterLogEventsIterable filterLogEventsPaginator(FilterLogEventsRequest filterLogEventsRequest) throws InvalidParameterException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { return new FilterLogEventsIterable(this, applyPaginatorUserAgent(filterLogEventsRequest)); } /** *

* Lists log events from the specified log stream. You can list all the log events or filter using a time range. *

*

* By default, this operation returns as many log events as can fit in a response size of 1MB (up to 10,000 log * events). You can get additional log events by specifying one of the tokens in a subsequent call. *

* * @param getLogEventsRequest * @return Result of the GetLogEvents operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.GetLogEvents * @see AWS API * Documentation */ @Override public GetLogEventsResponse getLogEvents(GetLogEventsRequest getLogEventsRequest) throws InvalidParameterException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetLogEventsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetLogEvents").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getLogEventsRequest) .withMarshaller(new GetLogEventsRequestMarshaller(protocolFactory))); } /** *

* Lists log events from the specified log stream. You can list all the log events or filter using a time range. *

*

* By default, this operation returns as many log events as can fit in a response size of 1MB (up to 10,000 log * events). You can get additional log events by specifying one of the tokens in a subsequent call. *

*
*

* This is a variant of * {@link #getLogEvents(software.amazon.awssdk.services.cloudwatchlogs.model.GetLogEventsRequest)} operation. The * return type is a custom iterable that can be used to iterate through all the pages. SDK will internally handle * making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.cloudwatchlogs.paginators.GetLogEventsIterable responses = client.getLogEventsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.cloudwatchlogs.paginators.GetLogEventsIterable responses = client
     *             .getLogEventsPaginator(request);
     *     for (software.amazon.awssdk.services.cloudwatchlogs.model.GetLogEventsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.cloudwatchlogs.paginators.GetLogEventsIterable responses = client.getLogEventsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #getLogEvents(software.amazon.awssdk.services.cloudwatchlogs.model.GetLogEventsRequest)} operation. *

* * @param getLogEventsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.GetLogEvents * @see AWS API * Documentation */ @Override public GetLogEventsIterable getLogEventsPaginator(GetLogEventsRequest getLogEventsRequest) throws InvalidParameterException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { return new GetLogEventsIterable(this, applyPaginatorUserAgent(getLogEventsRequest)); } /** *

* Returns a list of the fields that are included in log events in the specified log group, along with the * percentage of log events that contain each field. The search is limited to a time period that you specify. *

*

* In the results, fields that start with @ are fields generated by CloudWatch Logs. For example, * @timestamp is the timestamp of each log event. *

*

* The response results are sorted by the frequency percentage, starting with the highest percentage. *

* * @param getLogGroupFieldsRequest * @return Result of the GetLogGroupFields operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws LimitExceededException * You have reached the maximum number of resources that can be created. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.GetLogGroupFields * @see AWS API * Documentation */ @Override public GetLogGroupFieldsResponse getLogGroupFields(GetLogGroupFieldsRequest getLogGroupFieldsRequest) throws InvalidParameterException, LimitExceededException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetLogGroupFieldsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetLogGroupFields").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getLogGroupFieldsRequest) .withMarshaller(new GetLogGroupFieldsRequestMarshaller(protocolFactory))); } /** *

* Retrieves all the fields and values of a single log event. All fields are retrieved, even if the original query * that produced the logRecordPointer retrieved only a subset of fields. Fields are returned as field * name/field value pairs. *

*

* Additionally, the entire unparsed log event is returned within @message. *

* * @param getLogRecordRequest * @return Result of the GetLogRecord operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws LimitExceededException * You have reached the maximum number of resources that can be created. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.GetLogRecord * @see AWS API * Documentation */ @Override public GetLogRecordResponse getLogRecord(GetLogRecordRequest getLogRecordRequest) throws InvalidParameterException, LimitExceededException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetLogRecordResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetLogRecord").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getLogRecordRequest) .withMarshaller(new GetLogRecordRequestMarshaller(protocolFactory))); } /** *

* Returns the results from the specified query. If the query is in progress, partial results of that current * execution are returned. Only the fields requested in the query are returned. *

*

* GetQueryResults does not start a query execution. To run a query, use . *

* * @param getQueryResultsRequest * @return Result of the GetQueryResults operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.GetQueryResults * @see AWS API * Documentation */ @Override public GetQueryResultsResponse getQueryResults(GetQueryResultsRequest getQueryResultsRequest) throws InvalidParameterException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetQueryResultsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetQueryResults").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getQueryResultsRequest) .withMarshaller(new GetQueryResultsRequestMarshaller(protocolFactory))); } /** *

* Lists the tags for the specified log group. *

* * @param listTagsLogGroupRequest * @return Result of the ListTagsLogGroup operation returned by the service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.ListTagsLogGroup * @see AWS API * Documentation */ @Override public ListTagsLogGroupResponse listTagsLogGroup(ListTagsLogGroupRequest listTagsLogGroupRequest) throws ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListTagsLogGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListTagsLogGroup").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listTagsLogGroupRequest) .withMarshaller(new ListTagsLogGroupRequestMarshaller(protocolFactory))); } /** *

* Creates or updates a destination. A destination encapsulates a physical resource (such as an Amazon Kinesis * stream) and enables you to subscribe to a real-time stream of log events for a different account, ingested using * PutLogEvents. Currently, the only supported physical resource is a Kinesis stream belonging to the same * account as the destination. *

*

* Through an access policy, a destination controls what is written to its Kinesis stream. By default, * PutDestination does not set any access policy with the destination, which means a cross-account user * cannot call PutSubscriptionFilter against this destination. To enable this, the destination owner must * call PutDestinationPolicy after PutDestination. *

* * @param putDestinationRequest * @return Result of the PutDestination operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws OperationAbortedException * Multiple requests to update the same resource were in conflict. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.PutDestination * @see AWS API * Documentation */ @Override public PutDestinationResponse putDestination(PutDestinationRequest putDestinationRequest) throws InvalidParameterException, OperationAbortedException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, PutDestinationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PutDestination").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(putDestinationRequest) .withMarshaller(new PutDestinationRequestMarshaller(protocolFactory))); } /** *

* Creates or updates an access policy associated with an existing destination. An access policy is an IAM policy document that is * used to authorize claims to register a subscription filter against a given destination. *

* * @param putDestinationPolicyRequest * @return Result of the PutDestinationPolicy operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws OperationAbortedException * Multiple requests to update the same resource were in conflict. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.PutDestinationPolicy * @see AWS API * Documentation */ @Override public PutDestinationPolicyResponse putDestinationPolicy(PutDestinationPolicyRequest putDestinationPolicyRequest) throws InvalidParameterException, OperationAbortedException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PutDestinationPolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PutDestinationPolicy").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(putDestinationPolicyRequest) .withMarshaller(new PutDestinationPolicyRequestMarshaller(protocolFactory))); } /** *

* Uploads a batch of log events to the specified log stream. *

*

* You must include the sequence token obtained from the response of the previous call. An upload in a newly created * log stream does not require a sequence token. You can also get the sequence token using * DescribeLogStreams. If you call PutLogEvents twice within a narrow time period using the same * value for sequenceToken, both calls may be successful, or one may be rejected. *

*

* The batch of events must satisfy the following constraints: *

*
    *
  • *

    * The maximum batch size is 1,048,576 bytes, and this size is calculated as the sum of all event messages in UTF-8, * plus 26 bytes for each log event. *

    *
  • *
  • *

    * None of the log events in the batch can be more than 2 hours in the future. *

    *
  • *
  • *

    * None of the log events in the batch can be older than 14 days or the retention period of the log group. *

    *
  • *
  • *

    * The log events in the batch must be in chronological ordered by their timestamp. The timestamp is the time the * event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. (In AWS Tools for * PowerShell and the AWS SDK for .NET, the timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For example, * 2017-09-15T13:45:30.) *

    *
  • *
  • *

    * The maximum number of log events in a batch is 10,000. *

    *
  • *
  • *

    * A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails. *

    *
  • *
*

* If a call to PutLogEvents returns "UnrecognizedClientException" the most likely cause is an invalid AWS access * key ID or secret key. *

* * @param putLogEventsRequest * @return Result of the PutLogEvents operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws InvalidSequenceTokenException * The sequence token is not valid. * @throws DataAlreadyAcceptedException * The event was already logged. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws UnrecognizedClientException * The most likely cause is an invalid AWS access key ID or secret key. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.PutLogEvents * @see AWS API * Documentation */ @Override public PutLogEventsResponse putLogEvents(PutLogEventsRequest putLogEventsRequest) throws InvalidParameterException, InvalidSequenceTokenException, DataAlreadyAcceptedException, ResourceNotFoundException, ServiceUnavailableException, UnrecognizedClientException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, PutLogEventsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PutLogEvents").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(putLogEventsRequest) .withMarshaller(new PutLogEventsRequestMarshaller(protocolFactory))); } /** *

* Creates or updates a metric filter and associates it with the specified log group. Metric filters allow you to * configure rules to extract metric data from log events ingested through PutLogEvents. *

*

* The maximum number of metric filters that can be associated with a log group is 100. *

* * @param putMetricFilterRequest * @return Result of the PutMetricFilter operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws OperationAbortedException * Multiple requests to update the same resource were in conflict. * @throws LimitExceededException * You have reached the maximum number of resources that can be created. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.PutMetricFilter * @see AWS API * Documentation */ @Override public PutMetricFilterResponse putMetricFilter(PutMetricFilterRequest putMetricFilterRequest) throws InvalidParameterException, ResourceNotFoundException, OperationAbortedException, LimitExceededException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, PutMetricFilterResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PutMetricFilter").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(putMetricFilterRequest) .withMarshaller(new PutMetricFilterRequestMarshaller(protocolFactory))); } /** *

* Creates or updates a resource policy allowing other AWS services to put log events to this account, such as * Amazon Route 53. An account can have up to 10 resource policies per region. *

* * @param putResourcePolicyRequest * @return Result of the PutResourcePolicy operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws LimitExceededException * You have reached the maximum number of resources that can be created. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.PutResourcePolicy * @see AWS API * Documentation */ @Override public PutResourcePolicyResponse putResourcePolicy(PutResourcePolicyRequest putResourcePolicyRequest) throws InvalidParameterException, LimitExceededException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, PutResourcePolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PutResourcePolicy").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(putResourcePolicyRequest) .withMarshaller(new PutResourcePolicyRequestMarshaller(protocolFactory))); } /** *

* Sets the retention of the specified log group. A retention policy allows you to configure the number of days for * which to retain log events in the specified log group. *

* * @param putRetentionPolicyRequest * @return Result of the PutRetentionPolicy operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws OperationAbortedException * Multiple requests to update the same resource were in conflict. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.PutRetentionPolicy * @see AWS API * Documentation */ @Override public PutRetentionPolicyResponse putRetentionPolicy(PutRetentionPolicyRequest putRetentionPolicyRequest) throws InvalidParameterException, ResourceNotFoundException, OperationAbortedException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PutRetentionPolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PutRetentionPolicy").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(putRetentionPolicyRequest) .withMarshaller(new PutRetentionPolicyRequestMarshaller(protocolFactory))); } /** *

* Creates or updates a subscription filter and associates it with the specified log group. Subscription filters * allow you to subscribe to a real-time stream of log events ingested through PutLogEvents and have them * delivered to a specific destination. Currently, the supported destinations are: *

*
    *
  • *

    * An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery. *

    *
  • *
  • *

    * A logical destination that belongs to a different account, for cross-account delivery. *

    *
  • *
  • *

    * An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for * same-account delivery. *

    *
  • *
  • *

    * An AWS Lambda function that belongs to the same account as the subscription filter, for same-account delivery. *

    *
  • *
*

* There can only be one subscription filter associated with a log group. If you are updating an existing filter, * you must specify the correct name in filterName. Otherwise, the call fails because you cannot * associate a second filter with a log group. *

* * @param putSubscriptionFilterRequest * @return Result of the PutSubscriptionFilter operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws OperationAbortedException * Multiple requests to update the same resource were in conflict. * @throws LimitExceededException * You have reached the maximum number of resources that can be created. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.PutSubscriptionFilter * @see AWS API * Documentation */ @Override public PutSubscriptionFilterResponse putSubscriptionFilter(PutSubscriptionFilterRequest putSubscriptionFilterRequest) throws InvalidParameterException, ResourceNotFoundException, OperationAbortedException, LimitExceededException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PutSubscriptionFilterResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PutSubscriptionFilter").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(putSubscriptionFilterRequest) .withMarshaller(new PutSubscriptionFilterRequestMarshaller(protocolFactory))); } /** *

* Schedules a query of a log group using CloudWatch Logs Insights. You specify the log group and time range to * query, and the query string to use. *

*

* For more information, see CloudWatch Logs Insights * Query Syntax. *

* * @param startQueryRequest * @return Result of the StartQuery operation returned by the service. * @throws MalformedQueryException * The query string is not valid. Details about this error are displayed in a QueryCompileError * object. For more information, see .

*

* For more information about valid query syntax, see CloudWatch Logs * Insights Query Syntax. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws LimitExceededException * You have reached the maximum number of resources that can be created. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.StartQuery * @see AWS API * Documentation */ @Override public StartQueryResponse startQuery(StartQueryRequest startQueryRequest) throws MalformedQueryException, InvalidParameterException, LimitExceededException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, StartQueryResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("StartQuery").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(startQueryRequest) .withMarshaller(new StartQueryRequestMarshaller(protocolFactory))); } /** *

* Stops a CloudWatch Logs Insights query that is in progress. If the query has already ended, the operation returns * an error indicating that the specified query is not running. *

* * @param stopQueryRequest * @return Result of the StopQuery operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.StopQuery * @see AWS API * Documentation */ @Override public StopQueryResponse stopQuery(StopQueryRequest stopQueryRequest) throws InvalidParameterException, ResourceNotFoundException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, StopQueryResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("StopQuery").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(stopQueryRequest) .withMarshaller(new StopQueryRequestMarshaller(protocolFactory))); } /** *

* Adds or updates the specified tags for the specified log group. *

*

* To list the tags for a log group, use ListTagsLogGroup. To remove tags, use UntagLogGroup. *

*

* For more information about tags, see Tag Log Groups in Amazon * CloudWatch Logs in the Amazon CloudWatch Logs User Guide. *

* * @param tagLogGroupRequest * @return Result of the TagLogGroup operation returned by the service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.TagLogGroup * @see AWS API * Documentation */ @Override public TagLogGroupResponse tagLogGroup(TagLogGroupRequest tagLogGroupRequest) throws ResourceNotFoundException, InvalidParameterException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, TagLogGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("TagLogGroup").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(tagLogGroupRequest) .withMarshaller(new TagLogGroupRequestMarshaller(protocolFactory))); } /** *

* Tests the filter pattern of a metric filter against a sample of log event messages. You can use this operation to * validate the correctness of a metric filter pattern. *

* * @param testMetricFilterRequest * @return Result of the TestMetricFilter operation returned by the service. * @throws InvalidParameterException * A parameter is specified incorrectly. * @throws ServiceUnavailableException * The service cannot complete the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.TestMetricFilter * @see AWS API * Documentation */ @Override public TestMetricFilterResponse testMetricFilter(TestMetricFilterRequest testMetricFilterRequest) throws InvalidParameterException, ServiceUnavailableException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, TestMetricFilterResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("TestMetricFilter").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(testMetricFilterRequest) .withMarshaller(new TestMetricFilterRequestMarshaller(protocolFactory))); } /** *

* Removes the specified tags from the specified log group. *

*

* To list the tags for a log group, use ListTagsLogGroup. To add tags, use UntagLogGroup. *

* * @param untagLogGroupRequest * @return Result of the UntagLogGroup operation returned by the service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudWatchLogsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudWatchLogsClient.UntagLogGroup * @see AWS API * Documentation */ @Override public UntagLogGroupResponse untagLogGroup(UntagLogGroupRequest untagLogGroupRequest) throws ResourceNotFoundException, AwsServiceException, SdkClientException, CloudWatchLogsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UntagLogGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UntagLogGroup").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(untagLogGroupRequest) .withMarshaller(new UntagLogGroupRequestMarshaller(protocolFactory))); } private HttpResponseHandler createErrorResponseHandler(BaseAwsJsonProtocolFactory protocolFactory, JsonOperationMetadata operationMetadata) { return protocolFactory.createErrorResponseHandler(operationMetadata); } private > T init(T builder) { return builder .clientConfiguration(clientConfiguration) .defaultServiceExceptionSupplier(CloudWatchLogsException::builder) .protocol(AwsJsonProtocol.AWS_JSON) .protocolVersion("1.1") .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidParameterException") .exceptionBuilderSupplier(InvalidParameterException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidOperationException") .exceptionBuilderSupplier(InvalidOperationException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("OperationAbortedException") .exceptionBuilderSupplier(OperationAbortedException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("LimitExceededException") .exceptionBuilderSupplier(LimitExceededException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("UnrecognizedClientException") .exceptionBuilderSupplier(UnrecognizedClientException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("MalformedQueryException") .exceptionBuilderSupplier(MalformedQueryException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceNotFoundException") .exceptionBuilderSupplier(ResourceNotFoundException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DataAlreadyAcceptedException") .exceptionBuilderSupplier(DataAlreadyAcceptedException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidSequenceTokenException") .exceptionBuilderSupplier(InvalidSequenceTokenException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ServiceUnavailableException") .exceptionBuilderSupplier(ServiceUnavailableException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceAlreadyExistsException") .exceptionBuilderSupplier(ResourceAlreadyExistsException::builder).build()); } @Override public void close() { clientHandler.close(); } private T applyPaginatorUserAgent(T request) { Consumer userAgentApplier = b -> b.addApiName(ApiName.builder() .version(VersionInfo.SDK_VERSION).name("PAGINATED").build()); AwsRequestOverrideConfiguration overrideConfiguration = request.overrideConfiguration() .map(c -> c.toBuilder().applyMutation(userAgentApplier).build()) .orElse((AwsRequestOverrideConfiguration.builder().applyMutation(userAgentApplier).build())); return (T) request.toBuilder().overrideConfiguration(overrideConfiguration).build(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy