Class: AWSCDK::S3Tables::CfnTableBucket::EncryptionConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
s3_tables/cfn_table_bucket.rb

Overview

Configuration specifying how data should be encrypted.

This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(kms_key_arn: nil, sse_algorithm: nil) ⇒ EncryptionConfigurationProperty

Returns a new instance of EncryptionConfigurationProperty.

Parameters:

  • kms_key_arn (String, nil) (defaults to: nil)

    The Amazon Resource Name (ARN) of the KMS key to use for encryption.

  • sse_algorithm (String, nil) (defaults to: nil)

    The server-side encryption algorithm to use.



610
611
612
613
614
615
# File 's3_tables/cfn_table_bucket.rb', line 610

def initialize(kms_key_arn: nil, sse_algorithm: nil)
  @kms_key_arn = kms_key_arn
  Jsii::Type.check_type(@kms_key_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyArn") unless @kms_key_arn.nil?
  @sse_algorithm = sse_algorithm
  Jsii::Type.check_type(@sse_algorithm, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sseAlgorithm") unless @sse_algorithm.nil?
end

Instance Attribute Details

#kms_key_arnString? (readonly)

The Amazon Resource Name (ARN) of the KMS key to use for encryption.

This field is required only when sse_algorithm is set to aws:kms .



623
624
625
# File 's3_tables/cfn_table_bucket.rb', line 623

def kms_key_arn
  @kms_key_arn
end

#sse_algorithmString? (readonly)

The server-side encryption algorithm to use.

Valid values are AES256 for S3-managed encryption keys, or aws:kms for AWS KMS-managed encryption keys. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see Permissions requirements for S3 Tables SSE-KMS encryption .



630
631
632
# File 's3_tables/cfn_table_bucket.rb', line 630

def sse_algorithm
  @sse_algorithm
end

Class Method Details

.jsii_propertiesObject



632
633
634
635
636
637
# File 's3_tables/cfn_table_bucket.rb', line 632

def self.jsii_properties
  {
    :kms_key_arn => "kmsKeyArn",
    :sse_algorithm => "sseAlgorithm",
  }
end

Instance Method Details

#to_jsiiObject



639
640
641
642
643
644
645
646
# File 's3_tables/cfn_table_bucket.rb', line 639

def to_jsii
  result = {}
  result.merge!({
    "kmsKeyArn" => @kms_key_arn,
    "sseAlgorithm" => @sse_algorithm,
  })
  result.compact
end