aws-sdk-fsx 1.13.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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