Class TableClientSideEncryption

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.glue.alpha.TableClientSideEncryption
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable

@Generated(value="jsii-pacmak/1.139.0 (build 26a6b54)", date="2026-08-27T15:24:50.160Z") @Stability(Experimental) public class TableClientSideEncryption extends software.amazon.jsii.JsiiObject
(experimental) Client-side encryption for an S3Table's data.

Independent of the bucket's server-side encryption and of who owns the bucket: the data is encrypted by the client before it is written to S3. When set, the grant* methods also grant the relevant KMS permissions on the key.

Example:

 Database myDatabase;
 // KMS key is created automatically
 // KMS key is created automatically
 S3Table.Builder.create(this, "MyTable")
         .clientSideEncryption(TableClientSideEncryption.kms())
         // ...
         .database(myDatabase)
         .columns(List.of(Column.builder()
                 .name("col1")
                 .type(Schema.STRING)
                 .build()))
         .dataFormat(DataFormat.JSON)
         .build();
 // with an explicit KMS key
 // with an explicit KMS key
 S3Table.Builder.create(this, "MyTable")
         .clientSideEncryption(TableClientSideEncryption.kms(new Key(this, "MyKey")))
         // ...
         .database(myDatabase)
         .columns(List.of(Column.builder()
                 .name("col1")
                 .type(Schema.STRING)
                 .build()))
         .dataFormat(DataFormat.JSON)
         .build();
 
  • Nested Class Summary

    Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject

    software.amazon.jsii.JsiiObject.InitializationMode
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    TableClientSideEncryption(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
     
    protected
    TableClientSideEncryption(software.amazon.jsii.JsiiObjectRef objRef)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    kms()
    (experimental) Client-side encryption (CSE-KMS) with an AWS KMS key managed by the account owner.
    kms(IKey key)
    (experimental) Client-side encryption (CSE-KMS) with an AWS KMS key managed by the account owner.

    Methods inherited from class software.amazon.jsii.JsiiObject

    jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface software.amazon.jsii.JsiiSerializable

    $jsii$toJson
  • Constructor Details

    • TableClientSideEncryption

      protected TableClientSideEncryption(software.amazon.jsii.JsiiObjectRef objRef)
    • TableClientSideEncryption

      protected TableClientSideEncryption(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
  • Method Details

    • kms

      @Stability(Experimental) @NotNull public static TableClientSideEncryption kms(@Nullable IKey key)
      (experimental) Client-side encryption (CSE-KMS) with an AWS KMS key managed by the account owner.

      Parameters:
      key - the KMS key used to encrypt the data.
    • kms

      @Stability(Experimental) @NotNull public static TableClientSideEncryption kms()
      (experimental) Client-side encryption (CSE-KMS) with an AWS KMS key managed by the account owner.