/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Used to specify changes to the ONTAP configuration for the volume you are
* updating.See Also:
AWS
* API Reference
Specifies the location in the SVM's namespace where the volume is mounted.
* The JunctionPath
must have a leading forward slash, such as
* /vol3
.
Specifies the location in the SVM's namespace where the volume is mounted.
* The JunctionPath
must have a leading forward slash, such as
* /vol3
.
Specifies the location in the SVM's namespace where the volume is mounted.
* The JunctionPath
must have a leading forward slash, such as
* /vol3
.
Specifies the location in the SVM's namespace where the volume is mounted.
* The JunctionPath
must have a leading forward slash, such as
* /vol3
.
Specifies the location in the SVM's namespace where the volume is mounted.
* The JunctionPath
must have a leading forward slash, such as
* /vol3
.
Specifies the location in the SVM's namespace where the volume is mounted.
* The JunctionPath
must have a leading forward slash, such as
* /vol3
.
Specifies the location in the SVM's namespace where the volume is mounted.
* The JunctionPath
must have a leading forward slash, such as
* /vol3
.
Specifies the location in the SVM's namespace where the volume is mounted.
* The JunctionPath
must have a leading forward slash, such as
* /vol3
.
The security style for the volume, which can be UNIX
,
* NTFS
, or MIXED
.
The security style for the volume, which can be UNIX
,
* NTFS
, or MIXED
.
The security style for the volume, which can be UNIX
,
* NTFS
, or MIXED
.
The security style for the volume, which can be UNIX
,
* NTFS
, or MIXED
.
The security style for the volume, which can be UNIX
,
* NTFS
, or MIXED
.
The security style for the volume, which can be UNIX
,
* NTFS
, or MIXED
.
Specifies the size of the volume in megabytes.
*/ inline int GetSizeInMegabytes() const{ return m_sizeInMegabytes; } /** *Specifies the size of the volume in megabytes.
*/ inline bool SizeInMegabytesHasBeenSet() const { return m_sizeInMegabytesHasBeenSet; } /** *Specifies the size of the volume in megabytes.
*/ inline void SetSizeInMegabytes(int value) { m_sizeInMegabytesHasBeenSet = true; m_sizeInMegabytes = value; } /** *Specifies the size of the volume in megabytes.
*/ inline UpdateOntapVolumeConfiguration& WithSizeInMegabytes(int value) { SetSizeInMegabytes(value); return *this;} /** *Default is false
. Set to true to enable the deduplication,
* compression, and compaction storage efficiency features on the volume.
Default is false
. Set to true to enable the deduplication,
* compression, and compaction storage efficiency features on the volume.
Default is false
. Set to true to enable the deduplication,
* compression, and compaction storage efficiency features on the volume.
Default is false
. Set to true to enable the deduplication,
* compression, and compaction storage efficiency features on the volume.
Update the volume's data tiering policy.
*/ inline const TieringPolicy& GetTieringPolicy() const{ return m_tieringPolicy; } /** *Update the volume's data tiering policy.
*/ inline bool TieringPolicyHasBeenSet() const { return m_tieringPolicyHasBeenSet; } /** *Update the volume's data tiering policy.
*/ inline void SetTieringPolicy(const TieringPolicy& value) { m_tieringPolicyHasBeenSet = true; m_tieringPolicy = value; } /** *Update the volume's data tiering policy.
*/ inline void SetTieringPolicy(TieringPolicy&& value) { m_tieringPolicyHasBeenSet = true; m_tieringPolicy = std::move(value); } /** *Update the volume's data tiering policy.
*/ inline UpdateOntapVolumeConfiguration& WithTieringPolicy(const TieringPolicy& value) { SetTieringPolicy(value); return *this;} /** *Update the volume's data tiering policy.
*/ inline UpdateOntapVolumeConfiguration& WithTieringPolicy(TieringPolicy&& value) { SetTieringPolicy(std::move(value)); return *this;} /** *Specifies the snapshot policy for the volume. There are three built-in * snapshot policies:
default
: This is the default
* policy. A maximum of six hourly snapshots taken five minutes past the hour. A
* maximum of two daily snapshots taken Monday through Saturday at 10 minutes after
* midnight. A maximum of two weekly snapshots taken every Sunday at 15 minutes
* after midnight.
default-1weekly
: This policy is
* the same as the default
policy except that it only retains one
* snapshot from the weekly schedule.
none
: This
* policy does not take any snapshots. This policy can be assigned to volumes to
* prevent automatic snapshots from being taken.
You can also * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.
For more information, see Snapshot * policies in the Amazon FSx for NetApp ONTAP User Guide.
*/ inline const Aws::String& GetSnapshotPolicy() const{ return m_snapshotPolicy; } /** *Specifies the snapshot policy for the volume. There are three built-in * snapshot policies:
default
: This is the default
* policy. A maximum of six hourly snapshots taken five minutes past the hour. A
* maximum of two daily snapshots taken Monday through Saturday at 10 minutes after
* midnight. A maximum of two weekly snapshots taken every Sunday at 15 minutes
* after midnight.
default-1weekly
: This policy is
* the same as the default
policy except that it only retains one
* snapshot from the weekly schedule.
none
: This
* policy does not take any snapshots. This policy can be assigned to volumes to
* prevent automatic snapshots from being taken.
You can also * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.
For more information, see Snapshot * policies in the Amazon FSx for NetApp ONTAP User Guide.
*/ inline bool SnapshotPolicyHasBeenSet() const { return m_snapshotPolicyHasBeenSet; } /** *Specifies the snapshot policy for the volume. There are three built-in * snapshot policies:
default
: This is the default
* policy. A maximum of six hourly snapshots taken five minutes past the hour. A
* maximum of two daily snapshots taken Monday through Saturday at 10 minutes after
* midnight. A maximum of two weekly snapshots taken every Sunday at 15 minutes
* after midnight.
default-1weekly
: This policy is
* the same as the default
policy except that it only retains one
* snapshot from the weekly schedule.
none
: This
* policy does not take any snapshots. This policy can be assigned to volumes to
* prevent automatic snapshots from being taken.
You can also * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.
For more information, see Snapshot * policies in the Amazon FSx for NetApp ONTAP User Guide.
*/ inline void SetSnapshotPolicy(const Aws::String& value) { m_snapshotPolicyHasBeenSet = true; m_snapshotPolicy = value; } /** *Specifies the snapshot policy for the volume. There are three built-in * snapshot policies:
default
: This is the default
* policy. A maximum of six hourly snapshots taken five minutes past the hour. A
* maximum of two daily snapshots taken Monday through Saturday at 10 minutes after
* midnight. A maximum of two weekly snapshots taken every Sunday at 15 minutes
* after midnight.
default-1weekly
: This policy is
* the same as the default
policy except that it only retains one
* snapshot from the weekly schedule.
none
: This
* policy does not take any snapshots. This policy can be assigned to volumes to
* prevent automatic snapshots from being taken.
You can also * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.
For more information, see Snapshot * policies in the Amazon FSx for NetApp ONTAP User Guide.
*/ inline void SetSnapshotPolicy(Aws::String&& value) { m_snapshotPolicyHasBeenSet = true; m_snapshotPolicy = std::move(value); } /** *Specifies the snapshot policy for the volume. There are three built-in * snapshot policies:
default
: This is the default
* policy. A maximum of six hourly snapshots taken five minutes past the hour. A
* maximum of two daily snapshots taken Monday through Saturday at 10 minutes after
* midnight. A maximum of two weekly snapshots taken every Sunday at 15 minutes
* after midnight.
default-1weekly
: This policy is
* the same as the default
policy except that it only retains one
* snapshot from the weekly schedule.
none
: This
* policy does not take any snapshots. This policy can be assigned to volumes to
* prevent automatic snapshots from being taken.
You can also * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.
For more information, see Snapshot * policies in the Amazon FSx for NetApp ONTAP User Guide.
*/ inline void SetSnapshotPolicy(const char* value) { m_snapshotPolicyHasBeenSet = true; m_snapshotPolicy.assign(value); } /** *Specifies the snapshot policy for the volume. There are three built-in * snapshot policies:
default
: This is the default
* policy. A maximum of six hourly snapshots taken five minutes past the hour. A
* maximum of two daily snapshots taken Monday through Saturday at 10 minutes after
* midnight. A maximum of two weekly snapshots taken every Sunday at 15 minutes
* after midnight.
default-1weekly
: This policy is
* the same as the default
policy except that it only retains one
* snapshot from the weekly schedule.
none
: This
* policy does not take any snapshots. This policy can be assigned to volumes to
* prevent automatic snapshots from being taken.
You can also * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.
For more information, see Snapshot * policies in the Amazon FSx for NetApp ONTAP User Guide.
*/ inline UpdateOntapVolumeConfiguration& WithSnapshotPolicy(const Aws::String& value) { SetSnapshotPolicy(value); return *this;} /** *Specifies the snapshot policy for the volume. There are three built-in * snapshot policies:
default
: This is the default
* policy. A maximum of six hourly snapshots taken five minutes past the hour. A
* maximum of two daily snapshots taken Monday through Saturday at 10 minutes after
* midnight. A maximum of two weekly snapshots taken every Sunday at 15 minutes
* after midnight.
default-1weekly
: This policy is
* the same as the default
policy except that it only retains one
* snapshot from the weekly schedule.
none
: This
* policy does not take any snapshots. This policy can be assigned to volumes to
* prevent automatic snapshots from being taken.
You can also * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.
For more information, see Snapshot * policies in the Amazon FSx for NetApp ONTAP User Guide.
*/ inline UpdateOntapVolumeConfiguration& WithSnapshotPolicy(Aws::String&& value) { SetSnapshotPolicy(std::move(value)); return *this;} /** *Specifies the snapshot policy for the volume. There are three built-in * snapshot policies:
default
: This is the default
* policy. A maximum of six hourly snapshots taken five minutes past the hour. A
* maximum of two daily snapshots taken Monday through Saturday at 10 minutes after
* midnight. A maximum of two weekly snapshots taken every Sunday at 15 minutes
* after midnight.
default-1weekly
: This policy is
* the same as the default
policy except that it only retains one
* snapshot from the weekly schedule.
none
: This
* policy does not take any snapshots. This policy can be assigned to volumes to
* prevent automatic snapshots from being taken.
You can also * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.
For more information, see Snapshot * policies in the Amazon FSx for NetApp ONTAP User Guide.
*/ inline UpdateOntapVolumeConfiguration& WithSnapshotPolicy(const char* value) { SetSnapshotPolicy(value); return *this;} /** *A boolean flag indicating whether tags for the volume should be copied to * backups. This value defaults to false. If it's set to true, all tags for the * volume are copied to all automatic and user-initiated backups where the user * doesn't specify tags. If this value is true, and you specify one or more tags, * only the specified tags are copied to backups. If you specify one or more tags * when creating a user-initiated backup, no tags are copied from the volume, * regardless of this value.
*/ inline bool GetCopyTagsToBackups() const{ return m_copyTagsToBackups; } /** *A boolean flag indicating whether tags for the volume should be copied to * backups. This value defaults to false. If it's set to true, all tags for the * volume are copied to all automatic and user-initiated backups where the user * doesn't specify tags. If this value is true, and you specify one or more tags, * only the specified tags are copied to backups. If you specify one or more tags * when creating a user-initiated backup, no tags are copied from the volume, * regardless of this value.
*/ inline bool CopyTagsToBackupsHasBeenSet() const { return m_copyTagsToBackupsHasBeenSet; } /** *A boolean flag indicating whether tags for the volume should be copied to * backups. This value defaults to false. If it's set to true, all tags for the * volume are copied to all automatic and user-initiated backups where the user * doesn't specify tags. If this value is true, and you specify one or more tags, * only the specified tags are copied to backups. If you specify one or more tags * when creating a user-initiated backup, no tags are copied from the volume, * regardless of this value.
*/ inline void SetCopyTagsToBackups(bool value) { m_copyTagsToBackupsHasBeenSet = true; m_copyTagsToBackups = value; } /** *A boolean flag indicating whether tags for the volume should be copied to * backups. This value defaults to false. If it's set to true, all tags for the * volume are copied to all automatic and user-initiated backups where the user * doesn't specify tags. If this value is true, and you specify one or more tags, * only the specified tags are copied to backups. If you specify one or more tags * when creating a user-initiated backup, no tags are copied from the volume, * regardless of this value.
*/ inline UpdateOntapVolumeConfiguration& WithCopyTagsToBackups(bool value) { SetCopyTagsToBackups(value); return *this;} /** *The configuration object for updating the SnapLock configuration of an FSx * for ONTAP SnapLock volume.
*/ inline const UpdateSnaplockConfiguration& GetSnaplockConfiguration() const{ return m_snaplockConfiguration; } /** *The configuration object for updating the SnapLock configuration of an FSx * for ONTAP SnapLock volume.
*/ inline bool SnaplockConfigurationHasBeenSet() const { return m_snaplockConfigurationHasBeenSet; } /** *The configuration object for updating the SnapLock configuration of an FSx * for ONTAP SnapLock volume.
*/ inline void SetSnaplockConfiguration(const UpdateSnaplockConfiguration& value) { m_snaplockConfigurationHasBeenSet = true; m_snaplockConfiguration = value; } /** *The configuration object for updating the SnapLock configuration of an FSx * for ONTAP SnapLock volume.
*/ inline void SetSnaplockConfiguration(UpdateSnaplockConfiguration&& value) { m_snaplockConfigurationHasBeenSet = true; m_snaplockConfiguration = std::move(value); } /** *The configuration object for updating the SnapLock configuration of an FSx * for ONTAP SnapLock volume.
*/ inline UpdateOntapVolumeConfiguration& WithSnaplockConfiguration(const UpdateSnaplockConfiguration& value) { SetSnaplockConfiguration(value); return *this;} /** *The configuration object for updating the SnapLock configuration of an FSx * for ONTAP SnapLock volume.
*/ inline UpdateOntapVolumeConfiguration& WithSnaplockConfiguration(UpdateSnaplockConfiguration&& value) { SetSnaplockConfiguration(std::move(value)); return *this;} private: Aws::String m_junctionPath; bool m_junctionPathHasBeenSet = false; SecurityStyle m_securityStyle; bool m_securityStyleHasBeenSet = false; int m_sizeInMegabytes; bool m_sizeInMegabytesHasBeenSet = false; bool m_storageEfficiencyEnabled; bool m_storageEfficiencyEnabledHasBeenSet = false; TieringPolicy m_tieringPolicy; bool m_tieringPolicyHasBeenSet = false; Aws::String m_snapshotPolicy; bool m_snapshotPolicyHasBeenSet = false; bool m_copyTagsToBackups; bool m_copyTagsToBackupsHasBeenSet = false; UpdateSnaplockConfiguration m_snaplockConfiguration; bool m_snaplockConfigurationHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws