aws-sdk-datasync 1.22.0 → 1.27.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.
@@ -31,6 +31,8 @@ module Aws::DataSync
31
31
  CreateLocationFsxWindowsResponse = Shapes::StructureShape.new(name: 'CreateLocationFsxWindowsResponse')
32
32
  CreateLocationNfsRequest = Shapes::StructureShape.new(name: 'CreateLocationNfsRequest')
33
33
  CreateLocationNfsResponse = Shapes::StructureShape.new(name: 'CreateLocationNfsResponse')
34
+ CreateLocationObjectStorageRequest = Shapes::StructureShape.new(name: 'CreateLocationObjectStorageRequest')
35
+ CreateLocationObjectStorageResponse = Shapes::StructureShape.new(name: 'CreateLocationObjectStorageResponse')
34
36
  CreateLocationS3Request = Shapes::StructureShape.new(name: 'CreateLocationS3Request')
35
37
  CreateLocationS3Response = Shapes::StructureShape.new(name: 'CreateLocationS3Response')
36
38
  CreateLocationSmbRequest = Shapes::StructureShape.new(name: 'CreateLocationSmbRequest')
@@ -51,6 +53,8 @@ module Aws::DataSync
51
53
  DescribeLocationFsxWindowsResponse = Shapes::StructureShape.new(name: 'DescribeLocationFsxWindowsResponse')
52
54
  DescribeLocationNfsRequest = Shapes::StructureShape.new(name: 'DescribeLocationNfsRequest')
53
55
  DescribeLocationNfsResponse = Shapes::StructureShape.new(name: 'DescribeLocationNfsResponse')
56
+ DescribeLocationObjectStorageRequest = Shapes::StructureShape.new(name: 'DescribeLocationObjectStorageRequest')
57
+ DescribeLocationObjectStorageResponse = Shapes::StructureShape.new(name: 'DescribeLocationObjectStorageResponse')
54
58
  DescribeLocationS3Request = Shapes::StructureShape.new(name: 'DescribeLocationS3Request')
55
59
  DescribeLocationS3Response = Shapes::StructureShape.new(name: 'DescribeLocationS3Response')
56
60
  DescribeLocationSmbRequest = Shapes::StructureShape.new(name: 'DescribeLocationSmbRequest')
@@ -69,14 +73,17 @@ module Aws::DataSync
69
73
  EfsSubdirectory = Shapes::StringShape.new(name: 'EfsSubdirectory')
70
74
  Endpoint = Shapes::StringShape.new(name: 'Endpoint')
71
75
  EndpointType = Shapes::StringShape.new(name: 'EndpointType')
76
+ FilterAttributeValue = Shapes::StringShape.new(name: 'FilterAttributeValue')
72
77
  FilterList = Shapes::ListShape.new(name: 'FilterList')
73
78
  FilterRule = Shapes::StructureShape.new(name: 'FilterRule')
74
79
  FilterType = Shapes::StringShape.new(name: 'FilterType')
75
80
  FilterValue = Shapes::StringShape.new(name: 'FilterValue')
81
+ FilterValues = Shapes::ListShape.new(name: 'FilterValues')
76
82
  FsxFilesystemArn = Shapes::StringShape.new(name: 'FsxFilesystemArn')
77
83
  FsxWindowsSubdirectory = Shapes::StringShape.new(name: 'FsxWindowsSubdirectory')
78
84
  Gid = Shapes::StringShape.new(name: 'Gid')
79
85
  IamRoleArn = Shapes::StringShape.new(name: 'IamRoleArn')
86
+ InputTagList = Shapes::ListShape.new(name: 'InputTagList')
80
87
  InternalException = Shapes::StructureShape.new(name: 'InternalException')
81
88
  InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
82
89
  ListAgentsRequest = Shapes::StructureShape.new(name: 'ListAgentsRequest')
@@ -90,6 +97,9 @@ module Aws::DataSync
90
97
  ListTasksRequest = Shapes::StructureShape.new(name: 'ListTasksRequest')
91
98
  ListTasksResponse = Shapes::StructureShape.new(name: 'ListTasksResponse')
92
99
  LocationArn = Shapes::StringShape.new(name: 'LocationArn')
100
+ LocationFilter = Shapes::StructureShape.new(name: 'LocationFilter')
101
+ LocationFilterName = Shapes::StringShape.new(name: 'LocationFilterName')
102
+ LocationFilters = Shapes::ListShape.new(name: 'LocationFilters')
93
103
  LocationList = Shapes::ListShape.new(name: 'LocationList')
94
104
  LocationListEntry = Shapes::StructureShape.new(name: 'LocationListEntry')
95
105
  LocationUri = Shapes::StringShape.new(name: 'LocationUri')
@@ -102,8 +112,15 @@ module Aws::DataSync
102
112
  NfsMountOptions = Shapes::StructureShape.new(name: 'NfsMountOptions')
103
113
  NfsSubdirectory = Shapes::StringShape.new(name: 'NfsSubdirectory')
104
114
  NfsVersion = Shapes::StringShape.new(name: 'NfsVersion')
115
+ ObjectStorageAccessKey = Shapes::StringShape.new(name: 'ObjectStorageAccessKey')
116
+ ObjectStorageBucketName = Shapes::StringShape.new(name: 'ObjectStorageBucketName')
117
+ ObjectStorageSecretKey = Shapes::StringShape.new(name: 'ObjectStorageSecretKey')
118
+ ObjectStorageServerPort = Shapes::IntegerShape.new(name: 'ObjectStorageServerPort')
119
+ ObjectStorageServerProtocol = Shapes::StringShape.new(name: 'ObjectStorageServerProtocol')
105
120
  OnPremConfig = Shapes::StructureShape.new(name: 'OnPremConfig')
121
+ Operator = Shapes::StringShape.new(name: 'Operator')
106
122
  Options = Shapes::StructureShape.new(name: 'Options')
123
+ OutputTagList = Shapes::ListShape.new(name: 'OutputTagList')
107
124
  OverwriteMode = Shapes::StringShape.new(name: 'OverwriteMode')
108
125
  PLSecurityGroupArnList = Shapes::ListShape.new(name: 'PLSecurityGroupArnList')
109
126
  PLSubnetArnList = Shapes::ListShape.new(name: 'PLSubnetArnList')
@@ -129,7 +146,6 @@ module Aws::DataSync
129
146
  StartTaskExecutionResponse = Shapes::StructureShape.new(name: 'StartTaskExecutionResponse')
130
147
  TagKey = Shapes::StringShape.new(name: 'TagKey')
131
148
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
132
- TagList = Shapes::ListShape.new(name: 'TagList')
133
149
  TagListEntry = Shapes::StructureShape.new(name: 'TagListEntry')
134
150
  TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
135
151
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
@@ -141,12 +157,16 @@ module Aws::DataSync
141
157
  TaskExecutionListEntry = Shapes::StructureShape.new(name: 'TaskExecutionListEntry')
142
158
  TaskExecutionResultDetail = Shapes::StructureShape.new(name: 'TaskExecutionResultDetail')
143
159
  TaskExecutionStatus = Shapes::StringShape.new(name: 'TaskExecutionStatus')
160
+ TaskFilter = Shapes::StructureShape.new(name: 'TaskFilter')
161
+ TaskFilterName = Shapes::StringShape.new(name: 'TaskFilterName')
162
+ TaskFilters = Shapes::ListShape.new(name: 'TaskFilters')
144
163
  TaskList = Shapes::ListShape.new(name: 'TaskList')
145
164
  TaskListEntry = Shapes::StructureShape.new(name: 'TaskListEntry')
146
165
  TaskQueueing = Shapes::StringShape.new(name: 'TaskQueueing')
147
166
  TaskSchedule = Shapes::StructureShape.new(name: 'TaskSchedule')
148
167
  TaskStatus = Shapes::StringShape.new(name: 'TaskStatus')
149
168
  Time = Shapes::TimestampShape.new(name: 'Time')
169
+ TransferMode = Shapes::StringShape.new(name: 'TransferMode')
150
170
  Uid = Shapes::StringShape.new(name: 'Uid')
151
171
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
152
172
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
@@ -175,7 +195,7 @@ module Aws::DataSync
175
195
 
176
196
  CreateAgentRequest.add_member(:activation_key, Shapes::ShapeRef.new(shape: ActivationKey, required: true, location_name: "ActivationKey"))
177
197
  CreateAgentRequest.add_member(:agent_name, Shapes::ShapeRef.new(shape: TagValue, location_name: "AgentName"))
178
- CreateAgentRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
198
+ CreateAgentRequest.add_member(:tags, Shapes::ShapeRef.new(shape: InputTagList, location_name: "Tags"))
179
199
  CreateAgentRequest.add_member(:vpc_endpoint_id, Shapes::ShapeRef.new(shape: VpcEndpointId, location_name: "VpcEndpointId"))
180
200
  CreateAgentRequest.add_member(:subnet_arns, Shapes::ShapeRef.new(shape: PLSubnetArnList, location_name: "SubnetArns"))
181
201
  CreateAgentRequest.add_member(:security_group_arns, Shapes::ShapeRef.new(shape: PLSecurityGroupArnList, location_name: "SecurityGroupArns"))
@@ -187,7 +207,7 @@ module Aws::DataSync
187
207
  CreateLocationEfsRequest.add_member(:subdirectory, Shapes::ShapeRef.new(shape: EfsSubdirectory, location_name: "Subdirectory"))
188
208
  CreateLocationEfsRequest.add_member(:efs_filesystem_arn, Shapes::ShapeRef.new(shape: EfsFilesystemArn, required: true, location_name: "EfsFilesystemArn"))
189
209
  CreateLocationEfsRequest.add_member(:ec2_config, Shapes::ShapeRef.new(shape: Ec2Config, required: true, location_name: "Ec2Config"))
190
- CreateLocationEfsRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
210
+ CreateLocationEfsRequest.add_member(:tags, Shapes::ShapeRef.new(shape: InputTagList, location_name: "Tags"))
191
211
  CreateLocationEfsRequest.struct_class = Types::CreateLocationEfsRequest
192
212
 
193
213
  CreateLocationEfsResponse.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, location_name: "LocationArn"))
@@ -196,7 +216,7 @@ module Aws::DataSync
196
216
  CreateLocationFsxWindowsRequest.add_member(:subdirectory, Shapes::ShapeRef.new(shape: FsxWindowsSubdirectory, location_name: "Subdirectory"))
197
217
  CreateLocationFsxWindowsRequest.add_member(:fsx_filesystem_arn, Shapes::ShapeRef.new(shape: FsxFilesystemArn, required: true, location_name: "FsxFilesystemArn"))
198
218
  CreateLocationFsxWindowsRequest.add_member(:security_group_arns, Shapes::ShapeRef.new(shape: Ec2SecurityGroupArnList, required: true, location_name: "SecurityGroupArns"))
199
- CreateLocationFsxWindowsRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
219
+ CreateLocationFsxWindowsRequest.add_member(:tags, Shapes::ShapeRef.new(shape: InputTagList, location_name: "Tags"))
200
220
  CreateLocationFsxWindowsRequest.add_member(:user, Shapes::ShapeRef.new(shape: SmbUser, required: true, location_name: "User"))
201
221
  CreateLocationFsxWindowsRequest.add_member(:domain, Shapes::ShapeRef.new(shape: SmbDomain, location_name: "Domain"))
202
222
  CreateLocationFsxWindowsRequest.add_member(:password, Shapes::ShapeRef.new(shape: SmbPassword, required: true, location_name: "Password"))
@@ -209,17 +229,32 @@ module Aws::DataSync
209
229
  CreateLocationNfsRequest.add_member(:server_hostname, Shapes::ShapeRef.new(shape: ServerHostname, required: true, location_name: "ServerHostname"))
210
230
  CreateLocationNfsRequest.add_member(:on_prem_config, Shapes::ShapeRef.new(shape: OnPremConfig, required: true, location_name: "OnPremConfig"))
211
231
  CreateLocationNfsRequest.add_member(:mount_options, Shapes::ShapeRef.new(shape: NfsMountOptions, location_name: "MountOptions"))
212
- CreateLocationNfsRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
232
+ CreateLocationNfsRequest.add_member(:tags, Shapes::ShapeRef.new(shape: InputTagList, location_name: "Tags"))
213
233
  CreateLocationNfsRequest.struct_class = Types::CreateLocationNfsRequest
214
234
 
215
235
  CreateLocationNfsResponse.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, location_name: "LocationArn"))
216
236
  CreateLocationNfsResponse.struct_class = Types::CreateLocationNfsResponse
217
237
 
238
+ CreateLocationObjectStorageRequest.add_member(:server_hostname, Shapes::ShapeRef.new(shape: ServerHostname, required: true, location_name: "ServerHostname"))
239
+ CreateLocationObjectStorageRequest.add_member(:server_port, Shapes::ShapeRef.new(shape: ObjectStorageServerPort, location_name: "ServerPort"))
240
+ CreateLocationObjectStorageRequest.add_member(:server_protocol, Shapes::ShapeRef.new(shape: ObjectStorageServerProtocol, location_name: "ServerProtocol"))
241
+ CreateLocationObjectStorageRequest.add_member(:subdirectory, Shapes::ShapeRef.new(shape: S3Subdirectory, location_name: "Subdirectory"))
242
+ CreateLocationObjectStorageRequest.add_member(:bucket_name, Shapes::ShapeRef.new(shape: ObjectStorageBucketName, required: true, location_name: "BucketName"))
243
+ CreateLocationObjectStorageRequest.add_member(:access_key, Shapes::ShapeRef.new(shape: ObjectStorageAccessKey, location_name: "AccessKey"))
244
+ CreateLocationObjectStorageRequest.add_member(:secret_key, Shapes::ShapeRef.new(shape: ObjectStorageSecretKey, location_name: "SecretKey"))
245
+ CreateLocationObjectStorageRequest.add_member(:agent_arns, Shapes::ShapeRef.new(shape: AgentArnList, required: true, location_name: "AgentArns"))
246
+ CreateLocationObjectStorageRequest.add_member(:tags, Shapes::ShapeRef.new(shape: InputTagList, location_name: "Tags"))
247
+ CreateLocationObjectStorageRequest.struct_class = Types::CreateLocationObjectStorageRequest
248
+
249
+ CreateLocationObjectStorageResponse.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, location_name: "LocationArn"))
250
+ CreateLocationObjectStorageResponse.struct_class = Types::CreateLocationObjectStorageResponse
251
+
218
252
  CreateLocationS3Request.add_member(:subdirectory, Shapes::ShapeRef.new(shape: S3Subdirectory, location_name: "Subdirectory"))
219
253
  CreateLocationS3Request.add_member(:s3_bucket_arn, Shapes::ShapeRef.new(shape: S3BucketArn, required: true, location_name: "S3BucketArn"))
220
254
  CreateLocationS3Request.add_member(:s3_storage_class, Shapes::ShapeRef.new(shape: S3StorageClass, location_name: "S3StorageClass"))
221
255
  CreateLocationS3Request.add_member(:s3_config, Shapes::ShapeRef.new(shape: S3Config, required: true, location_name: "S3Config"))
222
- CreateLocationS3Request.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
256
+ CreateLocationS3Request.add_member(:agent_arns, Shapes::ShapeRef.new(shape: AgentArnList, location_name: "AgentArns"))
257
+ CreateLocationS3Request.add_member(:tags, Shapes::ShapeRef.new(shape: InputTagList, location_name: "Tags"))
223
258
  CreateLocationS3Request.struct_class = Types::CreateLocationS3Request
224
259
 
225
260
  CreateLocationS3Response.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, location_name: "LocationArn"))
@@ -232,7 +267,7 @@ module Aws::DataSync
232
267
  CreateLocationSmbRequest.add_member(:password, Shapes::ShapeRef.new(shape: SmbPassword, required: true, location_name: "Password"))
233
268
  CreateLocationSmbRequest.add_member(:agent_arns, Shapes::ShapeRef.new(shape: AgentArnList, required: true, location_name: "AgentArns"))
234
269
  CreateLocationSmbRequest.add_member(:mount_options, Shapes::ShapeRef.new(shape: SmbMountOptions, location_name: "MountOptions"))
235
- CreateLocationSmbRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
270
+ CreateLocationSmbRequest.add_member(:tags, Shapes::ShapeRef.new(shape: InputTagList, location_name: "Tags"))
236
271
  CreateLocationSmbRequest.struct_class = Types::CreateLocationSmbRequest
237
272
 
238
273
  CreateLocationSmbResponse.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, location_name: "LocationArn"))
@@ -245,7 +280,7 @@ module Aws::DataSync
245
280
  CreateTaskRequest.add_member(:options, Shapes::ShapeRef.new(shape: Options, location_name: "Options"))
246
281
  CreateTaskRequest.add_member(:excludes, Shapes::ShapeRef.new(shape: FilterList, location_name: "Excludes"))
247
282
  CreateTaskRequest.add_member(:schedule, Shapes::ShapeRef.new(shape: TaskSchedule, location_name: "Schedule"))
248
- CreateTaskRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
283
+ CreateTaskRequest.add_member(:tags, Shapes::ShapeRef.new(shape: InputTagList, location_name: "Tags"))
249
284
  CreateTaskRequest.struct_class = Types::CreateTaskRequest
250
285
 
251
286
  CreateTaskResponse.add_member(:task_arn, Shapes::ShapeRef.new(shape: TaskArn, location_name: "TaskArn"))
@@ -308,6 +343,18 @@ module Aws::DataSync
308
343
  DescribeLocationNfsResponse.add_member(:creation_time, Shapes::ShapeRef.new(shape: Time, location_name: "CreationTime"))
309
344
  DescribeLocationNfsResponse.struct_class = Types::DescribeLocationNfsResponse
310
345
 
346
+ DescribeLocationObjectStorageRequest.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, required: true, location_name: "LocationArn"))
347
+ DescribeLocationObjectStorageRequest.struct_class = Types::DescribeLocationObjectStorageRequest
348
+
349
+ DescribeLocationObjectStorageResponse.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, location_name: "LocationArn"))
350
+ DescribeLocationObjectStorageResponse.add_member(:location_uri, Shapes::ShapeRef.new(shape: LocationUri, location_name: "LocationUri"))
351
+ DescribeLocationObjectStorageResponse.add_member(:access_key, Shapes::ShapeRef.new(shape: ObjectStorageAccessKey, location_name: "AccessKey"))
352
+ DescribeLocationObjectStorageResponse.add_member(:server_port, Shapes::ShapeRef.new(shape: ObjectStorageServerPort, location_name: "ServerPort"))
353
+ DescribeLocationObjectStorageResponse.add_member(:server_protocol, Shapes::ShapeRef.new(shape: ObjectStorageServerProtocol, location_name: "ServerProtocol"))
354
+ DescribeLocationObjectStorageResponse.add_member(:agent_arns, Shapes::ShapeRef.new(shape: AgentArnList, location_name: "AgentArns"))
355
+ DescribeLocationObjectStorageResponse.add_member(:creation_time, Shapes::ShapeRef.new(shape: Time, location_name: "CreationTime"))
356
+ DescribeLocationObjectStorageResponse.struct_class = Types::DescribeLocationObjectStorageResponse
357
+
311
358
  DescribeLocationS3Request.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, required: true, location_name: "LocationArn"))
312
359
  DescribeLocationS3Request.struct_class = Types::DescribeLocationS3Request
313
360
 
@@ -315,6 +362,7 @@ module Aws::DataSync
315
362
  DescribeLocationS3Response.add_member(:location_uri, Shapes::ShapeRef.new(shape: LocationUri, location_name: "LocationUri"))
316
363
  DescribeLocationS3Response.add_member(:s3_storage_class, Shapes::ShapeRef.new(shape: S3StorageClass, location_name: "S3StorageClass"))
317
364
  DescribeLocationS3Response.add_member(:s3_config, Shapes::ShapeRef.new(shape: S3Config, location_name: "S3Config"))
365
+ DescribeLocationS3Response.add_member(:agent_arns, Shapes::ShapeRef.new(shape: AgentArnList, location_name: "AgentArns"))
318
366
  DescribeLocationS3Response.add_member(:creation_time, Shapes::ShapeRef.new(shape: Time, location_name: "CreationTime"))
319
367
  DescribeLocationS3Response.struct_class = Types::DescribeLocationS3Response
320
368
 
@@ -381,6 +429,10 @@ module Aws::DataSync
381
429
  FilterRule.add_member(:value, Shapes::ShapeRef.new(shape: FilterValue, location_name: "Value"))
382
430
  FilterRule.struct_class = Types::FilterRule
383
431
 
432
+ FilterValues.member = Shapes::ShapeRef.new(shape: FilterAttributeValue)
433
+
434
+ InputTagList.member = Shapes::ShapeRef.new(shape: TagListEntry)
435
+
384
436
  InternalException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
385
437
  InternalException.add_member(:error_code, Shapes::ShapeRef.new(shape: string, location_name: "errorCode"))
386
438
  InternalException.struct_class = Types::InternalException
@@ -399,6 +451,7 @@ module Aws::DataSync
399
451
 
400
452
  ListLocationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
401
453
  ListLocationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
454
+ ListLocationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: LocationFilters, location_name: "Filters"))
402
455
  ListLocationsRequest.struct_class = Types::ListLocationsRequest
403
456
 
404
457
  ListLocationsResponse.add_member(:locations, Shapes::ShapeRef.new(shape: LocationList, location_name: "Locations"))
@@ -410,7 +463,7 @@ module Aws::DataSync
410
463
  ListTagsForResourceRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
411
464
  ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
412
465
 
413
- ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
466
+ ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: OutputTagList, location_name: "Tags"))
414
467
  ListTagsForResourceResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
415
468
  ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
416
469
 
@@ -425,12 +478,20 @@ module Aws::DataSync
425
478
 
426
479
  ListTasksRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
427
480
  ListTasksRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
481
+ ListTasksRequest.add_member(:filters, Shapes::ShapeRef.new(shape: TaskFilters, location_name: "Filters"))
428
482
  ListTasksRequest.struct_class = Types::ListTasksRequest
429
483
 
430
484
  ListTasksResponse.add_member(:tasks, Shapes::ShapeRef.new(shape: TaskList, location_name: "Tasks"))
431
485
  ListTasksResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
432
486
  ListTasksResponse.struct_class = Types::ListTasksResponse
433
487
 
488
+ LocationFilter.add_member(:name, Shapes::ShapeRef.new(shape: LocationFilterName, required: true, location_name: "Name"))
489
+ LocationFilter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, required: true, location_name: "Values"))
490
+ LocationFilter.add_member(:operator, Shapes::ShapeRef.new(shape: Operator, required: true, location_name: "Operator"))
491
+ LocationFilter.struct_class = Types::LocationFilter
492
+
493
+ LocationFilters.member = Shapes::ShapeRef.new(shape: LocationFilter)
494
+
434
495
  LocationList.member = Shapes::ShapeRef.new(shape: LocationListEntry)
435
496
 
436
497
  LocationListEntry.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, location_name: "LocationArn"))
@@ -455,8 +516,11 @@ module Aws::DataSync
455
516
  Options.add_member(:bytes_per_second, Shapes::ShapeRef.new(shape: BytesPerSecond, location_name: "BytesPerSecond"))
456
517
  Options.add_member(:task_queueing, Shapes::ShapeRef.new(shape: TaskQueueing, location_name: "TaskQueueing"))
457
518
  Options.add_member(:log_level, Shapes::ShapeRef.new(shape: LogLevel, location_name: "LogLevel"))
519
+ Options.add_member(:transfer_mode, Shapes::ShapeRef.new(shape: TransferMode, location_name: "TransferMode"))
458
520
  Options.struct_class = Types::Options
459
521
 
522
+ OutputTagList.member = Shapes::ShapeRef.new(shape: TagListEntry)
523
+
460
524
  PLSecurityGroupArnList.member = Shapes::ShapeRef.new(shape: Ec2SecurityGroupArn)
461
525
 
462
526
  PLSubnetArnList.member = Shapes::ShapeRef.new(shape: Ec2SubnetArn)
@@ -485,14 +549,12 @@ module Aws::DataSync
485
549
 
486
550
  TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
487
551
 
488
- TagList.member = Shapes::ShapeRef.new(shape: TagListEntry)
489
-
490
552
  TagListEntry.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
491
553
  TagListEntry.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, location_name: "Value"))
492
554
  TagListEntry.struct_class = Types::TagListEntry
493
555
 
494
556
  TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: TaggableResourceArn, required: true, location_name: "ResourceArn"))
495
- TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, required: true, location_name: "Tags"))
557
+ TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: InputTagList, required: true, location_name: "Tags"))
496
558
  TagResourceRequest.struct_class = Types::TagResourceRequest
497
559
 
498
560
  TagResourceResponse.struct_class = Types::TagResourceResponse
@@ -514,6 +576,13 @@ module Aws::DataSync
514
576
  TaskExecutionResultDetail.add_member(:error_detail, Shapes::ShapeRef.new(shape: string, location_name: "ErrorDetail"))
515
577
  TaskExecutionResultDetail.struct_class = Types::TaskExecutionResultDetail
516
578
 
579
+ TaskFilter.add_member(:name, Shapes::ShapeRef.new(shape: TaskFilterName, required: true, location_name: "Name"))
580
+ TaskFilter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, required: true, location_name: "Values"))
581
+ TaskFilter.add_member(:operator, Shapes::ShapeRef.new(shape: Operator, required: true, location_name: "Operator"))
582
+ TaskFilter.struct_class = Types::TaskFilter
583
+
584
+ TaskFilters.member = Shapes::ShapeRef.new(shape: TaskFilter)
585
+
517
586
  TaskList.member = Shapes::ShapeRef.new(shape: TaskListEntry)
518
587
 
519
588
  TaskListEntry.add_member(:task_arn, Shapes::ShapeRef.new(shape: TaskArn, location_name: "TaskArn"))
@@ -616,6 +685,16 @@ module Aws::DataSync
616
685
  o.errors << Shapes::ShapeRef.new(shape: InternalException)
617
686
  end)
618
687
 
688
+ api.add_operation(:create_location_object_storage, Seahorse::Model::Operation.new.tap do |o|
689
+ o.name = "CreateLocationObjectStorage"
690
+ o.http_method = "POST"
691
+ o.http_request_uri = "/"
692
+ o.input = Shapes::ShapeRef.new(shape: CreateLocationObjectStorageRequest)
693
+ o.output = Shapes::ShapeRef.new(shape: CreateLocationObjectStorageResponse)
694
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
695
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
696
+ end)
697
+
619
698
  api.add_operation(:create_location_s3, Seahorse::Model::Operation.new.tap do |o|
620
699
  o.name = "CreateLocationS3"
621
700
  o.http_method = "POST"
@@ -716,6 +795,16 @@ module Aws::DataSync
716
795
  o.errors << Shapes::ShapeRef.new(shape: InternalException)
717
796
  end)
718
797
 
798
+ api.add_operation(:describe_location_object_storage, Seahorse::Model::Operation.new.tap do |o|
799
+ o.name = "DescribeLocationObjectStorage"
800
+ o.http_method = "POST"
801
+ o.http_request_uri = "/"
802
+ o.input = Shapes::ShapeRef.new(shape: DescribeLocationObjectStorageRequest)
803
+ o.output = Shapes::ShapeRef.new(shape: DescribeLocationObjectStorageResponse)
804
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
805
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
806
+ end)
807
+
719
808
  api.add_operation(:describe_location_s3, Seahorse::Model::Operation.new.tap do |o|
720
809
  o.name = "DescribeLocationS3"
721
810
  o.http_method = "POST"
@@ -115,10 +115,10 @@ module Aws::DataSync
115
115
  # @return [Array<Types::TagListEntry>]
116
116
  #
117
117
  # @!attribute [rw] vpc_endpoint_id
118
- # The ID of the VPC (Virtual Private Cloud) endpoint that the agent
118
+ # The ID of the VPC (virtual private cloud) endpoint that the agent
119
119
  # has access to. This is the client-side VPC endpoint, also called a
120
120
  # PrivateLink. If you don't have a PrivateLink VPC endpoint, see
121
- # [Creating a VPC Endpoint Service Configuration][1] in the AWS VPC
121
+ # [Creating a VPC Endpoint Service Configuration][1] in the Amazon VPC
122
122
  # User Guide.
123
123
  #
124
124
  # VPC endpoint ID looks like this: `vpce-01234d5aff67890e1`.
@@ -199,7 +199,7 @@ module Aws::DataSync
199
199
  # write data to the EFS destination. By default, AWS DataSync uses the
200
200
  # root directory.
201
201
  #
202
- # <note markdown="1"> `Subdirectory` must be specified with forward slashes. For example
202
+ # <note markdown="1"> `Subdirectory` must be specified with forward slashes. For example,
203
203
  # `/path/to/folder`.
204
204
  #
205
205
  # </note>
@@ -393,9 +393,16 @@ module Aws::DataSync
393
393
  # files. For the agent to access directories, you must additionally
394
394
  # enable all execute access.
395
395
  #
396
+ # If you are copying data to or from your AWS Snowcone device, see
397
+ # [NFS Server on AWS Snowcone][1] for more information.
398
+ #
396
399
  # For information about NFS export configuration, see 18.7. The
397
400
  # /etc/exports Configuration File in the Red Hat Enterprise Linux
398
401
  # documentation.
402
+ #
403
+ #
404
+ #
405
+ # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone
399
406
  # @return [String]
400
407
  #
401
408
  # @!attribute [rw] server_hostname
@@ -404,15 +411,29 @@ module Aws::DataSync
404
411
  # installed on-premises uses this host name to mount the NFS server in
405
412
  # a network.
406
413
  #
414
+ # If you are copying data to or from your AWS Snowcone device, see
415
+ # [NFS Server on AWS Snowcone][1] for more information.
416
+ #
407
417
  # <note markdown="1"> This name must either be DNS-compliant or must be an IP version 4
408
418
  # (IPv4) address.
409
419
  #
410
420
  # </note>
421
+ #
422
+ #
423
+ #
424
+ # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone
411
425
  # @return [String]
412
426
  #
413
427
  # @!attribute [rw] on_prem_config
414
428
  # Contains a list of Amazon Resource Names (ARNs) of agents that are
415
429
  # used to connect to an NFS server.
430
+ #
431
+ # If you are copying data to or from your AWS Snowcone device, see
432
+ # [NFS Server on AWS Snowcone][1] for more information.
433
+ #
434
+ #
435
+ #
436
+ # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone
416
437
  # @return [Types::OnPremConfig]
417
438
  #
418
439
  # @!attribute [rw] mount_options
@@ -452,6 +473,115 @@ module Aws::DataSync
452
473
  include Aws::Structure
453
474
  end
454
475
 
476
+ # CreateLocationObjectStorageRequest
477
+ #
478
+ # @note When making an API call, you may pass CreateLocationObjectStorageRequest
479
+ # data as a hash:
480
+ #
481
+ # {
482
+ # server_hostname: "ServerHostname", # required
483
+ # server_port: 1,
484
+ # server_protocol: "HTTPS", # accepts HTTPS, HTTP
485
+ # subdirectory: "S3Subdirectory",
486
+ # bucket_name: "ObjectStorageBucketName", # required
487
+ # access_key: "ObjectStorageAccessKey",
488
+ # secret_key: "ObjectStorageSecretKey",
489
+ # agent_arns: ["AgentArn"], # required
490
+ # tags: [
491
+ # {
492
+ # key: "TagKey", # required
493
+ # value: "TagValue",
494
+ # },
495
+ # ],
496
+ # }
497
+ #
498
+ # @!attribute [rw] server_hostname
499
+ # The name of the self-managed object storage server. This value is
500
+ # the IP address or Domain Name Service (DNS) name of the object
501
+ # storage server. An agent uses this host name to mount the object
502
+ # storage server in a network.
503
+ # @return [String]
504
+ #
505
+ # @!attribute [rw] server_port
506
+ # The port that your self-managed object storage server accepts
507
+ # inbound network traffic on. The server port is set by default to TCP
508
+ # 80 (HTTP) or TCP 443 (HTTPS). You can specify a custom port if your
509
+ # self-managed object storage server requires one.
510
+ # @return [Integer]
511
+ #
512
+ # @!attribute [rw] server_protocol
513
+ # The protocol that the object storage server uses to communicate.
514
+ # Valid values are HTTP or HTTPS.
515
+ # @return [String]
516
+ #
517
+ # @!attribute [rw] subdirectory
518
+ # The subdirectory in the self-managed object storage server that is
519
+ # used to read data from.
520
+ # @return [String]
521
+ #
522
+ # @!attribute [rw] bucket_name
523
+ # The bucket on the self-managed object storage server that is used to
524
+ # read data from.
525
+ # @return [String]
526
+ #
527
+ # @!attribute [rw] access_key
528
+ # Optional. The access key is used if credentials are required to
529
+ # access the self-managed object storage server. If your object
530
+ # storage requires a user name and password to authenticate, use
531
+ # `AccessKey` and `SecretKey` to provide the user name and password,
532
+ # respectively.
533
+ # @return [String]
534
+ #
535
+ # @!attribute [rw] secret_key
536
+ # Optional. The secret key is used if credentials are required to
537
+ # access the self-managed object storage server. If your object
538
+ # storage requires a user name and password to authenticate, use
539
+ # `AccessKey` and `SecretKey` to provide the user name and password,
540
+ # respectively.
541
+ # @return [String]
542
+ #
543
+ # @!attribute [rw] agent_arns
544
+ # The Amazon Resource Name (ARN) of the agents associated with the
545
+ # self-managed object storage server location.
546
+ # @return [Array<String>]
547
+ #
548
+ # @!attribute [rw] tags
549
+ # The key-value pair that represents the tag that you want to add to
550
+ # the location. The value can be an empty string. We recommend using
551
+ # tags to name your resources.
552
+ # @return [Array<Types::TagListEntry>]
553
+ #
554
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationObjectStorageRequest AWS API Documentation
555
+ #
556
+ class CreateLocationObjectStorageRequest < Struct.new(
557
+ :server_hostname,
558
+ :server_port,
559
+ :server_protocol,
560
+ :subdirectory,
561
+ :bucket_name,
562
+ :access_key,
563
+ :secret_key,
564
+ :agent_arns,
565
+ :tags)
566
+ SENSITIVE = [:secret_key]
567
+ include Aws::Structure
568
+ end
569
+
570
+ # CreateLocationObjectStorageResponse
571
+ #
572
+ # @!attribute [rw] location_arn
573
+ # The Amazon Resource Name (ARN) of the agents associated with the
574
+ # self-managed object storage server location.
575
+ # @return [String]
576
+ #
577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationObjectStorageResponse AWS API Documentation
578
+ #
579
+ class CreateLocationObjectStorageResponse < Struct.new(
580
+ :location_arn)
581
+ SENSITIVE = []
582
+ include Aws::Structure
583
+ end
584
+
455
585
  # CreateLocationS3Request
456
586
  #
457
587
  # @note When making an API call, you may pass CreateLocationS3Request
@@ -460,10 +590,11 @@ module Aws::DataSync
460
590
  # {
461
591
  # subdirectory: "S3Subdirectory",
462
592
  # s3_bucket_arn: "S3BucketArn", # required
463
- # s3_storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
593
+ # s3_storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
464
594
  # s3_config: { # required
465
595
  # bucket_access_role_arn: "IamRoleArn", # required
466
596
  # },
597
+ # agent_arns: ["AgentArn"],
467
598
  # tags: [
468
599
  # {
469
600
  # key: "TagKey", # required
@@ -479,16 +610,20 @@ module Aws::DataSync
479
610
  # @return [String]
480
611
  #
481
612
  # @!attribute [rw] s3_bucket_arn
482
- # The Amazon Resource Name (ARN) of the Amazon S3 bucket.
613
+ # The Amazon Resource Name (ARN) of the Amazon S3 bucket. If the
614
+ # bucket is on an AWS Outpost, this must be an access point ARN.
483
615
  # @return [String]
484
616
  #
485
617
  # @!attribute [rw] s3_storage_class
486
618
  # The Amazon S3 storage class that you want to store your files in
487
- # when this location is used as a task destination. For more
488
- # information about S3 storage classes, see [Amazon S3 Storage
489
- # Classes][1] in the *Amazon Simple Storage Service Developer Guide*.
490
- # Some storage classes have behaviors that can affect your S3 storage
491
- # cost. For detailed information, see using-storage-classes.
619
+ # when this location is used as a task destination. For buckets in AWS
620
+ # Regions, the storage class defaults to Standard. For buckets on AWS
621
+ # Outposts, the storage class defaults to AWS S3 Outposts.
622
+ #
623
+ # For more information about S3 storage classes, see [Amazon S3
624
+ # Storage Classes][1] in the *Amazon Simple Storage Service Developer
625
+ # Guide*. Some storage classes have behaviors that can affect your S3
626
+ # storage cost. For detailed information, see using-storage-classes.
492
627
  #
493
628
  #
494
629
  #
@@ -503,6 +638,13 @@ module Aws::DataSync
503
638
  # Location for Amazon S3 in the *AWS DataSync User Guide*.
504
639
  # @return [Types::S3Config]
505
640
  #
641
+ # @!attribute [rw] agent_arns
642
+ # If you are using DataSync on an AWS Outpost, specify the Amazon
643
+ # Resource Names (ARNs) of the DataSync agents deployed on your AWS
644
+ # Outpost. For more information about launching a DataSync agent on an
645
+ # Amazon Outpost, see outposts-agent.
646
+ # @return [Array<String>]
647
+ #
506
648
  # @!attribute [rw] tags
507
649
  # The key-value pair that represents the tag that you want to add to
508
650
  # the location. The value can be an empty string. We recommend using
@@ -516,6 +658,7 @@ module Aws::DataSync
516
658
  :s3_bucket_arn,
517
659
  :s3_storage_class,
518
660
  :s3_config,
661
+ :agent_arns,
519
662
  :tags)
520
663
  SENSITIVE = []
521
664
  include Aws::Structure
@@ -566,7 +709,7 @@ module Aws::DataSync
566
709
  # a subdirectory of that path. The path should be such that it can be
567
710
  # mounted by other SMB clients in your network.
568
711
  #
569
- # <note markdown="1"> `Subdirectory` must be specified with forward slashes. For example
712
+ # <note markdown="1"> `Subdirectory` must be specified with forward slashes. For example,
570
713
  # `/path/to/folder`.
571
714
  #
572
715
  # </note>
@@ -676,6 +819,7 @@ module Aws::DataSync
676
819
  # bytes_per_second: 1,
677
820
  # task_queueing: "ENABLED", # accepts ENABLED, DISABLED
678
821
  # log_level: "OFF", # accepts OFF, BASIC, TRANSFER
822
+ # transfer_mode: "CHANGED", # accepts CHANGED, ALL
679
823
  # },
680
824
  # excludes: [
681
825
  # {
@@ -706,12 +850,6 @@ module Aws::DataSync
706
850
  # @!attribute [rw] cloud_watch_log_group_arn
707
851
  # The Amazon Resource Name (ARN) of the Amazon CloudWatch log group
708
852
  # that is used to monitor and log events in the task.
709
- #
710
- # For more information on these groups, see Working with Log Groups
711
- # and Log Streams in the *Amazon CloudWatch User Guide.*
712
- #
713
- # For more information about how to use CloudWatch Logs with DataSync,
714
- # see Monitoring Your Task in the *AWS DataSync User Guide.*
715
853
  # @return [String]
716
854
  #
717
855
  # @!attribute [rw] name
@@ -727,7 +865,7 @@ module Aws::DataSync
727
865
  # data integrity verification, and so on.
728
866
  #
729
867
  # For each individual task execution, you can override these options
730
- # by specifying the `OverrideOptions` before starting a the task
868
+ # by specifying the `OverrideOptions` before starting the task
731
869
  # execution. For more information, see the operation.
732
870
  # @return [Types::Options]
733
871
  #
@@ -907,7 +1045,7 @@ module Aws::DataSync
907
1045
  # @!attribute [rw] endpoint_type
908
1046
  # The type of endpoint that your agent is connected to. If the
909
1047
  # endpoint is a VPC endpoint, the agent is not accessible over the
910
- # public Internet.
1048
+ # public internet.
911
1049
  # @return [String]
912
1050
  #
913
1051
  # @!attribute [rw] private_link_config
@@ -953,7 +1091,7 @@ module Aws::DataSync
953
1091
  # DescribeLocationEfsResponse
954
1092
  #
955
1093
  # @!attribute [rw] location_arn
956
- # The Amazon resource Name (ARN) of the EFS location that was
1094
+ # The Amazon Resource Name (ARN) of the EFS location that was
957
1095
  # described.
958
1096
  # @return [String]
959
1097
  #
@@ -1005,7 +1143,7 @@ module Aws::DataSync
1005
1143
  end
1006
1144
 
1007
1145
  # @!attribute [rw] location_arn
1008
- # The Amazon resource Name (ARN) of the FSx for Windows location that
1146
+ # The Amazon Resource Name (ARN) of the FSx for Windows location that
1009
1147
  # was described.
1010
1148
  # @return [String]
1011
1149
  #
@@ -1015,7 +1153,7 @@ module Aws::DataSync
1015
1153
  #
1016
1154
  # @!attribute [rw] security_group_arns
1017
1155
  # The Amazon Resource Names (ARNs) of the security groups that are
1018
- # configured for the for the FSx for Windows file system.
1156
+ # configured for the FSx for Windows file system.
1019
1157
  # @return [Array<String>]
1020
1158
  #
1021
1159
  # @!attribute [rw] creation_time
@@ -1055,7 +1193,7 @@ module Aws::DataSync
1055
1193
  # }
1056
1194
  #
1057
1195
  # @!attribute [rw] location_arn
1058
- # The Amazon resource Name (ARN) of the NFS location to describe.
1196
+ # The Amazon Resource Name (ARN) of the NFS location to describe.
1059
1197
  # @return [String]
1060
1198
  #
1061
1199
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationNfsRequest AWS API Documentation
@@ -1069,7 +1207,7 @@ module Aws::DataSync
1069
1207
  # DescribeLocationNfsResponse
1070
1208
  #
1071
1209
  # @!attribute [rw] location_arn
1072
- # The Amazon resource Name (ARN) of the NFS location that was
1210
+ # The Amazon Resource Name (ARN) of the NFS location that was
1073
1211
  # described.
1074
1212
  # @return [String]
1075
1213
  #
@@ -1102,6 +1240,83 @@ module Aws::DataSync
1102
1240
  include Aws::Structure
1103
1241
  end
1104
1242
 
1243
+ # DescribeLocationObjectStorageRequest
1244
+ #
1245
+ # @note When making an API call, you may pass DescribeLocationObjectStorageRequest
1246
+ # data as a hash:
1247
+ #
1248
+ # {
1249
+ # location_arn: "LocationArn", # required
1250
+ # }
1251
+ #
1252
+ # @!attribute [rw] location_arn
1253
+ # The Amazon Resource Name (ARN) of the self-managed object storage
1254
+ # server location that was described.
1255
+ # @return [String]
1256
+ #
1257
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationObjectStorageRequest AWS API Documentation
1258
+ #
1259
+ class DescribeLocationObjectStorageRequest < Struct.new(
1260
+ :location_arn)
1261
+ SENSITIVE = []
1262
+ include Aws::Structure
1263
+ end
1264
+
1265
+ # DescribeLocationObjectStorageResponse
1266
+ #
1267
+ # @!attribute [rw] location_arn
1268
+ # The Amazon Resource Name (ARN) of the self-managed object storage
1269
+ # server location to describe.
1270
+ # @return [String]
1271
+ #
1272
+ # @!attribute [rw] location_uri
1273
+ # The URL of the source self-managed object storage server location
1274
+ # that was described.
1275
+ # @return [String]
1276
+ #
1277
+ # @!attribute [rw] access_key
1278
+ # Optional. The access key is used if credentials are required to
1279
+ # access the self-managed object storage server. If your object
1280
+ # storage requires a user name and password to authenticate, use
1281
+ # `AccessKey` and `SecretKey` to provide the user name and password,
1282
+ # respectively.
1283
+ # @return [String]
1284
+ #
1285
+ # @!attribute [rw] server_port
1286
+ # The port that your self-managed object storage server accepts
1287
+ # inbound network traffic on. The server port is set by default to TCP
1288
+ # 80 (HTTP) or TCP 443 (HTTPS).
1289
+ # @return [Integer]
1290
+ #
1291
+ # @!attribute [rw] server_protocol
1292
+ # The protocol that the object storage server uses to communicate.
1293
+ # Valid values are HTTP or HTTPS.
1294
+ # @return [String]
1295
+ #
1296
+ # @!attribute [rw] agent_arns
1297
+ # The Amazon Resource Name (ARN) of the agents associated with the
1298
+ # self-managed object storage server location.
1299
+ # @return [Array<String>]
1300
+ #
1301
+ # @!attribute [rw] creation_time
1302
+ # The time that the self-managed object storage server agent was
1303
+ # created.
1304
+ # @return [Time]
1305
+ #
1306
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationObjectStorageResponse AWS API Documentation
1307
+ #
1308
+ class DescribeLocationObjectStorageResponse < Struct.new(
1309
+ :location_arn,
1310
+ :location_uri,
1311
+ :access_key,
1312
+ :server_port,
1313
+ :server_protocol,
1314
+ :agent_arns,
1315
+ :creation_time)
1316
+ SENSITIVE = []
1317
+ include Aws::Structure
1318
+ end
1319
+
1105
1320
  # DescribeLocationS3Request
1106
1321
  #
1107
1322
  # @note When making an API call, you may pass DescribeLocationS3Request
@@ -1127,7 +1342,8 @@ module Aws::DataSync
1127
1342
  # DescribeLocationS3Response
1128
1343
  #
1129
1344
  # @!attribute [rw] location_arn
1130
- # The Amazon Resource Name (ARN) of the Amazon S3 bucket location.
1345
+ # The Amazon Resource Name (ARN) of the Amazon S3 bucket or access
1346
+ # point.
1131
1347
  # @return [String]
1132
1348
  #
1133
1349
  # @!attribute [rw] location_uri
@@ -1155,6 +1371,13 @@ module Aws::DataSync
1155
1371
  # Location for Amazon S3 in the *AWS DataSync User Guide*.
1156
1372
  # @return [Types::S3Config]
1157
1373
  #
1374
+ # @!attribute [rw] agent_arns
1375
+ # If you are using DataSync on an Amazon Outpost, the Amazon Resource
1376
+ # Name (ARNs) of the EC2 agents deployed on your AWS Outpost. For more
1377
+ # information about launching a DataSync agent on an Amazon Outpost,
1378
+ # see outposts-agent.
1379
+ # @return [Array<String>]
1380
+ #
1158
1381
  # @!attribute [rw] creation_time
1159
1382
  # The time that the Amazon S3 bucket location was created.
1160
1383
  # @return [Time]
@@ -1166,6 +1389,7 @@ module Aws::DataSync
1166
1389
  :location_uri,
1167
1390
  :s3_storage_class,
1168
1391
  :s3_config,
1392
+ :agent_arns,
1169
1393
  :creation_time)
1170
1394
  SENSITIVE = []
1171
1395
  include Aws::Structure
@@ -1181,7 +1405,7 @@ module Aws::DataSync
1181
1405
  # }
1182
1406
  #
1183
1407
  # @!attribute [rw] location_arn
1184
- # The Amazon resource Name (ARN) of the SMB location to describe.
1408
+ # The Amazon Resource Name (ARN) of the SMB location to describe.
1185
1409
  # @return [String]
1186
1410
  #
1187
1411
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationSmbRequest AWS API Documentation
@@ -1195,7 +1419,7 @@ module Aws::DataSync
1195
1419
  # DescribeLocationSmbResponse
1196
1420
  #
1197
1421
  # @!attribute [rw] location_arn
1198
- # The Amazon resource Name (ARN) of the SMB location that was
1422
+ # The Amazon Resource Name (ARN) of the SMB location that was
1199
1423
  # described.
1200
1424
  # @return [String]
1201
1425
  #
@@ -1658,6 +1882,13 @@ module Aws::DataSync
1658
1882
  # {
1659
1883
  # max_results: 1,
1660
1884
  # next_token: "NextToken",
1885
+ # filters: [
1886
+ # {
1887
+ # name: "LocationUri", # required, accepts LocationUri, LocationType, CreationTime
1888
+ # values: ["FilterAttributeValue"], # required
1889
+ # operator: "Equals", # required, accepts Equals, NotEquals, In, LessThanOrEqual, LessThan, GreaterThanOrEqual, GreaterThan, Contains, NotContains, BeginsWith
1890
+ # },
1891
+ # ],
1661
1892
  # }
1662
1893
  #
1663
1894
  # @!attribute [rw] max_results
@@ -1669,11 +1900,19 @@ module Aws::DataSync
1669
1900
  # next list of locations.
1670
1901
  # @return [String]
1671
1902
  #
1903
+ # @!attribute [rw] filters
1904
+ # You can use API filters to narrow down the list of resources
1905
+ # returned by `ListLocations`. For example, to retrieve all tasks on a
1906
+ # specific source location, you can use `ListLocations` with filter
1907
+ # name `LocationType S3` and `Operator Equals`.
1908
+ # @return [Array<Types::LocationFilter>]
1909
+ #
1672
1910
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListLocationsRequest AWS API Documentation
1673
1911
  #
1674
1912
  class ListLocationsRequest < Struct.new(
1675
1913
  :max_results,
1676
- :next_token)
1914
+ :next_token,
1915
+ :filters)
1677
1916
  SENSITIVE = []
1678
1917
  include Aws::Structure
1679
1918
  end
@@ -1815,6 +2054,13 @@ module Aws::DataSync
1815
2054
  # {
1816
2055
  # max_results: 1,
1817
2056
  # next_token: "NextToken",
2057
+ # filters: [
2058
+ # {
2059
+ # name: "LocationId", # required, accepts LocationId, CreationTime
2060
+ # values: ["FilterAttributeValue"], # required
2061
+ # operator: "Equals", # required, accepts Equals, NotEquals, In, LessThanOrEqual, LessThan, GreaterThanOrEqual, GreaterThan, Contains, NotContains, BeginsWith
2062
+ # },
2063
+ # ],
1818
2064
  # }
1819
2065
  #
1820
2066
  # @!attribute [rw] max_results
@@ -1826,11 +2072,19 @@ module Aws::DataSync
1826
2072
  # next list of tasks.
1827
2073
  # @return [String]
1828
2074
  #
2075
+ # @!attribute [rw] filters
2076
+ # You can use API filters to narrow down the list of resources
2077
+ # returned by `ListTasks`. For example, to retrieve all tasks on a
2078
+ # specific source location, you can use `ListTasks` with filter name
2079
+ # `LocationId` and `Operator Equals` with the ARN for the location.
2080
+ # @return [Array<Types::TaskFilter>]
2081
+ #
1829
2082
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTasksRequest AWS API Documentation
1830
2083
  #
1831
2084
  class ListTasksRequest < Struct.new(
1832
2085
  :max_results,
1833
- :next_token)
2086
+ :next_token,
2087
+ :filters)
1834
2088
  SENSITIVE = []
1835
2089
  include Aws::Structure
1836
2090
  end
@@ -1855,6 +2109,47 @@ module Aws::DataSync
1855
2109
  include Aws::Structure
1856
2110
  end
1857
2111
 
2112
+ # You can use API filters to narrow down the list of resources returned
2113
+ # by `ListLocations`. For example, to retrieve all your Amazon S3
2114
+ # locations, you can use `ListLocations` with filter name `LocationType
2115
+ # S3` and `Operator Equals`.
2116
+ #
2117
+ # @note When making an API call, you may pass LocationFilter
2118
+ # data as a hash:
2119
+ #
2120
+ # {
2121
+ # name: "LocationUri", # required, accepts LocationUri, LocationType, CreationTime
2122
+ # values: ["FilterAttributeValue"], # required
2123
+ # operator: "Equals", # required, accepts Equals, NotEquals, In, LessThanOrEqual, LessThan, GreaterThanOrEqual, GreaterThan, Contains, NotContains, BeginsWith
2124
+ # }
2125
+ #
2126
+ # @!attribute [rw] name
2127
+ # The name of the filter being used. Each API call supports a list of
2128
+ # filters that are available for it (for example, `LocationType` for
2129
+ # `ListLocations`).
2130
+ # @return [String]
2131
+ #
2132
+ # @!attribute [rw] values
2133
+ # The values that you want to filter for. For example, you might want
2134
+ # to display only Amazon S3 locations.
2135
+ # @return [Array<String>]
2136
+ #
2137
+ # @!attribute [rw] operator
2138
+ # The operator that is used to compare filter values (for example,
2139
+ # `Equals` or `Contains`). For more about API filtering operators, see
2140
+ # query-resources.
2141
+ # @return [String]
2142
+ #
2143
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/LocationFilter AWS API Documentation
2144
+ #
2145
+ class LocationFilter < Struct.new(
2146
+ :name,
2147
+ :values,
2148
+ :operator)
2149
+ SENSITIVE = []
2150
+ include Aws::Structure
2151
+ end
2152
+
1858
2153
  # Represents a single entry in a list of locations. `LocationListEntry`
1859
2154
  # returns an array that contains a list of locations when the
1860
2155
  # ListLocations operation is called.
@@ -1949,7 +2244,7 @@ module Aws::DataSync
1949
2244
  # }
1950
2245
  #
1951
2246
  # @!attribute [rw] agent_arns
1952
- # ARNs)of the agents to use for an NFS location.
2247
+ # ARNs of the agents to use for an NFS location.
1953
2248
  # @return [Array<String>]
1954
2249
  #
1955
2250
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/OnPremConfig AWS API Documentation
@@ -1987,21 +2282,29 @@ module Aws::DataSync
1987
2282
  # bytes_per_second: 1,
1988
2283
  # task_queueing: "ENABLED", # accepts ENABLED, DISABLED
1989
2284
  # log_level: "OFF", # accepts OFF, BASIC, TRANSFER
2285
+ # transfer_mode: "CHANGED", # accepts CHANGED, ALL
1990
2286
  # }
1991
2287
  #
1992
2288
  # @!attribute [rw] verify_mode
1993
2289
  # A value that determines whether a data integrity verification should
1994
2290
  # be performed at the end of a task execution after all data and
1995
- # metadata have been transferred.
2291
+ # metadata have been transferred. For more information, see
2292
+ # create-task
1996
2293
  #
1997
2294
  # Default value: POINT\_IN\_TIME\_CONSISTENT.
1998
2295
  #
1999
- # POINT\_IN\_TIME\_CONSISTENT: Perform verification (recommended).
2296
+ # ONLY\_FILES\_TRANSFERRED (recommended): Perform verification only on
2297
+ # files that were transferred.
2000
2298
  #
2001
- # ONLY\_FILES\_TRANSFERRED: Perform verification on only files that
2002
- # were transferred.
2299
+ # POINT\_IN\_TIME\_CONSISTENT: Scan the entire source and entire
2300
+ # destination at the end of the transfer to verify that source and
2301
+ # destination are fully synchronized. This option isn't supported
2302
+ # when transferring to S3 Glacier or S3 Glacier Deep Archive storage
2303
+ # classes.
2003
2304
  #
2004
- # NONE: Skip verification.
2305
+ # NONE: No additional verification is done at the end of the transfer,
2306
+ # but all data transmissions are integrity-checked with checksum
2307
+ # verification during the transfer.
2005
2308
  # @return [String]
2006
2309
  #
2007
2310
  # @!attribute [rw] overwrite_mode
@@ -2143,17 +2446,37 @@ module Aws::DataSync
2143
2446
  # executing the tasks. If set to `ENABLED`, the tasks will be queued.
2144
2447
  # The default is `ENABLED`.
2145
2448
  #
2146
- # If you use the same agent to run multiple tasks you can enable the
2147
- # tasks to run in series. For more information see
2449
+ # If you use the same agent to run multiple tasks, you can enable the
2450
+ # tasks to run in series. For more information, see
2148
2451
  # queue-task-execution.
2149
2452
  # @return [String]
2150
2453
  #
2151
2454
  # @!attribute [rw] log_level
2152
- # A value that determines the type of logs DataSync will deliver to
2153
- # your AWS CloudWatch Logs file. If set to `OFF`, no logs will be
2154
- # delivered. `BASIC` will deliver a few logs per transfer operation
2155
- # and `TRANSFER` will deliver a verbose log that contains logs for
2156
- # every file that is transferred.
2455
+ # A value that determines the type of logs that DataSync publishes to
2456
+ # a log stream in the Amazon CloudWatch log group that you provide.
2457
+ # For more information about providing a log group for DataSync, see
2458
+ # [CloudWatchLogGroupArn][1]. If set to `OFF`, no logs are published.
2459
+ # `BASIC` publishes logs on errors for individual files transferred,
2460
+ # and `TRANSFER` publishes logs for every file or object that is
2461
+ # transferred and integrity checked.
2462
+ #
2463
+ #
2464
+ #
2465
+ # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html#DataSync-CreateTask-request-CloudWatchLogGroupArn
2466
+ # @return [String]
2467
+ #
2468
+ # @!attribute [rw] transfer_mode
2469
+ # A value that determines whether DataSync transfers only the data and
2470
+ # metadata that differ between the source and the destination
2471
+ # location, or whether DataSync transfers all the content from the
2472
+ # source, without comparing to the destination location.
2473
+ #
2474
+ # CHANGED: DataSync copies only data or metadata that is new or
2475
+ # different content from the source location to the destination
2476
+ # location.
2477
+ #
2478
+ # ALL: DataSync copies all source location content to the destination,
2479
+ # without comparing to existing content on the destination.
2157
2480
  # @return [String]
2158
2481
  #
2159
2482
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/Options AWS API Documentation
@@ -2170,24 +2493,25 @@ module Aws::DataSync
2170
2493
  :posix_permissions,
2171
2494
  :bytes_per_second,
2172
2495
  :task_queueing,
2173
- :log_level)
2496
+ :log_level,
2497
+ :transfer_mode)
2174
2498
  SENSITIVE = []
2175
2499
  include Aws::Structure
2176
2500
  end
2177
2501
 
2178
- # The VPC endpoint, subnet and security group that an agent uses to
2502
+ # The VPC endpoint, subnet, and security group that an agent uses to
2179
2503
  # access IP addresses in a VPC (Virtual Private Cloud).
2180
2504
  #
2181
2505
  # @!attribute [rw] vpc_endpoint_id
2182
2506
  # The ID of the VPC endpoint that is configured for an agent. An agent
2183
2507
  # that is configured with a VPC endpoint will not be accessible over
2184
- # the public Internet.
2508
+ # the public internet.
2185
2509
  # @return [String]
2186
2510
  #
2187
2511
  # @!attribute [rw] private_link_endpoint
2188
2512
  # The private endpoint that is configured for an agent that has access
2189
2513
  # to IP addresses in a [PrivateLink][1]. An agent that is configured
2190
- # with this endpoint will not be accessible over the public Internet.
2514
+ # with this endpoint will not be accessible over the public internet.
2191
2515
  #
2192
2516
  #
2193
2517
  #
@@ -2288,6 +2612,7 @@ module Aws::DataSync
2288
2612
  # bytes_per_second: 1,
2289
2613
  # task_queueing: "ENABLED", # accepts ENABLED, DISABLED
2290
2614
  # log_level: "OFF", # accepts OFF, BASIC, TRANSFER
2615
+ # transfer_mode: "CHANGED", # accepts CHANGED, ALL
2291
2616
  # },
2292
2617
  # includes: [
2293
2618
  # {
@@ -2496,6 +2821,47 @@ module Aws::DataSync
2496
2821
  include Aws::Structure
2497
2822
  end
2498
2823
 
2824
+ # You can use API filters to narrow down the list of resources returned
2825
+ # by `ListTasks`. For example, to retrieve all tasks on a source
2826
+ # location, you can use `ListTasks` with filter name `LocationId` and
2827
+ # `Operator Equals` with the ARN for the location.
2828
+ #
2829
+ # @note When making an API call, you may pass TaskFilter
2830
+ # data as a hash:
2831
+ #
2832
+ # {
2833
+ # name: "LocationId", # required, accepts LocationId, CreationTime
2834
+ # values: ["FilterAttributeValue"], # required
2835
+ # operator: "Equals", # required, accepts Equals, NotEquals, In, LessThanOrEqual, LessThan, GreaterThanOrEqual, GreaterThan, Contains, NotContains, BeginsWith
2836
+ # }
2837
+ #
2838
+ # @!attribute [rw] name
2839
+ # The name of the filter being used. Each API call supports a list of
2840
+ # filters that are available for it. For example, `LocationId` for
2841
+ # `ListTasks`.
2842
+ # @return [String]
2843
+ #
2844
+ # @!attribute [rw] values
2845
+ # The values that you want to filter for. For example, you might want
2846
+ # to display only tasks for a specific destination location.
2847
+ # @return [Array<String>]
2848
+ #
2849
+ # @!attribute [rw] operator
2850
+ # The operator that is used to compare filter values (for example,
2851
+ # `Equals` or `Contains`). For more about API filtering operators, see
2852
+ # query-resources.
2853
+ # @return [String]
2854
+ #
2855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TaskFilter AWS API Documentation
2856
+ #
2857
+ class TaskFilter < Struct.new(
2858
+ :name,
2859
+ :values,
2860
+ :operator)
2861
+ SENSITIVE = []
2862
+ include Aws::Structure
2863
+ end
2864
+
2499
2865
  # Represents a single entry in a list of tasks. `TaskListEntry` returns
2500
2866
  # an array that contains a list of tasks when the ListTasks operation is
2501
2867
  # called. A task includes the source and destination file systems to
@@ -2634,6 +3000,7 @@ module Aws::DataSync
2634
3000
  # bytes_per_second: 1,
2635
3001
  # task_queueing: "ENABLED", # accepts ENABLED, DISABLED
2636
3002
  # log_level: "OFF", # accepts OFF, BASIC, TRANSFER
3003
+ # transfer_mode: "CHANGED", # accepts CHANGED, ALL
2637
3004
  # },
2638
3005
  # excludes: [
2639
3006
  # {