Class: AWSCDK::StepFunctions::CfnActivity::EncryptionConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
step_functions/cfn_activity.rb

Overview

Settings to configure server-side encryption for an activity.

By default, Step Functions provides transparent server-side encryption. With this configuration, you can specify a customer managed AWS key for encryption.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type:, kms_data_key_reuse_period_seconds: nil, kms_key_id: nil) ⇒ EncryptionConfigurationProperty

Returns a new instance of EncryptionConfigurationProperty.

Parameters:

  • type (String)

    Encryption option for an activity.

  • kms_data_key_reuse_period_seconds (Numeric, nil) (defaults to: nil)

    Maximum duration that Step Functions will reuse data keys.

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

    An alias, alias ARN, key ID, or key ARN of a symmetric encryption AWS key to encrypt data.



568
569
570
571
572
573
574
575
# File 'step_functions/cfn_activity.rb', line 568

def initialize(type:, kms_data_key_reuse_period_seconds: nil, kms_key_id: nil)
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type")
  @kms_data_key_reuse_period_seconds = kms_data_key_reuse_period_seconds
  Jsii::Type.check_type(@kms_data_key_reuse_period_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "kmsDataKeyReusePeriodSeconds") unless @kms_data_key_reuse_period_seconds.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

#kms_data_key_reuse_period_secondsNumeric? (readonly)

Maximum duration that Step Functions will reuse data keys.

When the period expires, Step Functions will call GenerateDataKey . Only applies to customer managed keys.



588
589
590
# File 'step_functions/cfn_activity.rb', line 588

def kms_data_key_reuse_period_seconds
  @kms_data_key_reuse_period_seconds
end

#kms_key_idString? (readonly)

An alias, alias ARN, key ID, or key ARN of a symmetric encryption AWS key to encrypt data.

To specify a AWS key in a different AWS account, you must use the key ARN or alias ARN.



595
596
597
# File 'step_functions/cfn_activity.rb', line 595

def kms_key_id
  @kms_key_id
end

#typeString (readonly)

Encryption option for an activity.



581
582
583
# File 'step_functions/cfn_activity.rb', line 581

def type
  @type
end

Class Method Details

.jsii_propertiesObject



597
598
599
600
601
602
603
# File 'step_functions/cfn_activity.rb', line 597

def self.jsii_properties
  {
    :type => "type",
    :kms_data_key_reuse_period_seconds => "kmsDataKeyReusePeriodSeconds",
    :kms_key_id => "kmsKeyId",
  }
end

Instance Method Details

#to_jsiiObject



605
606
607
608
609
610
611
612
613
# File 'step_functions/cfn_activity.rb', line 605

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