Class: AWSCDK::FSX::CfnVolume::SnaplockConfigurationProperty

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

Overview

Specifies the SnapLock configuration for an FSx for ONTAP SnapLock volume.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(snaplock_type:, audit_log_volume: nil, autocommit_period: nil, privileged_delete: nil, retention_period: nil, volume_append_mode_enabled: nil) ⇒ SnaplockConfigurationProperty

Returns a new instance of SnaplockConfigurationProperty.

Parameters:

  • snaplock_type (String)

    Specifies the retention mode of an FSx for ONTAP SnapLock volume.

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

    Enables or disables the audit log volume for an FSx for ONTAP SnapLock volume.

  • autocommit_period (AWSCDK::IResolvable, AWSCDK::FSX::CfnVolume::AutocommitPeriodProperty, nil) (defaults to: nil)

    The configuration object for setting the autocommit period of files in an FSx for ONTAP SnapLock volume.

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

    Enables, disables, or permanently disables privileged delete on an FSx for ONTAP SnapLock Enterprise volume.

  • retention_period (AWSCDK::IResolvable, AWSCDK::FSX::CfnVolume::SnaplockRetentionPeriodProperty, nil) (defaults to: nil)

    Specifies the retention period of an FSx for ONTAP SnapLock volume.

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

    Enables or disables volume-append mode on an FSx for ONTAP SnapLock volume.



1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
# File 'fsx/cfn_volume.rb', line 1243

def initialize(snaplock_type:, audit_log_volume: nil, autocommit_period: nil, privileged_delete: nil, retention_period: nil, volume_append_mode_enabled: nil)
  @snaplock_type = snaplock_type
  Jsii::Type.check_type(@snaplock_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snaplockType")
  @audit_log_volume = audit_log_volume
  Jsii::Type.check_type(@audit_log_volume, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "auditLogVolume") unless @audit_log_volume.nil?
  @autocommit_period = autocommit_period.is_a?(Hash) ? ::AWSCDK::FSX::CfnVolume::AutocommitPeriodProperty.new(**autocommit_period.transform_keys(&:to_sym)) : autocommit_period
  Jsii::Type.check_type(@autocommit_period, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mc3guQ2ZuVm9sdW1lLkF1dG9jb21taXRQZXJpb2RQcm9wZXJ0eSJ9XX19")), "autocommitPeriod") unless @autocommit_period.nil?
  @privileged_delete = privileged_delete
  Jsii::Type.check_type(@privileged_delete, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "privilegedDelete") unless @privileged_delete.nil?
  @retention_period = retention_period.is_a?(Hash) ? ::AWSCDK::FSX::CfnVolume::SnaplockRetentionPeriodProperty.new(**retention_period.transform_keys(&:to_sym)) : retention_period
  Jsii::Type.check_type(@retention_period, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mc3guQ2ZuVm9sdW1lLlNuYXBsb2NrUmV0ZW50aW9uUGVyaW9kUHJvcGVydHkifV19fQ==")), "retentionPeriod") unless @retention_period.nil?
  @volume_append_mode_enabled = volume_append_mode_enabled
  Jsii::Type.check_type(@volume_append_mode_enabled, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "volumeAppendModeEnabled") unless @volume_append_mode_enabled.nil?
end

Instance Attribute Details

#audit_log_volumeString? (readonly)

Enables or disables the audit log volume for an FSx for ONTAP SnapLock volume.

The default value is false . If you set AuditLogVolume to true , the SnapLock volume is created as an audit log volume. The minimum retention period for an audit log volume is six months.

For more information, see SnapLock audit log volumes .



1276
1277
1278
# File 'fsx/cfn_volume.rb', line 1276

def audit_log_volume
  @audit_log_volume
end

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

The configuration object for setting the autocommit period of files in an FSx for ONTAP SnapLock volume.



1281
1282
1283
# File 'fsx/cfn_volume.rb', line 1281

def autocommit_period
  @autocommit_period
end

#privileged_deleteString? (readonly)

Enables, disables, or permanently disables privileged delete on an FSx for ONTAP SnapLock Enterprise volume.

Enabling privileged delete allows SnapLock administrators to delete write once, read many (WORM) files even if they have active retention periods. PERMANENTLY_DISABLED is a terminal state. If privileged delete is permanently disabled on a SnapLock volume, you can't re-enable it. The default value is DISABLED .

For more information, see Privileged delete .



1290
1291
1292
# File 'fsx/cfn_volume.rb', line 1290

def privileged_delete
  @privileged_delete
end

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

Specifies the retention period of an FSx for ONTAP SnapLock volume.



1295
1296
1297
# File 'fsx/cfn_volume.rb', line 1295

def retention_period
  @retention_period
end

#snaplock_typeString (readonly)

Specifies the retention mode of an FSx for ONTAP SnapLock volume.

After it is set, it can't be changed. You can choose one of the following retention modes:

  • COMPLIANCE : Files transitioned to write once, read many (WORM) on a Compliance volume can't be deleted until their retention periods expire. This retention mode is used to address government or industry-specific mandates or to protect against ransomware attacks. For more information, see SnapLock Compliance .
  • ENTERPRISE : Files transitioned to WORM on an Enterprise volume can be deleted by authorized users before their retention periods expire using privileged delete. This retention mode is used to advance an organization's data integrity and internal compliance or to test retention settings before using SnapLock Compliance. For more information, see SnapLock Enterprise .


1267
1268
1269
# File 'fsx/cfn_volume.rb', line 1267

def snaplock_type
  @snaplock_type
end

#volume_append_mode_enabledString? (readonly)

Enables or disables volume-append mode on an FSx for ONTAP SnapLock volume.

Volume-append mode allows you to create WORM-appendable files and write data to them incrementally. The default value is false .

For more information, see Volume-append mode .



1304
1305
1306
# File 'fsx/cfn_volume.rb', line 1304

def volume_append_mode_enabled
  @volume_append_mode_enabled
end

Class Method Details

.jsii_propertiesObject



1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
# File 'fsx/cfn_volume.rb', line 1306

def self.jsii_properties
  {
    :snaplock_type => "snaplockType",
    :audit_log_volume => "auditLogVolume",
    :autocommit_period => "autocommitPeriod",
    :privileged_delete => "privilegedDelete",
    :retention_period => "retentionPeriod",
    :volume_append_mode_enabled => "volumeAppendModeEnabled",
  }
end

Instance Method Details

#to_jsiiObject



1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
# File 'fsx/cfn_volume.rb', line 1317

def to_jsii
  result = {}
  result.merge!({
    "snaplockType" => @snaplock_type,
    "auditLogVolume" => @audit_log_volume,
    "autocommitPeriod" => @autocommit_period,
    "privilegedDelete" => @privileged_delete,
    "retentionPeriod" => @retention_period,
    "volumeAppendModeEnabled" => @volume_append_mode_enabled,
  })
  result.compact
end