/* * 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 configuration of the ONTAP volume that you are creating. /// public partial class CreateOntapVolumeConfiguration { private bool? _copyTagsToBackups; private string _junctionPath; private InputOntapVolumeType _ontapVolumeType; private SecurityStyle _securityStyle; private int? _sizeInMegabytes; private CreateSnaplockConfiguration _snaplockConfiguration; private string _snapshotPolicy; private bool? _storageEfficiencyEnabled; private string _storageVirtualMachineId; 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. This parameter /// is required. 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 OntapVolumeType. /// /// Specifies the type of volume you are creating. Valid values are the following: /// /// /// /// For more information, see Volume /// types in the Amazon FSx for NetApp ONTAP User Guide. /// /// public InputOntapVolumeType 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. /// /// Specifies the security style for the volume. If a volume's security style is not specified, /// it is automatically set to the root volume's security style. The security style determines /// the type of permissions that FSx for ONTAP uses to control data access. For more information, /// see Volume /// security style in the Amazon FSx for NetApp ONTAP User Guide. Specify one /// of the following values: /// /// /// 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 (MB), that you are creating. /// /// [AWSProperty(Required=true, 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. /// /// Specifies the SnapLock configuration for an FSx for ONTAP volume. /// /// public CreateSnaplockConfiguration 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. /// /// Set to true to enable deduplication, compression, and compaction storage efficiency /// features on the volume, or set to false to disable them. This parameter is required. /// /// 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. /// /// Specifies the ONTAP SVM in which to create the volume. /// /// [AWSProperty(Required=true, 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 TieringPolicy. /// 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; } } }