Class: AWSCDK::S3::CfnBucket::MetadataTableEncryptionConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
s3/cfn_bucket.rb

Overview

The encryption settings for an S3 Metadata journal table or inventory table configuration.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of MetadataTableEncryptionConfigurationProperty.

Parameters:

  • sse_algorithm (String)

    The encryption type specified for a metadata table.

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

    If server-side encryption with AWS Key Management Service ( AWS ) keys (SSE-KMS) is specified, you must also specify the KMS key Amazon Resource Name (ARN).



2409
2410
2411
2412
2413
2414
# File 's3/cfn_bucket.rb', line 2409

def initialize(sse_algorithm:, kms_key_arn: nil)
  @sse_algorithm = sse_algorithm
  Jsii::Type.check_type(@sse_algorithm, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sseAlgorithm")
  @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?
end

Instance Attribute Details

#kms_key_arnString? (readonly)

If server-side encryption with AWS Key Management Service ( AWS ) keys (SSE-KMS) is specified, you must also specify the KMS key Amazon Resource Name (ARN).

You must specify a customer-managed KMS key that's located in the same Region as the general purpose bucket that corresponds to the metadata table configuration.



2429
2430
2431
# File 's3/cfn_bucket.rb', line 2429

def kms_key_arn
  @kms_key_arn
end

#sse_algorithmString (readonly)

The encryption type specified for a metadata table.

To specify server-side encryption with AWS Key Management Service ( AWS ) keys (SSE-KMS), use the aws:kms value. To specify server-side encryption with Amazon S3 managed keys (SSE-S3), use the AES256 value.



2422
2423
2424
# File 's3/cfn_bucket.rb', line 2422

def sse_algorithm
  @sse_algorithm
end

Class Method Details

.jsii_propertiesObject



2431
2432
2433
2434
2435
2436
# File 's3/cfn_bucket.rb', line 2431

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

Instance Method Details

#to_jsiiObject



2438
2439
2440
2441
2442
2443
2444
2445
# File 's3/cfn_bucket.rb', line 2438

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