software.amazon.awssdk.services.cloudwatchlogs.DefaultCloudWatchLogsClient Maven / Gradle / Ivy
Show all versions of cloudwatchlogs Show documentation
/*
* 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();
}
}