Class: AWSCDK::DynamoDB::CfnTable::SSESpecificationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
dynamo_db/cfn_table.rb

Overview

Represents the settings used to enable server-side encryption.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sse_enabled:, kms_master_key_id: nil, sse_type: nil) ⇒ SSESpecificationProperty

Returns a new instance of SSESpecificationProperty.

Parameters:

  • sse_enabled (Boolean, AWSCDK::IResolvable)

    Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key.

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

    The AWS key that should be used for the AWS encryption.

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

    Server-side encryption type. The only supported value is:.



1641
1642
1643
1644
1645
1646
1647
1648
# File 'dynamo_db/cfn_table.rb', line 1641

def initialize(sse_enabled:, kms_master_key_id: nil, sse_type: nil)
  @sse_enabled = sse_enabled
  Jsii::Type.check_type(@sse_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "sseEnabled")
  @kms_master_key_id = kms_master_key_id
  Jsii::Type.check_type(@kms_master_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsMasterKeyId") unless @kms_master_key_id.nil?
  @sse_type = sse_type
  Jsii::Type.check_type(@sse_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sseType") unless @sse_type.nil?
end

Instance Attribute Details

#kms_master_key_idString? (readonly)

The AWS key that should be used for the AWS encryption.

To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key alias/aws/dynamodb .



1663
1664
1665
# File 'dynamo_db/cfn_table.rb', line 1663

def kms_master_key_id
  @kms_master_key_id
end

#sse_enabledBoolean, AWSCDK::IResolvable (readonly)

Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key.

If enabled (true), server-side encryption type is set to KMS and an AWS managed key is used ( AWS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.



1656
1657
1658
# File 'dynamo_db/cfn_table.rb', line 1656

def sse_enabled
  @sse_enabled
end

#sse_typeString? (readonly)

Server-side encryption type. The only supported value is:.

  • KMS - Server-side encryption that uses AWS Key Management Service . The key is stored in your account and is managed by AWS ( AWS charges apply).


1670
1671
1672
# File 'dynamo_db/cfn_table.rb', line 1670

def sse_type
  @sse_type
end

Class Method Details

.jsii_propertiesObject



1672
1673
1674
1675
1676
1677
1678
# File 'dynamo_db/cfn_table.rb', line 1672

def self.jsii_properties
  {
    :sse_enabled => "sseEnabled",
    :kms_master_key_id => "kmsMasterKeyId",
    :sse_type => "sseType",
  }
end

Instance Method Details

#to_jsiiObject



1680
1681
1682
1683
1684
1685
1686
1687
1688
# File 'dynamo_db/cfn_table.rb', line 1680

def to_jsii
  result = {}
  result.merge!({
    "sseEnabled" => @sse_enabled,
    "kmsMasterKeyId" => @kms_master_key_id,
    "sseType" => @sse_type,
  })
  result.compact
end