File: types.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.17.1-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 384,244 kB
  • sloc: java: 13,538; makefile: 400; sh: 137
file content (648 lines) | stat: -rw-r--r-- 26,756 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

import (
	smithydocument "github.com/aws/smithy-go/document"
)

// Represents a single entry in a list of agents. AgentListEntry returns an array
// that contains a list of agents when the ListAgents
// (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListAgents.html)
// operation is called.
type AgentListEntry struct {

	// The Amazon Resource Name (ARN) of the agent.
	AgentArn *string

	// The name of the agent.
	Name *string

	// The status of the agent.
	Status AgentStatus

	noSmithyDocumentSerde
}

// The subnet and security groups that DataSync uses to access your Amazon EFS file
// system.
type Ec2Config struct {

	// Specifies the Amazon Resource Names (ARNs) of the security groups associated
	// with an Amazon EFS file system's mount target.
	//
	// This member is required.
	SecurityGroupArns []string

	// Specifies the ARN of a subnet where DataSync creates the network interfaces
	// (https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces)
	// for managing traffic during your transfer. The subnet must be located:
	//
	// * In the
	// same virtual private cloud (VPC) as the Amazon EFS file system.
	//
	// * In the same
	// Availability Zone as at least one mount target for the Amazon EFS file
	// system.
	//
	// You don't need to specify a subnet that includes a file system mount
	// target.
	//
	// This member is required.
	SubnetArn *string

	noSmithyDocumentSerde
}

// Specifies which files, folders, and objects to include or exclude when
// transferring files from source to destination.
type FilterRule struct {

	// The type of filter rule to apply. DataSync only supports the SIMPLE_PATTERN rule
	// type.
	FilterType FilterType

	// A single filter string that consists of the patterns to include or exclude. The
	// patterns are delimited by "|" (that is, a pipe), for example: /folder1|/folder2
	Value *string

	noSmithyDocumentSerde
}

// Specifies the data transfer protocol that DataSync uses to access your Amazon
// FSx file system.
type FsxProtocol struct {

	// Specifies the Network File System (NFS) protocol configuration that DataSync
	// uses to access your FSx for OpenZFS file system or FSx for ONTAP file system's
	// storage virtual machine (SVM).
	NFS *FsxProtocolNfs

	// Specifies the Server Message Block (SMB) protocol configuration that DataSync
	// uses to access your FSx for ONTAP file system's SVM.
	SMB *FsxProtocolSmb

	noSmithyDocumentSerde
}

// Specifies the Network File System (NFS) protocol configuration that DataSync
// uses to access your Amazon FSx for OpenZFS or Amazon FSx for NetApp ONTAP file
// system.
type FsxProtocolNfs struct {

	// Specifies how DataSync can access a location using the NFS protocol.
	MountOptions *NfsMountOptions

	noSmithyDocumentSerde
}

// Specifies the Server Message Block (SMB) protocol configuration that DataSync
// uses to access your Amazon FSx for NetApp ONTAP file system. For more
// information, see Accessing FSx for ONTAP file systems
// (https://docs.aws.amazon.com/datasync/latest/userguide/create-ontap-location.html#create-ontap-location-access).
type FsxProtocolSmb struct {

	// Specifies the password of a user who has permission to access your SVM.
	//
	// This member is required.
	Password *string

	// Specifies a user name that can mount the location and access the files, folders,
	// and metadata that you need in the SVM. If you provide a user in your Active
	// Directory, note the following:
	//
	// * If you're using Directory Service for
	// Microsoft Active Directory, the user must be a member of the Amazon Web Services
	// Delegated FSx Administrators group.
	//
	// * If you're using a self-managed Active
	// Directory, the user must be a member of either the Domain Admins group or a
	// custom group that you specified for file system administration when you created
	// your file system.
	//
	// Make sure that the user has the permissions it needs to copy
	// the data you want:
	//
	// * SE_TCB_NAME: Required to set object ownership and file
	// metadata. With this privilege, you also can copy NTFS discretionary access lists
	// (DACLs).
	//
	// * SE_SECURITY_NAME: May be needed to copy NTFS system access control
	// lists (SACLs). This operation specifically requires the Windows privilege, which
	// is granted to members of the Domain Admins group. If you configure your task to
	// copy SACLs, make sure that the user has the required privileges. For information
	// about copying SACLs, see Ownership and permissions-related options
	// (https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html#configure-ownership-and-permissions).
	//
	// This member is required.
	User *string

	// Specifies the fully qualified domain name (FQDN) of the Microsoft Active
	// Directory that your storage virtual machine (SVM) belongs to.
	Domain *string

	// Specifies how DataSync can access a location using the SMB protocol.
	MountOptions *SmbMountOptions

	noSmithyDocumentSerde
}

// The NameNode of the Hadoop Distributed File System (HDFS). The NameNode manages
// the file system's namespace. The NameNode performs operations such as opening,
// closing, and renaming files and directories. The NameNode contains the
// information to map blocks of data to the DataNodes.
type HdfsNameNode struct {

	// The hostname of the NameNode in the HDFS cluster. This value is the IP address
	// or Domain Name Service (DNS) name of the NameNode. An agent that's installed
	// on-premises uses this hostname to communicate with the NameNode in the network.
	//
	// This member is required.
	Hostname *string

	// The port that the NameNode uses to listen to client requests.
	//
	// This member is required.
	Port *int32

	noSmithyDocumentSerde
}

// Narrow down the list of resources returned by ListLocations. For example, to see
// all your Amazon S3 locations, create a filter using "Name": "LocationType",
// "Operator": "Equals", and "Values": "S3". For more information, see filtering
// resources
// (https://docs.aws.amazon.com/datasync/latest/userguide/query-resources.html).
type LocationFilter struct {

	// The name of the filter being used. Each API call supports a list of filters that
	// are available for it (for example, LocationType for ListLocations).
	//
	// This member is required.
	Name LocationFilterName

	// The operator that is used to compare filter values (for example, Equals or
	// Contains).
	//
	// This member is required.
	Operator Operator

	// The values that you want to filter for. For example, you might want to display
	// only Amazon S3 locations.
	//
	// This member is required.
	Values []string

	noSmithyDocumentSerde
}

// Represents a single entry in a list of locations. LocationListEntry returns an
// array that contains a list of locations when the ListLocations
// (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListLocations.html)
// operation is called.
type LocationListEntry struct {

	// The Amazon Resource Name (ARN) of the location. For Network File System (NFS) or
	// Amazon EFS, the location is the export path. For Amazon S3, the location is the
	// prefix path that you want to mount and use as the root of the location.
	LocationArn *string

	// Represents a list of URIs of a location. LocationUri returns an array that
	// contains a list of locations when the ListLocations
	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListLocations.html)
	// operation is called. Format: TYPE://GLOBAL_ID/SUBDIR. TYPE designates the type
	// of location (for example, nfs or s3). GLOBAL_ID is the globally unique
	// identifier of the resource that backs the location. An example for EFS is
	// us-east-2.fs-abcd1234. An example for Amazon S3 is the bucket name, such as
	// myBucket. An example for NFS is a valid IPv4 address or a hostname that is
	// compliant with Domain Name Service (DNS). SUBDIR is a valid file system path,
	// delimited by forward slashes as is the *nix convention. For NFS and Amazon EFS,
	// it's the export path to mount the location. For Amazon S3, it's the prefix path
	// that you mount to and treat as the root of the location.
	LocationUri *string

	noSmithyDocumentSerde
}

// Specifies how DataSync can access a location using the NFS protocol.
type NfsMountOptions struct {

	// Specifies the NFS version that you want DataSync to use when mounting your NFS
	// share. If the server refuses to use the version specified, the task fails. You
	// can specify the following options:
	//
	// * AUTOMATIC (default): DataSync chooses NFS
	// version 4.1.
	//
	// * NFS3: Stateless protocol version that allows for asynchronous
	// writes on the server.
	//
	// * NFSv4_0: Stateful, firewall-friendly protocol version
	// that supports delegations and pseudo file systems.
	//
	// * NFSv4_1: Stateful protocol
	// version that supports sessions, directory delegations, and parallel data
	// processing. NFS version 4.1 also includes all features available in version
	// 4.0.
	//
	// DataSync currently only supports NFS version 3 with Amazon FSx for NetApp
	// ONTAP locations.
	Version NfsVersion

	noSmithyDocumentSerde
}

// A list of Amazon Resource Names (ARNs) of agents to use for a Network File
// System (NFS) location.
type OnPremConfig struct {

	// ARNs of the agents to use for an NFS location.
	//
	// This member is required.
	AgentArns []string

	noSmithyDocumentSerde
}

// Represents the options that are available to control the behavior of a
// StartTaskExecution
// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
// operation. Behavior includes preserving metadata such as user ID (UID), group ID
// (GID), and file permissions, and also overwriting files in the destination, data
// integrity verification, and so on. A task has a set of default options
// associated with it. If you don't specify an option in StartTaskExecution
// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html),
// the default value is used. You can override the defaults options on each task
// execution by specifying an overriding Options value to StartTaskExecution
// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html).
type Options struct {

	// A file metadata value that shows the last time a file was accessed (that is,
	// when the file was read or written to). If you set Atime to BEST_EFFORT, DataSync
	// attempts to preserve the original Atime attribute on all source files (that is,
	// the version before the PREPARING phase). However, Atime's behavior is not fully
	// standard across platforms, so DataSync can only do this on a best-effort basis.
	// Default value: BEST_EFFORTBEST_EFFORT: Attempt to preserve the per-file Atime
	// value (recommended). NONE: Ignore Atime. If Atime is set to BEST_EFFORT, Mtime
	// must be set to PRESERVE. If Atime is set to NONE, Mtime must also be NONE.
	Atime Atime

	// A value that limits the bandwidth used by DataSync. For example, if you want
	// DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024).
	BytesPerSecond *int64

	// The POSIX group ID (GID) of the file's owners. For more information, see
	// Metadata copied by DataSync
	// (https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied).
	// Default value: INT_VALUE. This preserves the integer value of the ID. INT_VALUE:
	// Preserve the integer value of user ID (UID) and GID (recommended). NONE: Ignore
	// UID and GID.
	Gid Gid

	// A value that determines the type of logs that DataSync publishes to a log stream
	// in the Amazon CloudWatch log group that you provide. For more information about
	// providing a log group for DataSync, see CloudWatchLogGroupArn
	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html#DataSync-CreateTask-request-CloudWatchLogGroupArn).
	// If set to OFF, no logs are published. BASIC publishes logs on errors for
	// individual files transferred, and TRANSFER publishes logs for every file or
	// object that is transferred and integrity checked.
	LogLevel LogLevel

	// A value that indicates the last time that a file was modified (that is, a file
	// was written to) before the PREPARING phase. This option is required for cases
	// when you need to run the same task more than one time. Default Value:
	// PRESERVEPRESERVE: Preserve original Mtime (recommended) NONE: Ignore Mtime. If
	// Mtime is set to PRESERVE, Atime must be set to BEST_EFFORT. If Mtime is set to
	// NONE, Atime must also be set to NONE.
	Mtime Mtime

	// Specifies whether object tags are maintained when transferring between object
	// storage systems. If you want your DataSync task to ignore object tags, specify
	// the NONE value. Default Value: PRESERVE
	ObjectTags ObjectTags

	// A value that determines whether files at the destination should be overwritten
	// or preserved when copying files. If set to NEVER a destination file will not be
	// replaced by a source file, even if the destination file differs from the source
	// file. If you modify files in the destination and you sync the files, you can use
	// this value to protect against overwriting those changes. Some storage classes
	// have specific behaviors that can affect your S3 storage cost. For detailed
	// information, see Considerations when working with Amazon S3 storage classes in
	// DataSync
	// (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes)
	// in the DataSync User Guide.
	OverwriteMode OverwriteMode

	// A value that determines which users or groups can access a file for a specific
	// purpose such as reading, writing, or execution of the file. For more
	// information, see Metadata copied by DataSync
	// (https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied).
	// Default value: PRESERVEPRESERVE: Preserve POSIX-style permissions (recommended).
	// NONE: Ignore permissions. DataSync can preserve extant permissions of a source
	// location.
	PosixPermissions PosixPermissions

	// A value that specifies whether files in the destination that don't exist in the
	// source file system should be preserved. This option can affect your storage
	// cost. If your task deletes objects, you might incur minimum storage duration
	// charges for certain storage classes. For detailed information, see
	// Considerations when working with Amazon S3 storage classes in DataSync
	// (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes)
	// in the DataSync User Guide. Default value: PRESERVEPRESERVE: Ignore such
	// destination files (recommended). REMOVE: Delete destination files that aren’t
	// present in the source.
	PreserveDeletedFiles PreserveDeletedFiles

	// A value that determines whether DataSync should preserve the metadata of block
	// and character devices in the source file system, and re-create the files with
	// that device name and metadata on the destination. DataSync does not copy the
	// contents of such devices, only the name and metadata. DataSync can't sync the
	// actual contents of such devices, because they are nonterminal and don't return
	// an end-of-file (EOF) marker. Default value: NONENONE: Ignore special devices
	// (recommended). PRESERVE: Preserve character and block device metadata. This
	// option isn't currently supported for Amazon EFS.
	PreserveDevices PreserveDevices

	// A value that determines which components of the SMB security descriptor are
	// copied from source to destination objects. This value is only used for transfers
	// between SMB and Amazon FSx for Windows File Server locations, or between two
	// Amazon FSx for Windows File Server locations. For more information about how
	// DataSync handles metadata, see How DataSync Handles Metadata and Special Files
	// (https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html).
	// Default value: OWNER_DACLOWNER_DACL: For each copied object, DataSync copies the
	// following metadata:
	//
	// * Object owner.
	//
	// * NTFS discretionary access control lists
	// (DACLs), which determine whether to grant access to an object.
	//
	// When choosing
	// this option, DataSync does NOT copy the NTFS system access control lists
	// (SACLs), which are used by administrators to log attempts to access a secured
	// object. OWNER_DACL_SACL: For each copied object, DataSync copies the following
	// metadata:
	//
	// * Object owner.
	//
	// * NTFS discretionary access control lists (DACLs),
	// which determine whether to grant access to an object.
	//
	// * NTFS system access
	// control lists (SACLs), which are used by administrators to log attempts to
	// access a secured object.
	//
	// Copying SACLs requires granting additional permissions
	// to the Windows user that DataSync uses to access your SMB location. For
	// information about choosing a user that ensures sufficient permissions to files,
	// folders, and metadata, see user. NONE: None of the SMB security descriptor
	// components are copied. Destination objects are owned by the user that was
	// provided for accessing the destination location. DACLs and SACLs are set based
	// on the destination server’s configuration.
	SecurityDescriptorCopyFlags SmbSecurityDescriptorCopyFlags

	// A value that determines whether tasks should be queued before executing the
	// tasks. If set to ENABLED, the tasks will be queued. The default is ENABLED. If
	// you use the same agent to run multiple tasks, you can enable the tasks to run in
	// series. For more information, see Queueing task executions
	// (https://docs.aws.amazon.com/datasync/latest/userguide/run-task.html#queue-task-execution).
	TaskQueueing TaskQueueing

	// A value that determines whether DataSync transfers only the data and metadata
	// that differ between the source and the destination location, or whether DataSync
	// transfers all the content from the source, without comparing to the destination
	// location. CHANGED: DataSync copies only data or metadata that is new or
	// different content from the source location to the destination location. ALL:
	// DataSync copies all source location content to the destination, without
	// comparing to existing content on the destination.
	TransferMode TransferMode

	// The POSIX user ID (UID) of the file's owner. For more information, see Metadata
	// copied by DataSync
	// (https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied).
	// Default value: INT_VALUE. This preserves the integer value of the ID. INT_VALUE:
	// Preserve the integer value of UID and group ID (GID) (recommended). NONE: Ignore
	// UID and GID.
	Uid Uid

	// A value that determines whether a data integrity verification should be
	// performed at the end of a task execution after all data and metadata have been
	// transferred. For more information, see Configure task settings
	// (https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html).
	// Default value: POINT_IN_TIME_CONSISTENTONLY_FILES_TRANSFERRED (recommended):
	// Perform verification only on files that were transferred.
	// POINT_IN_TIME_CONSISTENT: Scan the entire source and entire destination at the
	// end of the transfer to verify that source and destination are fully
	// synchronized. This option isn't supported when transferring to S3 Glacier
	// Flexible Retrieval or S3 Glacier Deep Archive storage classes. NONE: No
	// additional verification is done at the end of the transfer, but all data
	// transmissions are integrity-checked with checksum verification during the
	// transfer.
	VerifyMode VerifyMode

	noSmithyDocumentSerde
}

// The VPC endpoint, subnet, and security group that an agent uses to access IP
// addresses in a VPC (Virtual Private Cloud).
type PrivateLinkConfig struct {

	// The private endpoint that is configured for an agent that has access to IP
	// addresses in a PrivateLink
	// (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html). An
	// agent that is configured with this endpoint will not be accessible over the
	// public internet.
	PrivateLinkEndpoint *string

	// The Amazon Resource Names (ARNs) of the security groups that are configured for
	// the EC2 resource that hosts an agent activated in a VPC or an agent that has
	// access to a VPC endpoint.
	SecurityGroupArns []string

	// The Amazon Resource Names (ARNs) of the subnets that are configured for an agent
	// activated in a VPC or an agent that has access to a VPC endpoint.
	SubnetArns []string

	// The ID of the VPC endpoint that is configured for an agent. An agent that is
	// configured with a VPC endpoint will not be accessible over the public internet.
	VpcEndpointId *string

	noSmithyDocumentSerde
}

// The Quality of Protection (QOP) configuration specifies the Remote Procedure
// Call (RPC) and data transfer privacy settings configured on the Hadoop
// Distributed File System (HDFS) cluster.
type QopConfiguration struct {

	// The data transfer protection setting configured on the HDFS cluster. This
	// setting corresponds to your dfs.data.transfer.protection setting in the
	// hdfs-site.xml file on your Hadoop cluster.
	DataTransferProtection HdfsDataTransferProtection

	// The RPC protection setting configured on the HDFS cluster. This setting
	// corresponds to your hadoop.rpc.protection setting in your core-site.xml file on
	// your Hadoop cluster.
	RpcProtection HdfsRpcProtection

	noSmithyDocumentSerde
}

// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role
// used to access an Amazon S3 bucket. For detailed information about using such a
// role, see Creating a Location for Amazon S3 in the DataSync User Guide.
type S3Config struct {

	// The ARN of the IAM role for accessing the S3 bucket.
	//
	// This member is required.
	BucketAccessRoleArn *string

	noSmithyDocumentSerde
}

// Specifies how DataSync can access a location using the SMB protocol.
type SmbMountOptions struct {

	// Specifies the SMB version that you want DataSync to use when mounting your SMB
	// share. If you don't specify a version, DataSync defaults to AUTOMATIC and
	// chooses a version based on negotiation with the SMB server.
	Version SmbVersion

	noSmithyDocumentSerde
}

// Represents a single entry in a list of Amazon Web Services resource tags.
// TagListEntry returns an array that contains a list of tasks when the
// ListTagsForResource
// (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListTagsForResource.html)
// operation is called.
type TagListEntry struct {

	// The key for an Amazon Web Services resource tag.
	//
	// This member is required.
	Key *string

	// The value for an Amazon Web Services resource tag.
	Value *string

	noSmithyDocumentSerde
}

// Represents a single entry in a list of task executions. TaskExecutionListEntry
// returns an array that contains a list of specific invocations of a task when the
// ListTaskExecutions
// (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListTaskExecutions.html)
// operation is called.
type TaskExecutionListEntry struct {

	// The status of a task execution.
	Status TaskExecutionStatus

	// The Amazon Resource Name (ARN) of the task that was executed.
	TaskExecutionArn *string

	noSmithyDocumentSerde
}

// Describes the detailed result of a TaskExecution operation. This result includes
// the time in milliseconds spent in each phase, the status of the task execution,
// and the errors encountered.
type TaskExecutionResultDetail struct {

	// Errors that DataSync encountered during execution of the task. You can use this
	// error code to help troubleshoot issues.
	ErrorCode *string

	// Detailed description of an error that was encountered during the task execution.
	// You can use this information to help troubleshoot issues.
	ErrorDetail *string

	// The total time in milliseconds that DataSync spent in the PREPARING phase.
	PrepareDuration *int64

	// The status of the PREPARING phase.
	PrepareStatus PhaseStatus

	// The total time in milliseconds that DataSync took to transfer the file from the
	// source to the destination location.
	TotalDuration *int64

	// The total time in milliseconds that DataSync spent in the TRANSFERRING phase.
	TransferDuration *int64

	// The status of the TRANSFERRING phase.
	TransferStatus PhaseStatus

	// The total time in milliseconds that DataSync spent in the VERIFYING phase.
	VerifyDuration *int64

	// The status of the VERIFYING phase.
	VerifyStatus PhaseStatus

	noSmithyDocumentSerde
}

// You can use API filters to narrow down the list of resources returned by
// ListTasks. For example, to retrieve all tasks on a source location, you can use
// ListTasks with filter name LocationId and Operator Equals with the ARN for the
// location. For more information, see filtering DataSync resources
// (https://docs.aws.amazon.com/datasync/latest/userguide/query-resources.html).
type TaskFilter struct {

	// The name of the filter being used. Each API call supports a list of filters that
	// are available for it. For example, LocationId for ListTasks.
	//
	// This member is required.
	Name TaskFilterName

	// The operator that is used to compare filter values (for example, Equals or
	// Contains).
	//
	// This member is required.
	Operator Operator

	// The values that you want to filter for. For example, you might want to display
	// only tasks for a specific destination location.
	//
	// This member is required.
	Values []string

	noSmithyDocumentSerde
}

// Represents a single entry in a list of tasks. TaskListEntry returns an array
// that contains a list of tasks when the ListTasks
// (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListTasks.html)
// operation is called. A task includes the source and destination file systems to
// sync and the options to use for the tasks.
type TaskListEntry struct {

	// The name of the task.
	Name *string

	// The status of the task.
	Status TaskStatus

	// The Amazon Resource Name (ARN) of the task.
	TaskArn *string

	noSmithyDocumentSerde
}

// Specifies the schedule you want your task to use for repeated executions. For
// more information, see Schedule Expressions for Rules
// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html).
type TaskSchedule struct {

	// A cron expression that specifies when DataSync initiates a scheduled transfer
	// from a source to a destination location.
	//
	// This member is required.
	ScheduleExpression *string

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde