Struct aws_sdk_qldb::Client
source · 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 Config 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
CancelJournalKinesisStreamOutputwith 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
SendCommandAPI 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
SendCommandAPI 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
STANDARDpermissions 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
UpdateLedgeroperation 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
CreateLedgerOutputwith 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
UpdateLedgeroperation 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
DescribeJournalKinesisStreamOutputwith field(s):stream(Option<JournalKinesisStreamDescription>):Information about the QLDB journal stream returned by a
DescribeJournalS3Exportrequest.
- 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
DescribeJournalS3ExportOutputwith field(s):export_description(Option<JournalS3ExportDescription>):Information about the journal export job returned by a
DescribeJournalS3Exportrequest.
- 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
DescribeLedgerOutputwith 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
UpdateLedgeroperation 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<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
InclusiveStartTimemust be inISO 8601date and time format and in Universal Coordinated Time (UTC). For example:2019-06-13T21:36:34Z.The
InclusiveStartTimemust be beforeExclusiveEndTime.If you provide an
InclusiveStartTimethat 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
ExclusiveEndTimemust be inISO 8601date and time format and in Universal Coordinated Time (UTC). For example:2019-06-13T21:36:34Z.The
ExclusiveEndTimemust 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:PassRoleaction 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_TEXTIn 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
ExportJournalToS3Outputwith 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
ExportIdto 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:
strandIdandsequenceNo.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:
strandIdandsequenceNo.For example:
{strandId:“BlFTjlSXze9BIh1KOszcE3”,sequenceNo:49}.
- On success, responds with
GetBlockOutputwith 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
GetBlockrequest. 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
GetDigestOutputwith field(s):digest(Blob):The 256-bit hash value representing the digest returned by a
GetDigestrequest.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:
strandIdandsequenceNo.
- 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:
strandIdandsequenceNo.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:
strandIdandsequenceNo.For example:
{strandId:“BlFTjlSXze9BIh1KOszcE3”,sequenceNo:49}.
- On success, responds with
GetRevisionOutputwith field(s):proof(Option<ValueHolder>):The proof object in Amazon Ion format returned by a
GetRevisionrequest. 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
ListJournalKinesisStreamsForLedgerrequest. (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
NextTokenin the response from a previousListJournalKinesisStreamsForLedgercall, you should use that value as input here.
- On success, responds with
ListJournalKinesisStreamsForLedgerOutputwith field(s):streams(Option<Vec::<JournalKinesisStreamDescription>>):The QLDB journal streams that are currently associated with the given ledger.
next_token(Option<String>):-
If
NextTokenis empty, the last page of results has been processed and there are no more results to be retrieved. -
If
NextTokenis not empty, more results are available. To retrieve the next page of results, use the value ofNextTokenin a subsequentListJournalKinesisStreamsForLedgercall.
-
- 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
ListJournalS3Exportsrequest. (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
NextTokenin the response from a previousListJournalS3Exportscall, then you should use that value as input here.
- On success, responds with
ListJournalS3ExportsOutputwith 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
NextTokenis empty, then the last page of results has been processed and there are no more results to be retrieved. -
If
NextTokenis not empty, then there are more results available. To retrieve the next page of results, use the value ofNextTokenin a subsequentListJournalS3Exportscall.
-
- 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
ListJournalS3ExportsForLedgerrequest. (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
NextTokenin the response from a previousListJournalS3ExportsForLedgercall, then you should use that value as input here.
- On success, responds with
ListJournalS3ExportsForLedgerOutputwith 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
NextTokenis empty, then the last page of results has been processed and there are no more results to be retrieved. -
If
NextTokenis not empty, then there are more results available. To retrieve the next page of results, use the value ofNextTokenin a subsequentListJournalS3ExportsForLedgercall.
-
- 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
ListLedgersrequest. (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
NextTokenin the response from a previousListLedgerscall, then you should use that value as input here.
- On success, responds with
ListLedgersOutputwith 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
NextTokenis empty, then the last page of results has been processed and there are no more results to be retrieved. -
If
NextTokenis not empty, then there are more results available. To retrieve the next page of results, use the value ofNextTokenin a subsequentListLedgerscall.
-
- 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
ListTagsForResourceOutputwith 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:PassRoleaction 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 8601date and time format and in Universal Coordinated Time (UTC). For example:2019-06-13T21:36:34Z.The
InclusiveStartTimecannot be in the future and must be beforeExclusiveEndTime.If you provide an
InclusiveStartTimethat 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
ExclusiveEndTimemust be inISO 8601date 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
StreamJournalToKinesisOutputwith 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/exampleLedgertags(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/exampleLedgertag_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
UpdateLedgeroperation 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
UpdateLedgerOutputwith 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
UpdateLedgeroperation 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
SendCommandAPI 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
SendCommandAPI 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
STANDARDpermissions mode to maximize the security of your ledger data.-
- On success, responds with
UpdateLedgerPermissionsModeOutputwith 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_implconfigured. - Identity caching is enabled without a
sleep_implandtime_sourceconfigured. - No
behavior_versionis 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_configis missing an async sleep implementation. If you experience this panic, set thesleep_implon the Config passed into this function to fix it. - This method will panic if the
sdk_configis missing an HTTP connector. If you experience this panic, set thehttp_connectoron the Config passed into this function to fix it. - This method will panic if no
BehaviorVersionis provided. If you experience this panic, setbehavior_versionon the Config or enable thebehavior-version-latestCargo feature.