/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace CloudWatchLogs { namespace Model { class AssociateKmsKeyRequest; class CancelExportTaskRequest; class CreateExportTaskRequest; class CreateLogGroupRequest; class CreateLogStreamRequest; class DeleteDestinationRequest; class DeleteLogGroupRequest; class DeleteLogStreamRequest; class DeleteMetricFilterRequest; class DeleteQueryDefinitionRequest; class DeleteResourcePolicyRequest; class DeleteRetentionPolicyRequest; class DeleteSubscriptionFilterRequest; class DescribeDestinationsRequest; class DescribeExportTasksRequest; class DescribeLogGroupsRequest; class DescribeLogStreamsRequest; class DescribeMetricFiltersRequest; class DescribeQueriesRequest; class DescribeQueryDefinitionsRequest; class DescribeResourcePoliciesRequest; class DescribeSubscriptionFiltersRequest; class DisassociateKmsKeyRequest; class FilterLogEventsRequest; class GetLogEventsRequest; class GetLogGroupFieldsRequest; class GetLogRecordRequest; class GetQueryResultsRequest; class ListTagsLogGroupRequest; class PutDestinationRequest; class PutDestinationPolicyRequest; class PutLogEventsRequest; class PutMetricFilterRequest; class PutQueryDefinitionRequest; class PutResourcePolicyRequest; class PutRetentionPolicyRequest; class PutSubscriptionFilterRequest; class StartQueryRequest; class StopQueryRequest; class TagLogGroupRequest; class TestMetricFilterRequest; class UntagLogGroupRequest; typedef Aws::Utils::Outcome AssociateKmsKeyOutcome; typedef Aws::Utils::Outcome CancelExportTaskOutcome; typedef Aws::Utils::Outcome CreateExportTaskOutcome; typedef Aws::Utils::Outcome CreateLogGroupOutcome; typedef Aws::Utils::Outcome CreateLogStreamOutcome; typedef Aws::Utils::Outcome DeleteDestinationOutcome; typedef Aws::Utils::Outcome DeleteLogGroupOutcome; typedef Aws::Utils::Outcome DeleteLogStreamOutcome; typedef Aws::Utils::Outcome DeleteMetricFilterOutcome; typedef Aws::Utils::Outcome DeleteQueryDefinitionOutcome; typedef Aws::Utils::Outcome DeleteResourcePolicyOutcome; typedef Aws::Utils::Outcome DeleteRetentionPolicyOutcome; typedef Aws::Utils::Outcome DeleteSubscriptionFilterOutcome; typedef Aws::Utils::Outcome DescribeDestinationsOutcome; typedef Aws::Utils::Outcome DescribeExportTasksOutcome; typedef Aws::Utils::Outcome DescribeLogGroupsOutcome; typedef Aws::Utils::Outcome DescribeLogStreamsOutcome; typedef Aws::Utils::Outcome DescribeMetricFiltersOutcome; typedef Aws::Utils::Outcome DescribeQueriesOutcome; typedef Aws::Utils::Outcome DescribeQueryDefinitionsOutcome; typedef Aws::Utils::Outcome DescribeResourcePoliciesOutcome; typedef Aws::Utils::Outcome DescribeSubscriptionFiltersOutcome; typedef Aws::Utils::Outcome DisassociateKmsKeyOutcome; typedef Aws::Utils::Outcome FilterLogEventsOutcome; typedef Aws::Utils::Outcome GetLogEventsOutcome; typedef Aws::Utils::Outcome GetLogGroupFieldsOutcome; typedef Aws::Utils::Outcome GetLogRecordOutcome; typedef Aws::Utils::Outcome GetQueryResultsOutcome; typedef Aws::Utils::Outcome ListTagsLogGroupOutcome; typedef Aws::Utils::Outcome PutDestinationOutcome; typedef Aws::Utils::Outcome PutDestinationPolicyOutcome; typedef Aws::Utils::Outcome PutLogEventsOutcome; typedef Aws::Utils::Outcome PutMetricFilterOutcome; typedef Aws::Utils::Outcome PutQueryDefinitionOutcome; typedef Aws::Utils::Outcome PutResourcePolicyOutcome; typedef Aws::Utils::Outcome PutRetentionPolicyOutcome; typedef Aws::Utils::Outcome PutSubscriptionFilterOutcome; typedef Aws::Utils::Outcome StartQueryOutcome; typedef Aws::Utils::Outcome StopQueryOutcome; typedef Aws::Utils::Outcome TagLogGroupOutcome; typedef Aws::Utils::Outcome TestMetricFilterOutcome; typedef Aws::Utils::Outcome UntagLogGroupOutcome; typedef std::future AssociateKmsKeyOutcomeCallable; typedef std::future CancelExportTaskOutcomeCallable; typedef std::future CreateExportTaskOutcomeCallable; typedef std::future CreateLogGroupOutcomeCallable; typedef std::future CreateLogStreamOutcomeCallable; typedef std::future DeleteDestinationOutcomeCallable; typedef std::future DeleteLogGroupOutcomeCallable; typedef std::future DeleteLogStreamOutcomeCallable; typedef std::future DeleteMetricFilterOutcomeCallable; typedef std::future DeleteQueryDefinitionOutcomeCallable; typedef std::future DeleteResourcePolicyOutcomeCallable; typedef std::future DeleteRetentionPolicyOutcomeCallable; typedef std::future DeleteSubscriptionFilterOutcomeCallable; typedef std::future DescribeDestinationsOutcomeCallable; typedef std::future DescribeExportTasksOutcomeCallable; typedef std::future DescribeLogGroupsOutcomeCallable; typedef std::future DescribeLogStreamsOutcomeCallable; typedef std::future DescribeMetricFiltersOutcomeCallable; typedef std::future DescribeQueriesOutcomeCallable; typedef std::future DescribeQueryDefinitionsOutcomeCallable; typedef std::future DescribeResourcePoliciesOutcomeCallable; typedef std::future DescribeSubscriptionFiltersOutcomeCallable; typedef std::future DisassociateKmsKeyOutcomeCallable; typedef std::future FilterLogEventsOutcomeCallable; typedef std::future GetLogEventsOutcomeCallable; typedef std::future GetLogGroupFieldsOutcomeCallable; typedef std::future GetLogRecordOutcomeCallable; typedef std::future GetQueryResultsOutcomeCallable; typedef std::future ListTagsLogGroupOutcomeCallable; typedef std::future PutDestinationOutcomeCallable; typedef std::future PutDestinationPolicyOutcomeCallable; typedef std::future PutLogEventsOutcomeCallable; typedef std::future PutMetricFilterOutcomeCallable; typedef std::future PutQueryDefinitionOutcomeCallable; typedef std::future PutResourcePolicyOutcomeCallable; typedef std::future PutRetentionPolicyOutcomeCallable; typedef std::future PutSubscriptionFilterOutcomeCallable; typedef std::future StartQueryOutcomeCallable; typedef std::future StopQueryOutcomeCallable; typedef std::future TagLogGroupOutcomeCallable; typedef std::future TestMetricFilterOutcomeCallable; typedef std::future UntagLogGroupOutcomeCallable; } // namespace Model class CloudWatchLogsClient; typedef std::function&) > AssociateKmsKeyResponseReceivedHandler; typedef std::function&) > CancelExportTaskResponseReceivedHandler; typedef std::function&) > CreateExportTaskResponseReceivedHandler; typedef std::function&) > CreateLogGroupResponseReceivedHandler; typedef std::function&) > CreateLogStreamResponseReceivedHandler; typedef std::function&) > DeleteDestinationResponseReceivedHandler; typedef std::function&) > DeleteLogGroupResponseReceivedHandler; typedef std::function&) > DeleteLogStreamResponseReceivedHandler; typedef std::function&) > DeleteMetricFilterResponseReceivedHandler; typedef std::function&) > DeleteQueryDefinitionResponseReceivedHandler; typedef std::function&) > DeleteResourcePolicyResponseReceivedHandler; typedef std::function&) > DeleteRetentionPolicyResponseReceivedHandler; typedef std::function&) > DeleteSubscriptionFilterResponseReceivedHandler; typedef std::function&) > DescribeDestinationsResponseReceivedHandler; typedef std::function&) > DescribeExportTasksResponseReceivedHandler; typedef std::function&) > DescribeLogGroupsResponseReceivedHandler; typedef std::function&) > DescribeLogStreamsResponseReceivedHandler; typedef std::function&) > DescribeMetricFiltersResponseReceivedHandler; typedef std::function&) > DescribeQueriesResponseReceivedHandler; typedef std::function&) > DescribeQueryDefinitionsResponseReceivedHandler; typedef std::function&) > DescribeResourcePoliciesResponseReceivedHandler; typedef std::function&) > DescribeSubscriptionFiltersResponseReceivedHandler; typedef std::function&) > DisassociateKmsKeyResponseReceivedHandler; typedef std::function&) > FilterLogEventsResponseReceivedHandler; typedef std::function&) > GetLogEventsResponseReceivedHandler; typedef std::function&) > GetLogGroupFieldsResponseReceivedHandler; typedef std::function&) > GetLogRecordResponseReceivedHandler; typedef std::function&) > GetQueryResultsResponseReceivedHandler; typedef std::function&) > ListTagsLogGroupResponseReceivedHandler; typedef std::function&) > PutDestinationResponseReceivedHandler; typedef std::function&) > PutDestinationPolicyResponseReceivedHandler; typedef std::function&) > PutLogEventsResponseReceivedHandler; typedef std::function&) > PutMetricFilterResponseReceivedHandler; typedef std::function&) > PutQueryDefinitionResponseReceivedHandler; typedef std::function&) > PutResourcePolicyResponseReceivedHandler; typedef std::function&) > PutRetentionPolicyResponseReceivedHandler; typedef std::function&) > PutSubscriptionFilterResponseReceivedHandler; typedef std::function&) > StartQueryResponseReceivedHandler; typedef std::function&) > StopQueryResponseReceivedHandler; typedef std::function&) > TagLogGroupResponseReceivedHandler; typedef std::function&) > TestMetricFilterResponseReceivedHandler; typedef std::function&) > UntagLogGroupResponseReceivedHandler; /** *

You can use Amazon CloudWatch Logs to monitor, store, and access your log * files from EC2 instances, AWS CloudTrail, or other sources. You can then * retrieve the associated log data from CloudWatch Logs using the CloudWatch * console, CloudWatch Logs commands in the AWS CLI, CloudWatch Logs API, or * CloudWatch Logs SDK.

You can use CloudWatch Logs to:

  • * Monitor logs from EC2 instances in real-time: You can use CloudWatch Logs * to monitor applications and systems using log data. For example, CloudWatch Logs * can track the number of errors that occur in your application logs and send you * a notification whenever the rate of errors exceeds a threshold that you specify. * CloudWatch Logs uses your log data for monitoring so no code changes are * required. For example, you can monitor application logs for specific literal * terms (such as "NullReferenceException") or count the number of occurrences of a * literal term at a particular position in log data (such as "404" status codes in * an Apache access log). When the term you are searching for is found, CloudWatch * Logs reports the data to a CloudWatch metric that you specify.

  • *

    Monitor AWS CloudTrail logged events: You can create alarms in * CloudWatch and receive notifications of particular API activity as captured by * CloudTrail. You can use the notification to perform troubleshooting.

  • *
  • Archive log data: You can use CloudWatch Logs to store your log * data in highly durable storage. You can change the log retention setting so that * any log events older than this setting are automatically deleted. The CloudWatch * Logs agent makes it easy to quickly send both rotated and non-rotated log data * off of a host and into the log service. You can then access the raw log data * when you need it.

*/ class AWS_CLOUDWATCHLOGS_API CloudWatchLogsClient : public Aws::Client::AWSJsonClient { public: typedef Aws::Client::AWSJsonClient BASECLASS; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ CloudWatchLogsClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ CloudWatchLogsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ CloudWatchLogsClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~CloudWatchLogsClient(); /** *

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.

*

CloudWatch Logs supports only symmetric CMKs. Do not use an * associate an asymmetric CMK with your log group. For more information, see Using * Symmetric and Asymmetric Keys.

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 * receive an InvalidParameterException error.

See * Also:

AWS * API Reference

*/ virtual Model::AssociateKmsKeyOutcome AssociateKmsKey(const Model::AssociateKmsKeyRequest& request) const; /** *

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.

*

CloudWatch Logs supports only symmetric CMKs. Do not use an * associate an asymmetric CMK with your log group. For more information, see Using * Symmetric and Asymmetric Keys.

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 * receive an InvalidParameterException error.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AssociateKmsKeyOutcomeCallable AssociateKmsKeyCallable(const Model::AssociateKmsKeyRequest& request) const; /** *

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.

*

CloudWatch Logs supports only symmetric CMKs. Do not use an * associate an asymmetric CMK with your log group. For more information, see Using * Symmetric and Asymmetric Keys.

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 * receive an InvalidParameterException error.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AssociateKmsKeyAsync(const Model::AssociateKmsKeyRequest& request, const AssociateKmsKeyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Cancels the specified export task.

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

See Also:

* AWS * API Reference

*/ virtual Model::CancelExportTaskOutcome CancelExportTask(const Model::CancelExportTaskRequest& request) const; /** *

Cancels the specified export task.

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

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CancelExportTaskOutcomeCallable CancelExportTaskCallable(const Model::CancelExportTaskRequest& request) const; /** *

Cancels the specified export task.

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

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CancelExportTaskAsync(const Model::CancelExportTaskRequest& request, const CancelExportTaskResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates an export task, which allows you to efficiently export data from a * log group to an Amazon S3 bucket. When you perform a * CreateExportTask operation, you must use credentials that have * permission to write to the S3 bucket that you specify as the destination.

*

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.

*

Exporting to S3 buckets that are encrypted with AES-256 is supported. * Exporting to S3 buckets encrypted with SSE-KMS is not supported.

See * Also:

AWS * API Reference

*/ virtual Model::CreateExportTaskOutcome CreateExportTask(const Model::CreateExportTaskRequest& request) const; /** *

Creates an export task, which allows you to efficiently export data from a * log group to an Amazon S3 bucket. When you perform a * CreateExportTask operation, you must use credentials that have * permission to write to the S3 bucket that you specify as the destination.

*

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.

*

Exporting to S3 buckets that are encrypted with AES-256 is supported. * Exporting to S3 buckets encrypted with SSE-KMS is not supported.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateExportTaskOutcomeCallable CreateExportTaskCallable(const Model::CreateExportTaskRequest& request) const; /** *

Creates an export task, which allows you to efficiently export data from a * log group to an Amazon S3 bucket. When you perform a * CreateExportTask operation, you must use credentials that have * permission to write to the S3 bucket that you specify as the destination.

*

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.

*

Exporting to S3 buckets that are encrypted with AES-256 is supported. * Exporting to S3 buckets encrypted with SSE-KMS is not supported.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateExportTaskAsync(const Model::CreateExportTaskRequest& request, const CreateExportTaskResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a log group with the specified name. You can create up to 20,000 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), * '.' (period), and '#' (number sign)

When you create a log * group, by default the log events in the log group never expire. To set a * retention policy so that events expire and are deleted after a specified time, * use PutRetentionPolicy.

*

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 receive an * InvalidParameterException error.

CloudWatch * Logs supports only symmetric CMKs. Do not associate an asymmetric CMK with your * log group. For more information, see Using * Symmetric and Asymmetric Keys.

See Also:

AWS * API Reference

*/ virtual Model::CreateLogGroupOutcome CreateLogGroup(const Model::CreateLogGroupRequest& request) const; /** *

Creates a log group with the specified name. You can create up to 20,000 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), * '.' (period), and '#' (number sign)

When you create a log * group, by default the log events in the log group never expire. To set a * retention policy so that events expire and are deleted after a specified time, * use PutRetentionPolicy.

*

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 receive an * InvalidParameterException error.

CloudWatch * Logs supports only symmetric CMKs. Do not associate an asymmetric CMK with your * log group. For more information, see Using * Symmetric and Asymmetric Keys.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateLogGroupOutcomeCallable CreateLogGroupCallable(const Model::CreateLogGroupRequest& request) const; /** *

Creates a log group with the specified name. You can create up to 20,000 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), * '.' (period), and '#' (number sign)

When you create a log * group, by default the log events in the log group never expire. To set a * retention policy so that events expire and are deleted after a specified time, * use PutRetentionPolicy.

*

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 receive an * InvalidParameterException error.

CloudWatch * Logs supports only symmetric CMKs. Do not associate an asymmetric CMK with your * log group. For more information, see Using * Symmetric and Asymmetric Keys.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateLogGroupAsync(const Model::CreateLogGroupRequest& request, const CreateLogGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a log stream for the specified log group. A log stream is a sequence * of log events that originate from a single source, such as an application * instance or a resource that is being monitored.

There is no limit on the * number of log streams that you can create for a log group. There is a limit of * 50 TPS on CreateLogStream operations, after which transactions are * throttled.

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.

See Also:

AWS * API Reference

*/ virtual Model::CreateLogStreamOutcome CreateLogStream(const Model::CreateLogStreamRequest& request) const; /** *

Creates a log stream for the specified log group. A log stream is a sequence * of log events that originate from a single source, such as an application * instance or a resource that is being monitored.

There is no limit on the * number of log streams that you can create for a log group. There is a limit of * 50 TPS on CreateLogStream operations, after which transactions are * throttled.

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateLogStreamOutcomeCallable CreateLogStreamCallable(const Model::CreateLogStreamRequest& request) const; /** *

Creates a log stream for the specified log group. A log stream is a sequence * of log events that originate from a single source, such as an application * instance or a resource that is being monitored.

There is no limit on the * number of log streams that you can create for a log group. There is a limit of * 50 TPS on CreateLogStream operations, after which transactions are * throttled.

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateLogStreamAsync(const Model::CreateLogStreamRequest& request, const CreateLogStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DeleteDestinationOutcome DeleteDestination(const Model::DeleteDestinationRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteDestinationOutcomeCallable DeleteDestinationCallable(const Model::DeleteDestinationRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteDestinationAsync(const Model::DeleteDestinationRequest& request, const DeleteDestinationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DeleteLogGroupOutcome DeleteLogGroup(const Model::DeleteLogGroupRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteLogGroupOutcomeCallable DeleteLogGroupCallable(const Model::DeleteLogGroupRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteLogGroupAsync(const Model::DeleteLogGroupRequest& request, const DeleteLogGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DeleteLogStreamOutcome DeleteLogStream(const Model::DeleteLogStreamRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteLogStreamOutcomeCallable DeleteLogStreamCallable(const Model::DeleteLogStreamRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteLogStreamAsync(const Model::DeleteLogStreamRequest& request, const DeleteLogStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the specified metric filter.

See Also:

AWS * API Reference

*/ virtual Model::DeleteMetricFilterOutcome DeleteMetricFilter(const Model::DeleteMetricFilterRequest& request) const; /** *

Deletes the specified metric filter.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteMetricFilterOutcomeCallable DeleteMetricFilterCallable(const Model::DeleteMetricFilterRequest& request) const; /** *

Deletes the specified metric filter.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteMetricFilterAsync(const Model::DeleteMetricFilterRequest& request, const DeleteMetricFilterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a saved CloudWatch Logs Insights query definition. A query definition * contains details about a saved CloudWatch Logs Insights query.

Each * DeleteQueryDefinition operation can delete one query * definition.

You must have the logs:DeleteQueryDefinition * permission to be able to perform this operation.

See Also:

AWS * API Reference

*/ virtual Model::DeleteQueryDefinitionOutcome DeleteQueryDefinition(const Model::DeleteQueryDefinitionRequest& request) const; /** *

Deletes a saved CloudWatch Logs Insights query definition. A query definition * contains details about a saved CloudWatch Logs Insights query.

Each * DeleteQueryDefinition operation can delete one query * definition.

You must have the logs:DeleteQueryDefinition * permission to be able to perform this operation.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteQueryDefinitionOutcomeCallable DeleteQueryDefinitionCallable(const Model::DeleteQueryDefinitionRequest& request) const; /** *

Deletes a saved CloudWatch Logs Insights query definition. A query definition * contains details about a saved CloudWatch Logs Insights query.

Each * DeleteQueryDefinition operation can delete one query * definition.

You must have the logs:DeleteQueryDefinition * permission to be able to perform this operation.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteQueryDefinitionAsync(const Model::DeleteQueryDefinitionRequest& request, const DeleteQueryDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See * Also:

AWS * API Reference

*/ virtual Model::DeleteResourcePolicyOutcome DeleteResourcePolicy(const Model::DeleteResourcePolicyRequest& request) const; /** *

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

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteResourcePolicyOutcomeCallable DeleteResourcePolicyCallable(const Model::DeleteResourcePolicyRequest& request) const; /** *

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

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteResourcePolicyAsync(const Model::DeleteResourcePolicyRequest& request, const DeleteResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the specified retention policy.

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

See Also:

* AWS * API Reference

*/ virtual Model::DeleteRetentionPolicyOutcome DeleteRetentionPolicy(const Model::DeleteRetentionPolicyRequest& request) const; /** *

Deletes the specified retention policy.

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

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteRetentionPolicyOutcomeCallable DeleteRetentionPolicyCallable(const Model::DeleteRetentionPolicyRequest& request) const; /** *

Deletes the specified retention policy.

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

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteRetentionPolicyAsync(const Model::DeleteRetentionPolicyRequest& request, const DeleteRetentionPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the specified subscription filter.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSubscriptionFilterOutcome DeleteSubscriptionFilter(const Model::DeleteSubscriptionFilterRequest& request) const; /** *

Deletes the specified subscription filter.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteSubscriptionFilterOutcomeCallable DeleteSubscriptionFilterCallable(const Model::DeleteSubscriptionFilterRequest& request) const; /** *

Deletes the specified subscription filter.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteSubscriptionFilterAsync(const Model::DeleteSubscriptionFilterRequest& request, const DeleteSubscriptionFilterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DescribeDestinationsOutcome DescribeDestinations(const Model::DescribeDestinationsRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeDestinationsOutcomeCallable DescribeDestinationsCallable(const Model::DescribeDestinationsRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeDestinationsAsync(const Model::DescribeDestinationsRequest& request, const DescribeDestinationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

* AWS * API Reference

*/ virtual Model::DescribeExportTasksOutcome DescribeExportTasks(const Model::DescribeExportTasksRequest& request) const; /** *

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

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeExportTasksOutcomeCallable DescribeExportTasksCallable(const Model::DescribeExportTasksRequest& request) const; /** *

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

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeExportTasksAsync(const Model::DescribeExportTasksRequest& request, const DescribeExportTasksResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DescribeLogGroupsOutcome DescribeLogGroups(const Model::DescribeLogGroupsRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeLogGroupsOutcomeCallable DescribeLogGroupsCallable(const Model::DescribeLogGroupsRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeLogGroupsAsync(const Model::DescribeLogGroupsRequest& request, const DescribeLogGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DescribeLogStreamsOutcome DescribeLogStreams(const Model::DescribeLogStreamsRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeLogStreamsOutcomeCallable DescribeLogStreamsCallable(const Model::DescribeLogStreamsRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeLogStreamsAsync(const Model::DescribeLogStreamsRequest& request, const DescribeLogStreamsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DescribeMetricFiltersOutcome DescribeMetricFilters(const Model::DescribeMetricFiltersRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeMetricFiltersOutcomeCallable DescribeMetricFiltersCallable(const Model::DescribeMetricFiltersRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeMetricFiltersAsync(const Model::DescribeMetricFiltersRequest& request, const DescribeMetricFiltersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DescribeQueriesOutcome DescribeQueries(const Model::DescribeQueriesRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeQueriesOutcomeCallable DescribeQueriesCallable(const Model::DescribeQueriesRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeQueriesAsync(const Model::DescribeQueriesRequest& request, const DescribeQueriesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This operation returns a paginated list of your saved CloudWatch Logs * Insights query definitions.

You can use the * queryDefinitionNamePrefix parameter to limit the results to only * the query definitions that have names that start with a certain * string.

See Also:

AWS * API Reference

*/ virtual Model::DescribeQueryDefinitionsOutcome DescribeQueryDefinitions(const Model::DescribeQueryDefinitionsRequest& request) const; /** *

This operation returns a paginated list of your saved CloudWatch Logs * Insights query definitions.

You can use the * queryDefinitionNamePrefix parameter to limit the results to only * the query definitions that have names that start with a certain * string.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeQueryDefinitionsOutcomeCallable DescribeQueryDefinitionsCallable(const Model::DescribeQueryDefinitionsRequest& request) const; /** *

This operation returns a paginated list of your saved CloudWatch Logs * Insights query definitions.

You can use the * queryDefinitionNamePrefix parameter to limit the results to only * the query definitions that have names that start with a certain * string.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeQueryDefinitionsAsync(const Model::DescribeQueryDefinitionsRequest& request, const DescribeQueryDefinitionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists the resource policies in this account.

See Also:

AWS * API Reference

*/ virtual Model::DescribeResourcePoliciesOutcome DescribeResourcePolicies(const Model::DescribeResourcePoliciesRequest& request) const; /** *

Lists the resource policies in this account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeResourcePoliciesOutcomeCallable DescribeResourcePoliciesCallable(const Model::DescribeResourcePoliciesRequest& request) const; /** *

Lists the resource policies in this account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeResourcePoliciesAsync(const Model::DescribeResourcePoliciesRequest& request, const DescribeResourcePoliciesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DescribeSubscriptionFiltersOutcome DescribeSubscriptionFilters(const Model::DescribeSubscriptionFiltersRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeSubscriptionFiltersOutcomeCallable DescribeSubscriptionFiltersCallable(const Model::DescribeSubscriptionFiltersRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeSubscriptionFiltersAsync(const Model::DescribeSubscriptionFiltersRequest& request, const DescribeSubscriptionFiltersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateKmsKeyOutcome DisassociateKmsKey(const Model::DisassociateKmsKeyRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisassociateKmsKeyOutcomeCallable DisassociateKmsKeyCallable(const Model::DisassociateKmsKeyRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisassociateKmsKeyAsync(const Model::DisassociateKmsKeyRequest& request, const DisassociateKmsKeyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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 operation can return empty results while there are * more log events available through the token.

The returned log events are * sorted by event timestamp, the timestamp when the event was ingested by * CloudWatch Logs, and the ID of the PutLogEvents * request.

See Also:

AWS * API Reference

*/ virtual Model::FilterLogEventsOutcome FilterLogEvents(const Model::FilterLogEventsRequest& request) const; /** *

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 operation can return empty results while there are * more log events available through the token.

The returned log events are * sorted by event timestamp, the timestamp when the event was ingested by * CloudWatch Logs, and the ID of the PutLogEvents * request.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::FilterLogEventsOutcomeCallable FilterLogEventsCallable(const Model::FilterLogEventsRequest& request) const; /** *

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 operation can return empty results while there are * more log events available through the token.

The returned log events are * sorted by event timestamp, the timestamp when the event was ingested by * CloudWatch Logs, and the ID of the PutLogEvents * request.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void FilterLogEventsAsync(const Model::FilterLogEventsRequest& request, const FilterLogEventsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists log events from the specified log stream. You can list all of 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 operation can return empty results while there are more * log events available through the token.

See Also:

AWS * API Reference

*/ virtual Model::GetLogEventsOutcome GetLogEvents(const Model::GetLogEventsRequest& request) const; /** *

Lists log events from the specified log stream. You can list all of 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 operation can return empty results while there are more * log events available through the token.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetLogEventsOutcomeCallable GetLogEventsCallable(const Model::GetLogEventsRequest& request) const; /** *

Lists log events from the specified log stream. You can list all of 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 operation can return empty results while there are more * log events available through the token.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetLogEventsAsync(const Model::GetLogEventsRequest& request, const GetLogEventsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. For more information * about the fields that are generated by CloudWatch logs, see Supported * Logs and Discovered Fields.

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

See * Also:

AWS * API Reference

*/ virtual Model::GetLogGroupFieldsOutcome GetLogGroupFields(const Model::GetLogGroupFieldsRequest& request) const; /** *

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. For more information * about the fields that are generated by CloudWatch logs, see Supported * Logs and Discovered Fields.

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

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetLogGroupFieldsOutcomeCallable GetLogGroupFieldsCallable(const Model::GetLogGroupFieldsRequest& request) const; /** *

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. For more information * about the fields that are generated by CloudWatch logs, see Supported * Logs and Discovered Fields.

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

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetLogGroupFieldsAsync(const Model::GetLogGroupFieldsRequest& request, const GetLogGroupFieldsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves all of 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.

The full unparsed log event is * returned within @message.

See Also:

AWS * API Reference

*/ virtual Model::GetLogRecordOutcome GetLogRecord(const Model::GetLogRecordRequest& request) const; /** *

Retrieves all of 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.

The full unparsed log event is * returned within @message.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetLogRecordOutcomeCallable GetLogRecordCallable(const Model::GetLogRecordRequest& request) const; /** *

Retrieves all of 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.

The full unparsed log event is * returned within @message.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetLogRecordAsync(const Model::GetLogRecordRequest& request, const GetLogRecordResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns the results from the specified query.

Only the fields * requested in the query are returned, along with a @ptr field, which * is the identifier for the log record. You can use the value of @ptr * in a GetLogRecord * operation to get the full log record.

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

*

If the value of the Status field in the output is * Running, this operation returns only partial results. If you see a * value of Scheduled or Running for the status, you can * retry the operation later to see the final results.

See Also:

* AWS * API Reference

*/ virtual Model::GetQueryResultsOutcome GetQueryResults(const Model::GetQueryResultsRequest& request) const; /** *

Returns the results from the specified query.

Only the fields * requested in the query are returned, along with a @ptr field, which * is the identifier for the log record. You can use the value of @ptr * in a GetLogRecord * operation to get the full log record.

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

*

If the value of the Status field in the output is * Running, this operation returns only partial results. If you see a * value of Scheduled or Running for the status, you can * retry the operation later to see the final results.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetQueryResultsOutcomeCallable GetQueryResultsCallable(const Model::GetQueryResultsRequest& request) const; /** *

Returns the results from the specified query.

Only the fields * requested in the query are returned, along with a @ptr field, which * is the identifier for the log record. You can use the value of @ptr * in a GetLogRecord * operation to get the full log record.

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

*

If the value of the Status field in the output is * Running, this operation returns only partial results. If you see a * value of Scheduled or Running for the status, you can * retry the operation later to see the final results.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetQueryResultsAsync(const Model::GetQueryResultsRequest& request, const GetQueryResultsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists the tags for the specified log group.

See Also:

AWS * API Reference

*/ virtual Model::ListTagsLogGroupOutcome ListTagsLogGroup(const Model::ListTagsLogGroupRequest& request) const; /** *

Lists the tags for the specified log group.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsLogGroupOutcomeCallable ListTagsLogGroupCallable(const Model::ListTagsLogGroupRequest& request) const; /** *

Lists the tags for the specified log group.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsLogGroupAsync(const Model::ListTagsLogGroupRequest& request, const ListTagsLogGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates or updates a destination. This operation is used only to create * destinations for cross-account subscriptions.

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.

*

Through an access policy, a destination controls what is written to it. 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.

To perform a * PutDestination operation, you must also have the * iam:PassRole permission.

See Also:

AWS * API Reference

*/ virtual Model::PutDestinationOutcome PutDestination(const Model::PutDestinationRequest& request) const; /** *

Creates or updates a destination. This operation is used only to create * destinations for cross-account subscriptions.

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.

*

Through an access policy, a destination controls what is written to it. 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.

To perform a * PutDestination operation, you must also have the * iam:PassRole permission.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutDestinationOutcomeCallable PutDestinationCallable(const Model::PutDestinationRequest& request) const; /** *

Creates or updates a destination. This operation is used only to create * destinations for cross-account subscriptions.

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.

*

Through an access policy, a destination controls what is written to it. 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.

To perform a * PutDestination operation, you must also have the * iam:PassRole permission.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutDestinationAsync(const Model::PutDestinationRequest& request, const PutDestinationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::PutDestinationPolicyOutcome PutDestinationPolicy(const Model::PutDestinationPolicyRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutDestinationPolicyOutcomeCallable PutDestinationPolicyCallable(const Model::PutDestinationPolicyRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutDestinationPolicyAsync(const Model::PutDestinationPolicyRequest& request, const PutDestinationPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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 in the expectedSequenceToken field from * InvalidSequenceTokenException. If you call * PutLogEvents twice within a narrow time period using the same value * for sequenceToken, both calls might be successful or one might be * rejected.

The batch of events must satisfy the following constraints:

*
  • The maximum batch size is 1,048,576 bytes. 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 older than the retention period of the log group.

  • *

    The log events in the batch must be in chronological order 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.)

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

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

  • There is a quota of 5 requests * per second per log stream. Additional requests are throttled. This quota can't * be changed.

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

See Also:

AWS * API Reference

*/ virtual Model::PutLogEventsOutcome PutLogEvents(const Model::PutLogEventsRequest& request) const; /** *

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 in the expectedSequenceToken field from * InvalidSequenceTokenException. If you call * PutLogEvents twice within a narrow time period using the same value * for sequenceToken, both calls might be successful or one might be * rejected.

The batch of events must satisfy the following constraints:

*
  • The maximum batch size is 1,048,576 bytes. 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 older than the retention period of the log group.

  • *

    The log events in the batch must be in chronological order 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.)

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

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

  • There is a quota of 5 requests * per second per log stream. Additional requests are throttled. This quota can't * be changed.

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutLogEventsOutcomeCallable PutLogEventsCallable(const Model::PutLogEventsRequest& request) const; /** *

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 in the expectedSequenceToken field from * InvalidSequenceTokenException. If you call * PutLogEvents twice within a narrow time period using the same value * for sequenceToken, both calls might be successful or one might be * rejected.

The batch of events must satisfy the following constraints:

*
  • The maximum batch size is 1,048,576 bytes. 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 older than the retention period of the log group.

  • *

    The log events in the batch must be in chronological order 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.)

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

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

  • There is a quota of 5 requests * per second per log stream. Additional requests are throttled. This quota can't * be changed.

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutLogEventsAsync(const Model::PutLogEventsRequest& request, const PutLogEventsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::PutMetricFilterOutcome PutMetricFilter(const Model::PutMetricFilterRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutMetricFilterOutcomeCallable PutMetricFilterCallable(const Model::PutMetricFilterRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutMetricFilterAsync(const Model::PutMetricFilterRequest& request, const PutMetricFilterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates or updates a query definition for CloudWatch Logs Insights. For more * information, see Analyzing * Log Data with CloudWatch Logs Insights.

To update a query definition, * specify its queryDefinitionId in your request. The values of * name, queryString, and logGroupNames are * changed to the values that you specify in your update operation. No current * values are retained from the current query definition. For example, if you * update a current query definition that includes log groups, and you don't * specify the logGroupNames parameter in your update operation, the * query definition changes to contain no log groups.

You must have the * logs:PutQueryDefinition permission to be able to perform this * operation.

See Also:

AWS * API Reference

*/ virtual Model::PutQueryDefinitionOutcome PutQueryDefinition(const Model::PutQueryDefinitionRequest& request) const; /** *

Creates or updates a query definition for CloudWatch Logs Insights. For more * information, see Analyzing * Log Data with CloudWatch Logs Insights.

To update a query definition, * specify its queryDefinitionId in your request. The values of * name, queryString, and logGroupNames are * changed to the values that you specify in your update operation. No current * values are retained from the current query definition. For example, if you * update a current query definition that includes log groups, and you don't * specify the logGroupNames parameter in your update operation, the * query definition changes to contain no log groups.

You must have the * logs:PutQueryDefinition permission to be able to perform this * operation.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutQueryDefinitionOutcomeCallable PutQueryDefinitionCallable(const Model::PutQueryDefinitionRequest& request) const; /** *

Creates or updates a query definition for CloudWatch Logs Insights. For more * information, see Analyzing * Log Data with CloudWatch Logs Insights.

To update a query definition, * specify its queryDefinitionId in your request. The values of * name, queryString, and logGroupNames are * changed to the values that you specify in your update operation. No current * values are retained from the current query definition. For example, if you * update a current query definition that includes log groups, and you don't * specify the logGroupNames parameter in your update operation, the * query definition changes to contain no log groups.

You must have the * logs:PutQueryDefinition permission to be able to perform this * operation.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutQueryDefinitionAsync(const Model::PutQueryDefinitionRequest& request, const PutQueryDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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 AWS Region.

See Also:

AWS * API Reference

*/ virtual Model::PutResourcePolicyOutcome PutResourcePolicy(const Model::PutResourcePolicyRequest& request) const; /** *

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 AWS Region.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutResourcePolicyOutcomeCallable PutResourcePolicyCallable(const Model::PutResourcePolicyRequest& request) const; /** *

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 AWS Region.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutResourcePolicyAsync(const Model::PutResourcePolicyRequest& request, const PutResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::PutRetentionPolicyOutcome PutRetentionPolicy(const Model::PutRetentionPolicyRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutRetentionPolicyOutcomeCallable PutRetentionPolicyCallable(const Model::PutRetentionPolicyRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutRetentionPolicyAsync(const Model::PutRetentionPolicyRequest& request, const PutRetentionPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. When log events are sent to * the receiving service, they are Base64 encoded and compressed with the gzip * format.

The following destinations are supported for subscription * filters:

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

To perform a * PutSubscriptionFilter operation, you must also have the * iam:PassRole permission.

See Also:

AWS * API Reference

*/ virtual Model::PutSubscriptionFilterOutcome PutSubscriptionFilter(const Model::PutSubscriptionFilterRequest& request) const; /** *

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. When log events are sent to * the receiving service, they are Base64 encoded and compressed with the gzip * format.

The following destinations are supported for subscription * filters:

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

To perform a * PutSubscriptionFilter operation, you must also have the * iam:PassRole permission.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutSubscriptionFilterOutcomeCallable PutSubscriptionFilterCallable(const Model::PutSubscriptionFilterRequest& request) const; /** *

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. When log events are sent to * the receiving service, they are Base64 encoded and compressed with the gzip * format.

The following destinations are supported for subscription * filters:

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

To perform a * PutSubscriptionFilter operation, you must also have the * iam:PassRole permission.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutSubscriptionFilterAsync(const Model::PutSubscriptionFilterRequest& request, const PutSubscriptionFilterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

Queries time out after 15 minutes of * execution. If your queries are timing out, reduce the time range being searched * or partition your query into a number of queries.

See Also:

AWS API * Reference

*/ virtual Model::StartQueryOutcome StartQuery(const Model::StartQueryRequest& request) const; /** *

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.

Queries time out after 15 minutes of * execution. If your queries are timing out, reduce the time range being searched * or partition your query into a number of queries.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::StartQueryOutcomeCallable StartQueryCallable(const Model::StartQueryRequest& request) const; /** *

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.

Queries time out after 15 minutes of * execution. If your queries are timing out, reduce the time range being searched * or partition your query into a number of queries.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void StartQueryAsync(const Model::StartQueryRequest& request, const StartQueryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS API * Reference

*/ virtual Model::StopQueryOutcome StopQuery(const Model::StopQueryRequest& request) const; /** *

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.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::StopQueryOutcomeCallable StopQueryCallable(const Model::StopQueryRequest& request) const; /** *

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.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void StopQueryAsync(const Model::StopQueryRequest& request, const StopQueryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::TagLogGroupOutcome TagLogGroup(const Model::TagLogGroupRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TagLogGroupOutcomeCallable TagLogGroupCallable(const Model::TagLogGroupRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TagLogGroupAsync(const Model::TagLogGroupRequest& request, const TagLogGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::TestMetricFilterOutcome TestMetricFilter(const Model::TestMetricFilterRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TestMetricFilterOutcomeCallable TestMetricFilterCallable(const Model::TestMetricFilterRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TestMetricFilterAsync(const Model::TestMetricFilterRequest& request, const TestMetricFilterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes the specified tags from the specified log group.

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

See * Also:

AWS * API Reference

*/ virtual Model::UntagLogGroupOutcome UntagLogGroup(const Model::UntagLogGroupRequest& request) const; /** *

Removes the specified tags from the specified log group.

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

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UntagLogGroupOutcomeCallable UntagLogGroupCallable(const Model::UntagLogGroupRequest& request) const; /** *

Removes the specified tags from the specified log group.

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

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UntagLogGroupAsync(const Model::UntagLogGroupRequest& request, const UntagLogGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void AssociateKmsKeyAsyncHelper(const Model::AssociateKmsKeyRequest& request, const AssociateKmsKeyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CancelExportTaskAsyncHelper(const Model::CancelExportTaskRequest& request, const CancelExportTaskResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateExportTaskAsyncHelper(const Model::CreateExportTaskRequest& request, const CreateExportTaskResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateLogGroupAsyncHelper(const Model::CreateLogGroupRequest& request, const CreateLogGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateLogStreamAsyncHelper(const Model::CreateLogStreamRequest& request, const CreateLogStreamResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteDestinationAsyncHelper(const Model::DeleteDestinationRequest& request, const DeleteDestinationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteLogGroupAsyncHelper(const Model::DeleteLogGroupRequest& request, const DeleteLogGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteLogStreamAsyncHelper(const Model::DeleteLogStreamRequest& request, const DeleteLogStreamResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteMetricFilterAsyncHelper(const Model::DeleteMetricFilterRequest& request, const DeleteMetricFilterResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteQueryDefinitionAsyncHelper(const Model::DeleteQueryDefinitionRequest& request, const DeleteQueryDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteResourcePolicyAsyncHelper(const Model::DeleteResourcePolicyRequest& request, const DeleteResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteRetentionPolicyAsyncHelper(const Model::DeleteRetentionPolicyRequest& request, const DeleteRetentionPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteSubscriptionFilterAsyncHelper(const Model::DeleteSubscriptionFilterRequest& request, const DeleteSubscriptionFilterResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeDestinationsAsyncHelper(const Model::DescribeDestinationsRequest& request, const DescribeDestinationsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeExportTasksAsyncHelper(const Model::DescribeExportTasksRequest& request, const DescribeExportTasksResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeLogGroupsAsyncHelper(const Model::DescribeLogGroupsRequest& request, const DescribeLogGroupsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeLogStreamsAsyncHelper(const Model::DescribeLogStreamsRequest& request, const DescribeLogStreamsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeMetricFiltersAsyncHelper(const Model::DescribeMetricFiltersRequest& request, const DescribeMetricFiltersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeQueriesAsyncHelper(const Model::DescribeQueriesRequest& request, const DescribeQueriesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeQueryDefinitionsAsyncHelper(const Model::DescribeQueryDefinitionsRequest& request, const DescribeQueryDefinitionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeResourcePoliciesAsyncHelper(const Model::DescribeResourcePoliciesRequest& request, const DescribeResourcePoliciesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeSubscriptionFiltersAsyncHelper(const Model::DescribeSubscriptionFiltersRequest& request, const DescribeSubscriptionFiltersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisassociateKmsKeyAsyncHelper(const Model::DisassociateKmsKeyRequest& request, const DisassociateKmsKeyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void FilterLogEventsAsyncHelper(const Model::FilterLogEventsRequest& request, const FilterLogEventsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetLogEventsAsyncHelper(const Model::GetLogEventsRequest& request, const GetLogEventsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetLogGroupFieldsAsyncHelper(const Model::GetLogGroupFieldsRequest& request, const GetLogGroupFieldsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetLogRecordAsyncHelper(const Model::GetLogRecordRequest& request, const GetLogRecordResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetQueryResultsAsyncHelper(const Model::GetQueryResultsRequest& request, const GetQueryResultsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsLogGroupAsyncHelper(const Model::ListTagsLogGroupRequest& request, const ListTagsLogGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutDestinationAsyncHelper(const Model::PutDestinationRequest& request, const PutDestinationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutDestinationPolicyAsyncHelper(const Model::PutDestinationPolicyRequest& request, const PutDestinationPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutLogEventsAsyncHelper(const Model::PutLogEventsRequest& request, const PutLogEventsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutMetricFilterAsyncHelper(const Model::PutMetricFilterRequest& request, const PutMetricFilterResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutQueryDefinitionAsyncHelper(const Model::PutQueryDefinitionRequest& request, const PutQueryDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutResourcePolicyAsyncHelper(const Model::PutResourcePolicyRequest& request, const PutResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutRetentionPolicyAsyncHelper(const Model::PutRetentionPolicyRequest& request, const PutRetentionPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutSubscriptionFilterAsyncHelper(const Model::PutSubscriptionFilterRequest& request, const PutSubscriptionFilterResponseReceivedHandler& handler, const std::shared_ptr& context) const; void StartQueryAsyncHelper(const Model::StartQueryRequest& request, const StartQueryResponseReceivedHandler& handler, const std::shared_ptr& context) const; void StopQueryAsyncHelper(const Model::StopQueryRequest& request, const StopQueryResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagLogGroupAsyncHelper(const Model::TagLogGroupRequest& request, const TagLogGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TestMetricFilterAsyncHelper(const Model::TestMetricFilterRequest& request, const TestMetricFilterResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagLogGroupAsyncHelper(const Model::UntagLogGroupRequest& request, const UntagLogGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace CloudWatchLogs } // namespace Aws