/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The configuration for the Amazon FSx for Lustre file system.See
* Also:
AWS
* API Reference
The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Here, d
is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.
The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Here, d
is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.
The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Here, d
is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.
The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Here, d
is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.
The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Here, d
is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.
The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Here, d
is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.
The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Here, d
is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.
The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Here, d
is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.
The deployment type of the FSx for Lustre file system. Scratch deployment * type is designed for temporary storage and shorter-term processing of * data.
SCRATCH_1
and SCRATCH_2
deployment types
* are best suited for when you need temporary storage and shorter-term processing
* of data. The SCRATCH_2
deployment type provides in-transit
* encryption of data and higher burst throughput capacity than
* SCRATCH_1
.
The PERSISTENT_1
and
* PERSISTENT_2
deployment type is used for longer-term storage and
* workloads and encryption of data in transit. PERSISTENT_2
is built
* on Lustre v2.12 and offers higher PerUnitStorageThroughput
(up to
* 1000 MB/s/TiB) along with a lower minimum storage capacity requirement (600
* GiB). To learn more about FSx for Lustre deployment types, see
* FSx for Lustre deployment options.
The default is
* SCRATCH_1
.
The deployment type of the FSx for Lustre file system. Scratch deployment * type is designed for temporary storage and shorter-term processing of * data.
SCRATCH_1
and SCRATCH_2
deployment types
* are best suited for when you need temporary storage and shorter-term processing
* of data. The SCRATCH_2
deployment type provides in-transit
* encryption of data and higher burst throughput capacity than
* SCRATCH_1
.
The PERSISTENT_1
and
* PERSISTENT_2
deployment type is used for longer-term storage and
* workloads and encryption of data in transit. PERSISTENT_2
is built
* on Lustre v2.12 and offers higher PerUnitStorageThroughput
(up to
* 1000 MB/s/TiB) along with a lower minimum storage capacity requirement (600
* GiB). To learn more about FSx for Lustre deployment types, see
* FSx for Lustre deployment options.
The default is
* SCRATCH_1
.
The deployment type of the FSx for Lustre file system. Scratch deployment * type is designed for temporary storage and shorter-term processing of * data.
SCRATCH_1
and SCRATCH_2
deployment types
* are best suited for when you need temporary storage and shorter-term processing
* of data. The SCRATCH_2
deployment type provides in-transit
* encryption of data and higher burst throughput capacity than
* SCRATCH_1
.
The PERSISTENT_1
and
* PERSISTENT_2
deployment type is used for longer-term storage and
* workloads and encryption of data in transit. PERSISTENT_2
is built
* on Lustre v2.12 and offers higher PerUnitStorageThroughput
(up to
* 1000 MB/s/TiB) along with a lower minimum storage capacity requirement (600
* GiB). To learn more about FSx for Lustre deployment types, see
* FSx for Lustre deployment options.
The default is
* SCRATCH_1
.
The deployment type of the FSx for Lustre file system. Scratch deployment * type is designed for temporary storage and shorter-term processing of * data.
SCRATCH_1
and SCRATCH_2
deployment types
* are best suited for when you need temporary storage and shorter-term processing
* of data. The SCRATCH_2
deployment type provides in-transit
* encryption of data and higher burst throughput capacity than
* SCRATCH_1
.
The PERSISTENT_1
and
* PERSISTENT_2
deployment type is used for longer-term storage and
* workloads and encryption of data in transit. PERSISTENT_2
is built
* on Lustre v2.12 and offers higher PerUnitStorageThroughput
(up to
* 1000 MB/s/TiB) along with a lower minimum storage capacity requirement (600
* GiB). To learn more about FSx for Lustre deployment types, see
* FSx for Lustre deployment options.
The default is
* SCRATCH_1
.
The deployment type of the FSx for Lustre file system. Scratch deployment * type is designed for temporary storage and shorter-term processing of * data.
SCRATCH_1
and SCRATCH_2
deployment types
* are best suited for when you need temporary storage and shorter-term processing
* of data. The SCRATCH_2
deployment type provides in-transit
* encryption of data and higher burst throughput capacity than
* SCRATCH_1
.
The PERSISTENT_1
and
* PERSISTENT_2
deployment type is used for longer-term storage and
* workloads and encryption of data in transit. PERSISTENT_2
is built
* on Lustre v2.12 and offers higher PerUnitStorageThroughput
(up to
* 1000 MB/s/TiB) along with a lower minimum storage capacity requirement (600
* GiB). To learn more about FSx for Lustre deployment types, see
* FSx for Lustre deployment options.
The default is
* SCRATCH_1
.
The deployment type of the FSx for Lustre file system. Scratch deployment * type is designed for temporary storage and shorter-term processing of * data.
SCRATCH_1
and SCRATCH_2
deployment types
* are best suited for when you need temporary storage and shorter-term processing
* of data. The SCRATCH_2
deployment type provides in-transit
* encryption of data and higher burst throughput capacity than
* SCRATCH_1
.
The PERSISTENT_1
and
* PERSISTENT_2
deployment type is used for longer-term storage and
* workloads and encryption of data in transit. PERSISTENT_2
is built
* on Lustre v2.12 and offers higher PerUnitStorageThroughput
(up to
* 1000 MB/s/TiB) along with a lower minimum storage capacity requirement (600
* GiB). To learn more about FSx for Lustre deployment types, see
* FSx for Lustre deployment options.
The default is
* SCRATCH_1
.
Per unit storage throughput represents the megabytes per second of read or
* write throughput per 1 tebibyte of storage provisioned. File system throughput
* capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput
* (MB/s/TiB). This option is only valid for PERSISTENT_1
and
* PERSISTENT_2
deployment types.
Valid values:
For PERSISTENT_1
SSD storage: 50, 100, 200.
For PERSISTENT_1
HDD storage: 12, 40.
For
* PERSISTENT_2
SSD storage: 125, 250, 500, 1000.
Per unit storage throughput represents the megabytes per second of read or
* write throughput per 1 tebibyte of storage provisioned. File system throughput
* capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput
* (MB/s/TiB). This option is only valid for PERSISTENT_1
and
* PERSISTENT_2
deployment types.
Valid values:
For PERSISTENT_1
SSD storage: 50, 100, 200.
For PERSISTENT_1
HDD storage: 12, 40.
For
* PERSISTENT_2
SSD storage: 125, 250, 500, 1000.
Per unit storage throughput represents the megabytes per second of read or
* write throughput per 1 tebibyte of storage provisioned. File system throughput
* capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput
* (MB/s/TiB). This option is only valid for PERSISTENT_1
and
* PERSISTENT_2
deployment types.
Valid values:
For PERSISTENT_1
SSD storage: 50, 100, 200.
For PERSISTENT_1
HDD storage: 12, 40.
For
* PERSISTENT_2
SSD storage: 125, 250, 500, 1000.
Per unit storage throughput represents the megabytes per second of read or
* write throughput per 1 tebibyte of storage provisioned. File system throughput
* capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput
* (MB/s/TiB). This option is only valid for PERSISTENT_1
and
* PERSISTENT_2
deployment types.
Valid values:
For PERSISTENT_1
SSD storage: 50, 100, 200.
For PERSISTENT_1
HDD storage: 12, 40.
For
* PERSISTENT_2
SSD storage: 125, 250, 500, 1000.
You use the MountName
value when mounting the file system.
For the SCRATCH_1
deployment type, this value is always
* "fsx
". For SCRATCH_2
, PERSISTENT_1
, and
* PERSISTENT_2
deployment types, this value is a string that is
* unique within an Amazon Web Services Region.
You use the MountName
value when mounting the file system.
For the SCRATCH_1
deployment type, this value is always
* "fsx
". For SCRATCH_2
, PERSISTENT_1
, and
* PERSISTENT_2
deployment types, this value is a string that is
* unique within an Amazon Web Services Region.
You use the MountName
value when mounting the file system.
For the SCRATCH_1
deployment type, this value is always
* "fsx
". For SCRATCH_2
, PERSISTENT_1
, and
* PERSISTENT_2
deployment types, this value is a string that is
* unique within an Amazon Web Services Region.
You use the MountName
value when mounting the file system.
For the SCRATCH_1
deployment type, this value is always
* "fsx
". For SCRATCH_2
, PERSISTENT_1
, and
* PERSISTENT_2
deployment types, this value is a string that is
* unique within an Amazon Web Services Region.
You use the MountName
value when mounting the file system.
For the SCRATCH_1
deployment type, this value is always
* "fsx
". For SCRATCH_2
, PERSISTENT_1
, and
* PERSISTENT_2
deployment types, this value is a string that is
* unique within an Amazon Web Services Region.
You use the MountName
value when mounting the file system.
For the SCRATCH_1
deployment type, this value is always
* "fsx
". For SCRATCH_2
, PERSISTENT_1
, and
* PERSISTENT_2
deployment types, this value is a string that is
* unique within an Amazon Web Services Region.
You use the MountName
value when mounting the file system.
For the SCRATCH_1
deployment type, this value is always
* "fsx
". For SCRATCH_2
, PERSISTENT_1
, and
* PERSISTENT_2
deployment types, this value is a string that is
* unique within an Amazon Web Services Region.
You use the MountName
value when mounting the file system.
For the SCRATCH_1
deployment type, this value is always
* "fsx
". For SCRATCH_2
, PERSISTENT_1
, and
* PERSISTENT_2
deployment types, this value is a string that is
* unique within an Amazon Web Services Region.
A boolean flag indicating whether tags on the file system are copied to * backups. If it's set to true, all tags on the file system are copied to all * automatic backups and any user-initiated backups where the user doesn't specify * any 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 file system, * regardless of this value. (Default = false)
*/ inline bool GetCopyTagsToBackups() const{ return m_copyTagsToBackups; } /** *A boolean flag indicating whether tags on the file system are copied to * backups. If it's set to true, all tags on the file system are copied to all * automatic backups and any user-initiated backups where the user doesn't specify * any 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 file system, * regardless of this value. (Default = false)
*/ inline bool CopyTagsToBackupsHasBeenSet() const { return m_copyTagsToBackupsHasBeenSet; } /** *A boolean flag indicating whether tags on the file system are copied to * backups. If it's set to true, all tags on the file system are copied to all * automatic backups and any user-initiated backups where the user doesn't specify * any 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 file system, * regardless of this value. (Default = false)
*/ inline void SetCopyTagsToBackups(bool value) { m_copyTagsToBackupsHasBeenSet = true; m_copyTagsToBackups = value; } /** *A boolean flag indicating whether tags on the file system are copied to * backups. If it's set to true, all tags on the file system are copied to all * automatic backups and any user-initiated backups where the user doesn't specify * any 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 file system, * regardless of this value. (Default = false)
*/ inline LustreFileSystemConfiguration& WithCopyTagsToBackups(bool value) { SetCopyTagsToBackups(value); return *this;} /** *The type of drive cache used by PERSISTENT_1
file systems that
* are provisioned with HDD storage devices. This parameter is required when
* StorageType
is HDD. When set to READ
the file system
* has an SSD storage cache that is sized to 20% of the file system's storage
* capacity. This improves the performance for frequently accessed files by caching
* up to 20% of the total storage capacity.
This parameter is required when
* StorageType
is set to HDD.
The type of drive cache used by PERSISTENT_1
file systems that
* are provisioned with HDD storage devices. This parameter is required when
* StorageType
is HDD. When set to READ
the file system
* has an SSD storage cache that is sized to 20% of the file system's storage
* capacity. This improves the performance for frequently accessed files by caching
* up to 20% of the total storage capacity.
This parameter is required when
* StorageType
is set to HDD.
The type of drive cache used by PERSISTENT_1
file systems that
* are provisioned with HDD storage devices. This parameter is required when
* StorageType
is HDD. When set to READ
the file system
* has an SSD storage cache that is sized to 20% of the file system's storage
* capacity. This improves the performance for frequently accessed files by caching
* up to 20% of the total storage capacity.
This parameter is required when
* StorageType
is set to HDD.
The type of drive cache used by PERSISTENT_1
file systems that
* are provisioned with HDD storage devices. This parameter is required when
* StorageType
is HDD. When set to READ
the file system
* has an SSD storage cache that is sized to 20% of the file system's storage
* capacity. This improves the performance for frequently accessed files by caching
* up to 20% of the total storage capacity.
This parameter is required when
* StorageType
is set to HDD.
The type of drive cache used by PERSISTENT_1
file systems that
* are provisioned with HDD storage devices. This parameter is required when
* StorageType
is HDD. When set to READ
the file system
* has an SSD storage cache that is sized to 20% of the file system's storage
* capacity. This improves the performance for frequently accessed files by caching
* up to 20% of the total storage capacity.
This parameter is required when
* StorageType
is set to HDD.
The type of drive cache used by PERSISTENT_1
file systems that
* are provisioned with HDD storage devices. This parameter is required when
* StorageType
is HDD. When set to READ
the file system
* has an SSD storage cache that is sized to 20% of the file system's storage
* capacity. This improves the performance for frequently accessed files by caching
* up to 20% of the total storage capacity.
This parameter is required when
* StorageType
is set to HDD.
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.
For more information, see Lustre * data compression.
*/ inline const DataCompressionType& GetDataCompressionType() const{ return m_dataCompressionType; } /** *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.
For more information, see Lustre * data compression.
*/ inline bool DataCompressionTypeHasBeenSet() const { return m_dataCompressionTypeHasBeenSet; } /** *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.
For more information, see Lustre * data compression.
*/ inline void SetDataCompressionType(const DataCompressionType& value) { m_dataCompressionTypeHasBeenSet = true; m_dataCompressionType = value; } /** *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.
For more information, see Lustre * data compression.
*/ inline void SetDataCompressionType(DataCompressionType&& value) { m_dataCompressionTypeHasBeenSet = true; m_dataCompressionType = std::move(value); } /** *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.
For more information, see Lustre * data compression.
*/ inline LustreFileSystemConfiguration& WithDataCompressionType(const DataCompressionType& value) { SetDataCompressionType(value); return *this;} /** *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.
For more information, see Lustre * data compression.
*/ inline LustreFileSystemConfiguration& WithDataCompressionType(DataCompressionType&& value) { SetDataCompressionType(std::move(value)); return *this;} /** *The Lustre logging configuration. Lustre logging writes the enabled log * events for your file system to Amazon CloudWatch Logs.
*/ inline const LustreLogConfiguration& GetLogConfiguration() const{ return m_logConfiguration; } /** *The Lustre logging configuration. Lustre logging writes the enabled log * events for your file system to Amazon CloudWatch Logs.
*/ inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; } /** *The Lustre logging configuration. Lustre logging writes the enabled log * events for your file system to Amazon CloudWatch Logs.
*/ inline void SetLogConfiguration(const LustreLogConfiguration& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = value; } /** *The Lustre logging configuration. Lustre logging writes the enabled log * events for your file system to Amazon CloudWatch Logs.
*/ inline void SetLogConfiguration(LustreLogConfiguration&& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = std::move(value); } /** *The Lustre logging configuration. Lustre logging writes the enabled log * events for your file system to Amazon CloudWatch Logs.
*/ inline LustreFileSystemConfiguration& WithLogConfiguration(const LustreLogConfiguration& value) { SetLogConfiguration(value); return *this;} /** *The Lustre logging configuration. Lustre logging writes the enabled log * events for your file system to Amazon CloudWatch Logs.
*/ inline LustreFileSystemConfiguration& WithLogConfiguration(LustreLogConfiguration&& value) { SetLogConfiguration(std::move(value)); return *this;} /** *The Lustre root squash configuration for 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.
*/ inline const LustreRootSquashConfiguration& GetRootSquashConfiguration() const{ return m_rootSquashConfiguration; } /** *The Lustre root squash configuration for 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.
*/ inline bool RootSquashConfigurationHasBeenSet() const { return m_rootSquashConfigurationHasBeenSet; } /** *The Lustre root squash configuration for 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.
*/ inline void SetRootSquashConfiguration(const LustreRootSquashConfiguration& value) { m_rootSquashConfigurationHasBeenSet = true; m_rootSquashConfiguration = value; } /** *The Lustre root squash configuration for 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.
*/ inline void SetRootSquashConfiguration(LustreRootSquashConfiguration&& value) { m_rootSquashConfigurationHasBeenSet = true; m_rootSquashConfiguration = std::move(value); } /** *The Lustre root squash configuration for 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.
*/ inline LustreFileSystemConfiguration& WithRootSquashConfiguration(const LustreRootSquashConfiguration& value) { SetRootSquashConfiguration(value); return *this;} /** *The Lustre root squash configuration for 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.
*/ inline LustreFileSystemConfiguration& WithRootSquashConfiguration(LustreRootSquashConfiguration&& value) { SetRootSquashConfiguration(std::move(value)); return *this;} private: Aws::String m_weeklyMaintenanceStartTime; bool m_weeklyMaintenanceStartTimeHasBeenSet = false; DataRepositoryConfiguration m_dataRepositoryConfiguration; bool m_dataRepositoryConfigurationHasBeenSet = false; LustreDeploymentType m_deploymentType; bool m_deploymentTypeHasBeenSet = false; int m_perUnitStorageThroughput; bool m_perUnitStorageThroughputHasBeenSet = false; Aws::String m_mountName; bool m_mountNameHasBeenSet = false; Aws::String m_dailyAutomaticBackupStartTime; bool m_dailyAutomaticBackupStartTimeHasBeenSet = false; int m_automaticBackupRetentionDays; bool m_automaticBackupRetentionDaysHasBeenSet = false; bool m_copyTagsToBackups; bool m_copyTagsToBackupsHasBeenSet = false; DriveCacheType m_driveCacheType; bool m_driveCacheTypeHasBeenSet = false; DataCompressionType m_dataCompressionType; bool m_dataCompressionTypeHasBeenSet = false; LustreLogConfiguration m_logConfiguration; bool m_logConfigurationHasBeenSet = false; LustreRootSquashConfiguration m_rootSquashConfiguration; bool m_rootSquashConfigurationHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws