Class: AWSCDK::SecurityLake::CfnDataLake::LifecycleConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
security_lake/cfn_data_lake.rb

Overview

Provides lifecycle details of Amazon Security Lake object.

To manage your data so that it is stored cost effectively, you can configure retention settings for the data. You can specify your preferred Amazon S3 storage class and the time period for Amazon S3 objects to stay in that storage class before they transition to a different storage class or expire. For more information about Amazon S3 Lifecycle configurations, see Managing your storage lifecycle in the Amazon Simple Storage Service User Guide .

In Security Lake , you specify retention settings at the Region level. For example, you might choose to transition all S3 objects in a specific AWS Region to the S3 Standard-IA storage class 30 days after they're written to the data lake. The default Amazon S3 storage class is S3 Standard.

Security Lake doesn't support Amazon S3 Object Lock. When the data lake buckets are created, S3 Object Lock is disabled by default. Enabling S3 Object Lock with default retention mode interrupts the delivery of normalized log data to the data lake.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(expiration: nil, transitions: nil) ⇒ LifecycleConfigurationProperty

Returns a new instance of LifecycleConfigurationProperty.

Parameters:



663
664
665
666
667
668
# File 'security_lake/cfn_data_lake.rb', line 663

def initialize(expiration: nil, transitions: nil)
  @expiration = expiration.is_a?(Hash) ? ::AWSCDK::SecurityLake::CfnDataLake::ExpirationProperty.new(**expiration.transform_keys(&:to_sym)) : expiration
  Jsii::Type.check_type(@expiration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZWN1cml0eWxha2UuQ2ZuRGF0YUxha2UuRXhwaXJhdGlvblByb3BlcnR5In1dfX0=")), "expiration") unless @expiration.nil?
  @transitions = transitions
  Jsii::Type.check_type(@transitions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VjdXJpdHlsYWtlLkNmbkRhdGFMYWtlLlRyYW5zaXRpb25zUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "transitions") unless @transitions.nil?
end

Instance Attribute Details

#expirationAWSCDK::IResolvable, ... (readonly)

Provides data expiration details of the Amazon Security Lake object.



674
675
676
# File 'security_lake/cfn_data_lake.rb', line 674

def expiration
  @expiration
end

#transitionsAWSCDK::IResolvable, ... (readonly)

Provides data storage transition details of Amazon Security Lake object.

By configuring these settings, you can specify your preferred Amazon S3 storage class and the time period for S3 objects to stay in that storage class before they transition to a different storage class.



681
682
683
# File 'security_lake/cfn_data_lake.rb', line 681

def transitions
  @transitions
end

Class Method Details

.jsii_propertiesObject



683
684
685
686
687
688
# File 'security_lake/cfn_data_lake.rb', line 683

def self.jsii_properties
  {
    :expiration => "expiration",
    :transitions => "transitions",
  }
end

Instance Method Details

#to_jsiiObject



690
691
692
693
694
695
696
697
# File 'security_lake/cfn_data_lake.rb', line 690

def to_jsii
  result = {}
  result.merge!({
    "expiration" => @expiration,
    "transitions" => @transitions,
  })
  result.compact
end