/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace FSx { namespace Model { /** *

The Lustre configuration for the file system being created.

The * following parameters are not supported for file systems with a data repository * association created with .

  • AutoImportPolicy

    *
  • ExportPath

  • * ImportedChunkSize

  • ImportPath

    *

See Also:

AWS * API Reference

*/ class CreateFileSystemLustreConfiguration { public: AWS_FSX_API CreateFileSystemLustreConfiguration(); AWS_FSX_API CreateFileSystemLustreConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_FSX_API CreateFileSystemLustreConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

(Optional) The preferred start time to perform weekly maintenance, formatted * d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, * beginning with Monday and ending with Sunday.

*/ inline const Aws::String& GetWeeklyMaintenanceStartTime() const{ return m_weeklyMaintenanceStartTime; } /** *

(Optional) The preferred start time to perform weekly maintenance, formatted * d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, * beginning with Monday and ending with Sunday.

*/ inline bool WeeklyMaintenanceStartTimeHasBeenSet() const { return m_weeklyMaintenanceStartTimeHasBeenSet; } /** *

(Optional) The preferred start time to perform weekly maintenance, formatted * d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, * beginning with Monday and ending with Sunday.

*/ inline void SetWeeklyMaintenanceStartTime(const Aws::String& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = value; } /** *

(Optional) The preferred start time to perform weekly maintenance, formatted * d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, * beginning with Monday and ending with Sunday.

*/ inline void SetWeeklyMaintenanceStartTime(Aws::String&& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = std::move(value); } /** *

(Optional) The preferred start time to perform weekly maintenance, formatted * d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, * beginning with Monday and ending with Sunday.

*/ inline void SetWeeklyMaintenanceStartTime(const char* value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime.assign(value); } /** *

(Optional) The preferred start time to perform weekly maintenance, formatted * d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, * beginning with Monday and ending with Sunday.

*/ inline CreateFileSystemLustreConfiguration& WithWeeklyMaintenanceStartTime(const Aws::String& value) { SetWeeklyMaintenanceStartTime(value); return *this;} /** *

(Optional) The preferred start time to perform weekly maintenance, formatted * d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, * beginning with Monday and ending with Sunday.

*/ inline CreateFileSystemLustreConfiguration& WithWeeklyMaintenanceStartTime(Aws::String&& value) { SetWeeklyMaintenanceStartTime(std::move(value)); return *this;} /** *

(Optional) The preferred start time to perform weekly maintenance, formatted * d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, * beginning with Monday and ending with Sunday.

*/ inline CreateFileSystemLustreConfiguration& WithWeeklyMaintenanceStartTime(const char* value) { SetWeeklyMaintenanceStartTime(value); return *this;} /** *

(Optional) The path to the Amazon S3 bucket (including the optional prefix) * that you're using as the data repository for your Amazon FSx for Lustre file * system. The root of your FSx for Lustre file system will be mapped to the root * of the Amazon S3 bucket you select. An example is * s3://import-bucket/optional-prefix. If you specify a prefix after * the Amazon S3 bucket name, only object keys with that prefix are loaded into the * file system.

This parameter is not supported for file systems with * a data repository association.

*/ inline const Aws::String& GetImportPath() const{ return m_importPath; } /** *

(Optional) The path to the Amazon S3 bucket (including the optional prefix) * that you're using as the data repository for your Amazon FSx for Lustre file * system. The root of your FSx for Lustre file system will be mapped to the root * of the Amazon S3 bucket you select. An example is * s3://import-bucket/optional-prefix. If you specify a prefix after * the Amazon S3 bucket name, only object keys with that prefix are loaded into the * file system.

This parameter is not supported for file systems with * a data repository association.

*/ inline bool ImportPathHasBeenSet() const { return m_importPathHasBeenSet; } /** *

(Optional) The path to the Amazon S3 bucket (including the optional prefix) * that you're using as the data repository for your Amazon FSx for Lustre file * system. The root of your FSx for Lustre file system will be mapped to the root * of the Amazon S3 bucket you select. An example is * s3://import-bucket/optional-prefix. If you specify a prefix after * the Amazon S3 bucket name, only object keys with that prefix are loaded into the * file system.

This parameter is not supported for file systems with * a data repository association.

*/ inline void SetImportPath(const Aws::String& value) { m_importPathHasBeenSet = true; m_importPath = value; } /** *

(Optional) The path to the Amazon S3 bucket (including the optional prefix) * that you're using as the data repository for your Amazon FSx for Lustre file * system. The root of your FSx for Lustre file system will be mapped to the root * of the Amazon S3 bucket you select. An example is * s3://import-bucket/optional-prefix. If you specify a prefix after * the Amazon S3 bucket name, only object keys with that prefix are loaded into the * file system.

This parameter is not supported for file systems with * a data repository association.

*/ inline void SetImportPath(Aws::String&& value) { m_importPathHasBeenSet = true; m_importPath = std::move(value); } /** *

(Optional) The path to the Amazon S3 bucket (including the optional prefix) * that you're using as the data repository for your Amazon FSx for Lustre file * system. The root of your FSx for Lustre file system will be mapped to the root * of the Amazon S3 bucket you select. An example is * s3://import-bucket/optional-prefix. If you specify a prefix after * the Amazon S3 bucket name, only object keys with that prefix are loaded into the * file system.

This parameter is not supported for file systems with * a data repository association.

*/ inline void SetImportPath(const char* value) { m_importPathHasBeenSet = true; m_importPath.assign(value); } /** *

(Optional) The path to the Amazon S3 bucket (including the optional prefix) * that you're using as the data repository for your Amazon FSx for Lustre file * system. The root of your FSx for Lustre file system will be mapped to the root * of the Amazon S3 bucket you select. An example is * s3://import-bucket/optional-prefix. If you specify a prefix after * the Amazon S3 bucket name, only object keys with that prefix are loaded into the * file system.

This parameter is not supported for file systems with * a data repository association.

*/ inline CreateFileSystemLustreConfiguration& WithImportPath(const Aws::String& value) { SetImportPath(value); return *this;} /** *

(Optional) The path to the Amazon S3 bucket (including the optional prefix) * that you're using as the data repository for your Amazon FSx for Lustre file * system. The root of your FSx for Lustre file system will be mapped to the root * of the Amazon S3 bucket you select. An example is * s3://import-bucket/optional-prefix. If you specify a prefix after * the Amazon S3 bucket name, only object keys with that prefix are loaded into the * file system.

This parameter is not supported for file systems with * a data repository association.

*/ inline CreateFileSystemLustreConfiguration& WithImportPath(Aws::String&& value) { SetImportPath(std::move(value)); return *this;} /** *

(Optional) The path to the Amazon S3 bucket (including the optional prefix) * that you're using as the data repository for your Amazon FSx for Lustre file * system. The root of your FSx for Lustre file system will be mapped to the root * of the Amazon S3 bucket you select. An example is * s3://import-bucket/optional-prefix. If you specify a prefix after * the Amazon S3 bucket name, only object keys with that prefix are loaded into the * file system.

This parameter is not supported for file systems with * a data repository association.

*/ inline CreateFileSystemLustreConfiguration& WithImportPath(const char* value) { SetImportPath(value); return *this;} /** *

(Optional) Specifies the path in the Amazon S3 bucket where the root of your * Amazon FSx file system is exported. The path must use the same Amazon S3 bucket * as specified in ImportPath. You can provide an optional prefix to which new and * changed data is to be exported from your Amazon FSx for Lustre file system. If * an ExportPath value is not provided, Amazon FSx sets a default * export path, s3://import-bucket/FSxLustre[creation-timestamp]. The * timestamp is in UTC format, for example * s3://import-bucket/FSxLustre20181105T222312Z.

The Amazon S3 * export bucket must be the same as the import bucket specified by * ImportPath. If you specify only a bucket name, such as * s3://import-bucket, you get a 1:1 mapping of file system objects to * S3 bucket objects. This mapping means that the input data in S3 is overwritten * on export. If you provide a custom prefix in the export path, such as * s3://import-bucket/[custom-optional-prefix], Amazon FSx exports the * contents of your file system to that export prefix in the Amazon S3 bucket.

*

This parameter is not supported for file systems with a data * repository association.

*/ inline const Aws::String& GetExportPath() const{ return m_exportPath; } /** *

(Optional) Specifies the path in the Amazon S3 bucket where the root of your * Amazon FSx file system is exported. The path must use the same Amazon S3 bucket * as specified in ImportPath. You can provide an optional prefix to which new and * changed data is to be exported from your Amazon FSx for Lustre file system. If * an ExportPath value is not provided, Amazon FSx sets a default * export path, s3://import-bucket/FSxLustre[creation-timestamp]. The * timestamp is in UTC format, for example * s3://import-bucket/FSxLustre20181105T222312Z.

The Amazon S3 * export bucket must be the same as the import bucket specified by * ImportPath. If you specify only a bucket name, such as * s3://import-bucket, you get a 1:1 mapping of file system objects to * S3 bucket objects. This mapping means that the input data in S3 is overwritten * on export. If you provide a custom prefix in the export path, such as * s3://import-bucket/[custom-optional-prefix], Amazon FSx exports the * contents of your file system to that export prefix in the Amazon S3 bucket.

*

This parameter is not supported for file systems with a data * repository association.

*/ inline bool ExportPathHasBeenSet() const { return m_exportPathHasBeenSet; } /** *

(Optional) Specifies the path in the Amazon S3 bucket where the root of your * Amazon FSx file system is exported. The path must use the same Amazon S3 bucket * as specified in ImportPath. You can provide an optional prefix to which new and * changed data is to be exported from your Amazon FSx for Lustre file system. If * an ExportPath value is not provided, Amazon FSx sets a default * export path, s3://import-bucket/FSxLustre[creation-timestamp]. The * timestamp is in UTC format, for example * s3://import-bucket/FSxLustre20181105T222312Z.

The Amazon S3 * export bucket must be the same as the import bucket specified by * ImportPath. If you specify only a bucket name, such as * s3://import-bucket, you get a 1:1 mapping of file system objects to * S3 bucket objects. This mapping means that the input data in S3 is overwritten * on export. If you provide a custom prefix in the export path, such as * s3://import-bucket/[custom-optional-prefix], Amazon FSx exports the * contents of your file system to that export prefix in the Amazon S3 bucket.

*

This parameter is not supported for file systems with a data * repository association.

*/ inline void SetExportPath(const Aws::String& value) { m_exportPathHasBeenSet = true; m_exportPath = value; } /** *

(Optional) Specifies the path in the Amazon S3 bucket where the root of your * Amazon FSx file system is exported. The path must use the same Amazon S3 bucket * as specified in ImportPath. You can provide an optional prefix to which new and * changed data is to be exported from your Amazon FSx for Lustre file system. If * an ExportPath value is not provided, Amazon FSx sets a default * export path, s3://import-bucket/FSxLustre[creation-timestamp]. The * timestamp is in UTC format, for example * s3://import-bucket/FSxLustre20181105T222312Z.

The Amazon S3 * export bucket must be the same as the import bucket specified by * ImportPath. If you specify only a bucket name, such as * s3://import-bucket, you get a 1:1 mapping of file system objects to * S3 bucket objects. This mapping means that the input data in S3 is overwritten * on export. If you provide a custom prefix in the export path, such as * s3://import-bucket/[custom-optional-prefix], Amazon FSx exports the * contents of your file system to that export prefix in the Amazon S3 bucket.

*

This parameter is not supported for file systems with a data * repository association.

*/ inline void SetExportPath(Aws::String&& value) { m_exportPathHasBeenSet = true; m_exportPath = std::move(value); } /** *

(Optional) Specifies the path in the Amazon S3 bucket where the root of your * Amazon FSx file system is exported. The path must use the same Amazon S3 bucket * as specified in ImportPath. You can provide an optional prefix to which new and * changed data is to be exported from your Amazon FSx for Lustre file system. If * an ExportPath value is not provided, Amazon FSx sets a default * export path, s3://import-bucket/FSxLustre[creation-timestamp]. The * timestamp is in UTC format, for example * s3://import-bucket/FSxLustre20181105T222312Z.

The Amazon S3 * export bucket must be the same as the import bucket specified by * ImportPath. If you specify only a bucket name, such as * s3://import-bucket, you get a 1:1 mapping of file system objects to * S3 bucket objects. This mapping means that the input data in S3 is overwritten * on export. If you provide a custom prefix in the export path, such as * s3://import-bucket/[custom-optional-prefix], Amazon FSx exports the * contents of your file system to that export prefix in the Amazon S3 bucket.

*

This parameter is not supported for file systems with a data * repository association.

*/ inline void SetExportPath(const char* value) { m_exportPathHasBeenSet = true; m_exportPath.assign(value); } /** *

(Optional) Specifies the path in the Amazon S3 bucket where the root of your * Amazon FSx file system is exported. The path must use the same Amazon S3 bucket * as specified in ImportPath. You can provide an optional prefix to which new and * changed data is to be exported from your Amazon FSx for Lustre file system. If * an ExportPath value is not provided, Amazon FSx sets a default * export path, s3://import-bucket/FSxLustre[creation-timestamp]. The * timestamp is in UTC format, for example * s3://import-bucket/FSxLustre20181105T222312Z.

The Amazon S3 * export bucket must be the same as the import bucket specified by * ImportPath. If you specify only a bucket name, such as * s3://import-bucket, you get a 1:1 mapping of file system objects to * S3 bucket objects. This mapping means that the input data in S3 is overwritten * on export. If you provide a custom prefix in the export path, such as * s3://import-bucket/[custom-optional-prefix], Amazon FSx exports the * contents of your file system to that export prefix in the Amazon S3 bucket.

*

This parameter is not supported for file systems with a data * repository association.

*/ inline CreateFileSystemLustreConfiguration& WithExportPath(const Aws::String& value) { SetExportPath(value); return *this;} /** *

(Optional) Specifies the path in the Amazon S3 bucket where the root of your * Amazon FSx file system is exported. The path must use the same Amazon S3 bucket * as specified in ImportPath. You can provide an optional prefix to which new and * changed data is to be exported from your Amazon FSx for Lustre file system. If * an ExportPath value is not provided, Amazon FSx sets a default * export path, s3://import-bucket/FSxLustre[creation-timestamp]. The * timestamp is in UTC format, for example * s3://import-bucket/FSxLustre20181105T222312Z.

The Amazon S3 * export bucket must be the same as the import bucket specified by * ImportPath. If you specify only a bucket name, such as * s3://import-bucket, you get a 1:1 mapping of file system objects to * S3 bucket objects. This mapping means that the input data in S3 is overwritten * on export. If you provide a custom prefix in the export path, such as * s3://import-bucket/[custom-optional-prefix], Amazon FSx exports the * contents of your file system to that export prefix in the Amazon S3 bucket.

*

This parameter is not supported for file systems with a data * repository association.

*/ inline CreateFileSystemLustreConfiguration& WithExportPath(Aws::String&& value) { SetExportPath(std::move(value)); return *this;} /** *

(Optional) Specifies the path in the Amazon S3 bucket where the root of your * Amazon FSx file system is exported. The path must use the same Amazon S3 bucket * as specified in ImportPath. You can provide an optional prefix to which new and * changed data is to be exported from your Amazon FSx for Lustre file system. If * an ExportPath value is not provided, Amazon FSx sets a default * export path, s3://import-bucket/FSxLustre[creation-timestamp]. The * timestamp is in UTC format, for example * s3://import-bucket/FSxLustre20181105T222312Z.

The Amazon S3 * export bucket must be the same as the import bucket specified by * ImportPath. If you specify only a bucket name, such as * s3://import-bucket, you get a 1:1 mapping of file system objects to * S3 bucket objects. This mapping means that the input data in S3 is overwritten * on export. If you provide a custom prefix in the export path, such as * s3://import-bucket/[custom-optional-prefix], Amazon FSx exports the * contents of your file system to that export prefix in the Amazon S3 bucket.

*

This parameter is not supported for file systems with a data * repository association.

*/ inline CreateFileSystemLustreConfiguration& WithExportPath(const char* value) { SetExportPath(value); return *this;} /** *

(Optional) For files imported from a data repository, this value determines * the stripe count and maximum amount of data per file (in MiB) stored on a single * physical disk. The maximum number of disks that a single file can be striped * across is limited by the total number of disks that make up the file system.

*

The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB * (500 GiB). Amazon S3 objects have a maximum size of 5 TB.

This * parameter is not supported for file systems with a data repository * association.

*/ inline int GetImportedFileChunkSize() const{ return m_importedFileChunkSize; } /** *

(Optional) For files imported from a data repository, this value determines * the stripe count and maximum amount of data per file (in MiB) stored on a single * physical disk. The maximum number of disks that a single file can be striped * across is limited by the total number of disks that make up the file system.

*

The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB * (500 GiB). Amazon S3 objects have a maximum size of 5 TB.

This * parameter is not supported for file systems with a data repository * association.

*/ inline bool ImportedFileChunkSizeHasBeenSet() const { return m_importedFileChunkSizeHasBeenSet; } /** *

(Optional) For files imported from a data repository, this value determines * the stripe count and maximum amount of data per file (in MiB) stored on a single * physical disk. The maximum number of disks that a single file can be striped * across is limited by the total number of disks that make up the file system.

*

The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB * (500 GiB). Amazon S3 objects have a maximum size of 5 TB.

This * parameter is not supported for file systems with a data repository * association.

*/ inline void SetImportedFileChunkSize(int value) { m_importedFileChunkSizeHasBeenSet = true; m_importedFileChunkSize = value; } /** *

(Optional) For files imported from a data repository, this value determines * the stripe count and maximum amount of data per file (in MiB) stored on a single * physical disk. The maximum number of disks that a single file can be striped * across is limited by the total number of disks that make up the file system.

*

The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB * (500 GiB). Amazon S3 objects have a maximum size of 5 TB.

This * parameter is not supported for file systems with a data repository * association.

*/ inline CreateFileSystemLustreConfiguration& WithImportedFileChunkSize(int value) { SetImportedFileChunkSize(value); return *this;} /** *

(Optional) Choose SCRATCH_1 and SCRATCH_2 * deployment types 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.

*

Choose PERSISTENT_1 for longer-term storage and for * throughput-focused workloads that aren’t latency-sensitive. * PERSISTENT_1 supports encryption of data in transit, and is * available in all Amazon Web Services Regions in which FSx for Lustre is * available.

Choose PERSISTENT_2 for longer-term storage and * for latency-sensitive workloads that require the highest levels of * IOPS/throughput. PERSISTENT_2 supports SSD storage, and offers * higher PerUnitStorageThroughput (up to 1000 MB/s/TiB). * PERSISTENT_2 is available in a limited number of Amazon Web * Services Regions. For more information, and an up-to-date list of Amazon Web * Services Regions in which PERSISTENT_2 is available, see File * system deployment options for FSx for Lustre in the Amazon FSx for Lustre * User Guide.

If you choose PERSISTENT_2, and you * set FileSystemTypeVersion to 2.10, the * CreateFileSystem operation fails.

Encryption of data * in transit is automatically turned on when you access SCRATCH_2, * PERSISTENT_1 and PERSISTENT_2 file systems from Amazon * EC2 instances that support automatic encryption in the Amazon Web Services * Regions where they are available. For more information about encryption in * transit for FSx for Lustre file systems, see Encrypting * data in transit in the Amazon FSx for Lustre User Guide.

*

(Default = SCRATCH_1)

*/ inline const LustreDeploymentType& GetDeploymentType() const{ return m_deploymentType; } /** *

(Optional) Choose SCRATCH_1 and SCRATCH_2 * deployment types 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.

*

Choose PERSISTENT_1 for longer-term storage and for * throughput-focused workloads that aren’t latency-sensitive. * PERSISTENT_1 supports encryption of data in transit, and is * available in all Amazon Web Services Regions in which FSx for Lustre is * available.

Choose PERSISTENT_2 for longer-term storage and * for latency-sensitive workloads that require the highest levels of * IOPS/throughput. PERSISTENT_2 supports SSD storage, and offers * higher PerUnitStorageThroughput (up to 1000 MB/s/TiB). * PERSISTENT_2 is available in a limited number of Amazon Web * Services Regions. For more information, and an up-to-date list of Amazon Web * Services Regions in which PERSISTENT_2 is available, see File * system deployment options for FSx for Lustre in the Amazon FSx for Lustre * User Guide.

If you choose PERSISTENT_2, and you * set FileSystemTypeVersion to 2.10, the * CreateFileSystem operation fails.

Encryption of data * in transit is automatically turned on when you access SCRATCH_2, * PERSISTENT_1 and PERSISTENT_2 file systems from Amazon * EC2 instances that support automatic encryption in the Amazon Web Services * Regions where they are available. For more information about encryption in * transit for FSx for Lustre file systems, see Encrypting * data in transit in the Amazon FSx for Lustre User Guide.

*

(Default = SCRATCH_1)

*/ inline bool DeploymentTypeHasBeenSet() const { return m_deploymentTypeHasBeenSet; } /** *

(Optional) Choose SCRATCH_1 and SCRATCH_2 * deployment types 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.

*

Choose PERSISTENT_1 for longer-term storage and for * throughput-focused workloads that aren’t latency-sensitive. * PERSISTENT_1 supports encryption of data in transit, and is * available in all Amazon Web Services Regions in which FSx for Lustre is * available.

Choose PERSISTENT_2 for longer-term storage and * for latency-sensitive workloads that require the highest levels of * IOPS/throughput. PERSISTENT_2 supports SSD storage, and offers * higher PerUnitStorageThroughput (up to 1000 MB/s/TiB). * PERSISTENT_2 is available in a limited number of Amazon Web * Services Regions. For more information, and an up-to-date list of Amazon Web * Services Regions in which PERSISTENT_2 is available, see File * system deployment options for FSx for Lustre in the Amazon FSx for Lustre * User Guide.

If you choose PERSISTENT_2, and you * set FileSystemTypeVersion to 2.10, the * CreateFileSystem operation fails.

Encryption of data * in transit is automatically turned on when you access SCRATCH_2, * PERSISTENT_1 and PERSISTENT_2 file systems from Amazon * EC2 instances that support automatic encryption in the Amazon Web Services * Regions where they are available. For more information about encryption in * transit for FSx for Lustre file systems, see Encrypting * data in transit in the Amazon FSx for Lustre User Guide.

*

(Default = SCRATCH_1)

*/ inline void SetDeploymentType(const LustreDeploymentType& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = value; } /** *

(Optional) Choose SCRATCH_1 and SCRATCH_2 * deployment types 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.

*

Choose PERSISTENT_1 for longer-term storage and for * throughput-focused workloads that aren’t latency-sensitive. * PERSISTENT_1 supports encryption of data in transit, and is * available in all Amazon Web Services Regions in which FSx for Lustre is * available.

Choose PERSISTENT_2 for longer-term storage and * for latency-sensitive workloads that require the highest levels of * IOPS/throughput. PERSISTENT_2 supports SSD storage, and offers * higher PerUnitStorageThroughput (up to 1000 MB/s/TiB). * PERSISTENT_2 is available in a limited number of Amazon Web * Services Regions. For more information, and an up-to-date list of Amazon Web * Services Regions in which PERSISTENT_2 is available, see File * system deployment options for FSx for Lustre in the Amazon FSx for Lustre * User Guide.

If you choose PERSISTENT_2, and you * set FileSystemTypeVersion to 2.10, the * CreateFileSystem operation fails.

Encryption of data * in transit is automatically turned on when you access SCRATCH_2, * PERSISTENT_1 and PERSISTENT_2 file systems from Amazon * EC2 instances that support automatic encryption in the Amazon Web Services * Regions where they are available. For more information about encryption in * transit for FSx for Lustre file systems, see Encrypting * data in transit in the Amazon FSx for Lustre User Guide.

*

(Default = SCRATCH_1)

*/ inline void SetDeploymentType(LustreDeploymentType&& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = std::move(value); } /** *

(Optional) Choose SCRATCH_1 and SCRATCH_2 * deployment types 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.

*

Choose PERSISTENT_1 for longer-term storage and for * throughput-focused workloads that aren’t latency-sensitive. * PERSISTENT_1 supports encryption of data in transit, and is * available in all Amazon Web Services Regions in which FSx for Lustre is * available.

Choose PERSISTENT_2 for longer-term storage and * for latency-sensitive workloads that require the highest levels of * IOPS/throughput. PERSISTENT_2 supports SSD storage, and offers * higher PerUnitStorageThroughput (up to 1000 MB/s/TiB). * PERSISTENT_2 is available in a limited number of Amazon Web * Services Regions. For more information, and an up-to-date list of Amazon Web * Services Regions in which PERSISTENT_2 is available, see File * system deployment options for FSx for Lustre in the Amazon FSx for Lustre * User Guide.

If you choose PERSISTENT_2, and you * set FileSystemTypeVersion to 2.10, the * CreateFileSystem operation fails.

Encryption of data * in transit is automatically turned on when you access SCRATCH_2, * PERSISTENT_1 and PERSISTENT_2 file systems from Amazon * EC2 instances that support automatic encryption in the Amazon Web Services * Regions where they are available. For more information about encryption in * transit for FSx for Lustre file systems, see Encrypting * data in transit in the Amazon FSx for Lustre User Guide.

*

(Default = SCRATCH_1)

*/ inline CreateFileSystemLustreConfiguration& WithDeploymentType(const LustreDeploymentType& value) { SetDeploymentType(value); return *this;} /** *

(Optional) Choose SCRATCH_1 and SCRATCH_2 * deployment types 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.

*

Choose PERSISTENT_1 for longer-term storage and for * throughput-focused workloads that aren’t latency-sensitive. * PERSISTENT_1 supports encryption of data in transit, and is * available in all Amazon Web Services Regions in which FSx for Lustre is * available.

Choose PERSISTENT_2 for longer-term storage and * for latency-sensitive workloads that require the highest levels of * IOPS/throughput. PERSISTENT_2 supports SSD storage, and offers * higher PerUnitStorageThroughput (up to 1000 MB/s/TiB). * PERSISTENT_2 is available in a limited number of Amazon Web * Services Regions. For more information, and an up-to-date list of Amazon Web * Services Regions in which PERSISTENT_2 is available, see File * system deployment options for FSx for Lustre in the Amazon FSx for Lustre * User Guide.

If you choose PERSISTENT_2, and you * set FileSystemTypeVersion to 2.10, the * CreateFileSystem operation fails.

Encryption of data * in transit is automatically turned on when you access SCRATCH_2, * PERSISTENT_1 and PERSISTENT_2 file systems from Amazon * EC2 instances that support automatic encryption in the Amazon Web Services * Regions where they are available. For more information about encryption in * transit for FSx for Lustre file systems, see Encrypting * data in transit in the Amazon FSx for Lustre User Guide.

*

(Default = SCRATCH_1)

*/ inline CreateFileSystemLustreConfiguration& WithDeploymentType(LustreDeploymentType&& value) { SetDeploymentType(std::move(value)); return *this;} /** *

(Optional) When you create your file system, your existing S3 objects appear * as file and directory listings. Use this parameter to choose how Amazon FSx * keeps your file and directory listings 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 file and directory listings * 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.

For more information, see * Automatically import updates from your S3 bucket.

This * parameter is not supported for file systems with a data repository * association.

*/ inline const AutoImportPolicyType& GetAutoImportPolicy() const{ return m_autoImportPolicy; } /** *

(Optional) When you create your file system, your existing S3 objects appear * as file and directory listings. Use this parameter to choose how Amazon FSx * keeps your file and directory listings 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 file and directory listings * 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.

For more information, see * Automatically import updates from your S3 bucket.

This * parameter is not supported for file systems with a data repository * association.

*/ inline bool AutoImportPolicyHasBeenSet() const { return m_autoImportPolicyHasBeenSet; } /** *

(Optional) When you create your file system, your existing S3 objects appear * as file and directory listings. Use this parameter to choose how Amazon FSx * keeps your file and directory listings 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 file and directory listings * 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.

For more information, see * Automatically import updates from your S3 bucket.

This * parameter is not supported for file systems with a data repository * association.

*/ inline void SetAutoImportPolicy(const AutoImportPolicyType& value) { m_autoImportPolicyHasBeenSet = true; m_autoImportPolicy = value; } /** *

(Optional) When you create your file system, your existing S3 objects appear * as file and directory listings. Use this parameter to choose how Amazon FSx * keeps your file and directory listings 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 file and directory listings * 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.

For more information, see * Automatically import updates from your S3 bucket.

This * parameter is not supported for file systems with a data repository * association.

*/ inline void SetAutoImportPolicy(AutoImportPolicyType&& value) { m_autoImportPolicyHasBeenSet = true; m_autoImportPolicy = std::move(value); } /** *

(Optional) When you create your file system, your existing S3 objects appear * as file and directory listings. Use this parameter to choose how Amazon FSx * keeps your file and directory listings 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 file and directory listings * 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.

For more information, see * Automatically import updates from your S3 bucket.

This * parameter is not supported for file systems with a data repository * association.

*/ inline CreateFileSystemLustreConfiguration& WithAutoImportPolicy(const AutoImportPolicyType& value) { SetAutoImportPolicy(value); return *this;} /** *

(Optional) When you create your file system, your existing S3 objects appear * as file and directory listings. Use this parameter to choose how Amazon FSx * keeps your file and directory listings 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 file and directory listings * 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.

For more information, see * Automatically import updates from your S3 bucket.

This * parameter is not supported for file systems with a data repository * association.

*/ inline CreateFileSystemLustreConfiguration& WithAutoImportPolicy(AutoImportPolicyType&& value) { SetAutoImportPolicy(std::move(value)); return *this;} /** *

Required with PERSISTENT_1 and PERSISTENT_2 * deployment types, provisions the amount of read and write throughput for each 1 * tebibyte (TiB) of file system storage capacity, in MB/s/TiB. File system * throughput capacity is calculated by multiplying file system storage capacity * (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4-TiB file * system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields * 120 MB/s of file system throughput. You pay for the amount of throughput that you * provision.

Valid values:

  • For PERSISTENT_1 * SSD storage: 50, 100, 200 MB/s/TiB.

  • For * PERSISTENT_1 HDD storage: 12, 40 MB/s/TiB.

  • For * PERSISTENT_2 SSD storage: 125, 250, 500, 1000 MB/s/TiB.

  • *
*/ inline int GetPerUnitStorageThroughput() const{ return m_perUnitStorageThroughput; } /** *

Required with PERSISTENT_1 and PERSISTENT_2 * deployment types, provisions the amount of read and write throughput for each 1 * tebibyte (TiB) of file system storage capacity, in MB/s/TiB. File system * throughput capacity is calculated by multiplying file system storage capacity * (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4-TiB file * system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields * 120 MB/s of file system throughput. You pay for the amount of throughput that you * provision.

Valid values:

  • For PERSISTENT_1 * SSD storage: 50, 100, 200 MB/s/TiB.

  • For * PERSISTENT_1 HDD storage: 12, 40 MB/s/TiB.

  • For * PERSISTENT_2 SSD storage: 125, 250, 500, 1000 MB/s/TiB.

  • *
*/ inline bool PerUnitStorageThroughputHasBeenSet() const { return m_perUnitStorageThroughputHasBeenSet; } /** *

Required with PERSISTENT_1 and PERSISTENT_2 * deployment types, provisions the amount of read and write throughput for each 1 * tebibyte (TiB) of file system storage capacity, in MB/s/TiB. File system * throughput capacity is calculated by multiplying file system storage capacity * (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4-TiB file * system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields * 120 MB/s of file system throughput. You pay for the amount of throughput that you * provision.

Valid values:

  • For PERSISTENT_1 * SSD storage: 50, 100, 200 MB/s/TiB.

  • For * PERSISTENT_1 HDD storage: 12, 40 MB/s/TiB.

  • For * PERSISTENT_2 SSD storage: 125, 250, 500, 1000 MB/s/TiB.

  • *
*/ inline void SetPerUnitStorageThroughput(int value) { m_perUnitStorageThroughputHasBeenSet = true; m_perUnitStorageThroughput = value; } /** *

Required with PERSISTENT_1 and PERSISTENT_2 * deployment types, provisions the amount of read and write throughput for each 1 * tebibyte (TiB) of file system storage capacity, in MB/s/TiB. File system * throughput capacity is calculated by multiplying file system storage capacity * (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4-TiB file * system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields * 120 MB/s of file system throughput. You pay for the amount of throughput that you * provision.

Valid values:

  • For PERSISTENT_1 * SSD storage: 50, 100, 200 MB/s/TiB.

  • For * PERSISTENT_1 HDD storage: 12, 40 MB/s/TiB.

  • For * PERSISTENT_2 SSD storage: 125, 250, 500, 1000 MB/s/TiB.

  • *
*/ inline CreateFileSystemLustreConfiguration& WithPerUnitStorageThroughput(int value) { SetPerUnitStorageThroughput(value); return *this;} inline const Aws::String& GetDailyAutomaticBackupStartTime() const{ return m_dailyAutomaticBackupStartTime; } inline bool DailyAutomaticBackupStartTimeHasBeenSet() const { return m_dailyAutomaticBackupStartTimeHasBeenSet; } inline void SetDailyAutomaticBackupStartTime(const Aws::String& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = value; } inline void SetDailyAutomaticBackupStartTime(Aws::String&& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = std::move(value); } inline void SetDailyAutomaticBackupStartTime(const char* value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime.assign(value); } inline CreateFileSystemLustreConfiguration& WithDailyAutomaticBackupStartTime(const Aws::String& value) { SetDailyAutomaticBackupStartTime(value); return *this;} inline CreateFileSystemLustreConfiguration& WithDailyAutomaticBackupStartTime(Aws::String&& value) { SetDailyAutomaticBackupStartTime(std::move(value)); return *this;} inline CreateFileSystemLustreConfiguration& WithDailyAutomaticBackupStartTime(const char* value) { SetDailyAutomaticBackupStartTime(value); return *this;} /** *

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.

*/ inline int GetAutomaticBackupRetentionDays() const{ return m_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.

*/ inline bool AutomaticBackupRetentionDaysHasBeenSet() const { return m_automaticBackupRetentionDaysHasBeenSet; } /** *

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.

*/ inline void SetAutomaticBackupRetentionDays(int value) { m_automaticBackupRetentionDaysHasBeenSet = true; m_automaticBackupRetentionDays = value; } /** *

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.

*/ inline CreateFileSystemLustreConfiguration& WithAutomaticBackupRetentionDays(int value) { SetAutomaticBackupRetentionDays(value); return *this;} /** *

(Optional) Not available for use with file systems that are linked to a data * repository. A boolean flag indicating whether tags for the file system should be * copied to backups. The default value is false. If CopyTagsToBackups * is set to true, all file system tags are copied to all automatic and * user-initiated backups when the user doesn't specify any backup-specific tags. * If CopyTagsToBackups is set to true and you specify one or more * backup 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)

*

For more information, see * Working with backups in the Amazon FSx for Lustre User Guide.

*/ inline bool GetCopyTagsToBackups() const{ return m_copyTagsToBackups; } /** *

(Optional) Not available for use with file systems that are linked to a data * repository. A boolean flag indicating whether tags for the file system should be * copied to backups. The default value is false. If CopyTagsToBackups * is set to true, all file system tags are copied to all automatic and * user-initiated backups when the user doesn't specify any backup-specific tags. * If CopyTagsToBackups is set to true and you specify one or more * backup 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)

*

For more information, see * Working with backups in the Amazon FSx for Lustre User Guide.

*/ inline bool CopyTagsToBackupsHasBeenSet() const { return m_copyTagsToBackupsHasBeenSet; } /** *

(Optional) Not available for use with file systems that are linked to a data * repository. A boolean flag indicating whether tags for the file system should be * copied to backups. The default value is false. If CopyTagsToBackups * is set to true, all file system tags are copied to all automatic and * user-initiated backups when the user doesn't specify any backup-specific tags. * If CopyTagsToBackups is set to true and you specify one or more * backup 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)

*

For more information, see * Working with backups in the Amazon FSx for Lustre User Guide.

*/ inline void SetCopyTagsToBackups(bool value) { m_copyTagsToBackupsHasBeenSet = true; m_copyTagsToBackups = value; } /** *

(Optional) Not available for use with file systems that are linked to a data * repository. A boolean flag indicating whether tags for the file system should be * copied to backups. The default value is false. If CopyTagsToBackups * is set to true, all file system tags are copied to all automatic and * user-initiated backups when the user doesn't specify any backup-specific tags. * If CopyTagsToBackups is set to true and you specify one or more * backup 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)

*

For more information, see * Working with backups in the Amazon FSx for Lustre User Guide.

*/ inline CreateFileSystemLustreConfiguration& 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 * storage type is HDD. Set this property to READ to improve the * performance for frequently accessed files by caching up to 20% of the total * storage capacity of the file system.

This parameter is required when * StorageType is set to HDD.

*/ inline const DriveCacheType& GetDriveCacheType() const{ return m_driveCacheType; } /** *

The type of drive cache used by PERSISTENT_1 file systems that * are provisioned with HDD storage devices. This parameter is required when * storage type is HDD. Set this property to READ to improve the * performance for frequently accessed files by caching up to 20% of the total * storage capacity of the file system.

This parameter is required when * StorageType is set to HDD.

*/ inline bool DriveCacheTypeHasBeenSet() const { return m_driveCacheTypeHasBeenSet; } /** *

The type of drive cache used by PERSISTENT_1 file systems that * are provisioned with HDD storage devices. This parameter is required when * storage type is HDD. Set this property to READ to improve the * performance for frequently accessed files by caching up to 20% of the total * storage capacity of the file system.

This parameter is required when * StorageType is set to HDD.

*/ inline void SetDriveCacheType(const DriveCacheType& value) { m_driveCacheTypeHasBeenSet = true; m_driveCacheType = value; } /** *

The type of drive cache used by PERSISTENT_1 file systems that * are provisioned with HDD storage devices. This parameter is required when * storage type is HDD. Set this property to READ to improve the * performance for frequently accessed files by caching up to 20% of the total * storage capacity of the file system.

This parameter is required when * StorageType is set to HDD.

*/ inline void SetDriveCacheType(DriveCacheType&& value) { m_driveCacheTypeHasBeenSet = true; m_driveCacheType = std::move(value); } /** *

The type of drive cache used by PERSISTENT_1 file systems that * are provisioned with HDD storage devices. This parameter is required when * storage type is HDD. Set this property to READ to improve the * performance for frequently accessed files by caching up to 20% of the total * storage capacity of the file system.

This parameter is required when * StorageType is set to HDD.

*/ inline CreateFileSystemLustreConfiguration& WithDriveCacheType(const DriveCacheType& value) { SetDriveCacheType(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 * storage type is HDD. Set this property to READ to improve the * performance for frequently accessed files by caching up to 20% of the total * storage capacity of the file system.

This parameter is required when * StorageType is set to HDD.

*/ inline CreateFileSystemLustreConfiguration& WithDriveCacheType(DriveCacheType&& value) { SetDriveCacheType(std::move(value)); return *this;} /** *

Sets the data compression configuration for the file system. * DataCompressionType can have the following values:

  • *

    NONE - (Default) Data compression is turned off when the file * system is created.

  • LZ4 - Data compression is * turned on with the LZ4 algorithm.

For more information, see * Lustre * data compression in the Amazon FSx for Lustre User Guide.

*/ inline const DataCompressionType& GetDataCompressionType() const{ return m_dataCompressionType; } /** *

Sets the data compression configuration for the file system. * DataCompressionType can have the following values:

  • *

    NONE - (Default) Data compression is turned off when the file * system is created.

  • LZ4 - Data compression is * turned on with the LZ4 algorithm.

For more information, see * Lustre * data compression in the Amazon FSx for Lustre User Guide.

*/ inline bool DataCompressionTypeHasBeenSet() const { return m_dataCompressionTypeHasBeenSet; } /** *

Sets the data compression configuration for the file system. * DataCompressionType can have the following values:

  • *

    NONE - (Default) Data compression is turned off when the file * system is created.

  • LZ4 - Data compression is * turned on with the LZ4 algorithm.

For more information, see * Lustre * data compression in the Amazon FSx for Lustre User Guide.

*/ inline void SetDataCompressionType(const DataCompressionType& value) { m_dataCompressionTypeHasBeenSet = true; m_dataCompressionType = value; } /** *

Sets the data compression configuration for the file system. * DataCompressionType can have the following values:

  • *

    NONE - (Default) Data compression is turned off when the file * system is created.

  • LZ4 - Data compression is * turned on with the LZ4 algorithm.

For more information, see * Lustre * data compression in the Amazon FSx for Lustre User Guide.

*/ inline void SetDataCompressionType(DataCompressionType&& value) { m_dataCompressionTypeHasBeenSet = true; m_dataCompressionType = std::move(value); } /** *

Sets the data compression configuration for the file system. * DataCompressionType can have the following values:

  • *

    NONE - (Default) Data compression is turned off when the file * system is created.

  • LZ4 - Data compression is * turned on with the LZ4 algorithm.

For more information, see * Lustre * data compression in the Amazon FSx for Lustre User Guide.

*/ inline CreateFileSystemLustreConfiguration& WithDataCompressionType(const DataCompressionType& value) { SetDataCompressionType(value); return *this;} /** *

Sets the data compression configuration for the file system. * DataCompressionType can have the following values:

  • *

    NONE - (Default) Data compression is turned off when the file * system is created.

  • LZ4 - Data compression is * turned on with the LZ4 algorithm.

For more information, see * Lustre * data compression in the Amazon FSx for Lustre User Guide.

*/ inline CreateFileSystemLustreConfiguration& WithDataCompressionType(DataCompressionType&& value) { SetDataCompressionType(std::move(value)); return *this;} /** *

The Lustre logging configuration used when creating 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.

*/ inline const LustreLogCreateConfiguration& GetLogConfiguration() const{ return m_logConfiguration; } /** *

The Lustre logging configuration used when creating 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.

*/ inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; } /** *

The Lustre logging configuration used when creating 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.

*/ inline void SetLogConfiguration(const LustreLogCreateConfiguration& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = value; } /** *

The Lustre logging configuration used when creating 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.

*/ inline void SetLogConfiguration(LustreLogCreateConfiguration&& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = std::move(value); } /** *

The Lustre logging configuration used when creating 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.

*/ inline CreateFileSystemLustreConfiguration& WithLogConfiguration(const LustreLogCreateConfiguration& value) { SetLogConfiguration(value); return *this;} /** *

The Lustre logging configuration used when creating 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.

*/ inline CreateFileSystemLustreConfiguration& WithLogConfiguration(LustreLogCreateConfiguration&& value) { SetLogConfiguration(std::move(value)); return *this;} /** *

The Lustre root squash configuration used when creating 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 used when creating 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 used when creating 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 used when creating 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 used when creating 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 CreateFileSystemLustreConfiguration& WithRootSquashConfiguration(const LustreRootSquashConfiguration& value) { SetRootSquashConfiguration(value); return *this;} /** *

The Lustre root squash configuration used when creating 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 CreateFileSystemLustreConfiguration& WithRootSquashConfiguration(LustreRootSquashConfiguration&& value) { SetRootSquashConfiguration(std::move(value)); return *this;} private: Aws::String m_weeklyMaintenanceStartTime; bool m_weeklyMaintenanceStartTimeHasBeenSet = false; Aws::String m_importPath; bool m_importPathHasBeenSet = false; Aws::String m_exportPath; bool m_exportPathHasBeenSet = false; int m_importedFileChunkSize; bool m_importedFileChunkSizeHasBeenSet = false; LustreDeploymentType m_deploymentType; bool m_deploymentTypeHasBeenSet = false; AutoImportPolicyType m_autoImportPolicy; bool m_autoImportPolicyHasBeenSet = false; int m_perUnitStorageThroughput; bool m_perUnitStorageThroughputHasBeenSet = 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; LustreLogCreateConfiguration m_logConfiguration; bool m_logConfigurationHasBeenSet = false; LustreRootSquashConfiguration m_rootSquashConfiguration; bool m_rootSquashConfigurationHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws