Class ServerSideEncryptionRule
- java.lang.Object
-
- software.amazon.awssdk.services.s3.model.ServerSideEncryptionRule
-
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<ServerSideEncryptionRule.Builder,ServerSideEncryptionRule>
@Generated("software.amazon.awssdk:codegen") public final class ServerSideEncryptionRule extends Object implements SdkPojo, Serializable, ToCopyableBuilder<ServerSideEncryptionRule.Builder,ServerSideEncryptionRule>
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.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ServerSideEncryptionRule.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ServerSideEncryptionByDefault
applyServerSideEncryptionByDefault()
Specifies the default server-side encryption to apply to new objects in the bucket.Boolean
bucketKeyEnabled()
Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket.static ServerSideEncryptionRule.Builder
builder()
boolean
equals(Object obj)
boolean
equalsBySdkFields(Object obj)
<T> Optional<T>
getValueForField(String fieldName, Class<T> clazz)
int
hashCode()
Map<String,SdkField<?>>
sdkFieldNameToField()
List<SdkField<?>>
sdkFields()
static Class<? extends ServerSideEncryptionRule.Builder>
serializableBuilderClass()
ServerSideEncryptionRule.Builder
toBuilder()
String
toString()
Returns a string representation of this object.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
applyServerSideEncryptionByDefault
public final ServerSideEncryptionByDefault applyServerSideEncryptionByDefault()
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.
- Returns:
- 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.
-
bucketKeyEnabled
public final Boolean bucketKeyEnabled()
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 totrue
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.
- Returns:
- 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 totrue
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.
-
-
-
toBuilder
public ServerSideEncryptionRule.Builder toBuilder()
- Specified by:
toBuilder
in interfaceToCopyableBuilder<ServerSideEncryptionRule.Builder,ServerSideEncryptionRule>
-
builder
public static ServerSideEncryptionRule.Builder builder()
-
serializableBuilderClass
public static Class<? extends ServerSideEncryptionRule.Builder> serializableBuilderClass()
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFields
in interfaceSdkPojo
-
toString
public final String toString()
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
-
sdkFieldNameToField
public final Map<String,SdkField<?>> sdkFieldNameToField()
- Specified by:
sdkFieldNameToField
in interfaceSdkPojo
-
-