aws-sdk-fsx 1.14.0 → 1.19.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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