1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package datasync
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opCancelTaskExecution = "CancelTaskExecution"
17
18// CancelTaskExecutionRequest generates a "aws/request.Request" representing the
19// client's request for the CancelTaskExecution operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See CancelTaskExecution for more information on using the CancelTaskExecution
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the CancelTaskExecutionRequest method.
34//    req, resp := client.CancelTaskExecutionRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CancelTaskExecution
42func (c *DataSync) CancelTaskExecutionRequest(input *CancelTaskExecutionInput) (req *request.Request, output *CancelTaskExecutionOutput) {
43	op := &request.Operation{
44		Name:       opCancelTaskExecution,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &CancelTaskExecutionInput{}
51	}
52
53	output = &CancelTaskExecutionOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// CancelTaskExecution API operation for AWS DataSync.
60//
61// Cancels execution of a task.
62//
63// When you cancel a task execution, the transfer of some files are abruptly
64// interrupted. The contents of files that are transferred to the destination
65// might be incomplete or inconsistent with the source files. However, if you
66// start a new task execution on the same task and you allow the task execution
67// to complete, file content on the destination is complete and consistent.
68// This applies to other unexpected failures that interrupt a task execution.
69// In all of these cases, AWS DataSync successfully complete the transfer when
70// you start the next task execution.
71//
72// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
73// with awserr.Error's Code and Message methods to get detailed information about
74// the error.
75//
76// See the AWS API reference guide for AWS DataSync's
77// API operation CancelTaskExecution for usage and error information.
78//
79// Returned Error Types:
80//   * InvalidRequestException
81//   This exception is thrown when the client submits a malformed request.
82//
83//   * InternalException
84//   This exception is thrown when an error occurs in the AWS DataSync service.
85//
86// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CancelTaskExecution
87func (c *DataSync) CancelTaskExecution(input *CancelTaskExecutionInput) (*CancelTaskExecutionOutput, error) {
88	req, out := c.CancelTaskExecutionRequest(input)
89	return out, req.Send()
90}
91
92// CancelTaskExecutionWithContext is the same as CancelTaskExecution with the addition of
93// the ability to pass a context and additional request options.
94//
95// See CancelTaskExecution for details on how to use this API operation.
96//
97// The context must be non-nil and will be used for request cancellation. If
98// the context is nil a panic will occur. In the future the SDK may create
99// sub-contexts for http.Requests. See https://golang.org/pkg/context/
100// for more information on using Contexts.
101func (c *DataSync) CancelTaskExecutionWithContext(ctx aws.Context, input *CancelTaskExecutionInput, opts ...request.Option) (*CancelTaskExecutionOutput, error) {
102	req, out := c.CancelTaskExecutionRequest(input)
103	req.SetContext(ctx)
104	req.ApplyOptions(opts...)
105	return out, req.Send()
106}
107
108const opCreateAgent = "CreateAgent"
109
110// CreateAgentRequest generates a "aws/request.Request" representing the
111// client's request for the CreateAgent operation. The "output" return
112// value will be populated with the request's response once the request completes
113// successfully.
114//
115// Use "Send" method on the returned Request to send the API call to the service.
116// the "output" return value is not valid until after Send returns without error.
117//
118// See CreateAgent for more information on using the CreateAgent
119// API call, and error handling.
120//
121// This method is useful when you want to inject custom logic or configuration
122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
123//
124//
125//    // Example sending a request using the CreateAgentRequest method.
126//    req, resp := client.CreateAgentRequest(params)
127//
128//    err := req.Send()
129//    if err == nil { // resp is now filled
130//        fmt.Println(resp)
131//    }
132//
133// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateAgent
134func (c *DataSync) CreateAgentRequest(input *CreateAgentInput) (req *request.Request, output *CreateAgentOutput) {
135	op := &request.Operation{
136		Name:       opCreateAgent,
137		HTTPMethod: "POST",
138		HTTPPath:   "/",
139	}
140
141	if input == nil {
142		input = &CreateAgentInput{}
143	}
144
145	output = &CreateAgentOutput{}
146	req = c.newRequest(op, input, output)
147	return
148}
149
150// CreateAgent API operation for AWS DataSync.
151//
152// Activates an AWS DataSync agent that you have deployed on your host. The
153// activation process associates your agent with your account. In the activation
154// process, you specify information such as the AWS Region that you want to
155// activate the agent in. You activate the agent in the AWS Region where your
156// target locations (in Amazon S3 or Amazon EFS) reside. Your tasks are created
157// in this AWS Region.
158//
159// You can activate the agent in a VPC (Virtual private Cloud) or provide the
160// agent access to a VPC endpoint so you can run tasks without going over the
161// public Internet.
162//
163// You can use an agent for more than one location. If a task uses multiple
164// agents, all of them need to have status AVAILABLE for the task to run. If
165// you use multiple agents for a source location, the status of all the agents
166// must be AVAILABLE for the task to run.
167//
168// Agents are automatically updated by AWS on a regular basis, using a mechanism
169// that ensures minimal interruption to your tasks.
170//
171// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
172// with awserr.Error's Code and Message methods to get detailed information about
173// the error.
174//
175// See the AWS API reference guide for AWS DataSync's
176// API operation CreateAgent for usage and error information.
177//
178// Returned Error Types:
179//   * InvalidRequestException
180//   This exception is thrown when the client submits a malformed request.
181//
182//   * InternalException
183//   This exception is thrown when an error occurs in the AWS DataSync service.
184//
185// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateAgent
186func (c *DataSync) CreateAgent(input *CreateAgentInput) (*CreateAgentOutput, error) {
187	req, out := c.CreateAgentRequest(input)
188	return out, req.Send()
189}
190
191// CreateAgentWithContext is the same as CreateAgent with the addition of
192// the ability to pass a context and additional request options.
193//
194// See CreateAgent for details on how to use this API operation.
195//
196// The context must be non-nil and will be used for request cancellation. If
197// the context is nil a panic will occur. In the future the SDK may create
198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
199// for more information on using Contexts.
200func (c *DataSync) CreateAgentWithContext(ctx aws.Context, input *CreateAgentInput, opts ...request.Option) (*CreateAgentOutput, error) {
201	req, out := c.CreateAgentRequest(input)
202	req.SetContext(ctx)
203	req.ApplyOptions(opts...)
204	return out, req.Send()
205}
206
207const opCreateLocationEfs = "CreateLocationEfs"
208
209// CreateLocationEfsRequest generates a "aws/request.Request" representing the
210// client's request for the CreateLocationEfs operation. The "output" return
211// value will be populated with the request's response once the request completes
212// successfully.
213//
214// Use "Send" method on the returned Request to send the API call to the service.
215// the "output" return value is not valid until after Send returns without error.
216//
217// See CreateLocationEfs for more information on using the CreateLocationEfs
218// API call, and error handling.
219//
220// This method is useful when you want to inject custom logic or configuration
221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
222//
223//
224//    // Example sending a request using the CreateLocationEfsRequest method.
225//    req, resp := client.CreateLocationEfsRequest(params)
226//
227//    err := req.Send()
228//    if err == nil { // resp is now filled
229//        fmt.Println(resp)
230//    }
231//
232// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationEfs
233func (c *DataSync) CreateLocationEfsRequest(input *CreateLocationEfsInput) (req *request.Request, output *CreateLocationEfsOutput) {
234	op := &request.Operation{
235		Name:       opCreateLocationEfs,
236		HTTPMethod: "POST",
237		HTTPPath:   "/",
238	}
239
240	if input == nil {
241		input = &CreateLocationEfsInput{}
242	}
243
244	output = &CreateLocationEfsOutput{}
245	req = c.newRequest(op, input, output)
246	return
247}
248
249// CreateLocationEfs API operation for AWS DataSync.
250//
251// Creates an endpoint for an Amazon EFS file system.
252//
253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
254// with awserr.Error's Code and Message methods to get detailed information about
255// the error.
256//
257// See the AWS API reference guide for AWS DataSync's
258// API operation CreateLocationEfs for usage and error information.
259//
260// Returned Error Types:
261//   * InvalidRequestException
262//   This exception is thrown when the client submits a malformed request.
263//
264//   * InternalException
265//   This exception is thrown when an error occurs in the AWS DataSync service.
266//
267// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationEfs
268func (c *DataSync) CreateLocationEfs(input *CreateLocationEfsInput) (*CreateLocationEfsOutput, error) {
269	req, out := c.CreateLocationEfsRequest(input)
270	return out, req.Send()
271}
272
273// CreateLocationEfsWithContext is the same as CreateLocationEfs with the addition of
274// the ability to pass a context and additional request options.
275//
276// See CreateLocationEfs for details on how to use this API operation.
277//
278// The context must be non-nil and will be used for request cancellation. If
279// the context is nil a panic will occur. In the future the SDK may create
280// sub-contexts for http.Requests. See https://golang.org/pkg/context/
281// for more information on using Contexts.
282func (c *DataSync) CreateLocationEfsWithContext(ctx aws.Context, input *CreateLocationEfsInput, opts ...request.Option) (*CreateLocationEfsOutput, error) {
283	req, out := c.CreateLocationEfsRequest(input)
284	req.SetContext(ctx)
285	req.ApplyOptions(opts...)
286	return out, req.Send()
287}
288
289const opCreateLocationFsxWindows = "CreateLocationFsxWindows"
290
291// CreateLocationFsxWindowsRequest generates a "aws/request.Request" representing the
292// client's request for the CreateLocationFsxWindows operation. The "output" return
293// value will be populated with the request's response once the request completes
294// successfully.
295//
296// Use "Send" method on the returned Request to send the API call to the service.
297// the "output" return value is not valid until after Send returns without error.
298//
299// See CreateLocationFsxWindows for more information on using the CreateLocationFsxWindows
300// API call, and error handling.
301//
302// This method is useful when you want to inject custom logic or configuration
303// into the SDK's request lifecycle. Such as custom headers, or retry logic.
304//
305//
306//    // Example sending a request using the CreateLocationFsxWindowsRequest method.
307//    req, resp := client.CreateLocationFsxWindowsRequest(params)
308//
309//    err := req.Send()
310//    if err == nil { // resp is now filled
311//        fmt.Println(resp)
312//    }
313//
314// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxWindows
315func (c *DataSync) CreateLocationFsxWindowsRequest(input *CreateLocationFsxWindowsInput) (req *request.Request, output *CreateLocationFsxWindowsOutput) {
316	op := &request.Operation{
317		Name:       opCreateLocationFsxWindows,
318		HTTPMethod: "POST",
319		HTTPPath:   "/",
320	}
321
322	if input == nil {
323		input = &CreateLocationFsxWindowsInput{}
324	}
325
326	output = &CreateLocationFsxWindowsOutput{}
327	req = c.newRequest(op, input, output)
328	return
329}
330
331// CreateLocationFsxWindows API operation for AWS DataSync.
332//
333// Creates an endpoint for an Amazon FSx for Windows file system.
334//
335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
336// with awserr.Error's Code and Message methods to get detailed information about
337// the error.
338//
339// See the AWS API reference guide for AWS DataSync's
340// API operation CreateLocationFsxWindows for usage and error information.
341//
342// Returned Error Types:
343//   * InvalidRequestException
344//   This exception is thrown when the client submits a malformed request.
345//
346//   * InternalException
347//   This exception is thrown when an error occurs in the AWS DataSync service.
348//
349// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxWindows
350func (c *DataSync) CreateLocationFsxWindows(input *CreateLocationFsxWindowsInput) (*CreateLocationFsxWindowsOutput, error) {
351	req, out := c.CreateLocationFsxWindowsRequest(input)
352	return out, req.Send()
353}
354
355// CreateLocationFsxWindowsWithContext is the same as CreateLocationFsxWindows with the addition of
356// the ability to pass a context and additional request options.
357//
358// See CreateLocationFsxWindows for details on how to use this API operation.
359//
360// The context must be non-nil and will be used for request cancellation. If
361// the context is nil a panic will occur. In the future the SDK may create
362// sub-contexts for http.Requests. See https://golang.org/pkg/context/
363// for more information on using Contexts.
364func (c *DataSync) CreateLocationFsxWindowsWithContext(ctx aws.Context, input *CreateLocationFsxWindowsInput, opts ...request.Option) (*CreateLocationFsxWindowsOutput, error) {
365	req, out := c.CreateLocationFsxWindowsRequest(input)
366	req.SetContext(ctx)
367	req.ApplyOptions(opts...)
368	return out, req.Send()
369}
370
371const opCreateLocationNfs = "CreateLocationNfs"
372
373// CreateLocationNfsRequest generates a "aws/request.Request" representing the
374// client's request for the CreateLocationNfs operation. The "output" return
375// value will be populated with the request's response once the request completes
376// successfully.
377//
378// Use "Send" method on the returned Request to send the API call to the service.
379// the "output" return value is not valid until after Send returns without error.
380//
381// See CreateLocationNfs for more information on using the CreateLocationNfs
382// API call, and error handling.
383//
384// This method is useful when you want to inject custom logic or configuration
385// into the SDK's request lifecycle. Such as custom headers, or retry logic.
386//
387//
388//    // Example sending a request using the CreateLocationNfsRequest method.
389//    req, resp := client.CreateLocationNfsRequest(params)
390//
391//    err := req.Send()
392//    if err == nil { // resp is now filled
393//        fmt.Println(resp)
394//    }
395//
396// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationNfs
397func (c *DataSync) CreateLocationNfsRequest(input *CreateLocationNfsInput) (req *request.Request, output *CreateLocationNfsOutput) {
398	op := &request.Operation{
399		Name:       opCreateLocationNfs,
400		HTTPMethod: "POST",
401		HTTPPath:   "/",
402	}
403
404	if input == nil {
405		input = &CreateLocationNfsInput{}
406	}
407
408	output = &CreateLocationNfsOutput{}
409	req = c.newRequest(op, input, output)
410	return
411}
412
413// CreateLocationNfs API operation for AWS DataSync.
414//
415// Defines a file system on a Network File System (NFS) server that can be read
416// from or written to
417//
418// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
419// with awserr.Error's Code and Message methods to get detailed information about
420// the error.
421//
422// See the AWS API reference guide for AWS DataSync's
423// API operation CreateLocationNfs for usage and error information.
424//
425// Returned Error Types:
426//   * InvalidRequestException
427//   This exception is thrown when the client submits a malformed request.
428//
429//   * InternalException
430//   This exception is thrown when an error occurs in the AWS DataSync service.
431//
432// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationNfs
433func (c *DataSync) CreateLocationNfs(input *CreateLocationNfsInput) (*CreateLocationNfsOutput, error) {
434	req, out := c.CreateLocationNfsRequest(input)
435	return out, req.Send()
436}
437
438// CreateLocationNfsWithContext is the same as CreateLocationNfs with the addition of
439// the ability to pass a context and additional request options.
440//
441// See CreateLocationNfs for details on how to use this API operation.
442//
443// The context must be non-nil and will be used for request cancellation. If
444// the context is nil a panic will occur. In the future the SDK may create
445// sub-contexts for http.Requests. See https://golang.org/pkg/context/
446// for more information on using Contexts.
447func (c *DataSync) CreateLocationNfsWithContext(ctx aws.Context, input *CreateLocationNfsInput, opts ...request.Option) (*CreateLocationNfsOutput, error) {
448	req, out := c.CreateLocationNfsRequest(input)
449	req.SetContext(ctx)
450	req.ApplyOptions(opts...)
451	return out, req.Send()
452}
453
454const opCreateLocationS3 = "CreateLocationS3"
455
456// CreateLocationS3Request generates a "aws/request.Request" representing the
457// client's request for the CreateLocationS3 operation. The "output" return
458// value will be populated with the request's response once the request completes
459// successfully.
460//
461// Use "Send" method on the returned Request to send the API call to the service.
462// the "output" return value is not valid until after Send returns without error.
463//
464// See CreateLocationS3 for more information on using the CreateLocationS3
465// API call, and error handling.
466//
467// This method is useful when you want to inject custom logic or configuration
468// into the SDK's request lifecycle. Such as custom headers, or retry logic.
469//
470//
471//    // Example sending a request using the CreateLocationS3Request method.
472//    req, resp := client.CreateLocationS3Request(params)
473//
474//    err := req.Send()
475//    if err == nil { // resp is now filled
476//        fmt.Println(resp)
477//    }
478//
479// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationS3
480func (c *DataSync) CreateLocationS3Request(input *CreateLocationS3Input) (req *request.Request, output *CreateLocationS3Output) {
481	op := &request.Operation{
482		Name:       opCreateLocationS3,
483		HTTPMethod: "POST",
484		HTTPPath:   "/",
485	}
486
487	if input == nil {
488		input = &CreateLocationS3Input{}
489	}
490
491	output = &CreateLocationS3Output{}
492	req = c.newRequest(op, input, output)
493	return
494}
495
496// CreateLocationS3 API operation for AWS DataSync.
497//
498// Creates an endpoint for an Amazon S3 bucket.
499//
500// For AWS DataSync to access a destination S3 bucket, it needs an AWS Identity
501// and Access Management (IAM) role that has the required permissions. You can
502// set up the required permissions by creating an IAM policy that grants the
503// required permissions and attaching the policy to the role. An example of
504// such a policy is shown in the examples section.
505//
506// For more information, see https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html#create-s3-location
507// in the AWS DataSync User Guide.
508//
509// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
510// with awserr.Error's Code and Message methods to get detailed information about
511// the error.
512//
513// See the AWS API reference guide for AWS DataSync's
514// API operation CreateLocationS3 for usage and error information.
515//
516// Returned Error Types:
517//   * InvalidRequestException
518//   This exception is thrown when the client submits a malformed request.
519//
520//   * InternalException
521//   This exception is thrown when an error occurs in the AWS DataSync service.
522//
523// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationS3
524func (c *DataSync) CreateLocationS3(input *CreateLocationS3Input) (*CreateLocationS3Output, error) {
525	req, out := c.CreateLocationS3Request(input)
526	return out, req.Send()
527}
528
529// CreateLocationS3WithContext is the same as CreateLocationS3 with the addition of
530// the ability to pass a context and additional request options.
531//
532// See CreateLocationS3 for details on how to use this API operation.
533//
534// The context must be non-nil and will be used for request cancellation. If
535// the context is nil a panic will occur. In the future the SDK may create
536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
537// for more information on using Contexts.
538func (c *DataSync) CreateLocationS3WithContext(ctx aws.Context, input *CreateLocationS3Input, opts ...request.Option) (*CreateLocationS3Output, error) {
539	req, out := c.CreateLocationS3Request(input)
540	req.SetContext(ctx)
541	req.ApplyOptions(opts...)
542	return out, req.Send()
543}
544
545const opCreateLocationSmb = "CreateLocationSmb"
546
547// CreateLocationSmbRequest generates a "aws/request.Request" representing the
548// client's request for the CreateLocationSmb operation. The "output" return
549// value will be populated with the request's response once the request completes
550// successfully.
551//
552// Use "Send" method on the returned Request to send the API call to the service.
553// the "output" return value is not valid until after Send returns without error.
554//
555// See CreateLocationSmb for more information on using the CreateLocationSmb
556// API call, and error handling.
557//
558// This method is useful when you want to inject custom logic or configuration
559// into the SDK's request lifecycle. Such as custom headers, or retry logic.
560//
561//
562//    // Example sending a request using the CreateLocationSmbRequest method.
563//    req, resp := client.CreateLocationSmbRequest(params)
564//
565//    err := req.Send()
566//    if err == nil { // resp is now filled
567//        fmt.Println(resp)
568//    }
569//
570// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationSmb
571func (c *DataSync) CreateLocationSmbRequest(input *CreateLocationSmbInput) (req *request.Request, output *CreateLocationSmbOutput) {
572	op := &request.Operation{
573		Name:       opCreateLocationSmb,
574		HTTPMethod: "POST",
575		HTTPPath:   "/",
576	}
577
578	if input == nil {
579		input = &CreateLocationSmbInput{}
580	}
581
582	output = &CreateLocationSmbOutput{}
583	req = c.newRequest(op, input, output)
584	return
585}
586
587// CreateLocationSmb API operation for AWS DataSync.
588//
589// Defines a file system on an Server Message Block (SMB) server that can be
590// read from or written to.
591//
592// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
593// with awserr.Error's Code and Message methods to get detailed information about
594// the error.
595//
596// See the AWS API reference guide for AWS DataSync's
597// API operation CreateLocationSmb for usage and error information.
598//
599// Returned Error Types:
600//   * InvalidRequestException
601//   This exception is thrown when the client submits a malformed request.
602//
603//   * InternalException
604//   This exception is thrown when an error occurs in the AWS DataSync service.
605//
606// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationSmb
607func (c *DataSync) CreateLocationSmb(input *CreateLocationSmbInput) (*CreateLocationSmbOutput, error) {
608	req, out := c.CreateLocationSmbRequest(input)
609	return out, req.Send()
610}
611
612// CreateLocationSmbWithContext is the same as CreateLocationSmb with the addition of
613// the ability to pass a context and additional request options.
614//
615// See CreateLocationSmb for details on how to use this API operation.
616//
617// The context must be non-nil and will be used for request cancellation. If
618// the context is nil a panic will occur. In the future the SDK may create
619// sub-contexts for http.Requests. See https://golang.org/pkg/context/
620// for more information on using Contexts.
621func (c *DataSync) CreateLocationSmbWithContext(ctx aws.Context, input *CreateLocationSmbInput, opts ...request.Option) (*CreateLocationSmbOutput, error) {
622	req, out := c.CreateLocationSmbRequest(input)
623	req.SetContext(ctx)
624	req.ApplyOptions(opts...)
625	return out, req.Send()
626}
627
628const opCreateTask = "CreateTask"
629
630// CreateTaskRequest generates a "aws/request.Request" representing the
631// client's request for the CreateTask operation. The "output" return
632// value will be populated with the request's response once the request completes
633// successfully.
634//
635// Use "Send" method on the returned Request to send the API call to the service.
636// the "output" return value is not valid until after Send returns without error.
637//
638// See CreateTask for more information on using the CreateTask
639// API call, and error handling.
640//
641// This method is useful when you want to inject custom logic or configuration
642// into the SDK's request lifecycle. Such as custom headers, or retry logic.
643//
644//
645//    // Example sending a request using the CreateTaskRequest method.
646//    req, resp := client.CreateTaskRequest(params)
647//
648//    err := req.Send()
649//    if err == nil { // resp is now filled
650//        fmt.Println(resp)
651//    }
652//
653// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateTask
654func (c *DataSync) CreateTaskRequest(input *CreateTaskInput) (req *request.Request, output *CreateTaskOutput) {
655	op := &request.Operation{
656		Name:       opCreateTask,
657		HTTPMethod: "POST",
658		HTTPPath:   "/",
659	}
660
661	if input == nil {
662		input = &CreateTaskInput{}
663	}
664
665	output = &CreateTaskOutput{}
666	req = c.newRequest(op, input, output)
667	return
668}
669
670// CreateTask API operation for AWS DataSync.
671//
672// Creates a task. A task is a set of two locations (source and destination)
673// and a set of Options that you use to control the behavior of a task. If you
674// don't specify Options when you create a task, AWS DataSync populates them
675// with service defaults.
676//
677// When you create a task, it first enters the CREATING state. During CREATING
678// AWS DataSync attempts to mount the on-premises Network File System (NFS)
679// location. The task transitions to the AVAILABLE state without waiting for
680// the AWS location to become mounted. If required, AWS DataSync mounts the
681// AWS location before each task execution.
682//
683// If an agent that is associated with a source (NFS) location goes offline,
684// the task transitions to the UNAVAILABLE status. If the status of the task
685// remains in the CREATING status for more than a few minutes, it means that
686// your agent might be having trouble mounting the source NFS file system. Check
687// the task's ErrorCode and ErrorDetail. Mount issues are often caused by either
688// a misconfigured firewall or a mistyped NFS server host name.
689//
690// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
691// with awserr.Error's Code and Message methods to get detailed information about
692// the error.
693//
694// See the AWS API reference guide for AWS DataSync's
695// API operation CreateTask for usage and error information.
696//
697// Returned Error Types:
698//   * InvalidRequestException
699//   This exception is thrown when the client submits a malformed request.
700//
701//   * InternalException
702//   This exception is thrown when an error occurs in the AWS DataSync service.
703//
704// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateTask
705func (c *DataSync) CreateTask(input *CreateTaskInput) (*CreateTaskOutput, error) {
706	req, out := c.CreateTaskRequest(input)
707	return out, req.Send()
708}
709
710// CreateTaskWithContext is the same as CreateTask with the addition of
711// the ability to pass a context and additional request options.
712//
713// See CreateTask for details on how to use this API operation.
714//
715// The context must be non-nil and will be used for request cancellation. If
716// the context is nil a panic will occur. In the future the SDK may create
717// sub-contexts for http.Requests. See https://golang.org/pkg/context/
718// for more information on using Contexts.
719func (c *DataSync) CreateTaskWithContext(ctx aws.Context, input *CreateTaskInput, opts ...request.Option) (*CreateTaskOutput, error) {
720	req, out := c.CreateTaskRequest(input)
721	req.SetContext(ctx)
722	req.ApplyOptions(opts...)
723	return out, req.Send()
724}
725
726const opDeleteAgent = "DeleteAgent"
727
728// DeleteAgentRequest generates a "aws/request.Request" representing the
729// client's request for the DeleteAgent operation. The "output" return
730// value will be populated with the request's response once the request completes
731// successfully.
732//
733// Use "Send" method on the returned Request to send the API call to the service.
734// the "output" return value is not valid until after Send returns without error.
735//
736// See DeleteAgent for more information on using the DeleteAgent
737// API call, and error handling.
738//
739// This method is useful when you want to inject custom logic or configuration
740// into the SDK's request lifecycle. Such as custom headers, or retry logic.
741//
742//
743//    // Example sending a request using the DeleteAgentRequest method.
744//    req, resp := client.DeleteAgentRequest(params)
745//
746//    err := req.Send()
747//    if err == nil { // resp is now filled
748//        fmt.Println(resp)
749//    }
750//
751// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteAgent
752func (c *DataSync) DeleteAgentRequest(input *DeleteAgentInput) (req *request.Request, output *DeleteAgentOutput) {
753	op := &request.Operation{
754		Name:       opDeleteAgent,
755		HTTPMethod: "POST",
756		HTTPPath:   "/",
757	}
758
759	if input == nil {
760		input = &DeleteAgentInput{}
761	}
762
763	output = &DeleteAgentOutput{}
764	req = c.newRequest(op, input, output)
765	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
766	return
767}
768
769// DeleteAgent API operation for AWS DataSync.
770//
771// Deletes an agent. To specify which agent to delete, use the Amazon Resource
772// Name (ARN) of the agent in your request. The operation disassociates the
773// agent from your AWS account. However, it doesn't delete the agent virtual
774// machine (VM) from your on-premises environment.
775//
776// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
777// with awserr.Error's Code and Message methods to get detailed information about
778// the error.
779//
780// See the AWS API reference guide for AWS DataSync's
781// API operation DeleteAgent for usage and error information.
782//
783// Returned Error Types:
784//   * InvalidRequestException
785//   This exception is thrown when the client submits a malformed request.
786//
787//   * InternalException
788//   This exception is thrown when an error occurs in the AWS DataSync service.
789//
790// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteAgent
791func (c *DataSync) DeleteAgent(input *DeleteAgentInput) (*DeleteAgentOutput, error) {
792	req, out := c.DeleteAgentRequest(input)
793	return out, req.Send()
794}
795
796// DeleteAgentWithContext is the same as DeleteAgent with the addition of
797// the ability to pass a context and additional request options.
798//
799// See DeleteAgent for details on how to use this API operation.
800//
801// The context must be non-nil and will be used for request cancellation. If
802// the context is nil a panic will occur. In the future the SDK may create
803// sub-contexts for http.Requests. See https://golang.org/pkg/context/
804// for more information on using Contexts.
805func (c *DataSync) DeleteAgentWithContext(ctx aws.Context, input *DeleteAgentInput, opts ...request.Option) (*DeleteAgentOutput, error) {
806	req, out := c.DeleteAgentRequest(input)
807	req.SetContext(ctx)
808	req.ApplyOptions(opts...)
809	return out, req.Send()
810}
811
812const opDeleteLocation = "DeleteLocation"
813
814// DeleteLocationRequest generates a "aws/request.Request" representing the
815// client's request for the DeleteLocation operation. The "output" return
816// value will be populated with the request's response once the request completes
817// successfully.
818//
819// Use "Send" method on the returned Request to send the API call to the service.
820// the "output" return value is not valid until after Send returns without error.
821//
822// See DeleteLocation for more information on using the DeleteLocation
823// API call, and error handling.
824//
825// This method is useful when you want to inject custom logic or configuration
826// into the SDK's request lifecycle. Such as custom headers, or retry logic.
827//
828//
829//    // Example sending a request using the DeleteLocationRequest method.
830//    req, resp := client.DeleteLocationRequest(params)
831//
832//    err := req.Send()
833//    if err == nil { // resp is now filled
834//        fmt.Println(resp)
835//    }
836//
837// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteLocation
838func (c *DataSync) DeleteLocationRequest(input *DeleteLocationInput) (req *request.Request, output *DeleteLocationOutput) {
839	op := &request.Operation{
840		Name:       opDeleteLocation,
841		HTTPMethod: "POST",
842		HTTPPath:   "/",
843	}
844
845	if input == nil {
846		input = &DeleteLocationInput{}
847	}
848
849	output = &DeleteLocationOutput{}
850	req = c.newRequest(op, input, output)
851	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
852	return
853}
854
855// DeleteLocation API operation for AWS DataSync.
856//
857// Deletes the configuration of a location used by AWS DataSync.
858//
859// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
860// with awserr.Error's Code and Message methods to get detailed information about
861// the error.
862//
863// See the AWS API reference guide for AWS DataSync's
864// API operation DeleteLocation for usage and error information.
865//
866// Returned Error Types:
867//   * InvalidRequestException
868//   This exception is thrown when the client submits a malformed request.
869//
870//   * InternalException
871//   This exception is thrown when an error occurs in the AWS DataSync service.
872//
873// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteLocation
874func (c *DataSync) DeleteLocation(input *DeleteLocationInput) (*DeleteLocationOutput, error) {
875	req, out := c.DeleteLocationRequest(input)
876	return out, req.Send()
877}
878
879// DeleteLocationWithContext is the same as DeleteLocation with the addition of
880// the ability to pass a context and additional request options.
881//
882// See DeleteLocation for details on how to use this API operation.
883//
884// The context must be non-nil and will be used for request cancellation. If
885// the context is nil a panic will occur. In the future the SDK may create
886// sub-contexts for http.Requests. See https://golang.org/pkg/context/
887// for more information on using Contexts.
888func (c *DataSync) DeleteLocationWithContext(ctx aws.Context, input *DeleteLocationInput, opts ...request.Option) (*DeleteLocationOutput, error) {
889	req, out := c.DeleteLocationRequest(input)
890	req.SetContext(ctx)
891	req.ApplyOptions(opts...)
892	return out, req.Send()
893}
894
895const opDeleteTask = "DeleteTask"
896
897// DeleteTaskRequest generates a "aws/request.Request" representing the
898// client's request for the DeleteTask operation. The "output" return
899// value will be populated with the request's response once the request completes
900// successfully.
901//
902// Use "Send" method on the returned Request to send the API call to the service.
903// the "output" return value is not valid until after Send returns without error.
904//
905// See DeleteTask for more information on using the DeleteTask
906// API call, and error handling.
907//
908// This method is useful when you want to inject custom logic or configuration
909// into the SDK's request lifecycle. Such as custom headers, or retry logic.
910//
911//
912//    // Example sending a request using the DeleteTaskRequest method.
913//    req, resp := client.DeleteTaskRequest(params)
914//
915//    err := req.Send()
916//    if err == nil { // resp is now filled
917//        fmt.Println(resp)
918//    }
919//
920// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteTask
921func (c *DataSync) DeleteTaskRequest(input *DeleteTaskInput) (req *request.Request, output *DeleteTaskOutput) {
922	op := &request.Operation{
923		Name:       opDeleteTask,
924		HTTPMethod: "POST",
925		HTTPPath:   "/",
926	}
927
928	if input == nil {
929		input = &DeleteTaskInput{}
930	}
931
932	output = &DeleteTaskOutput{}
933	req = c.newRequest(op, input, output)
934	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
935	return
936}
937
938// DeleteTask API operation for AWS DataSync.
939//
940// Deletes a task.
941//
942// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
943// with awserr.Error's Code and Message methods to get detailed information about
944// the error.
945//
946// See the AWS API reference guide for AWS DataSync's
947// API operation DeleteTask for usage and error information.
948//
949// Returned Error Types:
950//   * InvalidRequestException
951//   This exception is thrown when the client submits a malformed request.
952//
953//   * InternalException
954//   This exception is thrown when an error occurs in the AWS DataSync service.
955//
956// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteTask
957func (c *DataSync) DeleteTask(input *DeleteTaskInput) (*DeleteTaskOutput, error) {
958	req, out := c.DeleteTaskRequest(input)
959	return out, req.Send()
960}
961
962// DeleteTaskWithContext is the same as DeleteTask with the addition of
963// the ability to pass a context and additional request options.
964//
965// See DeleteTask for details on how to use this API operation.
966//
967// The context must be non-nil and will be used for request cancellation. If
968// the context is nil a panic will occur. In the future the SDK may create
969// sub-contexts for http.Requests. See https://golang.org/pkg/context/
970// for more information on using Contexts.
971func (c *DataSync) DeleteTaskWithContext(ctx aws.Context, input *DeleteTaskInput, opts ...request.Option) (*DeleteTaskOutput, error) {
972	req, out := c.DeleteTaskRequest(input)
973	req.SetContext(ctx)
974	req.ApplyOptions(opts...)
975	return out, req.Send()
976}
977
978const opDescribeAgent = "DescribeAgent"
979
980// DescribeAgentRequest generates a "aws/request.Request" representing the
981// client's request for the DescribeAgent operation. The "output" return
982// value will be populated with the request's response once the request completes
983// successfully.
984//
985// Use "Send" method on the returned Request to send the API call to the service.
986// the "output" return value is not valid until after Send returns without error.
987//
988// See DescribeAgent for more information on using the DescribeAgent
989// API call, and error handling.
990//
991// This method is useful when you want to inject custom logic or configuration
992// into the SDK's request lifecycle. Such as custom headers, or retry logic.
993//
994//
995//    // Example sending a request using the DescribeAgentRequest method.
996//    req, resp := client.DescribeAgentRequest(params)
997//
998//    err := req.Send()
999//    if err == nil { // resp is now filled
1000//        fmt.Println(resp)
1001//    }
1002//
1003// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeAgent
1004func (c *DataSync) DescribeAgentRequest(input *DescribeAgentInput) (req *request.Request, output *DescribeAgentOutput) {
1005	op := &request.Operation{
1006		Name:       opDescribeAgent,
1007		HTTPMethod: "POST",
1008		HTTPPath:   "/",
1009	}
1010
1011	if input == nil {
1012		input = &DescribeAgentInput{}
1013	}
1014
1015	output = &DescribeAgentOutput{}
1016	req = c.newRequest(op, input, output)
1017	return
1018}
1019
1020// DescribeAgent API operation for AWS DataSync.
1021//
1022// Returns metadata such as the name, the network interfaces, and the status
1023// (that is, whether the agent is running or not) for an agent. To specify which
1024// agent to describe, use the Amazon Resource Name (ARN) of the agent in your
1025// request.
1026//
1027// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1028// with awserr.Error's Code and Message methods to get detailed information about
1029// the error.
1030//
1031// See the AWS API reference guide for AWS DataSync's
1032// API operation DescribeAgent for usage and error information.
1033//
1034// Returned Error Types:
1035//   * InvalidRequestException
1036//   This exception is thrown when the client submits a malformed request.
1037//
1038//   * InternalException
1039//   This exception is thrown when an error occurs in the AWS DataSync service.
1040//
1041// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeAgent
1042func (c *DataSync) DescribeAgent(input *DescribeAgentInput) (*DescribeAgentOutput, error) {
1043	req, out := c.DescribeAgentRequest(input)
1044	return out, req.Send()
1045}
1046
1047// DescribeAgentWithContext is the same as DescribeAgent with the addition of
1048// the ability to pass a context and additional request options.
1049//
1050// See DescribeAgent for details on how to use this API operation.
1051//
1052// The context must be non-nil and will be used for request cancellation. If
1053// the context is nil a panic will occur. In the future the SDK may create
1054// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1055// for more information on using Contexts.
1056func (c *DataSync) DescribeAgentWithContext(ctx aws.Context, input *DescribeAgentInput, opts ...request.Option) (*DescribeAgentOutput, error) {
1057	req, out := c.DescribeAgentRequest(input)
1058	req.SetContext(ctx)
1059	req.ApplyOptions(opts...)
1060	return out, req.Send()
1061}
1062
1063const opDescribeLocationEfs = "DescribeLocationEfs"
1064
1065// DescribeLocationEfsRequest generates a "aws/request.Request" representing the
1066// client's request for the DescribeLocationEfs operation. The "output" return
1067// value will be populated with the request's response once the request completes
1068// successfully.
1069//
1070// Use "Send" method on the returned Request to send the API call to the service.
1071// the "output" return value is not valid until after Send returns without error.
1072//
1073// See DescribeLocationEfs for more information on using the DescribeLocationEfs
1074// API call, and error handling.
1075//
1076// This method is useful when you want to inject custom logic or configuration
1077// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1078//
1079//
1080//    // Example sending a request using the DescribeLocationEfsRequest method.
1081//    req, resp := client.DescribeLocationEfsRequest(params)
1082//
1083//    err := req.Send()
1084//    if err == nil { // resp is now filled
1085//        fmt.Println(resp)
1086//    }
1087//
1088// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationEfs
1089func (c *DataSync) DescribeLocationEfsRequest(input *DescribeLocationEfsInput) (req *request.Request, output *DescribeLocationEfsOutput) {
1090	op := &request.Operation{
1091		Name:       opDescribeLocationEfs,
1092		HTTPMethod: "POST",
1093		HTTPPath:   "/",
1094	}
1095
1096	if input == nil {
1097		input = &DescribeLocationEfsInput{}
1098	}
1099
1100	output = &DescribeLocationEfsOutput{}
1101	req = c.newRequest(op, input, output)
1102	return
1103}
1104
1105// DescribeLocationEfs API operation for AWS DataSync.
1106//
1107// Returns metadata, such as the path information about an Amazon EFS location.
1108//
1109// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1110// with awserr.Error's Code and Message methods to get detailed information about
1111// the error.
1112//
1113// See the AWS API reference guide for AWS DataSync's
1114// API operation DescribeLocationEfs for usage and error information.
1115//
1116// Returned Error Types:
1117//   * InvalidRequestException
1118//   This exception is thrown when the client submits a malformed request.
1119//
1120//   * InternalException
1121//   This exception is thrown when an error occurs in the AWS DataSync service.
1122//
1123// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationEfs
1124func (c *DataSync) DescribeLocationEfs(input *DescribeLocationEfsInput) (*DescribeLocationEfsOutput, error) {
1125	req, out := c.DescribeLocationEfsRequest(input)
1126	return out, req.Send()
1127}
1128
1129// DescribeLocationEfsWithContext is the same as DescribeLocationEfs with the addition of
1130// the ability to pass a context and additional request options.
1131//
1132// See DescribeLocationEfs for details on how to use this API operation.
1133//
1134// The context must be non-nil and will be used for request cancellation. If
1135// the context is nil a panic will occur. In the future the SDK may create
1136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1137// for more information on using Contexts.
1138func (c *DataSync) DescribeLocationEfsWithContext(ctx aws.Context, input *DescribeLocationEfsInput, opts ...request.Option) (*DescribeLocationEfsOutput, error) {
1139	req, out := c.DescribeLocationEfsRequest(input)
1140	req.SetContext(ctx)
1141	req.ApplyOptions(opts...)
1142	return out, req.Send()
1143}
1144
1145const opDescribeLocationFsxWindows = "DescribeLocationFsxWindows"
1146
1147// DescribeLocationFsxWindowsRequest generates a "aws/request.Request" representing the
1148// client's request for the DescribeLocationFsxWindows operation. The "output" return
1149// value will be populated with the request's response once the request completes
1150// successfully.
1151//
1152// Use "Send" method on the returned Request to send the API call to the service.
1153// the "output" return value is not valid until after Send returns without error.
1154//
1155// See DescribeLocationFsxWindows for more information on using the DescribeLocationFsxWindows
1156// API call, and error handling.
1157//
1158// This method is useful when you want to inject custom logic or configuration
1159// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1160//
1161//
1162//    // Example sending a request using the DescribeLocationFsxWindowsRequest method.
1163//    req, resp := client.DescribeLocationFsxWindowsRequest(params)
1164//
1165//    err := req.Send()
1166//    if err == nil { // resp is now filled
1167//        fmt.Println(resp)
1168//    }
1169//
1170// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxWindows
1171func (c *DataSync) DescribeLocationFsxWindowsRequest(input *DescribeLocationFsxWindowsInput) (req *request.Request, output *DescribeLocationFsxWindowsOutput) {
1172	op := &request.Operation{
1173		Name:       opDescribeLocationFsxWindows,
1174		HTTPMethod: "POST",
1175		HTTPPath:   "/",
1176	}
1177
1178	if input == nil {
1179		input = &DescribeLocationFsxWindowsInput{}
1180	}
1181
1182	output = &DescribeLocationFsxWindowsOutput{}
1183	req = c.newRequest(op, input, output)
1184	return
1185}
1186
1187// DescribeLocationFsxWindows API operation for AWS DataSync.
1188//
1189// Returns metadata, such as the path information about an Amazon FSx for Windows
1190// location.
1191//
1192// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1193// with awserr.Error's Code and Message methods to get detailed information about
1194// the error.
1195//
1196// See the AWS API reference guide for AWS DataSync's
1197// API operation DescribeLocationFsxWindows for usage and error information.
1198//
1199// Returned Error Types:
1200//   * InvalidRequestException
1201//   This exception is thrown when the client submits a malformed request.
1202//
1203//   * InternalException
1204//   This exception is thrown when an error occurs in the AWS DataSync service.
1205//
1206// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxWindows
1207func (c *DataSync) DescribeLocationFsxWindows(input *DescribeLocationFsxWindowsInput) (*DescribeLocationFsxWindowsOutput, error) {
1208	req, out := c.DescribeLocationFsxWindowsRequest(input)
1209	return out, req.Send()
1210}
1211
1212// DescribeLocationFsxWindowsWithContext is the same as DescribeLocationFsxWindows with the addition of
1213// the ability to pass a context and additional request options.
1214//
1215// See DescribeLocationFsxWindows for details on how to use this API operation.
1216//
1217// The context must be non-nil and will be used for request cancellation. If
1218// the context is nil a panic will occur. In the future the SDK may create
1219// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1220// for more information on using Contexts.
1221func (c *DataSync) DescribeLocationFsxWindowsWithContext(ctx aws.Context, input *DescribeLocationFsxWindowsInput, opts ...request.Option) (*DescribeLocationFsxWindowsOutput, error) {
1222	req, out := c.DescribeLocationFsxWindowsRequest(input)
1223	req.SetContext(ctx)
1224	req.ApplyOptions(opts...)
1225	return out, req.Send()
1226}
1227
1228const opDescribeLocationNfs = "DescribeLocationNfs"
1229
1230// DescribeLocationNfsRequest generates a "aws/request.Request" representing the
1231// client's request for the DescribeLocationNfs operation. The "output" return
1232// value will be populated with the request's response once the request completes
1233// successfully.
1234//
1235// Use "Send" method on the returned Request to send the API call to the service.
1236// the "output" return value is not valid until after Send returns without error.
1237//
1238// See DescribeLocationNfs for more information on using the DescribeLocationNfs
1239// API call, and error handling.
1240//
1241// This method is useful when you want to inject custom logic or configuration
1242// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1243//
1244//
1245//    // Example sending a request using the DescribeLocationNfsRequest method.
1246//    req, resp := client.DescribeLocationNfsRequest(params)
1247//
1248//    err := req.Send()
1249//    if err == nil { // resp is now filled
1250//        fmt.Println(resp)
1251//    }
1252//
1253// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationNfs
1254func (c *DataSync) DescribeLocationNfsRequest(input *DescribeLocationNfsInput) (req *request.Request, output *DescribeLocationNfsOutput) {
1255	op := &request.Operation{
1256		Name:       opDescribeLocationNfs,
1257		HTTPMethod: "POST",
1258		HTTPPath:   "/",
1259	}
1260
1261	if input == nil {
1262		input = &DescribeLocationNfsInput{}
1263	}
1264
1265	output = &DescribeLocationNfsOutput{}
1266	req = c.newRequest(op, input, output)
1267	return
1268}
1269
1270// DescribeLocationNfs API operation for AWS DataSync.
1271//
1272// Returns metadata, such as the path information, about a NFS location.
1273//
1274// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1275// with awserr.Error's Code and Message methods to get detailed information about
1276// the error.
1277//
1278// See the AWS API reference guide for AWS DataSync's
1279// API operation DescribeLocationNfs for usage and error information.
1280//
1281// Returned Error Types:
1282//   * InvalidRequestException
1283//   This exception is thrown when the client submits a malformed request.
1284//
1285//   * InternalException
1286//   This exception is thrown when an error occurs in the AWS DataSync service.
1287//
1288// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationNfs
1289func (c *DataSync) DescribeLocationNfs(input *DescribeLocationNfsInput) (*DescribeLocationNfsOutput, error) {
1290	req, out := c.DescribeLocationNfsRequest(input)
1291	return out, req.Send()
1292}
1293
1294// DescribeLocationNfsWithContext is the same as DescribeLocationNfs with the addition of
1295// the ability to pass a context and additional request options.
1296//
1297// See DescribeLocationNfs for details on how to use this API operation.
1298//
1299// The context must be non-nil and will be used for request cancellation. If
1300// the context is nil a panic will occur. In the future the SDK may create
1301// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1302// for more information on using Contexts.
1303func (c *DataSync) DescribeLocationNfsWithContext(ctx aws.Context, input *DescribeLocationNfsInput, opts ...request.Option) (*DescribeLocationNfsOutput, error) {
1304	req, out := c.DescribeLocationNfsRequest(input)
1305	req.SetContext(ctx)
1306	req.ApplyOptions(opts...)
1307	return out, req.Send()
1308}
1309
1310const opDescribeLocationS3 = "DescribeLocationS3"
1311
1312// DescribeLocationS3Request generates a "aws/request.Request" representing the
1313// client's request for the DescribeLocationS3 operation. The "output" return
1314// value will be populated with the request's response once the request completes
1315// successfully.
1316//
1317// Use "Send" method on the returned Request to send the API call to the service.
1318// the "output" return value is not valid until after Send returns without error.
1319//
1320// See DescribeLocationS3 for more information on using the DescribeLocationS3
1321// API call, and error handling.
1322//
1323// This method is useful when you want to inject custom logic or configuration
1324// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1325//
1326//
1327//    // Example sending a request using the DescribeLocationS3Request method.
1328//    req, resp := client.DescribeLocationS3Request(params)
1329//
1330//    err := req.Send()
1331//    if err == nil { // resp is now filled
1332//        fmt.Println(resp)
1333//    }
1334//
1335// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationS3
1336func (c *DataSync) DescribeLocationS3Request(input *DescribeLocationS3Input) (req *request.Request, output *DescribeLocationS3Output) {
1337	op := &request.Operation{
1338		Name:       opDescribeLocationS3,
1339		HTTPMethod: "POST",
1340		HTTPPath:   "/",
1341	}
1342
1343	if input == nil {
1344		input = &DescribeLocationS3Input{}
1345	}
1346
1347	output = &DescribeLocationS3Output{}
1348	req = c.newRequest(op, input, output)
1349	return
1350}
1351
1352// DescribeLocationS3 API operation for AWS DataSync.
1353//
1354// Returns metadata, such as bucket name, about an Amazon S3 bucket location.
1355//
1356// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1357// with awserr.Error's Code and Message methods to get detailed information about
1358// the error.
1359//
1360// See the AWS API reference guide for AWS DataSync's
1361// API operation DescribeLocationS3 for usage and error information.
1362//
1363// Returned Error Types:
1364//   * InvalidRequestException
1365//   This exception is thrown when the client submits a malformed request.
1366//
1367//   * InternalException
1368//   This exception is thrown when an error occurs in the AWS DataSync service.
1369//
1370// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationS3
1371func (c *DataSync) DescribeLocationS3(input *DescribeLocationS3Input) (*DescribeLocationS3Output, error) {
1372	req, out := c.DescribeLocationS3Request(input)
1373	return out, req.Send()
1374}
1375
1376// DescribeLocationS3WithContext is the same as DescribeLocationS3 with the addition of
1377// the ability to pass a context and additional request options.
1378//
1379// See DescribeLocationS3 for details on how to use this API operation.
1380//
1381// The context must be non-nil and will be used for request cancellation. If
1382// the context is nil a panic will occur. In the future the SDK may create
1383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1384// for more information on using Contexts.
1385func (c *DataSync) DescribeLocationS3WithContext(ctx aws.Context, input *DescribeLocationS3Input, opts ...request.Option) (*DescribeLocationS3Output, error) {
1386	req, out := c.DescribeLocationS3Request(input)
1387	req.SetContext(ctx)
1388	req.ApplyOptions(opts...)
1389	return out, req.Send()
1390}
1391
1392const opDescribeLocationSmb = "DescribeLocationSmb"
1393
1394// DescribeLocationSmbRequest generates a "aws/request.Request" representing the
1395// client's request for the DescribeLocationSmb operation. The "output" return
1396// value will be populated with the request's response once the request completes
1397// successfully.
1398//
1399// Use "Send" method on the returned Request to send the API call to the service.
1400// the "output" return value is not valid until after Send returns without error.
1401//
1402// See DescribeLocationSmb for more information on using the DescribeLocationSmb
1403// API call, and error handling.
1404//
1405// This method is useful when you want to inject custom logic or configuration
1406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1407//
1408//
1409//    // Example sending a request using the DescribeLocationSmbRequest method.
1410//    req, resp := client.DescribeLocationSmbRequest(params)
1411//
1412//    err := req.Send()
1413//    if err == nil { // resp is now filled
1414//        fmt.Println(resp)
1415//    }
1416//
1417// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationSmb
1418func (c *DataSync) DescribeLocationSmbRequest(input *DescribeLocationSmbInput) (req *request.Request, output *DescribeLocationSmbOutput) {
1419	op := &request.Operation{
1420		Name:       opDescribeLocationSmb,
1421		HTTPMethod: "POST",
1422		HTTPPath:   "/",
1423	}
1424
1425	if input == nil {
1426		input = &DescribeLocationSmbInput{}
1427	}
1428
1429	output = &DescribeLocationSmbOutput{}
1430	req = c.newRequest(op, input, output)
1431	return
1432}
1433
1434// DescribeLocationSmb API operation for AWS DataSync.
1435//
1436// Returns metadata, such as the path and user information about a SMB location.
1437//
1438// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1439// with awserr.Error's Code and Message methods to get detailed information about
1440// the error.
1441//
1442// See the AWS API reference guide for AWS DataSync's
1443// API operation DescribeLocationSmb for usage and error information.
1444//
1445// Returned Error Types:
1446//   * InvalidRequestException
1447//   This exception is thrown when the client submits a malformed request.
1448//
1449//   * InternalException
1450//   This exception is thrown when an error occurs in the AWS DataSync service.
1451//
1452// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationSmb
1453func (c *DataSync) DescribeLocationSmb(input *DescribeLocationSmbInput) (*DescribeLocationSmbOutput, error) {
1454	req, out := c.DescribeLocationSmbRequest(input)
1455	return out, req.Send()
1456}
1457
1458// DescribeLocationSmbWithContext is the same as DescribeLocationSmb with the addition of
1459// the ability to pass a context and additional request options.
1460//
1461// See DescribeLocationSmb for details on how to use this API operation.
1462//
1463// The context must be non-nil and will be used for request cancellation. If
1464// the context is nil a panic will occur. In the future the SDK may create
1465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1466// for more information on using Contexts.
1467func (c *DataSync) DescribeLocationSmbWithContext(ctx aws.Context, input *DescribeLocationSmbInput, opts ...request.Option) (*DescribeLocationSmbOutput, error) {
1468	req, out := c.DescribeLocationSmbRequest(input)
1469	req.SetContext(ctx)
1470	req.ApplyOptions(opts...)
1471	return out, req.Send()
1472}
1473
1474const opDescribeTask = "DescribeTask"
1475
1476// DescribeTaskRequest generates a "aws/request.Request" representing the
1477// client's request for the DescribeTask operation. The "output" return
1478// value will be populated with the request's response once the request completes
1479// successfully.
1480//
1481// Use "Send" method on the returned Request to send the API call to the service.
1482// the "output" return value is not valid until after Send returns without error.
1483//
1484// See DescribeTask for more information on using the DescribeTask
1485// API call, and error handling.
1486//
1487// This method is useful when you want to inject custom logic or configuration
1488// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1489//
1490//
1491//    // Example sending a request using the DescribeTaskRequest method.
1492//    req, resp := client.DescribeTaskRequest(params)
1493//
1494//    err := req.Send()
1495//    if err == nil { // resp is now filled
1496//        fmt.Println(resp)
1497//    }
1498//
1499// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTask
1500func (c *DataSync) DescribeTaskRequest(input *DescribeTaskInput) (req *request.Request, output *DescribeTaskOutput) {
1501	op := &request.Operation{
1502		Name:       opDescribeTask,
1503		HTTPMethod: "POST",
1504		HTTPPath:   "/",
1505	}
1506
1507	if input == nil {
1508		input = &DescribeTaskInput{}
1509	}
1510
1511	output = &DescribeTaskOutput{}
1512	req = c.newRequest(op, input, output)
1513	return
1514}
1515
1516// DescribeTask API operation for AWS DataSync.
1517//
1518// Returns metadata about a task.
1519//
1520// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1521// with awserr.Error's Code and Message methods to get detailed information about
1522// the error.
1523//
1524// See the AWS API reference guide for AWS DataSync's
1525// API operation DescribeTask for usage and error information.
1526//
1527// Returned Error Types:
1528//   * InvalidRequestException
1529//   This exception is thrown when the client submits a malformed request.
1530//
1531//   * InternalException
1532//   This exception is thrown when an error occurs in the AWS DataSync service.
1533//
1534// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTask
1535func (c *DataSync) DescribeTask(input *DescribeTaskInput) (*DescribeTaskOutput, error) {
1536	req, out := c.DescribeTaskRequest(input)
1537	return out, req.Send()
1538}
1539
1540// DescribeTaskWithContext is the same as DescribeTask with the addition of
1541// the ability to pass a context and additional request options.
1542//
1543// See DescribeTask for details on how to use this API operation.
1544//
1545// The context must be non-nil and will be used for request cancellation. If
1546// the context is nil a panic will occur. In the future the SDK may create
1547// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1548// for more information on using Contexts.
1549func (c *DataSync) DescribeTaskWithContext(ctx aws.Context, input *DescribeTaskInput, opts ...request.Option) (*DescribeTaskOutput, error) {
1550	req, out := c.DescribeTaskRequest(input)
1551	req.SetContext(ctx)
1552	req.ApplyOptions(opts...)
1553	return out, req.Send()
1554}
1555
1556const opDescribeTaskExecution = "DescribeTaskExecution"
1557
1558// DescribeTaskExecutionRequest generates a "aws/request.Request" representing the
1559// client's request for the DescribeTaskExecution operation. The "output" return
1560// value will be populated with the request's response once the request completes
1561// successfully.
1562//
1563// Use "Send" method on the returned Request to send the API call to the service.
1564// the "output" return value is not valid until after Send returns without error.
1565//
1566// See DescribeTaskExecution for more information on using the DescribeTaskExecution
1567// API call, and error handling.
1568//
1569// This method is useful when you want to inject custom logic or configuration
1570// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1571//
1572//
1573//    // Example sending a request using the DescribeTaskExecutionRequest method.
1574//    req, resp := client.DescribeTaskExecutionRequest(params)
1575//
1576//    err := req.Send()
1577//    if err == nil { // resp is now filled
1578//        fmt.Println(resp)
1579//    }
1580//
1581// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTaskExecution
1582func (c *DataSync) DescribeTaskExecutionRequest(input *DescribeTaskExecutionInput) (req *request.Request, output *DescribeTaskExecutionOutput) {
1583	op := &request.Operation{
1584		Name:       opDescribeTaskExecution,
1585		HTTPMethod: "POST",
1586		HTTPPath:   "/",
1587	}
1588
1589	if input == nil {
1590		input = &DescribeTaskExecutionInput{}
1591	}
1592
1593	output = &DescribeTaskExecutionOutput{}
1594	req = c.newRequest(op, input, output)
1595	return
1596}
1597
1598// DescribeTaskExecution API operation for AWS DataSync.
1599//
1600// Returns detailed metadata about a task that is being executed.
1601//
1602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1603// with awserr.Error's Code and Message methods to get detailed information about
1604// the error.
1605//
1606// See the AWS API reference guide for AWS DataSync's
1607// API operation DescribeTaskExecution for usage and error information.
1608//
1609// Returned Error Types:
1610//   * InvalidRequestException
1611//   This exception is thrown when the client submits a malformed request.
1612//
1613//   * InternalException
1614//   This exception is thrown when an error occurs in the AWS DataSync service.
1615//
1616// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTaskExecution
1617func (c *DataSync) DescribeTaskExecution(input *DescribeTaskExecutionInput) (*DescribeTaskExecutionOutput, error) {
1618	req, out := c.DescribeTaskExecutionRequest(input)
1619	return out, req.Send()
1620}
1621
1622// DescribeTaskExecutionWithContext is the same as DescribeTaskExecution with the addition of
1623// the ability to pass a context and additional request options.
1624//
1625// See DescribeTaskExecution for details on how to use this API operation.
1626//
1627// The context must be non-nil and will be used for request cancellation. If
1628// the context is nil a panic will occur. In the future the SDK may create
1629// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1630// for more information on using Contexts.
1631func (c *DataSync) DescribeTaskExecutionWithContext(ctx aws.Context, input *DescribeTaskExecutionInput, opts ...request.Option) (*DescribeTaskExecutionOutput, error) {
1632	req, out := c.DescribeTaskExecutionRequest(input)
1633	req.SetContext(ctx)
1634	req.ApplyOptions(opts...)
1635	return out, req.Send()
1636}
1637
1638const opListAgents = "ListAgents"
1639
1640// ListAgentsRequest generates a "aws/request.Request" representing the
1641// client's request for the ListAgents operation. The "output" return
1642// value will be populated with the request's response once the request completes
1643// successfully.
1644//
1645// Use "Send" method on the returned Request to send the API call to the service.
1646// the "output" return value is not valid until after Send returns without error.
1647//
1648// See ListAgents for more information on using the ListAgents
1649// API call, and error handling.
1650//
1651// This method is useful when you want to inject custom logic or configuration
1652// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1653//
1654//
1655//    // Example sending a request using the ListAgentsRequest method.
1656//    req, resp := client.ListAgentsRequest(params)
1657//
1658//    err := req.Send()
1659//    if err == nil { // resp is now filled
1660//        fmt.Println(resp)
1661//    }
1662//
1663// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListAgents
1664func (c *DataSync) ListAgentsRequest(input *ListAgentsInput) (req *request.Request, output *ListAgentsOutput) {
1665	op := &request.Operation{
1666		Name:       opListAgents,
1667		HTTPMethod: "POST",
1668		HTTPPath:   "/",
1669		Paginator: &request.Paginator{
1670			InputTokens:     []string{"NextToken"},
1671			OutputTokens:    []string{"NextToken"},
1672			LimitToken:      "MaxResults",
1673			TruncationToken: "",
1674		},
1675	}
1676
1677	if input == nil {
1678		input = &ListAgentsInput{}
1679	}
1680
1681	output = &ListAgentsOutput{}
1682	req = c.newRequest(op, input, output)
1683	return
1684}
1685
1686// ListAgents API operation for AWS DataSync.
1687//
1688// Returns a list of agents owned by an AWS account in the AWS Region specified
1689// in the request. The returned list is ordered by agent Amazon Resource Name
1690// (ARN).
1691//
1692// By default, this operation returns a maximum of 100 agents. This operation
1693// supports pagination that enables you to optionally reduce the number of agents
1694// returned in a response.
1695//
1696// If you have more agents than are returned in a response (that is, the response
1697// returns only a truncated list of your agents), the response contains a marker
1698// that you can specify in your next request to fetch the next page of agents.
1699//
1700// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1701// with awserr.Error's Code and Message methods to get detailed information about
1702// the error.
1703//
1704// See the AWS API reference guide for AWS DataSync's
1705// API operation ListAgents for usage and error information.
1706//
1707// Returned Error Types:
1708//   * InvalidRequestException
1709//   This exception is thrown when the client submits a malformed request.
1710//
1711//   * InternalException
1712//   This exception is thrown when an error occurs in the AWS DataSync service.
1713//
1714// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListAgents
1715func (c *DataSync) ListAgents(input *ListAgentsInput) (*ListAgentsOutput, error) {
1716	req, out := c.ListAgentsRequest(input)
1717	return out, req.Send()
1718}
1719
1720// ListAgentsWithContext is the same as ListAgents with the addition of
1721// the ability to pass a context and additional request options.
1722//
1723// See ListAgents for details on how to use this API operation.
1724//
1725// The context must be non-nil and will be used for request cancellation. If
1726// the context is nil a panic will occur. In the future the SDK may create
1727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1728// for more information on using Contexts.
1729func (c *DataSync) ListAgentsWithContext(ctx aws.Context, input *ListAgentsInput, opts ...request.Option) (*ListAgentsOutput, error) {
1730	req, out := c.ListAgentsRequest(input)
1731	req.SetContext(ctx)
1732	req.ApplyOptions(opts...)
1733	return out, req.Send()
1734}
1735
1736// ListAgentsPages iterates over the pages of a ListAgents operation,
1737// calling the "fn" function with the response data for each page. To stop
1738// iterating, return false from the fn function.
1739//
1740// See ListAgents method for more information on how to use this operation.
1741//
1742// Note: This operation can generate multiple requests to a service.
1743//
1744//    // Example iterating over at most 3 pages of a ListAgents operation.
1745//    pageNum := 0
1746//    err := client.ListAgentsPages(params,
1747//        func(page *datasync.ListAgentsOutput, lastPage bool) bool {
1748//            pageNum++
1749//            fmt.Println(page)
1750//            return pageNum <= 3
1751//        })
1752//
1753func (c *DataSync) ListAgentsPages(input *ListAgentsInput, fn func(*ListAgentsOutput, bool) bool) error {
1754	return c.ListAgentsPagesWithContext(aws.BackgroundContext(), input, fn)
1755}
1756
1757// ListAgentsPagesWithContext same as ListAgentsPages except
1758// it takes a Context and allows setting request options on the pages.
1759//
1760// The context must be non-nil and will be used for request cancellation. If
1761// the context is nil a panic will occur. In the future the SDK may create
1762// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1763// for more information on using Contexts.
1764func (c *DataSync) ListAgentsPagesWithContext(ctx aws.Context, input *ListAgentsInput, fn func(*ListAgentsOutput, bool) bool, opts ...request.Option) error {
1765	p := request.Pagination{
1766		NewRequest: func() (*request.Request, error) {
1767			var inCpy *ListAgentsInput
1768			if input != nil {
1769				tmp := *input
1770				inCpy = &tmp
1771			}
1772			req, _ := c.ListAgentsRequest(inCpy)
1773			req.SetContext(ctx)
1774			req.ApplyOptions(opts...)
1775			return req, nil
1776		},
1777	}
1778
1779	for p.Next() {
1780		if !fn(p.Page().(*ListAgentsOutput), !p.HasNextPage()) {
1781			break
1782		}
1783	}
1784
1785	return p.Err()
1786}
1787
1788const opListLocations = "ListLocations"
1789
1790// ListLocationsRequest generates a "aws/request.Request" representing the
1791// client's request for the ListLocations operation. The "output" return
1792// value will be populated with the request's response once the request completes
1793// successfully.
1794//
1795// Use "Send" method on the returned Request to send the API call to the service.
1796// the "output" return value is not valid until after Send returns without error.
1797//
1798// See ListLocations for more information on using the ListLocations
1799// API call, and error handling.
1800//
1801// This method is useful when you want to inject custom logic or configuration
1802// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1803//
1804//
1805//    // Example sending a request using the ListLocationsRequest method.
1806//    req, resp := client.ListLocationsRequest(params)
1807//
1808//    err := req.Send()
1809//    if err == nil { // resp is now filled
1810//        fmt.Println(resp)
1811//    }
1812//
1813// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListLocations
1814func (c *DataSync) ListLocationsRequest(input *ListLocationsInput) (req *request.Request, output *ListLocationsOutput) {
1815	op := &request.Operation{
1816		Name:       opListLocations,
1817		HTTPMethod: "POST",
1818		HTTPPath:   "/",
1819		Paginator: &request.Paginator{
1820			InputTokens:     []string{"NextToken"},
1821			OutputTokens:    []string{"NextToken"},
1822			LimitToken:      "MaxResults",
1823			TruncationToken: "",
1824		},
1825	}
1826
1827	if input == nil {
1828		input = &ListLocationsInput{}
1829	}
1830
1831	output = &ListLocationsOutput{}
1832	req = c.newRequest(op, input, output)
1833	return
1834}
1835
1836// ListLocations API operation for AWS DataSync.
1837//
1838// Returns a lists of source and destination locations.
1839//
1840// If you have more locations than are returned in a response (that is, the
1841// response returns only a truncated list of your agents), the response contains
1842// a token that you can specify in your next request to fetch the next page
1843// of locations.
1844//
1845// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1846// with awserr.Error's Code and Message methods to get detailed information about
1847// the error.
1848//
1849// See the AWS API reference guide for AWS DataSync's
1850// API operation ListLocations for usage and error information.
1851//
1852// Returned Error Types:
1853//   * InvalidRequestException
1854//   This exception is thrown when the client submits a malformed request.
1855//
1856//   * InternalException
1857//   This exception is thrown when an error occurs in the AWS DataSync service.
1858//
1859// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListLocations
1860func (c *DataSync) ListLocations(input *ListLocationsInput) (*ListLocationsOutput, error) {
1861	req, out := c.ListLocationsRequest(input)
1862	return out, req.Send()
1863}
1864
1865// ListLocationsWithContext is the same as ListLocations with the addition of
1866// the ability to pass a context and additional request options.
1867//
1868// See ListLocations for details on how to use this API operation.
1869//
1870// The context must be non-nil and will be used for request cancellation. If
1871// the context is nil a panic will occur. In the future the SDK may create
1872// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1873// for more information on using Contexts.
1874func (c *DataSync) ListLocationsWithContext(ctx aws.Context, input *ListLocationsInput, opts ...request.Option) (*ListLocationsOutput, error) {
1875	req, out := c.ListLocationsRequest(input)
1876	req.SetContext(ctx)
1877	req.ApplyOptions(opts...)
1878	return out, req.Send()
1879}
1880
1881// ListLocationsPages iterates over the pages of a ListLocations operation,
1882// calling the "fn" function with the response data for each page. To stop
1883// iterating, return false from the fn function.
1884//
1885// See ListLocations method for more information on how to use this operation.
1886//
1887// Note: This operation can generate multiple requests to a service.
1888//
1889//    // Example iterating over at most 3 pages of a ListLocations operation.
1890//    pageNum := 0
1891//    err := client.ListLocationsPages(params,
1892//        func(page *datasync.ListLocationsOutput, lastPage bool) bool {
1893//            pageNum++
1894//            fmt.Println(page)
1895//            return pageNum <= 3
1896//        })
1897//
1898func (c *DataSync) ListLocationsPages(input *ListLocationsInput, fn func(*ListLocationsOutput, bool) bool) error {
1899	return c.ListLocationsPagesWithContext(aws.BackgroundContext(), input, fn)
1900}
1901
1902// ListLocationsPagesWithContext same as ListLocationsPages except
1903// it takes a Context and allows setting request options on the pages.
1904//
1905// The context must be non-nil and will be used for request cancellation. If
1906// the context is nil a panic will occur. In the future the SDK may create
1907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1908// for more information on using Contexts.
1909func (c *DataSync) ListLocationsPagesWithContext(ctx aws.Context, input *ListLocationsInput, fn func(*ListLocationsOutput, bool) bool, opts ...request.Option) error {
1910	p := request.Pagination{
1911		NewRequest: func() (*request.Request, error) {
1912			var inCpy *ListLocationsInput
1913			if input != nil {
1914				tmp := *input
1915				inCpy = &tmp
1916			}
1917			req, _ := c.ListLocationsRequest(inCpy)
1918			req.SetContext(ctx)
1919			req.ApplyOptions(opts...)
1920			return req, nil
1921		},
1922	}
1923
1924	for p.Next() {
1925		if !fn(p.Page().(*ListLocationsOutput), !p.HasNextPage()) {
1926			break
1927		}
1928	}
1929
1930	return p.Err()
1931}
1932
1933const opListTagsForResource = "ListTagsForResource"
1934
1935// ListTagsForResourceRequest generates a "aws/request.Request" representing the
1936// client's request for the ListTagsForResource operation. The "output" return
1937// value will be populated with the request's response once the request completes
1938// successfully.
1939//
1940// Use "Send" method on the returned Request to send the API call to the service.
1941// the "output" return value is not valid until after Send returns without error.
1942//
1943// See ListTagsForResource for more information on using the ListTagsForResource
1944// API call, and error handling.
1945//
1946// This method is useful when you want to inject custom logic or configuration
1947// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1948//
1949//
1950//    // Example sending a request using the ListTagsForResourceRequest method.
1951//    req, resp := client.ListTagsForResourceRequest(params)
1952//
1953//    err := req.Send()
1954//    if err == nil { // resp is now filled
1955//        fmt.Println(resp)
1956//    }
1957//
1958// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTagsForResource
1959func (c *DataSync) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
1960	op := &request.Operation{
1961		Name:       opListTagsForResource,
1962		HTTPMethod: "POST",
1963		HTTPPath:   "/",
1964		Paginator: &request.Paginator{
1965			InputTokens:     []string{"NextToken"},
1966			OutputTokens:    []string{"NextToken"},
1967			LimitToken:      "MaxResults",
1968			TruncationToken: "",
1969		},
1970	}
1971
1972	if input == nil {
1973		input = &ListTagsForResourceInput{}
1974	}
1975
1976	output = &ListTagsForResourceOutput{}
1977	req = c.newRequest(op, input, output)
1978	return
1979}
1980
1981// ListTagsForResource API operation for AWS DataSync.
1982//
1983// Returns all the tags associated with a specified resources.
1984//
1985// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1986// with awserr.Error's Code and Message methods to get detailed information about
1987// the error.
1988//
1989// See the AWS API reference guide for AWS DataSync's
1990// API operation ListTagsForResource for usage and error information.
1991//
1992// Returned Error Types:
1993//   * InvalidRequestException
1994//   This exception is thrown when the client submits a malformed request.
1995//
1996//   * InternalException
1997//   This exception is thrown when an error occurs in the AWS DataSync service.
1998//
1999// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTagsForResource
2000func (c *DataSync) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2001	req, out := c.ListTagsForResourceRequest(input)
2002	return out, req.Send()
2003}
2004
2005// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2006// the ability to pass a context and additional request options.
2007//
2008// See ListTagsForResource for details on how to use this API operation.
2009//
2010// The context must be non-nil and will be used for request cancellation. If
2011// the context is nil a panic will occur. In the future the SDK may create
2012// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2013// for more information on using Contexts.
2014func (c *DataSync) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2015	req, out := c.ListTagsForResourceRequest(input)
2016	req.SetContext(ctx)
2017	req.ApplyOptions(opts...)
2018	return out, req.Send()
2019}
2020
2021// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
2022// calling the "fn" function with the response data for each page. To stop
2023// iterating, return false from the fn function.
2024//
2025// See ListTagsForResource method for more information on how to use this operation.
2026//
2027// Note: This operation can generate multiple requests to a service.
2028//
2029//    // Example iterating over at most 3 pages of a ListTagsForResource operation.
2030//    pageNum := 0
2031//    err := client.ListTagsForResourcePages(params,
2032//        func(page *datasync.ListTagsForResourceOutput, lastPage bool) bool {
2033//            pageNum++
2034//            fmt.Println(page)
2035//            return pageNum <= 3
2036//        })
2037//
2038func (c *DataSync) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
2039	return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
2040}
2041
2042// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except
2043// it takes a Context and allows setting request options on the pages.
2044//
2045// The context must be non-nil and will be used for request cancellation. If
2046// the context is nil a panic will occur. In the future the SDK may create
2047// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2048// for more information on using Contexts.
2049func (c *DataSync) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
2050	p := request.Pagination{
2051		NewRequest: func() (*request.Request, error) {
2052			var inCpy *ListTagsForResourceInput
2053			if input != nil {
2054				tmp := *input
2055				inCpy = &tmp
2056			}
2057			req, _ := c.ListTagsForResourceRequest(inCpy)
2058			req.SetContext(ctx)
2059			req.ApplyOptions(opts...)
2060			return req, nil
2061		},
2062	}
2063
2064	for p.Next() {
2065		if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
2066			break
2067		}
2068	}
2069
2070	return p.Err()
2071}
2072
2073const opListTaskExecutions = "ListTaskExecutions"
2074
2075// ListTaskExecutionsRequest generates a "aws/request.Request" representing the
2076// client's request for the ListTaskExecutions operation. The "output" return
2077// value will be populated with the request's response once the request completes
2078// successfully.
2079//
2080// Use "Send" method on the returned Request to send the API call to the service.
2081// the "output" return value is not valid until after Send returns without error.
2082//
2083// See ListTaskExecutions for more information on using the ListTaskExecutions
2084// API call, and error handling.
2085//
2086// This method is useful when you want to inject custom logic or configuration
2087// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2088//
2089//
2090//    // Example sending a request using the ListTaskExecutionsRequest method.
2091//    req, resp := client.ListTaskExecutionsRequest(params)
2092//
2093//    err := req.Send()
2094//    if err == nil { // resp is now filled
2095//        fmt.Println(resp)
2096//    }
2097//
2098// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTaskExecutions
2099func (c *DataSync) ListTaskExecutionsRequest(input *ListTaskExecutionsInput) (req *request.Request, output *ListTaskExecutionsOutput) {
2100	op := &request.Operation{
2101		Name:       opListTaskExecutions,
2102		HTTPMethod: "POST",
2103		HTTPPath:   "/",
2104		Paginator: &request.Paginator{
2105			InputTokens:     []string{"NextToken"},
2106			OutputTokens:    []string{"NextToken"},
2107			LimitToken:      "MaxResults",
2108			TruncationToken: "",
2109		},
2110	}
2111
2112	if input == nil {
2113		input = &ListTaskExecutionsInput{}
2114	}
2115
2116	output = &ListTaskExecutionsOutput{}
2117	req = c.newRequest(op, input, output)
2118	return
2119}
2120
2121// ListTaskExecutions API operation for AWS DataSync.
2122//
2123// Returns a list of executed tasks.
2124//
2125// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2126// with awserr.Error's Code and Message methods to get detailed information about
2127// the error.
2128//
2129// See the AWS API reference guide for AWS DataSync's
2130// API operation ListTaskExecutions for usage and error information.
2131//
2132// Returned Error Types:
2133//   * InvalidRequestException
2134//   This exception is thrown when the client submits a malformed request.
2135//
2136//   * InternalException
2137//   This exception is thrown when an error occurs in the AWS DataSync service.
2138//
2139// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTaskExecutions
2140func (c *DataSync) ListTaskExecutions(input *ListTaskExecutionsInput) (*ListTaskExecutionsOutput, error) {
2141	req, out := c.ListTaskExecutionsRequest(input)
2142	return out, req.Send()
2143}
2144
2145// ListTaskExecutionsWithContext is the same as ListTaskExecutions with the addition of
2146// the ability to pass a context and additional request options.
2147//
2148// See ListTaskExecutions for details on how to use this API operation.
2149//
2150// The context must be non-nil and will be used for request cancellation. If
2151// the context is nil a panic will occur. In the future the SDK may create
2152// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2153// for more information on using Contexts.
2154func (c *DataSync) ListTaskExecutionsWithContext(ctx aws.Context, input *ListTaskExecutionsInput, opts ...request.Option) (*ListTaskExecutionsOutput, error) {
2155	req, out := c.ListTaskExecutionsRequest(input)
2156	req.SetContext(ctx)
2157	req.ApplyOptions(opts...)
2158	return out, req.Send()
2159}
2160
2161// ListTaskExecutionsPages iterates over the pages of a ListTaskExecutions operation,
2162// calling the "fn" function with the response data for each page. To stop
2163// iterating, return false from the fn function.
2164//
2165// See ListTaskExecutions method for more information on how to use this operation.
2166//
2167// Note: This operation can generate multiple requests to a service.
2168//
2169//    // Example iterating over at most 3 pages of a ListTaskExecutions operation.
2170//    pageNum := 0
2171//    err := client.ListTaskExecutionsPages(params,
2172//        func(page *datasync.ListTaskExecutionsOutput, lastPage bool) bool {
2173//            pageNum++
2174//            fmt.Println(page)
2175//            return pageNum <= 3
2176//        })
2177//
2178func (c *DataSync) ListTaskExecutionsPages(input *ListTaskExecutionsInput, fn func(*ListTaskExecutionsOutput, bool) bool) error {
2179	return c.ListTaskExecutionsPagesWithContext(aws.BackgroundContext(), input, fn)
2180}
2181
2182// ListTaskExecutionsPagesWithContext same as ListTaskExecutionsPages except
2183// it takes a Context and allows setting request options on the pages.
2184//
2185// The context must be non-nil and will be used for request cancellation. If
2186// the context is nil a panic will occur. In the future the SDK may create
2187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2188// for more information on using Contexts.
2189func (c *DataSync) ListTaskExecutionsPagesWithContext(ctx aws.Context, input *ListTaskExecutionsInput, fn func(*ListTaskExecutionsOutput, bool) bool, opts ...request.Option) error {
2190	p := request.Pagination{
2191		NewRequest: func() (*request.Request, error) {
2192			var inCpy *ListTaskExecutionsInput
2193			if input != nil {
2194				tmp := *input
2195				inCpy = &tmp
2196			}
2197			req, _ := c.ListTaskExecutionsRequest(inCpy)
2198			req.SetContext(ctx)
2199			req.ApplyOptions(opts...)
2200			return req, nil
2201		},
2202	}
2203
2204	for p.Next() {
2205		if !fn(p.Page().(*ListTaskExecutionsOutput), !p.HasNextPage()) {
2206			break
2207		}
2208	}
2209
2210	return p.Err()
2211}
2212
2213const opListTasks = "ListTasks"
2214
2215// ListTasksRequest generates a "aws/request.Request" representing the
2216// client's request for the ListTasks operation. The "output" return
2217// value will be populated with the request's response once the request completes
2218// successfully.
2219//
2220// Use "Send" method on the returned Request to send the API call to the service.
2221// the "output" return value is not valid until after Send returns without error.
2222//
2223// See ListTasks for more information on using the ListTasks
2224// API call, and error handling.
2225//
2226// This method is useful when you want to inject custom logic or configuration
2227// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2228//
2229//
2230//    // Example sending a request using the ListTasksRequest method.
2231//    req, resp := client.ListTasksRequest(params)
2232//
2233//    err := req.Send()
2234//    if err == nil { // resp is now filled
2235//        fmt.Println(resp)
2236//    }
2237//
2238// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTasks
2239func (c *DataSync) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) {
2240	op := &request.Operation{
2241		Name:       opListTasks,
2242		HTTPMethod: "POST",
2243		HTTPPath:   "/",
2244		Paginator: &request.Paginator{
2245			InputTokens:     []string{"NextToken"},
2246			OutputTokens:    []string{"NextToken"},
2247			LimitToken:      "MaxResults",
2248			TruncationToken: "",
2249		},
2250	}
2251
2252	if input == nil {
2253		input = &ListTasksInput{}
2254	}
2255
2256	output = &ListTasksOutput{}
2257	req = c.newRequest(op, input, output)
2258	return
2259}
2260
2261// ListTasks API operation for AWS DataSync.
2262//
2263// Returns a list of all the tasks.
2264//
2265// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2266// with awserr.Error's Code and Message methods to get detailed information about
2267// the error.
2268//
2269// See the AWS API reference guide for AWS DataSync's
2270// API operation ListTasks for usage and error information.
2271//
2272// Returned Error Types:
2273//   * InvalidRequestException
2274//   This exception is thrown when the client submits a malformed request.
2275//
2276//   * InternalException
2277//   This exception is thrown when an error occurs in the AWS DataSync service.
2278//
2279// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTasks
2280func (c *DataSync) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) {
2281	req, out := c.ListTasksRequest(input)
2282	return out, req.Send()
2283}
2284
2285// ListTasksWithContext is the same as ListTasks with the addition of
2286// the ability to pass a context and additional request options.
2287//
2288// See ListTasks for details on how to use this API operation.
2289//
2290// The context must be non-nil and will be used for request cancellation. If
2291// the context is nil a panic will occur. In the future the SDK may create
2292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2293// for more information on using Contexts.
2294func (c *DataSync) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) {
2295	req, out := c.ListTasksRequest(input)
2296	req.SetContext(ctx)
2297	req.ApplyOptions(opts...)
2298	return out, req.Send()
2299}
2300
2301// ListTasksPages iterates over the pages of a ListTasks operation,
2302// calling the "fn" function with the response data for each page. To stop
2303// iterating, return false from the fn function.
2304//
2305// See ListTasks method for more information on how to use this operation.
2306//
2307// Note: This operation can generate multiple requests to a service.
2308//
2309//    // Example iterating over at most 3 pages of a ListTasks operation.
2310//    pageNum := 0
2311//    err := client.ListTasksPages(params,
2312//        func(page *datasync.ListTasksOutput, lastPage bool) bool {
2313//            pageNum++
2314//            fmt.Println(page)
2315//            return pageNum <= 3
2316//        })
2317//
2318func (c *DataSync) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error {
2319	return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn)
2320}
2321
2322// ListTasksPagesWithContext same as ListTasksPages except
2323// it takes a Context and allows setting request options on the pages.
2324//
2325// The context must be non-nil and will be used for request cancellation. If
2326// the context is nil a panic will occur. In the future the SDK may create
2327// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2328// for more information on using Contexts.
2329func (c *DataSync) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error {
2330	p := request.Pagination{
2331		NewRequest: func() (*request.Request, error) {
2332			var inCpy *ListTasksInput
2333			if input != nil {
2334				tmp := *input
2335				inCpy = &tmp
2336			}
2337			req, _ := c.ListTasksRequest(inCpy)
2338			req.SetContext(ctx)
2339			req.ApplyOptions(opts...)
2340			return req, nil
2341		},
2342	}
2343
2344	for p.Next() {
2345		if !fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) {
2346			break
2347		}
2348	}
2349
2350	return p.Err()
2351}
2352
2353const opStartTaskExecution = "StartTaskExecution"
2354
2355// StartTaskExecutionRequest generates a "aws/request.Request" representing the
2356// client's request for the StartTaskExecution operation. The "output" return
2357// value will be populated with the request's response once the request completes
2358// successfully.
2359//
2360// Use "Send" method on the returned Request to send the API call to the service.
2361// the "output" return value is not valid until after Send returns without error.
2362//
2363// See StartTaskExecution for more information on using the StartTaskExecution
2364// API call, and error handling.
2365//
2366// This method is useful when you want to inject custom logic or configuration
2367// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2368//
2369//
2370//    // Example sending a request using the StartTaskExecutionRequest method.
2371//    req, resp := client.StartTaskExecutionRequest(params)
2372//
2373//    err := req.Send()
2374//    if err == nil { // resp is now filled
2375//        fmt.Println(resp)
2376//    }
2377//
2378// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StartTaskExecution
2379func (c *DataSync) StartTaskExecutionRequest(input *StartTaskExecutionInput) (req *request.Request, output *StartTaskExecutionOutput) {
2380	op := &request.Operation{
2381		Name:       opStartTaskExecution,
2382		HTTPMethod: "POST",
2383		HTTPPath:   "/",
2384	}
2385
2386	if input == nil {
2387		input = &StartTaskExecutionInput{}
2388	}
2389
2390	output = &StartTaskExecutionOutput{}
2391	req = c.newRequest(op, input, output)
2392	return
2393}
2394
2395// StartTaskExecution API operation for AWS DataSync.
2396//
2397// Starts a specific invocation of a task. A TaskExecution value represents
2398// an individual run of a task. Each task can have at most one TaskExecution
2399// at a time.
2400//
2401// TaskExecution has the following transition phases: INITIALIZING | PREPARING
2402// | TRANSFERRING | VERIFYING | SUCCESS/FAILURE.
2403//
2404// For detailed information, see the Task Execution section in the Components
2405// and Terminology topic in the AWS DataSync User Guide.
2406//
2407// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2408// with awserr.Error's Code and Message methods to get detailed information about
2409// the error.
2410//
2411// See the AWS API reference guide for AWS DataSync's
2412// API operation StartTaskExecution for usage and error information.
2413//
2414// Returned Error Types:
2415//   * InvalidRequestException
2416//   This exception is thrown when the client submits a malformed request.
2417//
2418//   * InternalException
2419//   This exception is thrown when an error occurs in the AWS DataSync service.
2420//
2421// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StartTaskExecution
2422func (c *DataSync) StartTaskExecution(input *StartTaskExecutionInput) (*StartTaskExecutionOutput, error) {
2423	req, out := c.StartTaskExecutionRequest(input)
2424	return out, req.Send()
2425}
2426
2427// StartTaskExecutionWithContext is the same as StartTaskExecution with the addition of
2428// the ability to pass a context and additional request options.
2429//
2430// See StartTaskExecution for details on how to use this API operation.
2431//
2432// The context must be non-nil and will be used for request cancellation. If
2433// the context is nil a panic will occur. In the future the SDK may create
2434// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2435// for more information on using Contexts.
2436func (c *DataSync) StartTaskExecutionWithContext(ctx aws.Context, input *StartTaskExecutionInput, opts ...request.Option) (*StartTaskExecutionOutput, error) {
2437	req, out := c.StartTaskExecutionRequest(input)
2438	req.SetContext(ctx)
2439	req.ApplyOptions(opts...)
2440	return out, req.Send()
2441}
2442
2443const opTagResource = "TagResource"
2444
2445// TagResourceRequest generates a "aws/request.Request" representing the
2446// client's request for the TagResource operation. The "output" return
2447// value will be populated with the request's response once the request completes
2448// successfully.
2449//
2450// Use "Send" method on the returned Request to send the API call to the service.
2451// the "output" return value is not valid until after Send returns without error.
2452//
2453// See TagResource for more information on using the TagResource
2454// API call, and error handling.
2455//
2456// This method is useful when you want to inject custom logic or configuration
2457// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2458//
2459//
2460//    // Example sending a request using the TagResourceRequest method.
2461//    req, resp := client.TagResourceRequest(params)
2462//
2463//    err := req.Send()
2464//    if err == nil { // resp is now filled
2465//        fmt.Println(resp)
2466//    }
2467//
2468// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TagResource
2469func (c *DataSync) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2470	op := &request.Operation{
2471		Name:       opTagResource,
2472		HTTPMethod: "POST",
2473		HTTPPath:   "/",
2474	}
2475
2476	if input == nil {
2477		input = &TagResourceInput{}
2478	}
2479
2480	output = &TagResourceOutput{}
2481	req = c.newRequest(op, input, output)
2482	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2483	return
2484}
2485
2486// TagResource API operation for AWS DataSync.
2487//
2488// Applies a key-value pair to an AWS resource.
2489//
2490// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2491// with awserr.Error's Code and Message methods to get detailed information about
2492// the error.
2493//
2494// See the AWS API reference guide for AWS DataSync's
2495// API operation TagResource for usage and error information.
2496//
2497// Returned Error Types:
2498//   * InvalidRequestException
2499//   This exception is thrown when the client submits a malformed request.
2500//
2501//   * InternalException
2502//   This exception is thrown when an error occurs in the AWS DataSync service.
2503//
2504// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TagResource
2505func (c *DataSync) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2506	req, out := c.TagResourceRequest(input)
2507	return out, req.Send()
2508}
2509
2510// TagResourceWithContext is the same as TagResource with the addition of
2511// the ability to pass a context and additional request options.
2512//
2513// See TagResource for details on how to use this API operation.
2514//
2515// The context must be non-nil and will be used for request cancellation. If
2516// the context is nil a panic will occur. In the future the SDK may create
2517// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2518// for more information on using Contexts.
2519func (c *DataSync) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2520	req, out := c.TagResourceRequest(input)
2521	req.SetContext(ctx)
2522	req.ApplyOptions(opts...)
2523	return out, req.Send()
2524}
2525
2526const opUntagResource = "UntagResource"
2527
2528// UntagResourceRequest generates a "aws/request.Request" representing the
2529// client's request for the UntagResource operation. The "output" return
2530// value will be populated with the request's response once the request completes
2531// successfully.
2532//
2533// Use "Send" method on the returned Request to send the API call to the service.
2534// the "output" return value is not valid until after Send returns without error.
2535//
2536// See UntagResource for more information on using the UntagResource
2537// API call, and error handling.
2538//
2539// This method is useful when you want to inject custom logic or configuration
2540// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2541//
2542//
2543//    // Example sending a request using the UntagResourceRequest method.
2544//    req, resp := client.UntagResourceRequest(params)
2545//
2546//    err := req.Send()
2547//    if err == nil { // resp is now filled
2548//        fmt.Println(resp)
2549//    }
2550//
2551// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UntagResource
2552func (c *DataSync) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2553	op := &request.Operation{
2554		Name:       opUntagResource,
2555		HTTPMethod: "POST",
2556		HTTPPath:   "/",
2557	}
2558
2559	if input == nil {
2560		input = &UntagResourceInput{}
2561	}
2562
2563	output = &UntagResourceOutput{}
2564	req = c.newRequest(op, input, output)
2565	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2566	return
2567}
2568
2569// UntagResource API operation for AWS DataSync.
2570//
2571// Removes a tag from an AWS resource.
2572//
2573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2574// with awserr.Error's Code and Message methods to get detailed information about
2575// the error.
2576//
2577// See the AWS API reference guide for AWS DataSync's
2578// API operation UntagResource for usage and error information.
2579//
2580// Returned Error Types:
2581//   * InvalidRequestException
2582//   This exception is thrown when the client submits a malformed request.
2583//
2584//   * InternalException
2585//   This exception is thrown when an error occurs in the AWS DataSync service.
2586//
2587// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UntagResource
2588func (c *DataSync) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2589	req, out := c.UntagResourceRequest(input)
2590	return out, req.Send()
2591}
2592
2593// UntagResourceWithContext is the same as UntagResource with the addition of
2594// the ability to pass a context and additional request options.
2595//
2596// See UntagResource for details on how to use this API operation.
2597//
2598// The context must be non-nil and will be used for request cancellation. If
2599// the context is nil a panic will occur. In the future the SDK may create
2600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2601// for more information on using Contexts.
2602func (c *DataSync) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2603	req, out := c.UntagResourceRequest(input)
2604	req.SetContext(ctx)
2605	req.ApplyOptions(opts...)
2606	return out, req.Send()
2607}
2608
2609const opUpdateAgent = "UpdateAgent"
2610
2611// UpdateAgentRequest generates a "aws/request.Request" representing the
2612// client's request for the UpdateAgent operation. The "output" return
2613// value will be populated with the request's response once the request completes
2614// successfully.
2615//
2616// Use "Send" method on the returned Request to send the API call to the service.
2617// the "output" return value is not valid until after Send returns without error.
2618//
2619// See UpdateAgent for more information on using the UpdateAgent
2620// API call, and error handling.
2621//
2622// This method is useful when you want to inject custom logic or configuration
2623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2624//
2625//
2626//    // Example sending a request using the UpdateAgentRequest method.
2627//    req, resp := client.UpdateAgentRequest(params)
2628//
2629//    err := req.Send()
2630//    if err == nil { // resp is now filled
2631//        fmt.Println(resp)
2632//    }
2633//
2634// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateAgent
2635func (c *DataSync) UpdateAgentRequest(input *UpdateAgentInput) (req *request.Request, output *UpdateAgentOutput) {
2636	op := &request.Operation{
2637		Name:       opUpdateAgent,
2638		HTTPMethod: "POST",
2639		HTTPPath:   "/",
2640	}
2641
2642	if input == nil {
2643		input = &UpdateAgentInput{}
2644	}
2645
2646	output = &UpdateAgentOutput{}
2647	req = c.newRequest(op, input, output)
2648	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2649	return
2650}
2651
2652// UpdateAgent API operation for AWS DataSync.
2653//
2654// Updates the name of an agent.
2655//
2656// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2657// with awserr.Error's Code and Message methods to get detailed information about
2658// the error.
2659//
2660// See the AWS API reference guide for AWS DataSync's
2661// API operation UpdateAgent for usage and error information.
2662//
2663// Returned Error Types:
2664//   * InvalidRequestException
2665//   This exception is thrown when the client submits a malformed request.
2666//
2667//   * InternalException
2668//   This exception is thrown when an error occurs in the AWS DataSync service.
2669//
2670// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateAgent
2671func (c *DataSync) UpdateAgent(input *UpdateAgentInput) (*UpdateAgentOutput, error) {
2672	req, out := c.UpdateAgentRequest(input)
2673	return out, req.Send()
2674}
2675
2676// UpdateAgentWithContext is the same as UpdateAgent with the addition of
2677// the ability to pass a context and additional request options.
2678//
2679// See UpdateAgent for details on how to use this API operation.
2680//
2681// The context must be non-nil and will be used for request cancellation. If
2682// the context is nil a panic will occur. In the future the SDK may create
2683// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2684// for more information on using Contexts.
2685func (c *DataSync) UpdateAgentWithContext(ctx aws.Context, input *UpdateAgentInput, opts ...request.Option) (*UpdateAgentOutput, error) {
2686	req, out := c.UpdateAgentRequest(input)
2687	req.SetContext(ctx)
2688	req.ApplyOptions(opts...)
2689	return out, req.Send()
2690}
2691
2692const opUpdateTask = "UpdateTask"
2693
2694// UpdateTaskRequest generates a "aws/request.Request" representing the
2695// client's request for the UpdateTask operation. The "output" return
2696// value will be populated with the request's response once the request completes
2697// successfully.
2698//
2699// Use "Send" method on the returned Request to send the API call to the service.
2700// the "output" return value is not valid until after Send returns without error.
2701//
2702// See UpdateTask for more information on using the UpdateTask
2703// API call, and error handling.
2704//
2705// This method is useful when you want to inject custom logic or configuration
2706// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2707//
2708//
2709//    // Example sending a request using the UpdateTaskRequest method.
2710//    req, resp := client.UpdateTaskRequest(params)
2711//
2712//    err := req.Send()
2713//    if err == nil { // resp is now filled
2714//        fmt.Println(resp)
2715//    }
2716//
2717// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTask
2718func (c *DataSync) UpdateTaskRequest(input *UpdateTaskInput) (req *request.Request, output *UpdateTaskOutput) {
2719	op := &request.Operation{
2720		Name:       opUpdateTask,
2721		HTTPMethod: "POST",
2722		HTTPPath:   "/",
2723	}
2724
2725	if input == nil {
2726		input = &UpdateTaskInput{}
2727	}
2728
2729	output = &UpdateTaskOutput{}
2730	req = c.newRequest(op, input, output)
2731	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2732	return
2733}
2734
2735// UpdateTask API operation for AWS DataSync.
2736//
2737// Updates the metadata associated with a task.
2738//
2739// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2740// with awserr.Error's Code and Message methods to get detailed information about
2741// the error.
2742//
2743// See the AWS API reference guide for AWS DataSync's
2744// API operation UpdateTask for usage and error information.
2745//
2746// Returned Error Types:
2747//   * InvalidRequestException
2748//   This exception is thrown when the client submits a malformed request.
2749//
2750//   * InternalException
2751//   This exception is thrown when an error occurs in the AWS DataSync service.
2752//
2753// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTask
2754func (c *DataSync) UpdateTask(input *UpdateTaskInput) (*UpdateTaskOutput, error) {
2755	req, out := c.UpdateTaskRequest(input)
2756	return out, req.Send()
2757}
2758
2759// UpdateTaskWithContext is the same as UpdateTask with the addition of
2760// the ability to pass a context and additional request options.
2761//
2762// See UpdateTask for details on how to use this API operation.
2763//
2764// The context must be non-nil and will be used for request cancellation. If
2765// the context is nil a panic will occur. In the future the SDK may create
2766// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2767// for more information on using Contexts.
2768func (c *DataSync) UpdateTaskWithContext(ctx aws.Context, input *UpdateTaskInput, opts ...request.Option) (*UpdateTaskOutput, error) {
2769	req, out := c.UpdateTaskRequest(input)
2770	req.SetContext(ctx)
2771	req.ApplyOptions(opts...)
2772	return out, req.Send()
2773}
2774
2775// Represents a single entry in a list of agents. AgentListEntry returns an
2776// array that contains a list of agents when the ListAgents operation is called.
2777type AgentListEntry struct {
2778	_ struct{} `type:"structure"`
2779
2780	// The Amazon Resource Name (ARN) of the agent.
2781	AgentArn *string `type:"string"`
2782
2783	// The name of the agent.
2784	Name *string `min:"1" type:"string"`
2785
2786	// The status of the agent.
2787	Status *string `type:"string" enum:"AgentStatus"`
2788}
2789
2790// String returns the string representation
2791func (s AgentListEntry) String() string {
2792	return awsutil.Prettify(s)
2793}
2794
2795// GoString returns the string representation
2796func (s AgentListEntry) GoString() string {
2797	return s.String()
2798}
2799
2800// SetAgentArn sets the AgentArn field's value.
2801func (s *AgentListEntry) SetAgentArn(v string) *AgentListEntry {
2802	s.AgentArn = &v
2803	return s
2804}
2805
2806// SetName sets the Name field's value.
2807func (s *AgentListEntry) SetName(v string) *AgentListEntry {
2808	s.Name = &v
2809	return s
2810}
2811
2812// SetStatus sets the Status field's value.
2813func (s *AgentListEntry) SetStatus(v string) *AgentListEntry {
2814	s.Status = &v
2815	return s
2816}
2817
2818// CancelTaskExecutionRequest
2819type CancelTaskExecutionInput struct {
2820	_ struct{} `type:"structure"`
2821
2822	// The Amazon Resource Name (ARN) of the task execution to cancel.
2823	//
2824	// TaskExecutionArn is a required field
2825	TaskExecutionArn *string `type:"string" required:"true"`
2826}
2827
2828// String returns the string representation
2829func (s CancelTaskExecutionInput) String() string {
2830	return awsutil.Prettify(s)
2831}
2832
2833// GoString returns the string representation
2834func (s CancelTaskExecutionInput) GoString() string {
2835	return s.String()
2836}
2837
2838// Validate inspects the fields of the type to determine if they are valid.
2839func (s *CancelTaskExecutionInput) Validate() error {
2840	invalidParams := request.ErrInvalidParams{Context: "CancelTaskExecutionInput"}
2841	if s.TaskExecutionArn == nil {
2842		invalidParams.Add(request.NewErrParamRequired("TaskExecutionArn"))
2843	}
2844
2845	if invalidParams.Len() > 0 {
2846		return invalidParams
2847	}
2848	return nil
2849}
2850
2851// SetTaskExecutionArn sets the TaskExecutionArn field's value.
2852func (s *CancelTaskExecutionInput) SetTaskExecutionArn(v string) *CancelTaskExecutionInput {
2853	s.TaskExecutionArn = &v
2854	return s
2855}
2856
2857type CancelTaskExecutionOutput struct {
2858	_ struct{} `type:"structure"`
2859}
2860
2861// String returns the string representation
2862func (s CancelTaskExecutionOutput) String() string {
2863	return awsutil.Prettify(s)
2864}
2865
2866// GoString returns the string representation
2867func (s CancelTaskExecutionOutput) GoString() string {
2868	return s.String()
2869}
2870
2871// CreateAgentRequest
2872type CreateAgentInput struct {
2873	_ struct{} `type:"structure"`
2874
2875	// Your agent activation key. You can get the activation key either by sending
2876	// an HTTP GET request with redirects that enable you to get the agent IP address
2877	// (port 80). Alternatively, you can get it from the AWS DataSync console.
2878	//
2879	// The redirect URL returned in the response provides you the activation key
2880	// for your agent in the query string parameter activationKey. It might also
2881	// include other activation-related parameters; however, these are merely defaults.
2882	// The arguments you pass to this API call determine the actual configuration
2883	// of your agent.
2884	//
2885	// For more information, see Activating an Agent in the AWS DataSync User Guide.
2886	//
2887	// ActivationKey is a required field
2888	ActivationKey *string `type:"string" required:"true"`
2889
2890	// The name you configured for your agent. This value is a text reference that
2891	// is used to identify the agent in the console.
2892	AgentName *string `min:"1" type:"string"`
2893
2894	// The ARNs of the security groups used to protect your data transfer task subnets.
2895	// See CreateAgentRequest$SubnetArns.
2896	SecurityGroupArns []*string `min:"1" type:"list"`
2897
2898	// The Amazon Resource Names (ARNs) of the subnets in which DataSync will create
2899	// elastic network interfaces for each data transfer task. The agent that runs
2900	// a task must be private. When you start a task that is associated with an
2901	// agent created in a VPC, or one that has access to an IP address in a VPC,
2902	// then the task is also private. In this case, DataSync creates four network
2903	// interfaces for each task in your subnet. For a data transfer to work, the
2904	// agent must be able to route to all these four network interfaces.
2905	SubnetArns []*string `min:"1" type:"list"`
2906
2907	// The key-value pair that represents the tag that you want to associate with
2908	// the agent. The value can be an empty string. This value helps you manage,
2909	// filter, and search for your agents.
2910	//
2911	// Valid characters for key and value are letters, spaces, and numbers representable
2912	// in UTF-8 format, and the following special characters: + - = . _ : / @.
2913	Tags []*TagListEntry `type:"list"`
2914
2915	// The ID of the VPC (Virtual Private Cloud) endpoint that the agent has access
2916	// to. This is the client-side VPC endpoint, also called a PrivateLink. If you
2917	// don't have a PrivateLink VPC endpoint, see Creating a VPC Endpoint Service
2918	// Configuration (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service)
2919	// in the AWS VPC User Guide.
2920	//
2921	// VPC endpoint ID looks like this: vpce-01234d5aff67890e1.
2922	VpcEndpointId *string `type:"string"`
2923}
2924
2925// String returns the string representation
2926func (s CreateAgentInput) String() string {
2927	return awsutil.Prettify(s)
2928}
2929
2930// GoString returns the string representation
2931func (s CreateAgentInput) GoString() string {
2932	return s.String()
2933}
2934
2935// Validate inspects the fields of the type to determine if they are valid.
2936func (s *CreateAgentInput) Validate() error {
2937	invalidParams := request.ErrInvalidParams{Context: "CreateAgentInput"}
2938	if s.ActivationKey == nil {
2939		invalidParams.Add(request.NewErrParamRequired("ActivationKey"))
2940	}
2941	if s.AgentName != nil && len(*s.AgentName) < 1 {
2942		invalidParams.Add(request.NewErrParamMinLen("AgentName", 1))
2943	}
2944	if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 {
2945		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1))
2946	}
2947	if s.SubnetArns != nil && len(s.SubnetArns) < 1 {
2948		invalidParams.Add(request.NewErrParamMinLen("SubnetArns", 1))
2949	}
2950	if s.Tags != nil {
2951		for i, v := range s.Tags {
2952			if v == nil {
2953				continue
2954			}
2955			if err := v.Validate(); err != nil {
2956				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
2957			}
2958		}
2959	}
2960
2961	if invalidParams.Len() > 0 {
2962		return invalidParams
2963	}
2964	return nil
2965}
2966
2967// SetActivationKey sets the ActivationKey field's value.
2968func (s *CreateAgentInput) SetActivationKey(v string) *CreateAgentInput {
2969	s.ActivationKey = &v
2970	return s
2971}
2972
2973// SetAgentName sets the AgentName field's value.
2974func (s *CreateAgentInput) SetAgentName(v string) *CreateAgentInput {
2975	s.AgentName = &v
2976	return s
2977}
2978
2979// SetSecurityGroupArns sets the SecurityGroupArns field's value.
2980func (s *CreateAgentInput) SetSecurityGroupArns(v []*string) *CreateAgentInput {
2981	s.SecurityGroupArns = v
2982	return s
2983}
2984
2985// SetSubnetArns sets the SubnetArns field's value.
2986func (s *CreateAgentInput) SetSubnetArns(v []*string) *CreateAgentInput {
2987	s.SubnetArns = v
2988	return s
2989}
2990
2991// SetTags sets the Tags field's value.
2992func (s *CreateAgentInput) SetTags(v []*TagListEntry) *CreateAgentInput {
2993	s.Tags = v
2994	return s
2995}
2996
2997// SetVpcEndpointId sets the VpcEndpointId field's value.
2998func (s *CreateAgentInput) SetVpcEndpointId(v string) *CreateAgentInput {
2999	s.VpcEndpointId = &v
3000	return s
3001}
3002
3003// CreateAgentResponse
3004type CreateAgentOutput struct {
3005	_ struct{} `type:"structure"`
3006
3007	// The Amazon Resource Name (ARN) of the agent. Use the ListAgents operation
3008	// to return a list of agents for your account and AWS Region.
3009	AgentArn *string `type:"string"`
3010}
3011
3012// String returns the string representation
3013func (s CreateAgentOutput) String() string {
3014	return awsutil.Prettify(s)
3015}
3016
3017// GoString returns the string representation
3018func (s CreateAgentOutput) GoString() string {
3019	return s.String()
3020}
3021
3022// SetAgentArn sets the AgentArn field's value.
3023func (s *CreateAgentOutput) SetAgentArn(v string) *CreateAgentOutput {
3024	s.AgentArn = &v
3025	return s
3026}
3027
3028// CreateLocationEfsRequest
3029type CreateLocationEfsInput struct {
3030	_ struct{} `type:"structure"`
3031
3032	// The subnet and security group that the Amazon EFS file system uses. The security
3033	// group that you provide needs to be able to communicate with the security
3034	// group on the mount target in the subnet specified.
3035	//
3036	// The exact relationship between security group M (of the mount target) and
3037	// security group S (which you provide for DataSync to use at this stage) is
3038	// as follows:
3039	//
3040	//    * Security group M (which you associate with the mount target) must allow
3041	//    inbound access for the Transmission Control Protocol (TCP) on the NFS
3042	//    port (2049) from security group S. You can enable inbound connections
3043	//    either by IP address (CIDR range) or security group.
3044	//
3045	//    * Security group S (provided to DataSync to access EFS) should have a
3046	//    rule that enables outbound connections to the NFS port on one of the file
3047	//    system’s mount targets. You can enable outbound connections either by
3048	//    IP address (CIDR range) or security group. For information about security
3049	//    groups and mount targets, see Security Groups for Amazon EC2 Instances
3050	//    and Mount Targets in the Amazon EFS User Guide.
3051	//
3052	// Ec2Config is a required field
3053	Ec2Config *Ec2Config `type:"structure" required:"true"`
3054
3055	// The Amazon Resource Name (ARN) for the Amazon EFS file system.
3056	//
3057	// EfsFilesystemArn is a required field
3058	EfsFilesystemArn *string `type:"string" required:"true"`
3059
3060	// A subdirectory in the location’s path. This subdirectory in the EFS file
3061	// system is used to read data from the EFS source location or write data to
3062	// the EFS destination. By default, AWS DataSync uses the root directory.
3063	//
3064	// Subdirectory must be specified with forward slashes. For example /path/to/folder.
3065	Subdirectory *string `type:"string"`
3066
3067	// The key-value pair that represents a tag that you want to add to the resource.
3068	// The value can be an empty string. This value helps you manage, filter, and
3069	// search for your resources. We recommend that you create a name tag for your
3070	// location.
3071	Tags []*TagListEntry `type:"list"`
3072}
3073
3074// String returns the string representation
3075func (s CreateLocationEfsInput) String() string {
3076	return awsutil.Prettify(s)
3077}
3078
3079// GoString returns the string representation
3080func (s CreateLocationEfsInput) GoString() string {
3081	return s.String()
3082}
3083
3084// Validate inspects the fields of the type to determine if they are valid.
3085func (s *CreateLocationEfsInput) Validate() error {
3086	invalidParams := request.ErrInvalidParams{Context: "CreateLocationEfsInput"}
3087	if s.Ec2Config == nil {
3088		invalidParams.Add(request.NewErrParamRequired("Ec2Config"))
3089	}
3090	if s.EfsFilesystemArn == nil {
3091		invalidParams.Add(request.NewErrParamRequired("EfsFilesystemArn"))
3092	}
3093	if s.Ec2Config != nil {
3094		if err := s.Ec2Config.Validate(); err != nil {
3095			invalidParams.AddNested("Ec2Config", err.(request.ErrInvalidParams))
3096		}
3097	}
3098	if s.Tags != nil {
3099		for i, v := range s.Tags {
3100			if v == nil {
3101				continue
3102			}
3103			if err := v.Validate(); err != nil {
3104				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3105			}
3106		}
3107	}
3108
3109	if invalidParams.Len() > 0 {
3110		return invalidParams
3111	}
3112	return nil
3113}
3114
3115// SetEc2Config sets the Ec2Config field's value.
3116func (s *CreateLocationEfsInput) SetEc2Config(v *Ec2Config) *CreateLocationEfsInput {
3117	s.Ec2Config = v
3118	return s
3119}
3120
3121// SetEfsFilesystemArn sets the EfsFilesystemArn field's value.
3122func (s *CreateLocationEfsInput) SetEfsFilesystemArn(v string) *CreateLocationEfsInput {
3123	s.EfsFilesystemArn = &v
3124	return s
3125}
3126
3127// SetSubdirectory sets the Subdirectory field's value.
3128func (s *CreateLocationEfsInput) SetSubdirectory(v string) *CreateLocationEfsInput {
3129	s.Subdirectory = &v
3130	return s
3131}
3132
3133// SetTags sets the Tags field's value.
3134func (s *CreateLocationEfsInput) SetTags(v []*TagListEntry) *CreateLocationEfsInput {
3135	s.Tags = v
3136	return s
3137}
3138
3139// CreateLocationEfs
3140type CreateLocationEfsOutput struct {
3141	_ struct{} `type:"structure"`
3142
3143	// The Amazon Resource Name (ARN) of the Amazon EFS file system location that
3144	// is created.
3145	LocationArn *string `type:"string"`
3146}
3147
3148// String returns the string representation
3149func (s CreateLocationEfsOutput) String() string {
3150	return awsutil.Prettify(s)
3151}
3152
3153// GoString returns the string representation
3154func (s CreateLocationEfsOutput) GoString() string {
3155	return s.String()
3156}
3157
3158// SetLocationArn sets the LocationArn field's value.
3159func (s *CreateLocationEfsOutput) SetLocationArn(v string) *CreateLocationEfsOutput {
3160	s.LocationArn = &v
3161	return s
3162}
3163
3164type CreateLocationFsxWindowsInput struct {
3165	_ struct{} `type:"structure"`
3166
3167	// The name of the Windows domain that the FSx for Windows server belongs to.
3168	Domain *string `type:"string"`
3169
3170	// The Amazon Resource Name (ARN) for the FSx for Windows file system.
3171	//
3172	// FsxFilesystemArn is a required field
3173	FsxFilesystemArn *string `type:"string" required:"true"`
3174
3175	// The password of the user who has the permissions to access files and folders
3176	// in the FSx for Windows file system.
3177	//
3178	// Password is a required field
3179	Password *string `type:"string" required:"true" sensitive:"true"`
3180
3181	// The Amazon Resource Names (ARNs) of the security groups that are to use to
3182	// configure the FSx for Windows file system.
3183	//
3184	// SecurityGroupArns is a required field
3185	SecurityGroupArns []*string `min:"1" type:"list" required:"true"`
3186
3187	// A subdirectory in the location’s path. This subdirectory in the Amazon
3188	// FSx for Windows file system is used to read data from the Amazon FSx for
3189	// Windows source location or write data to the FSx for Windows destination.
3190	Subdirectory *string `type:"string"`
3191
3192	// The key-value pair that represents a tag that you want to add to the resource.
3193	// The value can be an empty string. This value helps you manage, filter, and
3194	// search for your resources. We recommend that you create a name tag for your
3195	// location.
3196	Tags []*TagListEntry `type:"list"`
3197
3198	// The user who has the permissions to access files and folders in the FSx for
3199	// Windows file system.
3200	//
3201	// User is a required field
3202	User *string `type:"string" required:"true"`
3203}
3204
3205// String returns the string representation
3206func (s CreateLocationFsxWindowsInput) String() string {
3207	return awsutil.Prettify(s)
3208}
3209
3210// GoString returns the string representation
3211func (s CreateLocationFsxWindowsInput) GoString() string {
3212	return s.String()
3213}
3214
3215// Validate inspects the fields of the type to determine if they are valid.
3216func (s *CreateLocationFsxWindowsInput) Validate() error {
3217	invalidParams := request.ErrInvalidParams{Context: "CreateLocationFsxWindowsInput"}
3218	if s.FsxFilesystemArn == nil {
3219		invalidParams.Add(request.NewErrParamRequired("FsxFilesystemArn"))
3220	}
3221	if s.Password == nil {
3222		invalidParams.Add(request.NewErrParamRequired("Password"))
3223	}
3224	if s.SecurityGroupArns == nil {
3225		invalidParams.Add(request.NewErrParamRequired("SecurityGroupArns"))
3226	}
3227	if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 {
3228		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1))
3229	}
3230	if s.User == nil {
3231		invalidParams.Add(request.NewErrParamRequired("User"))
3232	}
3233	if s.Tags != nil {
3234		for i, v := range s.Tags {
3235			if v == nil {
3236				continue
3237			}
3238			if err := v.Validate(); err != nil {
3239				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3240			}
3241		}
3242	}
3243
3244	if invalidParams.Len() > 0 {
3245		return invalidParams
3246	}
3247	return nil
3248}
3249
3250// SetDomain sets the Domain field's value.
3251func (s *CreateLocationFsxWindowsInput) SetDomain(v string) *CreateLocationFsxWindowsInput {
3252	s.Domain = &v
3253	return s
3254}
3255
3256// SetFsxFilesystemArn sets the FsxFilesystemArn field's value.
3257func (s *CreateLocationFsxWindowsInput) SetFsxFilesystemArn(v string) *CreateLocationFsxWindowsInput {
3258	s.FsxFilesystemArn = &v
3259	return s
3260}
3261
3262// SetPassword sets the Password field's value.
3263func (s *CreateLocationFsxWindowsInput) SetPassword(v string) *CreateLocationFsxWindowsInput {
3264	s.Password = &v
3265	return s
3266}
3267
3268// SetSecurityGroupArns sets the SecurityGroupArns field's value.
3269func (s *CreateLocationFsxWindowsInput) SetSecurityGroupArns(v []*string) *CreateLocationFsxWindowsInput {
3270	s.SecurityGroupArns = v
3271	return s
3272}
3273
3274// SetSubdirectory sets the Subdirectory field's value.
3275func (s *CreateLocationFsxWindowsInput) SetSubdirectory(v string) *CreateLocationFsxWindowsInput {
3276	s.Subdirectory = &v
3277	return s
3278}
3279
3280// SetTags sets the Tags field's value.
3281func (s *CreateLocationFsxWindowsInput) SetTags(v []*TagListEntry) *CreateLocationFsxWindowsInput {
3282	s.Tags = v
3283	return s
3284}
3285
3286// SetUser sets the User field's value.
3287func (s *CreateLocationFsxWindowsInput) SetUser(v string) *CreateLocationFsxWindowsInput {
3288	s.User = &v
3289	return s
3290}
3291
3292type CreateLocationFsxWindowsOutput struct {
3293	_ struct{} `type:"structure"`
3294
3295	// The Amazon Resource Name (ARN) of the FSx for Windows file system location
3296	// that is created.
3297	LocationArn *string `type:"string"`
3298}
3299
3300// String returns the string representation
3301func (s CreateLocationFsxWindowsOutput) String() string {
3302	return awsutil.Prettify(s)
3303}
3304
3305// GoString returns the string representation
3306func (s CreateLocationFsxWindowsOutput) GoString() string {
3307	return s.String()
3308}
3309
3310// SetLocationArn sets the LocationArn field's value.
3311func (s *CreateLocationFsxWindowsOutput) SetLocationArn(v string) *CreateLocationFsxWindowsOutput {
3312	s.LocationArn = &v
3313	return s
3314}
3315
3316// CreateLocationNfsRequest
3317type CreateLocationNfsInput struct {
3318	_ struct{} `type:"structure"`
3319
3320	// The NFS mount options that DataSync can use to mount your NFS share.
3321	MountOptions *NfsMountOptions `type:"structure"`
3322
3323	// Contains a list of Amazon Resource Names (ARNs) of agents that are used to
3324	// connect to an NFS server.
3325	//
3326	// OnPremConfig is a required field
3327	OnPremConfig *OnPremConfig `type:"structure" required:"true"`
3328
3329	// The name of the NFS server. This value is the IP address or Domain Name Service
3330	// (DNS) name of the NFS server. An agent that is installed on-premises uses
3331	// this host name to mount the NFS server in a network.
3332	//
3333	// This name must either be DNS-compliant or must be an IP version 4 (IPv4)
3334	// address.
3335	//
3336	// ServerHostname is a required field
3337	ServerHostname *string `type:"string" required:"true"`
3338
3339	// The subdirectory in the NFS file system that is used to read data from the
3340	// NFS source location or write data to the NFS destination. The NFS path should
3341	// be a path that's exported by the NFS server, or a subdirectory of that path.
3342	// The path should be such that it can be mounted by other NFS clients in your
3343	// network.
3344	//
3345	// To see all the paths exported by your NFS server. run "showmount -e nfs-server-name"
3346	// from an NFS client that has access to your server. You can specify any directory
3347	// that appears in the results, and any subdirectory of that directory. Ensure
3348	// that the NFS export is accessible without Kerberos authentication.
3349	//
3350	// To transfer all the data in the folder you specified, DataSync needs to have
3351	// permissions to read all the data. To ensure this, either configure the NFS
3352	// export with no_root_squash, or ensure that the permissions for all of the
3353	// files that you want DataSync allow read access for all users. Doing either
3354	// enables the agent to read the files. For the agent to access directories,
3355	// you must additionally enable all execute access.
3356	//
3357	// For information about NFS export configuration, see 18.7. The /etc/exports
3358	// Configuration File in the Red Hat Enterprise Linux documentation.
3359	//
3360	// Subdirectory is a required field
3361	Subdirectory *string `type:"string" required:"true"`
3362
3363	// The key-value pair that represents the tag that you want to add to the location.
3364	// The value can be an empty string. We recommend using tags to name your resources.
3365	Tags []*TagListEntry `type:"list"`
3366}
3367
3368// String returns the string representation
3369func (s CreateLocationNfsInput) String() string {
3370	return awsutil.Prettify(s)
3371}
3372
3373// GoString returns the string representation
3374func (s CreateLocationNfsInput) GoString() string {
3375	return s.String()
3376}
3377
3378// Validate inspects the fields of the type to determine if they are valid.
3379func (s *CreateLocationNfsInput) Validate() error {
3380	invalidParams := request.ErrInvalidParams{Context: "CreateLocationNfsInput"}
3381	if s.OnPremConfig == nil {
3382		invalidParams.Add(request.NewErrParamRequired("OnPremConfig"))
3383	}
3384	if s.ServerHostname == nil {
3385		invalidParams.Add(request.NewErrParamRequired("ServerHostname"))
3386	}
3387	if s.Subdirectory == nil {
3388		invalidParams.Add(request.NewErrParamRequired("Subdirectory"))
3389	}
3390	if s.OnPremConfig != nil {
3391		if err := s.OnPremConfig.Validate(); err != nil {
3392			invalidParams.AddNested("OnPremConfig", err.(request.ErrInvalidParams))
3393		}
3394	}
3395	if s.Tags != nil {
3396		for i, v := range s.Tags {
3397			if v == nil {
3398				continue
3399			}
3400			if err := v.Validate(); err != nil {
3401				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3402			}
3403		}
3404	}
3405
3406	if invalidParams.Len() > 0 {
3407		return invalidParams
3408	}
3409	return nil
3410}
3411
3412// SetMountOptions sets the MountOptions field's value.
3413func (s *CreateLocationNfsInput) SetMountOptions(v *NfsMountOptions) *CreateLocationNfsInput {
3414	s.MountOptions = v
3415	return s
3416}
3417
3418// SetOnPremConfig sets the OnPremConfig field's value.
3419func (s *CreateLocationNfsInput) SetOnPremConfig(v *OnPremConfig) *CreateLocationNfsInput {
3420	s.OnPremConfig = v
3421	return s
3422}
3423
3424// SetServerHostname sets the ServerHostname field's value.
3425func (s *CreateLocationNfsInput) SetServerHostname(v string) *CreateLocationNfsInput {
3426	s.ServerHostname = &v
3427	return s
3428}
3429
3430// SetSubdirectory sets the Subdirectory field's value.
3431func (s *CreateLocationNfsInput) SetSubdirectory(v string) *CreateLocationNfsInput {
3432	s.Subdirectory = &v
3433	return s
3434}
3435
3436// SetTags sets the Tags field's value.
3437func (s *CreateLocationNfsInput) SetTags(v []*TagListEntry) *CreateLocationNfsInput {
3438	s.Tags = v
3439	return s
3440}
3441
3442// CreateLocationNfsResponse
3443type CreateLocationNfsOutput struct {
3444	_ struct{} `type:"structure"`
3445
3446	// The Amazon Resource Name (ARN) of the source NFS file system location that
3447	// is created.
3448	LocationArn *string `type:"string"`
3449}
3450
3451// String returns the string representation
3452func (s CreateLocationNfsOutput) String() string {
3453	return awsutil.Prettify(s)
3454}
3455
3456// GoString returns the string representation
3457func (s CreateLocationNfsOutput) GoString() string {
3458	return s.String()
3459}
3460
3461// SetLocationArn sets the LocationArn field's value.
3462func (s *CreateLocationNfsOutput) SetLocationArn(v string) *CreateLocationNfsOutput {
3463	s.LocationArn = &v
3464	return s
3465}
3466
3467// CreateLocationS3Request
3468type CreateLocationS3Input struct {
3469	_ struct{} `type:"structure"`
3470
3471	// The Amazon Resource Name (ARN) of the Amazon S3 bucket.
3472	//
3473	// S3BucketArn is a required field
3474	S3BucketArn *string `type:"string" required:"true"`
3475
3476	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
3477	// (IAM) role that is used to access an Amazon S3 bucket.
3478	//
3479	// For detailed information about using such a role, see Creating a Location
3480	// for Amazon S3 in the AWS DataSync User Guide.
3481	//
3482	// S3Config is a required field
3483	S3Config *S3Config `type:"structure" required:"true"`
3484
3485	// The Amazon S3 storage class that you want to store your files in when this
3486	// location is used as a task destination. For more information about S3 storage
3487	// classes, see Amazon S3 Storage Classes (https://aws.amazon.com/s3/storage-classes/)
3488	// in the Amazon Simple Storage Service Developer Guide. Some storage classes
3489	// have behaviors that can affect your S3 storage cost. For detailed information,
3490	// see using-storage-classes.
3491	S3StorageClass *string `type:"string" enum:"S3StorageClass"`
3492
3493	// A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is
3494	// used to read data from the S3 source location or write data to the S3 destination.
3495	Subdirectory *string `type:"string"`
3496
3497	// The key-value pair that represents the tag that you want to add to the location.
3498	// The value can be an empty string. We recommend using tags to name your resources.
3499	Tags []*TagListEntry `type:"list"`
3500}
3501
3502// String returns the string representation
3503func (s CreateLocationS3Input) String() string {
3504	return awsutil.Prettify(s)
3505}
3506
3507// GoString returns the string representation
3508func (s CreateLocationS3Input) GoString() string {
3509	return s.String()
3510}
3511
3512// Validate inspects the fields of the type to determine if they are valid.
3513func (s *CreateLocationS3Input) Validate() error {
3514	invalidParams := request.ErrInvalidParams{Context: "CreateLocationS3Input"}
3515	if s.S3BucketArn == nil {
3516		invalidParams.Add(request.NewErrParamRequired("S3BucketArn"))
3517	}
3518	if s.S3Config == nil {
3519		invalidParams.Add(request.NewErrParamRequired("S3Config"))
3520	}
3521	if s.S3Config != nil {
3522		if err := s.S3Config.Validate(); err != nil {
3523			invalidParams.AddNested("S3Config", err.(request.ErrInvalidParams))
3524		}
3525	}
3526	if s.Tags != nil {
3527		for i, v := range s.Tags {
3528			if v == nil {
3529				continue
3530			}
3531			if err := v.Validate(); err != nil {
3532				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3533			}
3534		}
3535	}
3536
3537	if invalidParams.Len() > 0 {
3538		return invalidParams
3539	}
3540	return nil
3541}
3542
3543// SetS3BucketArn sets the S3BucketArn field's value.
3544func (s *CreateLocationS3Input) SetS3BucketArn(v string) *CreateLocationS3Input {
3545	s.S3BucketArn = &v
3546	return s
3547}
3548
3549// SetS3Config sets the S3Config field's value.
3550func (s *CreateLocationS3Input) SetS3Config(v *S3Config) *CreateLocationS3Input {
3551	s.S3Config = v
3552	return s
3553}
3554
3555// SetS3StorageClass sets the S3StorageClass field's value.
3556func (s *CreateLocationS3Input) SetS3StorageClass(v string) *CreateLocationS3Input {
3557	s.S3StorageClass = &v
3558	return s
3559}
3560
3561// SetSubdirectory sets the Subdirectory field's value.
3562func (s *CreateLocationS3Input) SetSubdirectory(v string) *CreateLocationS3Input {
3563	s.Subdirectory = &v
3564	return s
3565}
3566
3567// SetTags sets the Tags field's value.
3568func (s *CreateLocationS3Input) SetTags(v []*TagListEntry) *CreateLocationS3Input {
3569	s.Tags = v
3570	return s
3571}
3572
3573// CreateLocationS3Response
3574type CreateLocationS3Output struct {
3575	_ struct{} `type:"structure"`
3576
3577	// The Amazon Resource Name (ARN) of the source Amazon S3 bucket location that
3578	// is created.
3579	LocationArn *string `type:"string"`
3580}
3581
3582// String returns the string representation
3583func (s CreateLocationS3Output) String() string {
3584	return awsutil.Prettify(s)
3585}
3586
3587// GoString returns the string representation
3588func (s CreateLocationS3Output) GoString() string {
3589	return s.String()
3590}
3591
3592// SetLocationArn sets the LocationArn field's value.
3593func (s *CreateLocationS3Output) SetLocationArn(v string) *CreateLocationS3Output {
3594	s.LocationArn = &v
3595	return s
3596}
3597
3598// CreateLocationSmbRequest
3599type CreateLocationSmbInput struct {
3600	_ struct{} `type:"structure"`
3601
3602	// The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block
3603	// (SMB) location.
3604	//
3605	// AgentArns is a required field
3606	AgentArns []*string `min:"1" type:"list" required:"true"`
3607
3608	// The name of the Windows domain that the SMB server belongs to.
3609	Domain *string `type:"string"`
3610
3611	// The mount options used by DataSync to access the SMB server.
3612	MountOptions *SmbMountOptions `type:"structure"`
3613
3614	// The password of the user who can mount the share, has the permissions to
3615	// access files and folders in the SMB share.
3616	//
3617	// Password is a required field
3618	Password *string `type:"string" required:"true" sensitive:"true"`
3619
3620	// The name of the SMB server. This value is the IP address or Domain Name Service
3621	// (DNS) name of the SMB server. An agent that is installed on-premises uses
3622	// this hostname to mount the SMB server in a network.
3623	//
3624	// This name must either be DNS-compliant or must be an IP version 4 (IPv4)
3625	// address.
3626	//
3627	// ServerHostname is a required field
3628	ServerHostname *string `type:"string" required:"true"`
3629
3630	// The subdirectory in the SMB file system that is used to read data from the
3631	// SMB source location or write data to the SMB destination. The SMB path should
3632	// be a path that's exported by the SMB server, or a subdirectory of that path.
3633	// The path should be such that it can be mounted by other SMB clients in your
3634	// network.
3635	//
3636	// Subdirectory must be specified with forward slashes. For example /path/to/folder.
3637	//
3638	// To transfer all the data in the folder you specified, DataSync needs to have
3639	// permissions to mount the SMB share, as well as to access all the data in
3640	// that share. To ensure this, either ensure that the user/password specified
3641	// belongs to the user who can mount the share, and who has the appropriate
3642	// permissions for all of the files and directories that you want DataSync to
3643	// access, or use credentials of a member of the Backup Operators group to mount
3644	// the share. Doing either enables the agent to access the data. For the agent
3645	// to access directories, you must additionally enable all execute access.
3646	//
3647	// Subdirectory is a required field
3648	Subdirectory *string `type:"string" required:"true"`
3649
3650	// The key-value pair that represents the tag that you want to add to the location.
3651	// The value can be an empty string. We recommend using tags to name your resources.
3652	Tags []*TagListEntry `type:"list"`
3653
3654	// The user who can mount the share, has the permissions to access files and
3655	// folders in the SMB share.
3656	//
3657	// User is a required field
3658	User *string `type:"string" required:"true"`
3659}
3660
3661// String returns the string representation
3662func (s CreateLocationSmbInput) String() string {
3663	return awsutil.Prettify(s)
3664}
3665
3666// GoString returns the string representation
3667func (s CreateLocationSmbInput) GoString() string {
3668	return s.String()
3669}
3670
3671// Validate inspects the fields of the type to determine if they are valid.
3672func (s *CreateLocationSmbInput) Validate() error {
3673	invalidParams := request.ErrInvalidParams{Context: "CreateLocationSmbInput"}
3674	if s.AgentArns == nil {
3675		invalidParams.Add(request.NewErrParamRequired("AgentArns"))
3676	}
3677	if s.AgentArns != nil && len(s.AgentArns) < 1 {
3678		invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1))
3679	}
3680	if s.Password == nil {
3681		invalidParams.Add(request.NewErrParamRequired("Password"))
3682	}
3683	if s.ServerHostname == nil {
3684		invalidParams.Add(request.NewErrParamRequired("ServerHostname"))
3685	}
3686	if s.Subdirectory == nil {
3687		invalidParams.Add(request.NewErrParamRequired("Subdirectory"))
3688	}
3689	if s.User == nil {
3690		invalidParams.Add(request.NewErrParamRequired("User"))
3691	}
3692	if s.Tags != nil {
3693		for i, v := range s.Tags {
3694			if v == nil {
3695				continue
3696			}
3697			if err := v.Validate(); err != nil {
3698				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3699			}
3700		}
3701	}
3702
3703	if invalidParams.Len() > 0 {
3704		return invalidParams
3705	}
3706	return nil
3707}
3708
3709// SetAgentArns sets the AgentArns field's value.
3710func (s *CreateLocationSmbInput) SetAgentArns(v []*string) *CreateLocationSmbInput {
3711	s.AgentArns = v
3712	return s
3713}
3714
3715// SetDomain sets the Domain field's value.
3716func (s *CreateLocationSmbInput) SetDomain(v string) *CreateLocationSmbInput {
3717	s.Domain = &v
3718	return s
3719}
3720
3721// SetMountOptions sets the MountOptions field's value.
3722func (s *CreateLocationSmbInput) SetMountOptions(v *SmbMountOptions) *CreateLocationSmbInput {
3723	s.MountOptions = v
3724	return s
3725}
3726
3727// SetPassword sets the Password field's value.
3728func (s *CreateLocationSmbInput) SetPassword(v string) *CreateLocationSmbInput {
3729	s.Password = &v
3730	return s
3731}
3732
3733// SetServerHostname sets the ServerHostname field's value.
3734func (s *CreateLocationSmbInput) SetServerHostname(v string) *CreateLocationSmbInput {
3735	s.ServerHostname = &v
3736	return s
3737}
3738
3739// SetSubdirectory sets the Subdirectory field's value.
3740func (s *CreateLocationSmbInput) SetSubdirectory(v string) *CreateLocationSmbInput {
3741	s.Subdirectory = &v
3742	return s
3743}
3744
3745// SetTags sets the Tags field's value.
3746func (s *CreateLocationSmbInput) SetTags(v []*TagListEntry) *CreateLocationSmbInput {
3747	s.Tags = v
3748	return s
3749}
3750
3751// SetUser sets the User field's value.
3752func (s *CreateLocationSmbInput) SetUser(v string) *CreateLocationSmbInput {
3753	s.User = &v
3754	return s
3755}
3756
3757// CreateLocationSmbResponse
3758type CreateLocationSmbOutput struct {
3759	_ struct{} `type:"structure"`
3760
3761	// The Amazon Resource Name (ARN) of the source SMB file system location that
3762	// is created.
3763	LocationArn *string `type:"string"`
3764}
3765
3766// String returns the string representation
3767func (s CreateLocationSmbOutput) String() string {
3768	return awsutil.Prettify(s)
3769}
3770
3771// GoString returns the string representation
3772func (s CreateLocationSmbOutput) GoString() string {
3773	return s.String()
3774}
3775
3776// SetLocationArn sets the LocationArn field's value.
3777func (s *CreateLocationSmbOutput) SetLocationArn(v string) *CreateLocationSmbOutput {
3778	s.LocationArn = &v
3779	return s
3780}
3781
3782// CreateTaskRequest
3783type CreateTaskInput struct {
3784	_ struct{} `type:"structure"`
3785
3786	// The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is
3787	// used to monitor and log events in the task.
3788	//
3789	// For more information on these groups, see Working with Log Groups and Log
3790	// Streams in the Amazon CloudWatch User Guide.
3791	//
3792	// For more information about how to use CloudWatch Logs with DataSync, see
3793	// Monitoring Your Task in the AWS DataSync User Guide.
3794	CloudWatchLogGroupArn *string `type:"string"`
3795
3796	// The Amazon Resource Name (ARN) of an AWS storage resource's location.
3797	//
3798	// DestinationLocationArn is a required field
3799	DestinationLocationArn *string `type:"string" required:"true"`
3800
3801	// A list of filter rules that determines which files to exclude from a task.
3802	// The list should contain a single filter string that consists of the patterns
3803	// to exclude. The patterns are delimited by "|" (that is, a pipe), for example,
3804	// "/folder1|/folder2"
3805	Excludes []*FilterRule `type:"list"`
3806
3807	// The name of a task. This value is a text reference that is used to identify
3808	// the task in the console.
3809	Name *string `min:"1" type:"string"`
3810
3811	// The set of configuration options that control the behavior of a single execution
3812	// of the task that occurs when you call StartTaskExecution. You can configure
3813	// these options to preserve metadata such as user ID (UID) and group ID (GID),
3814	// file permissions, data integrity verification, and so on.
3815	//
3816	// For each individual task execution, you can override these options by specifying
3817	// the OverrideOptions before starting a the task execution. For more information,
3818	// see the operation.
3819	Options *Options `type:"structure"`
3820
3821	// Specifies a schedule used to periodically transfer files from a source to
3822	// a destination location. The schedule should be specified in UTC time. For
3823	// more information, see task-scheduling.
3824	Schedule *TaskSchedule `type:"structure"`
3825
3826	// The Amazon Resource Name (ARN) of the source location for the task.
3827	//
3828	// SourceLocationArn is a required field
3829	SourceLocationArn *string `type:"string" required:"true"`
3830
3831	// The key-value pair that represents the tag that you want to add to the resource.
3832	// The value can be an empty string.
3833	Tags []*TagListEntry `type:"list"`
3834}
3835
3836// String returns the string representation
3837func (s CreateTaskInput) String() string {
3838	return awsutil.Prettify(s)
3839}
3840
3841// GoString returns the string representation
3842func (s CreateTaskInput) GoString() string {
3843	return s.String()
3844}
3845
3846// Validate inspects the fields of the type to determine if they are valid.
3847func (s *CreateTaskInput) Validate() error {
3848	invalidParams := request.ErrInvalidParams{Context: "CreateTaskInput"}
3849	if s.DestinationLocationArn == nil {
3850		invalidParams.Add(request.NewErrParamRequired("DestinationLocationArn"))
3851	}
3852	if s.Name != nil && len(*s.Name) < 1 {
3853		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3854	}
3855	if s.SourceLocationArn == nil {
3856		invalidParams.Add(request.NewErrParamRequired("SourceLocationArn"))
3857	}
3858	if s.Options != nil {
3859		if err := s.Options.Validate(); err != nil {
3860			invalidParams.AddNested("Options", err.(request.ErrInvalidParams))
3861		}
3862	}
3863	if s.Schedule != nil {
3864		if err := s.Schedule.Validate(); err != nil {
3865			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
3866		}
3867	}
3868	if s.Tags != nil {
3869		for i, v := range s.Tags {
3870			if v == nil {
3871				continue
3872			}
3873			if err := v.Validate(); err != nil {
3874				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3875			}
3876		}
3877	}
3878
3879	if invalidParams.Len() > 0 {
3880		return invalidParams
3881	}
3882	return nil
3883}
3884
3885// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
3886func (s *CreateTaskInput) SetCloudWatchLogGroupArn(v string) *CreateTaskInput {
3887	s.CloudWatchLogGroupArn = &v
3888	return s
3889}
3890
3891// SetDestinationLocationArn sets the DestinationLocationArn field's value.
3892func (s *CreateTaskInput) SetDestinationLocationArn(v string) *CreateTaskInput {
3893	s.DestinationLocationArn = &v
3894	return s
3895}
3896
3897// SetExcludes sets the Excludes field's value.
3898func (s *CreateTaskInput) SetExcludes(v []*FilterRule) *CreateTaskInput {
3899	s.Excludes = v
3900	return s
3901}
3902
3903// SetName sets the Name field's value.
3904func (s *CreateTaskInput) SetName(v string) *CreateTaskInput {
3905	s.Name = &v
3906	return s
3907}
3908
3909// SetOptions sets the Options field's value.
3910func (s *CreateTaskInput) SetOptions(v *Options) *CreateTaskInput {
3911	s.Options = v
3912	return s
3913}
3914
3915// SetSchedule sets the Schedule field's value.
3916func (s *CreateTaskInput) SetSchedule(v *TaskSchedule) *CreateTaskInput {
3917	s.Schedule = v
3918	return s
3919}
3920
3921// SetSourceLocationArn sets the SourceLocationArn field's value.
3922func (s *CreateTaskInput) SetSourceLocationArn(v string) *CreateTaskInput {
3923	s.SourceLocationArn = &v
3924	return s
3925}
3926
3927// SetTags sets the Tags field's value.
3928func (s *CreateTaskInput) SetTags(v []*TagListEntry) *CreateTaskInput {
3929	s.Tags = v
3930	return s
3931}
3932
3933// CreateTaskResponse
3934type CreateTaskOutput struct {
3935	_ struct{} `type:"structure"`
3936
3937	// The Amazon Resource Name (ARN) of the task.
3938	TaskArn *string `type:"string"`
3939}
3940
3941// String returns the string representation
3942func (s CreateTaskOutput) String() string {
3943	return awsutil.Prettify(s)
3944}
3945
3946// GoString returns the string representation
3947func (s CreateTaskOutput) GoString() string {
3948	return s.String()
3949}
3950
3951// SetTaskArn sets the TaskArn field's value.
3952func (s *CreateTaskOutput) SetTaskArn(v string) *CreateTaskOutput {
3953	s.TaskArn = &v
3954	return s
3955}
3956
3957// DeleteAgentRequest
3958type DeleteAgentInput struct {
3959	_ struct{} `type:"structure"`
3960
3961	// The Amazon Resource Name (ARN) of the agent to delete. Use the ListAgents
3962	// operation to return a list of agents for your account and AWS Region.
3963	//
3964	// AgentArn is a required field
3965	AgentArn *string `type:"string" required:"true"`
3966}
3967
3968// String returns the string representation
3969func (s DeleteAgentInput) String() string {
3970	return awsutil.Prettify(s)
3971}
3972
3973// GoString returns the string representation
3974func (s DeleteAgentInput) GoString() string {
3975	return s.String()
3976}
3977
3978// Validate inspects the fields of the type to determine if they are valid.
3979func (s *DeleteAgentInput) Validate() error {
3980	invalidParams := request.ErrInvalidParams{Context: "DeleteAgentInput"}
3981	if s.AgentArn == nil {
3982		invalidParams.Add(request.NewErrParamRequired("AgentArn"))
3983	}
3984
3985	if invalidParams.Len() > 0 {
3986		return invalidParams
3987	}
3988	return nil
3989}
3990
3991// SetAgentArn sets the AgentArn field's value.
3992func (s *DeleteAgentInput) SetAgentArn(v string) *DeleteAgentInput {
3993	s.AgentArn = &v
3994	return s
3995}
3996
3997type DeleteAgentOutput struct {
3998	_ struct{} `type:"structure"`
3999}
4000
4001// String returns the string representation
4002func (s DeleteAgentOutput) String() string {
4003	return awsutil.Prettify(s)
4004}
4005
4006// GoString returns the string representation
4007func (s DeleteAgentOutput) GoString() string {
4008	return s.String()
4009}
4010
4011// DeleteLocation
4012type DeleteLocationInput struct {
4013	_ struct{} `type:"structure"`
4014
4015	// The Amazon Resource Name (ARN) of the location to delete.
4016	//
4017	// LocationArn is a required field
4018	LocationArn *string `type:"string" required:"true"`
4019}
4020
4021// String returns the string representation
4022func (s DeleteLocationInput) String() string {
4023	return awsutil.Prettify(s)
4024}
4025
4026// GoString returns the string representation
4027func (s DeleteLocationInput) GoString() string {
4028	return s.String()
4029}
4030
4031// Validate inspects the fields of the type to determine if they are valid.
4032func (s *DeleteLocationInput) Validate() error {
4033	invalidParams := request.ErrInvalidParams{Context: "DeleteLocationInput"}
4034	if s.LocationArn == nil {
4035		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
4036	}
4037
4038	if invalidParams.Len() > 0 {
4039		return invalidParams
4040	}
4041	return nil
4042}
4043
4044// SetLocationArn sets the LocationArn field's value.
4045func (s *DeleteLocationInput) SetLocationArn(v string) *DeleteLocationInput {
4046	s.LocationArn = &v
4047	return s
4048}
4049
4050type DeleteLocationOutput struct {
4051	_ struct{} `type:"structure"`
4052}
4053
4054// String returns the string representation
4055func (s DeleteLocationOutput) String() string {
4056	return awsutil.Prettify(s)
4057}
4058
4059// GoString returns the string representation
4060func (s DeleteLocationOutput) GoString() string {
4061	return s.String()
4062}
4063
4064// DeleteTask
4065type DeleteTaskInput struct {
4066	_ struct{} `type:"structure"`
4067
4068	// The Amazon Resource Name (ARN) of the task to delete.
4069	//
4070	// TaskArn is a required field
4071	TaskArn *string `type:"string" required:"true"`
4072}
4073
4074// String returns the string representation
4075func (s DeleteTaskInput) String() string {
4076	return awsutil.Prettify(s)
4077}
4078
4079// GoString returns the string representation
4080func (s DeleteTaskInput) GoString() string {
4081	return s.String()
4082}
4083
4084// Validate inspects the fields of the type to determine if they are valid.
4085func (s *DeleteTaskInput) Validate() error {
4086	invalidParams := request.ErrInvalidParams{Context: "DeleteTaskInput"}
4087	if s.TaskArn == nil {
4088		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
4089	}
4090
4091	if invalidParams.Len() > 0 {
4092		return invalidParams
4093	}
4094	return nil
4095}
4096
4097// SetTaskArn sets the TaskArn field's value.
4098func (s *DeleteTaskInput) SetTaskArn(v string) *DeleteTaskInput {
4099	s.TaskArn = &v
4100	return s
4101}
4102
4103type DeleteTaskOutput struct {
4104	_ struct{} `type:"structure"`
4105}
4106
4107// String returns the string representation
4108func (s DeleteTaskOutput) String() string {
4109	return awsutil.Prettify(s)
4110}
4111
4112// GoString returns the string representation
4113func (s DeleteTaskOutput) GoString() string {
4114	return s.String()
4115}
4116
4117// DescribeAgent
4118type DescribeAgentInput struct {
4119	_ struct{} `type:"structure"`
4120
4121	// The Amazon Resource Name (ARN) of the agent to describe.
4122	//
4123	// AgentArn is a required field
4124	AgentArn *string `type:"string" required:"true"`
4125}
4126
4127// String returns the string representation
4128func (s DescribeAgentInput) String() string {
4129	return awsutil.Prettify(s)
4130}
4131
4132// GoString returns the string representation
4133func (s DescribeAgentInput) GoString() string {
4134	return s.String()
4135}
4136
4137// Validate inspects the fields of the type to determine if they are valid.
4138func (s *DescribeAgentInput) Validate() error {
4139	invalidParams := request.ErrInvalidParams{Context: "DescribeAgentInput"}
4140	if s.AgentArn == nil {
4141		invalidParams.Add(request.NewErrParamRequired("AgentArn"))
4142	}
4143
4144	if invalidParams.Len() > 0 {
4145		return invalidParams
4146	}
4147	return nil
4148}
4149
4150// SetAgentArn sets the AgentArn field's value.
4151func (s *DescribeAgentInput) SetAgentArn(v string) *DescribeAgentInput {
4152	s.AgentArn = &v
4153	return s
4154}
4155
4156// DescribeAgentResponse
4157type DescribeAgentOutput struct {
4158	_ struct{} `type:"structure"`
4159
4160	// The Amazon Resource Name (ARN) of the agent.
4161	AgentArn *string `type:"string"`
4162
4163	// The time that the agent was activated (that is, created in your account).
4164	CreationTime *time.Time `type:"timestamp"`
4165
4166	// The type of endpoint that your agent is connected to. If the endpoint is
4167	// a VPC endpoint, the agent is not accessible over the public Internet.
4168	EndpointType *string `type:"string" enum:"EndpointType"`
4169
4170	// The time that the agent last connected to DataSyc.
4171	LastConnectionTime *time.Time `type:"timestamp"`
4172
4173	// The name of the agent.
4174	Name *string `min:"1" type:"string"`
4175
4176	// The subnet and the security group that DataSync used to access a VPC endpoint.
4177	PrivateLinkConfig *PrivateLinkConfig `type:"structure"`
4178
4179	// The status of the agent. If the status is ONLINE, then the agent is configured
4180	// properly and is available to use. The Running status is the normal running
4181	// status for an agent. If the status is OFFLINE, the agent's VM is turned off
4182	// or the agent is in an unhealthy state. When the issue that caused the unhealthy
4183	// state is resolved, the agent returns to ONLINE status.
4184	Status *string `type:"string" enum:"AgentStatus"`
4185}
4186
4187// String returns the string representation
4188func (s DescribeAgentOutput) String() string {
4189	return awsutil.Prettify(s)
4190}
4191
4192// GoString returns the string representation
4193func (s DescribeAgentOutput) GoString() string {
4194	return s.String()
4195}
4196
4197// SetAgentArn sets the AgentArn field's value.
4198func (s *DescribeAgentOutput) SetAgentArn(v string) *DescribeAgentOutput {
4199	s.AgentArn = &v
4200	return s
4201}
4202
4203// SetCreationTime sets the CreationTime field's value.
4204func (s *DescribeAgentOutput) SetCreationTime(v time.Time) *DescribeAgentOutput {
4205	s.CreationTime = &v
4206	return s
4207}
4208
4209// SetEndpointType sets the EndpointType field's value.
4210func (s *DescribeAgentOutput) SetEndpointType(v string) *DescribeAgentOutput {
4211	s.EndpointType = &v
4212	return s
4213}
4214
4215// SetLastConnectionTime sets the LastConnectionTime field's value.
4216func (s *DescribeAgentOutput) SetLastConnectionTime(v time.Time) *DescribeAgentOutput {
4217	s.LastConnectionTime = &v
4218	return s
4219}
4220
4221// SetName sets the Name field's value.
4222func (s *DescribeAgentOutput) SetName(v string) *DescribeAgentOutput {
4223	s.Name = &v
4224	return s
4225}
4226
4227// SetPrivateLinkConfig sets the PrivateLinkConfig field's value.
4228func (s *DescribeAgentOutput) SetPrivateLinkConfig(v *PrivateLinkConfig) *DescribeAgentOutput {
4229	s.PrivateLinkConfig = v
4230	return s
4231}
4232
4233// SetStatus sets the Status field's value.
4234func (s *DescribeAgentOutput) SetStatus(v string) *DescribeAgentOutput {
4235	s.Status = &v
4236	return s
4237}
4238
4239// DescribeLocationEfsRequest
4240type DescribeLocationEfsInput struct {
4241	_ struct{} `type:"structure"`
4242
4243	// The Amazon Resource Name (ARN) of the EFS location to describe.
4244	//
4245	// LocationArn is a required field
4246	LocationArn *string `type:"string" required:"true"`
4247}
4248
4249// String returns the string representation
4250func (s DescribeLocationEfsInput) String() string {
4251	return awsutil.Prettify(s)
4252}
4253
4254// GoString returns the string representation
4255func (s DescribeLocationEfsInput) GoString() string {
4256	return s.String()
4257}
4258
4259// Validate inspects the fields of the type to determine if they are valid.
4260func (s *DescribeLocationEfsInput) Validate() error {
4261	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationEfsInput"}
4262	if s.LocationArn == nil {
4263		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
4264	}
4265
4266	if invalidParams.Len() > 0 {
4267		return invalidParams
4268	}
4269	return nil
4270}
4271
4272// SetLocationArn sets the LocationArn field's value.
4273func (s *DescribeLocationEfsInput) SetLocationArn(v string) *DescribeLocationEfsInput {
4274	s.LocationArn = &v
4275	return s
4276}
4277
4278// DescribeLocationEfsResponse
4279type DescribeLocationEfsOutput struct {
4280	_ struct{} `type:"structure"`
4281
4282	// The time that the EFS location was created.
4283	CreationTime *time.Time `type:"timestamp"`
4284
4285	// The subnet and the security group that DataSync uses to access target EFS
4286	// file system. The subnet must have at least one mount target for that file
4287	// system. The security group that you provide needs to be able to communicate
4288	// with the security group on the mount target in the subnet specified.
4289	Ec2Config *Ec2Config `type:"structure"`
4290
4291	// The Amazon resource Name (ARN) of the EFS location that was described.
4292	LocationArn *string `type:"string"`
4293
4294	// The URL of the EFS location that was described.
4295	LocationUri *string `type:"string"`
4296}
4297
4298// String returns the string representation
4299func (s DescribeLocationEfsOutput) String() string {
4300	return awsutil.Prettify(s)
4301}
4302
4303// GoString returns the string representation
4304func (s DescribeLocationEfsOutput) GoString() string {
4305	return s.String()
4306}
4307
4308// SetCreationTime sets the CreationTime field's value.
4309func (s *DescribeLocationEfsOutput) SetCreationTime(v time.Time) *DescribeLocationEfsOutput {
4310	s.CreationTime = &v
4311	return s
4312}
4313
4314// SetEc2Config sets the Ec2Config field's value.
4315func (s *DescribeLocationEfsOutput) SetEc2Config(v *Ec2Config) *DescribeLocationEfsOutput {
4316	s.Ec2Config = v
4317	return s
4318}
4319
4320// SetLocationArn sets the LocationArn field's value.
4321func (s *DescribeLocationEfsOutput) SetLocationArn(v string) *DescribeLocationEfsOutput {
4322	s.LocationArn = &v
4323	return s
4324}
4325
4326// SetLocationUri sets the LocationUri field's value.
4327func (s *DescribeLocationEfsOutput) SetLocationUri(v string) *DescribeLocationEfsOutput {
4328	s.LocationUri = &v
4329	return s
4330}
4331
4332type DescribeLocationFsxWindowsInput struct {
4333	_ struct{} `type:"structure"`
4334
4335	// The Amazon Resource Name (ARN) of the FSx for Windows location to describe.
4336	//
4337	// LocationArn is a required field
4338	LocationArn *string `type:"string" required:"true"`
4339}
4340
4341// String returns the string representation
4342func (s DescribeLocationFsxWindowsInput) String() string {
4343	return awsutil.Prettify(s)
4344}
4345
4346// GoString returns the string representation
4347func (s DescribeLocationFsxWindowsInput) GoString() string {
4348	return s.String()
4349}
4350
4351// Validate inspects the fields of the type to determine if they are valid.
4352func (s *DescribeLocationFsxWindowsInput) Validate() error {
4353	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationFsxWindowsInput"}
4354	if s.LocationArn == nil {
4355		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
4356	}
4357
4358	if invalidParams.Len() > 0 {
4359		return invalidParams
4360	}
4361	return nil
4362}
4363
4364// SetLocationArn sets the LocationArn field's value.
4365func (s *DescribeLocationFsxWindowsInput) SetLocationArn(v string) *DescribeLocationFsxWindowsInput {
4366	s.LocationArn = &v
4367	return s
4368}
4369
4370type DescribeLocationFsxWindowsOutput struct {
4371	_ struct{} `type:"structure"`
4372
4373	// The time that the FSx for Windows location was created.
4374	CreationTime *time.Time `type:"timestamp"`
4375
4376	// The name of the Windows domain that the FSx for Windows server belongs to.
4377	Domain *string `type:"string"`
4378
4379	// The Amazon resource Name (ARN) of the FSx for Windows location that was described.
4380	LocationArn *string `type:"string"`
4381
4382	// The URL of the FSx for Windows location that was described.
4383	LocationUri *string `type:"string"`
4384
4385	// The Amazon Resource Names (ARNs) of the security groups that are configured
4386	// for the for the FSx for Windows file system.
4387	SecurityGroupArns []*string `min:"1" type:"list"`
4388
4389	// The user who has the permissions to access files and folders in the FSx for
4390	// Windows file system.
4391	User *string `type:"string"`
4392}
4393
4394// String returns the string representation
4395func (s DescribeLocationFsxWindowsOutput) String() string {
4396	return awsutil.Prettify(s)
4397}
4398
4399// GoString returns the string representation
4400func (s DescribeLocationFsxWindowsOutput) GoString() string {
4401	return s.String()
4402}
4403
4404// SetCreationTime sets the CreationTime field's value.
4405func (s *DescribeLocationFsxWindowsOutput) SetCreationTime(v time.Time) *DescribeLocationFsxWindowsOutput {
4406	s.CreationTime = &v
4407	return s
4408}
4409
4410// SetDomain sets the Domain field's value.
4411func (s *DescribeLocationFsxWindowsOutput) SetDomain(v string) *DescribeLocationFsxWindowsOutput {
4412	s.Domain = &v
4413	return s
4414}
4415
4416// SetLocationArn sets the LocationArn field's value.
4417func (s *DescribeLocationFsxWindowsOutput) SetLocationArn(v string) *DescribeLocationFsxWindowsOutput {
4418	s.LocationArn = &v
4419	return s
4420}
4421
4422// SetLocationUri sets the LocationUri field's value.
4423func (s *DescribeLocationFsxWindowsOutput) SetLocationUri(v string) *DescribeLocationFsxWindowsOutput {
4424	s.LocationUri = &v
4425	return s
4426}
4427
4428// SetSecurityGroupArns sets the SecurityGroupArns field's value.
4429func (s *DescribeLocationFsxWindowsOutput) SetSecurityGroupArns(v []*string) *DescribeLocationFsxWindowsOutput {
4430	s.SecurityGroupArns = v
4431	return s
4432}
4433
4434// SetUser sets the User field's value.
4435func (s *DescribeLocationFsxWindowsOutput) SetUser(v string) *DescribeLocationFsxWindowsOutput {
4436	s.User = &v
4437	return s
4438}
4439
4440// DescribeLocationNfsRequest
4441type DescribeLocationNfsInput struct {
4442	_ struct{} `type:"structure"`
4443
4444	// The Amazon resource Name (ARN) of the NFS location to describe.
4445	//
4446	// LocationArn is a required field
4447	LocationArn *string `type:"string" required:"true"`
4448}
4449
4450// String returns the string representation
4451func (s DescribeLocationNfsInput) String() string {
4452	return awsutil.Prettify(s)
4453}
4454
4455// GoString returns the string representation
4456func (s DescribeLocationNfsInput) GoString() string {
4457	return s.String()
4458}
4459
4460// Validate inspects the fields of the type to determine if they are valid.
4461func (s *DescribeLocationNfsInput) Validate() error {
4462	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationNfsInput"}
4463	if s.LocationArn == nil {
4464		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
4465	}
4466
4467	if invalidParams.Len() > 0 {
4468		return invalidParams
4469	}
4470	return nil
4471}
4472
4473// SetLocationArn sets the LocationArn field's value.
4474func (s *DescribeLocationNfsInput) SetLocationArn(v string) *DescribeLocationNfsInput {
4475	s.LocationArn = &v
4476	return s
4477}
4478
4479// DescribeLocationNfsResponse
4480type DescribeLocationNfsOutput struct {
4481	_ struct{} `type:"structure"`
4482
4483	// The time that the NFS location was created.
4484	CreationTime *time.Time `type:"timestamp"`
4485
4486	// The Amazon resource Name (ARN) of the NFS location that was described.
4487	LocationArn *string `type:"string"`
4488
4489	// The URL of the source NFS location that was described.
4490	LocationUri *string `type:"string"`
4491
4492	// The NFS mount options that DataSync used to mount your NFS share.
4493	MountOptions *NfsMountOptions `type:"structure"`
4494
4495	// A list of Amazon Resource Names (ARNs) of agents to use for a Network File
4496	// System (NFS) location.
4497	OnPremConfig *OnPremConfig `type:"structure"`
4498}
4499
4500// String returns the string representation
4501func (s DescribeLocationNfsOutput) String() string {
4502	return awsutil.Prettify(s)
4503}
4504
4505// GoString returns the string representation
4506func (s DescribeLocationNfsOutput) GoString() string {
4507	return s.String()
4508}
4509
4510// SetCreationTime sets the CreationTime field's value.
4511func (s *DescribeLocationNfsOutput) SetCreationTime(v time.Time) *DescribeLocationNfsOutput {
4512	s.CreationTime = &v
4513	return s
4514}
4515
4516// SetLocationArn sets the LocationArn field's value.
4517func (s *DescribeLocationNfsOutput) SetLocationArn(v string) *DescribeLocationNfsOutput {
4518	s.LocationArn = &v
4519	return s
4520}
4521
4522// SetLocationUri sets the LocationUri field's value.
4523func (s *DescribeLocationNfsOutput) SetLocationUri(v string) *DescribeLocationNfsOutput {
4524	s.LocationUri = &v
4525	return s
4526}
4527
4528// SetMountOptions sets the MountOptions field's value.
4529func (s *DescribeLocationNfsOutput) SetMountOptions(v *NfsMountOptions) *DescribeLocationNfsOutput {
4530	s.MountOptions = v
4531	return s
4532}
4533
4534// SetOnPremConfig sets the OnPremConfig field's value.
4535func (s *DescribeLocationNfsOutput) SetOnPremConfig(v *OnPremConfig) *DescribeLocationNfsOutput {
4536	s.OnPremConfig = v
4537	return s
4538}
4539
4540// DescribeLocationS3Request
4541type DescribeLocationS3Input struct {
4542	_ struct{} `type:"structure"`
4543
4544	// The Amazon Resource Name (ARN) of the Amazon S3 bucket location to describe.
4545	//
4546	// LocationArn is a required field
4547	LocationArn *string `type:"string" required:"true"`
4548}
4549
4550// String returns the string representation
4551func (s DescribeLocationS3Input) String() string {
4552	return awsutil.Prettify(s)
4553}
4554
4555// GoString returns the string representation
4556func (s DescribeLocationS3Input) GoString() string {
4557	return s.String()
4558}
4559
4560// Validate inspects the fields of the type to determine if they are valid.
4561func (s *DescribeLocationS3Input) Validate() error {
4562	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationS3Input"}
4563	if s.LocationArn == nil {
4564		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
4565	}
4566
4567	if invalidParams.Len() > 0 {
4568		return invalidParams
4569	}
4570	return nil
4571}
4572
4573// SetLocationArn sets the LocationArn field's value.
4574func (s *DescribeLocationS3Input) SetLocationArn(v string) *DescribeLocationS3Input {
4575	s.LocationArn = &v
4576	return s
4577}
4578
4579// DescribeLocationS3Response
4580type DescribeLocationS3Output struct {
4581	_ struct{} `type:"structure"`
4582
4583	// The time that the Amazon S3 bucket location was created.
4584	CreationTime *time.Time `type:"timestamp"`
4585
4586	// The Amazon Resource Name (ARN) of the Amazon S3 bucket location.
4587	LocationArn *string `type:"string"`
4588
4589	// The URL of the Amazon S3 location that was described.
4590	LocationUri *string `type:"string"`
4591
4592	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
4593	// (IAM) role that is used to access an Amazon S3 bucket.
4594	//
4595	// For detailed information about using such a role, see Creating a Location
4596	// for Amazon S3 in the AWS DataSync User Guide.
4597	S3Config *S3Config `type:"structure"`
4598
4599	// The Amazon S3 storage class that you chose to store your files in when this
4600	// location is used as a task destination. For more information about S3 storage
4601	// classes, see Amazon S3 Storage Classes (https://aws.amazon.com/s3/storage-classes/)
4602	// in the Amazon Simple Storage Service Developer Guide. Some storage classes
4603	// have behaviors that can affect your S3 storage cost. For detailed information,
4604	// see using-storage-classes.
4605	S3StorageClass *string `type:"string" enum:"S3StorageClass"`
4606}
4607
4608// String returns the string representation
4609func (s DescribeLocationS3Output) String() string {
4610	return awsutil.Prettify(s)
4611}
4612
4613// GoString returns the string representation
4614func (s DescribeLocationS3Output) GoString() string {
4615	return s.String()
4616}
4617
4618// SetCreationTime sets the CreationTime field's value.
4619func (s *DescribeLocationS3Output) SetCreationTime(v time.Time) *DescribeLocationS3Output {
4620	s.CreationTime = &v
4621	return s
4622}
4623
4624// SetLocationArn sets the LocationArn field's value.
4625func (s *DescribeLocationS3Output) SetLocationArn(v string) *DescribeLocationS3Output {
4626	s.LocationArn = &v
4627	return s
4628}
4629
4630// SetLocationUri sets the LocationUri field's value.
4631func (s *DescribeLocationS3Output) SetLocationUri(v string) *DescribeLocationS3Output {
4632	s.LocationUri = &v
4633	return s
4634}
4635
4636// SetS3Config sets the S3Config field's value.
4637func (s *DescribeLocationS3Output) SetS3Config(v *S3Config) *DescribeLocationS3Output {
4638	s.S3Config = v
4639	return s
4640}
4641
4642// SetS3StorageClass sets the S3StorageClass field's value.
4643func (s *DescribeLocationS3Output) SetS3StorageClass(v string) *DescribeLocationS3Output {
4644	s.S3StorageClass = &v
4645	return s
4646}
4647
4648// DescribeLocationSmbRequest
4649type DescribeLocationSmbInput struct {
4650	_ struct{} `type:"structure"`
4651
4652	// The Amazon resource Name (ARN) of the SMB location to describe.
4653	//
4654	// LocationArn is a required field
4655	LocationArn *string `type:"string" required:"true"`
4656}
4657
4658// String returns the string representation
4659func (s DescribeLocationSmbInput) String() string {
4660	return awsutil.Prettify(s)
4661}
4662
4663// GoString returns the string representation
4664func (s DescribeLocationSmbInput) GoString() string {
4665	return s.String()
4666}
4667
4668// Validate inspects the fields of the type to determine if they are valid.
4669func (s *DescribeLocationSmbInput) Validate() error {
4670	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationSmbInput"}
4671	if s.LocationArn == nil {
4672		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
4673	}
4674
4675	if invalidParams.Len() > 0 {
4676		return invalidParams
4677	}
4678	return nil
4679}
4680
4681// SetLocationArn sets the LocationArn field's value.
4682func (s *DescribeLocationSmbInput) SetLocationArn(v string) *DescribeLocationSmbInput {
4683	s.LocationArn = &v
4684	return s
4685}
4686
4687// DescribeLocationSmbResponse
4688type DescribeLocationSmbOutput struct {
4689	_ struct{} `type:"structure"`
4690
4691	// The Amazon Resource Name (ARN) of the source SMB file system location that
4692	// is created.
4693	AgentArns []*string `min:"1" type:"list"`
4694
4695	// The time that the SMB location was created.
4696	CreationTime *time.Time `type:"timestamp"`
4697
4698	// The name of the Windows domain that the SMB server belongs to.
4699	Domain *string `type:"string"`
4700
4701	// The Amazon resource Name (ARN) of the SMB location that was described.
4702	LocationArn *string `type:"string"`
4703
4704	// The URL of the source SBM location that was described.
4705	LocationUri *string `type:"string"`
4706
4707	// The mount options that are available for DataSync to use to access an SMB
4708	// location.
4709	MountOptions *SmbMountOptions `type:"structure"`
4710
4711	// The user who can mount the share, has the permissions to access files and
4712	// folders in the SMB share.
4713	User *string `type:"string"`
4714}
4715
4716// String returns the string representation
4717func (s DescribeLocationSmbOutput) String() string {
4718	return awsutil.Prettify(s)
4719}
4720
4721// GoString returns the string representation
4722func (s DescribeLocationSmbOutput) GoString() string {
4723	return s.String()
4724}
4725
4726// SetAgentArns sets the AgentArns field's value.
4727func (s *DescribeLocationSmbOutput) SetAgentArns(v []*string) *DescribeLocationSmbOutput {
4728	s.AgentArns = v
4729	return s
4730}
4731
4732// SetCreationTime sets the CreationTime field's value.
4733func (s *DescribeLocationSmbOutput) SetCreationTime(v time.Time) *DescribeLocationSmbOutput {
4734	s.CreationTime = &v
4735	return s
4736}
4737
4738// SetDomain sets the Domain field's value.
4739func (s *DescribeLocationSmbOutput) SetDomain(v string) *DescribeLocationSmbOutput {
4740	s.Domain = &v
4741	return s
4742}
4743
4744// SetLocationArn sets the LocationArn field's value.
4745func (s *DescribeLocationSmbOutput) SetLocationArn(v string) *DescribeLocationSmbOutput {
4746	s.LocationArn = &v
4747	return s
4748}
4749
4750// SetLocationUri sets the LocationUri field's value.
4751func (s *DescribeLocationSmbOutput) SetLocationUri(v string) *DescribeLocationSmbOutput {
4752	s.LocationUri = &v
4753	return s
4754}
4755
4756// SetMountOptions sets the MountOptions field's value.
4757func (s *DescribeLocationSmbOutput) SetMountOptions(v *SmbMountOptions) *DescribeLocationSmbOutput {
4758	s.MountOptions = v
4759	return s
4760}
4761
4762// SetUser sets the User field's value.
4763func (s *DescribeLocationSmbOutput) SetUser(v string) *DescribeLocationSmbOutput {
4764	s.User = &v
4765	return s
4766}
4767
4768// DescribeTaskExecutionRequest
4769type DescribeTaskExecutionInput struct {
4770	_ struct{} `type:"structure"`
4771
4772	// The Amazon Resource Name (ARN) of the task that is being executed.
4773	//
4774	// TaskExecutionArn is a required field
4775	TaskExecutionArn *string `type:"string" required:"true"`
4776}
4777
4778// String returns the string representation
4779func (s DescribeTaskExecutionInput) String() string {
4780	return awsutil.Prettify(s)
4781}
4782
4783// GoString returns the string representation
4784func (s DescribeTaskExecutionInput) GoString() string {
4785	return s.String()
4786}
4787
4788// Validate inspects the fields of the type to determine if they are valid.
4789func (s *DescribeTaskExecutionInput) Validate() error {
4790	invalidParams := request.ErrInvalidParams{Context: "DescribeTaskExecutionInput"}
4791	if s.TaskExecutionArn == nil {
4792		invalidParams.Add(request.NewErrParamRequired("TaskExecutionArn"))
4793	}
4794
4795	if invalidParams.Len() > 0 {
4796		return invalidParams
4797	}
4798	return nil
4799}
4800
4801// SetTaskExecutionArn sets the TaskExecutionArn field's value.
4802func (s *DescribeTaskExecutionInput) SetTaskExecutionArn(v string) *DescribeTaskExecutionInput {
4803	s.TaskExecutionArn = &v
4804	return s
4805}
4806
4807// DescribeTaskExecutionResponse
4808type DescribeTaskExecutionOutput struct {
4809	_ struct{} `type:"structure"`
4810
4811	// The physical number of bytes transferred over the network.
4812	BytesTransferred *int64 `type:"long"`
4813
4814	// The number of logical bytes written to the destination AWS storage resource.
4815	BytesWritten *int64 `type:"long"`
4816
4817	// The estimated physical number of bytes that is to be transferred over the
4818	// network.
4819	EstimatedBytesToTransfer *int64 `type:"long"`
4820
4821	// The expected number of files that is to be transferred over the network.
4822	// This value is calculated during the PREPARING phase, before the TRANSFERRING
4823	// phase. This value is the expected number of files to be transferred. It's
4824	// calculated based on comparing the content of the source and destination locations
4825	// and finding the delta that needs to be transferred.
4826	EstimatedFilesToTransfer *int64 `type:"long"`
4827
4828	// A list of filter rules that determines which files to exclude from a task.
4829	// The list should contain a single filter string that consists of the patterns
4830	// to exclude. The patterns are delimited by "|" (that is, a pipe), for example:
4831	// "/folder1|/folder2"
4832	Excludes []*FilterRule `type:"list"`
4833
4834	// The actual number of files that was transferred over the network. This value
4835	// is calculated and updated on an ongoing basis during the TRANSFERRING phase.
4836	// It's updated periodically when each file is read from the source and sent
4837	// over the network.
4838	//
4839	// If failures occur during a transfer, this value can be less than EstimatedFilesToTransfer.
4840	// This value can also be greater than EstimatedFilesTransferred in some cases.
4841	// This element is implementation-specific for some location types, so don't
4842	// use it as an indicator for a correct file number or to monitor your task
4843	// execution.
4844	FilesTransferred *int64 `type:"long"`
4845
4846	// A list of filter rules that determines which files to include when running
4847	// a task. The list should contain a single filter string that consists of the
4848	// patterns to include. The patterns are delimited by "|" (that is, a pipe),
4849	// for example: "/folder1|/folder2"
4850	Includes []*FilterRule `type:"list"`
4851
4852	// Represents the options that are available to control the behavior of a StartTaskExecution
4853	// operation. Behavior includes preserving metadata such as user ID (UID), group
4854	// ID (GID), and file permissions, and also overwriting files in the destination,
4855	// data integrity verification, and so on.
4856	//
4857	// A task has a set of default options associated with it. If you don't specify
4858	// an option in StartTaskExecution, the default value is used. You can override
4859	// the defaults options on each task execution by specifying an overriding Options
4860	// value to StartTaskExecution.
4861	Options *Options `type:"structure"`
4862
4863	// The result of the task execution.
4864	Result *TaskExecutionResultDetail `type:"structure"`
4865
4866	// The time that the task execution was started.
4867	StartTime *time.Time `type:"timestamp"`
4868
4869	// The status of the task execution.
4870	//
4871	// For detailed information about task execution statuses, see Understanding
4872	// Task Statuses in the AWS DataSync User Guide.
4873	Status *string `type:"string" enum:"TaskExecutionStatus"`
4874
4875	// The Amazon Resource Name (ARN) of the task execution that was described.
4876	// TaskExecutionArn is hierarchical and includes TaskArn for the task that was
4877	// executed.
4878	//
4879	// For example, a TaskExecution value with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2/execution/exec-08ef1e88ec491019b
4880	// executed the task with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2.
4881	TaskExecutionArn *string `type:"string"`
4882}
4883
4884// String returns the string representation
4885func (s DescribeTaskExecutionOutput) String() string {
4886	return awsutil.Prettify(s)
4887}
4888
4889// GoString returns the string representation
4890func (s DescribeTaskExecutionOutput) GoString() string {
4891	return s.String()
4892}
4893
4894// SetBytesTransferred sets the BytesTransferred field's value.
4895func (s *DescribeTaskExecutionOutput) SetBytesTransferred(v int64) *DescribeTaskExecutionOutput {
4896	s.BytesTransferred = &v
4897	return s
4898}
4899
4900// SetBytesWritten sets the BytesWritten field's value.
4901func (s *DescribeTaskExecutionOutput) SetBytesWritten(v int64) *DescribeTaskExecutionOutput {
4902	s.BytesWritten = &v
4903	return s
4904}
4905
4906// SetEstimatedBytesToTransfer sets the EstimatedBytesToTransfer field's value.
4907func (s *DescribeTaskExecutionOutput) SetEstimatedBytesToTransfer(v int64) *DescribeTaskExecutionOutput {
4908	s.EstimatedBytesToTransfer = &v
4909	return s
4910}
4911
4912// SetEstimatedFilesToTransfer sets the EstimatedFilesToTransfer field's value.
4913func (s *DescribeTaskExecutionOutput) SetEstimatedFilesToTransfer(v int64) *DescribeTaskExecutionOutput {
4914	s.EstimatedFilesToTransfer = &v
4915	return s
4916}
4917
4918// SetExcludes sets the Excludes field's value.
4919func (s *DescribeTaskExecutionOutput) SetExcludes(v []*FilterRule) *DescribeTaskExecutionOutput {
4920	s.Excludes = v
4921	return s
4922}
4923
4924// SetFilesTransferred sets the FilesTransferred field's value.
4925func (s *DescribeTaskExecutionOutput) SetFilesTransferred(v int64) *DescribeTaskExecutionOutput {
4926	s.FilesTransferred = &v
4927	return s
4928}
4929
4930// SetIncludes sets the Includes field's value.
4931func (s *DescribeTaskExecutionOutput) SetIncludes(v []*FilterRule) *DescribeTaskExecutionOutput {
4932	s.Includes = v
4933	return s
4934}
4935
4936// SetOptions sets the Options field's value.
4937func (s *DescribeTaskExecutionOutput) SetOptions(v *Options) *DescribeTaskExecutionOutput {
4938	s.Options = v
4939	return s
4940}
4941
4942// SetResult sets the Result field's value.
4943func (s *DescribeTaskExecutionOutput) SetResult(v *TaskExecutionResultDetail) *DescribeTaskExecutionOutput {
4944	s.Result = v
4945	return s
4946}
4947
4948// SetStartTime sets the StartTime field's value.
4949func (s *DescribeTaskExecutionOutput) SetStartTime(v time.Time) *DescribeTaskExecutionOutput {
4950	s.StartTime = &v
4951	return s
4952}
4953
4954// SetStatus sets the Status field's value.
4955func (s *DescribeTaskExecutionOutput) SetStatus(v string) *DescribeTaskExecutionOutput {
4956	s.Status = &v
4957	return s
4958}
4959
4960// SetTaskExecutionArn sets the TaskExecutionArn field's value.
4961func (s *DescribeTaskExecutionOutput) SetTaskExecutionArn(v string) *DescribeTaskExecutionOutput {
4962	s.TaskExecutionArn = &v
4963	return s
4964}
4965
4966// DescribeTaskRequest
4967type DescribeTaskInput struct {
4968	_ struct{} `type:"structure"`
4969
4970	// The Amazon Resource Name (ARN) of the task to describe.
4971	//
4972	// TaskArn is a required field
4973	TaskArn *string `type:"string" required:"true"`
4974}
4975
4976// String returns the string representation
4977func (s DescribeTaskInput) String() string {
4978	return awsutil.Prettify(s)
4979}
4980
4981// GoString returns the string representation
4982func (s DescribeTaskInput) GoString() string {
4983	return s.String()
4984}
4985
4986// Validate inspects the fields of the type to determine if they are valid.
4987func (s *DescribeTaskInput) Validate() error {
4988	invalidParams := request.ErrInvalidParams{Context: "DescribeTaskInput"}
4989	if s.TaskArn == nil {
4990		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
4991	}
4992
4993	if invalidParams.Len() > 0 {
4994		return invalidParams
4995	}
4996	return nil
4997}
4998
4999// SetTaskArn sets the TaskArn field's value.
5000func (s *DescribeTaskInput) SetTaskArn(v string) *DescribeTaskInput {
5001	s.TaskArn = &v
5002	return s
5003}
5004
5005// DescribeTaskResponse
5006type DescribeTaskOutput struct {
5007	_ struct{} `type:"structure"`
5008
5009	// The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that was
5010	// used to monitor and log events in the task.
5011	//
5012	// For more information on these groups, see Working with Log Groups and Log
5013	// Streams in the Amazon CloudWatch User Guide.
5014	CloudWatchLogGroupArn *string `type:"string"`
5015
5016	// The time that the task was created.
5017	CreationTime *time.Time `type:"timestamp"`
5018
5019	// The Amazon Resource Name (ARN) of the task execution that is syncing files.
5020	CurrentTaskExecutionArn *string `type:"string"`
5021
5022	// The Amazon Resource Name (ARN) of the AWS storage resource's location.
5023	DestinationLocationArn *string `type:"string"`
5024
5025	// The Amazon Resource Name (ARN) of the destination ENIs (Elastic Network Interface)
5026	// that was created for your subnet.
5027	DestinationNetworkInterfaceArns []*string `type:"list"`
5028
5029	// Errors that AWS DataSync encountered during execution of the task. You can
5030	// use this error code to help troubleshoot issues.
5031	ErrorCode *string `type:"string"`
5032
5033	// Detailed description of an error that was encountered during the task execution.
5034	// You can use this information to help troubleshoot issues.
5035	ErrorDetail *string `type:"string"`
5036
5037	// A list of filter rules that determines which files to exclude from a task.
5038	// The list should contain a single filter string that consists of the patterns
5039	// to exclude. The patterns are delimited by "|" (that is, a pipe), for example:
5040	// "/folder1|/folder2"
5041	Excludes []*FilterRule `type:"list"`
5042
5043	// The name of the task that was described.
5044	Name *string `min:"1" type:"string"`
5045
5046	// The set of configuration options that control the behavior of a single execution
5047	// of the task that occurs when you call StartTaskExecution. You can configure
5048	// these options to preserve metadata such as user ID (UID) and group (GID),
5049	// file permissions, data integrity verification, and so on.
5050	//
5051	// For each individual task execution, you can override these options by specifying
5052	// the overriding OverrideOptions value to operation.
5053	Options *Options `type:"structure"`
5054
5055	// The schedule used to periodically transfer files from a source to a destination
5056	// location.
5057	Schedule *TaskSchedule `type:"structure"`
5058
5059	// The Amazon Resource Name (ARN) of the source file system's location.
5060	SourceLocationArn *string `type:"string"`
5061
5062	// The Amazon Resource Name (ARN) of the source ENIs (Elastic Network Interface)
5063	// that was created for your subnet.
5064	SourceNetworkInterfaceArns []*string `type:"list"`
5065
5066	// The status of the task that was described.
5067	//
5068	// For detailed information about task execution statuses, see Understanding
5069	// Task Statuses in the AWS DataSync User Guide.
5070	Status *string `type:"string" enum:"TaskStatus"`
5071
5072	// The Amazon Resource Name (ARN) of the task that was described.
5073	TaskArn *string `type:"string"`
5074}
5075
5076// String returns the string representation
5077func (s DescribeTaskOutput) String() string {
5078	return awsutil.Prettify(s)
5079}
5080
5081// GoString returns the string representation
5082func (s DescribeTaskOutput) GoString() string {
5083	return s.String()
5084}
5085
5086// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
5087func (s *DescribeTaskOutput) SetCloudWatchLogGroupArn(v string) *DescribeTaskOutput {
5088	s.CloudWatchLogGroupArn = &v
5089	return s
5090}
5091
5092// SetCreationTime sets the CreationTime field's value.
5093func (s *DescribeTaskOutput) SetCreationTime(v time.Time) *DescribeTaskOutput {
5094	s.CreationTime = &v
5095	return s
5096}
5097
5098// SetCurrentTaskExecutionArn sets the CurrentTaskExecutionArn field's value.
5099func (s *DescribeTaskOutput) SetCurrentTaskExecutionArn(v string) *DescribeTaskOutput {
5100	s.CurrentTaskExecutionArn = &v
5101	return s
5102}
5103
5104// SetDestinationLocationArn sets the DestinationLocationArn field's value.
5105func (s *DescribeTaskOutput) SetDestinationLocationArn(v string) *DescribeTaskOutput {
5106	s.DestinationLocationArn = &v
5107	return s
5108}
5109
5110// SetDestinationNetworkInterfaceArns sets the DestinationNetworkInterfaceArns field's value.
5111func (s *DescribeTaskOutput) SetDestinationNetworkInterfaceArns(v []*string) *DescribeTaskOutput {
5112	s.DestinationNetworkInterfaceArns = v
5113	return s
5114}
5115
5116// SetErrorCode sets the ErrorCode field's value.
5117func (s *DescribeTaskOutput) SetErrorCode(v string) *DescribeTaskOutput {
5118	s.ErrorCode = &v
5119	return s
5120}
5121
5122// SetErrorDetail sets the ErrorDetail field's value.
5123func (s *DescribeTaskOutput) SetErrorDetail(v string) *DescribeTaskOutput {
5124	s.ErrorDetail = &v
5125	return s
5126}
5127
5128// SetExcludes sets the Excludes field's value.
5129func (s *DescribeTaskOutput) SetExcludes(v []*FilterRule) *DescribeTaskOutput {
5130	s.Excludes = v
5131	return s
5132}
5133
5134// SetName sets the Name field's value.
5135func (s *DescribeTaskOutput) SetName(v string) *DescribeTaskOutput {
5136	s.Name = &v
5137	return s
5138}
5139
5140// SetOptions sets the Options field's value.
5141func (s *DescribeTaskOutput) SetOptions(v *Options) *DescribeTaskOutput {
5142	s.Options = v
5143	return s
5144}
5145
5146// SetSchedule sets the Schedule field's value.
5147func (s *DescribeTaskOutput) SetSchedule(v *TaskSchedule) *DescribeTaskOutput {
5148	s.Schedule = v
5149	return s
5150}
5151
5152// SetSourceLocationArn sets the SourceLocationArn field's value.
5153func (s *DescribeTaskOutput) SetSourceLocationArn(v string) *DescribeTaskOutput {
5154	s.SourceLocationArn = &v
5155	return s
5156}
5157
5158// SetSourceNetworkInterfaceArns sets the SourceNetworkInterfaceArns field's value.
5159func (s *DescribeTaskOutput) SetSourceNetworkInterfaceArns(v []*string) *DescribeTaskOutput {
5160	s.SourceNetworkInterfaceArns = v
5161	return s
5162}
5163
5164// SetStatus sets the Status field's value.
5165func (s *DescribeTaskOutput) SetStatus(v string) *DescribeTaskOutput {
5166	s.Status = &v
5167	return s
5168}
5169
5170// SetTaskArn sets the TaskArn field's value.
5171func (s *DescribeTaskOutput) SetTaskArn(v string) *DescribeTaskOutput {
5172	s.TaskArn = &v
5173	return s
5174}
5175
5176// The subnet and the security group that DataSync uses to access target EFS
5177// file system. The subnet must have at least one mount target for that file
5178// system. The security group that you provide needs to be able to communicate
5179// with the security group on the mount target in the subnet specified.
5180type Ec2Config struct {
5181	_ struct{} `type:"structure"`
5182
5183	// The Amazon Resource Names (ARNs) of the security groups that are configured
5184	// for the Amazon EC2 resource.
5185	//
5186	// SecurityGroupArns is a required field
5187	SecurityGroupArns []*string `min:"1" type:"list" required:"true"`
5188
5189	// The ARN of the subnet and the security group that DataSync uses to access
5190	// the target EFS file system.
5191	//
5192	// SubnetArn is a required field
5193	SubnetArn *string `type:"string" required:"true"`
5194}
5195
5196// String returns the string representation
5197func (s Ec2Config) String() string {
5198	return awsutil.Prettify(s)
5199}
5200
5201// GoString returns the string representation
5202func (s Ec2Config) GoString() string {
5203	return s.String()
5204}
5205
5206// Validate inspects the fields of the type to determine if they are valid.
5207func (s *Ec2Config) Validate() error {
5208	invalidParams := request.ErrInvalidParams{Context: "Ec2Config"}
5209	if s.SecurityGroupArns == nil {
5210		invalidParams.Add(request.NewErrParamRequired("SecurityGroupArns"))
5211	}
5212	if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 {
5213		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1))
5214	}
5215	if s.SubnetArn == nil {
5216		invalidParams.Add(request.NewErrParamRequired("SubnetArn"))
5217	}
5218
5219	if invalidParams.Len() > 0 {
5220		return invalidParams
5221	}
5222	return nil
5223}
5224
5225// SetSecurityGroupArns sets the SecurityGroupArns field's value.
5226func (s *Ec2Config) SetSecurityGroupArns(v []*string) *Ec2Config {
5227	s.SecurityGroupArns = v
5228	return s
5229}
5230
5231// SetSubnetArn sets the SubnetArn field's value.
5232func (s *Ec2Config) SetSubnetArn(v string) *Ec2Config {
5233	s.SubnetArn = &v
5234	return s
5235}
5236
5237// Specifies which files, folders and objects to include or exclude when transferring
5238// files from source to destination.
5239type FilterRule struct {
5240	_ struct{} `type:"structure"`
5241
5242	// The type of filter rule to apply. AWS DataSync only supports the SIMPLE_PATTERN
5243	// rule type.
5244	FilterType *string `type:"string" enum:"FilterType"`
5245
5246	// A single filter string that consists of the patterns to include or exclude.
5247	// The patterns are delimited by "|" (that is, a pipe), for example: /folder1|/folder2
5248	Value *string `type:"string"`
5249}
5250
5251// String returns the string representation
5252func (s FilterRule) String() string {
5253	return awsutil.Prettify(s)
5254}
5255
5256// GoString returns the string representation
5257func (s FilterRule) GoString() string {
5258	return s.String()
5259}
5260
5261// SetFilterType sets the FilterType field's value.
5262func (s *FilterRule) SetFilterType(v string) *FilterRule {
5263	s.FilterType = &v
5264	return s
5265}
5266
5267// SetValue sets the Value field's value.
5268func (s *FilterRule) SetValue(v string) *FilterRule {
5269	s.Value = &v
5270	return s
5271}
5272
5273// This exception is thrown when an error occurs in the AWS DataSync service.
5274type InternalException struct {
5275	_            struct{}                  `type:"structure"`
5276	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5277
5278	ErrorCode *string `locationName:"errorCode" type:"string"`
5279
5280	Message_ *string `locationName:"message" type:"string"`
5281}
5282
5283// String returns the string representation
5284func (s InternalException) String() string {
5285	return awsutil.Prettify(s)
5286}
5287
5288// GoString returns the string representation
5289func (s InternalException) GoString() string {
5290	return s.String()
5291}
5292
5293func newErrorInternalException(v protocol.ResponseMetadata) error {
5294	return &InternalException{
5295		RespMetadata: v,
5296	}
5297}
5298
5299// Code returns the exception type name.
5300func (s *InternalException) Code() string {
5301	return "InternalException"
5302}
5303
5304// Message returns the exception's message.
5305func (s *InternalException) Message() string {
5306	if s.Message_ != nil {
5307		return *s.Message_
5308	}
5309	return ""
5310}
5311
5312// OrigErr always returns nil, satisfies awserr.Error interface.
5313func (s *InternalException) OrigErr() error {
5314	return nil
5315}
5316
5317func (s *InternalException) Error() string {
5318	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5319}
5320
5321// Status code returns the HTTP status code for the request's response error.
5322func (s *InternalException) StatusCode() int {
5323	return s.RespMetadata.StatusCode
5324}
5325
5326// RequestID returns the service's response RequestID for request.
5327func (s *InternalException) RequestID() string {
5328	return s.RespMetadata.RequestID
5329}
5330
5331// This exception is thrown when the client submits a malformed request.
5332type InvalidRequestException struct {
5333	_            struct{}                  `type:"structure"`
5334	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5335
5336	ErrorCode *string `locationName:"errorCode" type:"string"`
5337
5338	Message_ *string `locationName:"message" type:"string"`
5339}
5340
5341// String returns the string representation
5342func (s InvalidRequestException) String() string {
5343	return awsutil.Prettify(s)
5344}
5345
5346// GoString returns the string representation
5347func (s InvalidRequestException) GoString() string {
5348	return s.String()
5349}
5350
5351func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
5352	return &InvalidRequestException{
5353		RespMetadata: v,
5354	}
5355}
5356
5357// Code returns the exception type name.
5358func (s *InvalidRequestException) Code() string {
5359	return "InvalidRequestException"
5360}
5361
5362// Message returns the exception's message.
5363func (s *InvalidRequestException) Message() string {
5364	if s.Message_ != nil {
5365		return *s.Message_
5366	}
5367	return ""
5368}
5369
5370// OrigErr always returns nil, satisfies awserr.Error interface.
5371func (s *InvalidRequestException) OrigErr() error {
5372	return nil
5373}
5374
5375func (s *InvalidRequestException) Error() string {
5376	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5377}
5378
5379// Status code returns the HTTP status code for the request's response error.
5380func (s *InvalidRequestException) StatusCode() int {
5381	return s.RespMetadata.StatusCode
5382}
5383
5384// RequestID returns the service's response RequestID for request.
5385func (s *InvalidRequestException) RequestID() string {
5386	return s.RespMetadata.RequestID
5387}
5388
5389// ListAgentsRequest
5390type ListAgentsInput struct {
5391	_ struct{} `type:"structure"`
5392
5393	// The maximum number of agents to list.
5394	MaxResults *int64 `type:"integer"`
5395
5396	// An opaque string that indicates the position at which to begin the next list
5397	// of agents.
5398	NextToken *string `type:"string"`
5399}
5400
5401// String returns the string representation
5402func (s ListAgentsInput) String() string {
5403	return awsutil.Prettify(s)
5404}
5405
5406// GoString returns the string representation
5407func (s ListAgentsInput) GoString() string {
5408	return s.String()
5409}
5410
5411// SetMaxResults sets the MaxResults field's value.
5412func (s *ListAgentsInput) SetMaxResults(v int64) *ListAgentsInput {
5413	s.MaxResults = &v
5414	return s
5415}
5416
5417// SetNextToken sets the NextToken field's value.
5418func (s *ListAgentsInput) SetNextToken(v string) *ListAgentsInput {
5419	s.NextToken = &v
5420	return s
5421}
5422
5423// ListAgentsResponse
5424type ListAgentsOutput struct {
5425	_ struct{} `type:"structure"`
5426
5427	// A list of agents in your account.
5428	Agents []*AgentListEntry `type:"list"`
5429
5430	// An opaque string that indicates the position at which to begin returning
5431	// the next list of agents.
5432	NextToken *string `type:"string"`
5433}
5434
5435// String returns the string representation
5436func (s ListAgentsOutput) String() string {
5437	return awsutil.Prettify(s)
5438}
5439
5440// GoString returns the string representation
5441func (s ListAgentsOutput) GoString() string {
5442	return s.String()
5443}
5444
5445// SetAgents sets the Agents field's value.
5446func (s *ListAgentsOutput) SetAgents(v []*AgentListEntry) *ListAgentsOutput {
5447	s.Agents = v
5448	return s
5449}
5450
5451// SetNextToken sets the NextToken field's value.
5452func (s *ListAgentsOutput) SetNextToken(v string) *ListAgentsOutput {
5453	s.NextToken = &v
5454	return s
5455}
5456
5457// ListLocationsRequest
5458type ListLocationsInput struct {
5459	_ struct{} `type:"structure"`
5460
5461	// The maximum number of locations to return.
5462	MaxResults *int64 `type:"integer"`
5463
5464	// An opaque string that indicates the position at which to begin the next list
5465	// of locations.
5466	NextToken *string `type:"string"`
5467}
5468
5469// String returns the string representation
5470func (s ListLocationsInput) String() string {
5471	return awsutil.Prettify(s)
5472}
5473
5474// GoString returns the string representation
5475func (s ListLocationsInput) GoString() string {
5476	return s.String()
5477}
5478
5479// SetMaxResults sets the MaxResults field's value.
5480func (s *ListLocationsInput) SetMaxResults(v int64) *ListLocationsInput {
5481	s.MaxResults = &v
5482	return s
5483}
5484
5485// SetNextToken sets the NextToken field's value.
5486func (s *ListLocationsInput) SetNextToken(v string) *ListLocationsInput {
5487	s.NextToken = &v
5488	return s
5489}
5490
5491// ListLocationsResponse
5492type ListLocationsOutput struct {
5493	_ struct{} `type:"structure"`
5494
5495	// An array that contains a list of locations.
5496	Locations []*LocationListEntry `type:"list"`
5497
5498	// An opaque string that indicates the position at which to begin returning
5499	// the next list of locations.
5500	NextToken *string `type:"string"`
5501}
5502
5503// String returns the string representation
5504func (s ListLocationsOutput) String() string {
5505	return awsutil.Prettify(s)
5506}
5507
5508// GoString returns the string representation
5509func (s ListLocationsOutput) GoString() string {
5510	return s.String()
5511}
5512
5513// SetLocations sets the Locations field's value.
5514func (s *ListLocationsOutput) SetLocations(v []*LocationListEntry) *ListLocationsOutput {
5515	s.Locations = v
5516	return s
5517}
5518
5519// SetNextToken sets the NextToken field's value.
5520func (s *ListLocationsOutput) SetNextToken(v string) *ListLocationsOutput {
5521	s.NextToken = &v
5522	return s
5523}
5524
5525// ListTagsForResourceRequest
5526type ListTagsForResourceInput struct {
5527	_ struct{} `type:"structure"`
5528
5529	// The maximum number of locations to return.
5530	MaxResults *int64 `type:"integer"`
5531
5532	// An opaque string that indicates the position at which to begin the next list
5533	// of locations.
5534	NextToken *string `type:"string"`
5535
5536	// The Amazon Resource Name (ARN) of the resource whose tags to list.
5537	//
5538	// ResourceArn is a required field
5539	ResourceArn *string `type:"string" required:"true"`
5540}
5541
5542// String returns the string representation
5543func (s ListTagsForResourceInput) String() string {
5544	return awsutil.Prettify(s)
5545}
5546
5547// GoString returns the string representation
5548func (s ListTagsForResourceInput) GoString() string {
5549	return s.String()
5550}
5551
5552// Validate inspects the fields of the type to determine if they are valid.
5553func (s *ListTagsForResourceInput) Validate() error {
5554	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
5555	if s.ResourceArn == nil {
5556		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5557	}
5558
5559	if invalidParams.Len() > 0 {
5560		return invalidParams
5561	}
5562	return nil
5563}
5564
5565// SetMaxResults sets the MaxResults field's value.
5566func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput {
5567	s.MaxResults = &v
5568	return s
5569}
5570
5571// SetNextToken sets the NextToken field's value.
5572func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
5573	s.NextToken = &v
5574	return s
5575}
5576
5577// SetResourceArn sets the ResourceArn field's value.
5578func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
5579	s.ResourceArn = &v
5580	return s
5581}
5582
5583// ListTagsForResourceResponse
5584type ListTagsForResourceOutput struct {
5585	_ struct{} `type:"structure"`
5586
5587	// An opaque string that indicates the position at which to begin returning
5588	// the next list of resource tags.
5589	NextToken *string `type:"string"`
5590
5591	// Array of resource tags.
5592	Tags []*TagListEntry `type:"list"`
5593}
5594
5595// String returns the string representation
5596func (s ListTagsForResourceOutput) String() string {
5597	return awsutil.Prettify(s)
5598}
5599
5600// GoString returns the string representation
5601func (s ListTagsForResourceOutput) GoString() string {
5602	return s.String()
5603}
5604
5605// SetNextToken sets the NextToken field's value.
5606func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
5607	s.NextToken = &v
5608	return s
5609}
5610
5611// SetTags sets the Tags field's value.
5612func (s *ListTagsForResourceOutput) SetTags(v []*TagListEntry) *ListTagsForResourceOutput {
5613	s.Tags = v
5614	return s
5615}
5616
5617// ListTaskExecutions
5618type ListTaskExecutionsInput struct {
5619	_ struct{} `type:"structure"`
5620
5621	// The maximum number of executed tasks to list.
5622	MaxResults *int64 `type:"integer"`
5623
5624	// An opaque string that indicates the position at which to begin the next list
5625	// of the executed tasks.
5626	NextToken *string `type:"string"`
5627
5628	// The Amazon Resource Name (ARN) of the task whose tasks you want to list.
5629	TaskArn *string `type:"string"`
5630}
5631
5632// String returns the string representation
5633func (s ListTaskExecutionsInput) String() string {
5634	return awsutil.Prettify(s)
5635}
5636
5637// GoString returns the string representation
5638func (s ListTaskExecutionsInput) GoString() string {
5639	return s.String()
5640}
5641
5642// SetMaxResults sets the MaxResults field's value.
5643func (s *ListTaskExecutionsInput) SetMaxResults(v int64) *ListTaskExecutionsInput {
5644	s.MaxResults = &v
5645	return s
5646}
5647
5648// SetNextToken sets the NextToken field's value.
5649func (s *ListTaskExecutionsInput) SetNextToken(v string) *ListTaskExecutionsInput {
5650	s.NextToken = &v
5651	return s
5652}
5653
5654// SetTaskArn sets the TaskArn field's value.
5655func (s *ListTaskExecutionsInput) SetTaskArn(v string) *ListTaskExecutionsInput {
5656	s.TaskArn = &v
5657	return s
5658}
5659
5660// ListTaskExecutionsResponse
5661type ListTaskExecutionsOutput struct {
5662	_ struct{} `type:"structure"`
5663
5664	// An opaque string that indicates the position at which to begin returning
5665	// the next list of executed tasks.
5666	NextToken *string `type:"string"`
5667
5668	// A list of executed tasks.
5669	TaskExecutions []*TaskExecutionListEntry `type:"list"`
5670}
5671
5672// String returns the string representation
5673func (s ListTaskExecutionsOutput) String() string {
5674	return awsutil.Prettify(s)
5675}
5676
5677// GoString returns the string representation
5678func (s ListTaskExecutionsOutput) GoString() string {
5679	return s.String()
5680}
5681
5682// SetNextToken sets the NextToken field's value.
5683func (s *ListTaskExecutionsOutput) SetNextToken(v string) *ListTaskExecutionsOutput {
5684	s.NextToken = &v
5685	return s
5686}
5687
5688// SetTaskExecutions sets the TaskExecutions field's value.
5689func (s *ListTaskExecutionsOutput) SetTaskExecutions(v []*TaskExecutionListEntry) *ListTaskExecutionsOutput {
5690	s.TaskExecutions = v
5691	return s
5692}
5693
5694// ListTasksRequest
5695type ListTasksInput struct {
5696	_ struct{} `type:"structure"`
5697
5698	// The maximum number of tasks to return.
5699	MaxResults *int64 `type:"integer"`
5700
5701	// An opaque string that indicates the position at which to begin the next list
5702	// of tasks.
5703	NextToken *string `type:"string"`
5704}
5705
5706// String returns the string representation
5707func (s ListTasksInput) String() string {
5708	return awsutil.Prettify(s)
5709}
5710
5711// GoString returns the string representation
5712func (s ListTasksInput) GoString() string {
5713	return s.String()
5714}
5715
5716// SetMaxResults sets the MaxResults field's value.
5717func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput {
5718	s.MaxResults = &v
5719	return s
5720}
5721
5722// SetNextToken sets the NextToken field's value.
5723func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput {
5724	s.NextToken = &v
5725	return s
5726}
5727
5728// ListTasksResponse
5729type ListTasksOutput struct {
5730	_ struct{} `type:"structure"`
5731
5732	// An opaque string that indicates the position at which to begin returning
5733	// the next list of tasks.
5734	NextToken *string `type:"string"`
5735
5736	// A list of all the tasks that are returned.
5737	Tasks []*TaskListEntry `type:"list"`
5738}
5739
5740// String returns the string representation
5741func (s ListTasksOutput) String() string {
5742	return awsutil.Prettify(s)
5743}
5744
5745// GoString returns the string representation
5746func (s ListTasksOutput) GoString() string {
5747	return s.String()
5748}
5749
5750// SetNextToken sets the NextToken field's value.
5751func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput {
5752	s.NextToken = &v
5753	return s
5754}
5755
5756// SetTasks sets the Tasks field's value.
5757func (s *ListTasksOutput) SetTasks(v []*TaskListEntry) *ListTasksOutput {
5758	s.Tasks = v
5759	return s
5760}
5761
5762// Represents a single entry in a list of locations. LocationListEntry returns
5763// an array that contains a list of locations when the ListLocations operation
5764// is called.
5765type LocationListEntry struct {
5766	_ struct{} `type:"structure"`
5767
5768	// The Amazon Resource Name (ARN) of the location. For Network File System (NFS)
5769	// or Amazon EFS, the location is the export path. For Amazon S3, the location
5770	// is the prefix path that you want to mount and use as the root of the location.
5771	LocationArn *string `type:"string"`
5772
5773	// Represents a list of URLs of a location. LocationUri returns an array that
5774	// contains a list of locations when the ListLocations operation is called.
5775	//
5776	// Format: TYPE://GLOBAL_ID/SUBDIR.
5777	//
5778	// TYPE designates the type of location. Valid values: NFS | EFS | S3.
5779	//
5780	// GLOBAL_ID is the globally unique identifier of the resource that backs the
5781	// location. An example for EFS is us-east-2.fs-abcd1234. An example for Amazon
5782	// S3 is the bucket name, such as myBucket. An example for NFS is a valid IPv4
5783	// address or a host name compliant with Domain Name Service (DNS).
5784	//
5785	// SUBDIR is a valid file system path, delimited by forward slashes as is the
5786	// *nix convention. For NFS and Amazon EFS, it's the export path to mount the
5787	// location. For Amazon S3, it's the prefix path that you mount to and treat
5788	// as the root of the location.
5789	LocationUri *string `type:"string"`
5790}
5791
5792// String returns the string representation
5793func (s LocationListEntry) String() string {
5794	return awsutil.Prettify(s)
5795}
5796
5797// GoString returns the string representation
5798func (s LocationListEntry) GoString() string {
5799	return s.String()
5800}
5801
5802// SetLocationArn sets the LocationArn field's value.
5803func (s *LocationListEntry) SetLocationArn(v string) *LocationListEntry {
5804	s.LocationArn = &v
5805	return s
5806}
5807
5808// SetLocationUri sets the LocationUri field's value.
5809func (s *LocationListEntry) SetLocationUri(v string) *LocationListEntry {
5810	s.LocationUri = &v
5811	return s
5812}
5813
5814// Represents the mount options that are available for DataSync to access an
5815// NFS location.
5816type NfsMountOptions struct {
5817	_ struct{} `type:"structure"`
5818
5819	// The specific NFS version that you want DataSync to use to mount your NFS
5820	// share. If the server refuses to use the version specified, the sync will
5821	// fail. If you don't specify a version, DataSync defaults to AUTOMATIC. That
5822	// is, DataSync automatically selects a version based on negotiation with the
5823	// NFS server.
5824	//
5825	// You can specify the following NFS versions:
5826	//
5827	//    * NFSv3 (https://tools.ietf.org/html/rfc1813) - stateless protocol version
5828	//    that allows for asynchronous writes on the server.
5829	//
5830	//    * NFSv4.0 (https://tools.ietf.org/html/rfc3530) - stateful, firewall-friendly
5831	//    protocol version that supports delegations and pseudo filesystems.
5832	//
5833	//    * NFSv4.1 (https://tools.ietf.org/html/rfc5661) - stateful protocol version
5834	//    that supports sessions, directory delegations, and parallel data processing.
5835	//    Version 4.1 also includes all features available in version 4.0.
5836	Version *string `type:"string" enum:"NfsVersion"`
5837}
5838
5839// String returns the string representation
5840func (s NfsMountOptions) String() string {
5841	return awsutil.Prettify(s)
5842}
5843
5844// GoString returns the string representation
5845func (s NfsMountOptions) GoString() string {
5846	return s.String()
5847}
5848
5849// SetVersion sets the Version field's value.
5850func (s *NfsMountOptions) SetVersion(v string) *NfsMountOptions {
5851	s.Version = &v
5852	return s
5853}
5854
5855// A list of Amazon Resource Names (ARNs) of agents to use for a Network File
5856// System (NFS) location.
5857type OnPremConfig struct {
5858	_ struct{} `type:"structure"`
5859
5860	// ARNs)of the agents to use for an NFS location.
5861	//
5862	// AgentArns is a required field
5863	AgentArns []*string `min:"1" type:"list" required:"true"`
5864}
5865
5866// String returns the string representation
5867func (s OnPremConfig) String() string {
5868	return awsutil.Prettify(s)
5869}
5870
5871// GoString returns the string representation
5872func (s OnPremConfig) GoString() string {
5873	return s.String()
5874}
5875
5876// Validate inspects the fields of the type to determine if they are valid.
5877func (s *OnPremConfig) Validate() error {
5878	invalidParams := request.ErrInvalidParams{Context: "OnPremConfig"}
5879	if s.AgentArns == nil {
5880		invalidParams.Add(request.NewErrParamRequired("AgentArns"))
5881	}
5882	if s.AgentArns != nil && len(s.AgentArns) < 1 {
5883		invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1))
5884	}
5885
5886	if invalidParams.Len() > 0 {
5887		return invalidParams
5888	}
5889	return nil
5890}
5891
5892// SetAgentArns sets the AgentArns field's value.
5893func (s *OnPremConfig) SetAgentArns(v []*string) *OnPremConfig {
5894	s.AgentArns = v
5895	return s
5896}
5897
5898// Represents the options that are available to control the behavior of a StartTaskExecution
5899// operation. Behavior includes preserving metadata such as user ID (UID), group
5900// ID (GID), and file permissions, and also overwriting files in the destination,
5901// data integrity verification, and so on.
5902//
5903// A task has a set of default options associated with it. If you don't specify
5904// an option in StartTaskExecution, the default value is used. You can override
5905// the defaults options on each task execution by specifying an overriding Options
5906// value to StartTaskExecution.
5907type Options struct {
5908	_ struct{} `type:"structure"`
5909
5910	// A file metadata value that shows the last time a file was accessed (that
5911	// is, when the file was read or written to). If you set Atime to BEST_EFFORT,
5912	// DataSync attempts to preserve the original Atime attribute on all source
5913	// files (that is, the version before the PREPARING phase). However, Atime's
5914	// behavior is not fully standard across platforms, so AWS DataSync can only
5915	// do this on a best-effort basis.
5916	//
5917	// Default value: BEST_EFFORT.
5918	//
5919	// BEST_EFFORT: Attempt to preserve the per-file Atime value (recommended).
5920	//
5921	// NONE: Ignore Atime.
5922	//
5923	// If Atime is set to BEST_EFFORT, Mtime must be set to PRESERVE.
5924	//
5925	// If Atime is set to NONE, Mtime must also be NONE.
5926	Atime *string `type:"string" enum:"Atime"`
5927
5928	// A value that limits the bandwidth used by AWS DataSync. For example, if you
5929	// want AWS DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024).
5930	BytesPerSecond *int64 `type:"long"`
5931
5932	// The group ID (GID) of the file's owners.
5933	//
5934	// Default value: INT_VALUE. This preserves the integer value of the ID.
5935	//
5936	// INT_VALUE: Preserve the integer value of user ID (UID) and GID (recommended).
5937	//
5938	// NONE: Ignore UID and GID.
5939	Gid *string `type:"string" enum:"Gid"`
5940
5941	// A value that determines the type of logs DataSync will deliver to your AWS
5942	// CloudWatch Logs file. If set to OFF, no logs will be delivered. BASIC will
5943	// deliver a few logs per transfer operation and TRANSFER will deliver a verbose
5944	// log that contains logs for every file that is transferred.
5945	LogLevel *string `type:"string" enum:"LogLevel"`
5946
5947	// A value that indicates the last time that a file was modified (that is, a
5948	// file was written to) before the PREPARING phase.
5949	//
5950	// Default value: PRESERVE.
5951	//
5952	// PRESERVE: Preserve original Mtime (recommended)
5953	//
5954	// NONE: Ignore Mtime.
5955	//
5956	// If Mtime is set to PRESERVE, Atime must be set to BEST_EFFORT.
5957	//
5958	// If Mtime is set to NONE, Atime must also be set to NONE.
5959	Mtime *string `type:"string" enum:"Mtime"`
5960
5961	// A value that determines whether files at the destination should be overwritten
5962	// or preserved when copying files. If set to NEVER a destination file will
5963	// not be replaced by a source file, even if the destination file differs from
5964	// the source file. If you modify files in the destination and you sync the
5965	// files, you can use this value to protect against overwriting those changes.
5966	//
5967	// Some storage classes have specific behaviors that can affect your S3 storage
5968	// cost. For detailed information, see using-storage-classes in the AWS DataSync
5969	// User Guide.
5970	OverwriteMode *string `type:"string" enum:"OverwriteMode"`
5971
5972	// A value that determines which users or groups can access a file for a specific
5973	// purpose such as reading, writing, or execution of the file.
5974	//
5975	// Default value: PRESERVE.
5976	//
5977	// PRESERVE: Preserve POSIX-style permissions (recommended).
5978	//
5979	// NONE: Ignore permissions.
5980	//
5981	// AWS DataSync can preserve extant permissions of a source location.
5982	PosixPermissions *string `type:"string" enum:"PosixPermissions"`
5983
5984	// A value that specifies whether files in the destination that don't exist
5985	// in the source file system should be preserved. This option can affect your
5986	// storage cost. If your task deletes objects, you might incur minimum storage
5987	// duration charges for certain storage classes. For detailed information, see
5988	// using-storage-classes in the AWS DataSync User Guide.
5989	//
5990	// Default value: PRESERVE.
5991	//
5992	// PRESERVE: Ignore such destination files (recommended).
5993	//
5994	// REMOVE: Delete destination files that aren’t present in the source.
5995	PreserveDeletedFiles *string `type:"string" enum:"PreserveDeletedFiles"`
5996
5997	// A value that determines whether AWS DataSync should preserve the metadata
5998	// of block and character devices in the source file system, and recreate the
5999	// files with that device name and metadata on the destination.
6000	//
6001	// AWS DataSync can't sync the actual contents of such devices, because they
6002	// are nonterminal and don't return an end-of-file (EOF) marker.
6003	//
6004	// Default value: NONE.
6005	//
6006	// NONE: Ignore special devices (recommended).
6007	//
6008	// PRESERVE: Preserve character and block device metadata. This option isn't
6009	// currently supported for Amazon EFS.
6010	PreserveDevices *string `type:"string" enum:"PreserveDevices"`
6011
6012	// A value that determines whether tasks should be queued before executing the
6013	// tasks. If set to ENABLED, the tasks will be queued. The default is ENABLED.
6014	//
6015	// If you use the same agent to run multiple tasks you can enable the tasks
6016	// to run in series. For more information see queue-task-execution.
6017	TaskQueueing *string `type:"string" enum:"TaskQueueing"`
6018
6019	// The user ID (UID) of the file's owner.
6020	//
6021	// Default value: INT_VALUE. This preserves the integer value of the ID.
6022	//
6023	// INT_VALUE: Preserve the integer value of UID and group ID (GID) (recommended).
6024	//
6025	// NONE: Ignore UID and GID.
6026	Uid *string `type:"string" enum:"Uid"`
6027
6028	// A value that determines whether a data integrity verification should be performed
6029	// at the end of a task execution after all data and metadata have been transferred.
6030	//
6031	// Default value: POINT_IN_TIME_CONSISTENT.
6032	//
6033	// POINT_IN_TIME_CONSISTENT: Perform verification (recommended).
6034	//
6035	// ONLY_FILES_TRANSFERRED: Perform verification on only files that were transferred.
6036	//
6037	// NONE: Skip verification.
6038	VerifyMode *string `type:"string" enum:"VerifyMode"`
6039}
6040
6041// String returns the string representation
6042func (s Options) String() string {
6043	return awsutil.Prettify(s)
6044}
6045
6046// GoString returns the string representation
6047func (s Options) GoString() string {
6048	return s.String()
6049}
6050
6051// Validate inspects the fields of the type to determine if they are valid.
6052func (s *Options) Validate() error {
6053	invalidParams := request.ErrInvalidParams{Context: "Options"}
6054	if s.BytesPerSecond != nil && *s.BytesPerSecond < -1 {
6055		invalidParams.Add(request.NewErrParamMinValue("BytesPerSecond", -1))
6056	}
6057
6058	if invalidParams.Len() > 0 {
6059		return invalidParams
6060	}
6061	return nil
6062}
6063
6064// SetAtime sets the Atime field's value.
6065func (s *Options) SetAtime(v string) *Options {
6066	s.Atime = &v
6067	return s
6068}
6069
6070// SetBytesPerSecond sets the BytesPerSecond field's value.
6071func (s *Options) SetBytesPerSecond(v int64) *Options {
6072	s.BytesPerSecond = &v
6073	return s
6074}
6075
6076// SetGid sets the Gid field's value.
6077func (s *Options) SetGid(v string) *Options {
6078	s.Gid = &v
6079	return s
6080}
6081
6082// SetLogLevel sets the LogLevel field's value.
6083func (s *Options) SetLogLevel(v string) *Options {
6084	s.LogLevel = &v
6085	return s
6086}
6087
6088// SetMtime sets the Mtime field's value.
6089func (s *Options) SetMtime(v string) *Options {
6090	s.Mtime = &v
6091	return s
6092}
6093
6094// SetOverwriteMode sets the OverwriteMode field's value.
6095func (s *Options) SetOverwriteMode(v string) *Options {
6096	s.OverwriteMode = &v
6097	return s
6098}
6099
6100// SetPosixPermissions sets the PosixPermissions field's value.
6101func (s *Options) SetPosixPermissions(v string) *Options {
6102	s.PosixPermissions = &v
6103	return s
6104}
6105
6106// SetPreserveDeletedFiles sets the PreserveDeletedFiles field's value.
6107func (s *Options) SetPreserveDeletedFiles(v string) *Options {
6108	s.PreserveDeletedFiles = &v
6109	return s
6110}
6111
6112// SetPreserveDevices sets the PreserveDevices field's value.
6113func (s *Options) SetPreserveDevices(v string) *Options {
6114	s.PreserveDevices = &v
6115	return s
6116}
6117
6118// SetTaskQueueing sets the TaskQueueing field's value.
6119func (s *Options) SetTaskQueueing(v string) *Options {
6120	s.TaskQueueing = &v
6121	return s
6122}
6123
6124// SetUid sets the Uid field's value.
6125func (s *Options) SetUid(v string) *Options {
6126	s.Uid = &v
6127	return s
6128}
6129
6130// SetVerifyMode sets the VerifyMode field's value.
6131func (s *Options) SetVerifyMode(v string) *Options {
6132	s.VerifyMode = &v
6133	return s
6134}
6135
6136// The VPC endpoint, subnet and security group that an agent uses to access
6137// IP addresses in a VPC (Virtual Private Cloud).
6138type PrivateLinkConfig struct {
6139	_ struct{} `type:"structure"`
6140
6141	// The private endpoint that is configured for an agent that has access to IP
6142	// addresses in a PrivateLink (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html).
6143	// An agent that is configured with this endpoint will not be accessible over
6144	// the public Internet.
6145	PrivateLinkEndpoint *string `min:"7" type:"string"`
6146
6147	// The Amazon Resource Names (ARNs) of the security groups that are configured
6148	// for the EC2 resource that hosts an agent activated in a VPC or an agent that
6149	// has access to a VPC endpoint.
6150	SecurityGroupArns []*string `min:"1" type:"list"`
6151
6152	// The Amazon Resource Names (ARNs) of the subnets that are configured for an
6153	// agent activated in a VPC or an agent that has access to a VPC endpoint.
6154	SubnetArns []*string `min:"1" type:"list"`
6155
6156	// The ID of the VPC endpoint that is configured for an agent. An agent that
6157	// is configured with a VPC endpoint will not be accessible over the public
6158	// Internet.
6159	VpcEndpointId *string `type:"string"`
6160}
6161
6162// String returns the string representation
6163func (s PrivateLinkConfig) String() string {
6164	return awsutil.Prettify(s)
6165}
6166
6167// GoString returns the string representation
6168func (s PrivateLinkConfig) GoString() string {
6169	return s.String()
6170}
6171
6172// SetPrivateLinkEndpoint sets the PrivateLinkEndpoint field's value.
6173func (s *PrivateLinkConfig) SetPrivateLinkEndpoint(v string) *PrivateLinkConfig {
6174	s.PrivateLinkEndpoint = &v
6175	return s
6176}
6177
6178// SetSecurityGroupArns sets the SecurityGroupArns field's value.
6179func (s *PrivateLinkConfig) SetSecurityGroupArns(v []*string) *PrivateLinkConfig {
6180	s.SecurityGroupArns = v
6181	return s
6182}
6183
6184// SetSubnetArns sets the SubnetArns field's value.
6185func (s *PrivateLinkConfig) SetSubnetArns(v []*string) *PrivateLinkConfig {
6186	s.SubnetArns = v
6187	return s
6188}
6189
6190// SetVpcEndpointId sets the VpcEndpointId field's value.
6191func (s *PrivateLinkConfig) SetVpcEndpointId(v string) *PrivateLinkConfig {
6192	s.VpcEndpointId = &v
6193	return s
6194}
6195
6196// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
6197// (IAM) role that is used to access an Amazon S3 bucket.
6198//
6199// For detailed information about using such a role, see Creating a Location
6200// for Amazon S3 in the AWS DataSync User Guide.
6201type S3Config struct {
6202	_ struct{} `type:"structure"`
6203
6204	// The Amazon S3 bucket to access. This bucket is used as a parameter in the
6205	// CreateLocationS3 operation.
6206	//
6207	// BucketAccessRoleArn is a required field
6208	BucketAccessRoleArn *string `type:"string" required:"true"`
6209}
6210
6211// String returns the string representation
6212func (s S3Config) String() string {
6213	return awsutil.Prettify(s)
6214}
6215
6216// GoString returns the string representation
6217func (s S3Config) GoString() string {
6218	return s.String()
6219}
6220
6221// Validate inspects the fields of the type to determine if they are valid.
6222func (s *S3Config) Validate() error {
6223	invalidParams := request.ErrInvalidParams{Context: "S3Config"}
6224	if s.BucketAccessRoleArn == nil {
6225		invalidParams.Add(request.NewErrParamRequired("BucketAccessRoleArn"))
6226	}
6227
6228	if invalidParams.Len() > 0 {
6229		return invalidParams
6230	}
6231	return nil
6232}
6233
6234// SetBucketAccessRoleArn sets the BucketAccessRoleArn field's value.
6235func (s *S3Config) SetBucketAccessRoleArn(v string) *S3Config {
6236	s.BucketAccessRoleArn = &v
6237	return s
6238}
6239
6240// Represents the mount options that are available for DataSync to access an
6241// SMB location.
6242type SmbMountOptions struct {
6243	_ struct{} `type:"structure"`
6244
6245	// The specific SMB version that you want DataSync to use to mount your SMB
6246	// share. If you don't specify a version, DataSync defaults to AUTOMATIC. That
6247	// is, DataSync automatically selects a version based on negotiation with the
6248	// SMB server.
6249	Version *string `type:"string" enum:"SmbVersion"`
6250}
6251
6252// String returns the string representation
6253func (s SmbMountOptions) String() string {
6254	return awsutil.Prettify(s)
6255}
6256
6257// GoString returns the string representation
6258func (s SmbMountOptions) GoString() string {
6259	return s.String()
6260}
6261
6262// SetVersion sets the Version field's value.
6263func (s *SmbMountOptions) SetVersion(v string) *SmbMountOptions {
6264	s.Version = &v
6265	return s
6266}
6267
6268// StartTaskExecutionRequest
6269type StartTaskExecutionInput struct {
6270	_ struct{} `type:"structure"`
6271
6272	// A list of filter rules that determines which files to include when running
6273	// a task. The pattern should contain a single filter string that consists of
6274	// the patterns to include. The patterns are delimited by "|" (that is, a pipe).
6275	// For example: "/folder1|/folder2"
6276	Includes []*FilterRule `type:"list"`
6277
6278	// Represents the options that are available to control the behavior of a StartTaskExecution
6279	// operation. Behavior includes preserving metadata such as user ID (UID), group
6280	// ID (GID), and file permissions, and also overwriting files in the destination,
6281	// data integrity verification, and so on.
6282	//
6283	// A task has a set of default options associated with it. If you don't specify
6284	// an option in StartTaskExecution, the default value is used. You can override
6285	// the defaults options on each task execution by specifying an overriding Options
6286	// value to StartTaskExecution.
6287	OverrideOptions *Options `type:"structure"`
6288
6289	// The Amazon Resource Name (ARN) of the task to start.
6290	//
6291	// TaskArn is a required field
6292	TaskArn *string `type:"string" required:"true"`
6293}
6294
6295// String returns the string representation
6296func (s StartTaskExecutionInput) String() string {
6297	return awsutil.Prettify(s)
6298}
6299
6300// GoString returns the string representation
6301func (s StartTaskExecutionInput) GoString() string {
6302	return s.String()
6303}
6304
6305// Validate inspects the fields of the type to determine if they are valid.
6306func (s *StartTaskExecutionInput) Validate() error {
6307	invalidParams := request.ErrInvalidParams{Context: "StartTaskExecutionInput"}
6308	if s.TaskArn == nil {
6309		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
6310	}
6311	if s.OverrideOptions != nil {
6312		if err := s.OverrideOptions.Validate(); err != nil {
6313			invalidParams.AddNested("OverrideOptions", err.(request.ErrInvalidParams))
6314		}
6315	}
6316
6317	if invalidParams.Len() > 0 {
6318		return invalidParams
6319	}
6320	return nil
6321}
6322
6323// SetIncludes sets the Includes field's value.
6324func (s *StartTaskExecutionInput) SetIncludes(v []*FilterRule) *StartTaskExecutionInput {
6325	s.Includes = v
6326	return s
6327}
6328
6329// SetOverrideOptions sets the OverrideOptions field's value.
6330func (s *StartTaskExecutionInput) SetOverrideOptions(v *Options) *StartTaskExecutionInput {
6331	s.OverrideOptions = v
6332	return s
6333}
6334
6335// SetTaskArn sets the TaskArn field's value.
6336func (s *StartTaskExecutionInput) SetTaskArn(v string) *StartTaskExecutionInput {
6337	s.TaskArn = &v
6338	return s
6339}
6340
6341// StartTaskExecutionResponse
6342type StartTaskExecutionOutput struct {
6343	_ struct{} `type:"structure"`
6344
6345	// The Amazon Resource Name (ARN) of the specific task execution that was started.
6346	TaskExecutionArn *string `type:"string"`
6347}
6348
6349// String returns the string representation
6350func (s StartTaskExecutionOutput) String() string {
6351	return awsutil.Prettify(s)
6352}
6353
6354// GoString returns the string representation
6355func (s StartTaskExecutionOutput) GoString() string {
6356	return s.String()
6357}
6358
6359// SetTaskExecutionArn sets the TaskExecutionArn field's value.
6360func (s *StartTaskExecutionOutput) SetTaskExecutionArn(v string) *StartTaskExecutionOutput {
6361	s.TaskExecutionArn = &v
6362	return s
6363}
6364
6365// Represents a single entry in a list of AWS resource tags. TagListEntry returns
6366// an array that contains a list of tasks when the ListTagsForResource operation
6367// is called.
6368type TagListEntry struct {
6369	_ struct{} `type:"structure"`
6370
6371	// The key for an AWS resource tag.
6372	//
6373	// Key is a required field
6374	Key *string `min:"1" type:"string" required:"true"`
6375
6376	// The value for an AWS resource tag.
6377	Value *string `min:"1" type:"string"`
6378}
6379
6380// String returns the string representation
6381func (s TagListEntry) String() string {
6382	return awsutil.Prettify(s)
6383}
6384
6385// GoString returns the string representation
6386func (s TagListEntry) GoString() string {
6387	return s.String()
6388}
6389
6390// Validate inspects the fields of the type to determine if they are valid.
6391func (s *TagListEntry) Validate() error {
6392	invalidParams := request.ErrInvalidParams{Context: "TagListEntry"}
6393	if s.Key == nil {
6394		invalidParams.Add(request.NewErrParamRequired("Key"))
6395	}
6396	if s.Key != nil && len(*s.Key) < 1 {
6397		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
6398	}
6399	if s.Value != nil && len(*s.Value) < 1 {
6400		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
6401	}
6402
6403	if invalidParams.Len() > 0 {
6404		return invalidParams
6405	}
6406	return nil
6407}
6408
6409// SetKey sets the Key field's value.
6410func (s *TagListEntry) SetKey(v string) *TagListEntry {
6411	s.Key = &v
6412	return s
6413}
6414
6415// SetValue sets the Value field's value.
6416func (s *TagListEntry) SetValue(v string) *TagListEntry {
6417	s.Value = &v
6418	return s
6419}
6420
6421// TagResourceRequest
6422type TagResourceInput struct {
6423	_ struct{} `type:"structure"`
6424
6425	// The Amazon Resource Name (ARN) of the resource to apply the tag to.
6426	//
6427	// ResourceArn is a required field
6428	ResourceArn *string `type:"string" required:"true"`
6429
6430	// The tags to apply.
6431	//
6432	// Tags is a required field
6433	Tags []*TagListEntry `type:"list" required:"true"`
6434}
6435
6436// String returns the string representation
6437func (s TagResourceInput) String() string {
6438	return awsutil.Prettify(s)
6439}
6440
6441// GoString returns the string representation
6442func (s TagResourceInput) GoString() string {
6443	return s.String()
6444}
6445
6446// Validate inspects the fields of the type to determine if they are valid.
6447func (s *TagResourceInput) Validate() error {
6448	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
6449	if s.ResourceArn == nil {
6450		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6451	}
6452	if s.Tags == nil {
6453		invalidParams.Add(request.NewErrParamRequired("Tags"))
6454	}
6455	if s.Tags != nil {
6456		for i, v := range s.Tags {
6457			if v == nil {
6458				continue
6459			}
6460			if err := v.Validate(); err != nil {
6461				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6462			}
6463		}
6464	}
6465
6466	if invalidParams.Len() > 0 {
6467		return invalidParams
6468	}
6469	return nil
6470}
6471
6472// SetResourceArn sets the ResourceArn field's value.
6473func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
6474	s.ResourceArn = &v
6475	return s
6476}
6477
6478// SetTags sets the Tags field's value.
6479func (s *TagResourceInput) SetTags(v []*TagListEntry) *TagResourceInput {
6480	s.Tags = v
6481	return s
6482}
6483
6484type TagResourceOutput struct {
6485	_ struct{} `type:"structure"`
6486}
6487
6488// String returns the string representation
6489func (s TagResourceOutput) String() string {
6490	return awsutil.Prettify(s)
6491}
6492
6493// GoString returns the string representation
6494func (s TagResourceOutput) GoString() string {
6495	return s.String()
6496}
6497
6498// Represents a single entry in a list of task executions. TaskExecutionListEntry
6499// returns an array that contains a list of specific invocations of a task when
6500// ListTaskExecutions operation is called.
6501type TaskExecutionListEntry struct {
6502	_ struct{} `type:"structure"`
6503
6504	// The status of a task execution.
6505	Status *string `type:"string" enum:"TaskExecutionStatus"`
6506
6507	// The Amazon Resource Name (ARN) of the task that was executed.
6508	TaskExecutionArn *string `type:"string"`
6509}
6510
6511// String returns the string representation
6512func (s TaskExecutionListEntry) String() string {
6513	return awsutil.Prettify(s)
6514}
6515
6516// GoString returns the string representation
6517func (s TaskExecutionListEntry) GoString() string {
6518	return s.String()
6519}
6520
6521// SetStatus sets the Status field's value.
6522func (s *TaskExecutionListEntry) SetStatus(v string) *TaskExecutionListEntry {
6523	s.Status = &v
6524	return s
6525}
6526
6527// SetTaskExecutionArn sets the TaskExecutionArn field's value.
6528func (s *TaskExecutionListEntry) SetTaskExecutionArn(v string) *TaskExecutionListEntry {
6529	s.TaskExecutionArn = &v
6530	return s
6531}
6532
6533// Describes the detailed result of a TaskExecution operation. This result includes
6534// the time in milliseconds spent in each phase, the status of the task execution,
6535// and the errors encountered.
6536type TaskExecutionResultDetail struct {
6537	_ struct{} `type:"structure"`
6538
6539	// Errors that AWS DataSync encountered during execution of the task. You can
6540	// use this error code to help troubleshoot issues.
6541	ErrorCode *string `type:"string"`
6542
6543	// Detailed description of an error that was encountered during the task execution.
6544	// You can use this information to help troubleshoot issues.
6545	ErrorDetail *string `type:"string"`
6546
6547	// The total time in milliseconds that AWS DataSync spent in the PREPARING phase.
6548	PrepareDuration *int64 `type:"long"`
6549
6550	// The status of the PREPARING phase.
6551	PrepareStatus *string `type:"string" enum:"PhaseStatus"`
6552
6553	// The total time in milliseconds that AWS DataSync took to transfer the file
6554	// from the source to the destination location.
6555	TotalDuration *int64 `type:"long"`
6556
6557	// The total time in milliseconds that AWS DataSync spent in the TRANSFERRING
6558	// phase.
6559	TransferDuration *int64 `type:"long"`
6560
6561	// The status of the TRANSFERRING Phase.
6562	TransferStatus *string `type:"string" enum:"PhaseStatus"`
6563
6564	// The total time in milliseconds that AWS DataSync spent in the VERIFYING phase.
6565	VerifyDuration *int64 `type:"long"`
6566
6567	// The status of the VERIFYING Phase.
6568	VerifyStatus *string `type:"string" enum:"PhaseStatus"`
6569}
6570
6571// String returns the string representation
6572func (s TaskExecutionResultDetail) String() string {
6573	return awsutil.Prettify(s)
6574}
6575
6576// GoString returns the string representation
6577func (s TaskExecutionResultDetail) GoString() string {
6578	return s.String()
6579}
6580
6581// SetErrorCode sets the ErrorCode field's value.
6582func (s *TaskExecutionResultDetail) SetErrorCode(v string) *TaskExecutionResultDetail {
6583	s.ErrorCode = &v
6584	return s
6585}
6586
6587// SetErrorDetail sets the ErrorDetail field's value.
6588func (s *TaskExecutionResultDetail) SetErrorDetail(v string) *TaskExecutionResultDetail {
6589	s.ErrorDetail = &v
6590	return s
6591}
6592
6593// SetPrepareDuration sets the PrepareDuration field's value.
6594func (s *TaskExecutionResultDetail) SetPrepareDuration(v int64) *TaskExecutionResultDetail {
6595	s.PrepareDuration = &v
6596	return s
6597}
6598
6599// SetPrepareStatus sets the PrepareStatus field's value.
6600func (s *TaskExecutionResultDetail) SetPrepareStatus(v string) *TaskExecutionResultDetail {
6601	s.PrepareStatus = &v
6602	return s
6603}
6604
6605// SetTotalDuration sets the TotalDuration field's value.
6606func (s *TaskExecutionResultDetail) SetTotalDuration(v int64) *TaskExecutionResultDetail {
6607	s.TotalDuration = &v
6608	return s
6609}
6610
6611// SetTransferDuration sets the TransferDuration field's value.
6612func (s *TaskExecutionResultDetail) SetTransferDuration(v int64) *TaskExecutionResultDetail {
6613	s.TransferDuration = &v
6614	return s
6615}
6616
6617// SetTransferStatus sets the TransferStatus field's value.
6618func (s *TaskExecutionResultDetail) SetTransferStatus(v string) *TaskExecutionResultDetail {
6619	s.TransferStatus = &v
6620	return s
6621}
6622
6623// SetVerifyDuration sets the VerifyDuration field's value.
6624func (s *TaskExecutionResultDetail) SetVerifyDuration(v int64) *TaskExecutionResultDetail {
6625	s.VerifyDuration = &v
6626	return s
6627}
6628
6629// SetVerifyStatus sets the VerifyStatus field's value.
6630func (s *TaskExecutionResultDetail) SetVerifyStatus(v string) *TaskExecutionResultDetail {
6631	s.VerifyStatus = &v
6632	return s
6633}
6634
6635// Represents a single entry in a list of tasks. TaskListEntry returns an array
6636// that contains a list of tasks when the ListTasks operation is called. A task
6637// includes the source and destination file systems to sync and the options
6638// to use for the tasks.
6639type TaskListEntry struct {
6640	_ struct{} `type:"structure"`
6641
6642	// The name of the task.
6643	Name *string `min:"1" type:"string"`
6644
6645	// The status of the task.
6646	Status *string `type:"string" enum:"TaskStatus"`
6647
6648	// The Amazon Resource Name (ARN) of the task.
6649	TaskArn *string `type:"string"`
6650}
6651
6652// String returns the string representation
6653func (s TaskListEntry) String() string {
6654	return awsutil.Prettify(s)
6655}
6656
6657// GoString returns the string representation
6658func (s TaskListEntry) GoString() string {
6659	return s.String()
6660}
6661
6662// SetName sets the Name field's value.
6663func (s *TaskListEntry) SetName(v string) *TaskListEntry {
6664	s.Name = &v
6665	return s
6666}
6667
6668// SetStatus sets the Status field's value.
6669func (s *TaskListEntry) SetStatus(v string) *TaskListEntry {
6670	s.Status = &v
6671	return s
6672}
6673
6674// SetTaskArn sets the TaskArn field's value.
6675func (s *TaskListEntry) SetTaskArn(v string) *TaskListEntry {
6676	s.TaskArn = &v
6677	return s
6678}
6679
6680// Specifies the schedule you want your task to use for repeated executions.
6681// For more information, see Schedule Expressions for Rules (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html).
6682type TaskSchedule struct {
6683	_ struct{} `type:"structure"`
6684
6685	// A cron expression that specifies when AWS DataSync initiates a scheduled
6686	// transfer from a source to a destination location.
6687	//
6688	// ScheduleExpression is a required field
6689	ScheduleExpression *string `type:"string" required:"true"`
6690}
6691
6692// String returns the string representation
6693func (s TaskSchedule) String() string {
6694	return awsutil.Prettify(s)
6695}
6696
6697// GoString returns the string representation
6698func (s TaskSchedule) GoString() string {
6699	return s.String()
6700}
6701
6702// Validate inspects the fields of the type to determine if they are valid.
6703func (s *TaskSchedule) Validate() error {
6704	invalidParams := request.ErrInvalidParams{Context: "TaskSchedule"}
6705	if s.ScheduleExpression == nil {
6706		invalidParams.Add(request.NewErrParamRequired("ScheduleExpression"))
6707	}
6708
6709	if invalidParams.Len() > 0 {
6710		return invalidParams
6711	}
6712	return nil
6713}
6714
6715// SetScheduleExpression sets the ScheduleExpression field's value.
6716func (s *TaskSchedule) SetScheduleExpression(v string) *TaskSchedule {
6717	s.ScheduleExpression = &v
6718	return s
6719}
6720
6721// UntagResourceRequest
6722type UntagResourceInput struct {
6723	_ struct{} `type:"structure"`
6724
6725	// The keys in the key-value pair in the tag to remove.
6726	//
6727	// Keys is a required field
6728	Keys []*string `min:"1" type:"list" required:"true"`
6729
6730	// The Amazon Resource Name (ARN) of the resource to remove the tag from.
6731	//
6732	// ResourceArn is a required field
6733	ResourceArn *string `type:"string" required:"true"`
6734}
6735
6736// String returns the string representation
6737func (s UntagResourceInput) String() string {
6738	return awsutil.Prettify(s)
6739}
6740
6741// GoString returns the string representation
6742func (s UntagResourceInput) GoString() string {
6743	return s.String()
6744}
6745
6746// Validate inspects the fields of the type to determine if they are valid.
6747func (s *UntagResourceInput) Validate() error {
6748	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
6749	if s.Keys == nil {
6750		invalidParams.Add(request.NewErrParamRequired("Keys"))
6751	}
6752	if s.Keys != nil && len(s.Keys) < 1 {
6753		invalidParams.Add(request.NewErrParamMinLen("Keys", 1))
6754	}
6755	if s.ResourceArn == nil {
6756		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6757	}
6758
6759	if invalidParams.Len() > 0 {
6760		return invalidParams
6761	}
6762	return nil
6763}
6764
6765// SetKeys sets the Keys field's value.
6766func (s *UntagResourceInput) SetKeys(v []*string) *UntagResourceInput {
6767	s.Keys = v
6768	return s
6769}
6770
6771// SetResourceArn sets the ResourceArn field's value.
6772func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
6773	s.ResourceArn = &v
6774	return s
6775}
6776
6777type UntagResourceOutput struct {
6778	_ struct{} `type:"structure"`
6779}
6780
6781// String returns the string representation
6782func (s UntagResourceOutput) String() string {
6783	return awsutil.Prettify(s)
6784}
6785
6786// GoString returns the string representation
6787func (s UntagResourceOutput) GoString() string {
6788	return s.String()
6789}
6790
6791// UpdateAgentRequest
6792type UpdateAgentInput struct {
6793	_ struct{} `type:"structure"`
6794
6795	// The Amazon Resource Name (ARN) of the agent to update.
6796	//
6797	// AgentArn is a required field
6798	AgentArn *string `type:"string" required:"true"`
6799
6800	// The name that you want to use to configure the agent.
6801	Name *string `min:"1" type:"string"`
6802}
6803
6804// String returns the string representation
6805func (s UpdateAgentInput) String() string {
6806	return awsutil.Prettify(s)
6807}
6808
6809// GoString returns the string representation
6810func (s UpdateAgentInput) GoString() string {
6811	return s.String()
6812}
6813
6814// Validate inspects the fields of the type to determine if they are valid.
6815func (s *UpdateAgentInput) Validate() error {
6816	invalidParams := request.ErrInvalidParams{Context: "UpdateAgentInput"}
6817	if s.AgentArn == nil {
6818		invalidParams.Add(request.NewErrParamRequired("AgentArn"))
6819	}
6820	if s.Name != nil && len(*s.Name) < 1 {
6821		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6822	}
6823
6824	if invalidParams.Len() > 0 {
6825		return invalidParams
6826	}
6827	return nil
6828}
6829
6830// SetAgentArn sets the AgentArn field's value.
6831func (s *UpdateAgentInput) SetAgentArn(v string) *UpdateAgentInput {
6832	s.AgentArn = &v
6833	return s
6834}
6835
6836// SetName sets the Name field's value.
6837func (s *UpdateAgentInput) SetName(v string) *UpdateAgentInput {
6838	s.Name = &v
6839	return s
6840}
6841
6842type UpdateAgentOutput struct {
6843	_ struct{} `type:"structure"`
6844}
6845
6846// String returns the string representation
6847func (s UpdateAgentOutput) String() string {
6848	return awsutil.Prettify(s)
6849}
6850
6851// GoString returns the string representation
6852func (s UpdateAgentOutput) GoString() string {
6853	return s.String()
6854}
6855
6856// UpdateTaskResponse
6857type UpdateTaskInput struct {
6858	_ struct{} `type:"structure"`
6859
6860	// The Amazon Resource Name (ARN) of the resource name of the CloudWatch LogGroup.
6861	CloudWatchLogGroupArn *string `type:"string"`
6862
6863	// A list of filter rules that determines which files to exclude from a task.
6864	// The list should contain a single filter string that consists of the patterns
6865	// to exclude. The patterns are delimited by "|" (that is, a pipe), for example:
6866	// "/folder1|/folder2"
6867	Excludes []*FilterRule `type:"list"`
6868
6869	// The name of the task to update.
6870	Name *string `min:"1" type:"string"`
6871
6872	// Represents the options that are available to control the behavior of a StartTaskExecution
6873	// operation. Behavior includes preserving metadata such as user ID (UID), group
6874	// ID (GID), and file permissions, and also overwriting files in the destination,
6875	// data integrity verification, and so on.
6876	//
6877	// A task has a set of default options associated with it. If you don't specify
6878	// an option in StartTaskExecution, the default value is used. You can override
6879	// the defaults options on each task execution by specifying an overriding Options
6880	// value to StartTaskExecution.
6881	Options *Options `type:"structure"`
6882
6883	// Specifies a schedule used to periodically transfer files from a source to
6884	// a destination location. You can configure your task to execute hourly, daily,
6885	// weekly or on specific days of the week. You control when in the day or hour
6886	// you want the task to execute. The time you specify is UTC time. For more
6887	// information, see task-scheduling.
6888	Schedule *TaskSchedule `type:"structure"`
6889
6890	// The Amazon Resource Name (ARN) of the resource name of the task to update.
6891	//
6892	// TaskArn is a required field
6893	TaskArn *string `type:"string" required:"true"`
6894}
6895
6896// String returns the string representation
6897func (s UpdateTaskInput) String() string {
6898	return awsutil.Prettify(s)
6899}
6900
6901// GoString returns the string representation
6902func (s UpdateTaskInput) GoString() string {
6903	return s.String()
6904}
6905
6906// Validate inspects the fields of the type to determine if they are valid.
6907func (s *UpdateTaskInput) Validate() error {
6908	invalidParams := request.ErrInvalidParams{Context: "UpdateTaskInput"}
6909	if s.Name != nil && len(*s.Name) < 1 {
6910		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6911	}
6912	if s.TaskArn == nil {
6913		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
6914	}
6915	if s.Options != nil {
6916		if err := s.Options.Validate(); err != nil {
6917			invalidParams.AddNested("Options", err.(request.ErrInvalidParams))
6918		}
6919	}
6920	if s.Schedule != nil {
6921		if err := s.Schedule.Validate(); err != nil {
6922			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
6923		}
6924	}
6925
6926	if invalidParams.Len() > 0 {
6927		return invalidParams
6928	}
6929	return nil
6930}
6931
6932// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
6933func (s *UpdateTaskInput) SetCloudWatchLogGroupArn(v string) *UpdateTaskInput {
6934	s.CloudWatchLogGroupArn = &v
6935	return s
6936}
6937
6938// SetExcludes sets the Excludes field's value.
6939func (s *UpdateTaskInput) SetExcludes(v []*FilterRule) *UpdateTaskInput {
6940	s.Excludes = v
6941	return s
6942}
6943
6944// SetName sets the Name field's value.
6945func (s *UpdateTaskInput) SetName(v string) *UpdateTaskInput {
6946	s.Name = &v
6947	return s
6948}
6949
6950// SetOptions sets the Options field's value.
6951func (s *UpdateTaskInput) SetOptions(v *Options) *UpdateTaskInput {
6952	s.Options = v
6953	return s
6954}
6955
6956// SetSchedule sets the Schedule field's value.
6957func (s *UpdateTaskInput) SetSchedule(v *TaskSchedule) *UpdateTaskInput {
6958	s.Schedule = v
6959	return s
6960}
6961
6962// SetTaskArn sets the TaskArn field's value.
6963func (s *UpdateTaskInput) SetTaskArn(v string) *UpdateTaskInput {
6964	s.TaskArn = &v
6965	return s
6966}
6967
6968type UpdateTaskOutput struct {
6969	_ struct{} `type:"structure"`
6970}
6971
6972// String returns the string representation
6973func (s UpdateTaskOutput) String() string {
6974	return awsutil.Prettify(s)
6975}
6976
6977// GoString returns the string representation
6978func (s UpdateTaskOutput) GoString() string {
6979	return s.String()
6980}
6981
6982const (
6983	// AgentStatusOnline is a AgentStatus enum value
6984	AgentStatusOnline = "ONLINE"
6985
6986	// AgentStatusOffline is a AgentStatus enum value
6987	AgentStatusOffline = "OFFLINE"
6988)
6989
6990const (
6991	// AtimeNone is a Atime enum value
6992	AtimeNone = "NONE"
6993
6994	// AtimeBestEffort is a Atime enum value
6995	AtimeBestEffort = "BEST_EFFORT"
6996)
6997
6998const (
6999	// EndpointTypePublic is a EndpointType enum value
7000	EndpointTypePublic = "PUBLIC"
7001
7002	// EndpointTypePrivateLink is a EndpointType enum value
7003	EndpointTypePrivateLink = "PRIVATE_LINK"
7004
7005	// EndpointTypeFips is a EndpointType enum value
7006	EndpointTypeFips = "FIPS"
7007)
7008
7009const (
7010	// FilterTypeSimplePattern is a FilterType enum value
7011	FilterTypeSimplePattern = "SIMPLE_PATTERN"
7012)
7013
7014const (
7015	// GidNone is a Gid enum value
7016	GidNone = "NONE"
7017
7018	// GidIntValue is a Gid enum value
7019	GidIntValue = "INT_VALUE"
7020
7021	// GidName is a Gid enum value
7022	GidName = "NAME"
7023
7024	// GidBoth is a Gid enum value
7025	GidBoth = "BOTH"
7026)
7027
7028const (
7029	// LogLevelOff is a LogLevel enum value
7030	LogLevelOff = "OFF"
7031
7032	// LogLevelBasic is a LogLevel enum value
7033	LogLevelBasic = "BASIC"
7034
7035	// LogLevelTransfer is a LogLevel enum value
7036	LogLevelTransfer = "TRANSFER"
7037)
7038
7039const (
7040	// MtimeNone is a Mtime enum value
7041	MtimeNone = "NONE"
7042
7043	// MtimePreserve is a Mtime enum value
7044	MtimePreserve = "PRESERVE"
7045)
7046
7047const (
7048	// NfsVersionAutomatic is a NfsVersion enum value
7049	NfsVersionAutomatic = "AUTOMATIC"
7050
7051	// NfsVersionNfs3 is a NfsVersion enum value
7052	NfsVersionNfs3 = "NFS3"
7053
7054	// NfsVersionNfs40 is a NfsVersion enum value
7055	NfsVersionNfs40 = "NFS4_0"
7056
7057	// NfsVersionNfs41 is a NfsVersion enum value
7058	NfsVersionNfs41 = "NFS4_1"
7059)
7060
7061const (
7062	// OverwriteModeAlways is a OverwriteMode enum value
7063	OverwriteModeAlways = "ALWAYS"
7064
7065	// OverwriteModeNever is a OverwriteMode enum value
7066	OverwriteModeNever = "NEVER"
7067)
7068
7069const (
7070	// PhaseStatusPending is a PhaseStatus enum value
7071	PhaseStatusPending = "PENDING"
7072
7073	// PhaseStatusSuccess is a PhaseStatus enum value
7074	PhaseStatusSuccess = "SUCCESS"
7075
7076	// PhaseStatusError is a PhaseStatus enum value
7077	PhaseStatusError = "ERROR"
7078)
7079
7080const (
7081	// PosixPermissionsNone is a PosixPermissions enum value
7082	PosixPermissionsNone = "NONE"
7083
7084	// PosixPermissionsPreserve is a PosixPermissions enum value
7085	PosixPermissionsPreserve = "PRESERVE"
7086)
7087
7088const (
7089	// PreserveDeletedFilesPreserve is a PreserveDeletedFiles enum value
7090	PreserveDeletedFilesPreserve = "PRESERVE"
7091
7092	// PreserveDeletedFilesRemove is a PreserveDeletedFiles enum value
7093	PreserveDeletedFilesRemove = "REMOVE"
7094)
7095
7096const (
7097	// PreserveDevicesNone is a PreserveDevices enum value
7098	PreserveDevicesNone = "NONE"
7099
7100	// PreserveDevicesPreserve is a PreserveDevices enum value
7101	PreserveDevicesPreserve = "PRESERVE"
7102)
7103
7104const (
7105	// S3StorageClassStandard is a S3StorageClass enum value
7106	S3StorageClassStandard = "STANDARD"
7107
7108	// S3StorageClassStandardIa is a S3StorageClass enum value
7109	S3StorageClassStandardIa = "STANDARD_IA"
7110
7111	// S3StorageClassOnezoneIa is a S3StorageClass enum value
7112	S3StorageClassOnezoneIa = "ONEZONE_IA"
7113
7114	// S3StorageClassIntelligentTiering is a S3StorageClass enum value
7115	S3StorageClassIntelligentTiering = "INTELLIGENT_TIERING"
7116
7117	// S3StorageClassGlacier is a S3StorageClass enum value
7118	S3StorageClassGlacier = "GLACIER"
7119
7120	// S3StorageClassDeepArchive is a S3StorageClass enum value
7121	S3StorageClassDeepArchive = "DEEP_ARCHIVE"
7122)
7123
7124const (
7125	// SmbVersionAutomatic is a SmbVersion enum value
7126	SmbVersionAutomatic = "AUTOMATIC"
7127
7128	// SmbVersionSmb2 is a SmbVersion enum value
7129	SmbVersionSmb2 = "SMB2"
7130
7131	// SmbVersionSmb3 is a SmbVersion enum value
7132	SmbVersionSmb3 = "SMB3"
7133)
7134
7135const (
7136	// TaskExecutionStatusQueued is a TaskExecutionStatus enum value
7137	TaskExecutionStatusQueued = "QUEUED"
7138
7139	// TaskExecutionStatusLaunching is a TaskExecutionStatus enum value
7140	TaskExecutionStatusLaunching = "LAUNCHING"
7141
7142	// TaskExecutionStatusPreparing is a TaskExecutionStatus enum value
7143	TaskExecutionStatusPreparing = "PREPARING"
7144
7145	// TaskExecutionStatusTransferring is a TaskExecutionStatus enum value
7146	TaskExecutionStatusTransferring = "TRANSFERRING"
7147
7148	// TaskExecutionStatusVerifying is a TaskExecutionStatus enum value
7149	TaskExecutionStatusVerifying = "VERIFYING"
7150
7151	// TaskExecutionStatusSuccess is a TaskExecutionStatus enum value
7152	TaskExecutionStatusSuccess = "SUCCESS"
7153
7154	// TaskExecutionStatusError is a TaskExecutionStatus enum value
7155	TaskExecutionStatusError = "ERROR"
7156)
7157
7158const (
7159	// TaskQueueingEnabled is a TaskQueueing enum value
7160	TaskQueueingEnabled = "ENABLED"
7161
7162	// TaskQueueingDisabled is a TaskQueueing enum value
7163	TaskQueueingDisabled = "DISABLED"
7164)
7165
7166const (
7167	// TaskStatusAvailable is a TaskStatus enum value
7168	TaskStatusAvailable = "AVAILABLE"
7169
7170	// TaskStatusCreating is a TaskStatus enum value
7171	TaskStatusCreating = "CREATING"
7172
7173	// TaskStatusQueued is a TaskStatus enum value
7174	TaskStatusQueued = "QUEUED"
7175
7176	// TaskStatusRunning is a TaskStatus enum value
7177	TaskStatusRunning = "RUNNING"
7178
7179	// TaskStatusUnavailable is a TaskStatus enum value
7180	TaskStatusUnavailable = "UNAVAILABLE"
7181)
7182
7183const (
7184	// UidNone is a Uid enum value
7185	UidNone = "NONE"
7186
7187	// UidIntValue is a Uid enum value
7188	UidIntValue = "INT_VALUE"
7189
7190	// UidName is a Uid enum value
7191	UidName = "NAME"
7192
7193	// UidBoth is a Uid enum value
7194	UidBoth = "BOTH"
7195)
7196
7197const (
7198	// VerifyModePointInTimeConsistent is a VerifyMode enum value
7199	VerifyModePointInTimeConsistent = "POINT_IN_TIME_CONSISTENT"
7200
7201	// VerifyModeOnlyFilesTransferred is a VerifyMode enum value
7202	VerifyModeOnlyFilesTransferred = "ONLY_FILES_TRANSFERRED"
7203
7204	// VerifyModeNone is a VerifyMode enum value
7205	VerifyModeNone = "NONE"
7206)
7207