Class: AWSCDK::OpenSearchService::CfnDomain::EncryptionAtRestOptionsProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
open_search_service/cfn_domain.rb

Overview

Whether the domain should encrypt data at rest, and if so, the AWS Key Management Service key to use.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(enabled: nil, kms_key_id: nil) ⇒ EncryptionAtRestOptionsProperty

Returns a new instance of EncryptionAtRestOptionsProperty.

Parameters:

  • enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Specify true to enable encryption at rest. Required if you enable fine-grained access control in AdvancedSecurityOptionsInput .

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

    The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a . Required if you enable encryption at rest.



1629
1630
1631
1632
1633
1634
# File 'open_search_service/cfn_domain.rb', line 1629

def initialize(enabled: nil, kms_key_id: nil)
  @enabled = enabled
  Jsii::Type.check_type(@enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enabled") unless @enabled.nil?
  @kms_key_id = kms_key_id
  Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless @kms_key_id.nil?
end

Instance Attribute Details

#enabledBoolean, ... (readonly)

Specify true to enable encryption at rest. Required if you enable fine-grained access control in AdvancedSecurityOptionsInput .

If no encryption at rest options were initially specified in the template, updating this property by adding it causes no interruption. However, if you change this property after it's already been set within a template, the domain is deleted and recreated in order to modify the property.



1642
1643
1644
# File 'open_search_service/cfn_domain.rb', line 1642

def enabled
  @enabled
end

#kms_key_idString? (readonly)

The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a . Required if you enable encryption at rest.

You can also use key_alias as a value.

If no encryption at rest options were initially specified in the template, updating this property by adding it causes no interruption. However, if you change this property after it's already been set within a template, the domain is deleted and recreated in order to modify the property.



1651
1652
1653
# File 'open_search_service/cfn_domain.rb', line 1651

def kms_key_id
  @kms_key_id
end

Class Method Details

.jsii_propertiesObject



1653
1654
1655
1656
1657
1658
# File 'open_search_service/cfn_domain.rb', line 1653

def self.jsii_properties
  {
    :enabled => "enabled",
    :kms_key_id => "kmsKeyId",
  }
end

Instance Method Details

#to_jsiiObject



1660
1661
1662
1663
1664
1665
1666
1667
# File 'open_search_service/cfn_domain.rb', line 1660

def to_jsii
  result = {}
  result.merge!({
    "enabled" => @enabled,
    "kmsKeyId" => @kms_key_id,
  })
  result.compact
end