/*
* 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 object for Amazon FSx for Lustre file systems used in the UpdateFileSystem
/// operation.
///
public partial class UpdateFileSystemLustreConfiguration
{
private AutoImportPolicyType _autoImportPolicy;
private int? _automaticBackupRetentionDays;
private string _dailyAutomaticBackupStartTime;
private DataCompressionType _dataCompressionType;
private LustreLogCreateConfiguration _logConfiguration;
private LustreRootSquashConfiguration _rootSquashConfiguration;
private string _weeklyMaintenanceStartTime;
///
/// Gets and sets the property AutoImportPolicy.
///
/// (Optional) When you create your file system, your existing S3 objects appear as file
/// and directory listings. Use this property to choose how Amazon FSx keeps your file
/// and directory listing up to date as you add or modify objects in your linked S3 bucket.
/// AutoImportPolicy
can have the following values:
///
/// -
///
///
NONE
- (Default) AutoImport is off. Amazon FSx only updates file and
/// directory listings from the linked S3 bucket when the file system is created. FSx
/// does not update the file and directory listing for any new or changed objects after
/// choosing this option.
///
/// -
///
///
NEW
- AutoImport is on. Amazon FSx automatically imports directory listings
/// of any new objects added to the linked S3 bucket that do not currently exist in the
/// FSx file system.
///
/// -
///
///
NEW_CHANGED
- AutoImport is on. Amazon FSx automatically imports file
/// and directory listings of any new objects added to the S3 bucket and any existing
/// objects that are changed in the S3 bucket after you choose this option.
///
/// -
///
///
NEW_CHANGED_DELETED
- AutoImport is on. Amazon FSx automatically imports
/// file and directory listings of any new objects added to the S3 bucket, any existing
/// objects that are changed in the S3 bucket, and any objects that were deleted in the
/// S3 bucket.
///
///
///
/// This parameter is not supported for file systems with a data repository association.
///
///
public AutoImportPolicyType AutoImportPolicy
{
get { return this._autoImportPolicy; }
set { this._autoImportPolicy = value; }
}
// Check to see if AutoImportPolicy property is set
internal bool IsSetAutoImportPolicy()
{
return this._autoImportPolicy != null;
}
///
/// Gets and sets the property AutomaticBackupRetentionDays.
///
/// The number of days to retain automatic backups. Setting this property to 0
/// disables automatic backups. You can retain automatic backups for a maximum of 90 days.
/// The default is 0
.
///
///
[AWSProperty(Min=0, Max=90)]
public int AutomaticBackupRetentionDays
{
get { return this._automaticBackupRetentionDays.GetValueOrDefault(); }
set { this._automaticBackupRetentionDays = value; }
}
// Check to see if AutomaticBackupRetentionDays property is set
internal bool IsSetAutomaticBackupRetentionDays()
{
return this._automaticBackupRetentionDays.HasValue;
}
///
/// Gets and sets the property DailyAutomaticBackupStartTime.
///
[AWSProperty(Min=5, Max=5)]
public string DailyAutomaticBackupStartTime
{
get { return this._dailyAutomaticBackupStartTime; }
set { this._dailyAutomaticBackupStartTime = value; }
}
// Check to see if DailyAutomaticBackupStartTime property is set
internal bool IsSetDailyAutomaticBackupStartTime()
{
return this._dailyAutomaticBackupStartTime != null;
}
///
/// Gets and sets the property DataCompressionType.
///
/// Sets the data compression configuration for the file system. DataCompressionType
/// can have the following values:
///
/// -
///
///
NONE
- Data compression is turned off for the file system.
///
/// -
///
///
LZ4
- Data compression is turned on with the LZ4 algorithm.
///
///
///
/// If you don't use DataCompressionType
, the file system retains its current
/// data compression configuration.
///
///
///
/// For more information, see Lustre
/// data compression.
///
///
public DataCompressionType DataCompressionType
{
get { return this._dataCompressionType; }
set { this._dataCompressionType = value; }
}
// Check to see if DataCompressionType property is set
internal bool IsSetDataCompressionType()
{
return this._dataCompressionType != null;
}
///
/// Gets and sets the property LogConfiguration.
///
/// The Lustre logging configuration used when updating an Amazon FSx for Lustre file
/// system. When logging is enabled, Lustre logs error and warning events for data repositories
/// associated with your file system to Amazon CloudWatch Logs.
///
///
public LustreLogCreateConfiguration LogConfiguration
{
get { return this._logConfiguration; }
set { this._logConfiguration = value; }
}
// Check to see if LogConfiguration property is set
internal bool IsSetLogConfiguration()
{
return this._logConfiguration != null;
}
///
/// Gets and sets the property RootSquashConfiguration.
///
/// The Lustre root squash configuration used when updating an Amazon FSx for Lustre file
/// system. When enabled, root squash restricts root-level access from clients that try
/// to access your file system as a root user.
///
///
public LustreRootSquashConfiguration RootSquashConfiguration
{
get { return this._rootSquashConfiguration; }
set { this._rootSquashConfiguration = value; }
}
// Check to see if RootSquashConfiguration property is set
internal bool IsSetRootSquashConfiguration()
{
return this._rootSquashConfiguration != null;
}
///
/// Gets and sets the property WeeklyMaintenanceStartTime.
///
/// (Optional) The preferred start time to perform weekly maintenance, formatted d:HH:MM
/// in the UTC time zone. d is the weekday number, from 1 through 7, beginning with Monday
/// and ending with Sunday.
///
///
[AWSProperty(Min=7, Max=7)]
public string WeeklyMaintenanceStartTime
{
get { return this._weeklyMaintenanceStartTime; }
set { this._weeklyMaintenanceStartTime = value; }
}
// Check to see if WeeklyMaintenanceStartTime property is set
internal bool IsSetWeeklyMaintenanceStartTime()
{
return this._weeklyMaintenanceStartTime != null;
}
}
}