/** * 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 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 QLDB { namespace Model { class CancelJournalKinesisStreamRequest; class CreateLedgerRequest; class DeleteLedgerRequest; class DescribeJournalKinesisStreamRequest; class DescribeJournalS3ExportRequest; class DescribeLedgerRequest; class ExportJournalToS3Request; class GetBlockRequest; class GetDigestRequest; class GetRevisionRequest; class ListJournalKinesisStreamsForLedgerRequest; class ListJournalS3ExportsRequest; class ListJournalS3ExportsForLedgerRequest; class ListLedgersRequest; class ListTagsForResourceRequest; class StreamJournalToKinesisRequest; class TagResourceRequest; class UntagResourceRequest; class UpdateLedgerRequest; typedef Aws::Utils::Outcome CancelJournalKinesisStreamOutcome; typedef Aws::Utils::Outcome CreateLedgerOutcome; typedef Aws::Utils::Outcome DeleteLedgerOutcome; typedef Aws::Utils::Outcome DescribeJournalKinesisStreamOutcome; typedef Aws::Utils::Outcome DescribeJournalS3ExportOutcome; typedef Aws::Utils::Outcome DescribeLedgerOutcome; typedef Aws::Utils::Outcome ExportJournalToS3Outcome; typedef Aws::Utils::Outcome GetBlockOutcome; typedef Aws::Utils::Outcome GetDigestOutcome; typedef Aws::Utils::Outcome GetRevisionOutcome; typedef Aws::Utils::Outcome ListJournalKinesisStreamsForLedgerOutcome; typedef Aws::Utils::Outcome ListJournalS3ExportsOutcome; typedef Aws::Utils::Outcome ListJournalS3ExportsForLedgerOutcome; typedef Aws::Utils::Outcome ListLedgersOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome StreamJournalToKinesisOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateLedgerOutcome; typedef std::future CancelJournalKinesisStreamOutcomeCallable; typedef std::future CreateLedgerOutcomeCallable; typedef std::future DeleteLedgerOutcomeCallable; typedef std::future DescribeJournalKinesisStreamOutcomeCallable; typedef std::future DescribeJournalS3ExportOutcomeCallable; typedef std::future DescribeLedgerOutcomeCallable; typedef std::future ExportJournalToS3OutcomeCallable; typedef std::future GetBlockOutcomeCallable; typedef std::future GetDigestOutcomeCallable; typedef std::future GetRevisionOutcomeCallable; typedef std::future ListJournalKinesisStreamsForLedgerOutcomeCallable; typedef std::future ListJournalS3ExportsOutcomeCallable; typedef std::future ListJournalS3ExportsForLedgerOutcomeCallable; typedef std::future ListLedgersOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future StreamJournalToKinesisOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateLedgerOutcomeCallable; } // namespace Model class QLDBClient; typedef std::function&) > CancelJournalKinesisStreamResponseReceivedHandler; typedef std::function&) > CreateLedgerResponseReceivedHandler; typedef std::function&) > DeleteLedgerResponseReceivedHandler; typedef std::function&) > DescribeJournalKinesisStreamResponseReceivedHandler; typedef std::function&) > DescribeJournalS3ExportResponseReceivedHandler; typedef std::function&) > DescribeLedgerResponseReceivedHandler; typedef std::function&) > ExportJournalToS3ResponseReceivedHandler; typedef std::function&) > GetBlockResponseReceivedHandler; typedef std::function&) > GetDigestResponseReceivedHandler; typedef std::function&) > GetRevisionResponseReceivedHandler; typedef std::function&) > ListJournalKinesisStreamsForLedgerResponseReceivedHandler; typedef std::function&) > ListJournalS3ExportsResponseReceivedHandler; typedef std::function&) > ListJournalS3ExportsForLedgerResponseReceivedHandler; typedef std::function&) > ListLedgersResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > StreamJournalToKinesisResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateLedgerResponseReceivedHandler; /** *

The control plane for Amazon QLDB

*/ class AWS_QLDB_API QLDBClient : 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. */ QLDBClient(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. */ QLDBClient(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 */ QLDBClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~QLDBClient(); /** *

Ends a given Amazon QLDB journal stream. Before a stream can be canceled, its * current status must be ACTIVE.

You can't restart a stream * after you cancel it. Canceled QLDB stream resources are subject to a 7-day * retention period, so they are automatically deleted after this limit * expires.

See Also:

AWS * API Reference

*/ virtual Model::CancelJournalKinesisStreamOutcome CancelJournalKinesisStream(const Model::CancelJournalKinesisStreamRequest& request) const; /** *

Ends a given Amazon QLDB journal stream. Before a stream can be canceled, its * current status must be ACTIVE.

You can't restart a stream * after you cancel it. Canceled QLDB stream resources are subject to a 7-day * retention period, so they are automatically deleted after this limit * expires.

See Also:

AWS * API Reference

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

Ends a given Amazon QLDB journal stream. Before a stream can be canceled, its * current status must be ACTIVE.

You can't restart a stream * after you cancel it. Canceled QLDB stream resources are subject to a 7-day * retention period, so they are automatically deleted after this limit * expires.

See Also:

AWS * API Reference

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

Creates a new ledger in your AWS account.

See Also:

AWS * API Reference

*/ virtual Model::CreateLedgerOutcome CreateLedger(const Model::CreateLedgerRequest& request) const; /** *

Creates a new ledger in your AWS 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::CreateLedgerOutcomeCallable CreateLedgerCallable(const Model::CreateLedgerRequest& request) const; /** *

Creates a new ledger in your AWS account.

See Also:

AWS * API Reference

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

Deletes a ledger and all of its contents. This action is irreversible.

*

If deletion protection is enabled, you must first disable it before you can * delete the ledger using the QLDB API or the AWS Command Line Interface (AWS * CLI). You can disable it by calling the UpdateLedger operation to * set the flag to false. The QLDB console disables deletion * protection for you when you use it to delete a ledger.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteLedgerOutcome DeleteLedger(const Model::DeleteLedgerRequest& request) const; /** *

Deletes a ledger and all of its contents. This action is irreversible.

*

If deletion protection is enabled, you must first disable it before you can * delete the ledger using the QLDB API or the AWS Command Line Interface (AWS * CLI). You can disable it by calling the UpdateLedger operation to * set the flag to false. The QLDB console disables deletion * protection for you when you use it to delete a ledger.

See Also:

* AWS * API Reference

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

Deletes a ledger and all of its contents. This action is irreversible.

*

If deletion protection is enabled, you must first disable it before you can * delete the ledger using the QLDB API or the AWS Command Line Interface (AWS * CLI). You can disable it by calling the UpdateLedger operation to * set the flag to false. The QLDB console disables deletion * protection for you when you use it to delete a ledger.

See Also:

* AWS * API Reference

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

Returns detailed information about a given Amazon QLDB journal stream. The * output includes the Amazon Resource Name (ARN), stream name, current status, * creation time, and the parameters of your original stream creation * request.

See Also:

AWS * API Reference

*/ virtual Model::DescribeJournalKinesisStreamOutcome DescribeJournalKinesisStream(const Model::DescribeJournalKinesisStreamRequest& request) const; /** *

Returns detailed information about a given Amazon QLDB journal stream. The * output includes the Amazon Resource Name (ARN), stream name, current status, * creation time, and the parameters of your original stream creation * 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::DescribeJournalKinesisStreamOutcomeCallable DescribeJournalKinesisStreamCallable(const Model::DescribeJournalKinesisStreamRequest& request) const; /** *

Returns detailed information about a given Amazon QLDB journal stream. The * output includes the Amazon Resource Name (ARN), stream name, current status, * creation time, and the parameters of your original stream creation * request.

See Also:

AWS * API Reference

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

Returns information about a journal export job, including the ledger name, * export ID, when it was created, current status, and its start and end time * export parameters.

This action does not return any expired export jobs. * For more information, see Export * Job Expiration in the Amazon QLDB Developer Guide.

If the * export job with the given ExportId doesn't exist, then throws * ResourceNotFoundException.

If the ledger with the given * Name doesn't exist, then throws * ResourceNotFoundException.

See Also:

AWS * API Reference

*/ virtual Model::DescribeJournalS3ExportOutcome DescribeJournalS3Export(const Model::DescribeJournalS3ExportRequest& request) const; /** *

Returns information about a journal export job, including the ledger name, * export ID, when it was created, current status, and its start and end time * export parameters.

This action does not return any expired export jobs. * For more information, see Export * Job Expiration in the Amazon QLDB Developer Guide.

If the * export job with the given ExportId doesn't exist, then throws * ResourceNotFoundException.

If the ledger with the given * Name doesn't exist, then throws * ResourceNotFoundException.

See Also:

AWS * API Reference

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

Returns information about a journal export job, including the ledger name, * export ID, when it was created, current status, and its start and end time * export parameters.

This action does not return any expired export jobs. * For more information, see Export * Job Expiration in the Amazon QLDB Developer Guide.

If the * export job with the given ExportId doesn't exist, then throws * ResourceNotFoundException.

If the ledger with the given * Name doesn't exist, then throws * ResourceNotFoundException.

See Also:

AWS * API Reference

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

Returns information about a ledger, including its state and when it was * created.

See Also:

AWS * API Reference

*/ virtual Model::DescribeLedgerOutcome DescribeLedger(const Model::DescribeLedgerRequest& request) const; /** *

Returns information about a ledger, including its state and when it was * created.

See Also:

AWS * API Reference

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

Returns information about a ledger, including its state and when it was * created.

See Also:

AWS * API Reference

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

Exports journal contents within a date and time range from a ledger into a * specified Amazon Simple Storage Service (Amazon S3) bucket. The data is written * as files in Amazon Ion format.

If the ledger with the given * Name doesn't exist, then throws * ResourceNotFoundException.

If the ledger with the given * Name is in CREATING status, then throws * ResourcePreconditionNotMetException.

You can initiate up to * two concurrent journal export requests for each ledger. Beyond this limit, * journal export requests throw LimitExceededException.

See * Also:

AWS * API Reference

*/ virtual Model::ExportJournalToS3Outcome ExportJournalToS3(const Model::ExportJournalToS3Request& request) const; /** *

Exports journal contents within a date and time range from a ledger into a * specified Amazon Simple Storage Service (Amazon S3) bucket. The data is written * as files in Amazon Ion format.

If the ledger with the given * Name doesn't exist, then throws * ResourceNotFoundException.

If the ledger with the given * Name is in CREATING status, then throws * ResourcePreconditionNotMetException.

You can initiate up to * two concurrent journal export requests for each ledger. Beyond this limit, * journal export requests throw LimitExceededException.

See * Also:

AWS * API Reference

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

Exports journal contents within a date and time range from a ledger into a * specified Amazon Simple Storage Service (Amazon S3) bucket. The data is written * as files in Amazon Ion format.

If the ledger with the given * Name doesn't exist, then throws * ResourceNotFoundException.

If the ledger with the given * Name is in CREATING status, then throws * ResourcePreconditionNotMetException.

You can initiate up to * two concurrent journal export requests for each ledger. Beyond this limit, * journal export requests throw LimitExceededException.

See * Also:

AWS * API Reference

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

Returns a block object at a specified address in a journal. Also returns a * proof of the specified block for verification if DigestTipAddress * is provided.

For information about the data contents in a block, see Journal * contents in the Amazon QLDB Developer Guide.

If the specified * ledger doesn't exist or is in DELETING status, then throws * ResourceNotFoundException.

If the specified ledger is in * CREATING status, then throws * ResourcePreconditionNotMetException.

If no block exists with * the specified address, then throws * InvalidParameterException.

See Also:

AWS API * Reference

*/ virtual Model::GetBlockOutcome GetBlock(const Model::GetBlockRequest& request) const; /** *

Returns a block object at a specified address in a journal. Also returns a * proof of the specified block for verification if DigestTipAddress * is provided.

For information about the data contents in a block, see Journal * contents in the Amazon QLDB Developer Guide.

If the specified * ledger doesn't exist or is in DELETING status, then throws * ResourceNotFoundException.

If the specified ledger is in * CREATING status, then throws * ResourcePreconditionNotMetException.

If no block exists with * the specified address, then throws * InvalidParameterException.

See Also:

AWS API * Reference

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

Returns a block object at a specified address in a journal. Also returns a * proof of the specified block for verification if DigestTipAddress * is provided.

For information about the data contents in a block, see Journal * contents in the Amazon QLDB Developer Guide.

If the specified * ledger doesn't exist or is in DELETING status, then throws * ResourceNotFoundException.

If the specified ledger is in * CREATING status, then throws * ResourcePreconditionNotMetException.

If no block exists with * the specified address, then throws * InvalidParameterException.

See Also:

AWS API * Reference

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

Returns the digest of a ledger at the latest committed block in the journal. * The response includes a 256-bit hash value and a block address.

See * Also:

AWS API * Reference

*/ virtual Model::GetDigestOutcome GetDigest(const Model::GetDigestRequest& request) const; /** *

Returns the digest of a ledger at the latest committed block in the journal. * The response includes a 256-bit hash value and a block address.

See * Also:

AWS API * Reference

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

Returns the digest of a ledger at the latest committed block in the journal. * The response includes a 256-bit hash value and a block address.

See * Also:

AWS API * Reference

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

Returns a revision data object for a specified document ID and block address. * Also returns a proof of the specified revision for verification if * DigestTipAddress is provided.

See Also:

AWS * API Reference

*/ virtual Model::GetRevisionOutcome GetRevision(const Model::GetRevisionRequest& request) const; /** *

Returns a revision data object for a specified document ID and block address. * Also returns a proof of the specified revision for verification if * DigestTipAddress is provided.

See Also:

AWS * API Reference

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

Returns a revision data object for a specified document ID and block address. * Also returns a proof of the specified revision for verification if * DigestTipAddress is provided.

See Also:

AWS * API Reference

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

Returns an array of all Amazon QLDB journal stream descriptors for a given * ledger. The output of each stream descriptor includes the same details that are * returned by DescribeJournalKinesisStream.

This action * returns a maximum of MaxResults items. It is paginated so that you * can retrieve all the items by calling * ListJournalKinesisStreamsForLedger multiple times.

See * Also:

AWS * API Reference

*/ virtual Model::ListJournalKinesisStreamsForLedgerOutcome ListJournalKinesisStreamsForLedger(const Model::ListJournalKinesisStreamsForLedgerRequest& request) const; /** *

Returns an array of all Amazon QLDB journal stream descriptors for a given * ledger. The output of each stream descriptor includes the same details that are * returned by DescribeJournalKinesisStream.

This action * returns a maximum of MaxResults items. It is paginated so that you * can retrieve all the items by calling * ListJournalKinesisStreamsForLedger multiple times.

See * Also:

AWS * API Reference

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

Returns an array of all Amazon QLDB journal stream descriptors for a given * ledger. The output of each stream descriptor includes the same details that are * returned by DescribeJournalKinesisStream.

This action * returns a maximum of MaxResults items. It is paginated so that you * can retrieve all the items by calling * ListJournalKinesisStreamsForLedger multiple times.

See * Also:

AWS * API Reference

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

Returns an array of journal export job descriptions for all ledgers that are * associated with the current AWS account and Region.

This action returns a * maximum of MaxResults items, and is paginated so that you can * retrieve all the items by calling ListJournalS3Exports multiple * times.

This action does not return any expired export jobs. For more * information, see Export * Job Expiration in the Amazon QLDB Developer Guide.

See * Also:

AWS * API Reference

*/ virtual Model::ListJournalS3ExportsOutcome ListJournalS3Exports(const Model::ListJournalS3ExportsRequest& request) const; /** *

Returns an array of journal export job descriptions for all ledgers that are * associated with the current AWS account and Region.

This action returns a * maximum of MaxResults items, and is paginated so that you can * retrieve all the items by calling ListJournalS3Exports multiple * times.

This action does not return any expired export jobs. For more * information, see Export * Job Expiration in the Amazon QLDB Developer 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::ListJournalS3ExportsOutcomeCallable ListJournalS3ExportsCallable(const Model::ListJournalS3ExportsRequest& request) const; /** *

Returns an array of journal export job descriptions for all ledgers that are * associated with the current AWS account and Region.

This action returns a * maximum of MaxResults items, and is paginated so that you can * retrieve all the items by calling ListJournalS3Exports multiple * times.

This action does not return any expired export jobs. For more * information, see Export * Job Expiration in the Amazon QLDB Developer Guide.

See * Also:

AWS * API Reference

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

Returns an array of journal export job descriptions for a specified * ledger.

This action returns a maximum of MaxResults items, * and is paginated so that you can retrieve all the items by calling * ListJournalS3ExportsForLedger multiple times.

This action * does not return any expired export jobs. For more information, see Export * Job Expiration in the Amazon QLDB Developer Guide.

See * Also:

AWS * API Reference

*/ virtual Model::ListJournalS3ExportsForLedgerOutcome ListJournalS3ExportsForLedger(const Model::ListJournalS3ExportsForLedgerRequest& request) const; /** *

Returns an array of journal export job descriptions for a specified * ledger.

This action returns a maximum of MaxResults items, * and is paginated so that you can retrieve all the items by calling * ListJournalS3ExportsForLedger multiple times.

This action * does not return any expired export jobs. For more information, see Export * Job Expiration in the Amazon QLDB Developer 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::ListJournalS3ExportsForLedgerOutcomeCallable ListJournalS3ExportsForLedgerCallable(const Model::ListJournalS3ExportsForLedgerRequest& request) const; /** *

Returns an array of journal export job descriptions for a specified * ledger.

This action returns a maximum of MaxResults items, * and is paginated so that you can retrieve all the items by calling * ListJournalS3ExportsForLedger multiple times.

This action * does not return any expired export jobs. For more information, see Export * Job Expiration in the Amazon QLDB Developer Guide.

See * Also:

AWS * API Reference

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

Returns an array of ledger summaries that are associated with the current AWS * account and Region.

This action returns a maximum of 100 items and is * paginated so that you can retrieve all the items by calling * ListLedgers multiple times.

See Also:

AWS * API Reference

*/ virtual Model::ListLedgersOutcome ListLedgers(const Model::ListLedgersRequest& request) const; /** *

Returns an array of ledger summaries that are associated with the current AWS * account and Region.

This action returns a maximum of 100 items and is * paginated so that you can retrieve all the items by calling * ListLedgers multiple times.

See Also:

AWS * API Reference

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

Returns an array of ledger summaries that are associated with the current AWS * account and Region.

This action returns a maximum of 100 items and is * paginated so that you can retrieve all the items by calling * ListLedgers multiple times.

See Also:

AWS * API Reference

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

Returns all tags for a specified Amazon QLDB resource.

See * Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** *

Returns all tags for a specified Amazon QLDB resource.

See * Also:

AWS * API Reference

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

Returns all tags for a specified Amazon QLDB resource.

See * Also:

AWS * API Reference

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

Creates a journal stream for a given Amazon QLDB ledger. The stream captures * every document revision that is committed to the ledger's journal and delivers * the data to a specified Amazon Kinesis Data Streams resource.

See * Also:

AWS * API Reference

*/ virtual Model::StreamJournalToKinesisOutcome StreamJournalToKinesis(const Model::StreamJournalToKinesisRequest& request) const; /** *

Creates a journal stream for a given Amazon QLDB ledger. The stream captures * every document revision that is committed to the ledger's journal and delivers * the data to a specified Amazon Kinesis Data Streams resource.

See * Also:

AWS * API Reference

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

Creates a journal stream for a given Amazon QLDB ledger. The stream captures * every document revision that is committed to the ledger's journal and delivers * the data to a specified Amazon Kinesis Data Streams resource.

See * Also:

AWS * API Reference

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

Adds one or more tags to a specified Amazon QLDB resource.

A resource * can have up to 50 tags. If you try to create more than 50 tags for a resource, * your request fails and returns an error.

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** *

Adds one or more tags to a specified Amazon QLDB resource.

A resource * can have up to 50 tags. If you try to create more than 50 tags for a resource, * your request fails and returns an 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::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; /** *

Adds one or more tags to a specified Amazon QLDB resource.

A resource * can have up to 50 tags. If you try to create more than 50 tags for a resource, * your request fails and returns an error.

See Also:

AWS * API Reference

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

Removes one or more tags from a specified Amazon QLDB resource. You can * specify up to 50 tag keys to remove.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** *

Removes one or more tags from a specified Amazon QLDB resource. You can * specify up to 50 tag keys to remove.

See Also:

AWS * API Reference

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

Removes one or more tags from a specified Amazon QLDB resource. You can * specify up to 50 tag keys to remove.

See Also:

AWS * API Reference

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

Updates properties on a ledger.

See Also:

AWS * API Reference

*/ virtual Model::UpdateLedgerOutcome UpdateLedger(const Model::UpdateLedgerRequest& request) const; /** *

Updates properties on a ledger.

See Also:

AWS * API Reference

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

Updates properties on a ledger.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateLedgerAsync(const Model::UpdateLedgerRequest& request, const UpdateLedgerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void CancelJournalKinesisStreamAsyncHelper(const Model::CancelJournalKinesisStreamRequest& request, const CancelJournalKinesisStreamResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateLedgerAsyncHelper(const Model::CreateLedgerRequest& request, const CreateLedgerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteLedgerAsyncHelper(const Model::DeleteLedgerRequest& request, const DeleteLedgerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeJournalKinesisStreamAsyncHelper(const Model::DescribeJournalKinesisStreamRequest& request, const DescribeJournalKinesisStreamResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeJournalS3ExportAsyncHelper(const Model::DescribeJournalS3ExportRequest& request, const DescribeJournalS3ExportResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeLedgerAsyncHelper(const Model::DescribeLedgerRequest& request, const DescribeLedgerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ExportJournalToS3AsyncHelper(const Model::ExportJournalToS3Request& request, const ExportJournalToS3ResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetBlockAsyncHelper(const Model::GetBlockRequest& request, const GetBlockResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetDigestAsyncHelper(const Model::GetDigestRequest& request, const GetDigestResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetRevisionAsyncHelper(const Model::GetRevisionRequest& request, const GetRevisionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListJournalKinesisStreamsForLedgerAsyncHelper(const Model::ListJournalKinesisStreamsForLedgerRequest& request, const ListJournalKinesisStreamsForLedgerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListJournalS3ExportsAsyncHelper(const Model::ListJournalS3ExportsRequest& request, const ListJournalS3ExportsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListJournalS3ExportsForLedgerAsyncHelper(const Model::ListJournalS3ExportsForLedgerRequest& request, const ListJournalS3ExportsForLedgerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListLedgersAsyncHelper(const Model::ListLedgersRequest& request, const ListLedgersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void StreamJournalToKinesisAsyncHelper(const Model::StreamJournalToKinesisRequest& request, const StreamJournalToKinesisResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateLedgerAsyncHelper(const Model::UpdateLedgerRequest& request, const UpdateLedgerResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace QLDB } // namespace Aws