/*
* 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
{
///
/// Used to specify changes to the ONTAP configuration for the volume you are updating.
///
public partial class UpdateOntapVolumeConfiguration
{
private bool? _copyTagsToBackups;
private string _junctionPath;
private SecurityStyle _securityStyle;
private int? _sizeInMegabytes;
private UpdateSnaplockConfiguration _snaplockConfiguration;
private string _snapshotPolicy;
private bool? _storageEfficiencyEnabled;
private TieringPolicy _tieringPolicy;
///
/// Gets and sets the property 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.
///
///
public bool CopyTagsToBackups
{
get { return this._copyTagsToBackups.GetValueOrDefault(); }
set { this._copyTagsToBackups = value; }
}
// Check to see if CopyTagsToBackups property is set
internal bool IsSetCopyTagsToBackups()
{
return this._copyTagsToBackups.HasValue;
}
///
/// Gets and sets the property JunctionPath.
///
/// Specifies the location in the SVM's namespace where the volume is mounted. The JunctionPath
/// must have a leading forward slash, such as /vol3
.
///
///
[AWSProperty(Min=1, Max=255)]
public string JunctionPath
{
get { return this._junctionPath; }
set { this._junctionPath = value; }
}
// Check to see if JunctionPath property is set
internal bool IsSetJunctionPath()
{
return this._junctionPath != null;
}
///
/// Gets and sets the property SecurityStyle.
///
/// The security style for the volume, which can be UNIX
, NTFS
,
/// or MIXED
.
///
///
public SecurityStyle SecurityStyle
{
get { return this._securityStyle; }
set { this._securityStyle = value; }
}
// Check to see if SecurityStyle property is set
internal bool IsSetSecurityStyle()
{
return this._securityStyle != null;
}
///
/// Gets and sets the property SizeInMegabytes.
///
/// Specifies the size of the volume in megabytes.
///
///
[AWSProperty(Min=0, Max=314572800)]
public int SizeInMegabytes
{
get { return this._sizeInMegabytes.GetValueOrDefault(); }
set { this._sizeInMegabytes = value; }
}
// Check to see if SizeInMegabytes property is set
internal bool IsSetSizeInMegabytes()
{
return this._sizeInMegabytes.HasValue;
}
///
/// Gets and sets the property SnaplockConfiguration.
///
/// The configuration object for updating the SnapLock configuration of an FSx for ONTAP
/// SnapLock volume.
///
///
public UpdateSnaplockConfiguration SnaplockConfiguration
{
get { return this._snaplockConfiguration; }
set { this._snaplockConfiguration = value; }
}
// Check to see if SnaplockConfiguration property is set
internal bool IsSetSnaplockConfiguration()
{
return this._snaplockConfiguration != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=1, Max=255)]
public string SnapshotPolicy
{
get { return this._snapshotPolicy; }
set { this._snapshotPolicy = value; }
}
// Check to see if SnapshotPolicy property is set
internal bool IsSetSnapshotPolicy()
{
return this._snapshotPolicy != null;
}
///
/// Gets and sets the property StorageEfficiencyEnabled.
///
/// Default is false
. Set to true to enable the deduplication, compression,
/// and compaction storage efficiency features on the volume.
///
///
public bool StorageEfficiencyEnabled
{
get { return this._storageEfficiencyEnabled.GetValueOrDefault(); }
set { this._storageEfficiencyEnabled = value; }
}
// Check to see if StorageEfficiencyEnabled property is set
internal bool IsSetStorageEfficiencyEnabled()
{
return this._storageEfficiencyEnabled.HasValue;
}
///
/// Gets and sets the property TieringPolicy.
///
/// Update the volume's data tiering policy.
///
///
public TieringPolicy TieringPolicy
{
get { return this._tieringPolicy; }
set { this._tieringPolicy = value; }
}
// Check to see if TieringPolicy property is set
internal bool IsSetTieringPolicy()
{
return this._tieringPolicy != null;
}
}
}