Struct aws_sdk_qldb::input::CreateLedgerInput [−][src]
#[non_exhaustive]pub struct CreateLedgerInput {
pub name: Option<String>,
pub tags: Option<HashMap<String, Option<String>>>,
pub permissions_mode: Option<PermissionsMode>,
pub deletion_protection: Option<bool>,
pub kms_key: Option<String>,
}
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.name: Option<String>
The name of the ledger that you want to create. The name must be unique among all of the ledgers in your account in the current Region.
Naming constraints for ledger names are defined in Quotas in Amazon QLDB in the Amazon QLDB Developer Guide.
The 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: Option<PermissionsMode>
The 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: Option<bool>
The flag that prevents a ledger from being deleted by any user. If not provided on
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 the flag to false
.
kms_key: Option<String>
The 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 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 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.
Implementations
pub async fn make_operation(
&self,
_config: &Config
) -> Result<Operation<CreateLedger, AwsErrorRetryPolicy>, BuildError>
pub async fn make_operation(
&self,
_config: &Config
) -> Result<Operation<CreateLedger, AwsErrorRetryPolicy>, BuildError>
Consumes the builder and constructs an Operation<CreateLedger
>
Creates a new builder-style object to manufacture CreateLedgerInput
The name of the ledger that you want to create. The name must be unique among all of the ledgers in your account in the current Region.
Naming constraints for ledger names are defined in Quotas in Amazon QLDB in the Amazon QLDB Developer Guide.
The 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.
The 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.
The flag that prevents a ledger from being deleted by any user. If not provided on
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 the flag to false
.
The 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 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 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.
Trait Implementations
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for CreateLedgerInput
impl Send for CreateLedgerInput
impl Sync for CreateLedgerInput
impl Unpin for CreateLedgerInput
impl UnwindSafe for CreateLedgerInput
Blanket Implementations
Mutably borrows from an owned value. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more