pub struct Client { /* private fields */ }
Expand description
Client for Amazon QLDB
Client for invoking operations on Amazon QLDB. Each operation on Amazon QLDB is a method on this
this struct. .send()
MUST be invoked on the generated operations to dispatch the request to the service.
§Constructing a Client
A Config
is required to construct a client. For most use cases, the aws-config
crate should be used to automatically resolve this config using
aws_config::load_from_env()
, since this will resolve an SdkConfig
which can be shared
across multiple different AWS SDK clients. This config resolution process can be customized
by calling aws_config::from_env()
instead, which returns a ConfigLoader
that uses
the builder pattern to customize the default config.
In the simplest case, creating a client looks as follows:
let config = aws_config::load_from_env().await;
let client = aws_sdk_qldb::Client::new(&config);
Occasionally, SDKs may have additional service-specific values that can be set on the Config
that
is absent from SdkConfig
, or slightly different settings for a specific client may be desired.
The Builder
struct implements From<&SdkConfig>
, so setting these specific settings can be
done as follows:
let sdk_config = ::aws_config::load_from_env().await;
let config = aws_sdk_qldb::config::Builder::from(&sdk_config)
.some_service_specific_setting("value")
.build();
See the aws-config
docs and Config
for more information on customizing configuration.
Note: Client construction is expensive due to connection thread pool initialization, and should be done once at application start-up.
§Using the Client
A client has a function for every operation that can be performed by the service.
For example, the CancelJournalKinesisStream
operation has
a Client::cancel_journal_kinesis_stream
, function which returns a builder for that operation.
The fluent builder ultimately has a send()
function that returns an async future that
returns a result, as illustrated below:
let result = client.cancel_journal_kinesis_stream()
.ledger_name("example")
.send()
.await;
The underlying HTTP requests that get made by this can be modified with the customize_operation
function on the fluent builder. See the customize
module for more
information.
Implementations§
Source§impl Client
impl Client
Sourcepub fn cancel_journal_kinesis_stream(
&self,
) -> CancelJournalKinesisStreamFluentBuilder
pub fn cancel_journal_kinesis_stream( &self, ) -> CancelJournalKinesisStreamFluentBuilder
Constructs a fluent builder for the CancelJournalKinesisStream
operation.
- The fluent builder is configurable:
ledger_name(impl Into<String>)
/set_ledger_name(Option<String>)
:
required: trueThe name of the ledger.
stream_id(impl Into<String>)
/set_stream_id(Option<String>)
:
required: trueThe UUID (represented in Base62-encoded text) of the QLDB journal stream to be canceled.
- On success, responds with
CancelJournalKinesisStreamOutput
with field(s):stream_id(Option<String>)
:The UUID (Base62-encoded text) of the canceled QLDB journal stream.
- On failure, responds with
SdkError<CancelJournalKinesisStreamError>
Source§impl Client
impl Client
Sourcepub fn create_ledger(&self) -> CreateLedgerFluentBuilder
pub fn create_ledger(&self) -> CreateLedgerFluentBuilder
Constructs a fluent builder for the CreateLedger
operation.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueThe name of the ledger that you want to create. The name must be unique among all of the ledgers in your Amazon Web Services account in the current Region.
Naming constraints for ledger names are defined in Quotas in Amazon QLDB in the Amazon QLDB Developer Guide.
tags(impl Into<String>, Option<String>)
/set_tags(Option<HashMap::<String, Option<String>>>)
:
required: falseThe key-value pairs to add as tags to the ledger that you want to create. Tag keys are case sensitive. Tag values are case sensitive and can be null.
permissions_mode(PermissionsMode)
/set_permissions_mode(Option<PermissionsMode>)
:
required: trueThe permissions mode to assign to the ledger that you want to create. This parameter can have one of the following values:
-
ALLOW_ALL
: A legacy permissions mode that enables access control with API-level granularity for ledgers.This mode allows users who have the
SendCommand
API permission for this ledger to run all PartiQL commands (hence,ALLOW_ALL
) on any tables in the specified ledger. This mode disregards any table-level or command-level IAM permissions policies that you create for the ledger. -
STANDARD
: (Recommended) A permissions mode that enables access control with finer granularity for ledgers, tables, and PartiQL commands.By default, this mode denies all user requests to run any PartiQL commands on any tables in this ledger. To allow PartiQL commands to run, you must create IAM permissions policies for specific table resources and PartiQL actions, in addition to the
SendCommand
API permission for the ledger. For information, see Getting started with the standard permissions mode in the Amazon QLDB Developer Guide.
We strongly recommend using the
STANDARD
permissions mode to maximize the security of your ledger data.-
deletion_protection(bool)
/set_deletion_protection(Option<bool>)
:
required: falseSpecifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (
true
) by default.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 tofalse
.kms_key(impl Into<String>)
/set_kms_key(Option<String>)
:
required: falseThe key in Key Management Service (KMS) to use for encryption of data at rest in the ledger. For more information, see Encryption at rest in the Amazon QLDB Developer Guide.
Use one of the following options to specify this parameter:
-
AWS_OWNED_KMS_KEY
: Use an KMS key that is owned and managed by Amazon Web Services on your behalf. -
Undefined: By default, use an Amazon Web Services owned KMS key.
-
A valid symmetric customer managed KMS key: Use the specified symmetric encryption KMS key in your account that you create, own, and manage.
Amazon QLDB does not support asymmetric keys. For more information, see Using symmetric and asymmetric keys in the Key Management Service Developer Guide.
To specify a customer managed KMS key, you can use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with
“alias/”
. To specify a key in a different Amazon Web Services account, you must use the key ARN or alias ARN.For example:
-
Key ID:
1234abcd-12ab-34cd-56ef-1234567890ab
-
Key ARN:
arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
-
Alias name:
alias/ExampleAlias
-
Alias ARN:
arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
For more information, see Key identifiers (KeyId) in the Key Management Service Developer Guide.
-
- On success, responds with
CreateLedgerOutput
with field(s):name(Option<String>)
:The name of the ledger.
arn(Option<String>)
:The Amazon Resource Name (ARN) for the ledger.
state(Option<LedgerState>)
:The current status of the ledger.
creation_date_time(Option<DateTime>)
:The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)
permissions_mode(Option<PermissionsMode>)
:The permissions mode of the ledger that you created.
deletion_protection(Option<bool>)
:Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (
true
) by default.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 tofalse
.kms_key_arn(Option<String>)
:The ARN of the customer managed KMS key that the ledger uses for encryption at rest. If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.
- On failure, responds with
SdkError<CreateLedgerError>
Source§impl Client
impl Client
Sourcepub fn delete_ledger(&self) -> DeleteLedgerFluentBuilder
pub fn delete_ledger(&self) -> DeleteLedgerFluentBuilder
Constructs a fluent builder for the DeleteLedger
operation.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueThe name of the ledger that you want to delete.
- On success, responds with
DeleteLedgerOutput
- On failure, responds with
SdkError<DeleteLedgerError>
Source§impl Client
impl Client
Sourcepub fn describe_journal_kinesis_stream(
&self,
) -> DescribeJournalKinesisStreamFluentBuilder
pub fn describe_journal_kinesis_stream( &self, ) -> DescribeJournalKinesisStreamFluentBuilder
Constructs a fluent builder for the DescribeJournalKinesisStream
operation.
- The fluent builder is configurable:
ledger_name(impl Into<String>)
/set_ledger_name(Option<String>)
:
required: trueThe name of the ledger.
stream_id(impl Into<String>)
/set_stream_id(Option<String>)
:
required: trueThe UUID (represented in Base62-encoded text) of the QLDB journal stream to describe.
- On success, responds with
DescribeJournalKinesisStreamOutput
with field(s):stream(Option<JournalKinesisStreamDescription>)
:Information about the QLDB journal stream returned by a
DescribeJournalS3Export
request.
- On failure, responds with
SdkError<DescribeJournalKinesisStreamError>
Source§impl Client
impl Client
Sourcepub fn describe_journal_s3_export(&self) -> DescribeJournalS3ExportFluentBuilder
pub fn describe_journal_s3_export(&self) -> DescribeJournalS3ExportFluentBuilder
Constructs a fluent builder for the DescribeJournalS3Export
operation.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueThe name of the ledger.
export_id(impl Into<String>)
/set_export_id(Option<String>)
:
required: trueThe UUID (represented in Base62-encoded text) of the journal export job to describe.
- On success, responds with
DescribeJournalS3ExportOutput
with field(s):export_description(Option<JournalS3ExportDescription>)
:Information about the journal export job returned by a
DescribeJournalS3Export
request.
- On failure, responds with
SdkError<DescribeJournalS3ExportError>
Source§impl Client
impl Client
Sourcepub fn describe_ledger(&self) -> DescribeLedgerFluentBuilder
pub fn describe_ledger(&self) -> DescribeLedgerFluentBuilder
Constructs a fluent builder for the DescribeLedger
operation.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueThe name of the ledger that you want to describe.
- On success, responds with
DescribeLedgerOutput
with field(s):name(Option<String>)
:The name of the ledger.
arn(Option<String>)
:The Amazon Resource Name (ARN) for the ledger.
state(Option<LedgerState>)
:The current status of the ledger.
creation_date_time(Option<DateTime>)
:The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)
permissions_mode(Option<PermissionsMode>)
:The permissions mode of the ledger.
deletion_protection(Option<bool>)
:Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (
true
) by default.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 tofalse
.encryption_description(Option<LedgerEncryptionDescription>)
:Information about the encryption of data at rest in the ledger. This includes the current status, the KMS key, and when the key became inaccessible (in the case of an error). If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.
- On failure, responds with
SdkError<DescribeLedgerError>
Source§impl Client
impl Client
Sourcepub fn export_journal_to_s3(&self) -> ExportJournalToS3FluentBuilder
pub fn export_journal_to_s3(&self) -> ExportJournalToS3FluentBuilder
Constructs a fluent builder for the ExportJournalToS3
operation.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueThe name of the ledger.
inclusive_start_time(DateTime)
/set_inclusive_start_time(Option<DateTime>)
:
required: trueThe inclusive start date and time for the range of journal contents to export.
The
InclusiveStartTime
must be inISO 8601
date and time format and in Universal Coordinated Time (UTC). For example:2019-06-13T21:36:34Z
.The
InclusiveStartTime
must be beforeExclusiveEndTime
.If you provide an
InclusiveStartTime
that is before the ledger’sCreationDateTime
, Amazon QLDB defaults it to the ledger’sCreationDateTime
.exclusive_end_time(DateTime)
/set_exclusive_end_time(Option<DateTime>)
:
required: trueThe exclusive end date and time for the range of journal contents to export.
The
ExclusiveEndTime
must be inISO 8601
date and time format and in Universal Coordinated Time (UTC). For example:2019-06-13T21:36:34Z
.The
ExclusiveEndTime
must be less than or equal to the current UTC date and time.s3_export_configuration(S3ExportConfiguration)
/set_s3_export_configuration(Option<S3ExportConfiguration>)
:
required: trueThe configuration settings of the Amazon S3 bucket destination for your export request.
role_arn(impl Into<String>)
/set_role_arn(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal export job to do the following:
-
Write objects into your Amazon S3 bucket.
-
(Optional) Use your customer managed key in Key Management Service (KMS) for server-side encryption of your exported data.
To pass a role to QLDB when requesting a journal export, you must have permissions to perform the
iam:PassRole
action on the IAM role resource. This is required for all journal export requests.-
output_format(OutputFormat)
/set_output_format(Option<OutputFormat>)
:
required: falseThe output format of your exported journal data. 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.
Default:
ION_TEXT
In JSON Lines format, each journal block in an exported data object is a valid JSON object that is delimited by a newline. You can use this format to directly integrate JSON exports with analytics tools such as Amazon Athena and Glue because these services can parse newline-delimited JSON automatically.
- On success, responds with
ExportJournalToS3Output
with field(s):export_id(String)
:The UUID (represented in Base62-encoded text) that QLDB assigns to each journal export job.
To describe your export request and check the status of the job, you can use
ExportId
to callDescribeJournalS3Export
.
- On failure, responds with
SdkError<ExportJournalToS3Error>
Source§impl Client
impl Client
Sourcepub fn get_block(&self) -> GetBlockFluentBuilder
pub fn get_block(&self) -> GetBlockFluentBuilder
Constructs a fluent builder for the GetBlock
operation.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueThe name of the ledger.
block_address(ValueHolder)
/set_block_address(Option<ValueHolder>)
:
required: trueThe location of the block that you want to request. An address is an Amazon Ion structure that has two fields:
strandId
andsequenceNo
.For example:
{strandId:“BlFTjlSXze9BIh1KOszcE3”,sequenceNo:14}
.digest_tip_address(ValueHolder)
/set_digest_tip_address(Option<ValueHolder>)
:
required: falseThe latest block location covered by the digest for which to request a proof. An address is an Amazon Ion structure that has two fields:
strandId
andsequenceNo
.For example:
{strandId:“BlFTjlSXze9BIh1KOszcE3”,sequenceNo:49}
.
- On success, responds with
GetBlockOutput
with field(s):block(Option<ValueHolder>)
:The block data object in Amazon Ion format.
proof(Option<ValueHolder>)
:The proof object in Amazon Ion format returned by a
GetBlock
request. A proof contains the list of hash values required to recalculate the specified digest using a Merkle tree, starting with the specified block.
- On failure, responds with
SdkError<GetBlockError>
Source§impl Client
impl Client
Sourcepub fn get_digest(&self) -> GetDigestFluentBuilder
pub fn get_digest(&self) -> GetDigestFluentBuilder
Constructs a fluent builder for the GetDigest
operation.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueThe name of the ledger.
- On success, responds with
GetDigestOutput
with field(s):digest(Blob)
:The 256-bit hash value representing the digest returned by a
GetDigest
request.digest_tip_address(Option<ValueHolder>)
:The latest block location covered by the digest that you requested. An address is an Amazon Ion structure that has two fields:
strandId
andsequenceNo
.
- On failure, responds with
SdkError<GetDigestError>
Source§impl Client
impl Client
Sourcepub fn get_revision(&self) -> GetRevisionFluentBuilder
pub fn get_revision(&self) -> GetRevisionFluentBuilder
Constructs a fluent builder for the GetRevision
operation.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueThe name of the ledger.
block_address(ValueHolder)
/set_block_address(Option<ValueHolder>)
:
required: trueThe block location of the document revision to be verified. An address is an Amazon Ion structure that has two fields:
strandId
andsequenceNo
.For example:
{strandId:“BlFTjlSXze9BIh1KOszcE3”,sequenceNo:14}
.document_id(impl Into<String>)
/set_document_id(Option<String>)
:
required: trueThe UUID (represented in Base62-encoded text) of the document to be verified.
digest_tip_address(ValueHolder)
/set_digest_tip_address(Option<ValueHolder>)
:
required: falseThe latest block location covered by the digest for which to request a proof. An address is an Amazon Ion structure that has two fields:
strandId
andsequenceNo
.For example:
{strandId:“BlFTjlSXze9BIh1KOszcE3”,sequenceNo:49}
.
- On success, responds with
GetRevisionOutput
with field(s):proof(Option<ValueHolder>)
:The proof object in Amazon Ion format returned by a
GetRevision
request. A proof contains the list of hash values that are required to recalculate the specified digest using a Merkle tree, starting with the specified document revision.revision(Option<ValueHolder>)
:The document revision data object in Amazon Ion format.
- On failure, responds with
SdkError<GetRevisionError>
Source§impl Client
impl Client
Sourcepub fn list_journal_kinesis_streams_for_ledger(
&self,
) -> ListJournalKinesisStreamsForLedgerFluentBuilder
pub fn list_journal_kinesis_streams_for_ledger( &self, ) -> ListJournalKinesisStreamsForLedgerFluentBuilder
Constructs a fluent builder for the ListJournalKinesisStreamsForLedger
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
ledger_name(impl Into<String>)
/set_ledger_name(Option<String>)
:
required: trueThe name of the ledger.
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of results to return in a single
ListJournalKinesisStreamsForLedger
request. (The actual number of results returned might be fewer.)next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseA pagination token, indicating that you want to retrieve the next page of results. If you received a value for
NextToken
in the response from a previousListJournalKinesisStreamsForLedger
call, you should use that value as input here.
- On success, responds with
ListJournalKinesisStreamsForLedgerOutput
with field(s):streams(Option<Vec::<JournalKinesisStreamDescription>>)
:The QLDB journal streams that are currently associated with the given ledger.
next_token(Option<String>)
:-
If
NextToken
is empty, the last page of results has been processed and there are no more results to be retrieved. -
If
NextToken
is not empty, more results are available. To retrieve the next page of results, use the value ofNextToken
in a subsequentListJournalKinesisStreamsForLedger
call.
-
- On failure, responds with
SdkError<ListJournalKinesisStreamsForLedgerError>
Source§impl Client
impl Client
Sourcepub fn list_journal_s3_exports(&self) -> ListJournalS3ExportsFluentBuilder
pub fn list_journal_s3_exports(&self) -> ListJournalS3ExportsFluentBuilder
Constructs a fluent builder for the ListJournalS3Exports
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of results to return in a single
ListJournalS3Exports
request. (The actual number of results returned might be fewer.)next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseA pagination token, indicating that you want to retrieve the next page of results. If you received a value for
NextToken
in the response from a previousListJournalS3Exports
call, then you should use that value as input here.
- On success, responds with
ListJournalS3ExportsOutput
with field(s):journal_s3_exports(Option<Vec::<JournalS3ExportDescription>>)
:The journal export jobs for all ledgers that are associated with the current Amazon Web Services account and Region.
next_token(Option<String>)
:-
If
NextToken
is empty, then the last page of results has been processed and there are no more results to be retrieved. -
If
NextToken
is not empty, then there are more results available. To retrieve the next page of results, use the value ofNextToken
in a subsequentListJournalS3Exports
call.
-
- On failure, responds with
SdkError<ListJournalS3ExportsError>
Source§impl Client
impl Client
Sourcepub fn list_journal_s3_exports_for_ledger(
&self,
) -> ListJournalS3ExportsForLedgerFluentBuilder
pub fn list_journal_s3_exports_for_ledger( &self, ) -> ListJournalS3ExportsForLedgerFluentBuilder
Constructs a fluent builder for the ListJournalS3ExportsForLedger
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueThe name of the ledger.
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of results to return in a single
ListJournalS3ExportsForLedger
request. (The actual number of results returned might be fewer.)next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseA pagination token, indicating that you want to retrieve the next page of results. If you received a value for
NextToken
in the response from a previousListJournalS3ExportsForLedger
call, then you should use that value as input here.
- On success, responds with
ListJournalS3ExportsForLedgerOutput
with field(s):journal_s3_exports(Option<Vec::<JournalS3ExportDescription>>)
:The journal export jobs that are currently associated with the specified ledger.
next_token(Option<String>)
:-
If
NextToken
is empty, then the last page of results has been processed and there are no more results to be retrieved. -
If
NextToken
is not empty, then there are more results available. To retrieve the next page of results, use the value ofNextToken
in a subsequentListJournalS3ExportsForLedger
call.
-
- On failure, responds with
SdkError<ListJournalS3ExportsForLedgerError>
Source§impl Client
impl Client
Sourcepub fn list_ledgers(&self) -> ListLedgersFluentBuilder
pub fn list_ledgers(&self) -> ListLedgersFluentBuilder
Constructs a fluent builder for the ListLedgers
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of results to return in a single
ListLedgers
request. (The actual number of results returned might be fewer.)next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseA pagination token, indicating that you want to retrieve the next page of results. If you received a value for
NextToken
in the response from a previousListLedgers
call, then you should use that value as input here.
- On success, responds with
ListLedgersOutput
with field(s):ledgers(Option<Vec::<LedgerSummary>>)
:The ledgers that are associated with the current Amazon Web Services account and Region.
next_token(Option<String>)
:A pagination token, indicating whether there are more results available:
-
If
NextToken
is empty, then the last page of results has been processed and there are no more results to be retrieved. -
If
NextToken
is not empty, then there are more results available. To retrieve the next page of results, use the value ofNextToken
in a subsequentListLedgers
call.
-
- On failure, responds with
SdkError<ListLedgersError>
Source§impl Client
impl Client
Constructs a fluent builder for the ListTagsForResource
operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)
/set_resource_arn(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) for which to list the tags. For example:
arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger
- On success, responds with
ListTagsForResourceOutput
with field(s):tags(Option<HashMap::<String, Option<String>>>)
:The tags that are currently associated with the specified Amazon QLDB resource.
- On failure, responds with
SdkError<ListTagsForResourceError>
Source§impl Client
impl Client
Sourcepub fn stream_journal_to_kinesis(&self) -> StreamJournalToKinesisFluentBuilder
pub fn stream_journal_to_kinesis(&self) -> StreamJournalToKinesisFluentBuilder
Constructs a fluent builder for the StreamJournalToKinesis
operation.
- The fluent builder is configurable:
ledger_name(impl Into<String>)
/set_ledger_name(Option<String>)
:
required: trueThe name of the ledger.
role_arn(impl Into<String>)
/set_role_arn(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal stream to write data records to a Kinesis Data Streams resource.
To pass a role to QLDB when requesting a journal stream, you must have permissions to perform the
iam:PassRole
action on the IAM role resource. This is required for all journal stream requests.tags(impl Into<String>, Option<String>)
/set_tags(Option<HashMap::<String, Option<String>>>)
:
required: falseThe key-value pairs to add as tags to the stream that you want to create. Tag keys are case sensitive. Tag values are case sensitive and can be null.
inclusive_start_time(DateTime)
/set_inclusive_start_time(Option<DateTime>)
:
required: trueThe inclusive start date and time from which to start streaming journal data. This parameter must be in
ISO 8601
date and time format and in Universal Coordinated Time (UTC). For example:2019-06-13T21:36:34Z
.The
InclusiveStartTime
cannot be in the future and must be beforeExclusiveEndTime
.If you provide an
InclusiveStartTime
that is before the ledger’sCreationDateTime
, QLDB effectively defaults it to the ledger’sCreationDateTime
.exclusive_end_time(DateTime)
/set_exclusive_end_time(Option<DateTime>)
:
required: falseThe exclusive date and time that specifies when the stream ends. If you don’t define this parameter, the stream runs indefinitely until you cancel it.
The
ExclusiveEndTime
must be inISO 8601
date and time format and in Universal Coordinated Time (UTC). For example:2019-06-13T21:36:34Z
.kinesis_configuration(KinesisConfiguration)
/set_kinesis_configuration(Option<KinesisConfiguration>)
:
required: trueThe configuration settings of the Kinesis Data Streams destination for your stream request.
stream_name(impl Into<String>)
/set_stream_name(Option<String>)
:
required: trueThe name that you want to assign to the QLDB journal stream. User-defined names can help identify and indicate the purpose of a stream.
Your stream name must be unique among other active streams for a given ledger. Stream names have the same naming constraints as ledger names, as defined in Quotas in Amazon QLDB in the Amazon QLDB Developer Guide.
- On success, responds with
StreamJournalToKinesisOutput
with field(s):stream_id(Option<String>)
:The UUID (represented in Base62-encoded text) that QLDB assigns to each QLDB journal stream.
- On failure, responds with
SdkError<StreamJournalToKinesisError>
Source§impl Client
impl Client
Sourcepub fn tag_resource(&self) -> TagResourceFluentBuilder
pub fn tag_resource(&self) -> TagResourceFluentBuilder
Constructs a fluent builder for the TagResource
operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)
/set_resource_arn(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) to which you want to add the tags. For example:
arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger
tags(impl Into<String>, Option<String>)
/set_tags(Option<HashMap::<String, Option<String>>>)
:
required: trueThe key-value pairs to add as tags to the specified QLDB resource. Tag keys are case sensitive. If you specify a key that already exists for the resource, your request fails and returns an error. Tag values are case sensitive and can be null.
- On success, responds with
TagResourceOutput
- On failure, responds with
SdkError<TagResourceError>
Source§impl Client
impl Client
Sourcepub fn untag_resource(&self) -> UntagResourceFluentBuilder
pub fn untag_resource(&self) -> UntagResourceFluentBuilder
Constructs a fluent builder for the UntagResource
operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)
/set_resource_arn(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) from which to remove the tags. For example:
arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger
tag_keys(impl Into<String>)
/set_tag_keys(Option<Vec::<String>>)
:
required: trueThe list of tag keys to remove.
- On success, responds with
UntagResourceOutput
- On failure, responds with
SdkError<UntagResourceError>
Source§impl Client
impl Client
Sourcepub fn update_ledger(&self) -> UpdateLedgerFluentBuilder
pub fn update_ledger(&self) -> UpdateLedgerFluentBuilder
Constructs a fluent builder for the UpdateLedger
operation.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueThe name of the ledger.
deletion_protection(bool)
/set_deletion_protection(Option<bool>)
:
required: falseSpecifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (
true
) by default.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 tofalse
.kms_key(impl Into<String>)
/set_kms_key(Option<String>)
:
required: falseThe key in Key Management Service (KMS) to use for encryption of data at rest in the ledger. For more information, see Encryption at rest in the Amazon QLDB Developer Guide.
Use one of the following options to specify this parameter:
-
AWS_OWNED_KMS_KEY
: Use an KMS key that is owned and managed by Amazon Web Services on your behalf. -
Undefined: Make no changes to the KMS key of the ledger.
-
A valid symmetric customer managed KMS key: Use the specified symmetric encryption KMS key in your account that you create, own, and manage.
Amazon QLDB does not support asymmetric keys. For more information, see Using symmetric and asymmetric keys in the Key Management Service Developer Guide.
To specify a customer managed KMS key, you can use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with
“alias/”
. To specify a key in a different Amazon Web Services account, you must use the key ARN or alias ARN.For example:
-
Key ID:
1234abcd-12ab-34cd-56ef-1234567890ab
-
Key ARN:
arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
-
Alias name:
alias/ExampleAlias
-
Alias ARN:
arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
For more information, see Key identifiers (KeyId) in the Key Management Service Developer Guide.
-
- On success, responds with
UpdateLedgerOutput
with field(s):name(Option<String>)
:The name of the ledger.
arn(Option<String>)
:The Amazon Resource Name (ARN) for the ledger.
state(Option<LedgerState>)
:The current status of the ledger.
creation_date_time(Option<DateTime>)
:The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)
deletion_protection(Option<bool>)
:Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (
true
) by default.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 tofalse
.encryption_description(Option<LedgerEncryptionDescription>)
:Information about the encryption of data at rest in the ledger. This includes the current status, the KMS key, and when the key became inaccessible (in the case of an error).
- On failure, responds with
SdkError<UpdateLedgerError>
Source§impl Client
impl Client
Sourcepub fn update_ledger_permissions_mode(
&self,
) -> UpdateLedgerPermissionsModeFluentBuilder
pub fn update_ledger_permissions_mode( &self, ) -> UpdateLedgerPermissionsModeFluentBuilder
Constructs a fluent builder for the UpdateLedgerPermissionsMode
operation.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueThe name of the ledger.
permissions_mode(PermissionsMode)
/set_permissions_mode(Option<PermissionsMode>)
:
required: trueThe permissions mode to assign to the ledger. This parameter can have one of the following values:
-
ALLOW_ALL
: A legacy permissions mode that enables access control with API-level granularity for ledgers.This mode allows users who have the
SendCommand
API permission for this ledger to run all PartiQL commands (hence,ALLOW_ALL
) on any tables in the specified ledger. This mode disregards any table-level or command-level IAM permissions policies that you create for the ledger. -
STANDARD
: (Recommended) A permissions mode that enables access control with finer granularity for ledgers, tables, and PartiQL commands.By default, this mode denies all user requests to run any PartiQL commands on any tables in this ledger. To allow PartiQL commands to run, you must create IAM permissions policies for specific table resources and PartiQL actions, in addition to the
SendCommand
API permission for the ledger. For information, see Getting started with the standard permissions mode in the Amazon QLDB Developer Guide.
We strongly recommend using the
STANDARD
permissions mode to maximize the security of your ledger data.-
- On success, responds with
UpdateLedgerPermissionsModeOutput
with field(s):name(Option<String>)
:The name of the ledger.
arn(Option<String>)
:The Amazon Resource Name (ARN) for the ledger.
permissions_mode(Option<PermissionsMode>)
:The current permissions mode of the ledger.
- On failure, responds with
SdkError<UpdateLedgerPermissionsModeError>
Source§impl Client
impl Client
Sourcepub fn from_conf(conf: Config) -> Self
pub fn from_conf(conf: Config) -> Self
Creates a new client from the service Config
.
§Panics
This method will panic in the following cases:
- Retries or timeouts are enabled without a
sleep_impl
configured. - Identity caching is enabled without a
sleep_impl
andtime_source
configured. - No
behavior_version
is provided.
The panic message for each of these will have instructions on how to resolve them.
Source§impl Client
impl Client
Sourcepub fn new(sdk_config: &SdkConfig) -> Self
pub fn new(sdk_config: &SdkConfig) -> Self
Creates a new client from an SDK Config.
§Panics
- This method will panic if the
sdk_config
is missing an async sleep implementation. If you experience this panic, set thesleep_impl
on the Config passed into this function to fix it. - This method will panic if the
sdk_config
is missing an HTTP connector. If you experience this panic, set thehttp_connector
on the Config passed into this function to fix it. - This method will panic if no
BehaviorVersion
is provided. If you experience this panic, setbehavior_version
on the Config or enable thebehavior-version-latest
Cargo feature.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Client
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.bright_black());
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.bright_green());
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.bright_yellow());
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.bright_magenta());
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.bright_white());
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.on_bright_black());
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.on_bright_green());
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.on_bright_yellow());
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlue
.
§Example
println!("{}", value.on_bright_blue());
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.on_bright_magenta());
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightCyan
.
§Example
println!("{}", value.on_bright_cyan());
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.on_bright_white());
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn underline(&self) -> Painted<&T>
fn underline(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::Underline
.
§Example
println!("{}", value.underline());
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::RapidBlink
.
§Example
println!("{}", value.rapid_blink());
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);