Class: AWSCDK::Synthetics::CfnCanary::S3EncryptionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
synthetics/cfn_canary.rb

Overview

A structure that contains the configuration of the encryption-at-rest settings for artifacts that the canary uploads to Amazon S3 .

Artifact encryption functionality is available only for canaries that use Synthetics runtime version syn-nodejs-puppeteer-3.3 or later. For more information, see Encrypting canary artifacts .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(encryption_mode: nil, kms_key_arn: nil) ⇒ S3EncryptionProperty

Returns a new instance of S3EncryptionProperty.

Parameters:

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

    The encryption method to use for artifacts created by this canary.

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

    The ARN of the customer-managed AWS key to use, if you specify SSE-KMS for EncryptionMode.



1221
1222
1223
1224
1225
1226
# File 'synthetics/cfn_canary.rb', line 1221

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

Instance Attribute Details

#encryption_modeString? (readonly)

The encryption method to use for artifacts created by this canary.

Specify SSE_S3 to use server-side encryption (SSE) with an Amazon S3-managed key. Specify SSE-KMS to use server-side encryption with a customer-managed AWS key.

If you omit this parameter, an AWS -managed AWS key is used.



1236
1237
1238
# File 'synthetics/cfn_canary.rb', line 1236

def encryption_mode
  @encryption_mode
end

#kms_key_arnString? (readonly)

The ARN of the customer-managed AWS key to use, if you specify SSE-KMS for EncryptionMode.



1241
1242
1243
# File 'synthetics/cfn_canary.rb', line 1241

def kms_key_arn
  @kms_key_arn
end

Class Method Details

.jsii_propertiesObject



1243
1244
1245
1246
1247
1248
# File 'synthetics/cfn_canary.rb', line 1243

def self.jsii_properties
  {
    :encryption_mode => "encryptionMode",
    :kms_key_arn => "kmsKeyArn",
  }
end

Instance Method Details

#to_jsiiObject



1250
1251
1252
1253
1254
1255
1256
1257
# File 'synthetics/cfn_canary.rb', line 1250

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