Class: AWSCDK::FSX::LustreConfiguration
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::FSX::LustreConfiguration
- Defined in:
- fsx/lustre_configuration.rb
Overview
The configuration for the Amazon FSx for Lustre file system.
Instance Attribute Summary collapse
-
#auto_import_policy ⇒ AWSCDK::FSX::LustreAutoImportPolicy?
readonly
Available with
ScratchandPersistent_1deployment types. -
#automatic_backup_retention ⇒ AWSCDK::Duration?
readonly
The number of days to retain automatic backups.
-
#copy_tags_to_backups ⇒ Boolean?
readonly
A boolean flag indicating whether tags for the file system should be copied to backups.
-
#daily_automatic_backup_start_time ⇒ AWSCDK::FSX::DailyAutomaticBackupStartTime?
readonly
Start time for 30-minute daily automatic backup window in Coordinated Universal Time (UTC).
-
#data_compression_type ⇒ AWSCDK::FSX::LustreDataCompressionType?
readonly
Sets the data compression configuration for the file system.
-
#deployment_type ⇒ AWSCDK::FSX::LustreDeploymentType
readonly
The type of backing file system deployment used by FSx.
-
#drive_cache_type ⇒ AWSCDK::FSX::DriveCacheType?
readonly
The type of drive cache used by PERSISTENT_1 file systems that are provisioned with HDD storage devices.
-
#export_path ⇒ String?
readonly
The path in Amazon S3 where the root of your Amazon FSx file system is exported.
-
#import_path ⇒ String?
readonly
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.
-
#imported_file_chunk_size_mib ⇒ Numeric?
readonly
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.
-
#per_unit_storage_throughput ⇒ Numeric?
readonly
Provisions the amount of read and write throughput for each 1 tebibyte (TiB) of file system storage capacity, in MB/s/TiB.
-
#weekly_maintenance_start_time ⇒ AWSCDK::FSX::LustreMaintenanceTime?
readonly
The preferred day and time to perform weekly maintenance.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(deployment_type:, auto_import_policy: nil, automatic_backup_retention: nil, copy_tags_to_backups: nil, daily_automatic_backup_start_time: nil, data_compression_type: nil, drive_cache_type: nil, export_path: nil, imported_file_chunk_size_mib: nil, import_path: nil, per_unit_storage_throughput: nil, weekly_maintenance_start_time: nil) ⇒ LustreConfiguration
constructor
A new instance of LustreConfiguration.
- #to_jsii ⇒ Object
Constructor Details
#initialize(deployment_type:, auto_import_policy: nil, automatic_backup_retention: nil, copy_tags_to_backups: nil, daily_automatic_backup_start_time: nil, data_compression_type: nil, drive_cache_type: nil, export_path: nil, imported_file_chunk_size_mib: nil, import_path: nil, per_unit_storage_throughput: nil, weekly_maintenance_start_time: nil) ⇒ LustreConfiguration
Returns a new instance of LustreConfiguration.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'fsx/lustre_configuration.rb', line 21 def initialize(deployment_type:, auto_import_policy: nil, automatic_backup_retention: nil, copy_tags_to_backups: nil, daily_automatic_backup_start_time: nil, data_compression_type: nil, drive_cache_type: nil, export_path: nil, imported_file_chunk_size_mib: nil, import_path: nil, per_unit_storage_throughput: nil, weekly_maintenance_start_time: nil) @deployment_type = deployment_type Jsii::Type.check_type(@deployment_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZnN4Lkx1c3RyZURlcGxveW1lbnRUeXBlIn0=")), "deploymentType") @auto_import_policy = auto_import_policy Jsii::Type.check_type(@auto_import_policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZnN4Lkx1c3RyZUF1dG9JbXBvcnRQb2xpY3kifQ==")), "autoImportPolicy") unless @auto_import_policy.nil? @automatic_backup_retention = automatic_backup_retention Jsii::Type.check_type(@automatic_backup_retention, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "automaticBackupRetention") unless @automatic_backup_retention.nil? @copy_tags_to_backups = Jsii::Type.check_type(@copy_tags_to_backups, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "copyTagsToBackups") unless @copy_tags_to_backups.nil? @daily_automatic_backup_start_time = daily_automatic_backup_start_time Jsii::Type.check_type(@daily_automatic_backup_start_time, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZnN4LkRhaWx5QXV0b21hdGljQmFja3VwU3RhcnRUaW1lIn0=")), "dailyAutomaticBackupStartTime") unless @daily_automatic_backup_start_time.nil? @data_compression_type = data_compression_type Jsii::Type.check_type(@data_compression_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZnN4Lkx1c3RyZURhdGFDb21wcmVzc2lvblR5cGUifQ==")), "dataCompressionType") unless @data_compression_type.nil? @drive_cache_type = drive_cache_type Jsii::Type.check_type(@drive_cache_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZnN4LkRyaXZlQ2FjaGVUeXBlIn0=")), "driveCacheType") unless @drive_cache_type.nil? @export_path = export_path Jsii::Type.check_type(@export_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "exportPath") unless @export_path.nil? @imported_file_chunk_size_mib = imported_file_chunk_size_mib Jsii::Type.check_type(@imported_file_chunk_size_mib, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "importedFileChunkSizeMiB") unless @imported_file_chunk_size_mib.nil? @import_path = import_path Jsii::Type.check_type(@import_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "importPath") unless @import_path.nil? @per_unit_storage_throughput = per_unit_storage_throughput Jsii::Type.check_type(@per_unit_storage_throughput, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "perUnitStorageThroughput") unless @per_unit_storage_throughput.nil? @weekly_maintenance_start_time = weekly_maintenance_start_time Jsii::Type.check_type(@weekly_maintenance_start_time, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZnN4Lkx1c3RyZU1haW50ZW5hbmNlVGltZSJ9")), "weeklyMaintenanceStartTime") unless @weekly_maintenance_start_time.nil? end |
Instance Attribute Details
#auto_import_policy ⇒ AWSCDK::FSX::LustreAutoImportPolicy? (readonly)
Default: - no import policy
Available with Scratch and Persistent_1 deployment types.
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 listings up to date as you add or modify objects in your linked S3 bucket. AutoImportPolicy can have the following values:
For more information, see Automatically import updates from your S3 bucket .
This parameter is not supported for Lustre file systems using the
Persistent_2deployment type.
62 63 64 |
# File 'fsx/lustre_configuration.rb', line 62 def auto_import_policy @auto_import_policy end |
#automatic_backup_retention ⇒ AWSCDK::Duration? (readonly)
Default: Duration.days(0)
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.
Automatic Backups is not supported on scratch file systems.
72 73 74 |
# File 'fsx/lustre_configuration.rb', line 72 def automatic_backup_retention @automatic_backup_retention end |
#copy_tags_to_backups ⇒ Boolean? (readonly)
Default: - false
A boolean flag indicating whether tags for the file system should be copied to backups.
77 78 79 |
# File 'fsx/lustre_configuration.rb', line 77 def @copy_tags_to_backups end |
#daily_automatic_backup_start_time ⇒ AWSCDK::FSX::DailyAutomaticBackupStartTime? (readonly)
Default: - no backup window
Start time for 30-minute daily automatic backup window in Coordinated Universal Time (UTC).
82 83 84 |
# File 'fsx/lustre_configuration.rb', line 82 def daily_automatic_backup_start_time @daily_automatic_backup_start_time end |
#data_compression_type ⇒ AWSCDK::FSX::LustreDataCompressionType? (readonly)
Default: - no compression
Sets the data compression configuration for the file system.
For more information, see Lustre data compression in the Amazon FSx for Lustre User Guide .
89 90 91 |
# File 'fsx/lustre_configuration.rb', line 89 def data_compression_type @data_compression_type end |
#deployment_type ⇒ AWSCDK::FSX::LustreDeploymentType (readonly)
The type of backing file system deployment used by FSx.
51 52 53 |
# File 'fsx/lustre_configuration.rb', line 51 def deployment_type @deployment_type end |
#drive_cache_type ⇒ AWSCDK::FSX::DriveCacheType? (readonly)
Default: - no drive cache
The type of drive cache used by PERSISTENT_1 file systems that are provisioned with HDD storage devices.
94 95 96 |
# File 'fsx/lustre_configuration.rb', line 94 def drive_cache_type @drive_cache_type end |
#export_path ⇒ String? (readonly)
Default: s3://import-bucket/FSxLustre[creation-timestamp]
The path in Amazon S3 where the root of your Amazon FSx file system is exported.
The path must use the same Amazon S3 bucket as specified in ImportPath. If you only specify 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.
106 107 108 |
# File 'fsx/lustre_configuration.rb', line 106 def export_path @export_path end |
#import_path ⇒ String? (readonly)
Default: - no bucket is imported
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.
Must be of the format "s3://bucketName/optional-prefix" and cannot exceed 900 characters.
121 122 123 |
# File 'fsx/lustre_configuration.rb', line 121 def import_path @import_path end |
#imported_file_chunk_size_mib ⇒ Numeric? (readonly)
Default: 1024
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.
Allowed values are between 1 and 512,000.
113 114 115 |
# File 'fsx/lustre_configuration.rb', line 113 def imported_file_chunk_size_mib @imported_file_chunk_size_mib end |
#per_unit_storage_throughput ⇒ Numeric? (readonly)
Default: - no default, conditionally required for PERSISTENT_1 and PERSISTENT_2 deployment type
Provisions the amount of read and write throughput for each 1 tebibyte (TiB) of file system storage capacity, in MB/s/TiB.
Required with PERSISTENT_1 and PERSISTENT_2 deployment types.
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.
134 135 136 |
# File 'fsx/lustre_configuration.rb', line 134 def per_unit_storage_throughput @per_unit_storage_throughput end |
#weekly_maintenance_start_time ⇒ AWSCDK::FSX::LustreMaintenanceTime? (readonly)
Default: - no preference
The preferred day and time to perform weekly maintenance.
The first digit is the day of the week, starting at 1 for Monday, then the following are hours and minutes in the UTC time zone, 24 hour clock. For example: '2:20:30' is Tuesdays at 20:30.
143 144 145 |
# File 'fsx/lustre_configuration.rb', line 143 def weekly_maintenance_start_time @weekly_maintenance_start_time end |
Class Method Details
.jsii_properties ⇒ Object
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
# File 'fsx/lustre_configuration.rb', line 145 def self.jsii_properties { :deployment_type => "deploymentType", :auto_import_policy => "autoImportPolicy", :automatic_backup_retention => "automaticBackupRetention", :copy_tags_to_backups => "copyTagsToBackups", :daily_automatic_backup_start_time => "dailyAutomaticBackupStartTime", :data_compression_type => "dataCompressionType", :drive_cache_type => "driveCacheType", :export_path => "exportPath", :imported_file_chunk_size_mib => "importedFileChunkSizeMiB", :import_path => "importPath", :per_unit_storage_throughput => "perUnitStorageThroughput", :weekly_maintenance_start_time => "weeklyMaintenanceStartTime", } end |
Instance Method Details
#to_jsii ⇒ Object
162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
# File 'fsx/lustre_configuration.rb', line 162 def to_jsii result = {} result.merge!({ "deploymentType" => @deployment_type, "autoImportPolicy" => @auto_import_policy, "automaticBackupRetention" => @automatic_backup_retention, "copyTagsToBackups" => @copy_tags_to_backups, "dailyAutomaticBackupStartTime" => @daily_automatic_backup_start_time, "dataCompressionType" => @data_compression_type, "driveCacheType" => @drive_cache_type, "exportPath" => @export_path, "importedFileChunkSizeMiB" => @imported_file_chunk_size_mib, "importPath" => @import_path, "perUnitStorageThroughput" => @per_unit_storage_throughput, "weeklyMaintenanceStartTime" => @weekly_maintenance_start_time, }) result.compact end |