/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the qldb-2019-01-02.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.QLDB.Model;
namespace Amazon.QLDB
{
///
/// Interface for accessing QLDB
///
/// The resource management API for Amazon QLDB
///
public partial interface IAmazonQLDB : IAmazonService, IDisposable
{
#if AWS_ASYNC_ENUMERABLES_API
///
/// Paginators for the service
///
IQLDBPaginatorFactory Paginators { get; }
#endif
#region CancelJournalKinesisStream
///
/// 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.
///
///
/// Container for the necessary parameters to execute the CancelJournalKinesisStream service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CancelJournalKinesisStream service method, as returned by QLDB.
///
/// One or more parameters in the request aren't valid.
///
///
/// The specified resource doesn't exist.
///
///
/// The operation failed because a condition wasn't satisfied in advance.
///
/// REST API Reference for CancelJournalKinesisStream Operation
Task CancelJournalKinesisStreamAsync(CancelJournalKinesisStreamRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateLedger
///
/// Creates a new ledger in your Amazon Web Services account in the current Region.
///
/// Container for the necessary parameters to execute the CreateLedger service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateLedger service method, as returned by QLDB.
///
/// One or more parameters in the request aren't valid.
///
///
/// You have reached the limit on the maximum number of resources allowed.
///
///
/// The specified resource already exists.
///
///
/// The specified resource can't be modified at this time.
///
/// REST API Reference for CreateLedger Operation
Task CreateLedgerAsync(CreateLedgerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteLedger
///
/// 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. You can disable it by calling the UpdateLedger
operation
/// to set this parameter to false
.
///
///
/// Container for the necessary parameters to execute the DeleteLedger service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteLedger service method, as returned by QLDB.
///
/// One or more parameters in the request aren't valid.
///
///
/// The specified resource can't be modified at this time.
///
///
/// The specified resource doesn't exist.
///
///
/// The operation failed because a condition wasn't satisfied in advance.
///
/// REST API Reference for DeleteLedger Operation
Task DeleteLedgerAsync(DeleteLedgerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeJournalKinesisStream
///
/// 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 the original stream creation request.
///
///
///
/// This action does not return any expired journal streams. For more information, see
/// Expiration
/// for terminal streams in the Amazon QLDB Developer Guide.
///
///
/// Container for the necessary parameters to execute the DescribeJournalKinesisStream service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeJournalKinesisStream service method, as returned by QLDB.
///
/// One or more parameters in the request aren't valid.
///
///
/// The specified resource doesn't exist.
///
///
/// The operation failed because a condition wasn't satisfied in advance.
///
/// REST API Reference for DescribeJournalKinesisStream Operation
Task DescribeJournalKinesisStreamAsync(DescribeJournalKinesisStreamRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeJournalS3Export
///
/// Returns information about a journal export job, including the ledger name, export
/// ID, creation time, current status, and the parameters of the original export creation
/// request.
///
///
///
/// 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
.
///
///
/// Container for the necessary parameters to execute the DescribeJournalS3Export service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeJournalS3Export service method, as returned by QLDB.
///
/// The specified resource doesn't exist.
///
/// REST API Reference for DescribeJournalS3Export Operation
Task DescribeJournalS3ExportAsync(DescribeJournalS3ExportRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeLedger
///
/// Returns information about a ledger, including its state, permissions mode, encryption
/// at rest settings, and when it was created.
///
/// Container for the necessary parameters to execute the DescribeLedger service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeLedger service method, as returned by QLDB.
///
/// One or more parameters in the request aren't valid.
///
///
/// The specified resource doesn't exist.
///
/// REST API Reference for DescribeLedger Operation
Task DescribeLedgerAsync(DescribeLedgerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ExportJournalToS3
///
/// Exports journal contents within a date and time range from a ledger into a specified
/// Amazon Simple Storage Service (Amazon S3) bucket. A journal export job can write the
/// data objects in either the text or binary representation of Amazon Ion format, or
/// in JSON Lines text 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
.
///
///
/// Container for the necessary parameters to execute the ExportJournalToS3 service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ExportJournalToS3 service method, as returned by QLDB.
///
/// The specified resource doesn't exist.
///
///
/// The operation failed because a condition wasn't satisfied in advance.
///
/// REST API Reference for ExportJournalToS3 Operation
Task ExportJournalToS3Async(ExportJournalToS3Request request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetBlock
///
/// 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
.
///
///
/// Container for the necessary parameters to execute the GetBlock service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetBlock service method, as returned by QLDB.
///
/// One or more parameters in the request aren't valid.
///
///
/// The specified resource doesn't exist.
///
///
/// The operation failed because a condition wasn't satisfied in advance.
///
/// REST API Reference for GetBlock Operation
Task GetBlockAsync(GetBlockRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetDigest
///
/// 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.
///
/// Container for the necessary parameters to execute the GetDigest service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetDigest service method, as returned by QLDB.
///
/// One or more parameters in the request aren't valid.
///
///
/// The specified resource doesn't exist.
///
///
/// The operation failed because a condition wasn't satisfied in advance.
///
/// REST API Reference for GetDigest Operation
Task GetDigestAsync(GetDigestRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetRevision
///
/// 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.
///
/// Container for the necessary parameters to execute the GetRevision service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetRevision service method, as returned by QLDB.
///
/// One or more parameters in the request aren't valid.
///
///
/// The specified resource doesn't exist.
///
///
/// The operation failed because a condition wasn't satisfied in advance.
///
/// REST API Reference for GetRevision Operation
Task GetRevisionAsync(GetRevisionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListJournalKinesisStreamsForLedger
///
/// Returns all Amazon QLDB journal streams for a given ledger.
///
///
///
/// This action does not return any expired journal streams. For more information, see
/// Expiration
/// for terminal streams in the Amazon QLDB Developer Guide.
///
///
///
/// This action returns a maximum of MaxResults
items. It is paginated so
/// that you can retrieve all the items by calling ListJournalKinesisStreamsForLedger
/// multiple times.
///
///
/// Container for the necessary parameters to execute the ListJournalKinesisStreamsForLedger service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListJournalKinesisStreamsForLedger service method, as returned by QLDB.
///
/// One or more parameters in the request aren't valid.
///
///
/// The specified resource doesn't exist.
///
///
/// The operation failed because a condition wasn't satisfied in advance.
///
/// REST API Reference for ListJournalKinesisStreamsForLedger Operation
Task ListJournalKinesisStreamsForLedgerAsync(ListJournalKinesisStreamsForLedgerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListJournalS3Exports
///
/// Returns all journal export jobs for all ledgers that are associated with the current
/// Amazon Web Services 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.
///
///
/// Container for the necessary parameters to execute the ListJournalS3Exports service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListJournalS3Exports service method, as returned by QLDB.
/// REST API Reference for ListJournalS3Exports Operation
Task ListJournalS3ExportsAsync(ListJournalS3ExportsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListJournalS3ExportsForLedger
///
/// Returns all journal export jobs 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.
///
///
/// Container for the necessary parameters to execute the ListJournalS3ExportsForLedger service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListJournalS3ExportsForLedger service method, as returned by QLDB.
/// REST API Reference for ListJournalS3ExportsForLedger Operation
Task ListJournalS3ExportsForLedgerAsync(ListJournalS3ExportsForLedgerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListLedgers
///
/// Returns all ledgers that are associated with the current Amazon Web Services account
/// and Region.
///
///
///
/// This action returns a maximum of MaxResults
items and is paginated so
/// that you can retrieve all the items by calling ListLedgers
multiple times.
///
///
/// Container for the necessary parameters to execute the ListLedgers service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListLedgers service method, as returned by QLDB.
/// REST API Reference for ListLedgers Operation
Task ListLedgersAsync(ListLedgersRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTagsForResource
///
/// Returns all tags for a specified Amazon QLDB resource.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTagsForResource service method, as returned by QLDB.
///
/// One or more parameters in the request aren't valid.
///
///
/// The specified resource doesn't exist.
///
/// REST API Reference for ListTagsForResource Operation
Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region StreamJournalToKinesis
///
/// 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.
///
/// Container for the necessary parameters to execute the StreamJournalToKinesis service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the StreamJournalToKinesis service method, as returned by QLDB.
///
/// One or more parameters in the request aren't valid.
///
///
/// The specified resource doesn't exist.
///
///
/// The operation failed because a condition wasn't satisfied in advance.
///
/// REST API Reference for StreamJournalToKinesis Operation
Task StreamJournalToKinesisAsync(StreamJournalToKinesisRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region TagResource
///
/// 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.
///
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the TagResource service method, as returned by QLDB.
///
/// One or more parameters in the request aren't valid.
///
///
/// The specified resource doesn't exist.
///
/// REST API Reference for TagResource Operation
Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UntagResource
///
/// Removes one or more tags from a specified Amazon QLDB resource. You can specify up
/// to 50 tag keys to remove.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UntagResource service method, as returned by QLDB.
///
/// One or more parameters in the request aren't valid.
///
///
/// The specified resource doesn't exist.
///
/// REST API Reference for UntagResource Operation
Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateLedger
///
/// Updates properties on a ledger.
///
/// Container for the necessary parameters to execute the UpdateLedger service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateLedger service method, as returned by QLDB.
///
/// One or more parameters in the request aren't valid.
///
///
/// The specified resource doesn't exist.
///
/// REST API Reference for UpdateLedger Operation
Task UpdateLedgerAsync(UpdateLedgerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateLedgerPermissionsMode
///
/// Updates the permissions mode of a ledger.
///
///
///
/// Before you switch to the STANDARD
permissions mode, you must first create
/// all required IAM policies and table tags to avoid disruption to your users. To learn
/// more, see Migrating
/// to the standard permissions mode in the Amazon QLDB Developer Guide.
///
///
///
/// Container for the necessary parameters to execute the UpdateLedgerPermissionsMode service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateLedgerPermissionsMode service method, as returned by QLDB.
///
/// One or more parameters in the request aren't valid.
///
///
/// The specified resource doesn't exist.
///
/// REST API Reference for UpdateLedgerPermissionsMode Operation
Task UpdateLedgerPermissionsModeAsync(UpdateLedgerPermissionsModeRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}