aws-sdk-fsx 1.14.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -104,12 +104,15 @@ module Aws::FSx
104
104
  InvalidExportPath = Shapes::StructureShape.new(name: 'InvalidExportPath')
105
105
  InvalidImportPath = Shapes::StructureShape.new(name: 'InvalidImportPath')
106
106
  InvalidNetworkSettings = Shapes::StructureShape.new(name: 'InvalidNetworkSettings')
107
+ InvalidPerUnitStorageThroughput = Shapes::StructureShape.new(name: 'InvalidPerUnitStorageThroughput')
107
108
  IpAddress = Shapes::StringShape.new(name: 'IpAddress')
108
109
  KmsKeyId = Shapes::StringShape.new(name: 'KmsKeyId')
109
110
  LastUpdatedTime = Shapes::TimestampShape.new(name: 'LastUpdatedTime')
110
111
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
111
112
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
113
+ LustreDeploymentType = Shapes::StringShape.new(name: 'LustreDeploymentType')
112
114
  LustreFileSystemConfiguration = Shapes::StructureShape.new(name: 'LustreFileSystemConfiguration')
115
+ LustreFileSystemMountName = Shapes::StringShape.new(name: 'LustreFileSystemMountName')
113
116
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
114
117
  Megabytes = Shapes::IntegerShape.new(name: 'Megabytes')
115
118
  MegabytesPerSecond = Shapes::IntegerShape.new(name: 'MegabytesPerSecond')
@@ -120,6 +123,7 @@ module Aws::FSx
120
123
  NotServiceResourceError = Shapes::StructureShape.new(name: 'NotServiceResourceError')
121
124
  OrganizationalUnitDistinguishedName = Shapes::StringShape.new(name: 'OrganizationalUnitDistinguishedName')
122
125
  Parameter = Shapes::StringShape.new(name: 'Parameter')
126
+ PerUnitStorageThroughput = Shapes::IntegerShape.new(name: 'PerUnitStorageThroughput')
123
127
  ProgressPercent = Shapes::IntegerShape.new(name: 'ProgressPercent')
124
128
  ReportFormat = Shapes::StringShape.new(name: 'ReportFormat')
125
129
  ReportScope = Shapes::StringShape.new(name: 'ReportScope')
@@ -135,6 +139,7 @@ module Aws::FSx
135
139
  ServiceLimitExceeded = Shapes::StructureShape.new(name: 'ServiceLimitExceeded')
136
140
  StartTime = Shapes::TimestampShape.new(name: 'StartTime')
137
141
  StorageCapacity = Shapes::IntegerShape.new(name: 'StorageCapacity')
142
+ StorageType = Shapes::StringShape.new(name: 'StorageType')
138
143
  SubnetId = Shapes::StringShape.new(name: 'SubnetId')
139
144
  SubnetIds = Shapes::ListShape.new(name: 'SubnetIds')
140
145
  SucceededCount = Shapes::IntegerShape.new(name: 'SucceededCount')
@@ -240,6 +245,7 @@ module Aws::FSx
240
245
  CreateFileSystemFromBackupRequest.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: SecurityGroupIds, location_name: "SecurityGroupIds"))
241
246
  CreateFileSystemFromBackupRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
242
247
  CreateFileSystemFromBackupRequest.add_member(:windows_configuration, Shapes::ShapeRef.new(shape: CreateFileSystemWindowsConfiguration, location_name: "WindowsConfiguration"))
248
+ CreateFileSystemFromBackupRequest.add_member(:storage_type, Shapes::ShapeRef.new(shape: StorageType, location_name: "StorageType"))
243
249
  CreateFileSystemFromBackupRequest.struct_class = Types::CreateFileSystemFromBackupRequest
244
250
 
245
251
  CreateFileSystemFromBackupResponse.add_member(:file_system, Shapes::ShapeRef.new(shape: FileSystem, location_name: "FileSystem"))
@@ -249,11 +255,14 @@ module Aws::FSx
249
255
  CreateFileSystemLustreConfiguration.add_member(:import_path, Shapes::ShapeRef.new(shape: ArchivePath, location_name: "ImportPath"))
250
256
  CreateFileSystemLustreConfiguration.add_member(:export_path, Shapes::ShapeRef.new(shape: ArchivePath, location_name: "ExportPath"))
251
257
  CreateFileSystemLustreConfiguration.add_member(:imported_file_chunk_size, Shapes::ShapeRef.new(shape: Megabytes, location_name: "ImportedFileChunkSize"))
258
+ CreateFileSystemLustreConfiguration.add_member(:deployment_type, Shapes::ShapeRef.new(shape: LustreDeploymentType, location_name: "DeploymentType"))
259
+ CreateFileSystemLustreConfiguration.add_member(:per_unit_storage_throughput, Shapes::ShapeRef.new(shape: PerUnitStorageThroughput, location_name: "PerUnitStorageThroughput"))
252
260
  CreateFileSystemLustreConfiguration.struct_class = Types::CreateFileSystemLustreConfiguration
253
261
 
254
262
  CreateFileSystemRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, location_name: "ClientRequestToken", metadata: {"idempotencyToken"=>true}))
255
263
  CreateFileSystemRequest.add_member(:file_system_type, Shapes::ShapeRef.new(shape: FileSystemType, required: true, location_name: "FileSystemType"))
256
264
  CreateFileSystemRequest.add_member(:storage_capacity, Shapes::ShapeRef.new(shape: StorageCapacity, required: true, location_name: "StorageCapacity"))
265
+ CreateFileSystemRequest.add_member(:storage_type, Shapes::ShapeRef.new(shape: StorageType, location_name: "StorageType"))
257
266
  CreateFileSystemRequest.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIds, required: true, location_name: "SubnetIds"))
258
267
  CreateFileSystemRequest.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: SecurityGroupIds, location_name: "SecurityGroupIds"))
259
268
  CreateFileSystemRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
@@ -390,6 +399,7 @@ module Aws::FSx
390
399
  FileSystem.add_member(:lifecycle, Shapes::ShapeRef.new(shape: FileSystemLifecycle, location_name: "Lifecycle"))
391
400
  FileSystem.add_member(:failure_details, Shapes::ShapeRef.new(shape: FileSystemFailureDetails, location_name: "FailureDetails"))
392
401
  FileSystem.add_member(:storage_capacity, Shapes::ShapeRef.new(shape: StorageCapacity, location_name: "StorageCapacity"))
402
+ FileSystem.add_member(:storage_type, Shapes::ShapeRef.new(shape: StorageType, location_name: "StorageType"))
393
403
  FileSystem.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "VpcId"))
394
404
  FileSystem.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIds, location_name: "SubnetIds"))
395
405
  FileSystem.add_member(:network_interface_ids, Shapes::ShapeRef.new(shape: NetworkInterfaceIds, location_name: "NetworkInterfaceIds"))
@@ -439,6 +449,9 @@ module Aws::FSx
439
449
  InvalidNetworkSettings.add_member(:invalid_security_group_id, Shapes::ShapeRef.new(shape: SecurityGroupId, location_name: "InvalidSecurityGroupId"))
440
450
  InvalidNetworkSettings.struct_class = Types::InvalidNetworkSettings
441
451
 
452
+ InvalidPerUnitStorageThroughput.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
453
+ InvalidPerUnitStorageThroughput.struct_class = Types::InvalidPerUnitStorageThroughput
454
+
442
455
  ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARN"))
443
456
  ListTagsForResourceRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
444
457
  ListTagsForResourceRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
@@ -450,6 +463,9 @@ module Aws::FSx
450
463
 
451
464
  LustreFileSystemConfiguration.add_member(:weekly_maintenance_start_time, Shapes::ShapeRef.new(shape: WeeklyTime, location_name: "WeeklyMaintenanceStartTime"))
452
465
  LustreFileSystemConfiguration.add_member(:data_repository_configuration, Shapes::ShapeRef.new(shape: DataRepositoryConfiguration, location_name: "DataRepositoryConfiguration"))
466
+ LustreFileSystemConfiguration.add_member(:deployment_type, Shapes::ShapeRef.new(shape: LustreDeploymentType, location_name: "DeploymentType"))
467
+ LustreFileSystemConfiguration.add_member(:per_unit_storage_throughput, Shapes::ShapeRef.new(shape: PerUnitStorageThroughput, location_name: "PerUnitStorageThroughput"))
468
+ LustreFileSystemConfiguration.add_member(:mount_name, Shapes::ShapeRef.new(shape: LustreFileSystemMountName, location_name: "MountName"))
453
469
  LustreFileSystemConfiguration.struct_class = Types::LustreFileSystemConfiguration
454
470
 
455
471
  MissingFileSystemConfiguration.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
@@ -568,6 +584,7 @@ module Aws::FSx
568
584
  "serviceFullName" => "Amazon FSx",
569
585
  "serviceId" => "FSx",
570
586
  "signatureVersion" => "v4",
587
+ "signingName" => "fsx",
571
588
  "targetPrefix" => "AWSSimbaAPIService_v20180301",
572
589
  "uid" => "fsx-2018-03-01",
573
590
  }
@@ -627,6 +644,7 @@ module Aws::FSx
627
644
  o.errors << Shapes::ShapeRef.new(shape: InvalidImportPath)
628
645
  o.errors << Shapes::ShapeRef.new(shape: InvalidExportPath)
629
646
  o.errors << Shapes::ShapeRef.new(shape: InvalidNetworkSettings)
647
+ o.errors << Shapes::ShapeRef.new(shape: InvalidPerUnitStorageThroughput)
630
648
  o.errors << Shapes::ShapeRef.new(shape: ServiceLimitExceeded)
631
649
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
632
650
  o.errors << Shapes::ShapeRef.new(shape: MissingFileSystemConfiguration)
@@ -6,6 +6,49 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::FSx
9
+
10
+ # When FSx returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::FSx::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all FSx errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::FSx::Errors::ServiceError
18
+ # # rescues all FSx API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {ActiveDirectoryError}
29
+ # * {BackupInProgress}
30
+ # * {BackupNotFound}
31
+ # * {BackupRestoring}
32
+ # * {BadRequest}
33
+ # * {DataRepositoryTaskEnded}
34
+ # * {DataRepositoryTaskExecuting}
35
+ # * {DataRepositoryTaskNotFound}
36
+ # * {FileSystemNotFound}
37
+ # * {IncompatibleParameterError}
38
+ # * {InternalServerError}
39
+ # * {InvalidExportPath}
40
+ # * {InvalidImportPath}
41
+ # * {InvalidNetworkSettings}
42
+ # * {InvalidPerUnitStorageThroughput}
43
+ # * {MissingFileSystemConfiguration}
44
+ # * {NotServiceResourceError}
45
+ # * {ResourceDoesNotSupportTagging}
46
+ # * {ResourceNotFound}
47
+ # * {ServiceLimitExceeded}
48
+ # * {UnsupportedOperation}
49
+ #
50
+ # Additionally, error classes are dynamically generated for service errors based on the error code
51
+ # if they are not defined above.
9
52
  module Errors
10
53
 
11
54
  extend Aws::Errors::DynamicErrors
@@ -33,7 +76,6 @@ module Aws::FSx
33
76
  def message
34
77
  @message || @data[:message]
35
78
  end
36
-
37
79
  end
38
80
 
39
81
  class BackupInProgress < ServiceError
@@ -49,7 +91,6 @@ module Aws::FSx
49
91
  def message
50
92
  @message || @data[:message]
51
93
  end
52
-
53
94
  end
54
95
 
55
96
  class BackupNotFound < ServiceError
@@ -65,7 +106,6 @@ module Aws::FSx
65
106
  def message
66
107
  @message || @data[:message]
67
108
  end
68
-
69
109
  end
70
110
 
71
111
  class BackupRestoring < ServiceError
@@ -86,7 +126,6 @@ module Aws::FSx
86
126
  def file_system_id
87
127
  @data[:file_system_id]
88
128
  end
89
-
90
129
  end
91
130
 
92
131
  class BadRequest < ServiceError
@@ -102,7 +141,6 @@ module Aws::FSx
102
141
  def message
103
142
  @message || @data[:message]
104
143
  end
105
-
106
144
  end
107
145
 
108
146
  class DataRepositoryTaskEnded < ServiceError
@@ -118,7 +156,6 @@ module Aws::FSx
118
156
  def message
119
157
  @message || @data[:message]
120
158
  end
121
-
122
159
  end
123
160
 
124
161
  class DataRepositoryTaskExecuting < ServiceError
@@ -134,7 +171,6 @@ module Aws::FSx
134
171
  def message
135
172
  @message || @data[:message]
136
173
  end
137
-
138
174
  end
139
175
 
140
176
  class DataRepositoryTaskNotFound < ServiceError
@@ -150,7 +186,6 @@ module Aws::FSx
150
186
  def message
151
187
  @message || @data[:message]
152
188
  end
153
-
154
189
  end
155
190
 
156
191
  class FileSystemNotFound < ServiceError
@@ -166,7 +201,6 @@ module Aws::FSx
166
201
  def message
167
202
  @message || @data[:message]
168
203
  end
169
-
170
204
  end
171
205
 
172
206
  class IncompatibleParameterError < ServiceError
@@ -187,7 +221,6 @@ module Aws::FSx
187
221
  def message
188
222
  @message || @data[:message]
189
223
  end
190
-
191
224
  end
192
225
 
193
226
  class InternalServerError < ServiceError
@@ -203,7 +236,6 @@ module Aws::FSx
203
236
  def message
204
237
  @message || @data[:message]
205
238
  end
206
-
207
239
  end
208
240
 
209
241
  class InvalidExportPath < ServiceError
@@ -219,7 +251,6 @@ module Aws::FSx
219
251
  def message
220
252
  @message || @data[:message]
221
253
  end
222
-
223
254
  end
224
255
 
225
256
  class InvalidImportPath < ServiceError
@@ -235,7 +266,6 @@ module Aws::FSx
235
266
  def message
236
267
  @message || @data[:message]
237
268
  end
238
-
239
269
  end
240
270
 
241
271
  class InvalidNetworkSettings < ServiceError
@@ -261,7 +291,21 @@ module Aws::FSx
261
291
  def invalid_security_group_id
262
292
  @data[:invalid_security_group_id]
263
293
  end
294
+ end
295
+
296
+ class InvalidPerUnitStorageThroughput < ServiceError
297
+
298
+ # @param [Seahorse::Client::RequestContext] context
299
+ # @param [String] message
300
+ # @param [Aws::FSx::Types::InvalidPerUnitStorageThroughput] data
301
+ def initialize(context, message, data = Aws::EmptyStructure.new)
302
+ super(context, message, data)
303
+ end
264
304
 
305
+ # @return [String]
306
+ def message
307
+ @message || @data[:message]
308
+ end
265
309
  end
266
310
 
267
311
  class MissingFileSystemConfiguration < ServiceError
@@ -277,7 +321,6 @@ module Aws::FSx
277
321
  def message
278
322
  @message || @data[:message]
279
323
  end
280
-
281
324
  end
282
325
 
283
326
  class NotServiceResourceError < ServiceError
@@ -298,7 +341,6 @@ module Aws::FSx
298
341
  def message
299
342
  @message || @data[:message]
300
343
  end
301
-
302
344
  end
303
345
 
304
346
  class ResourceDoesNotSupportTagging < ServiceError
@@ -319,7 +361,6 @@ module Aws::FSx
319
361
  def message
320
362
  @message || @data[:message]
321
363
  end
322
-
323
364
  end
324
365
 
325
366
  class ResourceNotFound < ServiceError
@@ -340,7 +381,6 @@ module Aws::FSx
340
381
  def message
341
382
  @message || @data[:message]
342
383
  end
343
-
344
384
  end
345
385
 
346
386
  class ServiceLimitExceeded < ServiceError
@@ -361,7 +401,6 @@ module Aws::FSx
361
401
  def message
362
402
  @message || @data[:message]
363
403
  end
364
-
365
404
  end
366
405
 
367
406
  class UnsupportedOperation < ServiceError
@@ -377,7 +416,6 @@ module Aws::FSx
377
416
  def message
378
417
  @message || @data[:message]
379
418
  end
380
-
381
419
  end
382
420
 
383
421
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::FSx
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -391,7 +391,11 @@ module Aws::FSx
391
391
  # @!attribute [rw] paths
392
392
  # (Optional) The path or paths on the Amazon FSx file system to use
393
393
  # when the data repository task is processed. The default path is the
394
- # file system root directory.
394
+ # file system root directory. The paths you provide need to be
395
+ # relative to the mount point of the file system. If the mount point
396
+ # is `/mnt/fsx` and `/mnt/fsx/path1` is a directory or file on the
397
+ # file system you want to export, then the path to provide is `path1`.
398
+ # If a path that you provide isn't valid, the task fails.
395
399
  # @return [Array<String>]
396
400
  #
397
401
  # @!attribute [rw] file_system_id
@@ -402,7 +406,12 @@ module Aws::FSx
402
406
  # Defines whether or not Amazon FSx provides a CompletionReport once
403
407
  # the task has completed. A CompletionReport provides a detailed
404
408
  # report on the files that Amazon FSx processed that meet the criteria
405
- # specified by the `Scope` parameter.
409
+ # specified by the `Scope` parameter. For more information, see
410
+ # [Working with Task Completion Reports][1].
411
+ #
412
+ #
413
+ #
414
+ # [1]: https://docs.aws.amazon.com/fsx/latest/LustreGuide/task-completion-report.html
406
415
  # @return [Types::CompletionReport]
407
416
  #
408
417
  # @!attribute [rw] client_request_token
@@ -468,7 +477,7 @@ module Aws::FSx
468
477
  # password: "DirectoryPassword", # required
469
478
  # dns_ips: ["IpAddress"], # required
470
479
  # },
471
- # deployment_type: "MULTI_AZ_1", # accepts MULTI_AZ_1, SINGLE_AZ_1
480
+ # deployment_type: "MULTI_AZ_1", # accepts MULTI_AZ_1, SINGLE_AZ_1, SINGLE_AZ_2
472
481
  # preferred_subnet_id: "SubnetId",
473
482
  # throughput_capacity: 1, # required
474
483
  # weekly_maintenance_start_time: "WeeklyTime",
@@ -476,6 +485,7 @@ module Aws::FSx
476
485
  # automatic_backup_retention_days: 1,
477
486
  # copy_tags_to_backups: false,
478
487
  # },
488
+ # storage_type: "SSD", # accepts SSD, HDD
479
489
  # }
480
490
  #
481
491
  # @!attribute [rw] backup_id
@@ -494,16 +504,23 @@ module Aws::FSx
494
504
  # @return [String]
495
505
  #
496
506
  # @!attribute [rw] subnet_ids
497
- # A list of IDs for the subnets that the file system will be
498
- # accessible from. Currently, you can specify only one subnet. The
499
- # file server is also launched in that subnet's Availability Zone.
507
+ # Specifies the IDs of the subnets that the file system will be
508
+ # accessible from. For Windows `MULTI_AZ_1` file system deployment
509
+ # types, provide exactly two subnet IDs, one for the preferred file
510
+ # server and one for the standby file server. You specify one of these
511
+ # subnets as the preferred subnet using the `WindowsConfiguration >
512
+ # PreferredSubnetID` property.
513
+ #
514
+ # For Windows `SINGLE_AZ_1` and `SINGLE_AZ_2` deployment types and
515
+ # Lustre file systems, provide exactly one subnet ID. The file server
516
+ # is launched in that subnet's Availability Zone.
500
517
  # @return [Array<String>]
501
518
  #
502
519
  # @!attribute [rw] security_group_ids
503
520
  # A list of IDs for the security groups that apply to the specified
504
521
  # network interfaces created for file system access. These security
505
522
  # groups apply to all network interfaces. This value isn't returned
506
- # in later describe requests.
523
+ # in later DescribeFileSystem requests.
507
524
  # @return [Array<String>]
508
525
  #
509
526
  # @!attribute [rw] tags
@@ -516,6 +533,29 @@ module Aws::FSx
516
533
  # The configuration for this Microsoft Windows file system.
517
534
  # @return [Types::CreateFileSystemWindowsConfiguration]
518
535
  #
536
+ # @!attribute [rw] storage_type
537
+ # Sets the storage type for the Windows file system you're creating
538
+ # from a backup. Valid values are `SSD` and `HDD`.
539
+ #
540
+ # * Set to `SSD` to use solid state drive storage. Supported on all
541
+ # Windows deployment types.
542
+ #
543
+ # * Set to `HDD` to use hard disk drive storage. Supported on
544
+ # `SINGLE_AZ_2` and `MULTI_AZ_1` Windows file system deployment
545
+ # types.
546
+ #
547
+ # Default value is `SSD`.
548
+ #
549
+ # <note markdown="1"> HDD and SSD storage types have different minimum storage capacity
550
+ # requirements. A restored file system's storage capacity is tied to
551
+ # the file system that was backed up. You can create a file system
552
+ # that uses HDD storage from a backup of a file system that used SSD
553
+ # storage only if the original SSD file system had a storage capacity
554
+ # of at least 2000 GiB.
555
+ #
556
+ # </note>
557
+ # @return [String]
558
+ #
519
559
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemFromBackupRequest AWS API Documentation
520
560
  #
521
561
  class CreateFileSystemFromBackupRequest < Struct.new(
@@ -524,7 +564,8 @@ module Aws::FSx
524
564
  :subnet_ids,
525
565
  :security_group_ids,
526
566
  :tags,
527
- :windows_configuration)
567
+ :windows_configuration,
568
+ :storage_type)
528
569
  include Aws::Structure
529
570
  end
530
571
 
@@ -541,8 +582,7 @@ module Aws::FSx
541
582
  include Aws::Structure
542
583
  end
543
584
 
544
- # The Lustre configuration for the file system being created. This value
545
- # is required if `FileSystemType` is set to `LUSTRE`.
585
+ # The Lustre configuration for the file system being created.
546
586
  #
547
587
  # @note When making an API call, you may pass CreateFileSystemLustreConfiguration
548
588
  # data as a hash:
@@ -552,6 +592,8 @@ module Aws::FSx
552
592
  # import_path: "ArchivePath",
553
593
  # export_path: "ArchivePath",
554
594
  # imported_file_chunk_size: 1,
595
+ # deployment_type: "SCRATCH_1", # accepts SCRATCH_1, SCRATCH_2, PERSISTENT_1
596
+ # per_unit_storage_throughput: 1,
555
597
  # }
556
598
  #
557
599
  # @!attribute [rw] weekly_maintenance_start_time
@@ -598,18 +640,59 @@ module Aws::FSx
598
640
  # that a single file can be striped across is limited by the total
599
641
  # number of disks that make up the file system.
600
642
  #
601
- # The chunk size default is 1,024 MiB (1 GiB) and can go as high as
643
+ # The default chunk size is 1,024 MiB (1 GiB) and can go as high as
602
644
  # 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5
603
645
  # TB.
604
646
  # @return [Integer]
605
647
  #
648
+ # @!attribute [rw] deployment_type
649
+ # (Optional) Choose `SCRATCH_1` and `SCRATCH_2` deployment types when
650
+ # you need temporary storage and shorter-term processing of data. The
651
+ # `SCRATCH_2` deployment type provides in-transit encryption of data
652
+ # and higher burst throughput capacity than `SCRATCH_1`.
653
+ #
654
+ # Choose `PERSISTENT_1` deployment type for longer-term storage and
655
+ # workloads and encryption of data in transit. To learn more about
656
+ # deployment types, see [ FSx for Lustre Deployment Options][1].
657
+ #
658
+ # Encryption of data in-transit is automatically enabled when you
659
+ # access a `SCRATCH_2` or `PERSISTENT_1` file system from Amazon EC2
660
+ # instances that [support this feature][2]. (Default = `SCRATCH_1`)
661
+ #
662
+ # Encryption of data in-transit for `SCRATCH_2` and `PERSISTENT_1`
663
+ # deployment types is supported when accessed from supported instance
664
+ # types in supported AWS Regions. To learn more, [Encrypting Data in
665
+ # Transit][3].
666
+ #
667
+ #
668
+ #
669
+ # [1]: https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html
670
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data- protection.html
671
+ # [3]: https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html
672
+ # @return [String]
673
+ #
674
+ # @!attribute [rw] per_unit_storage_throughput
675
+ # Required for the `PERSISTENT_1` deployment type, describes the
676
+ # amount of read and write throughput for each 1 tebibyte of storage,
677
+ # in MB/s/TiB. File system throughput capacity is calculated by
678
+ # multiplying file system storage capacity (TiB) by the
679
+ # PerUnitStorageThroughput (MB/s/TiB). For a 2.4 TiB file system,
680
+ # provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 117 MB/s
681
+ # of file system throughput. You pay for the amount of throughput that
682
+ # you provision.
683
+ #
684
+ # Valid values are 50, 100, 200.
685
+ # @return [Integer]
686
+ #
606
687
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemLustreConfiguration AWS API Documentation
607
688
  #
608
689
  class CreateFileSystemLustreConfiguration < Struct.new(
609
690
  :weekly_maintenance_start_time,
610
691
  :import_path,
611
692
  :export_path,
612
- :imported_file_chunk_size)
693
+ :imported_file_chunk_size,
694
+ :deployment_type,
695
+ :per_unit_storage_throughput)
613
696
  include Aws::Structure
614
697
  end
615
698
 
@@ -622,6 +705,7 @@ module Aws::FSx
622
705
  # client_request_token: "ClientRequestToken",
623
706
  # file_system_type: "WINDOWS", # required, accepts WINDOWS, LUSTRE
624
707
  # storage_capacity: 1, # required
708
+ # storage_type: "SSD", # accepts SSD, HDD
625
709
  # subnet_ids: ["SubnetId"], # required
626
710
  # security_group_ids: ["SecurityGroupId"],
627
711
  # tags: [
@@ -641,7 +725,7 @@ module Aws::FSx
641
725
  # password: "DirectoryPassword", # required
642
726
  # dns_ips: ["IpAddress"], # required
643
727
  # },
644
- # deployment_type: "MULTI_AZ_1", # accepts MULTI_AZ_1, SINGLE_AZ_1
728
+ # deployment_type: "MULTI_AZ_1", # accepts MULTI_AZ_1, SINGLE_AZ_1, SINGLE_AZ_2
645
729
  # preferred_subnet_id: "SubnetId",
646
730
  # throughput_capacity: 1, # required
647
731
  # weekly_maintenance_start_time: "WeeklyTime",
@@ -654,6 +738,8 @@ module Aws::FSx
654
738
  # import_path: "ArchivePath",
655
739
  # export_path: "ArchivePath",
656
740
  # imported_file_chunk_size: 1,
741
+ # deployment_type: "SCRATCH_1", # accepts SCRATCH_1, SCRATCH_2, PERSISTENT_1
742
+ # per_unit_storage_throughput: 1,
657
743
  # },
658
744
  # }
659
745
  #
@@ -668,29 +754,60 @@ module Aws::FSx
668
754
  # @return [String]
669
755
  #
670
756
  # @!attribute [rw] file_system_type
671
- # The type of Amazon FSx file system to create.
757
+ # The type of Amazon FSx file system to create, either `WINDOWS` or
758
+ # `LUSTRE`.
672
759
  # @return [String]
673
760
  #
674
761
  # @!attribute [rw] storage_capacity
675
- # The storage capacity of the file system being created.
762
+ # Sets the storage capacity of the file system that you're creating.
763
+ #
764
+ # For Lustre file systems:
765
+ #
766
+ # * For `SCRATCH_2` and `PERSISTENT_1` deployment types, valid values
767
+ # are 1.2, 2.4, and increments of 2.4 TiB.
676
768
  #
677
- # For Windows file systems, valid values are 32 GiB - 65,536 GiB.
769
+ # * For `SCRATCH_1` deployment type, valid values are 1.2, 2.4, and
770
+ # increments of 3.6 TiB.
678
771
  #
679
- # For Lustre file systems, valid values are 1,200, 2,400, 3,600, then
680
- # continuing in increments of 3600 GiB.
772
+ # For Windows file systems:
773
+ #
774
+ # * If `StorageType=SSD`, valid values are 32 GiB - 65,536 GiB (64
775
+ # TiB).
776
+ #
777
+ # * If `StorageType=HDD`, valid values are 2000 GiB - 65,536 GiB (64
778
+ # TiB).
681
779
  # @return [Integer]
682
780
  #
781
+ # @!attribute [rw] storage_type
782
+ # Sets the storage type for the Amazon FSx for Windows file system
783
+ # you're creating. Valid values are `SSD` and `HDD`.
784
+ #
785
+ # * Set to `SSD` to use solid state drive storage. SSD is supported on
786
+ # all Windows deployment types.
787
+ #
788
+ # * Set to `HDD` to use hard disk drive storage. HDD is supported on
789
+ # `SINGLE_AZ_2` and `MULTI_AZ_1` Windows file system deployment
790
+ # types.
791
+ #
792
+ # Default value is `SSD`. For more information, see [ Storage Type
793
+ # Options][1] in the *Amazon FSx for Windows User Guide*.
794
+ #
795
+ #
796
+ #
797
+ # [1]: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-tco.html#saz-maz-storage-type
798
+ # @return [String]
799
+ #
683
800
  # @!attribute [rw] subnet_ids
684
801
  # Specifies the IDs of the subnets that the file system will be
685
802
  # accessible from. For Windows `MULTI_AZ_1` file system deployment
686
803
  # types, provide exactly two subnet IDs, one for the preferred file
687
- # server and one for the standy file server. You specify one of these
804
+ # server and one for the standby file server. You specify one of these
688
805
  # subnets as the preferred subnet using the `WindowsConfiguration >
689
806
  # PreferredSubnetID` property.
690
807
  #
691
- # For Windows `SINGLE_AZ_1` file system deployment types and Lustre
692
- # file systems, provide exactly one subnet ID. The file server is
693
- # launched in that subnet's Availability Zone.
808
+ # For Windows `SINGLE_AZ_1` and `SINGLE_AZ_2` file system deployment
809
+ # types and Lustre file systems, provide exactly one subnet ID. The
810
+ # file server is launched in that subnet's Availability Zone.
694
811
  # @return [Array<String>]
695
812
  #
696
813
  # @!attribute [rw] security_group_ids
@@ -706,9 +823,12 @@ module Aws::FSx
706
823
  #
707
824
  # @!attribute [rw] kms_key_id
708
825
  # The ID of the AWS Key Management Service (AWS KMS) key used to
709
- # encrypt the file system's data for an Amazon FSx for Windows File
710
- # Server file system at rest. Amazon FSx for Lustre does not support
711
- # KMS encryption. For more information, see [Encrypt][1] in the *AWS
826
+ # encrypt the file system's data for Amazon FSx for Windows File
827
+ # Server file systems and Amazon FSx for Lustre `PERSISTENT_1` file
828
+ # systems at rest. In either case, if not specified, the Amazon FSx
829
+ # managed key is used. The Amazon FSx for Lustre `SCRATCH_1` and
830
+ # `SCRATCH_2` file systems are always encrypted at rest using Amazon
831
+ # FSx managed keys. For more information, see [Encrypt][1] in the *AWS
712
832
  # Key Management Service API Reference*.
713
833
  #
714
834
  #
@@ -718,13 +838,11 @@ module Aws::FSx
718
838
  #
719
839
  # @!attribute [rw] windows_configuration
720
840
  # The Microsoft Windows configuration for the file system being
721
- # created. This value is required if `FileSystemType` is set to
722
- # `WINDOWS`.
841
+ # created.
723
842
  # @return [Types::CreateFileSystemWindowsConfiguration]
724
843
  #
725
844
  # @!attribute [rw] lustre_configuration
726
- # The Lustre configuration for the file system being created. This
727
- # value is required if `FileSystemType` is set to `LUSTRE`.
845
+ # The Lustre configuration for the file system being created.
728
846
  # @return [Types::CreateFileSystemLustreConfiguration]
729
847
  #
730
848
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemRequest AWS API Documentation
@@ -733,6 +851,7 @@ module Aws::FSx
733
851
  :client_request_token,
734
852
  :file_system_type,
735
853
  :storage_capacity,
854
+ :storage_type,
736
855
  :subnet_ids,
737
856
  :security_group_ids,
738
857
  :tags,
@@ -771,7 +890,7 @@ module Aws::FSx
771
890
  # password: "DirectoryPassword", # required
772
891
  # dns_ips: ["IpAddress"], # required
773
892
  # },
774
- # deployment_type: "MULTI_AZ_1", # accepts MULTI_AZ_1, SINGLE_AZ_1
893
+ # deployment_type: "MULTI_AZ_1", # accepts MULTI_AZ_1, SINGLE_AZ_1, SINGLE_AZ_2
775
894
  # preferred_subnet_id: "SubnetId",
776
895
  # throughput_capacity: 1, # required
777
896
  # weekly_maintenance_start_time: "WeeklyTime",
@@ -795,17 +914,21 @@ module Aws::FSx
795
914
  # Specifies the file system deployment type, valid values are the
796
915
  # following:
797
916
  #
798
- # * MULTI\_AZ\_1 - Deploys a high availability file system that is
917
+ # * `MULTI_AZ_1` - Deploys a high availability file system that is
799
918
  # configured for Multi-AZ redundancy to tolerate temporary
800
919
  # Availability Zone (AZ) unavailability. You can only deploy a
801
920
  # Multi-AZ file system in AWS Regions that have a minimum of three
802
- # Availability Zones.
921
+ # Availability Zones. Also supports HDD storage type
803
922
  #
804
- # * SINGLE\_AZ\_1 - (Default) Choose to deploy a file system that is
923
+ # * `SINGLE_AZ_1` - (Default) Choose to deploy a file system that is
805
924
  # configured for single AZ redundancy.
806
925
  #
807
- # To learn more about high availability Multi-AZ file systems, see [
808
- # High Availability for Amazon FSx for Windows File Server][1].
926
+ # * `SINGLE_AZ_2` - The latest generation Single AZ file system.
927
+ # Specifies a file system that is configured for single AZ
928
+ # redundancy and supports HDD storage type.
929
+ #
930
+ # For more information, see [ Availability and Durability: Single-AZ
931
+ # and Multi-AZ File Systems][1].
809
932
  #
810
933
  #
811
934
  #
@@ -850,7 +973,9 @@ module Aws::FSx
850
973
  # true, all tags for the file system are copied to all automatic and
851
974
  # user-initiated backups where the user doesn't specify tags. If this
852
975
  # value is true, and you specify one or more tags, only the specified
853
- # tags are copied to backups.
976
+ # tags are copied to backups. If you specify one or more tags when
977
+ # creating a user-initiated backup, no tags are copied from the file
978
+ # system, regardless of this value.
854
979
  # @return [Boolean]
855
980
  #
856
981
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemWindowsConfiguration AWS API Documentation
@@ -1585,14 +1710,29 @@ module Aws::FSx
1585
1710
  # The storage capacity of the file system in gigabytes (GB).
1586
1711
  # @return [Integer]
1587
1712
  #
1713
+ # @!attribute [rw] storage_type
1714
+ # The storage type of the file system. Valid values are `SSD` and
1715
+ # `HDD`. If set to `SSD`, the file system uses solid state drive
1716
+ # storage. If set to `HDD`, the file system uses hard disk drive
1717
+ # storage.
1718
+ # @return [String]
1719
+ #
1588
1720
  # @!attribute [rw] vpc_id
1589
1721
  # The ID of the primary VPC for the file system.
1590
1722
  # @return [String]
1591
1723
  #
1592
1724
  # @!attribute [rw] subnet_ids
1593
- # The ID of the subnet to contain the endpoint for the file system.
1594
- # One and only one is supported. The file system is launched in the
1595
- # Availability Zone associated with this subnet.
1725
+ # Specifies the IDs of the subnets that the file system is accessible
1726
+ # from. For Windows `MULTI_AZ_1` file system deployment type, there
1727
+ # are two subnet IDs, one for the preferred file server and one for
1728
+ # the standby file server. The preferred file server subnet identified
1729
+ # in the `PreferredSubnetID` property. All other file systems have
1730
+ # only one subnet ID.
1731
+ #
1732
+ # For Lustre file systems, and Single-AZ Windows file systems, this is
1733
+ # the ID of the subnet that contains the endpoint for the file system.
1734
+ # For `MULTI_AZ_1` Windows file systems, the endpoint for the file
1735
+ # system is available in the `PreferredSubnetID`.
1596
1736
  # @return [Array<String>]
1597
1737
  #
1598
1738
  # @!attribute [rw] network_interface_ids
@@ -1617,9 +1757,17 @@ module Aws::FSx
1617
1757
  #
1618
1758
  # @!attribute [rw] kms_key_id
1619
1759
  # The ID of the AWS Key Management Service (AWS KMS) key used to
1620
- # encrypt the file system's data for an Amazon FSx for Windows File
1621
- # Server file system. Amazon FSx for Lustre does not support KMS
1622
- # encryption.
1760
+ # encrypt the file system's data for Amazon FSx for Windows File
1761
+ # Server file systems and persistent Amazon FSx for Lustre file
1762
+ # systems at rest. In either case, if not specified, the Amazon FSx
1763
+ # managed key is used. The scratch Amazon FSx for Lustre file systems
1764
+ # are always encrypted at rest using Amazon FSx managed keys. For more
1765
+ # information, see [Encrypt][1] in the *AWS Key Management Service API
1766
+ # Reference*.
1767
+ #
1768
+ #
1769
+ #
1770
+ # [1]: https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html
1623
1771
  # @return [String]
1624
1772
  #
1625
1773
  # @!attribute [rw] resource_arn
@@ -1654,6 +1802,7 @@ module Aws::FSx
1654
1802
  :lifecycle,
1655
1803
  :failure_details,
1656
1804
  :storage_capacity,
1805
+ :storage_type,
1657
1806
  :vpc_id,
1658
1807
  :subnet_ids,
1659
1808
  :network_interface_ids,
@@ -1824,6 +1973,20 @@ module Aws::FSx
1824
1973
  include Aws::Structure
1825
1974
  end
1826
1975
 
1976
+ # An invalid value for `PerUnitStorageThroughput` was provided. Please
1977
+ # create your file system again, using a valid value.
1978
+ #
1979
+ # @!attribute [rw] message
1980
+ # A detailed error message.
1981
+ # @return [String]
1982
+ #
1983
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/InvalidPerUnitStorageThroughput AWS API Documentation
1984
+ #
1985
+ class InvalidPerUnitStorageThroughput < Struct.new(
1986
+ :message)
1987
+ include Aws::Structure
1988
+ end
1989
+
1827
1990
  # The request object for `ListTagsForResource` operation.
1828
1991
  #
1829
1992
  # @note When making an API call, you may pass ListTagsForResourceRequest
@@ -1893,15 +2056,38 @@ module Aws::FSx
1893
2056
  # returned in the response of the `CreateFileSystem` operation.
1894
2057
  # @return [Types::DataRepositoryConfiguration]
1895
2058
  #
2059
+ # @!attribute [rw] deployment_type
2060
+ # The deployment type of the FSX for Lustre file system.
2061
+ # @return [String]
2062
+ #
2063
+ # @!attribute [rw] per_unit_storage_throughput
2064
+ # Per unit storage throughput represents the megabytes per second of
2065
+ # read or write throughput per 1 tebibyte of storage provisioned. File
2066
+ # system throughput capacity is equal to Storage capacity (TiB) *
2067
+ # PerUnitStorageThroughput (MB/s/TiB). This option is only valid for
2068
+ # `PERSISTENT_1` deployment types. Valid values are 50, 100, 200.
2069
+ # @return [Integer]
2070
+ #
2071
+ # @!attribute [rw] mount_name
2072
+ # You use the `MountName` value when mounting the file system.
2073
+ #
2074
+ # For the `SCRATCH_1` deployment type, this value is always "`fsx`".
2075
+ # For `SCRATCH_2` and `PERSISTENT_1` deployment types, this value is a
2076
+ # string that is unique within an AWS Region.
2077
+ # @return [String]
2078
+ #
1896
2079
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/LustreFileSystemConfiguration AWS API Documentation
1897
2080
  #
1898
2081
  class LustreFileSystemConfiguration < Struct.new(
1899
2082
  :weekly_maintenance_start_time,
1900
- :data_repository_configuration)
2083
+ :data_repository_configuration,
2084
+ :deployment_type,
2085
+ :per_unit_storage_throughput,
2086
+ :mount_name)
1901
2087
  include Aws::Structure
1902
2088
  end
1903
2089
 
1904
- # File system configuration is required for this operation.
2090
+ # A file system configuration is required for this operation.
1905
2091
  #
1906
2092
  # @!attribute [rw] message
1907
2093
  # A detailed error message.
@@ -2439,10 +2625,21 @@ module Aws::FSx
2439
2625
  #
2440
2626
  # * `MULTI_AZ_1` - Specifies a high availability file system that is
2441
2627
  # configured for Multi-AZ redundancy to tolerate temporary
2442
- # Availability Zone (AZ) unavailability.
2628
+ # Availability Zone (AZ) unavailability, and supports SSD and HDD
2629
+ # storage.
2443
2630
  #
2444
2631
  # * `SINGLE_AZ_1` - (Default) Specifies a file system that is
2445
- # configured for single AZ redundancy.
2632
+ # configured for single AZ redundancy, only supports SSD storage.
2633
+ #
2634
+ # * `SINGLE_AZ_2` - Latest generation Single AZ file system. Specifies
2635
+ # a file system that is configured for single AZ redundancy and
2636
+ # supports SSD and HDD storage.
2637
+ #
2638
+ # For more information, see [Single-AZ and Multi-AZ File Systems][1].
2639
+ #
2640
+ #
2641
+ #
2642
+ # [1]: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html
2446
2643
  # @return [String]
2447
2644
  #
2448
2645
  # @!attribute [rw] remote_administration_endpoint
@@ -2450,8 +2647,8 @@ module Aws::FSx
2450
2647
  # administrative tasks on the file system using Amazon FSx Remote
2451
2648
  # PowerShell.
2452
2649
  #
2453
- # For `SINGLE_AZ_1` deployment types, this is the DNS name of the file
2454
- # system.
2650
+ # For `SINGLE_AZ_1` and `SINGLE_AZ_2` deployment types, this is the
2651
+ # DNS name of the file system.
2455
2652
  #
2456
2653
  # This endpoint is temporarily unavailable when the file system is
2457
2654
  # undergoing maintenance.
@@ -2464,8 +2661,14 @@ module Aws::FSx
2464
2661
  # traffic from this subnet except in the event of a failover to the
2465
2662
  # secondary file server.
2466
2663
  #
2467
- # For `SINGLE_AZ_1` deployment types, this value is the same as that
2468
- # for `SubnetIDs`.
2664
+ # For `SINGLE_AZ_1` and `SINGLE_AZ_2` deployment types, this value is
2665
+ # the same as that for `SubnetIDs`. For more information, see
2666
+ # [Availability and Durability: Single-AZ and Multi-AZ File
2667
+ # Systems][1]
2668
+ #
2669
+ #
2670
+ #
2671
+ # [1]: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html#single-multi-az-resources
2469
2672
  # @return [String]
2470
2673
  #
2471
2674
  # @!attribute [rw] preferred_file_server_ip
@@ -2474,13 +2677,12 @@ module Aws::FSx
2474
2677
  #
2475
2678
  # Use this IP address when mounting the file system on Linux SMB
2476
2679
  # clients or Windows SMB clients that are not joined to a Microsoft
2477
- # Active Directory. Applicable for both `SINGLE_AZ_1` and `MULTI_AZ_1`
2478
- # deployment types. This IP address is temporarily unavailable when
2479
- # the file system is undergoing maintenance. For Linux and Windows SMB
2480
- # clients that are joined to an Active Directory, use the file
2481
- # system's DNSName instead. For more information and instruction on
2482
- # mapping and mounting file shares, see
2483
- # [https://docs.aws.amazon.com/fsx/latest/WindowsGuide/accessing-file-shares.html][1].
2680
+ # Active Directory. Applicable for all Windows file system deployment
2681
+ # types. This IP address is temporarily unavailable when the file
2682
+ # system is undergoing maintenance. For Linux and Windows SMB clients
2683
+ # that are joined to an Active Directory, use the file system's
2684
+ # DNSName instead. For more information on mapping and mounting file
2685
+ # shares, see [Accessing File Shares][1].
2484
2686
  #
2485
2687
  #
2486
2688
  #
@@ -2518,7 +2720,9 @@ module Aws::FSx
2518
2720
  # true, all tags on the file system are copied to all automatic
2519
2721
  # backups and any user-initiated backups where the user doesn't
2520
2722
  # specify any tags. If this value is true, and you specify one or more
2521
- # tags, only the specified tags are copied to backups.
2723
+ # tags, only the specified tags are copied to backups. If you specify
2724
+ # one or more tags when creating a user-initiated backup, no tags are
2725
+ # copied from the file system, regardless of this value.
2522
2726
  # @return [Boolean]
2523
2727
  #
2524
2728
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/WindowsFileSystemConfiguration AWS API Documentation