Class: AWSCDK::Athena::CfnWorkGroup::EncryptionConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
athena/cfn_work_group.rb

Overview

If query results are encrypted in Amazon S3, indicates the encryption option used (for example, SSE_KMS or CSE_KMS ) and key information.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(encryption_option:, kms_key: nil) ⇒ EncryptionConfigurationProperty

Returns a new instance of EncryptionConfigurationProperty.

Parameters:

  • encryption_option (String)

    Indicates whether Amazon S3 server-side encryption with Amazon S3-managed keys ( SSE_S3 ), server-side encryption with KMS-managed keys ( SSE_KMS ), or client-side encryption with KMS-managed keys ( CSE_KMS ) is used.

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

    For SSE_KMS and CSE_KMS , this is the KMS key ARN or ID.



814
815
816
817
818
819
# File 'athena/cfn_work_group.rb', line 814

def initialize(encryption_option:, kms_key: nil)
  @encryption_option = encryption_option
  Jsii::Type.check_type(@encryption_option, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "encryptionOption")
  @kms_key = kms_key
  Jsii::Type.check_type(@kms_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKey") unless @kms_key.nil?
end

Instance Attribute Details

#encryption_optionString (readonly)

Indicates whether Amazon S3 server-side encryption with Amazon S3-managed keys ( SSE_S3 ), server-side encryption with KMS-managed keys ( SSE_KMS ), or client-side encryption with KMS-managed keys ( CSE_KMS ) is used.

If a query runs in a workgroup and the workgroup overrides client-side settings, then the workgroup's setting for encryption is used. It specifies whether query results must be encrypted, for all queries that run in this workgroup.



827
828
829
# File 'athena/cfn_work_group.rb', line 827

def encryption_option
  @encryption_option
end

#kms_keyString? (readonly)

For SSE_KMS and CSE_KMS , this is the KMS key ARN or ID.



832
833
834
# File 'athena/cfn_work_group.rb', line 832

def kms_key
  @kms_key
end

Class Method Details

.jsii_propertiesObject



834
835
836
837
838
839
# File 'athena/cfn_work_group.rb', line 834

def self.jsii_properties
  {
    :encryption_option => "encryptionOption",
    :kms_key => "kmsKey",
  }
end

Instance Method Details

#to_jsiiObject



841
842
843
844
845
846
847
848
# File 'athena/cfn_work_group.rb', line 841

def to_jsii
  result = {}
  result.merge!({
    "encryptionOption" => @encryption_option,
    "kmsKey" => @kms_key,
  })
  result.compact
end