#[non_exhaustive]pub struct ServerSideEncryptionRule {
pub apply_server_side_encryption_by_default: Option<ServerSideEncryptionByDefault>,
pub bucket_key_enabled: Option<bool>,
}
Expand description
Specifies the default server-side encryption configuration.
-
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.
-
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.
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.apply_server_side_encryption_by_default: Option<ServerSideEncryptionByDefault>
Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.
bucket_key_enabled: Option<bool>
Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the BucketKeyEnabled
element to true
causes Amazon S3 to use an S3 Bucket Key.
-
General purpose buckets - By default, S3 Bucket Key is not enabled. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.
-
Directory buckets - S3 Bucket Keys are always enabled for
GET
andPUT
operations in a directory bucket and can’t be disabled. S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through CopyObject, UploadPartCopy, the Copy operation in Batch Operations, or the import jobs. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.
Implementations§
source§impl ServerSideEncryptionRule
impl ServerSideEncryptionRule
sourcepub fn apply_server_side_encryption_by_default(
&self,
) -> Option<&ServerSideEncryptionByDefault>
pub fn apply_server_side_encryption_by_default( &self, ) -> Option<&ServerSideEncryptionByDefault>
Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.
sourcepub fn bucket_key_enabled(&self) -> Option<bool>
pub fn bucket_key_enabled(&self) -> Option<bool>
Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the BucketKeyEnabled
element to true
causes Amazon S3 to use an S3 Bucket Key.
-
General purpose buckets - By default, S3 Bucket Key is not enabled. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.
-
Directory buckets - S3 Bucket Keys are always enabled for
GET
andPUT
operations in a directory bucket and can’t be disabled. S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through CopyObject, UploadPartCopy, the Copy operation in Batch Operations, or the import jobs. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.
source§impl ServerSideEncryptionRule
impl ServerSideEncryptionRule
sourcepub fn builder() -> ServerSideEncryptionRuleBuilder
pub fn builder() -> ServerSideEncryptionRuleBuilder
Creates a new builder-style object to manufacture ServerSideEncryptionRule
.
Trait Implementations§
source§impl Clone for ServerSideEncryptionRule
impl Clone for ServerSideEncryptionRule
source§fn clone(&self) -> ServerSideEncryptionRule
fn clone(&self) -> ServerSideEncryptionRule
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ServerSideEncryptionRule
impl Debug for ServerSideEncryptionRule
source§impl PartialEq for ServerSideEncryptionRule
impl PartialEq for ServerSideEncryptionRule
impl StructuralPartialEq for ServerSideEncryptionRule
Auto Trait Implementations§
impl Freeze for ServerSideEncryptionRule
impl RefUnwindSafe for ServerSideEncryptionRule
impl Send for ServerSideEncryptionRule
impl Sync for ServerSideEncryptionRule
impl Unpin for ServerSideEncryptionRule
impl UnwindSafe for ServerSideEncryptionRule
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