/* * 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 { /// /// The configuration of an Amazon FSx for NetApp ONTAP volume. /// public partial class OntapVolumeConfiguration { private bool? _copyTagsToBackups; private FlexCacheEndpointType _flexCacheEndpointType; private string _junctionPath; private OntapVolumeType _ontapVolumeType; private SecurityStyle _securityStyle; private int? _sizeInMegabytes; private SnaplockConfiguration _snaplockConfiguration; private string _snapshotPolicy; private bool? _storageEfficiencyEnabled; private string _storageVirtualMachineId; private bool? _storageVirtualMachineRoot; private TieringPolicy _tieringPolicy; private string _uuid; /// /// 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 FlexCacheEndpointType. /// /// Specifies the FlexCache endpoint type of the volume. Valid values are the following: /// /// /// public FlexCacheEndpointType FlexCacheEndpointType { get { return this._flexCacheEndpointType; } set { this._flexCacheEndpointType = value; } } // Check to see if FlexCacheEndpointType property is set internal bool IsSetFlexCacheEndpointType() { return this._flexCacheEndpointType != null; } /// /// Gets and sets the property JunctionPath. /// /// Specifies the directory that network-attached storage (NAS) clients use to mount the /// volume, along with the storage virtual machine (SVM) Domain Name System (DNS) name /// or IP address. You can create a JunctionPath directly below a parent /// volume junction or on a directory within a volume. A JunctionPath for /// a volume named vol3 might be /vol1/vol2/vol3, or /vol1/dir2/vol3, /// or even /dir1/dir2/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 OntapVolumeType. /// /// Specifies the type of volume. Valid values are the following: /// /// /// public OntapVolumeType OntapVolumeType { get { return this._ontapVolumeType; } set { this._ontapVolumeType = value; } } // Check to see if OntapVolumeType property is set internal bool IsSetOntapVolumeType() { return this._ontapVolumeType != 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. /// /// The configured size of the volume, in megabytes (MBs). /// /// [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 SnapLock configuration object for an FSx for ONTAP SnapLock volume. /// /// public SnaplockConfiguration 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: /// /// /// /// 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. /// /// The volume's storage efficiency setting. /// /// 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 StorageVirtualMachineId. /// /// The ID of the volume's storage virtual machine. /// /// [AWSProperty(Min=21, Max=21)] public string StorageVirtualMachineId { get { return this._storageVirtualMachineId; } set { this._storageVirtualMachineId = value; } } // Check to see if StorageVirtualMachineId property is set internal bool IsSetStorageVirtualMachineId() { return this._storageVirtualMachineId != null; } /// /// Gets and sets the property StorageVirtualMachineRoot. /// /// A Boolean flag indicating whether this volume is the root volume for its storage virtual /// machine (SVM). Only one volume on an SVM can be the root volume. This value defaults /// to false. If this value is true, then this is the SVM root /// volume. /// /// /// /// This flag is useful when you're deleting an SVM, because you must first delete all /// non-root volumes. This flag, when set to false, helps you identify which /// volumes to delete before you can delete the SVM. /// /// public bool StorageVirtualMachineRoot { get { return this._storageVirtualMachineRoot.GetValueOrDefault(); } set { this._storageVirtualMachineRoot = value; } } // Check to see if StorageVirtualMachineRoot property is set internal bool IsSetStorageVirtualMachineRoot() { return this._storageVirtualMachineRoot.HasValue; } /// /// Gets and sets the property TieringPolicy. /// /// The volume's TieringPolicy setting. /// /// 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; } /// /// Gets and sets the property UUID. /// /// The volume's universally unique identifier (UUID). /// /// [AWSProperty(Max=36)] public string UUID { get { return this._uuid; } set { this._uuid = value; } } // Check to see if UUID property is set internal bool IsSetUUID() { return this._uuid != null; } } }