Class: AWSCDK::StepFunctions::CfnStateMachine::EncryptionConfigurationProperty

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

Overview

Settings to configure server-side encryption for a state machine.

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 a state machine.

  • 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.



722
723
724
725
726
727
728
729
# File 'step_functions/cfn_state_machine.rb', line 722

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.



742
743
744
# File 'step_functions/cfn_state_machine.rb', line 742

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.



749
750
751
# File 'step_functions/cfn_state_machine.rb', line 749

def kms_key_id
  @kms_key_id
end

#typeString (readonly)

Encryption option for a state machine.



735
736
737
# File 'step_functions/cfn_state_machine.rb', line 735

def type
  @type
end

Class Method Details

.jsii_propertiesObject



751
752
753
754
755
756
757
# File 'step_functions/cfn_state_machine.rb', line 751

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

Instance Method Details

#to_jsiiObject



759
760
761
762
763
764
765
766
767
# File 'step_functions/cfn_state_machine.rb', line 759

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