#[non_exhaustive]pub struct ServerSideEncryptionByDefaultBuilder { /* private fields */ }
Expand description
A builder for ServerSideEncryptionByDefault
.
Implementations§
source§impl ServerSideEncryptionByDefaultBuilder
impl ServerSideEncryptionByDefaultBuilder
sourcepub fn sse_algorithm(self, input: ServerSideEncryption) -> Self
pub fn sse_algorithm(self, input: ServerSideEncryption) -> Self
Server-side encryption algorithm to use for the default encryption.
For directory buckets, there are only two supported values for server-side encryption: AES256
and aws:kms
.
sourcepub fn set_sse_algorithm(self, input: Option<ServerSideEncryption>) -> Self
pub fn set_sse_algorithm(self, input: Option<ServerSideEncryption>) -> Self
Server-side encryption algorithm to use for the default encryption.
For directory buckets, there are only two supported values for server-side encryption: AES256
and aws:kms
.
sourcepub fn get_sse_algorithm(&self) -> &Option<ServerSideEncryption>
pub fn get_sse_algorithm(&self) -> &Option<ServerSideEncryption>
Server-side encryption algorithm to use for the default encryption.
For directory buckets, there are only two supported values for server-side encryption: AES256
and aws:kms
.
sourcepub fn kms_master_key_id(self, input: impl Into<String>) -> Self
pub fn kms_master_key_id(self, input: impl Into<String>) -> Self
Amazon Web Services Key Management Service (KMS) customer managed key ID to use for the default encryption.
-
General purpose buckets - This parameter is allowed if and only if
SSEAlgorithm
is set toaws:kms
oraws:kms:dsse
. -
Directory buckets - This parameter is allowed if and only if
SSEAlgorithm
is set toaws:kms
.
You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.
-
Key ID:
1234abcd-12ab-34cd-56ef-1234567890ab
-
Key ARN:
arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
-
Key Alias:
alias/alias-name
If you are using encryption with cross-account or Amazon Web Services service operations, you must use a fully qualified KMS key ARN. For more information, see Using encryption for cross-account operations.
-
General purpose buckets - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester’s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log.
-
Directory buckets - When you specify an KMS customer managed key for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.
Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide.
sourcepub fn set_kms_master_key_id(self, input: Option<String>) -> Self
pub fn set_kms_master_key_id(self, input: Option<String>) -> Self
Amazon Web Services Key Management Service (KMS) customer managed key ID to use for the default encryption.
-
General purpose buckets - This parameter is allowed if and only if
SSEAlgorithm
is set toaws:kms
oraws:kms:dsse
. -
Directory buckets - This parameter is allowed if and only if
SSEAlgorithm
is set toaws:kms
.
You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.
-
Key ID:
1234abcd-12ab-34cd-56ef-1234567890ab
-
Key ARN:
arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
-
Key Alias:
alias/alias-name
If you are using encryption with cross-account or Amazon Web Services service operations, you must use a fully qualified KMS key ARN. For more information, see Using encryption for cross-account operations.
-
General purpose buckets - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester’s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log.
-
Directory buckets - When you specify an KMS customer managed key for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.
Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide.
sourcepub fn get_kms_master_key_id(&self) -> &Option<String>
pub fn get_kms_master_key_id(&self) -> &Option<String>
Amazon Web Services Key Management Service (KMS) customer managed key ID to use for the default encryption.
-
General purpose buckets - This parameter is allowed if and only if
SSEAlgorithm
is set toaws:kms
oraws:kms:dsse
. -
Directory buckets - This parameter is allowed if and only if
SSEAlgorithm
is set toaws:kms
.
You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.
-
Key ID:
1234abcd-12ab-34cd-56ef-1234567890ab
-
Key ARN:
arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
-
Key Alias:
alias/alias-name
If you are using encryption with cross-account or Amazon Web Services service operations, you must use a fully qualified KMS key ARN. For more information, see Using encryption for cross-account operations.
-
General purpose buckets - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester’s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log.
-
Directory buckets - When you specify an KMS customer managed key for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.
Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide.
sourcepub fn build(self) -> Result<ServerSideEncryptionByDefault, BuildError>
pub fn build(self) -> Result<ServerSideEncryptionByDefault, BuildError>
Consumes the builder and constructs a ServerSideEncryptionByDefault
.
This method will fail if any of the following fields are not set:
Trait Implementations§
source§impl Clone for ServerSideEncryptionByDefaultBuilder
impl Clone for ServerSideEncryptionByDefaultBuilder
source§fn clone(&self) -> ServerSideEncryptionByDefaultBuilder
fn clone(&self) -> ServerSideEncryptionByDefaultBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Default for ServerSideEncryptionByDefaultBuilder
impl Default for ServerSideEncryptionByDefaultBuilder
source§fn default() -> ServerSideEncryptionByDefaultBuilder
fn default() -> ServerSideEncryptionByDefaultBuilder
source§impl PartialEq for ServerSideEncryptionByDefaultBuilder
impl PartialEq for ServerSideEncryptionByDefaultBuilder
source§fn eq(&self, other: &ServerSideEncryptionByDefaultBuilder) -> bool
fn eq(&self, other: &ServerSideEncryptionByDefaultBuilder) -> bool
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for ServerSideEncryptionByDefaultBuilder
Auto Trait Implementations§
impl Freeze for ServerSideEncryptionByDefaultBuilder
impl RefUnwindSafe for ServerSideEncryptionByDefaultBuilder
impl Send for ServerSideEncryptionByDefaultBuilder
impl Sync for ServerSideEncryptionByDefaultBuilder
impl Unpin for ServerSideEncryptionByDefaultBuilder
impl UnwindSafe for ServerSideEncryptionByDefaultBuilder
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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 more