/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the fsx-2018-03-01.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.FSx.Model
{
///
/// Specifies the SnapLock configuration for an FSx for ONTAP SnapLock volume.
///
public partial class SnaplockConfiguration
{
private bool? _auditLogVolume;
private AutocommitPeriod _autocommitPeriod;
private PrivilegedDelete _privilegedDelete;
private SnaplockRetentionPeriod _retentionPeriod;
private SnaplockType _snaplockType;
private bool? _volumeAppendModeEnabled;
///
/// Gets and sets the property AuditLogVolume.
///
/// 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.
///
///
public bool AuditLogVolume
{
get { return this._auditLogVolume.GetValueOrDefault(); }
set { this._auditLogVolume = value; }
}
// Check to see if AuditLogVolume property is set
internal bool IsSetAuditLogVolume()
{
return this._auditLogVolume.HasValue;
}
///
/// Gets and sets the property AutocommitPeriod.
///
/// The configuration object for setting the autocommit period of files in an FSx for
/// ONTAP SnapLock volume.
///
///
public AutocommitPeriod AutocommitPeriod
{
get { return this._autocommitPeriod; }
set { this._autocommitPeriod = value; }
}
// Check to see if AutocommitPeriod property is set
internal bool IsSetAutocommitPeriod()
{
return this._autocommitPeriod != null;
}
///
/// Gets and sets the property PrivilegedDelete.
///
/// 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.
///
///
public PrivilegedDelete PrivilegedDelete
{
get { return this._privilegedDelete; }
set { this._privilegedDelete = value; }
}
// Check to see if PrivilegedDelete property is set
internal bool IsSetPrivilegedDelete()
{
return this._privilegedDelete != null;
}
///
/// Gets and sets the property RetentionPeriod.
///
/// Specifies the retention period of an FSx for ONTAP SnapLock volume.
///
///
public SnaplockRetentionPeriod RetentionPeriod
{
get { return this._retentionPeriod; }
set { this._retentionPeriod = value; }
}
// Check to see if RetentionPeriod property is set
internal bool IsSetRetentionPeriod()
{
return this._retentionPeriod != null;
}
///
/// Gets and sets the property SnaplockType.
///
/// 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.
///
///
///
public SnaplockType SnaplockType
{
get { return this._snaplockType; }
set { this._snaplockType = value; }
}
// Check to see if SnaplockType property is set
internal bool IsSetSnaplockType()
{
return this._snaplockType != null;
}
///
/// Gets and sets the property VolumeAppendModeEnabled.
///
/// 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.
///
///
public bool VolumeAppendModeEnabled
{
get { return this._volumeAppendModeEnabled.GetValueOrDefault(); }
set { this._volumeAppendModeEnabled = value; }
}
// Check to see if VolumeAppendModeEnabled property is set
internal bool IsSetVolumeAppendModeEnabled()
{
return this._volumeAppendModeEnabled.HasValue;
}
}
}