aws-sdk-datasync 1.22.0 → 1.27.0

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