Class: AWSCDK::FSX::CfnVolume::SnaplockRetentionPeriodProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
fsx/cfn_volume.rb

Overview

The configuration to set the retention period of an FSx for ONTAP SnapLock volume.

The retention period includes default, maximum, and minimum settings. For more information, see Working with the retention period in SnapLock .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(default_retention:, maximum_retention:, minimum_retention:) ⇒ SnaplockRetentionPeriodProperty

Returns a new instance of SnaplockRetentionPeriodProperty.

Parameters:



1342
1343
1344
1345
1346
1347
1348
1349
# File 'fsx/cfn_volume.rb', line 1342

def initialize(default_retention:, maximum_retention:, minimum_retention:)
  @default_retention = default_retention.is_a?(Hash) ? ::AWSCDK::FSX::CfnVolume::RetentionPeriodProperty.new(**default_retention.transform_keys(&:to_sym)) : default_retention
  Jsii::Type.check_type(@default_retention, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mc3guQ2ZuVm9sdW1lLlJldGVudGlvblBlcmlvZFByb3BlcnR5In1dfX0=")), "defaultRetention")
  @maximum_retention = maximum_retention.is_a?(Hash) ? ::AWSCDK::FSX::CfnVolume::RetentionPeriodProperty.new(**maximum_retention.transform_keys(&:to_sym)) : maximum_retention
  Jsii::Type.check_type(@maximum_retention, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mc3guQ2ZuVm9sdW1lLlJldGVudGlvblBlcmlvZFByb3BlcnR5In1dfX0=")), "maximumRetention")
  @minimum_retention = minimum_retention.is_a?(Hash) ? ::AWSCDK::FSX::CfnVolume::RetentionPeriodProperty.new(**minimum_retention.transform_keys(&:to_sym)) : minimum_retention
  Jsii::Type.check_type(@minimum_retention, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mc3guQ2ZuVm9sdW1lLlJldGVudGlvblBlcmlvZFByb3BlcnR5In1dfX0=")), "minimumRetention")
end

Instance Attribute Details

#default_retentionAWSCDK::IResolvable, AWSCDK::FSX::CfnVolume::RetentionPeriodProperty (readonly)

The retention period assigned to a write once, read many (WORM) file by default if an explicit retention period is not set for an FSx for ONTAP SnapLock volume.

The default retention period must be greater than or equal to the minimum retention period and less than or equal to the maximum retention period.



1357
1358
1359
# File 'fsx/cfn_volume.rb', line 1357

def default_retention
  @default_retention
end

#maximum_retentionAWSCDK::IResolvable, AWSCDK::FSX::CfnVolume::RetentionPeriodProperty (readonly)

The longest retention period that can be assigned to a WORM file on an FSx for ONTAP SnapLock volume.



1362
1363
1364
# File 'fsx/cfn_volume.rb', line 1362

def maximum_retention
  @maximum_retention
end

#minimum_retentionAWSCDK::IResolvable, AWSCDK::FSX::CfnVolume::RetentionPeriodProperty (readonly)

The shortest retention period that can be assigned to a WORM file on an FSx for ONTAP SnapLock volume.



1367
1368
1369
# File 'fsx/cfn_volume.rb', line 1367

def minimum_retention
  @minimum_retention
end

Class Method Details

.jsii_propertiesObject



1369
1370
1371
1372
1373
1374
1375
# File 'fsx/cfn_volume.rb', line 1369

def self.jsii_properties
  {
    :default_retention => "defaultRetention",
    :maximum_retention => "maximumRetention",
    :minimum_retention => "minimumRetention",
  }
end

Instance Method Details

#to_jsiiObject



1377
1378
1379
1380
1381
1382
1383
1384
1385
# File 'fsx/cfn_volume.rb', line 1377

def to_jsii
  result = {}
  result.merge!({
    "defaultRetention" => @default_retention,
    "maximumRetention" => @maximum_retention,
    "minimumRetention" => @minimum_retention,
  })
  result.compact
end