/*
* 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
{
///
/// Container for the parameters to the UpdateFileSystem operation.
/// Use this operation to update the configuration of an existing Amazon FSx file system.
/// You can update multiple properties in a single request.
///
///
///
/// For FSx for Windows File Server file systems, you can update the following properties:
///
/// -
///
///
AuditLogConfiguration
///
/// -
///
///
AutomaticBackupRetentionDays
///
/// -
///
///
DailyAutomaticBackupStartTime
///
/// -
///
///
SelfManagedActiveDirectoryConfiguration
///
/// -
///
///
StorageCapacity
///
/// -
///
///
ThroughputCapacity
///
/// -
///
///
WeeklyMaintenanceStartTime
///
///
///
/// For FSx for Lustre file systems, you can update the following properties:
///
/// -
///
///
AutoImportPolicy
///
/// -
///
///
AutomaticBackupRetentionDays
///
/// -
///
///
DailyAutomaticBackupStartTime
///
/// -
///
///
DataCompressionType
///
/// -
///
///
LogConfiguration
///
/// -
///
///
LustreRootSquashConfiguration
///
/// -
///
///
StorageCapacity
///
/// -
///
///
WeeklyMaintenanceStartTime
///
///
///
/// For FSx for ONTAP file systems, you can update the following properties:
///
/// -
///
///
AddRouteTableIds
///
/// -
///
///
AutomaticBackupRetentionDays
///
/// -
///
///
DailyAutomaticBackupStartTime
///
/// -
///
///
DiskIopsConfiguration
///
/// -
///
///
FsxAdminPassword
///
/// -
///
///
RemoveRouteTableIds
///
/// -
///
///
StorageCapacity
///
/// -
///
///
ThroughputCapacity
///
/// -
///
///
WeeklyMaintenanceStartTime
///
///
///
/// For FSx for OpenZFS file systems, you can update the following properties:
///
/// -
///
///
AutomaticBackupRetentionDays
///
/// -
///
///
CopyTagsToBackups
///
/// -
///
///
CopyTagsToVolumes
///
/// -
///
///
DailyAutomaticBackupStartTime
///
/// -
///
///
DiskIopsConfiguration
///
/// -
///
///
StorageCapacity
///
/// -
///
///
ThroughputCapacity
///
/// -
///
///
WeeklyMaintenanceStartTime
///
///
///
public partial class UpdateFileSystemRequest : AmazonFSxRequest
{
private string _clientRequestToken;
private string _fileSystemId;
private UpdateFileSystemLustreConfiguration _lustreConfiguration;
private UpdateFileSystemOntapConfiguration _ontapConfiguration;
private UpdateFileSystemOpenZFSConfiguration _openZFSConfiguration;
private int? _storageCapacity;
private UpdateFileSystemWindowsConfiguration _windowsConfiguration;
///
/// Gets and sets the property ClientRequestToken.
///
/// A string of up to 63 ASCII characters that Amazon FSx uses to ensure idempotent updates.
/// This string is automatically filled on your behalf when you use the Command Line Interface
/// (CLI) or an Amazon Web Services SDK.
///
///
[AWSProperty(Min=1, Max=63)]
public string ClientRequestToken
{
get { return this._clientRequestToken; }
set { this._clientRequestToken = value; }
}
// Check to see if ClientRequestToken property is set
internal bool IsSetClientRequestToken()
{
return this._clientRequestToken != null;
}
///
/// Gets and sets the property FileSystemId.
///
/// The ID of the file system that you are updating.
///
///
[AWSProperty(Required=true, Min=11, Max=21)]
public string FileSystemId
{
get { return this._fileSystemId; }
set { this._fileSystemId = value; }
}
// Check to see if FileSystemId property is set
internal bool IsSetFileSystemId()
{
return this._fileSystemId != null;
}
///
/// Gets and sets the property LustreConfiguration.
///
public UpdateFileSystemLustreConfiguration LustreConfiguration
{
get { return this._lustreConfiguration; }
set { this._lustreConfiguration = value; }
}
// Check to see if LustreConfiguration property is set
internal bool IsSetLustreConfiguration()
{
return this._lustreConfiguration != null;
}
///
/// Gets and sets the property OntapConfiguration.
///
public UpdateFileSystemOntapConfiguration OntapConfiguration
{
get { return this._ontapConfiguration; }
set { this._ontapConfiguration = value; }
}
// Check to see if OntapConfiguration property is set
internal bool IsSetOntapConfiguration()
{
return this._ontapConfiguration != null;
}
///
/// Gets and sets the property OpenZFSConfiguration.
///
/// The configuration updates for an FSx for OpenZFS file system.
///
///
public UpdateFileSystemOpenZFSConfiguration OpenZFSConfiguration
{
get { return this._openZFSConfiguration; }
set { this._openZFSConfiguration = value; }
}
// Check to see if OpenZFSConfiguration property is set
internal bool IsSetOpenZFSConfiguration()
{
return this._openZFSConfiguration != null;
}
///
/// Gets and sets the property StorageCapacity.
///
/// Use this parameter to increase the storage capacity of an FSx for Windows File Server,
/// FSx for Lustre, FSx for OpenZFS, or FSx for ONTAP file system. Specifies the storage
/// capacity target value, in GiB, to increase the storage capacity for the file system
/// that you're updating.
///
///
///
/// You can't make a storage capacity increase request if there is an existing storage
/// capacity increase request in progress.
///
///
///
/// For Lustre file systems, the storage capacity target value can be the following:
///
/// -
///
/// For
SCRATCH_2
, PERSISTENT_1
, and PERSISTENT_2 SSD
/// deployment types, valid values are in multiples of 2400 GiB. The value must be greater
/// than the current storage capacity.
///
/// -
///
/// For
PERSISTENT HDD
file systems, valid values are multiples of 6000 GiB
/// for 12-MBps throughput per TiB file systems and multiples of 1800 GiB for 40-MBps
/// throughput per TiB file systems. The values must be greater than the current storage
/// capacity.
///
/// -
///
/// For
SCRATCH_1
file systems, you can't increase the storage capacity.
///
///
///
/// For more information, see Managing
/// storage and throughput capacity in the FSx for Lustre User Guide.
///
///
///
/// For FSx for OpenZFS file systems, the storage capacity target value must be at least
/// 10 percent greater than the current storage capacity value. For more information,
/// see Managing
/// storage capacity in the FSx for OpenZFS User Guide.
///
///
///
/// For Windows file systems, the storage capacity target value must be at least 10 percent
/// greater than the current storage capacity value. To increase storage capacity, the
/// file system must have at least 16 MBps of throughput capacity. For more information,
/// see Managing
/// storage capacity in the Amazon FSxfor Windows File Server User Guide.
///
///
///
/// For ONTAP file systems, the storage capacity target value must be at least 10 percent
/// greater than the current storage capacity value. For more information, see Managing
/// storage capacity and provisioned IOPS in the Amazon FSx for NetApp ONTAP User
/// Guide.
///
///
[AWSProperty(Min=0, Max=2147483647)]
public int StorageCapacity
{
get { return this._storageCapacity.GetValueOrDefault(); }
set { this._storageCapacity = value; }
}
// Check to see if StorageCapacity property is set
internal bool IsSetStorageCapacity()
{
return this._storageCapacity.HasValue;
}
///
/// Gets and sets the property WindowsConfiguration.
///
/// The configuration updates for an Amazon FSx for Windows File Server file system.
///
///
public UpdateFileSystemWindowsConfiguration WindowsConfiguration
{
get { return this._windowsConfiguration; }
set { this._windowsConfiguration = value; }
}
// Check to see if WindowsConfiguration property is set
internal bool IsSetWindowsConfiguration()
{
return this._windowsConfiguration != null;
}
}
}