aws-sdk-fsx 1.13.0 → 1.14.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 84313b0f75557ba9a7297c618d914460b4e9281b
4
- data.tar.gz: 4b215458437967bde47b63f9a7b9d3d870aca8dd
3
+ metadata.gz: 776930eb8998a3f2332554317dff4a3571987f7e
4
+ data.tar.gz: fa6a41c3f5ceeea1058d9a30049e46672a3c5463
5
5
  SHA512:
6
- metadata.gz: b24eeb05ce073460b0e009c924699e312ee0bbc80c5acac07d8a504a5fc241a5fe42023b5ff67341e94107c6cdd2c15139bf6a1caca275c760fa134ce907ac9a
7
- data.tar.gz: fe189ff583fbbfbff364305fb92795fe91bcdb0e8b81e1f1350d0f08759b06df2288ac7d87904ad0b74c5629243c6b83e6d3ff6c255308718d0b9d39f8499c17
6
+ metadata.gz: 5bf66a000b2f19ba011a35531754ff4faaac2a6fe50d1c175f695d6fb474d348560c5e0134e52b9bbce68ce2a4f874a0c509069d6fb7744bb3e6d5da515341a0
7
+ data.tar.gz: 0b42d8cf978dbfc73b51f1c2f3528104e4cc697304f91ac205d29ef995d95647260839633aac81db2355996b6087dc6d5e239e0ae601928c6316ccb09082f638
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-fsx/customizations'
42
42
  # @service
43
43
  module Aws::FSx
44
44
 
45
- GEM_VERSION = '1.13.0'
45
+ GEM_VERSION = '1.14.0'
46
46
 
47
47
  end
@@ -264,6 +264,45 @@ module Aws::FSx
264
264
 
265
265
  # @!group API Operations
266
266
 
267
+ # Cancels an existing Amazon FSx for Lustre data repository task if that
268
+ # task is in either the `PENDING` or `EXECUTING` state. When you cancel
269
+ # a task, Amazon FSx does the following.
270
+ #
271
+ # * Any files that FSx has already exported are not reverted.
272
+ #
273
+ # * FSx continues to export any files that are "in-flight" when the
274
+ # cancel operation is received.
275
+ #
276
+ # * FSx does not export any files that have not yet been exported.
277
+ #
278
+ # @option params [required, String] :task_id
279
+ # Specifies the data repository task to cancel.
280
+ #
281
+ # @return [Types::CancelDataRepositoryTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
282
+ #
283
+ # * {Types::CancelDataRepositoryTaskResponse#lifecycle #lifecycle} => String
284
+ # * {Types::CancelDataRepositoryTaskResponse#task_id #task_id} => String
285
+ #
286
+ # @example Request syntax with placeholder values
287
+ #
288
+ # resp = client.cancel_data_repository_task({
289
+ # task_id: "TaskId", # required
290
+ # })
291
+ #
292
+ # @example Response structure
293
+ #
294
+ # resp.lifecycle #=> String, one of "PENDING", "EXECUTING", "FAILED", "SUCCEEDED", "CANCELED", "CANCELING"
295
+ # resp.task_id #=> String
296
+ #
297
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CancelDataRepositoryTask AWS API Documentation
298
+ #
299
+ # @overload cancel_data_repository_task(params = {})
300
+ # @param [Hash] params ({})
301
+ def cancel_data_repository_task(params = {}, options = {})
302
+ req = build_request(:cancel_data_repository_task, params)
303
+ req.send_request(options)
304
+ end
305
+
267
306
  # Creates a backup of an existing Amazon FSx for Windows File Server
268
307
  # file system. Creating regular backups for your file system is a best
269
308
  # practice that complements the replication that Amazon FSx for Windows
@@ -440,6 +479,111 @@ module Aws::FSx
440
479
  req.send_request(options)
441
480
  end
442
481
 
482
+ # Creates an Amazon FSx for Lustre data repository task. You use data
483
+ # repository tasks to perform bulk operations between your Amazon FSx
484
+ # file system and its linked data repository. An example of a data
485
+ # repository task is exporting any data and metadata changes, including
486
+ # POSIX metadata, to files, directories, and symbolic links (symlinks)
487
+ # from your FSx file system to its linked data repository. A
488
+ # `CreateDataRepositoryTask` operation will fail if a data repository is
489
+ # not linked to the FSx file system. To learn more about data repository
490
+ # tasks, see [Using Data Repository Tasks][1]. To learn more about
491
+ # linking a data repository to your file system, see [Step 1: Create
492
+ # Your Amazon FSx for Lustre File System][2].
493
+ #
494
+ #
495
+ #
496
+ # [1]: https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-repository-tasks.html
497
+ # [2]: https://docs.aws.amazon.com/fsx/latest/LustreGuide/getting-started-step1.html
498
+ #
499
+ # @option params [required, String] :type
500
+ # Specifies the type of data repository task to create.
501
+ #
502
+ # @option params [Array<String>] :paths
503
+ # (Optional) The path or paths on the Amazon FSx file system to use when
504
+ # the data repository task is processed. The default path is the file
505
+ # system root directory.
506
+ #
507
+ # @option params [required, String] :file_system_id
508
+ # The globally unique ID of the file system, assigned by Amazon FSx.
509
+ #
510
+ # @option params [required, Types::CompletionReport] :report
511
+ # Defines whether or not Amazon FSx provides a CompletionReport once the
512
+ # task has completed. A CompletionReport provides a detailed report on
513
+ # the files that Amazon FSx processed that meet the criteria specified
514
+ # by the `Scope` parameter.
515
+ #
516
+ # @option params [String] :client_request_token
517
+ # (Optional) An idempotency token for resource creation, in a string of
518
+ # up to 64 ASCII characters. This token is automatically filled on your
519
+ # behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS
520
+ # SDK.
521
+ #
522
+ # **A suitable default value is auto-generated.** You should normally
523
+ # not need to pass this option.**
524
+ #
525
+ # @option params [Array<Types::Tag>] :tags
526
+ # A list of `Tag` values, with a maximum of 50 elements.
527
+ #
528
+ # @return [Types::CreateDataRepositoryTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
529
+ #
530
+ # * {Types::CreateDataRepositoryTaskResponse#data_repository_task #data_repository_task} => Types::DataRepositoryTask
531
+ #
532
+ # @example Request syntax with placeholder values
533
+ #
534
+ # resp = client.create_data_repository_task({
535
+ # type: "EXPORT_TO_REPOSITORY", # required, accepts EXPORT_TO_REPOSITORY
536
+ # paths: ["DataRepositoryTaskPath"],
537
+ # file_system_id: "FileSystemId", # required
538
+ # report: { # required
539
+ # enabled: false, # required
540
+ # path: "ArchivePath",
541
+ # format: "REPORT_CSV_20191124", # accepts REPORT_CSV_20191124
542
+ # scope: "FAILED_FILES_ONLY", # accepts FAILED_FILES_ONLY
543
+ # },
544
+ # client_request_token: "ClientRequestToken",
545
+ # tags: [
546
+ # {
547
+ # key: "TagKey",
548
+ # value: "TagValue",
549
+ # },
550
+ # ],
551
+ # })
552
+ #
553
+ # @example Response structure
554
+ #
555
+ # resp.data_repository_task.task_id #=> String
556
+ # resp.data_repository_task.lifecycle #=> String, one of "PENDING", "EXECUTING", "FAILED", "SUCCEEDED", "CANCELED", "CANCELING"
557
+ # resp.data_repository_task.type #=> String, one of "EXPORT_TO_REPOSITORY"
558
+ # resp.data_repository_task.creation_time #=> Time
559
+ # resp.data_repository_task.start_time #=> Time
560
+ # resp.data_repository_task.end_time #=> Time
561
+ # resp.data_repository_task.resource_arn #=> String
562
+ # resp.data_repository_task.tags #=> Array
563
+ # resp.data_repository_task.tags[0].key #=> String
564
+ # resp.data_repository_task.tags[0].value #=> String
565
+ # resp.data_repository_task.file_system_id #=> String
566
+ # resp.data_repository_task.paths #=> Array
567
+ # resp.data_repository_task.paths[0] #=> String
568
+ # resp.data_repository_task.failure_details.message #=> String
569
+ # resp.data_repository_task.status.total_count #=> Integer
570
+ # resp.data_repository_task.status.succeeded_count #=> Integer
571
+ # resp.data_repository_task.status.failed_count #=> Integer
572
+ # resp.data_repository_task.status.last_updated_time #=> Time
573
+ # resp.data_repository_task.report.enabled #=> Boolean
574
+ # resp.data_repository_task.report.path #=> String
575
+ # resp.data_repository_task.report.format #=> String, one of "REPORT_CSV_20191124"
576
+ # resp.data_repository_task.report.scope #=> String, one of "FAILED_FILES_ONLY"
577
+ #
578
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateDataRepositoryTask AWS API Documentation
579
+ #
580
+ # @overload create_data_repository_task(params = {})
581
+ # @param [Hash] params ({})
582
+ def create_data_repository_task(params = {}, options = {})
583
+ req = build_request(:create_data_repository_task, params)
584
+ req.send_request(options)
585
+ end
586
+
443
587
  # Creates a new, empty Amazon FSx file system.
444
588
  #
445
589
  # If a file system with the specified client request token exists and
@@ -516,10 +660,11 @@ module Aws::FSx
516
660
  # the `Name` tag appears in the console as the file system name.
517
661
  #
518
662
  # @option params [String] :kms_key_id
519
- # The ID of your AWS Key Management Service (AWS KMS) key. This ID is
520
- # used to encrypt the data in your file system at rest. For more
521
- # information, see [Encrypt][1] in the *AWS Key Management Service API
522
- # Reference*.
663
+ # The ID of the AWS Key Management Service (AWS KMS) key used to encrypt
664
+ # the file system's data for an Amazon FSx for Windows File Server file
665
+ # system at rest. Amazon FSx for Lustre does not support KMS encryption.
666
+ # For more information, see [Encrypt][1] in the *AWS Key Management
667
+ # Service API Reference*.
523
668
  #
524
669
  #
525
670
  #
@@ -984,6 +1129,12 @@ module Aws::FSx
984
1129
  # file system, the DescribeFileSystems returns a `FileSystemNotFound`
985
1130
  # error.
986
1131
  #
1132
+ # <note markdown="1"> Deleting an Amazon FSx for Lustre file system will fail with a 400
1133
+ # BadRequest if a data repository task is in a `PENDING` or `EXECUTING`
1134
+ # state.
1135
+ #
1136
+ # </note>
1137
+ #
987
1138
  # The data in a deleted file system is also deleted and can't be
988
1139
  # recovered by any means.
989
1140
  #
@@ -1229,6 +1380,95 @@ module Aws::FSx
1229
1380
  req.send_request(options)
1230
1381
  end
1231
1382
 
1383
+ # Returns the description of specific Amazon FSx for Lustre data
1384
+ # repository tasks, if one or more `TaskIds` values are provided in the
1385
+ # request, or if filters are used in the request. You can use filters to
1386
+ # narrow the response to include just tasks for specific file systems,
1387
+ # or tasks in a specific lifecycle state. Otherwise, it returns all data
1388
+ # repository tasks owned by your AWS account in the AWS Region of the
1389
+ # endpoint that you're calling.
1390
+ #
1391
+ # When retrieving all tasks, you can paginate the response by using the
1392
+ # optional `MaxResults` parameter to limit the number of tasks returned
1393
+ # in a response. If more tasks remain, Amazon FSx returns a `NextToken`
1394
+ # value in the response. In this case, send a later request with the
1395
+ # `NextToken` request parameter set to the value of `NextToken` from the
1396
+ # last response.
1397
+ #
1398
+ # @option params [Array<String>] :task_ids
1399
+ # (Optional) IDs of the tasks whose descriptions you want to retrieve
1400
+ # (String).
1401
+ #
1402
+ # @option params [Array<Types::DataRepositoryTaskFilter>] :filters
1403
+ # (Optional) You can use filters to narrow the
1404
+ # `DescribeDataRepositoryTasks` response to include just tasks for
1405
+ # specific file systems, or tasks in a specific lifecycle state.
1406
+ #
1407
+ # @option params [Integer] :max_results
1408
+ # The maximum number of resources to return in the response. This value
1409
+ # must be an integer greater than zero.
1410
+ #
1411
+ # @option params [String] :next_token
1412
+ # (Optional) Opaque pagination token returned from a previous operation
1413
+ # (String). If present, this token indicates from what point you can
1414
+ # continue processing the request, where the previous `NextToken` value
1415
+ # left off.
1416
+ #
1417
+ # @return [Types::DescribeDataRepositoryTasksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1418
+ #
1419
+ # * {Types::DescribeDataRepositoryTasksResponse#data_repository_tasks #data_repository_tasks} => Array&lt;Types::DataRepositoryTask&gt;
1420
+ # * {Types::DescribeDataRepositoryTasksResponse#next_token #next_token} => String
1421
+ #
1422
+ # @example Request syntax with placeholder values
1423
+ #
1424
+ # resp = client.describe_data_repository_tasks({
1425
+ # task_ids: ["TaskId"],
1426
+ # filters: [
1427
+ # {
1428
+ # name: "file-system-id", # accepts file-system-id, task-lifecycle
1429
+ # values: ["DataRepositoryTaskFilterValue"],
1430
+ # },
1431
+ # ],
1432
+ # max_results: 1,
1433
+ # next_token: "NextToken",
1434
+ # })
1435
+ #
1436
+ # @example Response structure
1437
+ #
1438
+ # resp.data_repository_tasks #=> Array
1439
+ # resp.data_repository_tasks[0].task_id #=> String
1440
+ # resp.data_repository_tasks[0].lifecycle #=> String, one of "PENDING", "EXECUTING", "FAILED", "SUCCEEDED", "CANCELED", "CANCELING"
1441
+ # resp.data_repository_tasks[0].type #=> String, one of "EXPORT_TO_REPOSITORY"
1442
+ # resp.data_repository_tasks[0].creation_time #=> Time
1443
+ # resp.data_repository_tasks[0].start_time #=> Time
1444
+ # resp.data_repository_tasks[0].end_time #=> Time
1445
+ # resp.data_repository_tasks[0].resource_arn #=> String
1446
+ # resp.data_repository_tasks[0].tags #=> Array
1447
+ # resp.data_repository_tasks[0].tags[0].key #=> String
1448
+ # resp.data_repository_tasks[0].tags[0].value #=> String
1449
+ # resp.data_repository_tasks[0].file_system_id #=> String
1450
+ # resp.data_repository_tasks[0].paths #=> Array
1451
+ # resp.data_repository_tasks[0].paths[0] #=> String
1452
+ # resp.data_repository_tasks[0].failure_details.message #=> String
1453
+ # resp.data_repository_tasks[0].status.total_count #=> Integer
1454
+ # resp.data_repository_tasks[0].status.succeeded_count #=> Integer
1455
+ # resp.data_repository_tasks[0].status.failed_count #=> Integer
1456
+ # resp.data_repository_tasks[0].status.last_updated_time #=> Time
1457
+ # resp.data_repository_tasks[0].report.enabled #=> Boolean
1458
+ # resp.data_repository_tasks[0].report.path #=> String
1459
+ # resp.data_repository_tasks[0].report.format #=> String, one of "REPORT_CSV_20191124"
1460
+ # resp.data_repository_tasks[0].report.scope #=> String, one of "FAILED_FILES_ONLY"
1461
+ # resp.next_token #=> String
1462
+ #
1463
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeDataRepositoryTasks AWS API Documentation
1464
+ #
1465
+ # @overload describe_data_repository_tasks(params = {})
1466
+ # @param [Hash] params ({})
1467
+ def describe_data_repository_tasks(params = {}, options = {})
1468
+ req = build_request(:describe_data_repository_tasks, params)
1469
+ req.send_request(options)
1470
+ end
1471
+
1232
1472
  # Returns the description of specific Amazon FSx file systems, if a
1233
1473
  # `FileSystemIds` value is provided for that file system. Otherwise, it
1234
1474
  # returns descriptions of all file systems owned by your AWS account in
@@ -1713,7 +1953,7 @@ module Aws::FSx
1713
1953
  params: params,
1714
1954
  config: config)
1715
1955
  context[:gem_name] = 'aws-sdk-fsx'
1716
- context[:gem_version] = '1.13.0'
1956
+ context[:gem_version] = '1.14.0'
1717
1957
  Seahorse::Client::Request.new(handlers, context)
1718
1958
  end
1719
1959
 
@@ -29,9 +29,14 @@ module Aws::FSx
29
29
  BackupType = Shapes::StringShape.new(name: 'BackupType')
30
30
  Backups = Shapes::ListShape.new(name: 'Backups')
31
31
  BadRequest = Shapes::StructureShape.new(name: 'BadRequest')
32
+ CancelDataRepositoryTaskRequest = Shapes::StructureShape.new(name: 'CancelDataRepositoryTaskRequest')
33
+ CancelDataRepositoryTaskResponse = Shapes::StructureShape.new(name: 'CancelDataRepositoryTaskResponse')
32
34
  ClientRequestToken = Shapes::StringShape.new(name: 'ClientRequestToken')
35
+ CompletionReport = Shapes::StructureShape.new(name: 'CompletionReport')
33
36
  CreateBackupRequest = Shapes::StructureShape.new(name: 'CreateBackupRequest')
34
37
  CreateBackupResponse = Shapes::StructureShape.new(name: 'CreateBackupResponse')
38
+ CreateDataRepositoryTaskRequest = Shapes::StructureShape.new(name: 'CreateDataRepositoryTaskRequest')
39
+ CreateDataRepositoryTaskResponse = Shapes::StructureShape.new(name: 'CreateDataRepositoryTaskResponse')
35
40
  CreateFileSystemFromBackupRequest = Shapes::StructureShape.new(name: 'CreateFileSystemFromBackupRequest')
36
41
  CreateFileSystemFromBackupResponse = Shapes::StructureShape.new(name: 'CreateFileSystemFromBackupResponse')
37
42
  CreateFileSystemLustreConfiguration = Shapes::StructureShape.new(name: 'CreateFileSystemLustreConfiguration')
@@ -42,6 +47,22 @@ module Aws::FSx
42
47
  DNSName = Shapes::StringShape.new(name: 'DNSName')
43
48
  DailyTime = Shapes::StringShape.new(name: 'DailyTime')
44
49
  DataRepositoryConfiguration = Shapes::StructureShape.new(name: 'DataRepositoryConfiguration')
50
+ DataRepositoryTask = Shapes::StructureShape.new(name: 'DataRepositoryTask')
51
+ DataRepositoryTaskEnded = Shapes::StructureShape.new(name: 'DataRepositoryTaskEnded')
52
+ DataRepositoryTaskExecuting = Shapes::StructureShape.new(name: 'DataRepositoryTaskExecuting')
53
+ DataRepositoryTaskFailureDetails = Shapes::StructureShape.new(name: 'DataRepositoryTaskFailureDetails')
54
+ DataRepositoryTaskFilter = Shapes::StructureShape.new(name: 'DataRepositoryTaskFilter')
55
+ DataRepositoryTaskFilterName = Shapes::StringShape.new(name: 'DataRepositoryTaskFilterName')
56
+ DataRepositoryTaskFilterValue = Shapes::StringShape.new(name: 'DataRepositoryTaskFilterValue')
57
+ DataRepositoryTaskFilterValues = Shapes::ListShape.new(name: 'DataRepositoryTaskFilterValues')
58
+ DataRepositoryTaskFilters = Shapes::ListShape.new(name: 'DataRepositoryTaskFilters')
59
+ DataRepositoryTaskLifecycle = Shapes::StringShape.new(name: 'DataRepositoryTaskLifecycle')
60
+ DataRepositoryTaskNotFound = Shapes::StructureShape.new(name: 'DataRepositoryTaskNotFound')
61
+ DataRepositoryTaskPath = Shapes::StringShape.new(name: 'DataRepositoryTaskPath')
62
+ DataRepositoryTaskPaths = Shapes::ListShape.new(name: 'DataRepositoryTaskPaths')
63
+ DataRepositoryTaskStatus = Shapes::StructureShape.new(name: 'DataRepositoryTaskStatus')
64
+ DataRepositoryTaskType = Shapes::StringShape.new(name: 'DataRepositoryTaskType')
65
+ DataRepositoryTasks = Shapes::ListShape.new(name: 'DataRepositoryTasks')
45
66
  DeleteBackupRequest = Shapes::StructureShape.new(name: 'DeleteBackupRequest')
46
67
  DeleteBackupResponse = Shapes::StructureShape.new(name: 'DeleteBackupResponse')
47
68
  DeleteFileSystemRequest = Shapes::StructureShape.new(name: 'DeleteFileSystemRequest')
@@ -50,13 +71,17 @@ module Aws::FSx
50
71
  DeleteFileSystemWindowsResponse = Shapes::StructureShape.new(name: 'DeleteFileSystemWindowsResponse')
51
72
  DescribeBackupsRequest = Shapes::StructureShape.new(name: 'DescribeBackupsRequest')
52
73
  DescribeBackupsResponse = Shapes::StructureShape.new(name: 'DescribeBackupsResponse')
74
+ DescribeDataRepositoryTasksRequest = Shapes::StructureShape.new(name: 'DescribeDataRepositoryTasksRequest')
75
+ DescribeDataRepositoryTasksResponse = Shapes::StructureShape.new(name: 'DescribeDataRepositoryTasksResponse')
53
76
  DescribeFileSystemsRequest = Shapes::StructureShape.new(name: 'DescribeFileSystemsRequest')
54
77
  DescribeFileSystemsResponse = Shapes::StructureShape.new(name: 'DescribeFileSystemsResponse')
55
78
  DirectoryId = Shapes::StringShape.new(name: 'DirectoryId')
56
79
  DirectoryPassword = Shapes::StringShape.new(name: 'DirectoryPassword')
57
80
  DirectoryUserName = Shapes::StringShape.new(name: 'DirectoryUserName')
58
81
  DnsIps = Shapes::ListShape.new(name: 'DnsIps')
82
+ EndTime = Shapes::TimestampShape.new(name: 'EndTime')
59
83
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
84
+ FailedCount = Shapes::IntegerShape.new(name: 'FailedCount')
60
85
  FileSystem = Shapes::StructureShape.new(name: 'FileSystem')
61
86
  FileSystemAdministratorsGroupName = Shapes::StringShape.new(name: 'FileSystemAdministratorsGroupName')
62
87
  FileSystemFailureDetails = Shapes::StructureShape.new(name: 'FileSystemFailureDetails')
@@ -81,6 +106,7 @@ module Aws::FSx
81
106
  InvalidNetworkSettings = Shapes::StructureShape.new(name: 'InvalidNetworkSettings')
82
107
  IpAddress = Shapes::StringShape.new(name: 'IpAddress')
83
108
  KmsKeyId = Shapes::StringShape.new(name: 'KmsKeyId')
109
+ LastUpdatedTime = Shapes::TimestampShape.new(name: 'LastUpdatedTime')
84
110
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
85
111
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
86
112
  LustreFileSystemConfiguration = Shapes::StructureShape.new(name: 'LustreFileSystemConfiguration')
@@ -95,6 +121,8 @@ module Aws::FSx
95
121
  OrganizationalUnitDistinguishedName = Shapes::StringShape.new(name: 'OrganizationalUnitDistinguishedName')
96
122
  Parameter = Shapes::StringShape.new(name: 'Parameter')
97
123
  ProgressPercent = Shapes::IntegerShape.new(name: 'ProgressPercent')
124
+ ReportFormat = Shapes::StringShape.new(name: 'ReportFormat')
125
+ ReportScope = Shapes::StringShape.new(name: 'ReportScope')
98
126
  ResourceARN = Shapes::StringShape.new(name: 'ResourceARN')
99
127
  ResourceDoesNotSupportTagging = Shapes::StructureShape.new(name: 'ResourceDoesNotSupportTagging')
100
128
  ResourceNotFound = Shapes::StructureShape.new(name: 'ResourceNotFound')
@@ -105,9 +133,11 @@ module Aws::FSx
105
133
  SelfManagedActiveDirectoryConfigurationUpdates = Shapes::StructureShape.new(name: 'SelfManagedActiveDirectoryConfigurationUpdates')
106
134
  ServiceLimit = Shapes::StringShape.new(name: 'ServiceLimit')
107
135
  ServiceLimitExceeded = Shapes::StructureShape.new(name: 'ServiceLimitExceeded')
136
+ StartTime = Shapes::TimestampShape.new(name: 'StartTime')
108
137
  StorageCapacity = Shapes::IntegerShape.new(name: 'StorageCapacity')
109
138
  SubnetId = Shapes::StringShape.new(name: 'SubnetId')
110
139
  SubnetIds = Shapes::ListShape.new(name: 'SubnetIds')
140
+ SucceededCount = Shapes::IntegerShape.new(name: 'SucceededCount')
111
141
  Tag = Shapes::StructureShape.new(name: 'Tag')
112
142
  TagKey = Shapes::StringShape.new(name: 'TagKey')
113
143
  TagKeys = Shapes::ListShape.new(name: 'TagKeys')
@@ -115,6 +145,9 @@ module Aws::FSx
115
145
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
116
146
  TagValue = Shapes::StringShape.new(name: 'TagValue')
117
147
  Tags = Shapes::ListShape.new(name: 'Tags')
148
+ TaskId = Shapes::StringShape.new(name: 'TaskId')
149
+ TaskIds = Shapes::ListShape.new(name: 'TaskIds')
150
+ TotalCount = Shapes::IntegerShape.new(name: 'TotalCount')
118
151
  UnsupportedOperation = Shapes::StructureShape.new(name: 'UnsupportedOperation')
119
152
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
120
153
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
@@ -169,6 +202,19 @@ module Aws::FSx
169
202
  BadRequest.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
170
203
  BadRequest.struct_class = Types::BadRequest
171
204
 
205
+ CancelDataRepositoryTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: TaskId, required: true, location_name: "TaskId"))
206
+ CancelDataRepositoryTaskRequest.struct_class = Types::CancelDataRepositoryTaskRequest
207
+
208
+ CancelDataRepositoryTaskResponse.add_member(:lifecycle, Shapes::ShapeRef.new(shape: DataRepositoryTaskLifecycle, location_name: "Lifecycle"))
209
+ CancelDataRepositoryTaskResponse.add_member(:task_id, Shapes::ShapeRef.new(shape: TaskId, location_name: "TaskId"))
210
+ CancelDataRepositoryTaskResponse.struct_class = Types::CancelDataRepositoryTaskResponse
211
+
212
+ CompletionReport.add_member(:enabled, Shapes::ShapeRef.new(shape: Flag, required: true, location_name: "Enabled"))
213
+ CompletionReport.add_member(:path, Shapes::ShapeRef.new(shape: ArchivePath, location_name: "Path"))
214
+ CompletionReport.add_member(:format, Shapes::ShapeRef.new(shape: ReportFormat, location_name: "Format"))
215
+ CompletionReport.add_member(:scope, Shapes::ShapeRef.new(shape: ReportScope, location_name: "Scope"))
216
+ CompletionReport.struct_class = Types::CompletionReport
217
+
172
218
  CreateBackupRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location_name: "FileSystemId"))
173
219
  CreateBackupRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, location_name: "ClientRequestToken", metadata: {"idempotencyToken"=>true}))
174
220
  CreateBackupRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
@@ -177,6 +223,17 @@ module Aws::FSx
177
223
  CreateBackupResponse.add_member(:backup, Shapes::ShapeRef.new(shape: Backup, location_name: "Backup"))
178
224
  CreateBackupResponse.struct_class = Types::CreateBackupResponse
179
225
 
226
+ CreateDataRepositoryTaskRequest.add_member(:type, Shapes::ShapeRef.new(shape: DataRepositoryTaskType, required: true, location_name: "Type"))
227
+ CreateDataRepositoryTaskRequest.add_member(:paths, Shapes::ShapeRef.new(shape: DataRepositoryTaskPaths, location_name: "Paths"))
228
+ CreateDataRepositoryTaskRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location_name: "FileSystemId"))
229
+ CreateDataRepositoryTaskRequest.add_member(:report, Shapes::ShapeRef.new(shape: CompletionReport, required: true, location_name: "Report"))
230
+ CreateDataRepositoryTaskRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, location_name: "ClientRequestToken", metadata: {"idempotencyToken"=>true}))
231
+ CreateDataRepositoryTaskRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
232
+ CreateDataRepositoryTaskRequest.struct_class = Types::CreateDataRepositoryTaskRequest
233
+
234
+ CreateDataRepositoryTaskResponse.add_member(:data_repository_task, Shapes::ShapeRef.new(shape: DataRepositoryTask, location_name: "DataRepositoryTask"))
235
+ CreateDataRepositoryTaskResponse.struct_class = Types::CreateDataRepositoryTaskResponse
236
+
180
237
  CreateFileSystemFromBackupRequest.add_member(:backup_id, Shapes::ShapeRef.new(shape: BackupId, required: true, location_name: "BackupId"))
181
238
  CreateFileSystemFromBackupRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, location_name: "ClientRequestToken", metadata: {"idempotencyToken"=>true}))
182
239
  CreateFileSystemFromBackupRequest.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIds, required: true, location_name: "SubnetIds"))
@@ -224,6 +281,51 @@ module Aws::FSx
224
281
  DataRepositoryConfiguration.add_member(:imported_file_chunk_size, Shapes::ShapeRef.new(shape: Megabytes, location_name: "ImportedFileChunkSize"))
225
282
  DataRepositoryConfiguration.struct_class = Types::DataRepositoryConfiguration
226
283
 
284
+ DataRepositoryTask.add_member(:task_id, Shapes::ShapeRef.new(shape: TaskId, required: true, location_name: "TaskId"))
285
+ DataRepositoryTask.add_member(:lifecycle, Shapes::ShapeRef.new(shape: DataRepositoryTaskLifecycle, required: true, location_name: "Lifecycle"))
286
+ DataRepositoryTask.add_member(:type, Shapes::ShapeRef.new(shape: DataRepositoryTaskType, required: true, location_name: "Type"))
287
+ DataRepositoryTask.add_member(:creation_time, Shapes::ShapeRef.new(shape: CreationTime, required: true, location_name: "CreationTime"))
288
+ DataRepositoryTask.add_member(:start_time, Shapes::ShapeRef.new(shape: StartTime, location_name: "StartTime"))
289
+ DataRepositoryTask.add_member(:end_time, Shapes::ShapeRef.new(shape: EndTime, location_name: "EndTime"))
290
+ DataRepositoryTask.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ResourceARN"))
291
+ DataRepositoryTask.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
292
+ DataRepositoryTask.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location_name: "FileSystemId"))
293
+ DataRepositoryTask.add_member(:paths, Shapes::ShapeRef.new(shape: DataRepositoryTaskPaths, location_name: "Paths"))
294
+ DataRepositoryTask.add_member(:failure_details, Shapes::ShapeRef.new(shape: DataRepositoryTaskFailureDetails, location_name: "FailureDetails"))
295
+ DataRepositoryTask.add_member(:status, Shapes::ShapeRef.new(shape: DataRepositoryTaskStatus, location_name: "Status"))
296
+ DataRepositoryTask.add_member(:report, Shapes::ShapeRef.new(shape: CompletionReport, location_name: "Report"))
297
+ DataRepositoryTask.struct_class = Types::DataRepositoryTask
298
+
299
+ DataRepositoryTaskEnded.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
300
+ DataRepositoryTaskEnded.struct_class = Types::DataRepositoryTaskEnded
301
+
302
+ DataRepositoryTaskExecuting.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
303
+ DataRepositoryTaskExecuting.struct_class = Types::DataRepositoryTaskExecuting
304
+
305
+ DataRepositoryTaskFailureDetails.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
306
+ DataRepositoryTaskFailureDetails.struct_class = Types::DataRepositoryTaskFailureDetails
307
+
308
+ DataRepositoryTaskFilter.add_member(:name, Shapes::ShapeRef.new(shape: DataRepositoryTaskFilterName, location_name: "Name"))
309
+ DataRepositoryTaskFilter.add_member(:values, Shapes::ShapeRef.new(shape: DataRepositoryTaskFilterValues, location_name: "Values"))
310
+ DataRepositoryTaskFilter.struct_class = Types::DataRepositoryTaskFilter
311
+
312
+ DataRepositoryTaskFilterValues.member = Shapes::ShapeRef.new(shape: DataRepositoryTaskFilterValue)
313
+
314
+ DataRepositoryTaskFilters.member = Shapes::ShapeRef.new(shape: DataRepositoryTaskFilter)
315
+
316
+ DataRepositoryTaskNotFound.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
317
+ DataRepositoryTaskNotFound.struct_class = Types::DataRepositoryTaskNotFound
318
+
319
+ DataRepositoryTaskPaths.member = Shapes::ShapeRef.new(shape: DataRepositoryTaskPath)
320
+
321
+ DataRepositoryTaskStatus.add_member(:total_count, Shapes::ShapeRef.new(shape: TotalCount, location_name: "TotalCount"))
322
+ DataRepositoryTaskStatus.add_member(:succeeded_count, Shapes::ShapeRef.new(shape: SucceededCount, location_name: "SucceededCount"))
323
+ DataRepositoryTaskStatus.add_member(:failed_count, Shapes::ShapeRef.new(shape: FailedCount, location_name: "FailedCount"))
324
+ DataRepositoryTaskStatus.add_member(:last_updated_time, Shapes::ShapeRef.new(shape: LastUpdatedTime, location_name: "LastUpdatedTime"))
325
+ DataRepositoryTaskStatus.struct_class = Types::DataRepositoryTaskStatus
326
+
327
+ DataRepositoryTasks.member = Shapes::ShapeRef.new(shape: DataRepositoryTask)
328
+
227
329
  DeleteBackupRequest.add_member(:backup_id, Shapes::ShapeRef.new(shape: BackupId, required: true, location_name: "BackupId"))
228
330
  DeleteBackupRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, location_name: "ClientRequestToken", metadata: {"idempotencyToken"=>true}))
229
331
  DeleteBackupRequest.struct_class = Types::DeleteBackupRequest
@@ -260,6 +362,16 @@ module Aws::FSx
260
362
  DescribeBackupsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
261
363
  DescribeBackupsResponse.struct_class = Types::DescribeBackupsResponse
262
364
 
365
+ DescribeDataRepositoryTasksRequest.add_member(:task_ids, Shapes::ShapeRef.new(shape: TaskIds, location_name: "TaskIds"))
366
+ DescribeDataRepositoryTasksRequest.add_member(:filters, Shapes::ShapeRef.new(shape: DataRepositoryTaskFilters, location_name: "Filters"))
367
+ DescribeDataRepositoryTasksRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
368
+ DescribeDataRepositoryTasksRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
369
+ DescribeDataRepositoryTasksRequest.struct_class = Types::DescribeDataRepositoryTasksRequest
370
+
371
+ DescribeDataRepositoryTasksResponse.add_member(:data_repository_tasks, Shapes::ShapeRef.new(shape: DataRepositoryTasks, location_name: "DataRepositoryTasks"))
372
+ DescribeDataRepositoryTasksResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
373
+ DescribeDataRepositoryTasksResponse.struct_class = Types::DescribeDataRepositoryTasksResponse
374
+
263
375
  DescribeFileSystemsRequest.add_member(:file_system_ids, Shapes::ShapeRef.new(shape: FileSystemIds, location_name: "FileSystemIds"))
264
376
  DescribeFileSystemsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
265
377
  DescribeFileSystemsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
@@ -399,6 +511,8 @@ module Aws::FSx
399
511
 
400
512
  Tags.member = Shapes::ShapeRef.new(shape: Tag)
401
513
 
514
+ TaskIds.member = Shapes::ShapeRef.new(shape: TaskId)
515
+
402
516
  UnsupportedOperation.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
403
517
  UnsupportedOperation.struct_class = Types::UnsupportedOperation
404
518
 
@@ -458,6 +572,19 @@ module Aws::FSx
458
572
  "uid" => "fsx-2018-03-01",
459
573
  }
460
574
 
575
+ api.add_operation(:cancel_data_repository_task, Seahorse::Model::Operation.new.tap do |o|
576
+ o.name = "CancelDataRepositoryTask"
577
+ o.http_method = "POST"
578
+ o.http_request_uri = "/"
579
+ o.input = Shapes::ShapeRef.new(shape: CancelDataRepositoryTaskRequest)
580
+ o.output = Shapes::ShapeRef.new(shape: CancelDataRepositoryTaskResponse)
581
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
582
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
583
+ o.errors << Shapes::ShapeRef.new(shape: DataRepositoryTaskNotFound)
584
+ o.errors << Shapes::ShapeRef.new(shape: DataRepositoryTaskEnded)
585
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
586
+ end)
587
+
461
588
  api.add_operation(:create_backup, Seahorse::Model::Operation.new.tap do |o|
462
589
  o.name = "CreateBackup"
463
590
  o.http_method = "POST"
@@ -473,6 +600,21 @@ module Aws::FSx
473
600
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
474
601
  end)
475
602
 
603
+ api.add_operation(:create_data_repository_task, Seahorse::Model::Operation.new.tap do |o|
604
+ o.name = "CreateDataRepositoryTask"
605
+ o.http_method = "POST"
606
+ o.http_request_uri = "/"
607
+ o.input = Shapes::ShapeRef.new(shape: CreateDataRepositoryTaskRequest)
608
+ o.output = Shapes::ShapeRef.new(shape: CreateDataRepositoryTaskResponse)
609
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
610
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
611
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
612
+ o.errors << Shapes::ShapeRef.new(shape: IncompatibleParameterError)
613
+ o.errors << Shapes::ShapeRef.new(shape: ServiceLimitExceeded)
614
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
615
+ o.errors << Shapes::ShapeRef.new(shape: DataRepositoryTaskExecuting)
616
+ end)
617
+
476
618
  api.add_operation(:create_file_system, Seahorse::Model::Operation.new.tap do |o|
477
619
  o.name = "CreateFileSystem"
478
620
  o.http_method = "POST"
@@ -551,6 +693,24 @@ module Aws::FSx
551
693
  )
552
694
  end)
553
695
 
696
+ api.add_operation(:describe_data_repository_tasks, Seahorse::Model::Operation.new.tap do |o|
697
+ o.name = "DescribeDataRepositoryTasks"
698
+ o.http_method = "POST"
699
+ o.http_request_uri = "/"
700
+ o.input = Shapes::ShapeRef.new(shape: DescribeDataRepositoryTasksRequest)
701
+ o.output = Shapes::ShapeRef.new(shape: DescribeDataRepositoryTasksResponse)
702
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
703
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
704
+ o.errors << Shapes::ShapeRef.new(shape: DataRepositoryTaskNotFound)
705
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
706
+ o[:pager] = Aws::Pager.new(
707
+ limit_key: "max_results",
708
+ tokens: {
709
+ "next_token" => "next_token"
710
+ }
711
+ )
712
+ end)
713
+
554
714
  api.add_operation(:describe_file_systems, Seahorse::Model::Operation.new.tap do |o|
555
715
  o.name = "DescribeFileSystems"
556
716
  o.http_method = "POST"
@@ -105,6 +105,54 @@ module Aws::FSx
105
105
 
106
106
  end
107
107
 
108
+ class DataRepositoryTaskEnded < ServiceError
109
+
110
+ # @param [Seahorse::Client::RequestContext] context
111
+ # @param [String] message
112
+ # @param [Aws::FSx::Types::DataRepositoryTaskEnded] data
113
+ def initialize(context, message, data = Aws::EmptyStructure.new)
114
+ super(context, message, data)
115
+ end
116
+
117
+ # @return [String]
118
+ def message
119
+ @message || @data[:message]
120
+ end
121
+
122
+ end
123
+
124
+ class DataRepositoryTaskExecuting < ServiceError
125
+
126
+ # @param [Seahorse::Client::RequestContext] context
127
+ # @param [String] message
128
+ # @param [Aws::FSx::Types::DataRepositoryTaskExecuting] data
129
+ def initialize(context, message, data = Aws::EmptyStructure.new)
130
+ super(context, message, data)
131
+ end
132
+
133
+ # @return [String]
134
+ def message
135
+ @message || @data[:message]
136
+ end
137
+
138
+ end
139
+
140
+ class DataRepositoryTaskNotFound < ServiceError
141
+
142
+ # @param [Seahorse::Client::RequestContext] context
143
+ # @param [String] message
144
+ # @param [Aws::FSx::Types::DataRepositoryTaskNotFound] data
145
+ def initialize(context, message, data = Aws::EmptyStructure.new)
146
+ super(context, message, data)
147
+ end
148
+
149
+ # @return [String]
150
+ def message
151
+ @message || @data[:message]
152
+ end
153
+
154
+ end
155
+
108
156
  class FileSystemNotFound < ServiceError
109
157
 
110
158
  # @param [Seahorse::Client::RequestContext] context
@@ -80,7 +80,8 @@ module Aws::FSx
80
80
  #
81
81
  # @!attribute [rw] kms_key_id
82
82
  # The ID of the AWS Key Management Service (AWS KMS) key used to
83
- # encrypt this backup's data.
83
+ # encrypt this backup of the Amazon FSx for Windows file system's
84
+ # data at rest. Amazon FSx for Lustre does not support KMS encryption.
84
85
  # @return [String]
85
86
  #
86
87
  # @!attribute [rw] resource_arn
@@ -191,6 +192,119 @@ module Aws::FSx
191
192
  include Aws::Structure
192
193
  end
193
194
 
195
+ # Cancels a data repository task.
196
+ #
197
+ # @note When making an API call, you may pass CancelDataRepositoryTaskRequest
198
+ # data as a hash:
199
+ #
200
+ # {
201
+ # task_id: "TaskId", # required
202
+ # }
203
+ #
204
+ # @!attribute [rw] task_id
205
+ # Specifies the data repository task to cancel.
206
+ # @return [String]
207
+ #
208
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CancelDataRepositoryTaskRequest AWS API Documentation
209
+ #
210
+ class CancelDataRepositoryTaskRequest < Struct.new(
211
+ :task_id)
212
+ include Aws::Structure
213
+ end
214
+
215
+ # @!attribute [rw] lifecycle
216
+ # The lifecycle status of the data repository task, as follows:
217
+ #
218
+ # * `PENDING` - Amazon FSx has not started the task.
219
+ #
220
+ # * `EXECUTING` - Amazon FSx is processing the task.
221
+ #
222
+ # * `FAILED` - Amazon FSx was not able to complete the task. For
223
+ # example, there may be files the task failed to process. The
224
+ # DataRepositoryTaskFailureDetails property provides more
225
+ # information about task failures.
226
+ #
227
+ # * `SUCCEEDED` - FSx completed the task successfully.
228
+ #
229
+ # * `CANCELED` - Amazon FSx canceled the task and it did not complete.
230
+ #
231
+ # * `CANCELING` - FSx is in process of canceling the task.
232
+ # @return [String]
233
+ #
234
+ # @!attribute [rw] task_id
235
+ # The ID of the task being canceled.
236
+ # @return [String]
237
+ #
238
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CancelDataRepositoryTaskResponse AWS API Documentation
239
+ #
240
+ class CancelDataRepositoryTaskResponse < Struct.new(
241
+ :lifecycle,
242
+ :task_id)
243
+ include Aws::Structure
244
+ end
245
+
246
+ # Provides a report detailing the data repository task results of the
247
+ # files processed that match the criteria specified in the report
248
+ # `Scope` parameter. FSx delivers the report to the file system's
249
+ # linked data repository in Amazon S3, using the path specified in the
250
+ # report `Path` parameter. You can specify whether or not a report gets
251
+ # generated for a task using the `Enabled` parameter.
252
+ #
253
+ # @note When making an API call, you may pass CompletionReport
254
+ # data as a hash:
255
+ #
256
+ # {
257
+ # enabled: false, # required
258
+ # path: "ArchivePath",
259
+ # format: "REPORT_CSV_20191124", # accepts REPORT_CSV_20191124
260
+ # scope: "FAILED_FILES_ONLY", # accepts FAILED_FILES_ONLY
261
+ # }
262
+ #
263
+ # @!attribute [rw] enabled
264
+ # Set `Enabled` to `True` to generate a `CompletionReport` when the
265
+ # task completes. If set to `true`, then you need to provide a report
266
+ # `Scope`, `Path`, and `Format`. Set `Enabled` to `False` if you do
267
+ # not want a `CompletionReport` generated when the task completes.
268
+ # @return [Boolean]
269
+ #
270
+ # @!attribute [rw] path
271
+ # Required if `Enabled` is set to `true`. Specifies the location of
272
+ # the report on the file system's linked S3 data repository. An
273
+ # absolute path that defines where the completion report will be
274
+ # stored in the destination location. The `Path` you provide must be
275
+ # located within the file system’s ExportPath. An example `Path` value
276
+ # is "s3://myBucket/myExportPath/optionalPrefix". The report
277
+ # provides the following information for each file in the report:
278
+ # FilePath, FileStatus, and ErrorCode. To learn more about a file
279
+ # system's `ExportPath`, see .
280
+ # @return [String]
281
+ #
282
+ # @!attribute [rw] format
283
+ # Required if `Enabled` is set to `true`. Specifies the format of the
284
+ # `CompletionReport`. `REPORT_CSV_20191124` is the only format
285
+ # currently supported. When `Format` is set to `REPORT_CSV_20191124`,
286
+ # the `CompletionReport` is provided in CSV format, and is delivered
287
+ # to `\{path\}/task-\{id\}/failures.csv`.
288
+ # @return [String]
289
+ #
290
+ # @!attribute [rw] scope
291
+ # Required if `Enabled` is set to `true`. Specifies the scope of the
292
+ # `CompletionReport`; `FAILED_FILES_ONLY` is the only scope currently
293
+ # supported. When `Scope` is set to `FAILED_FILES_ONLY`, the
294
+ # `CompletionReport` only contains information about files that the
295
+ # data repository task failed to process.
296
+ # @return [String]
297
+ #
298
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CompletionReport AWS API Documentation
299
+ #
300
+ class CompletionReport < Struct.new(
301
+ :enabled,
302
+ :path,
303
+ :format,
304
+ :scope)
305
+ include Aws::Structure
306
+ end
307
+
194
308
  # The request object for the `CreateBackup` operation.
195
309
  #
196
310
  # @note When making an API call, you may pass CreateBackupRequest
@@ -248,6 +362,86 @@ module Aws::FSx
248
362
  include Aws::Structure
249
363
  end
250
364
 
365
+ # @note When making an API call, you may pass CreateDataRepositoryTaskRequest
366
+ # data as a hash:
367
+ #
368
+ # {
369
+ # type: "EXPORT_TO_REPOSITORY", # required, accepts EXPORT_TO_REPOSITORY
370
+ # paths: ["DataRepositoryTaskPath"],
371
+ # file_system_id: "FileSystemId", # required
372
+ # report: { # required
373
+ # enabled: false, # required
374
+ # path: "ArchivePath",
375
+ # format: "REPORT_CSV_20191124", # accepts REPORT_CSV_20191124
376
+ # scope: "FAILED_FILES_ONLY", # accepts FAILED_FILES_ONLY
377
+ # },
378
+ # client_request_token: "ClientRequestToken",
379
+ # tags: [
380
+ # {
381
+ # key: "TagKey",
382
+ # value: "TagValue",
383
+ # },
384
+ # ],
385
+ # }
386
+ #
387
+ # @!attribute [rw] type
388
+ # Specifies the type of data repository task to create.
389
+ # @return [String]
390
+ #
391
+ # @!attribute [rw] paths
392
+ # (Optional) The path or paths on the Amazon FSx file system to use
393
+ # when the data repository task is processed. The default path is the
394
+ # file system root directory.
395
+ # @return [Array<String>]
396
+ #
397
+ # @!attribute [rw] file_system_id
398
+ # The globally unique ID of the file system, assigned by Amazon FSx.
399
+ # @return [String]
400
+ #
401
+ # @!attribute [rw] report
402
+ # Defines whether or not Amazon FSx provides a CompletionReport once
403
+ # the task has completed. A CompletionReport provides a detailed
404
+ # report on the files that Amazon FSx processed that meet the criteria
405
+ # specified by the `Scope` parameter.
406
+ # @return [Types::CompletionReport]
407
+ #
408
+ # @!attribute [rw] client_request_token
409
+ # (Optional) An idempotency token for resource creation, in a string
410
+ # of up to 64 ASCII characters. This token is automatically filled on
411
+ # your behalf when you use the AWS Command Line Interface (AWS CLI) or
412
+ # an AWS SDK.
413
+ #
414
+ # **A suitable default value is auto-generated.** You should normally
415
+ # not need to pass this option.
416
+ # @return [String]
417
+ #
418
+ # @!attribute [rw] tags
419
+ # A list of `Tag` values, with a maximum of 50 elements.
420
+ # @return [Array<Types::Tag>]
421
+ #
422
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateDataRepositoryTaskRequest AWS API Documentation
423
+ #
424
+ class CreateDataRepositoryTaskRequest < Struct.new(
425
+ :type,
426
+ :paths,
427
+ :file_system_id,
428
+ :report,
429
+ :client_request_token,
430
+ :tags)
431
+ include Aws::Structure
432
+ end
433
+
434
+ # @!attribute [rw] data_repository_task
435
+ # The description of the data repository task that you just created.
436
+ # @return [Types::DataRepositoryTask]
437
+ #
438
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateDataRepositoryTaskResponse AWS API Documentation
439
+ #
440
+ class CreateDataRepositoryTaskResponse < Struct.new(
441
+ :data_repository_task)
442
+ include Aws::Structure
443
+ end
444
+
251
445
  # The request object for the `CreateFileSystemFromBackup` operation.
252
446
  #
253
447
  # @note When making an API call, you may pass CreateFileSystemFromBackupRequest
@@ -511,10 +705,11 @@ module Aws::FSx
511
705
  # @return [Array<Types::Tag>]
512
706
  #
513
707
  # @!attribute [rw] kms_key_id
514
- # The ID of your AWS Key Management Service (AWS KMS) key. This ID is
515
- # used to encrypt the data in your file system at rest. For more
516
- # information, see [Encrypt][1] in the *AWS Key Management Service API
517
- # Reference*.
708
+ # 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
712
+ # Key Management Service API Reference*.
518
713
  #
519
714
  #
520
715
  #
@@ -710,6 +905,261 @@ module Aws::FSx
710
905
  include Aws::Structure
711
906
  end
712
907
 
908
+ # A description of the data repository task. You use data repository
909
+ # tasks to perform bulk transfer operations between your Amazon FSx file
910
+ # system and its linked data repository.
911
+ #
912
+ # @!attribute [rw] task_id
913
+ # The system-generated, unique 17-digit ID of the data repository
914
+ # task.
915
+ # @return [String]
916
+ #
917
+ # @!attribute [rw] lifecycle
918
+ # The lifecycle status of the data repository task, as follows:
919
+ #
920
+ # * `PENDING` - Amazon FSx has not started the task.
921
+ #
922
+ # * `EXECUTING` - Amazon FSx is processing the task.
923
+ #
924
+ # * `FAILED` - Amazon FSx was not able to complete the task. For
925
+ # example, there may be files the task failed to process. The
926
+ # DataRepositoryTaskFailureDetails property provides more
927
+ # information about task failures.
928
+ #
929
+ # * `SUCCEEDED` - FSx completed the task successfully.
930
+ #
931
+ # * `CANCELED` - Amazon FSx canceled the task and it did not complete.
932
+ #
933
+ # * `CANCELING` - FSx is in process of canceling the task.
934
+ #
935
+ # <note markdown="1"> You cannot delete an FSx for Lustre file system if there are data
936
+ # repository tasks for the file system in the `PENDING` or `EXECUTING`
937
+ # states. Please retry when the data repository task is finished (with
938
+ # a status of `CANCELED`, `SUCCEEDED`, or `FAILED`). You can use the
939
+ # DescribeDataRepositoryTask action to monitor the task status.
940
+ # Contact the FSx team if you need to delete your file system
941
+ # immediately.
942
+ #
943
+ # </note>
944
+ # @return [String]
945
+ #
946
+ # @!attribute [rw] type
947
+ # The type of data repository task; EXPORT\_TO\_REPOSITORY is the only
948
+ # type currently supported.
949
+ # @return [String]
950
+ #
951
+ # @!attribute [rw] creation_time
952
+ # The time that the resource was created, in seconds (since
953
+ # 1970-01-01T00:00:00Z), also known as Unix time.
954
+ # @return [Time]
955
+ #
956
+ # @!attribute [rw] start_time
957
+ # The time that Amazon FSx began processing the task.
958
+ # @return [Time]
959
+ #
960
+ # @!attribute [rw] end_time
961
+ # The time that Amazon FSx completed processing the task, populated
962
+ # after the task is complete.
963
+ # @return [Time]
964
+ #
965
+ # @!attribute [rw] resource_arn
966
+ # The Amazon Resource Name (ARN) for a given resource. ARNs uniquely
967
+ # identify AWS resources. We require an ARN when you need to specify a
968
+ # resource unambiguously across all of AWS. For more information, see
969
+ # [Amazon Resource Names (ARNs) and AWS Service Namespaces][1] in the
970
+ # *AWS General Reference*.
971
+ #
972
+ #
973
+ #
974
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
975
+ # @return [String]
976
+ #
977
+ # @!attribute [rw] tags
978
+ # A list of `Tag` values, with a maximum of 50 elements.
979
+ # @return [Array<Types::Tag>]
980
+ #
981
+ # @!attribute [rw] file_system_id
982
+ # The globally unique ID of the file system, assigned by Amazon FSx.
983
+ # @return [String]
984
+ #
985
+ # @!attribute [rw] paths
986
+ # An array of paths on the Amazon FSx for Lustre file system that
987
+ # specify the data for the data repository task to process. For
988
+ # example, in an EXPORT\_TO\_REPOSITORY task, the paths specify which
989
+ # data to export to the linked data repository.
990
+ #
991
+ # (Default) If `Paths` is not specified, Amazon FSx uses the file
992
+ # system root directory.
993
+ # @return [Array<String>]
994
+ #
995
+ # @!attribute [rw] failure_details
996
+ # Failure message describing why the task failed, it is populated only
997
+ # when `Lifecycle` is set to `FAILED`.
998
+ # @return [Types::DataRepositoryTaskFailureDetails]
999
+ #
1000
+ # @!attribute [rw] status
1001
+ # Provides the status of the number of files that the task has
1002
+ # processed successfully and failed to process.
1003
+ # @return [Types::DataRepositoryTaskStatus]
1004
+ #
1005
+ # @!attribute [rw] report
1006
+ # Provides a report detailing the data repository task results of the
1007
+ # files processed that match the criteria specified in the report
1008
+ # `Scope` parameter. FSx delivers the report to the file system's
1009
+ # linked data repository in Amazon S3, using the path specified in the
1010
+ # report `Path` parameter. You can specify whether or not a report
1011
+ # gets generated for a task using the `Enabled` parameter.
1012
+ # @return [Types::CompletionReport]
1013
+ #
1014
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DataRepositoryTask AWS API Documentation
1015
+ #
1016
+ class DataRepositoryTask < Struct.new(
1017
+ :task_id,
1018
+ :lifecycle,
1019
+ :type,
1020
+ :creation_time,
1021
+ :start_time,
1022
+ :end_time,
1023
+ :resource_arn,
1024
+ :tags,
1025
+ :file_system_id,
1026
+ :paths,
1027
+ :failure_details,
1028
+ :status,
1029
+ :report)
1030
+ include Aws::Structure
1031
+ end
1032
+
1033
+ # The data repository task could not be canceled because the task has
1034
+ # already ended.
1035
+ #
1036
+ # @!attribute [rw] message
1037
+ # A detailed error message.
1038
+ # @return [String]
1039
+ #
1040
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DataRepositoryTaskEnded AWS API Documentation
1041
+ #
1042
+ class DataRepositoryTaskEnded < Struct.new(
1043
+ :message)
1044
+ include Aws::Structure
1045
+ end
1046
+
1047
+ # An existing data repository task is currently executing on the file
1048
+ # system. Wait until the existing task has completed, then create the
1049
+ # new task.
1050
+ #
1051
+ # @!attribute [rw] message
1052
+ # A detailed error message.
1053
+ # @return [String]
1054
+ #
1055
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DataRepositoryTaskExecuting AWS API Documentation
1056
+ #
1057
+ class DataRepositoryTaskExecuting < Struct.new(
1058
+ :message)
1059
+ include Aws::Structure
1060
+ end
1061
+
1062
+ # Provides information about why a data repository task failed. Only
1063
+ # populated when the task `Lifecycle` is set to `FAILED`.
1064
+ #
1065
+ # @!attribute [rw] message
1066
+ # A detailed error message.
1067
+ # @return [String]
1068
+ #
1069
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DataRepositoryTaskFailureDetails AWS API Documentation
1070
+ #
1071
+ class DataRepositoryTaskFailureDetails < Struct.new(
1072
+ :message)
1073
+ include Aws::Structure
1074
+ end
1075
+
1076
+ # (Optional) An array of filter objects you can use to filter the
1077
+ # response of data repository tasks you will see in the the response.
1078
+ # You can filter the tasks returned in the response by one or more file
1079
+ # system IDs, task lifecycles, and by task type. A filter object
1080
+ # consists of a filter `Name`, and one or more `Values` for the filter.
1081
+ #
1082
+ # @note When making an API call, you may pass DataRepositoryTaskFilter
1083
+ # data as a hash:
1084
+ #
1085
+ # {
1086
+ # name: "file-system-id", # accepts file-system-id, task-lifecycle
1087
+ # values: ["DataRepositoryTaskFilterValue"],
1088
+ # }
1089
+ #
1090
+ # @!attribute [rw] name
1091
+ # Name of the task property to use in filtering the tasks returned in
1092
+ # the response.
1093
+ #
1094
+ # * Use `file-system-id` to retrieve data repository tasks for
1095
+ # specific file systems.
1096
+ #
1097
+ # * Use `task-lifecycle` to retrieve data repository tasks with one or
1098
+ # more specific lifecycle states, as follows: CANCELED, EXECUTING,
1099
+ # FAILED, PENDING, and SUCCEEDED.
1100
+ # @return [String]
1101
+ #
1102
+ # @!attribute [rw] values
1103
+ # Use Values to include the specific file system IDs and task
1104
+ # lifecycle states for the filters you are using.
1105
+ # @return [Array<String>]
1106
+ #
1107
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DataRepositoryTaskFilter AWS API Documentation
1108
+ #
1109
+ class DataRepositoryTaskFilter < Struct.new(
1110
+ :name,
1111
+ :values)
1112
+ include Aws::Structure
1113
+ end
1114
+
1115
+ # The data repository task or tasks you specified could not be found.
1116
+ #
1117
+ # @!attribute [rw] message
1118
+ # A detailed error message.
1119
+ # @return [String]
1120
+ #
1121
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DataRepositoryTaskNotFound AWS API Documentation
1122
+ #
1123
+ class DataRepositoryTaskNotFound < Struct.new(
1124
+ :message)
1125
+ include Aws::Structure
1126
+ end
1127
+
1128
+ # Provides the task status showing a running total of the total number
1129
+ # of files to be processed, the number successfully processed, and the
1130
+ # number of files the task failed to process.
1131
+ #
1132
+ # @!attribute [rw] total_count
1133
+ # The total number of files that the task will process. While a task
1134
+ # is executing, the sum of `SucceededCount` plus `FailedCount` may not
1135
+ # equal `TotalCount`. When the task is complete, `TotalCount` equals
1136
+ # the sum of `SucceededCount` plus `FailedCount`.
1137
+ # @return [Integer]
1138
+ #
1139
+ # @!attribute [rw] succeeded_count
1140
+ # A running total of the number of files that the task has
1141
+ # successfully processed.
1142
+ # @return [Integer]
1143
+ #
1144
+ # @!attribute [rw] failed_count
1145
+ # A running total of the number of files that the task failed to
1146
+ # process.
1147
+ # @return [Integer]
1148
+ #
1149
+ # @!attribute [rw] last_updated_time
1150
+ # The time at which the task status was last updated.
1151
+ # @return [Time]
1152
+ #
1153
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DataRepositoryTaskStatus AWS API Documentation
1154
+ #
1155
+ class DataRepositoryTaskStatus < Struct.new(
1156
+ :total_count,
1157
+ :succeeded_count,
1158
+ :failed_count,
1159
+ :last_updated_time)
1160
+ include Aws::Structure
1161
+ end
1162
+
713
1163
  # The request object for `DeleteBackup` operation.
714
1164
  #
715
1165
  # @note When making an API call, you may pass DeleteBackupRequest
@@ -957,6 +1407,73 @@ module Aws::FSx
957
1407
  include Aws::Structure
958
1408
  end
959
1409
 
1410
+ # @note When making an API call, you may pass DescribeDataRepositoryTasksRequest
1411
+ # data as a hash:
1412
+ #
1413
+ # {
1414
+ # task_ids: ["TaskId"],
1415
+ # filters: [
1416
+ # {
1417
+ # name: "file-system-id", # accepts file-system-id, task-lifecycle
1418
+ # values: ["DataRepositoryTaskFilterValue"],
1419
+ # },
1420
+ # ],
1421
+ # max_results: 1,
1422
+ # next_token: "NextToken",
1423
+ # }
1424
+ #
1425
+ # @!attribute [rw] task_ids
1426
+ # (Optional) IDs of the tasks whose descriptions you want to retrieve
1427
+ # (String).
1428
+ # @return [Array<String>]
1429
+ #
1430
+ # @!attribute [rw] filters
1431
+ # (Optional) You can use filters to narrow the
1432
+ # `DescribeDataRepositoryTasks` response to include just tasks for
1433
+ # specific file systems, or tasks in a specific lifecycle state.
1434
+ # @return [Array<Types::DataRepositoryTaskFilter>]
1435
+ #
1436
+ # @!attribute [rw] max_results
1437
+ # The maximum number of resources to return in the response. This
1438
+ # value must be an integer greater than zero.
1439
+ # @return [Integer]
1440
+ #
1441
+ # @!attribute [rw] next_token
1442
+ # (Optional) Opaque pagination token returned from a previous
1443
+ # operation (String). If present, this token indicates from what point
1444
+ # you can continue processing the request, where the previous
1445
+ # `NextToken` value left off.
1446
+ # @return [String]
1447
+ #
1448
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeDataRepositoryTasksRequest AWS API Documentation
1449
+ #
1450
+ class DescribeDataRepositoryTasksRequest < Struct.new(
1451
+ :task_ids,
1452
+ :filters,
1453
+ :max_results,
1454
+ :next_token)
1455
+ include Aws::Structure
1456
+ end
1457
+
1458
+ # @!attribute [rw] data_repository_tasks
1459
+ # The collection of data repository task descriptions returned.
1460
+ # @return [Array<Types::DataRepositoryTask>]
1461
+ #
1462
+ # @!attribute [rw] next_token
1463
+ # (Optional) Opaque pagination token returned from a previous
1464
+ # operation (String). If present, this token indicates from what point
1465
+ # you can continue processing the request, where the previous
1466
+ # `NextToken` value left off.
1467
+ # @return [String]
1468
+ #
1469
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeDataRepositoryTasksResponse AWS API Documentation
1470
+ #
1471
+ class DescribeDataRepositoryTasksResponse < Struct.new(
1472
+ :data_repository_tasks,
1473
+ :next_token)
1474
+ include Aws::Structure
1475
+ end
1476
+
960
1477
  # The request object for `DescribeFileSystems` operation.
961
1478
  #
962
1479
  # @note When making an API call, you may pass DescribeFileSystemsRequest
@@ -1101,7 +1618,8 @@ module Aws::FSx
1101
1618
  # @!attribute [rw] kms_key_id
1102
1619
  # The ID of the AWS Key Management Service (AWS KMS) key used to
1103
1620
  # encrypt the file system's data for an Amazon FSx for Windows File
1104
- # Server file system.
1621
+ # Server file system. Amazon FSx for Lustre does not support KMS
1622
+ # encryption.
1105
1623
  # @return [String]
1106
1624
  #
1107
1625
  # @!attribute [rw] resource_arn
@@ -1560,7 +2078,7 @@ module Aws::FSx
1560
2078
  # controllers in the self-managed AD directory. The IP addresses need
1561
2079
  # to be either in the same VPC CIDR range as the one in which your
1562
2080
  # Amazon FSx file system is being created, or in the private IP
1563
- # version 4 (Iv4) address ranges, as specified in [RFC 1918][1]\:
2081
+ # version 4 (IPv4) address ranges, as specified in [RFC 1918][1]\:
1564
2082
  #
1565
2083
  # * 10\.0.0.0 - 10.255.255.255 (10/8 prefix)
1566
2084
  #
@@ -1714,7 +2232,7 @@ module Aws::FSx
1714
2232
  #
1715
2233
  class TagResourceResponse < Aws::EmptyStructure; end
1716
2234
 
1717
- # An error occured.
2235
+ # The requested operation is not supported for this resource or API.
1718
2236
  #
1719
2237
  # @!attribute [rw] message
1720
2238
  # A detailed error message.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-fsx
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.13.0
4
+ version: 1.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-20 00:00:00.000000000 Z
11
+ date: 2019-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core