/* * Copyright 2018-2023 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. */ package com.amazonaws.services.fsx.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

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

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class SnaplockConfiguration implements Serializable, Cloneable, StructuredPojo { /** *

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

*/ private Boolean auditLogVolume; /** *

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

*/ private AutocommitPeriod autocommitPeriod; /** *

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

*/ private String privilegedDelete; /** *

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

*/ private SnaplockRetentionPeriod retentionPeriod; /** *

* 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: *

* */ private String snaplockType; /** *

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

*/ private Boolean volumeAppendModeEnabled; /** *

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

* * @param 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 void setAuditLogVolume(Boolean auditLogVolume) { this.auditLogVolume = 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. *

* * @return 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 Boolean getAuditLogVolume() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public SnaplockConfiguration withAuditLogVolume(Boolean auditLogVolume) { setAuditLogVolume(auditLogVolume); return this; } /** *

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

* * @return 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 Boolean isAuditLogVolume() { return this.auditLogVolume; } /** *

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

* * @param autocommitPeriod * The configuration object for setting the autocommit period of files in an FSx for ONTAP SnapLock volume. */ public void setAutocommitPeriod(AutocommitPeriod autocommitPeriod) { this.autocommitPeriod = autocommitPeriod; } /** *

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

* * @return The configuration object for setting the autocommit period of files in an FSx for ONTAP SnapLock volume. */ public AutocommitPeriod getAutocommitPeriod() { return this.autocommitPeriod; } /** *

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

* * @param autocommitPeriod * The configuration object for setting the autocommit period of files in an FSx for ONTAP SnapLock volume. * @return Returns a reference to this object so that method calls can be chained together. */ public SnaplockConfiguration withAutocommitPeriod(AutocommitPeriod autocommitPeriod) { setAutocommitPeriod(autocommitPeriod); return this; } /** *

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

* * @param 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. * @see PrivilegedDelete */ public void setPrivilegedDelete(String privilegedDelete) { this.privilegedDelete = 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. *

* * @return 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. * @see PrivilegedDelete */ public String getPrivilegedDelete() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see PrivilegedDelete */ public SnaplockConfiguration withPrivilegedDelete(String privilegedDelete) { setPrivilegedDelete(privilegedDelete); return this; } /** *

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

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see PrivilegedDelete */ public SnaplockConfiguration withPrivilegedDelete(PrivilegedDelete privilegedDelete) { this.privilegedDelete = privilegedDelete.toString(); return this; } /** *

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

* * @param retentionPeriod * Specifies the retention period of an FSx for ONTAP SnapLock volume. */ public void setRetentionPeriod(SnaplockRetentionPeriod retentionPeriod) { this.retentionPeriod = retentionPeriod; } /** *

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

* * @return Specifies the retention period of an FSx for ONTAP SnapLock volume. */ public SnaplockRetentionPeriod getRetentionPeriod() { return this.retentionPeriod; } /** *

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

* * @param retentionPeriod * Specifies the retention period of an FSx for ONTAP SnapLock volume. * @return Returns a reference to this object so that method calls can be chained together. */ public SnaplockConfiguration withRetentionPeriod(SnaplockRetentionPeriod retentionPeriod) { setRetentionPeriod(retentionPeriod); return this; } /** *

* 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: *

* * * @param 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:

*