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 is 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 Server 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 opCreateLocationObjectStorage = "CreateLocationObjectStorage"
455
456// CreateLocationObjectStorageRequest generates a "aws/request.Request" representing the
457// client's request for the CreateLocationObjectStorage 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 CreateLocationObjectStorage for more information on using the CreateLocationObjectStorage
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 CreateLocationObjectStorageRequest method.
472//    req, resp := client.CreateLocationObjectStorageRequest(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/CreateLocationObjectStorage
480func (c *DataSync) CreateLocationObjectStorageRequest(input *CreateLocationObjectStorageInput) (req *request.Request, output *CreateLocationObjectStorageOutput) {
481	op := &request.Operation{
482		Name:       opCreateLocationObjectStorage,
483		HTTPMethod: "POST",
484		HTTPPath:   "/",
485	}
486
487	if input == nil {
488		input = &CreateLocationObjectStorageInput{}
489	}
490
491	output = &CreateLocationObjectStorageOutput{}
492	req = c.newRequest(op, input, output)
493	return
494}
495
496// CreateLocationObjectStorage API operation for AWS DataSync.
497//
498// Creates an endpoint for a self-managed object storage bucket. For more information
499// about self-managed object storage locations, see Creating a location for
500// object storage (https://docs.aws.amazon.com/datasync/latest/userguide/create-object-location.html).
501//
502// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
503// with awserr.Error's Code and Message methods to get detailed information about
504// the error.
505//
506// See the AWS API reference guide for AWS DataSync's
507// API operation CreateLocationObjectStorage for usage and error information.
508//
509// Returned Error Types:
510//   * InvalidRequestException
511//   This exception is thrown when the client submits a malformed request.
512//
513//   * InternalException
514//   This exception is thrown when an error occurs in the AWS DataSync service.
515//
516// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationObjectStorage
517func (c *DataSync) CreateLocationObjectStorage(input *CreateLocationObjectStorageInput) (*CreateLocationObjectStorageOutput, error) {
518	req, out := c.CreateLocationObjectStorageRequest(input)
519	return out, req.Send()
520}
521
522// CreateLocationObjectStorageWithContext is the same as CreateLocationObjectStorage with the addition of
523// the ability to pass a context and additional request options.
524//
525// See CreateLocationObjectStorage for details on how to use this API operation.
526//
527// The context must be non-nil and will be used for request cancellation. If
528// the context is nil a panic will occur. In the future the SDK may create
529// sub-contexts for http.Requests. See https://golang.org/pkg/context/
530// for more information on using Contexts.
531func (c *DataSync) CreateLocationObjectStorageWithContext(ctx aws.Context, input *CreateLocationObjectStorageInput, opts ...request.Option) (*CreateLocationObjectStorageOutput, error) {
532	req, out := c.CreateLocationObjectStorageRequest(input)
533	req.SetContext(ctx)
534	req.ApplyOptions(opts...)
535	return out, req.Send()
536}
537
538const opCreateLocationS3 = "CreateLocationS3"
539
540// CreateLocationS3Request generates a "aws/request.Request" representing the
541// client's request for the CreateLocationS3 operation. The "output" return
542// value will be populated with the request's response once the request completes
543// successfully.
544//
545// Use "Send" method on the returned Request to send the API call to the service.
546// the "output" return value is not valid until after Send returns without error.
547//
548// See CreateLocationS3 for more information on using the CreateLocationS3
549// API call, and error handling.
550//
551// This method is useful when you want to inject custom logic or configuration
552// into the SDK's request lifecycle. Such as custom headers, or retry logic.
553//
554//
555//    // Example sending a request using the CreateLocationS3Request method.
556//    req, resp := client.CreateLocationS3Request(params)
557//
558//    err := req.Send()
559//    if err == nil { // resp is now filled
560//        fmt.Println(resp)
561//    }
562//
563// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationS3
564func (c *DataSync) CreateLocationS3Request(input *CreateLocationS3Input) (req *request.Request, output *CreateLocationS3Output) {
565	op := &request.Operation{
566		Name:       opCreateLocationS3,
567		HTTPMethod: "POST",
568		HTTPPath:   "/",
569	}
570
571	if input == nil {
572		input = &CreateLocationS3Input{}
573	}
574
575	output = &CreateLocationS3Output{}
576	req = c.newRequest(op, input, output)
577	return
578}
579
580// CreateLocationS3 API operation for AWS DataSync.
581//
582// Creates an endpoint for an Amazon S3 bucket.
583//
584// For more information, see https://docs.aws.amazon.com/datasync/latest/userguide/create-locations-cli.html#create-location-s3-cli
585// in the AWS DataSync User Guide.
586//
587// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
588// with awserr.Error's Code and Message methods to get detailed information about
589// the error.
590//
591// See the AWS API reference guide for AWS DataSync's
592// API operation CreateLocationS3 for usage and error information.
593//
594// Returned Error Types:
595//   * InvalidRequestException
596//   This exception is thrown when the client submits a malformed request.
597//
598//   * InternalException
599//   This exception is thrown when an error occurs in the AWS DataSync service.
600//
601// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationS3
602func (c *DataSync) CreateLocationS3(input *CreateLocationS3Input) (*CreateLocationS3Output, error) {
603	req, out := c.CreateLocationS3Request(input)
604	return out, req.Send()
605}
606
607// CreateLocationS3WithContext is the same as CreateLocationS3 with the addition of
608// the ability to pass a context and additional request options.
609//
610// See CreateLocationS3 for details on how to use this API operation.
611//
612// The context must be non-nil and will be used for request cancellation. If
613// the context is nil a panic will occur. In the future the SDK may create
614// sub-contexts for http.Requests. See https://golang.org/pkg/context/
615// for more information on using Contexts.
616func (c *DataSync) CreateLocationS3WithContext(ctx aws.Context, input *CreateLocationS3Input, opts ...request.Option) (*CreateLocationS3Output, error) {
617	req, out := c.CreateLocationS3Request(input)
618	req.SetContext(ctx)
619	req.ApplyOptions(opts...)
620	return out, req.Send()
621}
622
623const opCreateLocationSmb = "CreateLocationSmb"
624
625// CreateLocationSmbRequest generates a "aws/request.Request" representing the
626// client's request for the CreateLocationSmb operation. The "output" return
627// value will be populated with the request's response once the request completes
628// successfully.
629//
630// Use "Send" method on the returned Request to send the API call to the service.
631// the "output" return value is not valid until after Send returns without error.
632//
633// See CreateLocationSmb for more information on using the CreateLocationSmb
634// API call, and error handling.
635//
636// This method is useful when you want to inject custom logic or configuration
637// into the SDK's request lifecycle. Such as custom headers, or retry logic.
638//
639//
640//    // Example sending a request using the CreateLocationSmbRequest method.
641//    req, resp := client.CreateLocationSmbRequest(params)
642//
643//    err := req.Send()
644//    if err == nil { // resp is now filled
645//        fmt.Println(resp)
646//    }
647//
648// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationSmb
649func (c *DataSync) CreateLocationSmbRequest(input *CreateLocationSmbInput) (req *request.Request, output *CreateLocationSmbOutput) {
650	op := &request.Operation{
651		Name:       opCreateLocationSmb,
652		HTTPMethod: "POST",
653		HTTPPath:   "/",
654	}
655
656	if input == nil {
657		input = &CreateLocationSmbInput{}
658	}
659
660	output = &CreateLocationSmbOutput{}
661	req = c.newRequest(op, input, output)
662	return
663}
664
665// CreateLocationSmb API operation for AWS DataSync.
666//
667// Defines a file system on a Server Message Block (SMB) server that can be
668// read from or written to.
669//
670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
671// with awserr.Error's Code and Message methods to get detailed information about
672// the error.
673//
674// See the AWS API reference guide for AWS DataSync's
675// API operation CreateLocationSmb for usage and error information.
676//
677// Returned Error Types:
678//   * InvalidRequestException
679//   This exception is thrown when the client submits a malformed request.
680//
681//   * InternalException
682//   This exception is thrown when an error occurs in the AWS DataSync service.
683//
684// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationSmb
685func (c *DataSync) CreateLocationSmb(input *CreateLocationSmbInput) (*CreateLocationSmbOutput, error) {
686	req, out := c.CreateLocationSmbRequest(input)
687	return out, req.Send()
688}
689
690// CreateLocationSmbWithContext is the same as CreateLocationSmb with the addition of
691// the ability to pass a context and additional request options.
692//
693// See CreateLocationSmb for details on how to use this API operation.
694//
695// The context must be non-nil and will be used for request cancellation. If
696// the context is nil a panic will occur. In the future the SDK may create
697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
698// for more information on using Contexts.
699func (c *DataSync) CreateLocationSmbWithContext(ctx aws.Context, input *CreateLocationSmbInput, opts ...request.Option) (*CreateLocationSmbOutput, error) {
700	req, out := c.CreateLocationSmbRequest(input)
701	req.SetContext(ctx)
702	req.ApplyOptions(opts...)
703	return out, req.Send()
704}
705
706const opCreateTask = "CreateTask"
707
708// CreateTaskRequest generates a "aws/request.Request" representing the
709// client's request for the CreateTask operation. The "output" return
710// value will be populated with the request's response once the request completes
711// successfully.
712//
713// Use "Send" method on the returned Request to send the API call to the service.
714// the "output" return value is not valid until after Send returns without error.
715//
716// See CreateTask for more information on using the CreateTask
717// API call, and error handling.
718//
719// This method is useful when you want to inject custom logic or configuration
720// into the SDK's request lifecycle. Such as custom headers, or retry logic.
721//
722//
723//    // Example sending a request using the CreateTaskRequest method.
724//    req, resp := client.CreateTaskRequest(params)
725//
726//    err := req.Send()
727//    if err == nil { // resp is now filled
728//        fmt.Println(resp)
729//    }
730//
731// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateTask
732func (c *DataSync) CreateTaskRequest(input *CreateTaskInput) (req *request.Request, output *CreateTaskOutput) {
733	op := &request.Operation{
734		Name:       opCreateTask,
735		HTTPMethod: "POST",
736		HTTPPath:   "/",
737	}
738
739	if input == nil {
740		input = &CreateTaskInput{}
741	}
742
743	output = &CreateTaskOutput{}
744	req = c.newRequest(op, input, output)
745	return
746}
747
748// CreateTask API operation for AWS DataSync.
749//
750// Creates a task.
751//
752// A task includes a source location and a destination location, and a configuration
753// that specifies how data is transferred. A task always transfers data from
754// the source location to the destination location. The configuration specifies
755// options such as task scheduling, bandwidth limits, etc. A task is the complete
756// definition of a data transfer.
757//
758// When you create a task that transfers data between AWS services in different
759// AWS Regions, one of the two locations that you specify must reside in the
760// Region where DataSync is being used. The other location must be specified
761// in a different Region.
762//
763// You can transfer data between commercial AWS Regions except for China, or
764// between AWS GovCloud (US-East and US-West) Regions.
765//
766// When you use DataSync to copy files or objects between AWS Regions, you pay
767// for data transfer between Regions. This is billed as data transfer OUT from
768// your source Region to your destination Region. For more information, see
769// Data Transfer pricing (http://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer).
770//
771// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
772// with awserr.Error's Code and Message methods to get detailed information about
773// the error.
774//
775// See the AWS API reference guide for AWS DataSync's
776// API operation CreateTask for usage and error information.
777//
778// Returned Error Types:
779//   * InvalidRequestException
780//   This exception is thrown when the client submits a malformed request.
781//
782//   * InternalException
783//   This exception is thrown when an error occurs in the AWS DataSync service.
784//
785// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateTask
786func (c *DataSync) CreateTask(input *CreateTaskInput) (*CreateTaskOutput, error) {
787	req, out := c.CreateTaskRequest(input)
788	return out, req.Send()
789}
790
791// CreateTaskWithContext is the same as CreateTask with the addition of
792// the ability to pass a context and additional request options.
793//
794// See CreateTask for details on how to use this API operation.
795//
796// The context must be non-nil and will be used for request cancellation. If
797// the context is nil a panic will occur. In the future the SDK may create
798// sub-contexts for http.Requests. See https://golang.org/pkg/context/
799// for more information on using Contexts.
800func (c *DataSync) CreateTaskWithContext(ctx aws.Context, input *CreateTaskInput, opts ...request.Option) (*CreateTaskOutput, error) {
801	req, out := c.CreateTaskRequest(input)
802	req.SetContext(ctx)
803	req.ApplyOptions(opts...)
804	return out, req.Send()
805}
806
807const opDeleteAgent = "DeleteAgent"
808
809// DeleteAgentRequest generates a "aws/request.Request" representing the
810// client's request for the DeleteAgent operation. The "output" return
811// value will be populated with the request's response once the request completes
812// successfully.
813//
814// Use "Send" method on the returned Request to send the API call to the service.
815// the "output" return value is not valid until after Send returns without error.
816//
817// See DeleteAgent for more information on using the DeleteAgent
818// API call, and error handling.
819//
820// This method is useful when you want to inject custom logic or configuration
821// into the SDK's request lifecycle. Such as custom headers, or retry logic.
822//
823//
824//    // Example sending a request using the DeleteAgentRequest method.
825//    req, resp := client.DeleteAgentRequest(params)
826//
827//    err := req.Send()
828//    if err == nil { // resp is now filled
829//        fmt.Println(resp)
830//    }
831//
832// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteAgent
833func (c *DataSync) DeleteAgentRequest(input *DeleteAgentInput) (req *request.Request, output *DeleteAgentOutput) {
834	op := &request.Operation{
835		Name:       opDeleteAgent,
836		HTTPMethod: "POST",
837		HTTPPath:   "/",
838	}
839
840	if input == nil {
841		input = &DeleteAgentInput{}
842	}
843
844	output = &DeleteAgentOutput{}
845	req = c.newRequest(op, input, output)
846	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
847	return
848}
849
850// DeleteAgent API operation for AWS DataSync.
851//
852// Deletes an agent. To specify which agent to delete, use the Amazon Resource
853// Name (ARN) of the agent in your request. The operation disassociates the
854// agent from your AWS account. However, it doesn't delete the agent virtual
855// machine (VM) from your on-premises environment.
856//
857// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
858// with awserr.Error's Code and Message methods to get detailed information about
859// the error.
860//
861// See the AWS API reference guide for AWS DataSync's
862// API operation DeleteAgent for usage and error information.
863//
864// Returned Error Types:
865//   * InvalidRequestException
866//   This exception is thrown when the client submits a malformed request.
867//
868//   * InternalException
869//   This exception is thrown when an error occurs in the AWS DataSync service.
870//
871// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteAgent
872func (c *DataSync) DeleteAgent(input *DeleteAgentInput) (*DeleteAgentOutput, error) {
873	req, out := c.DeleteAgentRequest(input)
874	return out, req.Send()
875}
876
877// DeleteAgentWithContext is the same as DeleteAgent with the addition of
878// the ability to pass a context and additional request options.
879//
880// See DeleteAgent for details on how to use this API operation.
881//
882// The context must be non-nil and will be used for request cancellation. If
883// the context is nil a panic will occur. In the future the SDK may create
884// sub-contexts for http.Requests. See https://golang.org/pkg/context/
885// for more information on using Contexts.
886func (c *DataSync) DeleteAgentWithContext(ctx aws.Context, input *DeleteAgentInput, opts ...request.Option) (*DeleteAgentOutput, error) {
887	req, out := c.DeleteAgentRequest(input)
888	req.SetContext(ctx)
889	req.ApplyOptions(opts...)
890	return out, req.Send()
891}
892
893const opDeleteLocation = "DeleteLocation"
894
895// DeleteLocationRequest generates a "aws/request.Request" representing the
896// client's request for the DeleteLocation operation. The "output" return
897// value will be populated with the request's response once the request completes
898// successfully.
899//
900// Use "Send" method on the returned Request to send the API call to the service.
901// the "output" return value is not valid until after Send returns without error.
902//
903// See DeleteLocation for more information on using the DeleteLocation
904// API call, and error handling.
905//
906// This method is useful when you want to inject custom logic or configuration
907// into the SDK's request lifecycle. Such as custom headers, or retry logic.
908//
909//
910//    // Example sending a request using the DeleteLocationRequest method.
911//    req, resp := client.DeleteLocationRequest(params)
912//
913//    err := req.Send()
914//    if err == nil { // resp is now filled
915//        fmt.Println(resp)
916//    }
917//
918// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteLocation
919func (c *DataSync) DeleteLocationRequest(input *DeleteLocationInput) (req *request.Request, output *DeleteLocationOutput) {
920	op := &request.Operation{
921		Name:       opDeleteLocation,
922		HTTPMethod: "POST",
923		HTTPPath:   "/",
924	}
925
926	if input == nil {
927		input = &DeleteLocationInput{}
928	}
929
930	output = &DeleteLocationOutput{}
931	req = c.newRequest(op, input, output)
932	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
933	return
934}
935
936// DeleteLocation API operation for AWS DataSync.
937//
938// Deletes the configuration of a location used by AWS DataSync.
939//
940// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
941// with awserr.Error's Code and Message methods to get detailed information about
942// the error.
943//
944// See the AWS API reference guide for AWS DataSync's
945// API operation DeleteLocation for usage and error information.
946//
947// Returned Error Types:
948//   * InvalidRequestException
949//   This exception is thrown when the client submits a malformed request.
950//
951//   * InternalException
952//   This exception is thrown when an error occurs in the AWS DataSync service.
953//
954// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteLocation
955func (c *DataSync) DeleteLocation(input *DeleteLocationInput) (*DeleteLocationOutput, error) {
956	req, out := c.DeleteLocationRequest(input)
957	return out, req.Send()
958}
959
960// DeleteLocationWithContext is the same as DeleteLocation with the addition of
961// the ability to pass a context and additional request options.
962//
963// See DeleteLocation for details on how to use this API operation.
964//
965// The context must be non-nil and will be used for request cancellation. If
966// the context is nil a panic will occur. In the future the SDK may create
967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
968// for more information on using Contexts.
969func (c *DataSync) DeleteLocationWithContext(ctx aws.Context, input *DeleteLocationInput, opts ...request.Option) (*DeleteLocationOutput, error) {
970	req, out := c.DeleteLocationRequest(input)
971	req.SetContext(ctx)
972	req.ApplyOptions(opts...)
973	return out, req.Send()
974}
975
976const opDeleteTask = "DeleteTask"
977
978// DeleteTaskRequest generates a "aws/request.Request" representing the
979// client's request for the DeleteTask operation. The "output" return
980// value will be populated with the request's response once the request completes
981// successfully.
982//
983// Use "Send" method on the returned Request to send the API call to the service.
984// the "output" return value is not valid until after Send returns without error.
985//
986// See DeleteTask for more information on using the DeleteTask
987// API call, and error handling.
988//
989// This method is useful when you want to inject custom logic or configuration
990// into the SDK's request lifecycle. Such as custom headers, or retry logic.
991//
992//
993//    // Example sending a request using the DeleteTaskRequest method.
994//    req, resp := client.DeleteTaskRequest(params)
995//
996//    err := req.Send()
997//    if err == nil { // resp is now filled
998//        fmt.Println(resp)
999//    }
1000//
1001// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteTask
1002func (c *DataSync) DeleteTaskRequest(input *DeleteTaskInput) (req *request.Request, output *DeleteTaskOutput) {
1003	op := &request.Operation{
1004		Name:       opDeleteTask,
1005		HTTPMethod: "POST",
1006		HTTPPath:   "/",
1007	}
1008
1009	if input == nil {
1010		input = &DeleteTaskInput{}
1011	}
1012
1013	output = &DeleteTaskOutput{}
1014	req = c.newRequest(op, input, output)
1015	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1016	return
1017}
1018
1019// DeleteTask API operation for AWS DataSync.
1020//
1021// Deletes a task.
1022//
1023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1024// with awserr.Error's Code and Message methods to get detailed information about
1025// the error.
1026//
1027// See the AWS API reference guide for AWS DataSync's
1028// API operation DeleteTask for usage and error information.
1029//
1030// Returned Error Types:
1031//   * InvalidRequestException
1032//   This exception is thrown when the client submits a malformed request.
1033//
1034//   * InternalException
1035//   This exception is thrown when an error occurs in the AWS DataSync service.
1036//
1037// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteTask
1038func (c *DataSync) DeleteTask(input *DeleteTaskInput) (*DeleteTaskOutput, error) {
1039	req, out := c.DeleteTaskRequest(input)
1040	return out, req.Send()
1041}
1042
1043// DeleteTaskWithContext is the same as DeleteTask with the addition of
1044// the ability to pass a context and additional request options.
1045//
1046// See DeleteTask for details on how to use this API operation.
1047//
1048// The context must be non-nil and will be used for request cancellation. If
1049// the context is nil a panic will occur. In the future the SDK may create
1050// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1051// for more information on using Contexts.
1052func (c *DataSync) DeleteTaskWithContext(ctx aws.Context, input *DeleteTaskInput, opts ...request.Option) (*DeleteTaskOutput, error) {
1053	req, out := c.DeleteTaskRequest(input)
1054	req.SetContext(ctx)
1055	req.ApplyOptions(opts...)
1056	return out, req.Send()
1057}
1058
1059const opDescribeAgent = "DescribeAgent"
1060
1061// DescribeAgentRequest generates a "aws/request.Request" representing the
1062// client's request for the DescribeAgent operation. The "output" return
1063// value will be populated with the request's response once the request completes
1064// successfully.
1065//
1066// Use "Send" method on the returned Request to send the API call to the service.
1067// the "output" return value is not valid until after Send returns without error.
1068//
1069// See DescribeAgent for more information on using the DescribeAgent
1070// API call, and error handling.
1071//
1072// This method is useful when you want to inject custom logic or configuration
1073// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1074//
1075//
1076//    // Example sending a request using the DescribeAgentRequest method.
1077//    req, resp := client.DescribeAgentRequest(params)
1078//
1079//    err := req.Send()
1080//    if err == nil { // resp is now filled
1081//        fmt.Println(resp)
1082//    }
1083//
1084// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeAgent
1085func (c *DataSync) DescribeAgentRequest(input *DescribeAgentInput) (req *request.Request, output *DescribeAgentOutput) {
1086	op := &request.Operation{
1087		Name:       opDescribeAgent,
1088		HTTPMethod: "POST",
1089		HTTPPath:   "/",
1090	}
1091
1092	if input == nil {
1093		input = &DescribeAgentInput{}
1094	}
1095
1096	output = &DescribeAgentOutput{}
1097	req = c.newRequest(op, input, output)
1098	return
1099}
1100
1101// DescribeAgent API operation for AWS DataSync.
1102//
1103// Returns metadata such as the name, the network interfaces, and the status
1104// (that is, whether the agent is running or not) for an agent. To specify which
1105// agent to describe, use the Amazon Resource Name (ARN) of the agent in your
1106// request.
1107//
1108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1109// with awserr.Error's Code and Message methods to get detailed information about
1110// the error.
1111//
1112// See the AWS API reference guide for AWS DataSync's
1113// API operation DescribeAgent for usage and error information.
1114//
1115// Returned Error Types:
1116//   * InvalidRequestException
1117//   This exception is thrown when the client submits a malformed request.
1118//
1119//   * InternalException
1120//   This exception is thrown when an error occurs in the AWS DataSync service.
1121//
1122// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeAgent
1123func (c *DataSync) DescribeAgent(input *DescribeAgentInput) (*DescribeAgentOutput, error) {
1124	req, out := c.DescribeAgentRequest(input)
1125	return out, req.Send()
1126}
1127
1128// DescribeAgentWithContext is the same as DescribeAgent with the addition of
1129// the ability to pass a context and additional request options.
1130//
1131// See DescribeAgent for details on how to use this API operation.
1132//
1133// The context must be non-nil and will be used for request cancellation. If
1134// the context is nil a panic will occur. In the future the SDK may create
1135// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1136// for more information on using Contexts.
1137func (c *DataSync) DescribeAgentWithContext(ctx aws.Context, input *DescribeAgentInput, opts ...request.Option) (*DescribeAgentOutput, error) {
1138	req, out := c.DescribeAgentRequest(input)
1139	req.SetContext(ctx)
1140	req.ApplyOptions(opts...)
1141	return out, req.Send()
1142}
1143
1144const opDescribeLocationEfs = "DescribeLocationEfs"
1145
1146// DescribeLocationEfsRequest generates a "aws/request.Request" representing the
1147// client's request for the DescribeLocationEfs operation. The "output" return
1148// value will be populated with the request's response once the request completes
1149// successfully.
1150//
1151// Use "Send" method on the returned Request to send the API call to the service.
1152// the "output" return value is not valid until after Send returns without error.
1153//
1154// See DescribeLocationEfs for more information on using the DescribeLocationEfs
1155// API call, and error handling.
1156//
1157// This method is useful when you want to inject custom logic or configuration
1158// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1159//
1160//
1161//    // Example sending a request using the DescribeLocationEfsRequest method.
1162//    req, resp := client.DescribeLocationEfsRequest(params)
1163//
1164//    err := req.Send()
1165//    if err == nil { // resp is now filled
1166//        fmt.Println(resp)
1167//    }
1168//
1169// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationEfs
1170func (c *DataSync) DescribeLocationEfsRequest(input *DescribeLocationEfsInput) (req *request.Request, output *DescribeLocationEfsOutput) {
1171	op := &request.Operation{
1172		Name:       opDescribeLocationEfs,
1173		HTTPMethod: "POST",
1174		HTTPPath:   "/",
1175	}
1176
1177	if input == nil {
1178		input = &DescribeLocationEfsInput{}
1179	}
1180
1181	output = &DescribeLocationEfsOutput{}
1182	req = c.newRequest(op, input, output)
1183	return
1184}
1185
1186// DescribeLocationEfs API operation for AWS DataSync.
1187//
1188// Returns metadata, such as the path information about an Amazon EFS location.
1189//
1190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1191// with awserr.Error's Code and Message methods to get detailed information about
1192// the error.
1193//
1194// See the AWS API reference guide for AWS DataSync's
1195// API operation DescribeLocationEfs for usage and error information.
1196//
1197// Returned Error Types:
1198//   * InvalidRequestException
1199//   This exception is thrown when the client submits a malformed request.
1200//
1201//   * InternalException
1202//   This exception is thrown when an error occurs in the AWS DataSync service.
1203//
1204// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationEfs
1205func (c *DataSync) DescribeLocationEfs(input *DescribeLocationEfsInput) (*DescribeLocationEfsOutput, error) {
1206	req, out := c.DescribeLocationEfsRequest(input)
1207	return out, req.Send()
1208}
1209
1210// DescribeLocationEfsWithContext is the same as DescribeLocationEfs with the addition of
1211// the ability to pass a context and additional request options.
1212//
1213// See DescribeLocationEfs for details on how to use this API operation.
1214//
1215// The context must be non-nil and will be used for request cancellation. If
1216// the context is nil a panic will occur. In the future the SDK may create
1217// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1218// for more information on using Contexts.
1219func (c *DataSync) DescribeLocationEfsWithContext(ctx aws.Context, input *DescribeLocationEfsInput, opts ...request.Option) (*DescribeLocationEfsOutput, error) {
1220	req, out := c.DescribeLocationEfsRequest(input)
1221	req.SetContext(ctx)
1222	req.ApplyOptions(opts...)
1223	return out, req.Send()
1224}
1225
1226const opDescribeLocationFsxWindows = "DescribeLocationFsxWindows"
1227
1228// DescribeLocationFsxWindowsRequest generates a "aws/request.Request" representing the
1229// client's request for the DescribeLocationFsxWindows operation. The "output" return
1230// value will be populated with the request's response once the request completes
1231// successfully.
1232//
1233// Use "Send" method on the returned Request to send the API call to the service.
1234// the "output" return value is not valid until after Send returns without error.
1235//
1236// See DescribeLocationFsxWindows for more information on using the DescribeLocationFsxWindows
1237// API call, and error handling.
1238//
1239// This method is useful when you want to inject custom logic or configuration
1240// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1241//
1242//
1243//    // Example sending a request using the DescribeLocationFsxWindowsRequest method.
1244//    req, resp := client.DescribeLocationFsxWindowsRequest(params)
1245//
1246//    err := req.Send()
1247//    if err == nil { // resp is now filled
1248//        fmt.Println(resp)
1249//    }
1250//
1251// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxWindows
1252func (c *DataSync) DescribeLocationFsxWindowsRequest(input *DescribeLocationFsxWindowsInput) (req *request.Request, output *DescribeLocationFsxWindowsOutput) {
1253	op := &request.Operation{
1254		Name:       opDescribeLocationFsxWindows,
1255		HTTPMethod: "POST",
1256		HTTPPath:   "/",
1257	}
1258
1259	if input == nil {
1260		input = &DescribeLocationFsxWindowsInput{}
1261	}
1262
1263	output = &DescribeLocationFsxWindowsOutput{}
1264	req = c.newRequest(op, input, output)
1265	return
1266}
1267
1268// DescribeLocationFsxWindows API operation for AWS DataSync.
1269//
1270// Returns metadata, such as the path information about an Amazon FSx for Windows
1271// File Server location.
1272//
1273// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1274// with awserr.Error's Code and Message methods to get detailed information about
1275// the error.
1276//
1277// See the AWS API reference guide for AWS DataSync's
1278// API operation DescribeLocationFsxWindows for usage and error information.
1279//
1280// Returned Error Types:
1281//   * InvalidRequestException
1282//   This exception is thrown when the client submits a malformed request.
1283//
1284//   * InternalException
1285//   This exception is thrown when an error occurs in the AWS DataSync service.
1286//
1287// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxWindows
1288func (c *DataSync) DescribeLocationFsxWindows(input *DescribeLocationFsxWindowsInput) (*DescribeLocationFsxWindowsOutput, error) {
1289	req, out := c.DescribeLocationFsxWindowsRequest(input)
1290	return out, req.Send()
1291}
1292
1293// DescribeLocationFsxWindowsWithContext is the same as DescribeLocationFsxWindows with the addition of
1294// the ability to pass a context and additional request options.
1295//
1296// See DescribeLocationFsxWindows for details on how to use this API operation.
1297//
1298// The context must be non-nil and will be used for request cancellation. If
1299// the context is nil a panic will occur. In the future the SDK may create
1300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1301// for more information on using Contexts.
1302func (c *DataSync) DescribeLocationFsxWindowsWithContext(ctx aws.Context, input *DescribeLocationFsxWindowsInput, opts ...request.Option) (*DescribeLocationFsxWindowsOutput, error) {
1303	req, out := c.DescribeLocationFsxWindowsRequest(input)
1304	req.SetContext(ctx)
1305	req.ApplyOptions(opts...)
1306	return out, req.Send()
1307}
1308
1309const opDescribeLocationNfs = "DescribeLocationNfs"
1310
1311// DescribeLocationNfsRequest generates a "aws/request.Request" representing the
1312// client's request for the DescribeLocationNfs operation. The "output" return
1313// value will be populated with the request's response once the request completes
1314// successfully.
1315//
1316// Use "Send" method on the returned Request to send the API call to the service.
1317// the "output" return value is not valid until after Send returns without error.
1318//
1319// See DescribeLocationNfs for more information on using the DescribeLocationNfs
1320// API call, and error handling.
1321//
1322// This method is useful when you want to inject custom logic or configuration
1323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1324//
1325//
1326//    // Example sending a request using the DescribeLocationNfsRequest method.
1327//    req, resp := client.DescribeLocationNfsRequest(params)
1328//
1329//    err := req.Send()
1330//    if err == nil { // resp is now filled
1331//        fmt.Println(resp)
1332//    }
1333//
1334// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationNfs
1335func (c *DataSync) DescribeLocationNfsRequest(input *DescribeLocationNfsInput) (req *request.Request, output *DescribeLocationNfsOutput) {
1336	op := &request.Operation{
1337		Name:       opDescribeLocationNfs,
1338		HTTPMethod: "POST",
1339		HTTPPath:   "/",
1340	}
1341
1342	if input == nil {
1343		input = &DescribeLocationNfsInput{}
1344	}
1345
1346	output = &DescribeLocationNfsOutput{}
1347	req = c.newRequest(op, input, output)
1348	return
1349}
1350
1351// DescribeLocationNfs API operation for AWS DataSync.
1352//
1353// Returns metadata, such as the path information, about an NFS location.
1354//
1355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1356// with awserr.Error's Code and Message methods to get detailed information about
1357// the error.
1358//
1359// See the AWS API reference guide for AWS DataSync's
1360// API operation DescribeLocationNfs for usage and error information.
1361//
1362// Returned Error Types:
1363//   * InvalidRequestException
1364//   This exception is thrown when the client submits a malformed request.
1365//
1366//   * InternalException
1367//   This exception is thrown when an error occurs in the AWS DataSync service.
1368//
1369// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationNfs
1370func (c *DataSync) DescribeLocationNfs(input *DescribeLocationNfsInput) (*DescribeLocationNfsOutput, error) {
1371	req, out := c.DescribeLocationNfsRequest(input)
1372	return out, req.Send()
1373}
1374
1375// DescribeLocationNfsWithContext is the same as DescribeLocationNfs with the addition of
1376// the ability to pass a context and additional request options.
1377//
1378// See DescribeLocationNfs for details on how to use this API operation.
1379//
1380// The context must be non-nil and will be used for request cancellation. If
1381// the context is nil a panic will occur. In the future the SDK may create
1382// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1383// for more information on using Contexts.
1384func (c *DataSync) DescribeLocationNfsWithContext(ctx aws.Context, input *DescribeLocationNfsInput, opts ...request.Option) (*DescribeLocationNfsOutput, error) {
1385	req, out := c.DescribeLocationNfsRequest(input)
1386	req.SetContext(ctx)
1387	req.ApplyOptions(opts...)
1388	return out, req.Send()
1389}
1390
1391const opDescribeLocationObjectStorage = "DescribeLocationObjectStorage"
1392
1393// DescribeLocationObjectStorageRequest generates a "aws/request.Request" representing the
1394// client's request for the DescribeLocationObjectStorage operation. The "output" return
1395// value will be populated with the request's response once the request completes
1396// successfully.
1397//
1398// Use "Send" method on the returned Request to send the API call to the service.
1399// the "output" return value is not valid until after Send returns without error.
1400//
1401// See DescribeLocationObjectStorage for more information on using the DescribeLocationObjectStorage
1402// API call, and error handling.
1403//
1404// This method is useful when you want to inject custom logic or configuration
1405// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1406//
1407//
1408//    // Example sending a request using the DescribeLocationObjectStorageRequest method.
1409//    req, resp := client.DescribeLocationObjectStorageRequest(params)
1410//
1411//    err := req.Send()
1412//    if err == nil { // resp is now filled
1413//        fmt.Println(resp)
1414//    }
1415//
1416// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationObjectStorage
1417func (c *DataSync) DescribeLocationObjectStorageRequest(input *DescribeLocationObjectStorageInput) (req *request.Request, output *DescribeLocationObjectStorageOutput) {
1418	op := &request.Operation{
1419		Name:       opDescribeLocationObjectStorage,
1420		HTTPMethod: "POST",
1421		HTTPPath:   "/",
1422	}
1423
1424	if input == nil {
1425		input = &DescribeLocationObjectStorageInput{}
1426	}
1427
1428	output = &DescribeLocationObjectStorageOutput{}
1429	req = c.newRequest(op, input, output)
1430	return
1431}
1432
1433// DescribeLocationObjectStorage API operation for AWS DataSync.
1434//
1435// Returns metadata about a self-managed object storage server location. For
1436// more information about self-managed object storage locations, see Creating
1437// a location for object storage (https://docs.aws.amazon.com/datasync/latest/userguide/create-object-location.html).
1438//
1439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1440// with awserr.Error's Code and Message methods to get detailed information about
1441// the error.
1442//
1443// See the AWS API reference guide for AWS DataSync's
1444// API operation DescribeLocationObjectStorage for usage and error information.
1445//
1446// Returned Error Types:
1447//   * InvalidRequestException
1448//   This exception is thrown when the client submits a malformed request.
1449//
1450//   * InternalException
1451//   This exception is thrown when an error occurs in the AWS DataSync service.
1452//
1453// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationObjectStorage
1454func (c *DataSync) DescribeLocationObjectStorage(input *DescribeLocationObjectStorageInput) (*DescribeLocationObjectStorageOutput, error) {
1455	req, out := c.DescribeLocationObjectStorageRequest(input)
1456	return out, req.Send()
1457}
1458
1459// DescribeLocationObjectStorageWithContext is the same as DescribeLocationObjectStorage with the addition of
1460// the ability to pass a context and additional request options.
1461//
1462// See DescribeLocationObjectStorage for details on how to use this API operation.
1463//
1464// The context must be non-nil and will be used for request cancellation. If
1465// the context is nil a panic will occur. In the future the SDK may create
1466// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1467// for more information on using Contexts.
1468func (c *DataSync) DescribeLocationObjectStorageWithContext(ctx aws.Context, input *DescribeLocationObjectStorageInput, opts ...request.Option) (*DescribeLocationObjectStorageOutput, error) {
1469	req, out := c.DescribeLocationObjectStorageRequest(input)
1470	req.SetContext(ctx)
1471	req.ApplyOptions(opts...)
1472	return out, req.Send()
1473}
1474
1475const opDescribeLocationS3 = "DescribeLocationS3"
1476
1477// DescribeLocationS3Request generates a "aws/request.Request" representing the
1478// client's request for the DescribeLocationS3 operation. The "output" return
1479// value will be populated with the request's response once the request completes
1480// successfully.
1481//
1482// Use "Send" method on the returned Request to send the API call to the service.
1483// the "output" return value is not valid until after Send returns without error.
1484//
1485// See DescribeLocationS3 for more information on using the DescribeLocationS3
1486// API call, and error handling.
1487//
1488// This method is useful when you want to inject custom logic or configuration
1489// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1490//
1491//
1492//    // Example sending a request using the DescribeLocationS3Request method.
1493//    req, resp := client.DescribeLocationS3Request(params)
1494//
1495//    err := req.Send()
1496//    if err == nil { // resp is now filled
1497//        fmt.Println(resp)
1498//    }
1499//
1500// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationS3
1501func (c *DataSync) DescribeLocationS3Request(input *DescribeLocationS3Input) (req *request.Request, output *DescribeLocationS3Output) {
1502	op := &request.Operation{
1503		Name:       opDescribeLocationS3,
1504		HTTPMethod: "POST",
1505		HTTPPath:   "/",
1506	}
1507
1508	if input == nil {
1509		input = &DescribeLocationS3Input{}
1510	}
1511
1512	output = &DescribeLocationS3Output{}
1513	req = c.newRequest(op, input, output)
1514	return
1515}
1516
1517// DescribeLocationS3 API operation for AWS DataSync.
1518//
1519// Returns metadata, such as bucket name, about an Amazon S3 bucket location.
1520//
1521// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1522// with awserr.Error's Code and Message methods to get detailed information about
1523// the error.
1524//
1525// See the AWS API reference guide for AWS DataSync's
1526// API operation DescribeLocationS3 for usage and error information.
1527//
1528// Returned Error Types:
1529//   * InvalidRequestException
1530//   This exception is thrown when the client submits a malformed request.
1531//
1532//   * InternalException
1533//   This exception is thrown when an error occurs in the AWS DataSync service.
1534//
1535// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationS3
1536func (c *DataSync) DescribeLocationS3(input *DescribeLocationS3Input) (*DescribeLocationS3Output, error) {
1537	req, out := c.DescribeLocationS3Request(input)
1538	return out, req.Send()
1539}
1540
1541// DescribeLocationS3WithContext is the same as DescribeLocationS3 with the addition of
1542// the ability to pass a context and additional request options.
1543//
1544// See DescribeLocationS3 for details on how to use this API operation.
1545//
1546// The context must be non-nil and will be used for request cancellation. If
1547// the context is nil a panic will occur. In the future the SDK may create
1548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1549// for more information on using Contexts.
1550func (c *DataSync) DescribeLocationS3WithContext(ctx aws.Context, input *DescribeLocationS3Input, opts ...request.Option) (*DescribeLocationS3Output, error) {
1551	req, out := c.DescribeLocationS3Request(input)
1552	req.SetContext(ctx)
1553	req.ApplyOptions(opts...)
1554	return out, req.Send()
1555}
1556
1557const opDescribeLocationSmb = "DescribeLocationSmb"
1558
1559// DescribeLocationSmbRequest generates a "aws/request.Request" representing the
1560// client's request for the DescribeLocationSmb operation. The "output" return
1561// value will be populated with the request's response once the request completes
1562// successfully.
1563//
1564// Use "Send" method on the returned Request to send the API call to the service.
1565// the "output" return value is not valid until after Send returns without error.
1566//
1567// See DescribeLocationSmb for more information on using the DescribeLocationSmb
1568// API call, and error handling.
1569//
1570// This method is useful when you want to inject custom logic or configuration
1571// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1572//
1573//
1574//    // Example sending a request using the DescribeLocationSmbRequest method.
1575//    req, resp := client.DescribeLocationSmbRequest(params)
1576//
1577//    err := req.Send()
1578//    if err == nil { // resp is now filled
1579//        fmt.Println(resp)
1580//    }
1581//
1582// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationSmb
1583func (c *DataSync) DescribeLocationSmbRequest(input *DescribeLocationSmbInput) (req *request.Request, output *DescribeLocationSmbOutput) {
1584	op := &request.Operation{
1585		Name:       opDescribeLocationSmb,
1586		HTTPMethod: "POST",
1587		HTTPPath:   "/",
1588	}
1589
1590	if input == nil {
1591		input = &DescribeLocationSmbInput{}
1592	}
1593
1594	output = &DescribeLocationSmbOutput{}
1595	req = c.newRequest(op, input, output)
1596	return
1597}
1598
1599// DescribeLocationSmb API operation for AWS DataSync.
1600//
1601// Returns metadata, such as the path and user information about an SMB location.
1602//
1603// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1604// with awserr.Error's Code and Message methods to get detailed information about
1605// the error.
1606//
1607// See the AWS API reference guide for AWS DataSync's
1608// API operation DescribeLocationSmb for usage and error information.
1609//
1610// Returned Error Types:
1611//   * InvalidRequestException
1612//   This exception is thrown when the client submits a malformed request.
1613//
1614//   * InternalException
1615//   This exception is thrown when an error occurs in the AWS DataSync service.
1616//
1617// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationSmb
1618func (c *DataSync) DescribeLocationSmb(input *DescribeLocationSmbInput) (*DescribeLocationSmbOutput, error) {
1619	req, out := c.DescribeLocationSmbRequest(input)
1620	return out, req.Send()
1621}
1622
1623// DescribeLocationSmbWithContext is the same as DescribeLocationSmb with the addition of
1624// the ability to pass a context and additional request options.
1625//
1626// See DescribeLocationSmb for details on how to use this API operation.
1627//
1628// The context must be non-nil and will be used for request cancellation. If
1629// the context is nil a panic will occur. In the future the SDK may create
1630// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1631// for more information on using Contexts.
1632func (c *DataSync) DescribeLocationSmbWithContext(ctx aws.Context, input *DescribeLocationSmbInput, opts ...request.Option) (*DescribeLocationSmbOutput, error) {
1633	req, out := c.DescribeLocationSmbRequest(input)
1634	req.SetContext(ctx)
1635	req.ApplyOptions(opts...)
1636	return out, req.Send()
1637}
1638
1639const opDescribeTask = "DescribeTask"
1640
1641// DescribeTaskRequest generates a "aws/request.Request" representing the
1642// client's request for the DescribeTask operation. The "output" return
1643// value will be populated with the request's response once the request completes
1644// successfully.
1645//
1646// Use "Send" method on the returned Request to send the API call to the service.
1647// the "output" return value is not valid until after Send returns without error.
1648//
1649// See DescribeTask for more information on using the DescribeTask
1650// API call, and error handling.
1651//
1652// This method is useful when you want to inject custom logic or configuration
1653// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1654//
1655//
1656//    // Example sending a request using the DescribeTaskRequest method.
1657//    req, resp := client.DescribeTaskRequest(params)
1658//
1659//    err := req.Send()
1660//    if err == nil { // resp is now filled
1661//        fmt.Println(resp)
1662//    }
1663//
1664// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTask
1665func (c *DataSync) DescribeTaskRequest(input *DescribeTaskInput) (req *request.Request, output *DescribeTaskOutput) {
1666	op := &request.Operation{
1667		Name:       opDescribeTask,
1668		HTTPMethod: "POST",
1669		HTTPPath:   "/",
1670	}
1671
1672	if input == nil {
1673		input = &DescribeTaskInput{}
1674	}
1675
1676	output = &DescribeTaskOutput{}
1677	req = c.newRequest(op, input, output)
1678	return
1679}
1680
1681// DescribeTask API operation for AWS DataSync.
1682//
1683// Returns metadata about a task.
1684//
1685// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1686// with awserr.Error's Code and Message methods to get detailed information about
1687// the error.
1688//
1689// See the AWS API reference guide for AWS DataSync's
1690// API operation DescribeTask for usage and error information.
1691//
1692// Returned Error Types:
1693//   * InvalidRequestException
1694//   This exception is thrown when the client submits a malformed request.
1695//
1696//   * InternalException
1697//   This exception is thrown when an error occurs in the AWS DataSync service.
1698//
1699// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTask
1700func (c *DataSync) DescribeTask(input *DescribeTaskInput) (*DescribeTaskOutput, error) {
1701	req, out := c.DescribeTaskRequest(input)
1702	return out, req.Send()
1703}
1704
1705// DescribeTaskWithContext is the same as DescribeTask with the addition of
1706// the ability to pass a context and additional request options.
1707//
1708// See DescribeTask for details on how to use this API operation.
1709//
1710// The context must be non-nil and will be used for request cancellation. If
1711// the context is nil a panic will occur. In the future the SDK may create
1712// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1713// for more information on using Contexts.
1714func (c *DataSync) DescribeTaskWithContext(ctx aws.Context, input *DescribeTaskInput, opts ...request.Option) (*DescribeTaskOutput, error) {
1715	req, out := c.DescribeTaskRequest(input)
1716	req.SetContext(ctx)
1717	req.ApplyOptions(opts...)
1718	return out, req.Send()
1719}
1720
1721const opDescribeTaskExecution = "DescribeTaskExecution"
1722
1723// DescribeTaskExecutionRequest generates a "aws/request.Request" representing the
1724// client's request for the DescribeTaskExecution operation. The "output" return
1725// value will be populated with the request's response once the request completes
1726// successfully.
1727//
1728// Use "Send" method on the returned Request to send the API call to the service.
1729// the "output" return value is not valid until after Send returns without error.
1730//
1731// See DescribeTaskExecution for more information on using the DescribeTaskExecution
1732// API call, and error handling.
1733//
1734// This method is useful when you want to inject custom logic or configuration
1735// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1736//
1737//
1738//    // Example sending a request using the DescribeTaskExecutionRequest method.
1739//    req, resp := client.DescribeTaskExecutionRequest(params)
1740//
1741//    err := req.Send()
1742//    if err == nil { // resp is now filled
1743//        fmt.Println(resp)
1744//    }
1745//
1746// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTaskExecution
1747func (c *DataSync) DescribeTaskExecutionRequest(input *DescribeTaskExecutionInput) (req *request.Request, output *DescribeTaskExecutionOutput) {
1748	op := &request.Operation{
1749		Name:       opDescribeTaskExecution,
1750		HTTPMethod: "POST",
1751		HTTPPath:   "/",
1752	}
1753
1754	if input == nil {
1755		input = &DescribeTaskExecutionInput{}
1756	}
1757
1758	output = &DescribeTaskExecutionOutput{}
1759	req = c.newRequest(op, input, output)
1760	return
1761}
1762
1763// DescribeTaskExecution API operation for AWS DataSync.
1764//
1765// Returns detailed metadata about a task that is being executed.
1766//
1767// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1768// with awserr.Error's Code and Message methods to get detailed information about
1769// the error.
1770//
1771// See the AWS API reference guide for AWS DataSync's
1772// API operation DescribeTaskExecution for usage and error information.
1773//
1774// Returned Error Types:
1775//   * InvalidRequestException
1776//   This exception is thrown when the client submits a malformed request.
1777//
1778//   * InternalException
1779//   This exception is thrown when an error occurs in the AWS DataSync service.
1780//
1781// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTaskExecution
1782func (c *DataSync) DescribeTaskExecution(input *DescribeTaskExecutionInput) (*DescribeTaskExecutionOutput, error) {
1783	req, out := c.DescribeTaskExecutionRequest(input)
1784	return out, req.Send()
1785}
1786
1787// DescribeTaskExecutionWithContext is the same as DescribeTaskExecution with the addition of
1788// the ability to pass a context and additional request options.
1789//
1790// See DescribeTaskExecution for details on how to use this API operation.
1791//
1792// The context must be non-nil and will be used for request cancellation. If
1793// the context is nil a panic will occur. In the future the SDK may create
1794// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1795// for more information on using Contexts.
1796func (c *DataSync) DescribeTaskExecutionWithContext(ctx aws.Context, input *DescribeTaskExecutionInput, opts ...request.Option) (*DescribeTaskExecutionOutput, error) {
1797	req, out := c.DescribeTaskExecutionRequest(input)
1798	req.SetContext(ctx)
1799	req.ApplyOptions(opts...)
1800	return out, req.Send()
1801}
1802
1803const opListAgents = "ListAgents"
1804
1805// ListAgentsRequest generates a "aws/request.Request" representing the
1806// client's request for the ListAgents operation. The "output" return
1807// value will be populated with the request's response once the request completes
1808// successfully.
1809//
1810// Use "Send" method on the returned Request to send the API call to the service.
1811// the "output" return value is not valid until after Send returns without error.
1812//
1813// See ListAgents for more information on using the ListAgents
1814// API call, and error handling.
1815//
1816// This method is useful when you want to inject custom logic or configuration
1817// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1818//
1819//
1820//    // Example sending a request using the ListAgentsRequest method.
1821//    req, resp := client.ListAgentsRequest(params)
1822//
1823//    err := req.Send()
1824//    if err == nil { // resp is now filled
1825//        fmt.Println(resp)
1826//    }
1827//
1828// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListAgents
1829func (c *DataSync) ListAgentsRequest(input *ListAgentsInput) (req *request.Request, output *ListAgentsOutput) {
1830	op := &request.Operation{
1831		Name:       opListAgents,
1832		HTTPMethod: "POST",
1833		HTTPPath:   "/",
1834		Paginator: &request.Paginator{
1835			InputTokens:     []string{"NextToken"},
1836			OutputTokens:    []string{"NextToken"},
1837			LimitToken:      "MaxResults",
1838			TruncationToken: "",
1839		},
1840	}
1841
1842	if input == nil {
1843		input = &ListAgentsInput{}
1844	}
1845
1846	output = &ListAgentsOutput{}
1847	req = c.newRequest(op, input, output)
1848	return
1849}
1850
1851// ListAgents API operation for AWS DataSync.
1852//
1853// Returns a list of agents owned by an AWS account in the AWS Region specified
1854// in the request. The returned list is ordered by agent Amazon Resource Name
1855// (ARN).
1856//
1857// By default, this operation returns a maximum of 100 agents. This operation
1858// supports pagination that enables you to optionally reduce the number of agents
1859// returned in a response.
1860//
1861// If you have more agents than are returned in a response (that is, the response
1862// returns only a truncated list of your agents), the response contains a marker
1863// that you can specify in your next request to fetch the next page of agents.
1864//
1865// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1866// with awserr.Error's Code and Message methods to get detailed information about
1867// the error.
1868//
1869// See the AWS API reference guide for AWS DataSync's
1870// API operation ListAgents for usage and error information.
1871//
1872// Returned Error Types:
1873//   * InvalidRequestException
1874//   This exception is thrown when the client submits a malformed request.
1875//
1876//   * InternalException
1877//   This exception is thrown when an error occurs in the AWS DataSync service.
1878//
1879// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListAgents
1880func (c *DataSync) ListAgents(input *ListAgentsInput) (*ListAgentsOutput, error) {
1881	req, out := c.ListAgentsRequest(input)
1882	return out, req.Send()
1883}
1884
1885// ListAgentsWithContext is the same as ListAgents with the addition of
1886// the ability to pass a context and additional request options.
1887//
1888// See ListAgents for details on how to use this API operation.
1889//
1890// The context must be non-nil and will be used for request cancellation. If
1891// the context is nil a panic will occur. In the future the SDK may create
1892// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1893// for more information on using Contexts.
1894func (c *DataSync) ListAgentsWithContext(ctx aws.Context, input *ListAgentsInput, opts ...request.Option) (*ListAgentsOutput, error) {
1895	req, out := c.ListAgentsRequest(input)
1896	req.SetContext(ctx)
1897	req.ApplyOptions(opts...)
1898	return out, req.Send()
1899}
1900
1901// ListAgentsPages iterates over the pages of a ListAgents operation,
1902// calling the "fn" function with the response data for each page. To stop
1903// iterating, return false from the fn function.
1904//
1905// See ListAgents method for more information on how to use this operation.
1906//
1907// Note: This operation can generate multiple requests to a service.
1908//
1909//    // Example iterating over at most 3 pages of a ListAgents operation.
1910//    pageNum := 0
1911//    err := client.ListAgentsPages(params,
1912//        func(page *datasync.ListAgentsOutput, lastPage bool) bool {
1913//            pageNum++
1914//            fmt.Println(page)
1915//            return pageNum <= 3
1916//        })
1917//
1918func (c *DataSync) ListAgentsPages(input *ListAgentsInput, fn func(*ListAgentsOutput, bool) bool) error {
1919	return c.ListAgentsPagesWithContext(aws.BackgroundContext(), input, fn)
1920}
1921
1922// ListAgentsPagesWithContext same as ListAgentsPages except
1923// it takes a Context and allows setting request options on the pages.
1924//
1925// The context must be non-nil and will be used for request cancellation. If
1926// the context is nil a panic will occur. In the future the SDK may create
1927// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1928// for more information on using Contexts.
1929func (c *DataSync) ListAgentsPagesWithContext(ctx aws.Context, input *ListAgentsInput, fn func(*ListAgentsOutput, bool) bool, opts ...request.Option) error {
1930	p := request.Pagination{
1931		NewRequest: func() (*request.Request, error) {
1932			var inCpy *ListAgentsInput
1933			if input != nil {
1934				tmp := *input
1935				inCpy = &tmp
1936			}
1937			req, _ := c.ListAgentsRequest(inCpy)
1938			req.SetContext(ctx)
1939			req.ApplyOptions(opts...)
1940			return req, nil
1941		},
1942	}
1943
1944	for p.Next() {
1945		if !fn(p.Page().(*ListAgentsOutput), !p.HasNextPage()) {
1946			break
1947		}
1948	}
1949
1950	return p.Err()
1951}
1952
1953const opListLocations = "ListLocations"
1954
1955// ListLocationsRequest generates a "aws/request.Request" representing the
1956// client's request for the ListLocations operation. The "output" return
1957// value will be populated with the request's response once the request completes
1958// successfully.
1959//
1960// Use "Send" method on the returned Request to send the API call to the service.
1961// the "output" return value is not valid until after Send returns without error.
1962//
1963// See ListLocations for more information on using the ListLocations
1964// API call, and error handling.
1965//
1966// This method is useful when you want to inject custom logic or configuration
1967// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1968//
1969//
1970//    // Example sending a request using the ListLocationsRequest method.
1971//    req, resp := client.ListLocationsRequest(params)
1972//
1973//    err := req.Send()
1974//    if err == nil { // resp is now filled
1975//        fmt.Println(resp)
1976//    }
1977//
1978// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListLocations
1979func (c *DataSync) ListLocationsRequest(input *ListLocationsInput) (req *request.Request, output *ListLocationsOutput) {
1980	op := &request.Operation{
1981		Name:       opListLocations,
1982		HTTPMethod: "POST",
1983		HTTPPath:   "/",
1984		Paginator: &request.Paginator{
1985			InputTokens:     []string{"NextToken"},
1986			OutputTokens:    []string{"NextToken"},
1987			LimitToken:      "MaxResults",
1988			TruncationToken: "",
1989		},
1990	}
1991
1992	if input == nil {
1993		input = &ListLocationsInput{}
1994	}
1995
1996	output = &ListLocationsOutput{}
1997	req = c.newRequest(op, input, output)
1998	return
1999}
2000
2001// ListLocations API operation for AWS DataSync.
2002//
2003// Returns a list of source and destination locations.
2004//
2005// If you have more locations than are returned in a response (that is, the
2006// response returns only a truncated list of your agents), the response contains
2007// a token that you can specify in your next request to fetch the next page
2008// of locations.
2009//
2010// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2011// with awserr.Error's Code and Message methods to get detailed information about
2012// the error.
2013//
2014// See the AWS API reference guide for AWS DataSync's
2015// API operation ListLocations for usage and error information.
2016//
2017// Returned Error Types:
2018//   * InvalidRequestException
2019//   This exception is thrown when the client submits a malformed request.
2020//
2021//   * InternalException
2022//   This exception is thrown when an error occurs in the AWS DataSync service.
2023//
2024// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListLocations
2025func (c *DataSync) ListLocations(input *ListLocationsInput) (*ListLocationsOutput, error) {
2026	req, out := c.ListLocationsRequest(input)
2027	return out, req.Send()
2028}
2029
2030// ListLocationsWithContext is the same as ListLocations with the addition of
2031// the ability to pass a context and additional request options.
2032//
2033// See ListLocations for details on how to use this API operation.
2034//
2035// The context must be non-nil and will be used for request cancellation. If
2036// the context is nil a panic will occur. In the future the SDK may create
2037// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2038// for more information on using Contexts.
2039func (c *DataSync) ListLocationsWithContext(ctx aws.Context, input *ListLocationsInput, opts ...request.Option) (*ListLocationsOutput, error) {
2040	req, out := c.ListLocationsRequest(input)
2041	req.SetContext(ctx)
2042	req.ApplyOptions(opts...)
2043	return out, req.Send()
2044}
2045
2046// ListLocationsPages iterates over the pages of a ListLocations operation,
2047// calling the "fn" function with the response data for each page. To stop
2048// iterating, return false from the fn function.
2049//
2050// See ListLocations method for more information on how to use this operation.
2051//
2052// Note: This operation can generate multiple requests to a service.
2053//
2054//    // Example iterating over at most 3 pages of a ListLocations operation.
2055//    pageNum := 0
2056//    err := client.ListLocationsPages(params,
2057//        func(page *datasync.ListLocationsOutput, lastPage bool) bool {
2058//            pageNum++
2059//            fmt.Println(page)
2060//            return pageNum <= 3
2061//        })
2062//
2063func (c *DataSync) ListLocationsPages(input *ListLocationsInput, fn func(*ListLocationsOutput, bool) bool) error {
2064	return c.ListLocationsPagesWithContext(aws.BackgroundContext(), input, fn)
2065}
2066
2067// ListLocationsPagesWithContext same as ListLocationsPages except
2068// it takes a Context and allows setting request options on the pages.
2069//
2070// The context must be non-nil and will be used for request cancellation. If
2071// the context is nil a panic will occur. In the future the SDK may create
2072// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2073// for more information on using Contexts.
2074func (c *DataSync) ListLocationsPagesWithContext(ctx aws.Context, input *ListLocationsInput, fn func(*ListLocationsOutput, bool) bool, opts ...request.Option) error {
2075	p := request.Pagination{
2076		NewRequest: func() (*request.Request, error) {
2077			var inCpy *ListLocationsInput
2078			if input != nil {
2079				tmp := *input
2080				inCpy = &tmp
2081			}
2082			req, _ := c.ListLocationsRequest(inCpy)
2083			req.SetContext(ctx)
2084			req.ApplyOptions(opts...)
2085			return req, nil
2086		},
2087	}
2088
2089	for p.Next() {
2090		if !fn(p.Page().(*ListLocationsOutput), !p.HasNextPage()) {
2091			break
2092		}
2093	}
2094
2095	return p.Err()
2096}
2097
2098const opListTagsForResource = "ListTagsForResource"
2099
2100// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2101// client's request for the ListTagsForResource operation. The "output" return
2102// value will be populated with the request's response once the request completes
2103// successfully.
2104//
2105// Use "Send" method on the returned Request to send the API call to the service.
2106// the "output" return value is not valid until after Send returns without error.
2107//
2108// See ListTagsForResource for more information on using the ListTagsForResource
2109// API call, and error handling.
2110//
2111// This method is useful when you want to inject custom logic or configuration
2112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2113//
2114//
2115//    // Example sending a request using the ListTagsForResourceRequest method.
2116//    req, resp := client.ListTagsForResourceRequest(params)
2117//
2118//    err := req.Send()
2119//    if err == nil { // resp is now filled
2120//        fmt.Println(resp)
2121//    }
2122//
2123// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTagsForResource
2124func (c *DataSync) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2125	op := &request.Operation{
2126		Name:       opListTagsForResource,
2127		HTTPMethod: "POST",
2128		HTTPPath:   "/",
2129		Paginator: &request.Paginator{
2130			InputTokens:     []string{"NextToken"},
2131			OutputTokens:    []string{"NextToken"},
2132			LimitToken:      "MaxResults",
2133			TruncationToken: "",
2134		},
2135	}
2136
2137	if input == nil {
2138		input = &ListTagsForResourceInput{}
2139	}
2140
2141	output = &ListTagsForResourceOutput{}
2142	req = c.newRequest(op, input, output)
2143	return
2144}
2145
2146// ListTagsForResource API operation for AWS DataSync.
2147//
2148// Returns all the tags associated with a specified resource.
2149//
2150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2151// with awserr.Error's Code and Message methods to get detailed information about
2152// the error.
2153//
2154// See the AWS API reference guide for AWS DataSync's
2155// API operation ListTagsForResource for usage and error information.
2156//
2157// Returned Error Types:
2158//   * InvalidRequestException
2159//   This exception is thrown when the client submits a malformed request.
2160//
2161//   * InternalException
2162//   This exception is thrown when an error occurs in the AWS DataSync service.
2163//
2164// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTagsForResource
2165func (c *DataSync) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2166	req, out := c.ListTagsForResourceRequest(input)
2167	return out, req.Send()
2168}
2169
2170// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2171// the ability to pass a context and additional request options.
2172//
2173// See ListTagsForResource for details on how to use this API operation.
2174//
2175// The context must be non-nil and will be used for request cancellation. If
2176// the context is nil a panic will occur. In the future the SDK may create
2177// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2178// for more information on using Contexts.
2179func (c *DataSync) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2180	req, out := c.ListTagsForResourceRequest(input)
2181	req.SetContext(ctx)
2182	req.ApplyOptions(opts...)
2183	return out, req.Send()
2184}
2185
2186// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
2187// calling the "fn" function with the response data for each page. To stop
2188// iterating, return false from the fn function.
2189//
2190// See ListTagsForResource method for more information on how to use this operation.
2191//
2192// Note: This operation can generate multiple requests to a service.
2193//
2194//    // Example iterating over at most 3 pages of a ListTagsForResource operation.
2195//    pageNum := 0
2196//    err := client.ListTagsForResourcePages(params,
2197//        func(page *datasync.ListTagsForResourceOutput, lastPage bool) bool {
2198//            pageNum++
2199//            fmt.Println(page)
2200//            return pageNum <= 3
2201//        })
2202//
2203func (c *DataSync) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
2204	return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
2205}
2206
2207// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except
2208// it takes a Context and allows setting request options on the pages.
2209//
2210// The context must be non-nil and will be used for request cancellation. If
2211// the context is nil a panic will occur. In the future the SDK may create
2212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2213// for more information on using Contexts.
2214func (c *DataSync) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
2215	p := request.Pagination{
2216		NewRequest: func() (*request.Request, error) {
2217			var inCpy *ListTagsForResourceInput
2218			if input != nil {
2219				tmp := *input
2220				inCpy = &tmp
2221			}
2222			req, _ := c.ListTagsForResourceRequest(inCpy)
2223			req.SetContext(ctx)
2224			req.ApplyOptions(opts...)
2225			return req, nil
2226		},
2227	}
2228
2229	for p.Next() {
2230		if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
2231			break
2232		}
2233	}
2234
2235	return p.Err()
2236}
2237
2238const opListTaskExecutions = "ListTaskExecutions"
2239
2240// ListTaskExecutionsRequest generates a "aws/request.Request" representing the
2241// client's request for the ListTaskExecutions operation. The "output" return
2242// value will be populated with the request's response once the request completes
2243// successfully.
2244//
2245// Use "Send" method on the returned Request to send the API call to the service.
2246// the "output" return value is not valid until after Send returns without error.
2247//
2248// See ListTaskExecutions for more information on using the ListTaskExecutions
2249// API call, and error handling.
2250//
2251// This method is useful when you want to inject custom logic or configuration
2252// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2253//
2254//
2255//    // Example sending a request using the ListTaskExecutionsRequest method.
2256//    req, resp := client.ListTaskExecutionsRequest(params)
2257//
2258//    err := req.Send()
2259//    if err == nil { // resp is now filled
2260//        fmt.Println(resp)
2261//    }
2262//
2263// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTaskExecutions
2264func (c *DataSync) ListTaskExecutionsRequest(input *ListTaskExecutionsInput) (req *request.Request, output *ListTaskExecutionsOutput) {
2265	op := &request.Operation{
2266		Name:       opListTaskExecutions,
2267		HTTPMethod: "POST",
2268		HTTPPath:   "/",
2269		Paginator: &request.Paginator{
2270			InputTokens:     []string{"NextToken"},
2271			OutputTokens:    []string{"NextToken"},
2272			LimitToken:      "MaxResults",
2273			TruncationToken: "",
2274		},
2275	}
2276
2277	if input == nil {
2278		input = &ListTaskExecutionsInput{}
2279	}
2280
2281	output = &ListTaskExecutionsOutput{}
2282	req = c.newRequest(op, input, output)
2283	return
2284}
2285
2286// ListTaskExecutions API operation for AWS DataSync.
2287//
2288// Returns a list of executed tasks.
2289//
2290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2291// with awserr.Error's Code and Message methods to get detailed information about
2292// the error.
2293//
2294// See the AWS API reference guide for AWS DataSync's
2295// API operation ListTaskExecutions for usage and error information.
2296//
2297// Returned Error Types:
2298//   * InvalidRequestException
2299//   This exception is thrown when the client submits a malformed request.
2300//
2301//   * InternalException
2302//   This exception is thrown when an error occurs in the AWS DataSync service.
2303//
2304// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTaskExecutions
2305func (c *DataSync) ListTaskExecutions(input *ListTaskExecutionsInput) (*ListTaskExecutionsOutput, error) {
2306	req, out := c.ListTaskExecutionsRequest(input)
2307	return out, req.Send()
2308}
2309
2310// ListTaskExecutionsWithContext is the same as ListTaskExecutions with the addition of
2311// the ability to pass a context and additional request options.
2312//
2313// See ListTaskExecutions for details on how to use this API operation.
2314//
2315// The context must be non-nil and will be used for request cancellation. If
2316// the context is nil a panic will occur. In the future the SDK may create
2317// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2318// for more information on using Contexts.
2319func (c *DataSync) ListTaskExecutionsWithContext(ctx aws.Context, input *ListTaskExecutionsInput, opts ...request.Option) (*ListTaskExecutionsOutput, error) {
2320	req, out := c.ListTaskExecutionsRequest(input)
2321	req.SetContext(ctx)
2322	req.ApplyOptions(opts...)
2323	return out, req.Send()
2324}
2325
2326// ListTaskExecutionsPages iterates over the pages of a ListTaskExecutions operation,
2327// calling the "fn" function with the response data for each page. To stop
2328// iterating, return false from the fn function.
2329//
2330// See ListTaskExecutions method for more information on how to use this operation.
2331//
2332// Note: This operation can generate multiple requests to a service.
2333//
2334//    // Example iterating over at most 3 pages of a ListTaskExecutions operation.
2335//    pageNum := 0
2336//    err := client.ListTaskExecutionsPages(params,
2337//        func(page *datasync.ListTaskExecutionsOutput, lastPage bool) bool {
2338//            pageNum++
2339//            fmt.Println(page)
2340//            return pageNum <= 3
2341//        })
2342//
2343func (c *DataSync) ListTaskExecutionsPages(input *ListTaskExecutionsInput, fn func(*ListTaskExecutionsOutput, bool) bool) error {
2344	return c.ListTaskExecutionsPagesWithContext(aws.BackgroundContext(), input, fn)
2345}
2346
2347// ListTaskExecutionsPagesWithContext same as ListTaskExecutionsPages except
2348// it takes a Context and allows setting request options on the pages.
2349//
2350// The context must be non-nil and will be used for request cancellation. If
2351// the context is nil a panic will occur. In the future the SDK may create
2352// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2353// for more information on using Contexts.
2354func (c *DataSync) ListTaskExecutionsPagesWithContext(ctx aws.Context, input *ListTaskExecutionsInput, fn func(*ListTaskExecutionsOutput, bool) bool, opts ...request.Option) error {
2355	p := request.Pagination{
2356		NewRequest: func() (*request.Request, error) {
2357			var inCpy *ListTaskExecutionsInput
2358			if input != nil {
2359				tmp := *input
2360				inCpy = &tmp
2361			}
2362			req, _ := c.ListTaskExecutionsRequest(inCpy)
2363			req.SetContext(ctx)
2364			req.ApplyOptions(opts...)
2365			return req, nil
2366		},
2367	}
2368
2369	for p.Next() {
2370		if !fn(p.Page().(*ListTaskExecutionsOutput), !p.HasNextPage()) {
2371			break
2372		}
2373	}
2374
2375	return p.Err()
2376}
2377
2378const opListTasks = "ListTasks"
2379
2380// ListTasksRequest generates a "aws/request.Request" representing the
2381// client's request for the ListTasks operation. The "output" return
2382// value will be populated with the request's response once the request completes
2383// successfully.
2384//
2385// Use "Send" method on the returned Request to send the API call to the service.
2386// the "output" return value is not valid until after Send returns without error.
2387//
2388// See ListTasks for more information on using the ListTasks
2389// API call, and error handling.
2390//
2391// This method is useful when you want to inject custom logic or configuration
2392// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2393//
2394//
2395//    // Example sending a request using the ListTasksRequest method.
2396//    req, resp := client.ListTasksRequest(params)
2397//
2398//    err := req.Send()
2399//    if err == nil { // resp is now filled
2400//        fmt.Println(resp)
2401//    }
2402//
2403// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTasks
2404func (c *DataSync) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) {
2405	op := &request.Operation{
2406		Name:       opListTasks,
2407		HTTPMethod: "POST",
2408		HTTPPath:   "/",
2409		Paginator: &request.Paginator{
2410			InputTokens:     []string{"NextToken"},
2411			OutputTokens:    []string{"NextToken"},
2412			LimitToken:      "MaxResults",
2413			TruncationToken: "",
2414		},
2415	}
2416
2417	if input == nil {
2418		input = &ListTasksInput{}
2419	}
2420
2421	output = &ListTasksOutput{}
2422	req = c.newRequest(op, input, output)
2423	return
2424}
2425
2426// ListTasks API operation for AWS DataSync.
2427//
2428// Returns a list of all the tasks.
2429//
2430// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2431// with awserr.Error's Code and Message methods to get detailed information about
2432// the error.
2433//
2434// See the AWS API reference guide for AWS DataSync's
2435// API operation ListTasks for usage and error information.
2436//
2437// Returned Error Types:
2438//   * InvalidRequestException
2439//   This exception is thrown when the client submits a malformed request.
2440//
2441//   * InternalException
2442//   This exception is thrown when an error occurs in the AWS DataSync service.
2443//
2444// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTasks
2445func (c *DataSync) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) {
2446	req, out := c.ListTasksRequest(input)
2447	return out, req.Send()
2448}
2449
2450// ListTasksWithContext is the same as ListTasks with the addition of
2451// the ability to pass a context and additional request options.
2452//
2453// See ListTasks for details on how to use this API operation.
2454//
2455// The context must be non-nil and will be used for request cancellation. If
2456// the context is nil a panic will occur. In the future the SDK may create
2457// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2458// for more information on using Contexts.
2459func (c *DataSync) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) {
2460	req, out := c.ListTasksRequest(input)
2461	req.SetContext(ctx)
2462	req.ApplyOptions(opts...)
2463	return out, req.Send()
2464}
2465
2466// ListTasksPages iterates over the pages of a ListTasks operation,
2467// calling the "fn" function with the response data for each page. To stop
2468// iterating, return false from the fn function.
2469//
2470// See ListTasks method for more information on how to use this operation.
2471//
2472// Note: This operation can generate multiple requests to a service.
2473//
2474//    // Example iterating over at most 3 pages of a ListTasks operation.
2475//    pageNum := 0
2476//    err := client.ListTasksPages(params,
2477//        func(page *datasync.ListTasksOutput, lastPage bool) bool {
2478//            pageNum++
2479//            fmt.Println(page)
2480//            return pageNum <= 3
2481//        })
2482//
2483func (c *DataSync) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error {
2484	return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn)
2485}
2486
2487// ListTasksPagesWithContext same as ListTasksPages except
2488// it takes a Context and allows setting request options on the pages.
2489//
2490// The context must be non-nil and will be used for request cancellation. If
2491// the context is nil a panic will occur. In the future the SDK may create
2492// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2493// for more information on using Contexts.
2494func (c *DataSync) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error {
2495	p := request.Pagination{
2496		NewRequest: func() (*request.Request, error) {
2497			var inCpy *ListTasksInput
2498			if input != nil {
2499				tmp := *input
2500				inCpy = &tmp
2501			}
2502			req, _ := c.ListTasksRequest(inCpy)
2503			req.SetContext(ctx)
2504			req.ApplyOptions(opts...)
2505			return req, nil
2506		},
2507	}
2508
2509	for p.Next() {
2510		if !fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) {
2511			break
2512		}
2513	}
2514
2515	return p.Err()
2516}
2517
2518const opStartTaskExecution = "StartTaskExecution"
2519
2520// StartTaskExecutionRequest generates a "aws/request.Request" representing the
2521// client's request for the StartTaskExecution operation. The "output" return
2522// value will be populated with the request's response once the request completes
2523// successfully.
2524//
2525// Use "Send" method on the returned Request to send the API call to the service.
2526// the "output" return value is not valid until after Send returns without error.
2527//
2528// See StartTaskExecution for more information on using the StartTaskExecution
2529// API call, and error handling.
2530//
2531// This method is useful when you want to inject custom logic or configuration
2532// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2533//
2534//
2535//    // Example sending a request using the StartTaskExecutionRequest method.
2536//    req, resp := client.StartTaskExecutionRequest(params)
2537//
2538//    err := req.Send()
2539//    if err == nil { // resp is now filled
2540//        fmt.Println(resp)
2541//    }
2542//
2543// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StartTaskExecution
2544func (c *DataSync) StartTaskExecutionRequest(input *StartTaskExecutionInput) (req *request.Request, output *StartTaskExecutionOutput) {
2545	op := &request.Operation{
2546		Name:       opStartTaskExecution,
2547		HTTPMethod: "POST",
2548		HTTPPath:   "/",
2549	}
2550
2551	if input == nil {
2552		input = &StartTaskExecutionInput{}
2553	}
2554
2555	output = &StartTaskExecutionOutput{}
2556	req = c.newRequest(op, input, output)
2557	return
2558}
2559
2560// StartTaskExecution API operation for AWS DataSync.
2561//
2562// Starts a specific invocation of a task. A TaskExecution value represents
2563// an individual run of a task. Each task can have at most one TaskExecution
2564// at a time.
2565//
2566// TaskExecution has the following transition phases: INITIALIZING | PREPARING
2567// | TRANSFERRING | VERIFYING | SUCCESS/FAILURE.
2568//
2569// For detailed information, see the Task Execution section in the Components
2570// and Terminology topic in the AWS DataSync User Guide.
2571//
2572// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2573// with awserr.Error's Code and Message methods to get detailed information about
2574// the error.
2575//
2576// See the AWS API reference guide for AWS DataSync's
2577// API operation StartTaskExecution for usage and error information.
2578//
2579// Returned Error Types:
2580//   * InvalidRequestException
2581//   This exception is thrown when the client submits a malformed request.
2582//
2583//   * InternalException
2584//   This exception is thrown when an error occurs in the AWS DataSync service.
2585//
2586// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StartTaskExecution
2587func (c *DataSync) StartTaskExecution(input *StartTaskExecutionInput) (*StartTaskExecutionOutput, error) {
2588	req, out := c.StartTaskExecutionRequest(input)
2589	return out, req.Send()
2590}
2591
2592// StartTaskExecutionWithContext is the same as StartTaskExecution with the addition of
2593// the ability to pass a context and additional request options.
2594//
2595// See StartTaskExecution for details on how to use this API operation.
2596//
2597// The context must be non-nil and will be used for request cancellation. If
2598// the context is nil a panic will occur. In the future the SDK may create
2599// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2600// for more information on using Contexts.
2601func (c *DataSync) StartTaskExecutionWithContext(ctx aws.Context, input *StartTaskExecutionInput, opts ...request.Option) (*StartTaskExecutionOutput, error) {
2602	req, out := c.StartTaskExecutionRequest(input)
2603	req.SetContext(ctx)
2604	req.ApplyOptions(opts...)
2605	return out, req.Send()
2606}
2607
2608const opTagResource = "TagResource"
2609
2610// TagResourceRequest generates a "aws/request.Request" representing the
2611// client's request for the TagResource operation. The "output" return
2612// value will be populated with the request's response once the request completes
2613// successfully.
2614//
2615// Use "Send" method on the returned Request to send the API call to the service.
2616// the "output" return value is not valid until after Send returns without error.
2617//
2618// See TagResource for more information on using the TagResource
2619// API call, and error handling.
2620//
2621// This method is useful when you want to inject custom logic or configuration
2622// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2623//
2624//
2625//    // Example sending a request using the TagResourceRequest method.
2626//    req, resp := client.TagResourceRequest(params)
2627//
2628//    err := req.Send()
2629//    if err == nil { // resp is now filled
2630//        fmt.Println(resp)
2631//    }
2632//
2633// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TagResource
2634func (c *DataSync) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2635	op := &request.Operation{
2636		Name:       opTagResource,
2637		HTTPMethod: "POST",
2638		HTTPPath:   "/",
2639	}
2640
2641	if input == nil {
2642		input = &TagResourceInput{}
2643	}
2644
2645	output = &TagResourceOutput{}
2646	req = c.newRequest(op, input, output)
2647	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2648	return
2649}
2650
2651// TagResource API operation for AWS DataSync.
2652//
2653// Applies a key-value pair to an AWS resource.
2654//
2655// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2656// with awserr.Error's Code and Message methods to get detailed information about
2657// the error.
2658//
2659// See the AWS API reference guide for AWS DataSync's
2660// API operation TagResource for usage and error information.
2661//
2662// Returned Error Types:
2663//   * InvalidRequestException
2664//   This exception is thrown when the client submits a malformed request.
2665//
2666//   * InternalException
2667//   This exception is thrown when an error occurs in the AWS DataSync service.
2668//
2669// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TagResource
2670func (c *DataSync) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2671	req, out := c.TagResourceRequest(input)
2672	return out, req.Send()
2673}
2674
2675// TagResourceWithContext is the same as TagResource with the addition of
2676// the ability to pass a context and additional request options.
2677//
2678// See TagResource for details on how to use this API operation.
2679//
2680// The context must be non-nil and will be used for request cancellation. If
2681// the context is nil a panic will occur. In the future the SDK may create
2682// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2683// for more information on using Contexts.
2684func (c *DataSync) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2685	req, out := c.TagResourceRequest(input)
2686	req.SetContext(ctx)
2687	req.ApplyOptions(opts...)
2688	return out, req.Send()
2689}
2690
2691const opUntagResource = "UntagResource"
2692
2693// UntagResourceRequest generates a "aws/request.Request" representing the
2694// client's request for the UntagResource operation. The "output" return
2695// value will be populated with the request's response once the request completes
2696// successfully.
2697//
2698// Use "Send" method on the returned Request to send the API call to the service.
2699// the "output" return value is not valid until after Send returns without error.
2700//
2701// See UntagResource for more information on using the UntagResource
2702// API call, and error handling.
2703//
2704// This method is useful when you want to inject custom logic or configuration
2705// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2706//
2707//
2708//    // Example sending a request using the UntagResourceRequest method.
2709//    req, resp := client.UntagResourceRequest(params)
2710//
2711//    err := req.Send()
2712//    if err == nil { // resp is now filled
2713//        fmt.Println(resp)
2714//    }
2715//
2716// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UntagResource
2717func (c *DataSync) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2718	op := &request.Operation{
2719		Name:       opUntagResource,
2720		HTTPMethod: "POST",
2721		HTTPPath:   "/",
2722	}
2723
2724	if input == nil {
2725		input = &UntagResourceInput{}
2726	}
2727
2728	output = &UntagResourceOutput{}
2729	req = c.newRequest(op, input, output)
2730	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2731	return
2732}
2733
2734// UntagResource API operation for AWS DataSync.
2735//
2736// Removes a tag from an AWS resource.
2737//
2738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2739// with awserr.Error's Code and Message methods to get detailed information about
2740// the error.
2741//
2742// See the AWS API reference guide for AWS DataSync's
2743// API operation UntagResource for usage and error information.
2744//
2745// Returned Error Types:
2746//   * InvalidRequestException
2747//   This exception is thrown when the client submits a malformed request.
2748//
2749//   * InternalException
2750//   This exception is thrown when an error occurs in the AWS DataSync service.
2751//
2752// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UntagResource
2753func (c *DataSync) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2754	req, out := c.UntagResourceRequest(input)
2755	return out, req.Send()
2756}
2757
2758// UntagResourceWithContext is the same as UntagResource with the addition of
2759// the ability to pass a context and additional request options.
2760//
2761// See UntagResource for details on how to use this API operation.
2762//
2763// The context must be non-nil and will be used for request cancellation. If
2764// the context is nil a panic will occur. In the future the SDK may create
2765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2766// for more information on using Contexts.
2767func (c *DataSync) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2768	req, out := c.UntagResourceRequest(input)
2769	req.SetContext(ctx)
2770	req.ApplyOptions(opts...)
2771	return out, req.Send()
2772}
2773
2774const opUpdateAgent = "UpdateAgent"
2775
2776// UpdateAgentRequest generates a "aws/request.Request" representing the
2777// client's request for the UpdateAgent operation. The "output" return
2778// value will be populated with the request's response once the request completes
2779// successfully.
2780//
2781// Use "Send" method on the returned Request to send the API call to the service.
2782// the "output" return value is not valid until after Send returns without error.
2783//
2784// See UpdateAgent for more information on using the UpdateAgent
2785// API call, and error handling.
2786//
2787// This method is useful when you want to inject custom logic or configuration
2788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2789//
2790//
2791//    // Example sending a request using the UpdateAgentRequest method.
2792//    req, resp := client.UpdateAgentRequest(params)
2793//
2794//    err := req.Send()
2795//    if err == nil { // resp is now filled
2796//        fmt.Println(resp)
2797//    }
2798//
2799// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateAgent
2800func (c *DataSync) UpdateAgentRequest(input *UpdateAgentInput) (req *request.Request, output *UpdateAgentOutput) {
2801	op := &request.Operation{
2802		Name:       opUpdateAgent,
2803		HTTPMethod: "POST",
2804		HTTPPath:   "/",
2805	}
2806
2807	if input == nil {
2808		input = &UpdateAgentInput{}
2809	}
2810
2811	output = &UpdateAgentOutput{}
2812	req = c.newRequest(op, input, output)
2813	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2814	return
2815}
2816
2817// UpdateAgent API operation for AWS DataSync.
2818//
2819// Updates the name of an agent.
2820//
2821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2822// with awserr.Error's Code and Message methods to get detailed information about
2823// the error.
2824//
2825// See the AWS API reference guide for AWS DataSync's
2826// API operation UpdateAgent for usage and error information.
2827//
2828// Returned Error Types:
2829//   * InvalidRequestException
2830//   This exception is thrown when the client submits a malformed request.
2831//
2832//   * InternalException
2833//   This exception is thrown when an error occurs in the AWS DataSync service.
2834//
2835// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateAgent
2836func (c *DataSync) UpdateAgent(input *UpdateAgentInput) (*UpdateAgentOutput, error) {
2837	req, out := c.UpdateAgentRequest(input)
2838	return out, req.Send()
2839}
2840
2841// UpdateAgentWithContext is the same as UpdateAgent with the addition of
2842// the ability to pass a context and additional request options.
2843//
2844// See UpdateAgent for details on how to use this API operation.
2845//
2846// The context must be non-nil and will be used for request cancellation. If
2847// the context is nil a panic will occur. In the future the SDK may create
2848// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2849// for more information on using Contexts.
2850func (c *DataSync) UpdateAgentWithContext(ctx aws.Context, input *UpdateAgentInput, opts ...request.Option) (*UpdateAgentOutput, error) {
2851	req, out := c.UpdateAgentRequest(input)
2852	req.SetContext(ctx)
2853	req.ApplyOptions(opts...)
2854	return out, req.Send()
2855}
2856
2857const opUpdateLocationNfs = "UpdateLocationNfs"
2858
2859// UpdateLocationNfsRequest generates a "aws/request.Request" representing the
2860// client's request for the UpdateLocationNfs operation. The "output" return
2861// value will be populated with the request's response once the request completes
2862// successfully.
2863//
2864// Use "Send" method on the returned Request to send the API call to the service.
2865// the "output" return value is not valid until after Send returns without error.
2866//
2867// See UpdateLocationNfs for more information on using the UpdateLocationNfs
2868// API call, and error handling.
2869//
2870// This method is useful when you want to inject custom logic or configuration
2871// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2872//
2873//
2874//    // Example sending a request using the UpdateLocationNfsRequest method.
2875//    req, resp := client.UpdateLocationNfsRequest(params)
2876//
2877//    err := req.Send()
2878//    if err == nil { // resp is now filled
2879//        fmt.Println(resp)
2880//    }
2881//
2882// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationNfs
2883func (c *DataSync) UpdateLocationNfsRequest(input *UpdateLocationNfsInput) (req *request.Request, output *UpdateLocationNfsOutput) {
2884	op := &request.Operation{
2885		Name:       opUpdateLocationNfs,
2886		HTTPMethod: "POST",
2887		HTTPPath:   "/",
2888	}
2889
2890	if input == nil {
2891		input = &UpdateLocationNfsInput{}
2892	}
2893
2894	output = &UpdateLocationNfsOutput{}
2895	req = c.newRequest(op, input, output)
2896	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2897	return
2898}
2899
2900// UpdateLocationNfs API operation for AWS DataSync.
2901//
2902// Updates some of the parameters of a previously created location for Network
2903// File System (NFS) access. For information about creating an NFS location,
2904// see Creating a location for NFS (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html).
2905//
2906// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2907// with awserr.Error's Code and Message methods to get detailed information about
2908// the error.
2909//
2910// See the AWS API reference guide for AWS DataSync's
2911// API operation UpdateLocationNfs for usage and error information.
2912//
2913// Returned Error Types:
2914//   * InvalidRequestException
2915//   This exception is thrown when the client submits a malformed request.
2916//
2917//   * InternalException
2918//   This exception is thrown when an error occurs in the AWS DataSync service.
2919//
2920// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationNfs
2921func (c *DataSync) UpdateLocationNfs(input *UpdateLocationNfsInput) (*UpdateLocationNfsOutput, error) {
2922	req, out := c.UpdateLocationNfsRequest(input)
2923	return out, req.Send()
2924}
2925
2926// UpdateLocationNfsWithContext is the same as UpdateLocationNfs with the addition of
2927// the ability to pass a context and additional request options.
2928//
2929// See UpdateLocationNfs for details on how to use this API operation.
2930//
2931// The context must be non-nil and will be used for request cancellation. If
2932// the context is nil a panic will occur. In the future the SDK may create
2933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2934// for more information on using Contexts.
2935func (c *DataSync) UpdateLocationNfsWithContext(ctx aws.Context, input *UpdateLocationNfsInput, opts ...request.Option) (*UpdateLocationNfsOutput, error) {
2936	req, out := c.UpdateLocationNfsRequest(input)
2937	req.SetContext(ctx)
2938	req.ApplyOptions(opts...)
2939	return out, req.Send()
2940}
2941
2942const opUpdateLocationObjectStorage = "UpdateLocationObjectStorage"
2943
2944// UpdateLocationObjectStorageRequest generates a "aws/request.Request" representing the
2945// client's request for the UpdateLocationObjectStorage operation. The "output" return
2946// value will be populated with the request's response once the request completes
2947// successfully.
2948//
2949// Use "Send" method on the returned Request to send the API call to the service.
2950// the "output" return value is not valid until after Send returns without error.
2951//
2952// See UpdateLocationObjectStorage for more information on using the UpdateLocationObjectStorage
2953// API call, and error handling.
2954//
2955// This method is useful when you want to inject custom logic or configuration
2956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2957//
2958//
2959//    // Example sending a request using the UpdateLocationObjectStorageRequest method.
2960//    req, resp := client.UpdateLocationObjectStorageRequest(params)
2961//
2962//    err := req.Send()
2963//    if err == nil { // resp is now filled
2964//        fmt.Println(resp)
2965//    }
2966//
2967// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationObjectStorage
2968func (c *DataSync) UpdateLocationObjectStorageRequest(input *UpdateLocationObjectStorageInput) (req *request.Request, output *UpdateLocationObjectStorageOutput) {
2969	op := &request.Operation{
2970		Name:       opUpdateLocationObjectStorage,
2971		HTTPMethod: "POST",
2972		HTTPPath:   "/",
2973	}
2974
2975	if input == nil {
2976		input = &UpdateLocationObjectStorageInput{}
2977	}
2978
2979	output = &UpdateLocationObjectStorageOutput{}
2980	req = c.newRequest(op, input, output)
2981	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2982	return
2983}
2984
2985// UpdateLocationObjectStorage API operation for AWS DataSync.
2986//
2987// Updates some of the parameters of a previously created location for self-managed
2988// object storage server access. For information about creating a self-managed
2989// object storage location, see Creating a location for object storage (https://docs.aws.amazon.com/datasync/latest/userguide/create-object-location.html).
2990//
2991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2992// with awserr.Error's Code and Message methods to get detailed information about
2993// the error.
2994//
2995// See the AWS API reference guide for AWS DataSync's
2996// API operation UpdateLocationObjectStorage for usage and error information.
2997//
2998// Returned Error Types:
2999//   * InvalidRequestException
3000//   This exception is thrown when the client submits a malformed request.
3001//
3002//   * InternalException
3003//   This exception is thrown when an error occurs in the AWS DataSync service.
3004//
3005// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationObjectStorage
3006func (c *DataSync) UpdateLocationObjectStorage(input *UpdateLocationObjectStorageInput) (*UpdateLocationObjectStorageOutput, error) {
3007	req, out := c.UpdateLocationObjectStorageRequest(input)
3008	return out, req.Send()
3009}
3010
3011// UpdateLocationObjectStorageWithContext is the same as UpdateLocationObjectStorage with the addition of
3012// the ability to pass a context and additional request options.
3013//
3014// See UpdateLocationObjectStorage for details on how to use this API operation.
3015//
3016// The context must be non-nil and will be used for request cancellation. If
3017// the context is nil a panic will occur. In the future the SDK may create
3018// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3019// for more information on using Contexts.
3020func (c *DataSync) UpdateLocationObjectStorageWithContext(ctx aws.Context, input *UpdateLocationObjectStorageInput, opts ...request.Option) (*UpdateLocationObjectStorageOutput, error) {
3021	req, out := c.UpdateLocationObjectStorageRequest(input)
3022	req.SetContext(ctx)
3023	req.ApplyOptions(opts...)
3024	return out, req.Send()
3025}
3026
3027const opUpdateLocationSmb = "UpdateLocationSmb"
3028
3029// UpdateLocationSmbRequest generates a "aws/request.Request" representing the
3030// client's request for the UpdateLocationSmb operation. The "output" return
3031// value will be populated with the request's response once the request completes
3032// successfully.
3033//
3034// Use "Send" method on the returned Request to send the API call to the service.
3035// the "output" return value is not valid until after Send returns without error.
3036//
3037// See UpdateLocationSmb for more information on using the UpdateLocationSmb
3038// API call, and error handling.
3039//
3040// This method is useful when you want to inject custom logic or configuration
3041// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3042//
3043//
3044//    // Example sending a request using the UpdateLocationSmbRequest method.
3045//    req, resp := client.UpdateLocationSmbRequest(params)
3046//
3047//    err := req.Send()
3048//    if err == nil { // resp is now filled
3049//        fmt.Println(resp)
3050//    }
3051//
3052// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationSmb
3053func (c *DataSync) UpdateLocationSmbRequest(input *UpdateLocationSmbInput) (req *request.Request, output *UpdateLocationSmbOutput) {
3054	op := &request.Operation{
3055		Name:       opUpdateLocationSmb,
3056		HTTPMethod: "POST",
3057		HTTPPath:   "/",
3058	}
3059
3060	if input == nil {
3061		input = &UpdateLocationSmbInput{}
3062	}
3063
3064	output = &UpdateLocationSmbOutput{}
3065	req = c.newRequest(op, input, output)
3066	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3067	return
3068}
3069
3070// UpdateLocationSmb API operation for AWS DataSync.
3071//
3072// Updates some of the parameters of a previously created location for Server
3073// Message Block (SMB) file system access. For information about creating an
3074// SMB location, see Creating a location for SMB (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html).
3075//
3076// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3077// with awserr.Error's Code and Message methods to get detailed information about
3078// the error.
3079//
3080// See the AWS API reference guide for AWS DataSync's
3081// API operation UpdateLocationSmb for usage and error information.
3082//
3083// Returned Error Types:
3084//   * InvalidRequestException
3085//   This exception is thrown when the client submits a malformed request.
3086//
3087//   * InternalException
3088//   This exception is thrown when an error occurs in the AWS DataSync service.
3089//
3090// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationSmb
3091func (c *DataSync) UpdateLocationSmb(input *UpdateLocationSmbInput) (*UpdateLocationSmbOutput, error) {
3092	req, out := c.UpdateLocationSmbRequest(input)
3093	return out, req.Send()
3094}
3095
3096// UpdateLocationSmbWithContext is the same as UpdateLocationSmb with the addition of
3097// the ability to pass a context and additional request options.
3098//
3099// See UpdateLocationSmb for details on how to use this API operation.
3100//
3101// The context must be non-nil and will be used for request cancellation. If
3102// the context is nil a panic will occur. In the future the SDK may create
3103// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3104// for more information on using Contexts.
3105func (c *DataSync) UpdateLocationSmbWithContext(ctx aws.Context, input *UpdateLocationSmbInput, opts ...request.Option) (*UpdateLocationSmbOutput, error) {
3106	req, out := c.UpdateLocationSmbRequest(input)
3107	req.SetContext(ctx)
3108	req.ApplyOptions(opts...)
3109	return out, req.Send()
3110}
3111
3112const opUpdateTask = "UpdateTask"
3113
3114// UpdateTaskRequest generates a "aws/request.Request" representing the
3115// client's request for the UpdateTask operation. The "output" return
3116// value will be populated with the request's response once the request completes
3117// successfully.
3118//
3119// Use "Send" method on the returned Request to send the API call to the service.
3120// the "output" return value is not valid until after Send returns without error.
3121//
3122// See UpdateTask for more information on using the UpdateTask
3123// API call, and error handling.
3124//
3125// This method is useful when you want to inject custom logic or configuration
3126// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3127//
3128//
3129//    // Example sending a request using the UpdateTaskRequest method.
3130//    req, resp := client.UpdateTaskRequest(params)
3131//
3132//    err := req.Send()
3133//    if err == nil { // resp is now filled
3134//        fmt.Println(resp)
3135//    }
3136//
3137// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTask
3138func (c *DataSync) UpdateTaskRequest(input *UpdateTaskInput) (req *request.Request, output *UpdateTaskOutput) {
3139	op := &request.Operation{
3140		Name:       opUpdateTask,
3141		HTTPMethod: "POST",
3142		HTTPPath:   "/",
3143	}
3144
3145	if input == nil {
3146		input = &UpdateTaskInput{}
3147	}
3148
3149	output = &UpdateTaskOutput{}
3150	req = c.newRequest(op, input, output)
3151	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3152	return
3153}
3154
3155// UpdateTask API operation for AWS DataSync.
3156//
3157// Updates the metadata associated with a task.
3158//
3159// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3160// with awserr.Error's Code and Message methods to get detailed information about
3161// the error.
3162//
3163// See the AWS API reference guide for AWS DataSync's
3164// API operation UpdateTask for usage and error information.
3165//
3166// Returned Error Types:
3167//   * InvalidRequestException
3168//   This exception is thrown when the client submits a malformed request.
3169//
3170//   * InternalException
3171//   This exception is thrown when an error occurs in the AWS DataSync service.
3172//
3173// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTask
3174func (c *DataSync) UpdateTask(input *UpdateTaskInput) (*UpdateTaskOutput, error) {
3175	req, out := c.UpdateTaskRequest(input)
3176	return out, req.Send()
3177}
3178
3179// UpdateTaskWithContext is the same as UpdateTask with the addition of
3180// the ability to pass a context and additional request options.
3181//
3182// See UpdateTask for details on how to use this API operation.
3183//
3184// The context must be non-nil and will be used for request cancellation. If
3185// the context is nil a panic will occur. In the future the SDK may create
3186// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3187// for more information on using Contexts.
3188func (c *DataSync) UpdateTaskWithContext(ctx aws.Context, input *UpdateTaskInput, opts ...request.Option) (*UpdateTaskOutput, error) {
3189	req, out := c.UpdateTaskRequest(input)
3190	req.SetContext(ctx)
3191	req.ApplyOptions(opts...)
3192	return out, req.Send()
3193}
3194
3195const opUpdateTaskExecution = "UpdateTaskExecution"
3196
3197// UpdateTaskExecutionRequest generates a "aws/request.Request" representing the
3198// client's request for the UpdateTaskExecution operation. The "output" return
3199// value will be populated with the request's response once the request completes
3200// successfully.
3201//
3202// Use "Send" method on the returned Request to send the API call to the service.
3203// the "output" return value is not valid until after Send returns without error.
3204//
3205// See UpdateTaskExecution for more information on using the UpdateTaskExecution
3206// API call, and error handling.
3207//
3208// This method is useful when you want to inject custom logic or configuration
3209// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3210//
3211//
3212//    // Example sending a request using the UpdateTaskExecutionRequest method.
3213//    req, resp := client.UpdateTaskExecutionRequest(params)
3214//
3215//    err := req.Send()
3216//    if err == nil { // resp is now filled
3217//        fmt.Println(resp)
3218//    }
3219//
3220// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTaskExecution
3221func (c *DataSync) UpdateTaskExecutionRequest(input *UpdateTaskExecutionInput) (req *request.Request, output *UpdateTaskExecutionOutput) {
3222	op := &request.Operation{
3223		Name:       opUpdateTaskExecution,
3224		HTTPMethod: "POST",
3225		HTTPPath:   "/",
3226	}
3227
3228	if input == nil {
3229		input = &UpdateTaskExecutionInput{}
3230	}
3231
3232	output = &UpdateTaskExecutionOutput{}
3233	req = c.newRequest(op, input, output)
3234	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3235	return
3236}
3237
3238// UpdateTaskExecution API operation for AWS DataSync.
3239//
3240// Updates execution of a task.
3241//
3242// You can modify bandwidth throttling for a task execution that is running
3243// or queued. For more information, see Adjusting Bandwidth Throttling for a
3244// Task Execution (https://docs.aws.amazon.com/datasync/latest/userguide/working-with-task-executions.html#adjust-bandwidth-throttling).
3245//
3246// The only Option that can be modified by UpdateTaskExecution is BytesPerSecond
3247// (https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-BytesPerSecond) .
3248//
3249// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3250// with awserr.Error's Code and Message methods to get detailed information about
3251// the error.
3252//
3253// See the AWS API reference guide for AWS DataSync's
3254// API operation UpdateTaskExecution for usage and error information.
3255//
3256// Returned Error Types:
3257//   * InvalidRequestException
3258//   This exception is thrown when the client submits a malformed request.
3259//
3260//   * InternalException
3261//   This exception is thrown when an error occurs in the AWS DataSync service.
3262//
3263// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTaskExecution
3264func (c *DataSync) UpdateTaskExecution(input *UpdateTaskExecutionInput) (*UpdateTaskExecutionOutput, error) {
3265	req, out := c.UpdateTaskExecutionRequest(input)
3266	return out, req.Send()
3267}
3268
3269// UpdateTaskExecutionWithContext is the same as UpdateTaskExecution with the addition of
3270// the ability to pass a context and additional request options.
3271//
3272// See UpdateTaskExecution for details on how to use this API operation.
3273//
3274// The context must be non-nil and will be used for request cancellation. If
3275// the context is nil a panic will occur. In the future the SDK may create
3276// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3277// for more information on using Contexts.
3278func (c *DataSync) UpdateTaskExecutionWithContext(ctx aws.Context, input *UpdateTaskExecutionInput, opts ...request.Option) (*UpdateTaskExecutionOutput, error) {
3279	req, out := c.UpdateTaskExecutionRequest(input)
3280	req.SetContext(ctx)
3281	req.ApplyOptions(opts...)
3282	return out, req.Send()
3283}
3284
3285// Represents a single entry in a list of agents. AgentListEntry returns an
3286// array that contains a list of agents when the ListAgents (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListAgents.html)
3287// operation is called.
3288type AgentListEntry struct {
3289	_ struct{} `type:"structure"`
3290
3291	// The Amazon Resource Name (ARN) of the agent.
3292	AgentArn *string `type:"string"`
3293
3294	// The name of the agent.
3295	Name *string `min:"1" type:"string"`
3296
3297	// The status of the agent.
3298	Status *string `type:"string" enum:"AgentStatus"`
3299}
3300
3301// String returns the string representation
3302func (s AgentListEntry) String() string {
3303	return awsutil.Prettify(s)
3304}
3305
3306// GoString returns the string representation
3307func (s AgentListEntry) GoString() string {
3308	return s.String()
3309}
3310
3311// SetAgentArn sets the AgentArn field's value.
3312func (s *AgentListEntry) SetAgentArn(v string) *AgentListEntry {
3313	s.AgentArn = &v
3314	return s
3315}
3316
3317// SetName sets the Name field's value.
3318func (s *AgentListEntry) SetName(v string) *AgentListEntry {
3319	s.Name = &v
3320	return s
3321}
3322
3323// SetStatus sets the Status field's value.
3324func (s *AgentListEntry) SetStatus(v string) *AgentListEntry {
3325	s.Status = &v
3326	return s
3327}
3328
3329// CancelTaskExecutionRequest
3330type CancelTaskExecutionInput struct {
3331	_ struct{} `type:"structure"`
3332
3333	// The Amazon Resource Name (ARN) of the task execution to cancel.
3334	//
3335	// TaskExecutionArn is a required field
3336	TaskExecutionArn *string `type:"string" required:"true"`
3337}
3338
3339// String returns the string representation
3340func (s CancelTaskExecutionInput) String() string {
3341	return awsutil.Prettify(s)
3342}
3343
3344// GoString returns the string representation
3345func (s CancelTaskExecutionInput) GoString() string {
3346	return s.String()
3347}
3348
3349// Validate inspects the fields of the type to determine if they are valid.
3350func (s *CancelTaskExecutionInput) Validate() error {
3351	invalidParams := request.ErrInvalidParams{Context: "CancelTaskExecutionInput"}
3352	if s.TaskExecutionArn == nil {
3353		invalidParams.Add(request.NewErrParamRequired("TaskExecutionArn"))
3354	}
3355
3356	if invalidParams.Len() > 0 {
3357		return invalidParams
3358	}
3359	return nil
3360}
3361
3362// SetTaskExecutionArn sets the TaskExecutionArn field's value.
3363func (s *CancelTaskExecutionInput) SetTaskExecutionArn(v string) *CancelTaskExecutionInput {
3364	s.TaskExecutionArn = &v
3365	return s
3366}
3367
3368type CancelTaskExecutionOutput struct {
3369	_ struct{} `type:"structure"`
3370}
3371
3372// String returns the string representation
3373func (s CancelTaskExecutionOutput) String() string {
3374	return awsutil.Prettify(s)
3375}
3376
3377// GoString returns the string representation
3378func (s CancelTaskExecutionOutput) GoString() string {
3379	return s.String()
3380}
3381
3382// CreateAgentRequest
3383type CreateAgentInput struct {
3384	_ struct{} `type:"structure"`
3385
3386	// Your agent activation key. You can get the activation key either by sending
3387	// an HTTP GET request with redirects that enable you to get the agent IP address
3388	// (port 80). Alternatively, you can get it from the AWS DataSync console.
3389	//
3390	// The redirect URL returned in the response provides you the activation key
3391	// for your agent in the query string parameter activationKey. It might also
3392	// include other activation-related parameters; however, these are merely defaults.
3393	// The arguments you pass to this API call determine the actual configuration
3394	// of your agent.
3395	//
3396	// For more information, see Activating an Agent in the AWS DataSync User Guide.
3397	//
3398	// ActivationKey is a required field
3399	ActivationKey *string `type:"string" required:"true"`
3400
3401	// The name you configured for your agent. This value is a text reference that
3402	// is used to identify the agent in the console.
3403	AgentName *string `min:"1" type:"string"`
3404
3405	// The ARNs of the security groups used to protect your data transfer task subnets.
3406	// See SecurityGroupArns (https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns).
3407	SecurityGroupArns []*string `min:"1" type:"list"`
3408
3409	// The Amazon Resource Names (ARNs) of the subnets in which DataSync will create
3410	// elastic network interfaces for each data transfer task. The agent that runs
3411	// a task must be private. When you start a task that is associated with an
3412	// agent created in a VPC, or one that has access to an IP address in a VPC,
3413	// then the task is also private. In this case, DataSync creates four network
3414	// interfaces for each task in your subnet. For a data transfer to work, the
3415	// agent must be able to route to all these four network interfaces.
3416	SubnetArns []*string `min:"1" type:"list"`
3417
3418	// The key-value pair that represents the tag that you want to associate with
3419	// the agent. The value can be an empty string. This value helps you manage,
3420	// filter, and search for your agents.
3421	//
3422	// Valid characters for key and value are letters, spaces, and numbers representable
3423	// in UTF-8 format, and the following special characters: + - = . _ : / @.
3424	Tags []*TagListEntry `type:"list"`
3425
3426	// The ID of the VPC (virtual private cloud) endpoint that the agent has access
3427	// to. This is the client-side VPC endpoint, also called a PrivateLink. If you
3428	// don't have a PrivateLink VPC endpoint, see Creating a VPC Endpoint Service
3429	// Configuration (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service)
3430	// in the Amazon VPC User Guide.
3431	//
3432	// VPC endpoint ID looks like this: vpce-01234d5aff67890e1.
3433	VpcEndpointId *string `type:"string"`
3434}
3435
3436// String returns the string representation
3437func (s CreateAgentInput) String() string {
3438	return awsutil.Prettify(s)
3439}
3440
3441// GoString returns the string representation
3442func (s CreateAgentInput) GoString() string {
3443	return s.String()
3444}
3445
3446// Validate inspects the fields of the type to determine if they are valid.
3447func (s *CreateAgentInput) Validate() error {
3448	invalidParams := request.ErrInvalidParams{Context: "CreateAgentInput"}
3449	if s.ActivationKey == nil {
3450		invalidParams.Add(request.NewErrParamRequired("ActivationKey"))
3451	}
3452	if s.AgentName != nil && len(*s.AgentName) < 1 {
3453		invalidParams.Add(request.NewErrParamMinLen("AgentName", 1))
3454	}
3455	if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 {
3456		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1))
3457	}
3458	if s.SubnetArns != nil && len(s.SubnetArns) < 1 {
3459		invalidParams.Add(request.NewErrParamMinLen("SubnetArns", 1))
3460	}
3461	if s.Tags != nil {
3462		for i, v := range s.Tags {
3463			if v == nil {
3464				continue
3465			}
3466			if err := v.Validate(); err != nil {
3467				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3468			}
3469		}
3470	}
3471
3472	if invalidParams.Len() > 0 {
3473		return invalidParams
3474	}
3475	return nil
3476}
3477
3478// SetActivationKey sets the ActivationKey field's value.
3479func (s *CreateAgentInput) SetActivationKey(v string) *CreateAgentInput {
3480	s.ActivationKey = &v
3481	return s
3482}
3483
3484// SetAgentName sets the AgentName field's value.
3485func (s *CreateAgentInput) SetAgentName(v string) *CreateAgentInput {
3486	s.AgentName = &v
3487	return s
3488}
3489
3490// SetSecurityGroupArns sets the SecurityGroupArns field's value.
3491func (s *CreateAgentInput) SetSecurityGroupArns(v []*string) *CreateAgentInput {
3492	s.SecurityGroupArns = v
3493	return s
3494}
3495
3496// SetSubnetArns sets the SubnetArns field's value.
3497func (s *CreateAgentInput) SetSubnetArns(v []*string) *CreateAgentInput {
3498	s.SubnetArns = v
3499	return s
3500}
3501
3502// SetTags sets the Tags field's value.
3503func (s *CreateAgentInput) SetTags(v []*TagListEntry) *CreateAgentInput {
3504	s.Tags = v
3505	return s
3506}
3507
3508// SetVpcEndpointId sets the VpcEndpointId field's value.
3509func (s *CreateAgentInput) SetVpcEndpointId(v string) *CreateAgentInput {
3510	s.VpcEndpointId = &v
3511	return s
3512}
3513
3514// CreateAgentResponse
3515type CreateAgentOutput struct {
3516	_ struct{} `type:"structure"`
3517
3518	// The Amazon Resource Name (ARN) of the agent. Use the ListAgents operation
3519	// to return a list of agents for your account and AWS Region.
3520	AgentArn *string `type:"string"`
3521}
3522
3523// String returns the string representation
3524func (s CreateAgentOutput) String() string {
3525	return awsutil.Prettify(s)
3526}
3527
3528// GoString returns the string representation
3529func (s CreateAgentOutput) GoString() string {
3530	return s.String()
3531}
3532
3533// SetAgentArn sets the AgentArn field's value.
3534func (s *CreateAgentOutput) SetAgentArn(v string) *CreateAgentOutput {
3535	s.AgentArn = &v
3536	return s
3537}
3538
3539// CreateLocationEfsRequest
3540type CreateLocationEfsInput struct {
3541	_ struct{} `type:"structure"`
3542
3543	// The subnet and security group that the Amazon EFS file system uses. The security
3544	// group that you provide needs to be able to communicate with the security
3545	// group on the mount target in the subnet specified.
3546	//
3547	// The exact relationship between security group M (of the mount target) and
3548	// security group S (which you provide for DataSync to use at this stage) is
3549	// as follows:
3550	//
3551	//    * Security group M (which you associate with the mount target) must allow
3552	//    inbound access for the Transmission Control Protocol (TCP) on the NFS
3553	//    port (2049) from security group S. You can enable inbound connections
3554	//    either by IP address (CIDR range) or security group.
3555	//
3556	//    * Security group S (provided to DataSync to access EFS) should have a
3557	//    rule that enables outbound connections to the NFS port on one of the file
3558	//    system’s mount targets. You can enable outbound connections either by
3559	//    IP address (CIDR range) or security group. For information about security
3560	//    groups and mount targets, see Security Groups for Amazon EC2 Instances
3561	//    and Mount Targets in the Amazon EFS User Guide.
3562	//
3563	// Ec2Config is a required field
3564	Ec2Config *Ec2Config `type:"structure" required:"true"`
3565
3566	// The Amazon Resource Name (ARN) for the Amazon EFS file system.
3567	//
3568	// EfsFilesystemArn is a required field
3569	EfsFilesystemArn *string `type:"string" required:"true"`
3570
3571	// A subdirectory in the location’s path. This subdirectory in the EFS file
3572	// system is used to read data from the EFS source location or write data to
3573	// the EFS destination. By default, AWS DataSync uses the root directory.
3574	//
3575	// Subdirectory must be specified with forward slashes. For example, /path/to/folder.
3576	Subdirectory *string `type:"string"`
3577
3578	// The key-value pair that represents a tag that you want to add to the resource.
3579	// The value can be an empty string. This value helps you manage, filter, and
3580	// search for your resources. We recommend that you create a name tag for your
3581	// location.
3582	Tags []*TagListEntry `type:"list"`
3583}
3584
3585// String returns the string representation
3586func (s CreateLocationEfsInput) String() string {
3587	return awsutil.Prettify(s)
3588}
3589
3590// GoString returns the string representation
3591func (s CreateLocationEfsInput) GoString() string {
3592	return s.String()
3593}
3594
3595// Validate inspects the fields of the type to determine if they are valid.
3596func (s *CreateLocationEfsInput) Validate() error {
3597	invalidParams := request.ErrInvalidParams{Context: "CreateLocationEfsInput"}
3598	if s.Ec2Config == nil {
3599		invalidParams.Add(request.NewErrParamRequired("Ec2Config"))
3600	}
3601	if s.EfsFilesystemArn == nil {
3602		invalidParams.Add(request.NewErrParamRequired("EfsFilesystemArn"))
3603	}
3604	if s.Ec2Config != nil {
3605		if err := s.Ec2Config.Validate(); err != nil {
3606			invalidParams.AddNested("Ec2Config", err.(request.ErrInvalidParams))
3607		}
3608	}
3609	if s.Tags != nil {
3610		for i, v := range s.Tags {
3611			if v == nil {
3612				continue
3613			}
3614			if err := v.Validate(); err != nil {
3615				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3616			}
3617		}
3618	}
3619
3620	if invalidParams.Len() > 0 {
3621		return invalidParams
3622	}
3623	return nil
3624}
3625
3626// SetEc2Config sets the Ec2Config field's value.
3627func (s *CreateLocationEfsInput) SetEc2Config(v *Ec2Config) *CreateLocationEfsInput {
3628	s.Ec2Config = v
3629	return s
3630}
3631
3632// SetEfsFilesystemArn sets the EfsFilesystemArn field's value.
3633func (s *CreateLocationEfsInput) SetEfsFilesystemArn(v string) *CreateLocationEfsInput {
3634	s.EfsFilesystemArn = &v
3635	return s
3636}
3637
3638// SetSubdirectory sets the Subdirectory field's value.
3639func (s *CreateLocationEfsInput) SetSubdirectory(v string) *CreateLocationEfsInput {
3640	s.Subdirectory = &v
3641	return s
3642}
3643
3644// SetTags sets the Tags field's value.
3645func (s *CreateLocationEfsInput) SetTags(v []*TagListEntry) *CreateLocationEfsInput {
3646	s.Tags = v
3647	return s
3648}
3649
3650// CreateLocationEfs
3651type CreateLocationEfsOutput struct {
3652	_ struct{} `type:"structure"`
3653
3654	// The Amazon Resource Name (ARN) of the Amazon EFS file system location that
3655	// is created.
3656	LocationArn *string `type:"string"`
3657}
3658
3659// String returns the string representation
3660func (s CreateLocationEfsOutput) String() string {
3661	return awsutil.Prettify(s)
3662}
3663
3664// GoString returns the string representation
3665func (s CreateLocationEfsOutput) GoString() string {
3666	return s.String()
3667}
3668
3669// SetLocationArn sets the LocationArn field's value.
3670func (s *CreateLocationEfsOutput) SetLocationArn(v string) *CreateLocationEfsOutput {
3671	s.LocationArn = &v
3672	return s
3673}
3674
3675type CreateLocationFsxWindowsInput struct {
3676	_ struct{} `type:"structure"`
3677
3678	// The name of the Windows domain that the FSx for Windows File Server belongs
3679	// to.
3680	Domain *string `type:"string"`
3681
3682	// The Amazon Resource Name (ARN) for the FSx for Windows File Server file system.
3683	//
3684	// FsxFilesystemArn is a required field
3685	FsxFilesystemArn *string `type:"string" required:"true"`
3686
3687	// The password of the user who has the permissions to access files and folders
3688	// in the FSx for Windows File Server file system.
3689	//
3690	// Password is a required field
3691	Password *string `type:"string" required:"true" sensitive:"true"`
3692
3693	// The Amazon Resource Names (ARNs) of the security groups that are to use to
3694	// configure the FSx for Windows File Server file system.
3695	//
3696	// SecurityGroupArns is a required field
3697	SecurityGroupArns []*string `min:"1" type:"list" required:"true"`
3698
3699	// A subdirectory in the location’s path. This subdirectory in the Amazon
3700	// FSx for Windows File Server file system is used to read data from the Amazon
3701	// FSx for Windows File Server source location or write data to the FSx for
3702	// Windows File Server destination.
3703	Subdirectory *string `type:"string"`
3704
3705	// The key-value pair that represents a tag that you want to add to the resource.
3706	// The value can be an empty string. This value helps you manage, filter, and
3707	// search for your resources. We recommend that you create a name tag for your
3708	// location.
3709	Tags []*TagListEntry `type:"list"`
3710
3711	// The user who has the permissions to access files and folders in the FSx for
3712	// Windows File Server file system.
3713	//
3714	// For information about choosing a user name that ensures sufficient permissions
3715	// to files, folders, and metadata, see user (create-fsx-location.html#FSxWuser).
3716	//
3717	// User is a required field
3718	User *string `type:"string" required:"true"`
3719}
3720
3721// String returns the string representation
3722func (s CreateLocationFsxWindowsInput) String() string {
3723	return awsutil.Prettify(s)
3724}
3725
3726// GoString returns the string representation
3727func (s CreateLocationFsxWindowsInput) GoString() string {
3728	return s.String()
3729}
3730
3731// Validate inspects the fields of the type to determine if they are valid.
3732func (s *CreateLocationFsxWindowsInput) Validate() error {
3733	invalidParams := request.ErrInvalidParams{Context: "CreateLocationFsxWindowsInput"}
3734	if s.FsxFilesystemArn == nil {
3735		invalidParams.Add(request.NewErrParamRequired("FsxFilesystemArn"))
3736	}
3737	if s.Password == nil {
3738		invalidParams.Add(request.NewErrParamRequired("Password"))
3739	}
3740	if s.SecurityGroupArns == nil {
3741		invalidParams.Add(request.NewErrParamRequired("SecurityGroupArns"))
3742	}
3743	if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 {
3744		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1))
3745	}
3746	if s.User == nil {
3747		invalidParams.Add(request.NewErrParamRequired("User"))
3748	}
3749	if s.Tags != nil {
3750		for i, v := range s.Tags {
3751			if v == nil {
3752				continue
3753			}
3754			if err := v.Validate(); err != nil {
3755				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3756			}
3757		}
3758	}
3759
3760	if invalidParams.Len() > 0 {
3761		return invalidParams
3762	}
3763	return nil
3764}
3765
3766// SetDomain sets the Domain field's value.
3767func (s *CreateLocationFsxWindowsInput) SetDomain(v string) *CreateLocationFsxWindowsInput {
3768	s.Domain = &v
3769	return s
3770}
3771
3772// SetFsxFilesystemArn sets the FsxFilesystemArn field's value.
3773func (s *CreateLocationFsxWindowsInput) SetFsxFilesystemArn(v string) *CreateLocationFsxWindowsInput {
3774	s.FsxFilesystemArn = &v
3775	return s
3776}
3777
3778// SetPassword sets the Password field's value.
3779func (s *CreateLocationFsxWindowsInput) SetPassword(v string) *CreateLocationFsxWindowsInput {
3780	s.Password = &v
3781	return s
3782}
3783
3784// SetSecurityGroupArns sets the SecurityGroupArns field's value.
3785func (s *CreateLocationFsxWindowsInput) SetSecurityGroupArns(v []*string) *CreateLocationFsxWindowsInput {
3786	s.SecurityGroupArns = v
3787	return s
3788}
3789
3790// SetSubdirectory sets the Subdirectory field's value.
3791func (s *CreateLocationFsxWindowsInput) SetSubdirectory(v string) *CreateLocationFsxWindowsInput {
3792	s.Subdirectory = &v
3793	return s
3794}
3795
3796// SetTags sets the Tags field's value.
3797func (s *CreateLocationFsxWindowsInput) SetTags(v []*TagListEntry) *CreateLocationFsxWindowsInput {
3798	s.Tags = v
3799	return s
3800}
3801
3802// SetUser sets the User field's value.
3803func (s *CreateLocationFsxWindowsInput) SetUser(v string) *CreateLocationFsxWindowsInput {
3804	s.User = &v
3805	return s
3806}
3807
3808type CreateLocationFsxWindowsOutput struct {
3809	_ struct{} `type:"structure"`
3810
3811	// The Amazon Resource Name (ARN) of the FSx for Windows File Server file system
3812	// location that is created.
3813	LocationArn *string `type:"string"`
3814}
3815
3816// String returns the string representation
3817func (s CreateLocationFsxWindowsOutput) String() string {
3818	return awsutil.Prettify(s)
3819}
3820
3821// GoString returns the string representation
3822func (s CreateLocationFsxWindowsOutput) GoString() string {
3823	return s.String()
3824}
3825
3826// SetLocationArn sets the LocationArn field's value.
3827func (s *CreateLocationFsxWindowsOutput) SetLocationArn(v string) *CreateLocationFsxWindowsOutput {
3828	s.LocationArn = &v
3829	return s
3830}
3831
3832// CreateLocationNfsRequest
3833type CreateLocationNfsInput struct {
3834	_ struct{} `type:"structure"`
3835
3836	// The NFS mount options that DataSync can use to mount your NFS share.
3837	MountOptions *NfsMountOptions `type:"structure"`
3838
3839	// Contains a list of Amazon Resource Names (ARNs) of agents that are used to
3840	// connect to an NFS server.
3841	//
3842	// If you are copying data to or from your AWS Snowcone device, see NFS Server
3843	// on AWS Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone)
3844	// for more information.
3845	//
3846	// OnPremConfig is a required field
3847	OnPremConfig *OnPremConfig `type:"structure" required:"true"`
3848
3849	// The name of the NFS server. This value is the IP address or Domain Name Service
3850	// (DNS) name of the NFS server. An agent that is installed on-premises uses
3851	// this host name to mount the NFS server in a network.
3852	//
3853	// If you are copying data to or from your AWS Snowcone device, see NFS Server
3854	// on AWS Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone)
3855	// for more information.
3856	//
3857	// This name must either be DNS-compliant or must be an IP version 4 (IPv4)
3858	// address.
3859	//
3860	// ServerHostname is a required field
3861	ServerHostname *string `type:"string" required:"true"`
3862
3863	// The subdirectory in the NFS file system that is used to read data from the
3864	// NFS source location or write data to the NFS destination. The NFS path should
3865	// be a path that's exported by the NFS server, or a subdirectory of that path.
3866	// The path should be such that it can be mounted by other NFS clients in your
3867	// network.
3868	//
3869	// To see all the paths exported by your NFS server, run "showmount -e nfs-server-name"
3870	// from an NFS client that has access to your server. You can specify any directory
3871	// that appears in the results, and any subdirectory of that directory. Ensure
3872	// that the NFS export is accessible without Kerberos authentication.
3873	//
3874	// To transfer all the data in the folder you specified, DataSync needs to have
3875	// permissions to read all the data. To ensure this, either configure the NFS
3876	// export with no_root_squash, or ensure that the permissions for all of the
3877	// files that you want DataSync allow read access for all users. Doing either
3878	// enables the agent to read the files. For the agent to access directories,
3879	// you must additionally enable all execute access.
3880	//
3881	// If you are copying data to or from your AWS Snowcone device, see NFS Server
3882	// on AWS Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone)
3883	// for more information.
3884	//
3885	// For information about NFS export configuration, see 18.7. The /etc/exports
3886	// Configuration File in the Red Hat Enterprise Linux documentation.
3887	//
3888	// Subdirectory is a required field
3889	Subdirectory *string `type:"string" required:"true"`
3890
3891	// The key-value pair that represents the tag that you want to add to the location.
3892	// The value can be an empty string. We recommend using tags to name your resources.
3893	Tags []*TagListEntry `type:"list"`
3894}
3895
3896// String returns the string representation
3897func (s CreateLocationNfsInput) String() string {
3898	return awsutil.Prettify(s)
3899}
3900
3901// GoString returns the string representation
3902func (s CreateLocationNfsInput) GoString() string {
3903	return s.String()
3904}
3905
3906// Validate inspects the fields of the type to determine if they are valid.
3907func (s *CreateLocationNfsInput) Validate() error {
3908	invalidParams := request.ErrInvalidParams{Context: "CreateLocationNfsInput"}
3909	if s.OnPremConfig == nil {
3910		invalidParams.Add(request.NewErrParamRequired("OnPremConfig"))
3911	}
3912	if s.ServerHostname == nil {
3913		invalidParams.Add(request.NewErrParamRequired("ServerHostname"))
3914	}
3915	if s.Subdirectory == nil {
3916		invalidParams.Add(request.NewErrParamRequired("Subdirectory"))
3917	}
3918	if s.OnPremConfig != nil {
3919		if err := s.OnPremConfig.Validate(); err != nil {
3920			invalidParams.AddNested("OnPremConfig", err.(request.ErrInvalidParams))
3921		}
3922	}
3923	if s.Tags != nil {
3924		for i, v := range s.Tags {
3925			if v == nil {
3926				continue
3927			}
3928			if err := v.Validate(); err != nil {
3929				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3930			}
3931		}
3932	}
3933
3934	if invalidParams.Len() > 0 {
3935		return invalidParams
3936	}
3937	return nil
3938}
3939
3940// SetMountOptions sets the MountOptions field's value.
3941func (s *CreateLocationNfsInput) SetMountOptions(v *NfsMountOptions) *CreateLocationNfsInput {
3942	s.MountOptions = v
3943	return s
3944}
3945
3946// SetOnPremConfig sets the OnPremConfig field's value.
3947func (s *CreateLocationNfsInput) SetOnPremConfig(v *OnPremConfig) *CreateLocationNfsInput {
3948	s.OnPremConfig = v
3949	return s
3950}
3951
3952// SetServerHostname sets the ServerHostname field's value.
3953func (s *CreateLocationNfsInput) SetServerHostname(v string) *CreateLocationNfsInput {
3954	s.ServerHostname = &v
3955	return s
3956}
3957
3958// SetSubdirectory sets the Subdirectory field's value.
3959func (s *CreateLocationNfsInput) SetSubdirectory(v string) *CreateLocationNfsInput {
3960	s.Subdirectory = &v
3961	return s
3962}
3963
3964// SetTags sets the Tags field's value.
3965func (s *CreateLocationNfsInput) SetTags(v []*TagListEntry) *CreateLocationNfsInput {
3966	s.Tags = v
3967	return s
3968}
3969
3970// CreateLocationNfsResponse
3971type CreateLocationNfsOutput struct {
3972	_ struct{} `type:"structure"`
3973
3974	// The Amazon Resource Name (ARN) of the source NFS file system location that
3975	// is created.
3976	LocationArn *string `type:"string"`
3977}
3978
3979// String returns the string representation
3980func (s CreateLocationNfsOutput) String() string {
3981	return awsutil.Prettify(s)
3982}
3983
3984// GoString returns the string representation
3985func (s CreateLocationNfsOutput) GoString() string {
3986	return s.String()
3987}
3988
3989// SetLocationArn sets the LocationArn field's value.
3990func (s *CreateLocationNfsOutput) SetLocationArn(v string) *CreateLocationNfsOutput {
3991	s.LocationArn = &v
3992	return s
3993}
3994
3995// CreateLocationObjectStorageRequest
3996type CreateLocationObjectStorageInput struct {
3997	_ struct{} `type:"structure"`
3998
3999	// Optional. The access key is used if credentials are required to access the
4000	// self-managed object storage server. If your object storage requires a user
4001	// name and password to authenticate, use AccessKey and SecretKey to provide
4002	// the user name and password, respectively.
4003	AccessKey *string `min:"8" type:"string"`
4004
4005	// The Amazon Resource Name (ARN) of the agents associated with the self-managed
4006	// object storage server location.
4007	//
4008	// AgentArns is a required field
4009	AgentArns []*string `min:"1" type:"list" required:"true"`
4010
4011	// The bucket on the self-managed object storage server that is used to read
4012	// data from.
4013	//
4014	// BucketName is a required field
4015	BucketName *string `min:"3" type:"string" required:"true"`
4016
4017	// Optional. The secret key is used if credentials are required to access the
4018	// self-managed object storage server. If your object storage requires a user
4019	// name and password to authenticate, use AccessKey and SecretKey to provide
4020	// the user name and password, respectively.
4021	SecretKey *string `min:"8" type:"string" sensitive:"true"`
4022
4023	// The name of the self-managed object storage server. This value is the IP
4024	// address or Domain Name Service (DNS) name of the object storage server. An
4025	// agent uses this host name to mount the object storage server in a network.
4026	//
4027	// ServerHostname is a required field
4028	ServerHostname *string `type:"string" required:"true"`
4029
4030	// The port that your self-managed object storage server accepts inbound network
4031	// traffic on. The server port is set by default to TCP 80 (HTTP) or TCP 443
4032	// (HTTPS). You can specify a custom port if your self-managed object storage
4033	// server requires one.
4034	ServerPort *int64 `min:"1" type:"integer"`
4035
4036	// The protocol that the object storage server uses to communicate. Valid values
4037	// are HTTP or HTTPS.
4038	ServerProtocol *string `type:"string" enum:"ObjectStorageServerProtocol"`
4039
4040	// The subdirectory in the self-managed object storage server that is used to
4041	// read data from.
4042	Subdirectory *string `type:"string"`
4043
4044	// The key-value pair that represents the tag that you want to add to the location.
4045	// The value can be an empty string. We recommend using tags to name your resources.
4046	Tags []*TagListEntry `type:"list"`
4047}
4048
4049// String returns the string representation
4050func (s CreateLocationObjectStorageInput) String() string {
4051	return awsutil.Prettify(s)
4052}
4053
4054// GoString returns the string representation
4055func (s CreateLocationObjectStorageInput) GoString() string {
4056	return s.String()
4057}
4058
4059// Validate inspects the fields of the type to determine if they are valid.
4060func (s *CreateLocationObjectStorageInput) Validate() error {
4061	invalidParams := request.ErrInvalidParams{Context: "CreateLocationObjectStorageInput"}
4062	if s.AccessKey != nil && len(*s.AccessKey) < 8 {
4063		invalidParams.Add(request.NewErrParamMinLen("AccessKey", 8))
4064	}
4065	if s.AgentArns == nil {
4066		invalidParams.Add(request.NewErrParamRequired("AgentArns"))
4067	}
4068	if s.AgentArns != nil && len(s.AgentArns) < 1 {
4069		invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1))
4070	}
4071	if s.BucketName == nil {
4072		invalidParams.Add(request.NewErrParamRequired("BucketName"))
4073	}
4074	if s.BucketName != nil && len(*s.BucketName) < 3 {
4075		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
4076	}
4077	if s.SecretKey != nil && len(*s.SecretKey) < 8 {
4078		invalidParams.Add(request.NewErrParamMinLen("SecretKey", 8))
4079	}
4080	if s.ServerHostname == nil {
4081		invalidParams.Add(request.NewErrParamRequired("ServerHostname"))
4082	}
4083	if s.ServerPort != nil && *s.ServerPort < 1 {
4084		invalidParams.Add(request.NewErrParamMinValue("ServerPort", 1))
4085	}
4086	if s.Tags != nil {
4087		for i, v := range s.Tags {
4088			if v == nil {
4089				continue
4090			}
4091			if err := v.Validate(); err != nil {
4092				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4093			}
4094		}
4095	}
4096
4097	if invalidParams.Len() > 0 {
4098		return invalidParams
4099	}
4100	return nil
4101}
4102
4103// SetAccessKey sets the AccessKey field's value.
4104func (s *CreateLocationObjectStorageInput) SetAccessKey(v string) *CreateLocationObjectStorageInput {
4105	s.AccessKey = &v
4106	return s
4107}
4108
4109// SetAgentArns sets the AgentArns field's value.
4110func (s *CreateLocationObjectStorageInput) SetAgentArns(v []*string) *CreateLocationObjectStorageInput {
4111	s.AgentArns = v
4112	return s
4113}
4114
4115// SetBucketName sets the BucketName field's value.
4116func (s *CreateLocationObjectStorageInput) SetBucketName(v string) *CreateLocationObjectStorageInput {
4117	s.BucketName = &v
4118	return s
4119}
4120
4121// SetSecretKey sets the SecretKey field's value.
4122func (s *CreateLocationObjectStorageInput) SetSecretKey(v string) *CreateLocationObjectStorageInput {
4123	s.SecretKey = &v
4124	return s
4125}
4126
4127// SetServerHostname sets the ServerHostname field's value.
4128func (s *CreateLocationObjectStorageInput) SetServerHostname(v string) *CreateLocationObjectStorageInput {
4129	s.ServerHostname = &v
4130	return s
4131}
4132
4133// SetServerPort sets the ServerPort field's value.
4134func (s *CreateLocationObjectStorageInput) SetServerPort(v int64) *CreateLocationObjectStorageInput {
4135	s.ServerPort = &v
4136	return s
4137}
4138
4139// SetServerProtocol sets the ServerProtocol field's value.
4140func (s *CreateLocationObjectStorageInput) SetServerProtocol(v string) *CreateLocationObjectStorageInput {
4141	s.ServerProtocol = &v
4142	return s
4143}
4144
4145// SetSubdirectory sets the Subdirectory field's value.
4146func (s *CreateLocationObjectStorageInput) SetSubdirectory(v string) *CreateLocationObjectStorageInput {
4147	s.Subdirectory = &v
4148	return s
4149}
4150
4151// SetTags sets the Tags field's value.
4152func (s *CreateLocationObjectStorageInput) SetTags(v []*TagListEntry) *CreateLocationObjectStorageInput {
4153	s.Tags = v
4154	return s
4155}
4156
4157// CreateLocationObjectStorageResponse
4158type CreateLocationObjectStorageOutput struct {
4159	_ struct{} `type:"structure"`
4160
4161	// The Amazon Resource Name (ARN) of the agents associated with the self-managed
4162	// object storage server location.
4163	LocationArn *string `type:"string"`
4164}
4165
4166// String returns the string representation
4167func (s CreateLocationObjectStorageOutput) String() string {
4168	return awsutil.Prettify(s)
4169}
4170
4171// GoString returns the string representation
4172func (s CreateLocationObjectStorageOutput) GoString() string {
4173	return s.String()
4174}
4175
4176// SetLocationArn sets the LocationArn field's value.
4177func (s *CreateLocationObjectStorageOutput) SetLocationArn(v string) *CreateLocationObjectStorageOutput {
4178	s.LocationArn = &v
4179	return s
4180}
4181
4182// CreateLocationS3Request
4183type CreateLocationS3Input struct {
4184	_ struct{} `type:"structure"`
4185
4186	// If you are using DataSync on an AWS Outpost, specify the Amazon Resource
4187	// Names (ARNs) of the DataSync agents deployed on your Outpost. For more information
4188	// about launching a DataSync agent on an AWS Outpost, see Deploy your DataSync
4189	// agent on AWS Outposts (https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent).
4190	AgentArns []*string `min:"1" type:"list"`
4191
4192	// The ARN of the Amazon S3 bucket. If the bucket is on an AWS Outpost, this
4193	// must be an access point ARN.
4194	//
4195	// S3BucketArn is a required field
4196	S3BucketArn *string `type:"string" required:"true"`
4197
4198	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
4199	// (IAM) role that is used to access an Amazon S3 bucket.
4200	//
4201	// For detailed information about using such a role, see Creating a Location
4202	// for Amazon S3 in the AWS DataSync User Guide.
4203	//
4204	// S3Config is a required field
4205	S3Config *S3Config `type:"structure" required:"true"`
4206
4207	// The Amazon S3 storage class that you want to store your files in when this
4208	// location is used as a task destination. For buckets in AWS Regions, the storage
4209	// class defaults to Standard. For buckets on AWS Outposts, the storage class
4210	// defaults to AWS S3 Outposts.
4211	//
4212	// For more information about S3 storage classes, see Amazon S3 Storage Classes
4213	// (http://aws.amazon.com/s3/storage-classes/). Some storage classes have behaviors
4214	// that can affect your S3 storage cost. For detailed information, see Considerations
4215	// when working with S3 storage classes in DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes).
4216	S3StorageClass *string `type:"string" enum:"S3StorageClass"`
4217
4218	// A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is
4219	// used to read data from the S3 source location or write data to the S3 destination.
4220	Subdirectory *string `type:"string"`
4221
4222	// The key-value pair that represents the tag that you want to add to the location.
4223	// The value can be an empty string. We recommend using tags to name your resources.
4224	Tags []*TagListEntry `type:"list"`
4225}
4226
4227// String returns the string representation
4228func (s CreateLocationS3Input) String() string {
4229	return awsutil.Prettify(s)
4230}
4231
4232// GoString returns the string representation
4233func (s CreateLocationS3Input) GoString() string {
4234	return s.String()
4235}
4236
4237// Validate inspects the fields of the type to determine if they are valid.
4238func (s *CreateLocationS3Input) Validate() error {
4239	invalidParams := request.ErrInvalidParams{Context: "CreateLocationS3Input"}
4240	if s.AgentArns != nil && len(s.AgentArns) < 1 {
4241		invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1))
4242	}
4243	if s.S3BucketArn == nil {
4244		invalidParams.Add(request.NewErrParamRequired("S3BucketArn"))
4245	}
4246	if s.S3Config == nil {
4247		invalidParams.Add(request.NewErrParamRequired("S3Config"))
4248	}
4249	if s.S3Config != nil {
4250		if err := s.S3Config.Validate(); err != nil {
4251			invalidParams.AddNested("S3Config", err.(request.ErrInvalidParams))
4252		}
4253	}
4254	if s.Tags != nil {
4255		for i, v := range s.Tags {
4256			if v == nil {
4257				continue
4258			}
4259			if err := v.Validate(); err != nil {
4260				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4261			}
4262		}
4263	}
4264
4265	if invalidParams.Len() > 0 {
4266		return invalidParams
4267	}
4268	return nil
4269}
4270
4271// SetAgentArns sets the AgentArns field's value.
4272func (s *CreateLocationS3Input) SetAgentArns(v []*string) *CreateLocationS3Input {
4273	s.AgentArns = v
4274	return s
4275}
4276
4277// SetS3BucketArn sets the S3BucketArn field's value.
4278func (s *CreateLocationS3Input) SetS3BucketArn(v string) *CreateLocationS3Input {
4279	s.S3BucketArn = &v
4280	return s
4281}
4282
4283// SetS3Config sets the S3Config field's value.
4284func (s *CreateLocationS3Input) SetS3Config(v *S3Config) *CreateLocationS3Input {
4285	s.S3Config = v
4286	return s
4287}
4288
4289// SetS3StorageClass sets the S3StorageClass field's value.
4290func (s *CreateLocationS3Input) SetS3StorageClass(v string) *CreateLocationS3Input {
4291	s.S3StorageClass = &v
4292	return s
4293}
4294
4295// SetSubdirectory sets the Subdirectory field's value.
4296func (s *CreateLocationS3Input) SetSubdirectory(v string) *CreateLocationS3Input {
4297	s.Subdirectory = &v
4298	return s
4299}
4300
4301// SetTags sets the Tags field's value.
4302func (s *CreateLocationS3Input) SetTags(v []*TagListEntry) *CreateLocationS3Input {
4303	s.Tags = v
4304	return s
4305}
4306
4307// CreateLocationS3Response
4308type CreateLocationS3Output struct {
4309	_ struct{} `type:"structure"`
4310
4311	// The Amazon Resource Name (ARN) of the source Amazon S3 bucket location that
4312	// is created.
4313	LocationArn *string `type:"string"`
4314}
4315
4316// String returns the string representation
4317func (s CreateLocationS3Output) String() string {
4318	return awsutil.Prettify(s)
4319}
4320
4321// GoString returns the string representation
4322func (s CreateLocationS3Output) GoString() string {
4323	return s.String()
4324}
4325
4326// SetLocationArn sets the LocationArn field's value.
4327func (s *CreateLocationS3Output) SetLocationArn(v string) *CreateLocationS3Output {
4328	s.LocationArn = &v
4329	return s
4330}
4331
4332// CreateLocationSmbRequest
4333type CreateLocationSmbInput struct {
4334	_ struct{} `type:"structure"`
4335
4336	// The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block
4337	// (SMB) location.
4338	//
4339	// AgentArns is a required field
4340	AgentArns []*string `min:"1" type:"list" required:"true"`
4341
4342	// The name of the Windows domain that the SMB server belongs to.
4343	Domain *string `type:"string"`
4344
4345	// The mount options used by DataSync to access the SMB server.
4346	MountOptions *SmbMountOptions `type:"structure"`
4347
4348	// The password of the user who can mount the share, has the permissions to
4349	// access files and folders in the SMB share.
4350	//
4351	// Password is a required field
4352	Password *string `type:"string" required:"true" sensitive:"true"`
4353
4354	// The name of the SMB server. This value is the IP address or Domain Name Service
4355	// (DNS) name of the SMB server. An agent that is installed on-premises uses
4356	// this hostname to mount the SMB server in a network.
4357	//
4358	// This name must either be DNS-compliant or must be an IP version 4 (IPv4)
4359	// address.
4360	//
4361	// ServerHostname is a required field
4362	ServerHostname *string `type:"string" required:"true"`
4363
4364	// The subdirectory in the SMB file system that is used to read data from the
4365	// SMB source location or write data to the SMB destination. The SMB path should
4366	// be a path that's exported by the SMB server, or a subdirectory of that path.
4367	// The path should be such that it can be mounted by other SMB clients in your
4368	// network.
4369	//
4370	// Subdirectory must be specified with forward slashes. For example, /path/to/folder.
4371	//
4372	// To transfer all the data in the folder you specified, DataSync needs to have
4373	// permissions to mount the SMB share, as well as to access all the data in
4374	// that share. To ensure this, either ensure that the user/password specified
4375	// belongs to the user who can mount the share, and who has the appropriate
4376	// permissions for all of the files and directories that you want DataSync to
4377	// access, or use credentials of a member of the Backup Operators group to mount
4378	// the share. Doing either enables the agent to access the data. For the agent
4379	// to access directories, you must additionally enable all execute access.
4380	//
4381	// Subdirectory is a required field
4382	Subdirectory *string `type:"string" required:"true"`
4383
4384	// The key-value pair that represents the tag that you want to add to the location.
4385	// The value can be an empty string. We recommend using tags to name your resources.
4386	Tags []*TagListEntry `type:"list"`
4387
4388	// The user who can mount the share, has the permissions to access files and
4389	// folders in the SMB share.
4390	//
4391	// For information about choosing a user name that ensures sufficient permissions
4392	// to files, folders, and metadata, see user (create-smb-location.html#SMBuser).
4393	//
4394	// User is a required field
4395	User *string `type:"string" required:"true"`
4396}
4397
4398// String returns the string representation
4399func (s CreateLocationSmbInput) String() string {
4400	return awsutil.Prettify(s)
4401}
4402
4403// GoString returns the string representation
4404func (s CreateLocationSmbInput) GoString() string {
4405	return s.String()
4406}
4407
4408// Validate inspects the fields of the type to determine if they are valid.
4409func (s *CreateLocationSmbInput) Validate() error {
4410	invalidParams := request.ErrInvalidParams{Context: "CreateLocationSmbInput"}
4411	if s.AgentArns == nil {
4412		invalidParams.Add(request.NewErrParamRequired("AgentArns"))
4413	}
4414	if s.AgentArns != nil && len(s.AgentArns) < 1 {
4415		invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1))
4416	}
4417	if s.Password == nil {
4418		invalidParams.Add(request.NewErrParamRequired("Password"))
4419	}
4420	if s.ServerHostname == nil {
4421		invalidParams.Add(request.NewErrParamRequired("ServerHostname"))
4422	}
4423	if s.Subdirectory == nil {
4424		invalidParams.Add(request.NewErrParamRequired("Subdirectory"))
4425	}
4426	if s.User == nil {
4427		invalidParams.Add(request.NewErrParamRequired("User"))
4428	}
4429	if s.Tags != nil {
4430		for i, v := range s.Tags {
4431			if v == nil {
4432				continue
4433			}
4434			if err := v.Validate(); err != nil {
4435				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4436			}
4437		}
4438	}
4439
4440	if invalidParams.Len() > 0 {
4441		return invalidParams
4442	}
4443	return nil
4444}
4445
4446// SetAgentArns sets the AgentArns field's value.
4447func (s *CreateLocationSmbInput) SetAgentArns(v []*string) *CreateLocationSmbInput {
4448	s.AgentArns = v
4449	return s
4450}
4451
4452// SetDomain sets the Domain field's value.
4453func (s *CreateLocationSmbInput) SetDomain(v string) *CreateLocationSmbInput {
4454	s.Domain = &v
4455	return s
4456}
4457
4458// SetMountOptions sets the MountOptions field's value.
4459func (s *CreateLocationSmbInput) SetMountOptions(v *SmbMountOptions) *CreateLocationSmbInput {
4460	s.MountOptions = v
4461	return s
4462}
4463
4464// SetPassword sets the Password field's value.
4465func (s *CreateLocationSmbInput) SetPassword(v string) *CreateLocationSmbInput {
4466	s.Password = &v
4467	return s
4468}
4469
4470// SetServerHostname sets the ServerHostname field's value.
4471func (s *CreateLocationSmbInput) SetServerHostname(v string) *CreateLocationSmbInput {
4472	s.ServerHostname = &v
4473	return s
4474}
4475
4476// SetSubdirectory sets the Subdirectory field's value.
4477func (s *CreateLocationSmbInput) SetSubdirectory(v string) *CreateLocationSmbInput {
4478	s.Subdirectory = &v
4479	return s
4480}
4481
4482// SetTags sets the Tags field's value.
4483func (s *CreateLocationSmbInput) SetTags(v []*TagListEntry) *CreateLocationSmbInput {
4484	s.Tags = v
4485	return s
4486}
4487
4488// SetUser sets the User field's value.
4489func (s *CreateLocationSmbInput) SetUser(v string) *CreateLocationSmbInput {
4490	s.User = &v
4491	return s
4492}
4493
4494// CreateLocationSmbResponse
4495type CreateLocationSmbOutput struct {
4496	_ struct{} `type:"structure"`
4497
4498	// The Amazon Resource Name (ARN) of the source SMB file system location that
4499	// is created.
4500	LocationArn *string `type:"string"`
4501}
4502
4503// String returns the string representation
4504func (s CreateLocationSmbOutput) String() string {
4505	return awsutil.Prettify(s)
4506}
4507
4508// GoString returns the string representation
4509func (s CreateLocationSmbOutput) GoString() string {
4510	return s.String()
4511}
4512
4513// SetLocationArn sets the LocationArn field's value.
4514func (s *CreateLocationSmbOutput) SetLocationArn(v string) *CreateLocationSmbOutput {
4515	s.LocationArn = &v
4516	return s
4517}
4518
4519// CreateTaskRequest
4520type CreateTaskInput struct {
4521	_ struct{} `type:"structure"`
4522
4523	// The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is
4524	// used to monitor and log events in the task.
4525	CloudWatchLogGroupArn *string `type:"string"`
4526
4527	// The Amazon Resource Name (ARN) of an AWS storage resource's location.
4528	//
4529	// DestinationLocationArn is a required field
4530	DestinationLocationArn *string `type:"string" required:"true"`
4531
4532	// A list of filter rules that determines which files to exclude from a task.
4533	// The list should contain a single filter string that consists of the patterns
4534	// to exclude. The patterns are delimited by "|" (that is, a pipe), for example,
4535	// "/folder1|/folder2".
4536	Excludes []*FilterRule `type:"list"`
4537
4538	// The name of a task. This value is a text reference that is used to identify
4539	// the task in the console.
4540	Name *string `min:"1" type:"string"`
4541
4542	// The set of configuration options that control the behavior of a single execution
4543	// of the task that occurs when you call StartTaskExecution. You can configure
4544	// these options to preserve metadata such as user ID (UID) and group ID (GID),
4545	// file permissions, data integrity verification, and so on.
4546	//
4547	// For each individual task execution, you can override these options by specifying
4548	// the OverrideOptions before starting the task execution. For more information,
4549	// see the StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
4550	// operation.
4551	Options *Options `type:"structure"`
4552
4553	// Specifies a schedule used to periodically transfer files from a source to
4554	// a destination location. The schedule should be specified in UTC time. For
4555	// more information, see Scheduling your task (https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html).
4556	Schedule *TaskSchedule `type:"structure"`
4557
4558	// The Amazon Resource Name (ARN) of the source location for the task.
4559	//
4560	// SourceLocationArn is a required field
4561	SourceLocationArn *string `type:"string" required:"true"`
4562
4563	// The key-value pair that represents the tag that you want to add to the resource.
4564	// The value can be an empty string.
4565	Tags []*TagListEntry `type:"list"`
4566}
4567
4568// String returns the string representation
4569func (s CreateTaskInput) String() string {
4570	return awsutil.Prettify(s)
4571}
4572
4573// GoString returns the string representation
4574func (s CreateTaskInput) GoString() string {
4575	return s.String()
4576}
4577
4578// Validate inspects the fields of the type to determine if they are valid.
4579func (s *CreateTaskInput) Validate() error {
4580	invalidParams := request.ErrInvalidParams{Context: "CreateTaskInput"}
4581	if s.DestinationLocationArn == nil {
4582		invalidParams.Add(request.NewErrParamRequired("DestinationLocationArn"))
4583	}
4584	if s.Name != nil && len(*s.Name) < 1 {
4585		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4586	}
4587	if s.SourceLocationArn == nil {
4588		invalidParams.Add(request.NewErrParamRequired("SourceLocationArn"))
4589	}
4590	if s.Options != nil {
4591		if err := s.Options.Validate(); err != nil {
4592			invalidParams.AddNested("Options", err.(request.ErrInvalidParams))
4593		}
4594	}
4595	if s.Schedule != nil {
4596		if err := s.Schedule.Validate(); err != nil {
4597			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
4598		}
4599	}
4600	if s.Tags != nil {
4601		for i, v := range s.Tags {
4602			if v == nil {
4603				continue
4604			}
4605			if err := v.Validate(); err != nil {
4606				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4607			}
4608		}
4609	}
4610
4611	if invalidParams.Len() > 0 {
4612		return invalidParams
4613	}
4614	return nil
4615}
4616
4617// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
4618func (s *CreateTaskInput) SetCloudWatchLogGroupArn(v string) *CreateTaskInput {
4619	s.CloudWatchLogGroupArn = &v
4620	return s
4621}
4622
4623// SetDestinationLocationArn sets the DestinationLocationArn field's value.
4624func (s *CreateTaskInput) SetDestinationLocationArn(v string) *CreateTaskInput {
4625	s.DestinationLocationArn = &v
4626	return s
4627}
4628
4629// SetExcludes sets the Excludes field's value.
4630func (s *CreateTaskInput) SetExcludes(v []*FilterRule) *CreateTaskInput {
4631	s.Excludes = v
4632	return s
4633}
4634
4635// SetName sets the Name field's value.
4636func (s *CreateTaskInput) SetName(v string) *CreateTaskInput {
4637	s.Name = &v
4638	return s
4639}
4640
4641// SetOptions sets the Options field's value.
4642func (s *CreateTaskInput) SetOptions(v *Options) *CreateTaskInput {
4643	s.Options = v
4644	return s
4645}
4646
4647// SetSchedule sets the Schedule field's value.
4648func (s *CreateTaskInput) SetSchedule(v *TaskSchedule) *CreateTaskInput {
4649	s.Schedule = v
4650	return s
4651}
4652
4653// SetSourceLocationArn sets the SourceLocationArn field's value.
4654func (s *CreateTaskInput) SetSourceLocationArn(v string) *CreateTaskInput {
4655	s.SourceLocationArn = &v
4656	return s
4657}
4658
4659// SetTags sets the Tags field's value.
4660func (s *CreateTaskInput) SetTags(v []*TagListEntry) *CreateTaskInput {
4661	s.Tags = v
4662	return s
4663}
4664
4665// CreateTaskResponse
4666type CreateTaskOutput struct {
4667	_ struct{} `type:"structure"`
4668
4669	// The Amazon Resource Name (ARN) of the task.
4670	TaskArn *string `type:"string"`
4671}
4672
4673// String returns the string representation
4674func (s CreateTaskOutput) String() string {
4675	return awsutil.Prettify(s)
4676}
4677
4678// GoString returns the string representation
4679func (s CreateTaskOutput) GoString() string {
4680	return s.String()
4681}
4682
4683// SetTaskArn sets the TaskArn field's value.
4684func (s *CreateTaskOutput) SetTaskArn(v string) *CreateTaskOutput {
4685	s.TaskArn = &v
4686	return s
4687}
4688
4689// DeleteAgentRequest
4690type DeleteAgentInput struct {
4691	_ struct{} `type:"structure"`
4692
4693	// The Amazon Resource Name (ARN) of the agent to delete. Use the ListAgents
4694	// operation to return a list of agents for your account and AWS Region.
4695	//
4696	// AgentArn is a required field
4697	AgentArn *string `type:"string" required:"true"`
4698}
4699
4700// String returns the string representation
4701func (s DeleteAgentInput) String() string {
4702	return awsutil.Prettify(s)
4703}
4704
4705// GoString returns the string representation
4706func (s DeleteAgentInput) GoString() string {
4707	return s.String()
4708}
4709
4710// Validate inspects the fields of the type to determine if they are valid.
4711func (s *DeleteAgentInput) Validate() error {
4712	invalidParams := request.ErrInvalidParams{Context: "DeleteAgentInput"}
4713	if s.AgentArn == nil {
4714		invalidParams.Add(request.NewErrParamRequired("AgentArn"))
4715	}
4716
4717	if invalidParams.Len() > 0 {
4718		return invalidParams
4719	}
4720	return nil
4721}
4722
4723// SetAgentArn sets the AgentArn field's value.
4724func (s *DeleteAgentInput) SetAgentArn(v string) *DeleteAgentInput {
4725	s.AgentArn = &v
4726	return s
4727}
4728
4729type DeleteAgentOutput struct {
4730	_ struct{} `type:"structure"`
4731}
4732
4733// String returns the string representation
4734func (s DeleteAgentOutput) String() string {
4735	return awsutil.Prettify(s)
4736}
4737
4738// GoString returns the string representation
4739func (s DeleteAgentOutput) GoString() string {
4740	return s.String()
4741}
4742
4743// DeleteLocation
4744type DeleteLocationInput struct {
4745	_ struct{} `type:"structure"`
4746
4747	// The Amazon Resource Name (ARN) of the location to delete.
4748	//
4749	// LocationArn is a required field
4750	LocationArn *string `type:"string" required:"true"`
4751}
4752
4753// String returns the string representation
4754func (s DeleteLocationInput) String() string {
4755	return awsutil.Prettify(s)
4756}
4757
4758// GoString returns the string representation
4759func (s DeleteLocationInput) GoString() string {
4760	return s.String()
4761}
4762
4763// Validate inspects the fields of the type to determine if they are valid.
4764func (s *DeleteLocationInput) Validate() error {
4765	invalidParams := request.ErrInvalidParams{Context: "DeleteLocationInput"}
4766	if s.LocationArn == nil {
4767		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
4768	}
4769
4770	if invalidParams.Len() > 0 {
4771		return invalidParams
4772	}
4773	return nil
4774}
4775
4776// SetLocationArn sets the LocationArn field's value.
4777func (s *DeleteLocationInput) SetLocationArn(v string) *DeleteLocationInput {
4778	s.LocationArn = &v
4779	return s
4780}
4781
4782type DeleteLocationOutput struct {
4783	_ struct{} `type:"structure"`
4784}
4785
4786// String returns the string representation
4787func (s DeleteLocationOutput) String() string {
4788	return awsutil.Prettify(s)
4789}
4790
4791// GoString returns the string representation
4792func (s DeleteLocationOutput) GoString() string {
4793	return s.String()
4794}
4795
4796// DeleteTask
4797type DeleteTaskInput struct {
4798	_ struct{} `type:"structure"`
4799
4800	// The Amazon Resource Name (ARN) of the task to delete.
4801	//
4802	// TaskArn is a required field
4803	TaskArn *string `type:"string" required:"true"`
4804}
4805
4806// String returns the string representation
4807func (s DeleteTaskInput) String() string {
4808	return awsutil.Prettify(s)
4809}
4810
4811// GoString returns the string representation
4812func (s DeleteTaskInput) GoString() string {
4813	return s.String()
4814}
4815
4816// Validate inspects the fields of the type to determine if they are valid.
4817func (s *DeleteTaskInput) Validate() error {
4818	invalidParams := request.ErrInvalidParams{Context: "DeleteTaskInput"}
4819	if s.TaskArn == nil {
4820		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
4821	}
4822
4823	if invalidParams.Len() > 0 {
4824		return invalidParams
4825	}
4826	return nil
4827}
4828
4829// SetTaskArn sets the TaskArn field's value.
4830func (s *DeleteTaskInput) SetTaskArn(v string) *DeleteTaskInput {
4831	s.TaskArn = &v
4832	return s
4833}
4834
4835type DeleteTaskOutput struct {
4836	_ struct{} `type:"structure"`
4837}
4838
4839// String returns the string representation
4840func (s DeleteTaskOutput) String() string {
4841	return awsutil.Prettify(s)
4842}
4843
4844// GoString returns the string representation
4845func (s DeleteTaskOutput) GoString() string {
4846	return s.String()
4847}
4848
4849// DescribeAgent
4850type DescribeAgentInput struct {
4851	_ struct{} `type:"structure"`
4852
4853	// The Amazon Resource Name (ARN) of the agent to describe.
4854	//
4855	// AgentArn is a required field
4856	AgentArn *string `type:"string" required:"true"`
4857}
4858
4859// String returns the string representation
4860func (s DescribeAgentInput) String() string {
4861	return awsutil.Prettify(s)
4862}
4863
4864// GoString returns the string representation
4865func (s DescribeAgentInput) GoString() string {
4866	return s.String()
4867}
4868
4869// Validate inspects the fields of the type to determine if they are valid.
4870func (s *DescribeAgentInput) Validate() error {
4871	invalidParams := request.ErrInvalidParams{Context: "DescribeAgentInput"}
4872	if s.AgentArn == nil {
4873		invalidParams.Add(request.NewErrParamRequired("AgentArn"))
4874	}
4875
4876	if invalidParams.Len() > 0 {
4877		return invalidParams
4878	}
4879	return nil
4880}
4881
4882// SetAgentArn sets the AgentArn field's value.
4883func (s *DescribeAgentInput) SetAgentArn(v string) *DescribeAgentInput {
4884	s.AgentArn = &v
4885	return s
4886}
4887
4888// DescribeAgentResponse
4889type DescribeAgentOutput struct {
4890	_ struct{} `type:"structure"`
4891
4892	// The Amazon Resource Name (ARN) of the agent.
4893	AgentArn *string `type:"string"`
4894
4895	// The time that the agent was activated (that is, created in your account).
4896	CreationTime *time.Time `type:"timestamp"`
4897
4898	// The type of endpoint that your agent is connected to. If the endpoint is
4899	// a VPC endpoint, the agent is not accessible over the public internet.
4900	EndpointType *string `type:"string" enum:"EndpointType"`
4901
4902	// The time that the agent last connected to DataSync.
4903	LastConnectionTime *time.Time `type:"timestamp"`
4904
4905	// The name of the agent.
4906	Name *string `min:"1" type:"string"`
4907
4908	// The subnet and the security group that DataSync used to access a VPC endpoint.
4909	PrivateLinkConfig *PrivateLinkConfig `type:"structure"`
4910
4911	// The status of the agent. If the status is ONLINE, then the agent is configured
4912	// properly and is available to use. The Running status is the normal running
4913	// status for an agent. If the status is OFFLINE, the agent's VM is turned off
4914	// or the agent is in an unhealthy state. When the issue that caused the unhealthy
4915	// state is resolved, the agent returns to ONLINE status.
4916	Status *string `type:"string" enum:"AgentStatus"`
4917}
4918
4919// String returns the string representation
4920func (s DescribeAgentOutput) String() string {
4921	return awsutil.Prettify(s)
4922}
4923
4924// GoString returns the string representation
4925func (s DescribeAgentOutput) GoString() string {
4926	return s.String()
4927}
4928
4929// SetAgentArn sets the AgentArn field's value.
4930func (s *DescribeAgentOutput) SetAgentArn(v string) *DescribeAgentOutput {
4931	s.AgentArn = &v
4932	return s
4933}
4934
4935// SetCreationTime sets the CreationTime field's value.
4936func (s *DescribeAgentOutput) SetCreationTime(v time.Time) *DescribeAgentOutput {
4937	s.CreationTime = &v
4938	return s
4939}
4940
4941// SetEndpointType sets the EndpointType field's value.
4942func (s *DescribeAgentOutput) SetEndpointType(v string) *DescribeAgentOutput {
4943	s.EndpointType = &v
4944	return s
4945}
4946
4947// SetLastConnectionTime sets the LastConnectionTime field's value.
4948func (s *DescribeAgentOutput) SetLastConnectionTime(v time.Time) *DescribeAgentOutput {
4949	s.LastConnectionTime = &v
4950	return s
4951}
4952
4953// SetName sets the Name field's value.
4954func (s *DescribeAgentOutput) SetName(v string) *DescribeAgentOutput {
4955	s.Name = &v
4956	return s
4957}
4958
4959// SetPrivateLinkConfig sets the PrivateLinkConfig field's value.
4960func (s *DescribeAgentOutput) SetPrivateLinkConfig(v *PrivateLinkConfig) *DescribeAgentOutput {
4961	s.PrivateLinkConfig = v
4962	return s
4963}
4964
4965// SetStatus sets the Status field's value.
4966func (s *DescribeAgentOutput) SetStatus(v string) *DescribeAgentOutput {
4967	s.Status = &v
4968	return s
4969}
4970
4971// DescribeLocationEfsRequest
4972type DescribeLocationEfsInput struct {
4973	_ struct{} `type:"structure"`
4974
4975	// The Amazon Resource Name (ARN) of the EFS location to describe.
4976	//
4977	// LocationArn is a required field
4978	LocationArn *string `type:"string" required:"true"`
4979}
4980
4981// String returns the string representation
4982func (s DescribeLocationEfsInput) String() string {
4983	return awsutil.Prettify(s)
4984}
4985
4986// GoString returns the string representation
4987func (s DescribeLocationEfsInput) GoString() string {
4988	return s.String()
4989}
4990
4991// Validate inspects the fields of the type to determine if they are valid.
4992func (s *DescribeLocationEfsInput) Validate() error {
4993	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationEfsInput"}
4994	if s.LocationArn == nil {
4995		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
4996	}
4997
4998	if invalidParams.Len() > 0 {
4999		return invalidParams
5000	}
5001	return nil
5002}
5003
5004// SetLocationArn sets the LocationArn field's value.
5005func (s *DescribeLocationEfsInput) SetLocationArn(v string) *DescribeLocationEfsInput {
5006	s.LocationArn = &v
5007	return s
5008}
5009
5010// DescribeLocationEfsResponse
5011type DescribeLocationEfsOutput struct {
5012	_ struct{} `type:"structure"`
5013
5014	// The time that the EFS location was created.
5015	CreationTime *time.Time `type:"timestamp"`
5016
5017	// The subnet and the security group that DataSync uses to access target EFS
5018	// file system. The subnet must have at least one mount target for that file
5019	// system. The security group that you provide needs to be able to communicate
5020	// with the security group on the mount target in the subnet specified.
5021	Ec2Config *Ec2Config `type:"structure"`
5022
5023	// The Amazon Resource Name (ARN) of the EFS location that was described.
5024	LocationArn *string `type:"string"`
5025
5026	// The URL of the EFS location that was described.
5027	LocationUri *string `type:"string"`
5028}
5029
5030// String returns the string representation
5031func (s DescribeLocationEfsOutput) String() string {
5032	return awsutil.Prettify(s)
5033}
5034
5035// GoString returns the string representation
5036func (s DescribeLocationEfsOutput) GoString() string {
5037	return s.String()
5038}
5039
5040// SetCreationTime sets the CreationTime field's value.
5041func (s *DescribeLocationEfsOutput) SetCreationTime(v time.Time) *DescribeLocationEfsOutput {
5042	s.CreationTime = &v
5043	return s
5044}
5045
5046// SetEc2Config sets the Ec2Config field's value.
5047func (s *DescribeLocationEfsOutput) SetEc2Config(v *Ec2Config) *DescribeLocationEfsOutput {
5048	s.Ec2Config = v
5049	return s
5050}
5051
5052// SetLocationArn sets the LocationArn field's value.
5053func (s *DescribeLocationEfsOutput) SetLocationArn(v string) *DescribeLocationEfsOutput {
5054	s.LocationArn = &v
5055	return s
5056}
5057
5058// SetLocationUri sets the LocationUri field's value.
5059func (s *DescribeLocationEfsOutput) SetLocationUri(v string) *DescribeLocationEfsOutput {
5060	s.LocationUri = &v
5061	return s
5062}
5063
5064type DescribeLocationFsxWindowsInput struct {
5065	_ struct{} `type:"structure"`
5066
5067	// The Amazon Resource Name (ARN) of the FSx for Windows File Server location
5068	// to describe.
5069	//
5070	// LocationArn is a required field
5071	LocationArn *string `type:"string" required:"true"`
5072}
5073
5074// String returns the string representation
5075func (s DescribeLocationFsxWindowsInput) String() string {
5076	return awsutil.Prettify(s)
5077}
5078
5079// GoString returns the string representation
5080func (s DescribeLocationFsxWindowsInput) GoString() string {
5081	return s.String()
5082}
5083
5084// Validate inspects the fields of the type to determine if they are valid.
5085func (s *DescribeLocationFsxWindowsInput) Validate() error {
5086	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationFsxWindowsInput"}
5087	if s.LocationArn == nil {
5088		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
5089	}
5090
5091	if invalidParams.Len() > 0 {
5092		return invalidParams
5093	}
5094	return nil
5095}
5096
5097// SetLocationArn sets the LocationArn field's value.
5098func (s *DescribeLocationFsxWindowsInput) SetLocationArn(v string) *DescribeLocationFsxWindowsInput {
5099	s.LocationArn = &v
5100	return s
5101}
5102
5103type DescribeLocationFsxWindowsOutput struct {
5104	_ struct{} `type:"structure"`
5105
5106	// The time that the FSx for Windows File Server location was created.
5107	CreationTime *time.Time `type:"timestamp"`
5108
5109	// The name of the Windows domain that the FSx for Windows File Server belongs
5110	// to.
5111	Domain *string `type:"string"`
5112
5113	// The Amazon Resource Name (ARN) of the FSx for Windows File Server location
5114	// that was described.
5115	LocationArn *string `type:"string"`
5116
5117	// The URL of the FSx for Windows File Server location that was described.
5118	LocationUri *string `type:"string"`
5119
5120	// The Amazon Resource Names (ARNs) of the security groups that are configured
5121	// for the FSx for Windows File Server file system.
5122	SecurityGroupArns []*string `min:"1" type:"list"`
5123
5124	// The user who has the permissions to access files and folders in the FSx for
5125	// Windows File Server file system.
5126	User *string `type:"string"`
5127}
5128
5129// String returns the string representation
5130func (s DescribeLocationFsxWindowsOutput) String() string {
5131	return awsutil.Prettify(s)
5132}
5133
5134// GoString returns the string representation
5135func (s DescribeLocationFsxWindowsOutput) GoString() string {
5136	return s.String()
5137}
5138
5139// SetCreationTime sets the CreationTime field's value.
5140func (s *DescribeLocationFsxWindowsOutput) SetCreationTime(v time.Time) *DescribeLocationFsxWindowsOutput {
5141	s.CreationTime = &v
5142	return s
5143}
5144
5145// SetDomain sets the Domain field's value.
5146func (s *DescribeLocationFsxWindowsOutput) SetDomain(v string) *DescribeLocationFsxWindowsOutput {
5147	s.Domain = &v
5148	return s
5149}
5150
5151// SetLocationArn sets the LocationArn field's value.
5152func (s *DescribeLocationFsxWindowsOutput) SetLocationArn(v string) *DescribeLocationFsxWindowsOutput {
5153	s.LocationArn = &v
5154	return s
5155}
5156
5157// SetLocationUri sets the LocationUri field's value.
5158func (s *DescribeLocationFsxWindowsOutput) SetLocationUri(v string) *DescribeLocationFsxWindowsOutput {
5159	s.LocationUri = &v
5160	return s
5161}
5162
5163// SetSecurityGroupArns sets the SecurityGroupArns field's value.
5164func (s *DescribeLocationFsxWindowsOutput) SetSecurityGroupArns(v []*string) *DescribeLocationFsxWindowsOutput {
5165	s.SecurityGroupArns = v
5166	return s
5167}
5168
5169// SetUser sets the User field's value.
5170func (s *DescribeLocationFsxWindowsOutput) SetUser(v string) *DescribeLocationFsxWindowsOutput {
5171	s.User = &v
5172	return s
5173}
5174
5175// DescribeLocationNfsRequest
5176type DescribeLocationNfsInput struct {
5177	_ struct{} `type:"structure"`
5178
5179	// The Amazon Resource Name (ARN) of the NFS location to describe.
5180	//
5181	// LocationArn is a required field
5182	LocationArn *string `type:"string" required:"true"`
5183}
5184
5185// String returns the string representation
5186func (s DescribeLocationNfsInput) String() string {
5187	return awsutil.Prettify(s)
5188}
5189
5190// GoString returns the string representation
5191func (s DescribeLocationNfsInput) GoString() string {
5192	return s.String()
5193}
5194
5195// Validate inspects the fields of the type to determine if they are valid.
5196func (s *DescribeLocationNfsInput) Validate() error {
5197	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationNfsInput"}
5198	if s.LocationArn == nil {
5199		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
5200	}
5201
5202	if invalidParams.Len() > 0 {
5203		return invalidParams
5204	}
5205	return nil
5206}
5207
5208// SetLocationArn sets the LocationArn field's value.
5209func (s *DescribeLocationNfsInput) SetLocationArn(v string) *DescribeLocationNfsInput {
5210	s.LocationArn = &v
5211	return s
5212}
5213
5214// DescribeLocationNfsResponse
5215type DescribeLocationNfsOutput struct {
5216	_ struct{} `type:"structure"`
5217
5218	// The time that the NFS location was created.
5219	CreationTime *time.Time `type:"timestamp"`
5220
5221	// The Amazon Resource Name (ARN) of the NFS location that was described.
5222	LocationArn *string `type:"string"`
5223
5224	// The URL of the source NFS location that was described.
5225	LocationUri *string `type:"string"`
5226
5227	// The NFS mount options that DataSync used to mount your NFS share.
5228	MountOptions *NfsMountOptions `type:"structure"`
5229
5230	// A list of Amazon Resource Names (ARNs) of agents to use for a Network File
5231	// System (NFS) location.
5232	OnPremConfig *OnPremConfig `type:"structure"`
5233}
5234
5235// String returns the string representation
5236func (s DescribeLocationNfsOutput) String() string {
5237	return awsutil.Prettify(s)
5238}
5239
5240// GoString returns the string representation
5241func (s DescribeLocationNfsOutput) GoString() string {
5242	return s.String()
5243}
5244
5245// SetCreationTime sets the CreationTime field's value.
5246func (s *DescribeLocationNfsOutput) SetCreationTime(v time.Time) *DescribeLocationNfsOutput {
5247	s.CreationTime = &v
5248	return s
5249}
5250
5251// SetLocationArn sets the LocationArn field's value.
5252func (s *DescribeLocationNfsOutput) SetLocationArn(v string) *DescribeLocationNfsOutput {
5253	s.LocationArn = &v
5254	return s
5255}
5256
5257// SetLocationUri sets the LocationUri field's value.
5258func (s *DescribeLocationNfsOutput) SetLocationUri(v string) *DescribeLocationNfsOutput {
5259	s.LocationUri = &v
5260	return s
5261}
5262
5263// SetMountOptions sets the MountOptions field's value.
5264func (s *DescribeLocationNfsOutput) SetMountOptions(v *NfsMountOptions) *DescribeLocationNfsOutput {
5265	s.MountOptions = v
5266	return s
5267}
5268
5269// SetOnPremConfig sets the OnPremConfig field's value.
5270func (s *DescribeLocationNfsOutput) SetOnPremConfig(v *OnPremConfig) *DescribeLocationNfsOutput {
5271	s.OnPremConfig = v
5272	return s
5273}
5274
5275// DescribeLocationObjectStorageRequest
5276type DescribeLocationObjectStorageInput struct {
5277	_ struct{} `type:"structure"`
5278
5279	// The Amazon Resource Name (ARN) of the self-managed object storage server
5280	// location that was described.
5281	//
5282	// LocationArn is a required field
5283	LocationArn *string `type:"string" required:"true"`
5284}
5285
5286// String returns the string representation
5287func (s DescribeLocationObjectStorageInput) String() string {
5288	return awsutil.Prettify(s)
5289}
5290
5291// GoString returns the string representation
5292func (s DescribeLocationObjectStorageInput) GoString() string {
5293	return s.String()
5294}
5295
5296// Validate inspects the fields of the type to determine if they are valid.
5297func (s *DescribeLocationObjectStorageInput) Validate() error {
5298	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationObjectStorageInput"}
5299	if s.LocationArn == nil {
5300		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
5301	}
5302
5303	if invalidParams.Len() > 0 {
5304		return invalidParams
5305	}
5306	return nil
5307}
5308
5309// SetLocationArn sets the LocationArn field's value.
5310func (s *DescribeLocationObjectStorageInput) SetLocationArn(v string) *DescribeLocationObjectStorageInput {
5311	s.LocationArn = &v
5312	return s
5313}
5314
5315// DescribeLocationObjectStorageResponse
5316type DescribeLocationObjectStorageOutput struct {
5317	_ struct{} `type:"structure"`
5318
5319	// Optional. The access key is used if credentials are required to access the
5320	// self-managed object storage server. If your object storage requires a user
5321	// name and password to authenticate, use AccessKey and SecretKey to provide
5322	// the user name and password, respectively.
5323	AccessKey *string `min:"8" type:"string"`
5324
5325	// The Amazon Resource Name (ARN) of the agents associated with the self-managed
5326	// object storage server location.
5327	AgentArns []*string `min:"1" type:"list"`
5328
5329	// The time that the self-managed object storage server agent was created.
5330	CreationTime *time.Time `type:"timestamp"`
5331
5332	// The Amazon Resource Name (ARN) of the self-managed object storage server
5333	// location to describe.
5334	LocationArn *string `type:"string"`
5335
5336	// The URL of the source self-managed object storage server location that was
5337	// described.
5338	LocationUri *string `type:"string"`
5339
5340	// The port that your self-managed object storage server accepts inbound network
5341	// traffic on. The server port is set by default to TCP 80 (HTTP) or TCP 443
5342	// (HTTPS).
5343	ServerPort *int64 `min:"1" type:"integer"`
5344
5345	// The protocol that the object storage server uses to communicate. Valid values
5346	// are HTTP or HTTPS.
5347	ServerProtocol *string `type:"string" enum:"ObjectStorageServerProtocol"`
5348}
5349
5350// String returns the string representation
5351func (s DescribeLocationObjectStorageOutput) String() string {
5352	return awsutil.Prettify(s)
5353}
5354
5355// GoString returns the string representation
5356func (s DescribeLocationObjectStorageOutput) GoString() string {
5357	return s.String()
5358}
5359
5360// SetAccessKey sets the AccessKey field's value.
5361func (s *DescribeLocationObjectStorageOutput) SetAccessKey(v string) *DescribeLocationObjectStorageOutput {
5362	s.AccessKey = &v
5363	return s
5364}
5365
5366// SetAgentArns sets the AgentArns field's value.
5367func (s *DescribeLocationObjectStorageOutput) SetAgentArns(v []*string) *DescribeLocationObjectStorageOutput {
5368	s.AgentArns = v
5369	return s
5370}
5371
5372// SetCreationTime sets the CreationTime field's value.
5373func (s *DescribeLocationObjectStorageOutput) SetCreationTime(v time.Time) *DescribeLocationObjectStorageOutput {
5374	s.CreationTime = &v
5375	return s
5376}
5377
5378// SetLocationArn sets the LocationArn field's value.
5379func (s *DescribeLocationObjectStorageOutput) SetLocationArn(v string) *DescribeLocationObjectStorageOutput {
5380	s.LocationArn = &v
5381	return s
5382}
5383
5384// SetLocationUri sets the LocationUri field's value.
5385func (s *DescribeLocationObjectStorageOutput) SetLocationUri(v string) *DescribeLocationObjectStorageOutput {
5386	s.LocationUri = &v
5387	return s
5388}
5389
5390// SetServerPort sets the ServerPort field's value.
5391func (s *DescribeLocationObjectStorageOutput) SetServerPort(v int64) *DescribeLocationObjectStorageOutput {
5392	s.ServerPort = &v
5393	return s
5394}
5395
5396// SetServerProtocol sets the ServerProtocol field's value.
5397func (s *DescribeLocationObjectStorageOutput) SetServerProtocol(v string) *DescribeLocationObjectStorageOutput {
5398	s.ServerProtocol = &v
5399	return s
5400}
5401
5402// DescribeLocationS3Request
5403type DescribeLocationS3Input struct {
5404	_ struct{} `type:"structure"`
5405
5406	// The Amazon Resource Name (ARN) of the Amazon S3 bucket location to describe.
5407	//
5408	// LocationArn is a required field
5409	LocationArn *string `type:"string" required:"true"`
5410}
5411
5412// String returns the string representation
5413func (s DescribeLocationS3Input) String() string {
5414	return awsutil.Prettify(s)
5415}
5416
5417// GoString returns the string representation
5418func (s DescribeLocationS3Input) GoString() string {
5419	return s.String()
5420}
5421
5422// Validate inspects the fields of the type to determine if they are valid.
5423func (s *DescribeLocationS3Input) Validate() error {
5424	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationS3Input"}
5425	if s.LocationArn == nil {
5426		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
5427	}
5428
5429	if invalidParams.Len() > 0 {
5430		return invalidParams
5431	}
5432	return nil
5433}
5434
5435// SetLocationArn sets the LocationArn field's value.
5436func (s *DescribeLocationS3Input) SetLocationArn(v string) *DescribeLocationS3Input {
5437	s.LocationArn = &v
5438	return s
5439}
5440
5441// DescribeLocationS3Response
5442type DescribeLocationS3Output struct {
5443	_ struct{} `type:"structure"`
5444
5445	// If you are using DataSync on an AWS Outpost, the Amazon Resource Name (ARNs)
5446	// of the EC2 agents deployed on your Outpost. For more information about launching
5447	// a DataSync agent on an AWS Outpost, see Deploy your DataSync agent on AWS
5448	// Outposts (https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent).
5449	AgentArns []*string `min:"1" type:"list"`
5450
5451	// The time that the Amazon S3 bucket location was created.
5452	CreationTime *time.Time `type:"timestamp"`
5453
5454	// The Amazon Resource Name (ARN) of the Amazon S3 bucket or access point.
5455	LocationArn *string `type:"string"`
5456
5457	// The URL of the Amazon S3 location that was described.
5458	LocationUri *string `type:"string"`
5459
5460	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
5461	// (IAM) role that is used to access an Amazon S3 bucket.
5462	//
5463	// For detailed information about using such a role, see Creating a Location
5464	// for Amazon S3 in the AWS DataSync User Guide.
5465	S3Config *S3Config `type:"structure"`
5466
5467	// The Amazon S3 storage class that you chose to store your files in when this
5468	// location is used as a task destination. For more information about S3 storage
5469	// classes, see Amazon S3 Storage Classes (http://aws.amazon.com/s3/storage-classes/).
5470	// Some storage classes have behaviors that can affect your S3 storage cost.
5471	// For detailed information, see Considerations when working with S3 storage
5472	// classes in DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes).
5473	S3StorageClass *string `type:"string" enum:"S3StorageClass"`
5474}
5475
5476// String returns the string representation
5477func (s DescribeLocationS3Output) String() string {
5478	return awsutil.Prettify(s)
5479}
5480
5481// GoString returns the string representation
5482func (s DescribeLocationS3Output) GoString() string {
5483	return s.String()
5484}
5485
5486// SetAgentArns sets the AgentArns field's value.
5487func (s *DescribeLocationS3Output) SetAgentArns(v []*string) *DescribeLocationS3Output {
5488	s.AgentArns = v
5489	return s
5490}
5491
5492// SetCreationTime sets the CreationTime field's value.
5493func (s *DescribeLocationS3Output) SetCreationTime(v time.Time) *DescribeLocationS3Output {
5494	s.CreationTime = &v
5495	return s
5496}
5497
5498// SetLocationArn sets the LocationArn field's value.
5499func (s *DescribeLocationS3Output) SetLocationArn(v string) *DescribeLocationS3Output {
5500	s.LocationArn = &v
5501	return s
5502}
5503
5504// SetLocationUri sets the LocationUri field's value.
5505func (s *DescribeLocationS3Output) SetLocationUri(v string) *DescribeLocationS3Output {
5506	s.LocationUri = &v
5507	return s
5508}
5509
5510// SetS3Config sets the S3Config field's value.
5511func (s *DescribeLocationS3Output) SetS3Config(v *S3Config) *DescribeLocationS3Output {
5512	s.S3Config = v
5513	return s
5514}
5515
5516// SetS3StorageClass sets the S3StorageClass field's value.
5517func (s *DescribeLocationS3Output) SetS3StorageClass(v string) *DescribeLocationS3Output {
5518	s.S3StorageClass = &v
5519	return s
5520}
5521
5522// DescribeLocationSmbRequest
5523type DescribeLocationSmbInput struct {
5524	_ struct{} `type:"structure"`
5525
5526	// The Amazon Resource Name (ARN) of the SMB location to describe.
5527	//
5528	// LocationArn is a required field
5529	LocationArn *string `type:"string" required:"true"`
5530}
5531
5532// String returns the string representation
5533func (s DescribeLocationSmbInput) String() string {
5534	return awsutil.Prettify(s)
5535}
5536
5537// GoString returns the string representation
5538func (s DescribeLocationSmbInput) GoString() string {
5539	return s.String()
5540}
5541
5542// Validate inspects the fields of the type to determine if they are valid.
5543func (s *DescribeLocationSmbInput) Validate() error {
5544	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationSmbInput"}
5545	if s.LocationArn == nil {
5546		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
5547	}
5548
5549	if invalidParams.Len() > 0 {
5550		return invalidParams
5551	}
5552	return nil
5553}
5554
5555// SetLocationArn sets the LocationArn field's value.
5556func (s *DescribeLocationSmbInput) SetLocationArn(v string) *DescribeLocationSmbInput {
5557	s.LocationArn = &v
5558	return s
5559}
5560
5561// DescribeLocationSmbResponse
5562type DescribeLocationSmbOutput struct {
5563	_ struct{} `type:"structure"`
5564
5565	// The Amazon Resource Name (ARN) of the source SMB file system location that
5566	// is created.
5567	AgentArns []*string `min:"1" type:"list"`
5568
5569	// The time that the SMB location was created.
5570	CreationTime *time.Time `type:"timestamp"`
5571
5572	// The name of the Windows domain that the SMB server belongs to.
5573	Domain *string `type:"string"`
5574
5575	// The Amazon Resource Name (ARN) of the SMB location that was described.
5576	LocationArn *string `type:"string"`
5577
5578	// The URL of the source SMB location that was described.
5579	LocationUri *string `type:"string"`
5580
5581	// The mount options that are available for DataSync to use to access an SMB
5582	// location.
5583	MountOptions *SmbMountOptions `type:"structure"`
5584
5585	// The user who can mount the share, has the permissions to access files and
5586	// folders in the SMB share.
5587	User *string `type:"string"`
5588}
5589
5590// String returns the string representation
5591func (s DescribeLocationSmbOutput) String() string {
5592	return awsutil.Prettify(s)
5593}
5594
5595// GoString returns the string representation
5596func (s DescribeLocationSmbOutput) GoString() string {
5597	return s.String()
5598}
5599
5600// SetAgentArns sets the AgentArns field's value.
5601func (s *DescribeLocationSmbOutput) SetAgentArns(v []*string) *DescribeLocationSmbOutput {
5602	s.AgentArns = v
5603	return s
5604}
5605
5606// SetCreationTime sets the CreationTime field's value.
5607func (s *DescribeLocationSmbOutput) SetCreationTime(v time.Time) *DescribeLocationSmbOutput {
5608	s.CreationTime = &v
5609	return s
5610}
5611
5612// SetDomain sets the Domain field's value.
5613func (s *DescribeLocationSmbOutput) SetDomain(v string) *DescribeLocationSmbOutput {
5614	s.Domain = &v
5615	return s
5616}
5617
5618// SetLocationArn sets the LocationArn field's value.
5619func (s *DescribeLocationSmbOutput) SetLocationArn(v string) *DescribeLocationSmbOutput {
5620	s.LocationArn = &v
5621	return s
5622}
5623
5624// SetLocationUri sets the LocationUri field's value.
5625func (s *DescribeLocationSmbOutput) SetLocationUri(v string) *DescribeLocationSmbOutput {
5626	s.LocationUri = &v
5627	return s
5628}
5629
5630// SetMountOptions sets the MountOptions field's value.
5631func (s *DescribeLocationSmbOutput) SetMountOptions(v *SmbMountOptions) *DescribeLocationSmbOutput {
5632	s.MountOptions = v
5633	return s
5634}
5635
5636// SetUser sets the User field's value.
5637func (s *DescribeLocationSmbOutput) SetUser(v string) *DescribeLocationSmbOutput {
5638	s.User = &v
5639	return s
5640}
5641
5642// DescribeTaskExecutionRequest
5643type DescribeTaskExecutionInput struct {
5644	_ struct{} `type:"structure"`
5645
5646	// The Amazon Resource Name (ARN) of the task that is being executed.
5647	//
5648	// TaskExecutionArn is a required field
5649	TaskExecutionArn *string `type:"string" required:"true"`
5650}
5651
5652// String returns the string representation
5653func (s DescribeTaskExecutionInput) String() string {
5654	return awsutil.Prettify(s)
5655}
5656
5657// GoString returns the string representation
5658func (s DescribeTaskExecutionInput) GoString() string {
5659	return s.String()
5660}
5661
5662// Validate inspects the fields of the type to determine if they are valid.
5663func (s *DescribeTaskExecutionInput) Validate() error {
5664	invalidParams := request.ErrInvalidParams{Context: "DescribeTaskExecutionInput"}
5665	if s.TaskExecutionArn == nil {
5666		invalidParams.Add(request.NewErrParamRequired("TaskExecutionArn"))
5667	}
5668
5669	if invalidParams.Len() > 0 {
5670		return invalidParams
5671	}
5672	return nil
5673}
5674
5675// SetTaskExecutionArn sets the TaskExecutionArn field's value.
5676func (s *DescribeTaskExecutionInput) SetTaskExecutionArn(v string) *DescribeTaskExecutionInput {
5677	s.TaskExecutionArn = &v
5678	return s
5679}
5680
5681// DescribeTaskExecutionResponse
5682type DescribeTaskExecutionOutput struct {
5683	_ struct{} `type:"structure"`
5684
5685	// The physical number of bytes transferred over the network.
5686	BytesTransferred *int64 `type:"long"`
5687
5688	// The number of logical bytes written to the destination AWS storage resource.
5689	BytesWritten *int64 `type:"long"`
5690
5691	// The estimated physical number of bytes that is to be transferred over the
5692	// network.
5693	EstimatedBytesToTransfer *int64 `type:"long"`
5694
5695	// The expected number of files that is to be transferred over the network.
5696	// This value is calculated during the PREPARING phase, before the TRANSFERRING
5697	// phase. This value is the expected number of files to be transferred. It's
5698	// calculated based on comparing the content of the source and destination locations
5699	// and finding the delta that needs to be transferred.
5700	EstimatedFilesToTransfer *int64 `type:"long"`
5701
5702	// A list of filter rules that determines which files to exclude from a task.
5703	// The list should contain a single filter string that consists of the patterns
5704	// to exclude. The patterns are delimited by "|" (that is, a pipe), for example:
5705	// "/folder1|/folder2"
5706	Excludes []*FilterRule `type:"list"`
5707
5708	// The actual number of files that was transferred over the network. This value
5709	// is calculated and updated on an ongoing basis during the TRANSFERRING phase.
5710	// It's updated periodically when each file is read from the source and sent
5711	// over the network.
5712	//
5713	// If failures occur during a transfer, this value can be less than EstimatedFilesToTransfer.
5714	// This value can also be greater than EstimatedFilesTransferred in some cases.
5715	// This element is implementation-specific for some location types, so don't
5716	// use it as an indicator for a correct file number or to monitor your task
5717	// execution.
5718	FilesTransferred *int64 `type:"long"`
5719
5720	// A list of filter rules that determines which files to include when running
5721	// a task. The list should contain a single filter string that consists of the
5722	// patterns to include. The patterns are delimited by "|" (that is, a pipe),
5723	// for example: "/folder1|/folder2"
5724	Includes []*FilterRule `type:"list"`
5725
5726	// Represents the options that are available to control the behavior of a StartTaskExecution
5727	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
5728	// operation. Behavior includes preserving metadata such as user ID (UID), group
5729	// ID (GID), and file permissions, and also overwriting files in the destination,
5730	// data integrity verification, and so on.
5731	//
5732	// A task has a set of default options associated with it. If you don't specify
5733	// an option in StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html),
5734	// the default value is used. You can override the defaults options on each
5735	// task execution by specifying an overriding Options value to StartTaskExecution
5736	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html).
5737	Options *Options `type:"structure"`
5738
5739	// The result of the task execution.
5740	Result *TaskExecutionResultDetail `type:"structure"`
5741
5742	// The time that the task execution was started.
5743	StartTime *time.Time `type:"timestamp"`
5744
5745	// The status of the task execution.
5746	//
5747	// For detailed information about task execution statuses, see Understanding
5748	// Task Statuses in the AWS DataSync User Guide.
5749	Status *string `type:"string" enum:"TaskExecutionStatus"`
5750
5751	// The Amazon Resource Name (ARN) of the task execution that was described.
5752	// TaskExecutionArn is hierarchical and includes TaskArn for the task that was
5753	// executed.
5754	//
5755	// For example, a TaskExecution value with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2/execution/exec-08ef1e88ec491019b
5756	// executed the task with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2.
5757	TaskExecutionArn *string `type:"string"`
5758}
5759
5760// String returns the string representation
5761func (s DescribeTaskExecutionOutput) String() string {
5762	return awsutil.Prettify(s)
5763}
5764
5765// GoString returns the string representation
5766func (s DescribeTaskExecutionOutput) GoString() string {
5767	return s.String()
5768}
5769
5770// SetBytesTransferred sets the BytesTransferred field's value.
5771func (s *DescribeTaskExecutionOutput) SetBytesTransferred(v int64) *DescribeTaskExecutionOutput {
5772	s.BytesTransferred = &v
5773	return s
5774}
5775
5776// SetBytesWritten sets the BytesWritten field's value.
5777func (s *DescribeTaskExecutionOutput) SetBytesWritten(v int64) *DescribeTaskExecutionOutput {
5778	s.BytesWritten = &v
5779	return s
5780}
5781
5782// SetEstimatedBytesToTransfer sets the EstimatedBytesToTransfer field's value.
5783func (s *DescribeTaskExecutionOutput) SetEstimatedBytesToTransfer(v int64) *DescribeTaskExecutionOutput {
5784	s.EstimatedBytesToTransfer = &v
5785	return s
5786}
5787
5788// SetEstimatedFilesToTransfer sets the EstimatedFilesToTransfer field's value.
5789func (s *DescribeTaskExecutionOutput) SetEstimatedFilesToTransfer(v int64) *DescribeTaskExecutionOutput {
5790	s.EstimatedFilesToTransfer = &v
5791	return s
5792}
5793
5794// SetExcludes sets the Excludes field's value.
5795func (s *DescribeTaskExecutionOutput) SetExcludes(v []*FilterRule) *DescribeTaskExecutionOutput {
5796	s.Excludes = v
5797	return s
5798}
5799
5800// SetFilesTransferred sets the FilesTransferred field's value.
5801func (s *DescribeTaskExecutionOutput) SetFilesTransferred(v int64) *DescribeTaskExecutionOutput {
5802	s.FilesTransferred = &v
5803	return s
5804}
5805
5806// SetIncludes sets the Includes field's value.
5807func (s *DescribeTaskExecutionOutput) SetIncludes(v []*FilterRule) *DescribeTaskExecutionOutput {
5808	s.Includes = v
5809	return s
5810}
5811
5812// SetOptions sets the Options field's value.
5813func (s *DescribeTaskExecutionOutput) SetOptions(v *Options) *DescribeTaskExecutionOutput {
5814	s.Options = v
5815	return s
5816}
5817
5818// SetResult sets the Result field's value.
5819func (s *DescribeTaskExecutionOutput) SetResult(v *TaskExecutionResultDetail) *DescribeTaskExecutionOutput {
5820	s.Result = v
5821	return s
5822}
5823
5824// SetStartTime sets the StartTime field's value.
5825func (s *DescribeTaskExecutionOutput) SetStartTime(v time.Time) *DescribeTaskExecutionOutput {
5826	s.StartTime = &v
5827	return s
5828}
5829
5830// SetStatus sets the Status field's value.
5831func (s *DescribeTaskExecutionOutput) SetStatus(v string) *DescribeTaskExecutionOutput {
5832	s.Status = &v
5833	return s
5834}
5835
5836// SetTaskExecutionArn sets the TaskExecutionArn field's value.
5837func (s *DescribeTaskExecutionOutput) SetTaskExecutionArn(v string) *DescribeTaskExecutionOutput {
5838	s.TaskExecutionArn = &v
5839	return s
5840}
5841
5842// DescribeTaskRequest
5843type DescribeTaskInput struct {
5844	_ struct{} `type:"structure"`
5845
5846	// The Amazon Resource Name (ARN) of the task to describe.
5847	//
5848	// TaskArn is a required field
5849	TaskArn *string `type:"string" required:"true"`
5850}
5851
5852// String returns the string representation
5853func (s DescribeTaskInput) String() string {
5854	return awsutil.Prettify(s)
5855}
5856
5857// GoString returns the string representation
5858func (s DescribeTaskInput) GoString() string {
5859	return s.String()
5860}
5861
5862// Validate inspects the fields of the type to determine if they are valid.
5863func (s *DescribeTaskInput) Validate() error {
5864	invalidParams := request.ErrInvalidParams{Context: "DescribeTaskInput"}
5865	if s.TaskArn == nil {
5866		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
5867	}
5868
5869	if invalidParams.Len() > 0 {
5870		return invalidParams
5871	}
5872	return nil
5873}
5874
5875// SetTaskArn sets the TaskArn field's value.
5876func (s *DescribeTaskInput) SetTaskArn(v string) *DescribeTaskInput {
5877	s.TaskArn = &v
5878	return s
5879}
5880
5881// DescribeTaskResponse
5882type DescribeTaskOutput struct {
5883	_ struct{} `type:"structure"`
5884
5885	// The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that was
5886	// used to monitor and log events in the task.
5887	//
5888	// For more information on these groups, see Working with Log Groups and Log
5889	// Streams in the Amazon CloudWatch User Guide.
5890	CloudWatchLogGroupArn *string `type:"string"`
5891
5892	// The time that the task was created.
5893	CreationTime *time.Time `type:"timestamp"`
5894
5895	// The Amazon Resource Name (ARN) of the task execution that is syncing files.
5896	CurrentTaskExecutionArn *string `type:"string"`
5897
5898	// The Amazon Resource Name (ARN) of the AWS storage resource's location.
5899	DestinationLocationArn *string `type:"string"`
5900
5901	// The Amazon Resource Name (ARN) of the destination ENIs (Elastic Network Interface)
5902	// that was created for your subnet.
5903	DestinationNetworkInterfaceArns []*string `type:"list"`
5904
5905	// Errors that AWS DataSync encountered during execution of the task. You can
5906	// use this error code to help troubleshoot issues.
5907	ErrorCode *string `type:"string"`
5908
5909	// Detailed description of an error that was encountered during the task execution.
5910	// You can use this information to help troubleshoot issues.
5911	ErrorDetail *string `type:"string"`
5912
5913	// A list of filter rules that determines which files to exclude from a task.
5914	// The list should contain a single filter string that consists of the patterns
5915	// to exclude. The patterns are delimited by "|" (that is, a pipe), for example:
5916	// "/folder1|/folder2"
5917	Excludes []*FilterRule `type:"list"`
5918
5919	// The name of the task that was described.
5920	Name *string `min:"1" type:"string"`
5921
5922	// The set of configuration options that control the behavior of a single execution
5923	// of the task that occurs when you call StartTaskExecution. You can configure
5924	// these options to preserve metadata such as user ID (UID) and group (GID),
5925	// file permissions, data integrity verification, and so on.
5926	//
5927	// For each individual task execution, you can override these options by specifying
5928	// the overriding OverrideOptions value to StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
5929	// operation.
5930	Options *Options `type:"structure"`
5931
5932	// The schedule used to periodically transfer files from a source to a destination
5933	// location.
5934	Schedule *TaskSchedule `type:"structure"`
5935
5936	// The Amazon Resource Name (ARN) of the source file system's location.
5937	SourceLocationArn *string `type:"string"`
5938
5939	// The Amazon Resource Name (ARN) of the source ENIs (Elastic Network Interface)
5940	// that was created for your subnet.
5941	SourceNetworkInterfaceArns []*string `type:"list"`
5942
5943	// The status of the task that was described.
5944	//
5945	// For detailed information about task execution statuses, see Understanding
5946	// Task Statuses in the AWS DataSync User Guide.
5947	Status *string `type:"string" enum:"TaskStatus"`
5948
5949	// The Amazon Resource Name (ARN) of the task that was described.
5950	TaskArn *string `type:"string"`
5951}
5952
5953// String returns the string representation
5954func (s DescribeTaskOutput) String() string {
5955	return awsutil.Prettify(s)
5956}
5957
5958// GoString returns the string representation
5959func (s DescribeTaskOutput) GoString() string {
5960	return s.String()
5961}
5962
5963// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
5964func (s *DescribeTaskOutput) SetCloudWatchLogGroupArn(v string) *DescribeTaskOutput {
5965	s.CloudWatchLogGroupArn = &v
5966	return s
5967}
5968
5969// SetCreationTime sets the CreationTime field's value.
5970func (s *DescribeTaskOutput) SetCreationTime(v time.Time) *DescribeTaskOutput {
5971	s.CreationTime = &v
5972	return s
5973}
5974
5975// SetCurrentTaskExecutionArn sets the CurrentTaskExecutionArn field's value.
5976func (s *DescribeTaskOutput) SetCurrentTaskExecutionArn(v string) *DescribeTaskOutput {
5977	s.CurrentTaskExecutionArn = &v
5978	return s
5979}
5980
5981// SetDestinationLocationArn sets the DestinationLocationArn field's value.
5982func (s *DescribeTaskOutput) SetDestinationLocationArn(v string) *DescribeTaskOutput {
5983	s.DestinationLocationArn = &v
5984	return s
5985}
5986
5987// SetDestinationNetworkInterfaceArns sets the DestinationNetworkInterfaceArns field's value.
5988func (s *DescribeTaskOutput) SetDestinationNetworkInterfaceArns(v []*string) *DescribeTaskOutput {
5989	s.DestinationNetworkInterfaceArns = v
5990	return s
5991}
5992
5993// SetErrorCode sets the ErrorCode field's value.
5994func (s *DescribeTaskOutput) SetErrorCode(v string) *DescribeTaskOutput {
5995	s.ErrorCode = &v
5996	return s
5997}
5998
5999// SetErrorDetail sets the ErrorDetail field's value.
6000func (s *DescribeTaskOutput) SetErrorDetail(v string) *DescribeTaskOutput {
6001	s.ErrorDetail = &v
6002	return s
6003}
6004
6005// SetExcludes sets the Excludes field's value.
6006func (s *DescribeTaskOutput) SetExcludes(v []*FilterRule) *DescribeTaskOutput {
6007	s.Excludes = v
6008	return s
6009}
6010
6011// SetName sets the Name field's value.
6012func (s *DescribeTaskOutput) SetName(v string) *DescribeTaskOutput {
6013	s.Name = &v
6014	return s
6015}
6016
6017// SetOptions sets the Options field's value.
6018func (s *DescribeTaskOutput) SetOptions(v *Options) *DescribeTaskOutput {
6019	s.Options = v
6020	return s
6021}
6022
6023// SetSchedule sets the Schedule field's value.
6024func (s *DescribeTaskOutput) SetSchedule(v *TaskSchedule) *DescribeTaskOutput {
6025	s.Schedule = v
6026	return s
6027}
6028
6029// SetSourceLocationArn sets the SourceLocationArn field's value.
6030func (s *DescribeTaskOutput) SetSourceLocationArn(v string) *DescribeTaskOutput {
6031	s.SourceLocationArn = &v
6032	return s
6033}
6034
6035// SetSourceNetworkInterfaceArns sets the SourceNetworkInterfaceArns field's value.
6036func (s *DescribeTaskOutput) SetSourceNetworkInterfaceArns(v []*string) *DescribeTaskOutput {
6037	s.SourceNetworkInterfaceArns = v
6038	return s
6039}
6040
6041// SetStatus sets the Status field's value.
6042func (s *DescribeTaskOutput) SetStatus(v string) *DescribeTaskOutput {
6043	s.Status = &v
6044	return s
6045}
6046
6047// SetTaskArn sets the TaskArn field's value.
6048func (s *DescribeTaskOutput) SetTaskArn(v string) *DescribeTaskOutput {
6049	s.TaskArn = &v
6050	return s
6051}
6052
6053// The subnet and the security group that DataSync uses to access target EFS
6054// file system. The subnet must have at least one mount target for that file
6055// system. The security group that you provide needs to be able to communicate
6056// with the security group on the mount target in the subnet specified.
6057type Ec2Config struct {
6058	_ struct{} `type:"structure"`
6059
6060	// The Amazon Resource Names (ARNs) of the security groups that are configured
6061	// for the Amazon EC2 resource.
6062	//
6063	// SecurityGroupArns is a required field
6064	SecurityGroupArns []*string `min:"1" type:"list" required:"true"`
6065
6066	// The ARN of the subnet and the security group that DataSync uses to access
6067	// the target EFS file system.
6068	//
6069	// SubnetArn is a required field
6070	SubnetArn *string `type:"string" required:"true"`
6071}
6072
6073// String returns the string representation
6074func (s Ec2Config) String() string {
6075	return awsutil.Prettify(s)
6076}
6077
6078// GoString returns the string representation
6079func (s Ec2Config) GoString() string {
6080	return s.String()
6081}
6082
6083// Validate inspects the fields of the type to determine if they are valid.
6084func (s *Ec2Config) Validate() error {
6085	invalidParams := request.ErrInvalidParams{Context: "Ec2Config"}
6086	if s.SecurityGroupArns == nil {
6087		invalidParams.Add(request.NewErrParamRequired("SecurityGroupArns"))
6088	}
6089	if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 {
6090		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1))
6091	}
6092	if s.SubnetArn == nil {
6093		invalidParams.Add(request.NewErrParamRequired("SubnetArn"))
6094	}
6095
6096	if invalidParams.Len() > 0 {
6097		return invalidParams
6098	}
6099	return nil
6100}
6101
6102// SetSecurityGroupArns sets the SecurityGroupArns field's value.
6103func (s *Ec2Config) SetSecurityGroupArns(v []*string) *Ec2Config {
6104	s.SecurityGroupArns = v
6105	return s
6106}
6107
6108// SetSubnetArn sets the SubnetArn field's value.
6109func (s *Ec2Config) SetSubnetArn(v string) *Ec2Config {
6110	s.SubnetArn = &v
6111	return s
6112}
6113
6114// Specifies which files, folders, and objects to include or exclude when transferring
6115// files from source to destination.
6116type FilterRule struct {
6117	_ struct{} `type:"structure"`
6118
6119	// The type of filter rule to apply. AWS DataSync only supports the SIMPLE_PATTERN
6120	// rule type.
6121	FilterType *string `type:"string" enum:"FilterType"`
6122
6123	// A single filter string that consists of the patterns to include or exclude.
6124	// The patterns are delimited by "|" (that is, a pipe), for example: /folder1|/folder2
6125	Value *string `type:"string"`
6126}
6127
6128// String returns the string representation
6129func (s FilterRule) String() string {
6130	return awsutil.Prettify(s)
6131}
6132
6133// GoString returns the string representation
6134func (s FilterRule) GoString() string {
6135	return s.String()
6136}
6137
6138// SetFilterType sets the FilterType field's value.
6139func (s *FilterRule) SetFilterType(v string) *FilterRule {
6140	s.FilterType = &v
6141	return s
6142}
6143
6144// SetValue sets the Value field's value.
6145func (s *FilterRule) SetValue(v string) *FilterRule {
6146	s.Value = &v
6147	return s
6148}
6149
6150// This exception is thrown when an error occurs in the AWS DataSync service.
6151type InternalException struct {
6152	_            struct{}                  `type:"structure"`
6153	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6154
6155	ErrorCode *string `locationName:"errorCode" type:"string"`
6156
6157	Message_ *string `locationName:"message" type:"string"`
6158}
6159
6160// String returns the string representation
6161func (s InternalException) String() string {
6162	return awsutil.Prettify(s)
6163}
6164
6165// GoString returns the string representation
6166func (s InternalException) GoString() string {
6167	return s.String()
6168}
6169
6170func newErrorInternalException(v protocol.ResponseMetadata) error {
6171	return &InternalException{
6172		RespMetadata: v,
6173	}
6174}
6175
6176// Code returns the exception type name.
6177func (s *InternalException) Code() string {
6178	return "InternalException"
6179}
6180
6181// Message returns the exception's message.
6182func (s *InternalException) Message() string {
6183	if s.Message_ != nil {
6184		return *s.Message_
6185	}
6186	return ""
6187}
6188
6189// OrigErr always returns nil, satisfies awserr.Error interface.
6190func (s *InternalException) OrigErr() error {
6191	return nil
6192}
6193
6194func (s *InternalException) Error() string {
6195	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6196}
6197
6198// Status code returns the HTTP status code for the request's response error.
6199func (s *InternalException) StatusCode() int {
6200	return s.RespMetadata.StatusCode
6201}
6202
6203// RequestID returns the service's response RequestID for request.
6204func (s *InternalException) RequestID() string {
6205	return s.RespMetadata.RequestID
6206}
6207
6208// This exception is thrown when the client submits a malformed request.
6209type InvalidRequestException struct {
6210	_            struct{}                  `type:"structure"`
6211	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6212
6213	ErrorCode *string `locationName:"errorCode" type:"string"`
6214
6215	Message_ *string `locationName:"message" type:"string"`
6216}
6217
6218// String returns the string representation
6219func (s InvalidRequestException) String() string {
6220	return awsutil.Prettify(s)
6221}
6222
6223// GoString returns the string representation
6224func (s InvalidRequestException) GoString() string {
6225	return s.String()
6226}
6227
6228func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
6229	return &InvalidRequestException{
6230		RespMetadata: v,
6231	}
6232}
6233
6234// Code returns the exception type name.
6235func (s *InvalidRequestException) Code() string {
6236	return "InvalidRequestException"
6237}
6238
6239// Message returns the exception's message.
6240func (s *InvalidRequestException) Message() string {
6241	if s.Message_ != nil {
6242		return *s.Message_
6243	}
6244	return ""
6245}
6246
6247// OrigErr always returns nil, satisfies awserr.Error interface.
6248func (s *InvalidRequestException) OrigErr() error {
6249	return nil
6250}
6251
6252func (s *InvalidRequestException) Error() string {
6253	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6254}
6255
6256// Status code returns the HTTP status code for the request's response error.
6257func (s *InvalidRequestException) StatusCode() int {
6258	return s.RespMetadata.StatusCode
6259}
6260
6261// RequestID returns the service's response RequestID for request.
6262func (s *InvalidRequestException) RequestID() string {
6263	return s.RespMetadata.RequestID
6264}
6265
6266// ListAgentsRequest
6267type ListAgentsInput struct {
6268	_ struct{} `type:"structure"`
6269
6270	// The maximum number of agents to list.
6271	MaxResults *int64 `type:"integer"`
6272
6273	// An opaque string that indicates the position at which to begin the next list
6274	// of agents.
6275	NextToken *string `type:"string"`
6276}
6277
6278// String returns the string representation
6279func (s ListAgentsInput) String() string {
6280	return awsutil.Prettify(s)
6281}
6282
6283// GoString returns the string representation
6284func (s ListAgentsInput) GoString() string {
6285	return s.String()
6286}
6287
6288// SetMaxResults sets the MaxResults field's value.
6289func (s *ListAgentsInput) SetMaxResults(v int64) *ListAgentsInput {
6290	s.MaxResults = &v
6291	return s
6292}
6293
6294// SetNextToken sets the NextToken field's value.
6295func (s *ListAgentsInput) SetNextToken(v string) *ListAgentsInput {
6296	s.NextToken = &v
6297	return s
6298}
6299
6300// ListAgentsResponse
6301type ListAgentsOutput struct {
6302	_ struct{} `type:"structure"`
6303
6304	// A list of agents in your account.
6305	Agents []*AgentListEntry `type:"list"`
6306
6307	// An opaque string that indicates the position at which to begin returning
6308	// the next list of agents.
6309	NextToken *string `type:"string"`
6310}
6311
6312// String returns the string representation
6313func (s ListAgentsOutput) String() string {
6314	return awsutil.Prettify(s)
6315}
6316
6317// GoString returns the string representation
6318func (s ListAgentsOutput) GoString() string {
6319	return s.String()
6320}
6321
6322// SetAgents sets the Agents field's value.
6323func (s *ListAgentsOutput) SetAgents(v []*AgentListEntry) *ListAgentsOutput {
6324	s.Agents = v
6325	return s
6326}
6327
6328// SetNextToken sets the NextToken field's value.
6329func (s *ListAgentsOutput) SetNextToken(v string) *ListAgentsOutput {
6330	s.NextToken = &v
6331	return s
6332}
6333
6334// ListLocationsRequest
6335type ListLocationsInput struct {
6336	_ struct{} `type:"structure"`
6337
6338	// You can use API filters to narrow down the list of resources returned by
6339	// ListLocations. For example, to retrieve all tasks on a specific source location,
6340	// you can use ListLocations with filter name LocationType S3 and Operator Equals.
6341	Filters []*LocationFilter `type:"list"`
6342
6343	// The maximum number of locations to return.
6344	MaxResults *int64 `type:"integer"`
6345
6346	// An opaque string that indicates the position at which to begin the next list
6347	// of locations.
6348	NextToken *string `type:"string"`
6349}
6350
6351// String returns the string representation
6352func (s ListLocationsInput) String() string {
6353	return awsutil.Prettify(s)
6354}
6355
6356// GoString returns the string representation
6357func (s ListLocationsInput) GoString() string {
6358	return s.String()
6359}
6360
6361// Validate inspects the fields of the type to determine if they are valid.
6362func (s *ListLocationsInput) Validate() error {
6363	invalidParams := request.ErrInvalidParams{Context: "ListLocationsInput"}
6364	if s.Filters != nil {
6365		for i, v := range s.Filters {
6366			if v == nil {
6367				continue
6368			}
6369			if err := v.Validate(); err != nil {
6370				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
6371			}
6372		}
6373	}
6374
6375	if invalidParams.Len() > 0 {
6376		return invalidParams
6377	}
6378	return nil
6379}
6380
6381// SetFilters sets the Filters field's value.
6382func (s *ListLocationsInput) SetFilters(v []*LocationFilter) *ListLocationsInput {
6383	s.Filters = v
6384	return s
6385}
6386
6387// SetMaxResults sets the MaxResults field's value.
6388func (s *ListLocationsInput) SetMaxResults(v int64) *ListLocationsInput {
6389	s.MaxResults = &v
6390	return s
6391}
6392
6393// SetNextToken sets the NextToken field's value.
6394func (s *ListLocationsInput) SetNextToken(v string) *ListLocationsInput {
6395	s.NextToken = &v
6396	return s
6397}
6398
6399// ListLocationsResponse
6400type ListLocationsOutput struct {
6401	_ struct{} `type:"structure"`
6402
6403	// An array that contains a list of locations.
6404	Locations []*LocationListEntry `type:"list"`
6405
6406	// An opaque string that indicates the position at which to begin returning
6407	// the next list of locations.
6408	NextToken *string `type:"string"`
6409}
6410
6411// String returns the string representation
6412func (s ListLocationsOutput) String() string {
6413	return awsutil.Prettify(s)
6414}
6415
6416// GoString returns the string representation
6417func (s ListLocationsOutput) GoString() string {
6418	return s.String()
6419}
6420
6421// SetLocations sets the Locations field's value.
6422func (s *ListLocationsOutput) SetLocations(v []*LocationListEntry) *ListLocationsOutput {
6423	s.Locations = v
6424	return s
6425}
6426
6427// SetNextToken sets the NextToken field's value.
6428func (s *ListLocationsOutput) SetNextToken(v string) *ListLocationsOutput {
6429	s.NextToken = &v
6430	return s
6431}
6432
6433// ListTagsForResourceRequest
6434type ListTagsForResourceInput struct {
6435	_ struct{} `type:"structure"`
6436
6437	// The maximum number of locations to return.
6438	MaxResults *int64 `type:"integer"`
6439
6440	// An opaque string that indicates the position at which to begin the next list
6441	// of locations.
6442	NextToken *string `type:"string"`
6443
6444	// The Amazon Resource Name (ARN) of the resource whose tags to list.
6445	//
6446	// ResourceArn is a required field
6447	ResourceArn *string `type:"string" required:"true"`
6448}
6449
6450// String returns the string representation
6451func (s ListTagsForResourceInput) String() string {
6452	return awsutil.Prettify(s)
6453}
6454
6455// GoString returns the string representation
6456func (s ListTagsForResourceInput) GoString() string {
6457	return s.String()
6458}
6459
6460// Validate inspects the fields of the type to determine if they are valid.
6461func (s *ListTagsForResourceInput) Validate() error {
6462	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
6463	if s.ResourceArn == nil {
6464		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6465	}
6466
6467	if invalidParams.Len() > 0 {
6468		return invalidParams
6469	}
6470	return nil
6471}
6472
6473// SetMaxResults sets the MaxResults field's value.
6474func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput {
6475	s.MaxResults = &v
6476	return s
6477}
6478
6479// SetNextToken sets the NextToken field's value.
6480func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
6481	s.NextToken = &v
6482	return s
6483}
6484
6485// SetResourceArn sets the ResourceArn field's value.
6486func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
6487	s.ResourceArn = &v
6488	return s
6489}
6490
6491// ListTagsForResourceResponse
6492type ListTagsForResourceOutput struct {
6493	_ struct{} `type:"structure"`
6494
6495	// An opaque string that indicates the position at which to begin returning
6496	// the next list of resource tags.
6497	NextToken *string `type:"string"`
6498
6499	// Array of resource tags.
6500	Tags []*TagListEntry `type:"list"`
6501}
6502
6503// String returns the string representation
6504func (s ListTagsForResourceOutput) String() string {
6505	return awsutil.Prettify(s)
6506}
6507
6508// GoString returns the string representation
6509func (s ListTagsForResourceOutput) GoString() string {
6510	return s.String()
6511}
6512
6513// SetNextToken sets the NextToken field's value.
6514func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
6515	s.NextToken = &v
6516	return s
6517}
6518
6519// SetTags sets the Tags field's value.
6520func (s *ListTagsForResourceOutput) SetTags(v []*TagListEntry) *ListTagsForResourceOutput {
6521	s.Tags = v
6522	return s
6523}
6524
6525// ListTaskExecutions
6526type ListTaskExecutionsInput struct {
6527	_ struct{} `type:"structure"`
6528
6529	// The maximum number of executed tasks to list.
6530	MaxResults *int64 `type:"integer"`
6531
6532	// An opaque string that indicates the position at which to begin the next list
6533	// of the executed tasks.
6534	NextToken *string `type:"string"`
6535
6536	// The Amazon Resource Name (ARN) of the task whose tasks you want to list.
6537	TaskArn *string `type:"string"`
6538}
6539
6540// String returns the string representation
6541func (s ListTaskExecutionsInput) String() string {
6542	return awsutil.Prettify(s)
6543}
6544
6545// GoString returns the string representation
6546func (s ListTaskExecutionsInput) GoString() string {
6547	return s.String()
6548}
6549
6550// SetMaxResults sets the MaxResults field's value.
6551func (s *ListTaskExecutionsInput) SetMaxResults(v int64) *ListTaskExecutionsInput {
6552	s.MaxResults = &v
6553	return s
6554}
6555
6556// SetNextToken sets the NextToken field's value.
6557func (s *ListTaskExecutionsInput) SetNextToken(v string) *ListTaskExecutionsInput {
6558	s.NextToken = &v
6559	return s
6560}
6561
6562// SetTaskArn sets the TaskArn field's value.
6563func (s *ListTaskExecutionsInput) SetTaskArn(v string) *ListTaskExecutionsInput {
6564	s.TaskArn = &v
6565	return s
6566}
6567
6568// ListTaskExecutionsResponse
6569type ListTaskExecutionsOutput struct {
6570	_ struct{} `type:"structure"`
6571
6572	// An opaque string that indicates the position at which to begin returning
6573	// the next list of executed tasks.
6574	NextToken *string `type:"string"`
6575
6576	// A list of executed tasks.
6577	TaskExecutions []*TaskExecutionListEntry `type:"list"`
6578}
6579
6580// String returns the string representation
6581func (s ListTaskExecutionsOutput) String() string {
6582	return awsutil.Prettify(s)
6583}
6584
6585// GoString returns the string representation
6586func (s ListTaskExecutionsOutput) GoString() string {
6587	return s.String()
6588}
6589
6590// SetNextToken sets the NextToken field's value.
6591func (s *ListTaskExecutionsOutput) SetNextToken(v string) *ListTaskExecutionsOutput {
6592	s.NextToken = &v
6593	return s
6594}
6595
6596// SetTaskExecutions sets the TaskExecutions field's value.
6597func (s *ListTaskExecutionsOutput) SetTaskExecutions(v []*TaskExecutionListEntry) *ListTaskExecutionsOutput {
6598	s.TaskExecutions = v
6599	return s
6600}
6601
6602// ListTasksRequest
6603type ListTasksInput struct {
6604	_ struct{} `type:"structure"`
6605
6606	// You can use API filters to narrow down the list of resources returned by
6607	// ListTasks. For example, to retrieve all tasks on a specific source location,
6608	// you can use ListTasks with filter name LocationId and Operator Equals with
6609	// the ARN for the location.
6610	Filters []*TaskFilter `type:"list"`
6611
6612	// The maximum number of tasks to return.
6613	MaxResults *int64 `type:"integer"`
6614
6615	// An opaque string that indicates the position at which to begin the next list
6616	// of tasks.
6617	NextToken *string `type:"string"`
6618}
6619
6620// String returns the string representation
6621func (s ListTasksInput) String() string {
6622	return awsutil.Prettify(s)
6623}
6624
6625// GoString returns the string representation
6626func (s ListTasksInput) GoString() string {
6627	return s.String()
6628}
6629
6630// Validate inspects the fields of the type to determine if they are valid.
6631func (s *ListTasksInput) Validate() error {
6632	invalidParams := request.ErrInvalidParams{Context: "ListTasksInput"}
6633	if s.Filters != nil {
6634		for i, v := range s.Filters {
6635			if v == nil {
6636				continue
6637			}
6638			if err := v.Validate(); err != nil {
6639				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
6640			}
6641		}
6642	}
6643
6644	if invalidParams.Len() > 0 {
6645		return invalidParams
6646	}
6647	return nil
6648}
6649
6650// SetFilters sets the Filters field's value.
6651func (s *ListTasksInput) SetFilters(v []*TaskFilter) *ListTasksInput {
6652	s.Filters = v
6653	return s
6654}
6655
6656// SetMaxResults sets the MaxResults field's value.
6657func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput {
6658	s.MaxResults = &v
6659	return s
6660}
6661
6662// SetNextToken sets the NextToken field's value.
6663func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput {
6664	s.NextToken = &v
6665	return s
6666}
6667
6668// ListTasksResponse
6669type ListTasksOutput struct {
6670	_ struct{} `type:"structure"`
6671
6672	// An opaque string that indicates the position at which to begin returning
6673	// the next list of tasks.
6674	NextToken *string `type:"string"`
6675
6676	// A list of all the tasks that are returned.
6677	Tasks []*TaskListEntry `type:"list"`
6678}
6679
6680// String returns the string representation
6681func (s ListTasksOutput) String() string {
6682	return awsutil.Prettify(s)
6683}
6684
6685// GoString returns the string representation
6686func (s ListTasksOutput) GoString() string {
6687	return s.String()
6688}
6689
6690// SetNextToken sets the NextToken field's value.
6691func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput {
6692	s.NextToken = &v
6693	return s
6694}
6695
6696// SetTasks sets the Tasks field's value.
6697func (s *ListTasksOutput) SetTasks(v []*TaskListEntry) *ListTasksOutput {
6698	s.Tasks = v
6699	return s
6700}
6701
6702// You can use API filters to narrow down the list of resources returned by
6703// ListLocations. For example, to retrieve all your Amazon S3 locations, you
6704// can use ListLocations with filter name LocationType S3 and Operator Equals.
6705type LocationFilter struct {
6706	_ struct{} `type:"structure"`
6707
6708	// The name of the filter being used. Each API call supports a list of filters
6709	// that are available for it (for example, LocationType for ListLocations).
6710	//
6711	// Name is a required field
6712	Name *string `type:"string" required:"true" enum:"LocationFilterName"`
6713
6714	// The operator that is used to compare filter values (for example, Equals or
6715	// Contains). For more about API filtering operators, see API filters for ListTasks
6716	// and ListLocations (https://docs.aws.amazon.com/datasync/latest/userguide/query-resources.html).
6717	//
6718	// Operator is a required field
6719	Operator *string `type:"string" required:"true" enum:"Operator"`
6720
6721	// The values that you want to filter for. For example, you might want to display
6722	// only Amazon S3 locations.
6723	//
6724	// Values is a required field
6725	Values []*string `type:"list" required:"true"`
6726}
6727
6728// String returns the string representation
6729func (s LocationFilter) String() string {
6730	return awsutil.Prettify(s)
6731}
6732
6733// GoString returns the string representation
6734func (s LocationFilter) GoString() string {
6735	return s.String()
6736}
6737
6738// Validate inspects the fields of the type to determine if they are valid.
6739func (s *LocationFilter) Validate() error {
6740	invalidParams := request.ErrInvalidParams{Context: "LocationFilter"}
6741	if s.Name == nil {
6742		invalidParams.Add(request.NewErrParamRequired("Name"))
6743	}
6744	if s.Operator == nil {
6745		invalidParams.Add(request.NewErrParamRequired("Operator"))
6746	}
6747	if s.Values == nil {
6748		invalidParams.Add(request.NewErrParamRequired("Values"))
6749	}
6750
6751	if invalidParams.Len() > 0 {
6752		return invalidParams
6753	}
6754	return nil
6755}
6756
6757// SetName sets the Name field's value.
6758func (s *LocationFilter) SetName(v string) *LocationFilter {
6759	s.Name = &v
6760	return s
6761}
6762
6763// SetOperator sets the Operator field's value.
6764func (s *LocationFilter) SetOperator(v string) *LocationFilter {
6765	s.Operator = &v
6766	return s
6767}
6768
6769// SetValues sets the Values field's value.
6770func (s *LocationFilter) SetValues(v []*string) *LocationFilter {
6771	s.Values = v
6772	return s
6773}
6774
6775// Represents a single entry in a list of locations. LocationListEntry returns
6776// an array that contains a list of locations when the ListLocations (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListLocations.html)
6777// operation is called.
6778type LocationListEntry struct {
6779	_ struct{} `type:"structure"`
6780
6781	// The Amazon Resource Name (ARN) of the location. For Network File System (NFS)
6782	// or Amazon EFS, the location is the export path. For Amazon S3, the location
6783	// is the prefix path that you want to mount and use as the root of the location.
6784	LocationArn *string `type:"string"`
6785
6786	// Represents a list of URLs of a location. LocationUri returns an array that
6787	// contains a list of locations when the ListLocations (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListLocations.html)
6788	// operation is called.
6789	//
6790	// Format: TYPE://GLOBAL_ID/SUBDIR.
6791	//
6792	// TYPE designates the type of location. Valid values: NFS | EFS | S3.
6793	//
6794	// GLOBAL_ID is the globally unique identifier of the resource that backs the
6795	// location. An example for EFS is us-east-2.fs-abcd1234. An example for Amazon
6796	// S3 is the bucket name, such as myBucket. An example for NFS is a valid IPv4
6797	// address or a host name compliant with Domain Name Service (DNS).
6798	//
6799	// SUBDIR is a valid file system path, delimited by forward slashes as is the
6800	// *nix convention. For NFS and Amazon EFS, it's the export path to mount the
6801	// location. For Amazon S3, it's the prefix path that you mount to and treat
6802	// as the root of the location.
6803	LocationUri *string `type:"string"`
6804}
6805
6806// String returns the string representation
6807func (s LocationListEntry) String() string {
6808	return awsutil.Prettify(s)
6809}
6810
6811// GoString returns the string representation
6812func (s LocationListEntry) GoString() string {
6813	return s.String()
6814}
6815
6816// SetLocationArn sets the LocationArn field's value.
6817func (s *LocationListEntry) SetLocationArn(v string) *LocationListEntry {
6818	s.LocationArn = &v
6819	return s
6820}
6821
6822// SetLocationUri sets the LocationUri field's value.
6823func (s *LocationListEntry) SetLocationUri(v string) *LocationListEntry {
6824	s.LocationUri = &v
6825	return s
6826}
6827
6828// Represents the mount options that are available for DataSync to access an
6829// NFS location.
6830type NfsMountOptions struct {
6831	_ struct{} `type:"structure"`
6832
6833	// The specific NFS version that you want DataSync to use to mount your NFS
6834	// share. If the server refuses to use the version specified, the sync will
6835	// fail. If you don't specify a version, DataSync defaults to AUTOMATIC. That
6836	// is, DataSync automatically selects a version based on negotiation with the
6837	// NFS server.
6838	//
6839	// You can specify the following NFS versions:
6840	//
6841	//    * NFSv3 (https://tools.ietf.org/html/rfc1813) - stateless protocol version
6842	//    that allows for asynchronous writes on the server.
6843	//
6844	//    * NFSv4.0 (https://tools.ietf.org/html/rfc3530) - stateful, firewall-friendly
6845	//    protocol version that supports delegations and pseudo filesystems.
6846	//
6847	//    * NFSv4.1 (https://tools.ietf.org/html/rfc5661) - stateful protocol version
6848	//    that supports sessions, directory delegations, and parallel data processing.
6849	//    Version 4.1 also includes all features available in version 4.0.
6850	Version *string `type:"string" enum:"NfsVersion"`
6851}
6852
6853// String returns the string representation
6854func (s NfsMountOptions) String() string {
6855	return awsutil.Prettify(s)
6856}
6857
6858// GoString returns the string representation
6859func (s NfsMountOptions) GoString() string {
6860	return s.String()
6861}
6862
6863// SetVersion sets the Version field's value.
6864func (s *NfsMountOptions) SetVersion(v string) *NfsMountOptions {
6865	s.Version = &v
6866	return s
6867}
6868
6869// A list of Amazon Resource Names (ARNs) of agents to use for a Network File
6870// System (NFS) location.
6871type OnPremConfig struct {
6872	_ struct{} `type:"structure"`
6873
6874	// ARNs of the agents to use for an NFS location.
6875	//
6876	// AgentArns is a required field
6877	AgentArns []*string `min:"1" type:"list" required:"true"`
6878}
6879
6880// String returns the string representation
6881func (s OnPremConfig) String() string {
6882	return awsutil.Prettify(s)
6883}
6884
6885// GoString returns the string representation
6886func (s OnPremConfig) GoString() string {
6887	return s.String()
6888}
6889
6890// Validate inspects the fields of the type to determine if they are valid.
6891func (s *OnPremConfig) Validate() error {
6892	invalidParams := request.ErrInvalidParams{Context: "OnPremConfig"}
6893	if s.AgentArns == nil {
6894		invalidParams.Add(request.NewErrParamRequired("AgentArns"))
6895	}
6896	if s.AgentArns != nil && len(s.AgentArns) < 1 {
6897		invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1))
6898	}
6899
6900	if invalidParams.Len() > 0 {
6901		return invalidParams
6902	}
6903	return nil
6904}
6905
6906// SetAgentArns sets the AgentArns field's value.
6907func (s *OnPremConfig) SetAgentArns(v []*string) *OnPremConfig {
6908	s.AgentArns = v
6909	return s
6910}
6911
6912// Represents the options that are available to control the behavior of a StartTaskExecution
6913// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
6914// operation. Behavior includes preserving metadata such as user ID (UID), group
6915// ID (GID), and file permissions, and also overwriting files in the destination,
6916// data integrity verification, and so on.
6917//
6918// A task has a set of default options associated with it. If you don't specify
6919// an option in StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html),
6920// the default value is used. You can override the defaults options on each
6921// task execution by specifying an overriding Options value to StartTaskExecution
6922// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html).
6923type Options struct {
6924	_ struct{} `type:"structure"`
6925
6926	// A file metadata value that shows the last time a file was accessed (that
6927	// is, when the file was read or written to). If you set Atime to BEST_EFFORT,
6928	// DataSync attempts to preserve the original Atime attribute on all source
6929	// files (that is, the version before the PREPARING phase). However, Atime's
6930	// behavior is not fully standard across platforms, so AWS DataSync can only
6931	// do this on a best-effort basis.
6932	//
6933	// Default value: BEST_EFFORT.
6934	//
6935	// BEST_EFFORT: Attempt to preserve the per-file Atime value (recommended).
6936	//
6937	// NONE: Ignore Atime.
6938	//
6939	// If Atime is set to BEST_EFFORT, Mtime must be set to PRESERVE.
6940	//
6941	// If Atime is set to NONE, Mtime must also be NONE.
6942	Atime *string `type:"string" enum:"Atime"`
6943
6944	// A value that limits the bandwidth used by AWS DataSync. For example, if you
6945	// want AWS DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024).
6946	BytesPerSecond *int64 `type:"long"`
6947
6948	// The POSIX group ID (GID) of the file's owners. This option should only be
6949	// set for NFS, EFS, and S3 locations. For more information about what metadata
6950	// is copied by DataSync, see Metadata Copied by DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied).
6951	//
6952	// Default value: INT_VALUE. This preserves the integer value of the ID.
6953	//
6954	// INT_VALUE: Preserve the integer value of user ID (UID) and GID (recommended).
6955	//
6956	// NONE: Ignore UID and GID.
6957	Gid *string `type:"string" enum:"Gid"`
6958
6959	// A value that determines the type of logs that DataSync publishes to a log
6960	// stream in the Amazon CloudWatch log group that you provide. For more information
6961	// about providing a log group for DataSync, see CloudWatchLogGroupArn (https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html#DataSync-CreateTask-request-CloudWatchLogGroupArn).
6962	// If set to OFF, no logs are published. BASIC publishes logs on errors for
6963	// individual files transferred, and TRANSFER publishes logs for every file
6964	// or object that is transferred and integrity checked.
6965	LogLevel *string `type:"string" enum:"LogLevel"`
6966
6967	// A value that indicates the last time that a file was modified (that is, a
6968	// file was written to) before the PREPARING phase. This option is required
6969	// for cases when you need to run the same task more than one time.
6970	//
6971	// Default value: PRESERVE.
6972	//
6973	// PRESERVE: Preserve original Mtime (recommended)
6974	//
6975	// NONE: Ignore Mtime.
6976	//
6977	// If Mtime is set to PRESERVE, Atime must be set to BEST_EFFORT.
6978	//
6979	// If Mtime is set to NONE, Atime must also be set to NONE.
6980	Mtime *string `type:"string" enum:"Mtime"`
6981
6982	// A value that determines whether files at the destination should be overwritten
6983	// or preserved when copying files. If set to NEVER a destination file will
6984	// not be replaced by a source file, even if the destination file differs from
6985	// the source file. If you modify files in the destination and you sync the
6986	// files, you can use this value to protect against overwriting those changes.
6987	//
6988	// Some storage classes have specific behaviors that can affect your S3 storage
6989	// cost. For detailed information, see Considerations when working with Amazon
6990	// S3 storage classes in DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes)
6991	// in the AWS DataSync User Guide.
6992	OverwriteMode *string `type:"string" enum:"OverwriteMode"`
6993
6994	// A value that determines which users or groups can access a file for a specific
6995	// purpose such as reading, writing, or execution of the file. This option should
6996	// only be set for NFS, EFS, and S3 locations. For more information about what
6997	// metadata is copied by DataSync, see Metadata Copied by DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied).
6998	//
6999	// Default value: PRESERVE.
7000	//
7001	// PRESERVE: Preserve POSIX-style permissions (recommended).
7002	//
7003	// NONE: Ignore permissions.
7004	//
7005	// AWS DataSync can preserve extant permissions of a source location.
7006	PosixPermissions *string `type:"string" enum:"PosixPermissions"`
7007
7008	// A value that specifies whether files in the destination that don't exist
7009	// in the source file system should be preserved. This option can affect your
7010	// storage cost. If your task deletes objects, you might incur minimum storage
7011	// duration charges for certain storage classes. For detailed information, see
7012	// Considerations when working with Amazon S3 storage classes in DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes)
7013	// in the AWS DataSync User Guide.
7014	//
7015	// Default value: PRESERVE.
7016	//
7017	// PRESERVE: Ignore such destination files (recommended).
7018	//
7019	// REMOVE: Delete destination files that aren’t present in the source.
7020	PreserveDeletedFiles *string `type:"string" enum:"PreserveDeletedFiles"`
7021
7022	// A value that determines whether AWS DataSync should preserve the metadata
7023	// of block and character devices in the source file system, and re-create the
7024	// files with that device name and metadata on the destination. DataSync does
7025	// not copy the contents of such devices, only the name and metadata.
7026	//
7027	// AWS DataSync can't sync the actual contents of such devices, because they
7028	// are nonterminal and don't return an end-of-file (EOF) marker.
7029	//
7030	// Default value: NONE.
7031	//
7032	// NONE: Ignore special devices (recommended).
7033	//
7034	// PRESERVE: Preserve character and block device metadata. This option isn't
7035	// currently supported for Amazon EFS.
7036	PreserveDevices *string `type:"string" enum:"PreserveDevices"`
7037
7038	// A value that determines which components of the SMB security descriptor are
7039	// copied from source to destination objects.
7040	//
7041	// This value is only used for transfers between SMB and Amazon FSx for Windows
7042	// File Server locations, or between two Amazon FSx for Windows File Server
7043	// locations. For more information about how DataSync handles metadata, see
7044	// How DataSync Handles Metadata and Special Files (https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html).
7045	//
7046	// Default value: OWNER_DACL.
7047	//
7048	// OWNER_DACL: For each copied object, DataSync copies the following metadata:
7049	//
7050	//    * Object owner.
7051	//
7052	//    * NTFS discretionary access control lists (DACLs), which determine whether
7053	//    to grant access to an object.
7054	//
7055	// When choosing this option, DataSync does NOT copy the NTFS system access
7056	// control lists (SACLs), which are used by administrators to log attempts to
7057	// access a secured object.
7058	//
7059	// OWNER_DACL_SACL: For each copied object, DataSync copies the following metadata:
7060	//
7061	//    * Object owner.
7062	//
7063	//    * NTFS discretionary access control lists (DACLs), which determine whether
7064	//    to grant access to an object.
7065	//
7066	//    * NTFS system access control lists (SACLs), which are used by administrators
7067	//    to log attempts to access a secured object.
7068	//
7069	// Copying SACLs requires granting additional permissions to the Windows user
7070	// that DataSync uses to access your SMB location. For information about choosing
7071	// a user that ensures sufficient permissions to files, folders, and metadata,
7072	// see user (create-smb-location.html#SMBuser).
7073	//
7074	// NONE: None of the SMB security descriptor components are copied. Destination
7075	// objects are owned by the user that was provided for accessing the destination
7076	// location. DACLs and SACLs are set based on the destination server’s configuration.
7077	SecurityDescriptorCopyFlags *string `type:"string" enum:"SmbSecurityDescriptorCopyFlags"`
7078
7079	// A value that determines whether tasks should be queued before executing the
7080	// tasks. If set to ENABLED, the tasks will be queued. The default is ENABLED.
7081	//
7082	// If you use the same agent to run multiple tasks, you can enable the tasks
7083	// to run in series. For more information, see Queueing task executions (https://docs.aws.amazon.com/datasync/latest/userguide/run-task.html#queue-task-execution).
7084	TaskQueueing *string `type:"string" enum:"TaskQueueing"`
7085
7086	// A value that determines whether DataSync transfers only the data and metadata
7087	// that differ between the source and the destination location, or whether DataSync
7088	// transfers all the content from the source, without comparing to the destination
7089	// location.
7090	//
7091	// CHANGED: DataSync copies only data or metadata that is new or different content
7092	// from the source location to the destination location.
7093	//
7094	// ALL: DataSync copies all source location content to the destination, without
7095	// comparing to existing content on the destination.
7096	TransferMode *string `type:"string" enum:"TransferMode"`
7097
7098	// The POSIX user ID (UID) of the file's owner. This option should only be set
7099	// for NFS, EFS, and S3 locations. To learn more about what metadata is copied
7100	// by DataSync, see Metadata Copied by DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied).
7101	//
7102	// Default value: INT_VALUE. This preserves the integer value of the ID.
7103	//
7104	// INT_VALUE: Preserve the integer value of UID and group ID (GID) (recommended).
7105	//
7106	// NONE: Ignore UID and GID.
7107	Uid *string `type:"string" enum:"Uid"`
7108
7109	// A value that determines whether a data integrity verification should be performed
7110	// at the end of a task execution after all data and metadata have been transferred.
7111	// For more information, see Configure task settings (https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html).
7112	//
7113	// Default value: POINT_IN_TIME_CONSISTENT.
7114	//
7115	// ONLY_FILES_TRANSFERRED (recommended): Perform verification only on files
7116	// that were transferred.
7117	//
7118	// POINT_IN_TIME_CONSISTENT: Scan the entire source and entire destination at
7119	// the end of the transfer to verify that source and destination are fully synchronized.
7120	// This option isn't supported when transferring to S3 Glacier or S3 Glacier
7121	// Deep Archive storage classes.
7122	//
7123	// NONE: No additional verification is done at the end of the transfer, but
7124	// all data transmissions are integrity-checked with checksum verification during
7125	// the transfer.
7126	VerifyMode *string `type:"string" enum:"VerifyMode"`
7127}
7128
7129// String returns the string representation
7130func (s Options) String() string {
7131	return awsutil.Prettify(s)
7132}
7133
7134// GoString returns the string representation
7135func (s Options) GoString() string {
7136	return s.String()
7137}
7138
7139// Validate inspects the fields of the type to determine if they are valid.
7140func (s *Options) Validate() error {
7141	invalidParams := request.ErrInvalidParams{Context: "Options"}
7142	if s.BytesPerSecond != nil && *s.BytesPerSecond < -1 {
7143		invalidParams.Add(request.NewErrParamMinValue("BytesPerSecond", -1))
7144	}
7145
7146	if invalidParams.Len() > 0 {
7147		return invalidParams
7148	}
7149	return nil
7150}
7151
7152// SetAtime sets the Atime field's value.
7153func (s *Options) SetAtime(v string) *Options {
7154	s.Atime = &v
7155	return s
7156}
7157
7158// SetBytesPerSecond sets the BytesPerSecond field's value.
7159func (s *Options) SetBytesPerSecond(v int64) *Options {
7160	s.BytesPerSecond = &v
7161	return s
7162}
7163
7164// SetGid sets the Gid field's value.
7165func (s *Options) SetGid(v string) *Options {
7166	s.Gid = &v
7167	return s
7168}
7169
7170// SetLogLevel sets the LogLevel field's value.
7171func (s *Options) SetLogLevel(v string) *Options {
7172	s.LogLevel = &v
7173	return s
7174}
7175
7176// SetMtime sets the Mtime field's value.
7177func (s *Options) SetMtime(v string) *Options {
7178	s.Mtime = &v
7179	return s
7180}
7181
7182// SetOverwriteMode sets the OverwriteMode field's value.
7183func (s *Options) SetOverwriteMode(v string) *Options {
7184	s.OverwriteMode = &v
7185	return s
7186}
7187
7188// SetPosixPermissions sets the PosixPermissions field's value.
7189func (s *Options) SetPosixPermissions(v string) *Options {
7190	s.PosixPermissions = &v
7191	return s
7192}
7193
7194// SetPreserveDeletedFiles sets the PreserveDeletedFiles field's value.
7195func (s *Options) SetPreserveDeletedFiles(v string) *Options {
7196	s.PreserveDeletedFiles = &v
7197	return s
7198}
7199
7200// SetPreserveDevices sets the PreserveDevices field's value.
7201func (s *Options) SetPreserveDevices(v string) *Options {
7202	s.PreserveDevices = &v
7203	return s
7204}
7205
7206// SetSecurityDescriptorCopyFlags sets the SecurityDescriptorCopyFlags field's value.
7207func (s *Options) SetSecurityDescriptorCopyFlags(v string) *Options {
7208	s.SecurityDescriptorCopyFlags = &v
7209	return s
7210}
7211
7212// SetTaskQueueing sets the TaskQueueing field's value.
7213func (s *Options) SetTaskQueueing(v string) *Options {
7214	s.TaskQueueing = &v
7215	return s
7216}
7217
7218// SetTransferMode sets the TransferMode field's value.
7219func (s *Options) SetTransferMode(v string) *Options {
7220	s.TransferMode = &v
7221	return s
7222}
7223
7224// SetUid sets the Uid field's value.
7225func (s *Options) SetUid(v string) *Options {
7226	s.Uid = &v
7227	return s
7228}
7229
7230// SetVerifyMode sets the VerifyMode field's value.
7231func (s *Options) SetVerifyMode(v string) *Options {
7232	s.VerifyMode = &v
7233	return s
7234}
7235
7236// The VPC endpoint, subnet, and security group that an agent uses to access
7237// IP addresses in a VPC (Virtual Private Cloud).
7238type PrivateLinkConfig struct {
7239	_ struct{} `type:"structure"`
7240
7241	// The private endpoint that is configured for an agent that has access to IP
7242	// addresses in a PrivateLink (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html).
7243	// An agent that is configured with this endpoint will not be accessible over
7244	// the public internet.
7245	PrivateLinkEndpoint *string `min:"7" type:"string"`
7246
7247	// The Amazon Resource Names (ARNs) of the security groups that are configured
7248	// for the EC2 resource that hosts an agent activated in a VPC or an agent that
7249	// has access to a VPC endpoint.
7250	SecurityGroupArns []*string `min:"1" type:"list"`
7251
7252	// The Amazon Resource Names (ARNs) of the subnets that are configured for an
7253	// agent activated in a VPC or an agent that has access to a VPC endpoint.
7254	SubnetArns []*string `min:"1" type:"list"`
7255
7256	// The ID of the VPC endpoint that is configured for an agent. An agent that
7257	// is configured with a VPC endpoint will not be accessible over the public
7258	// internet.
7259	VpcEndpointId *string `type:"string"`
7260}
7261
7262// String returns the string representation
7263func (s PrivateLinkConfig) String() string {
7264	return awsutil.Prettify(s)
7265}
7266
7267// GoString returns the string representation
7268func (s PrivateLinkConfig) GoString() string {
7269	return s.String()
7270}
7271
7272// SetPrivateLinkEndpoint sets the PrivateLinkEndpoint field's value.
7273func (s *PrivateLinkConfig) SetPrivateLinkEndpoint(v string) *PrivateLinkConfig {
7274	s.PrivateLinkEndpoint = &v
7275	return s
7276}
7277
7278// SetSecurityGroupArns sets the SecurityGroupArns field's value.
7279func (s *PrivateLinkConfig) SetSecurityGroupArns(v []*string) *PrivateLinkConfig {
7280	s.SecurityGroupArns = v
7281	return s
7282}
7283
7284// SetSubnetArns sets the SubnetArns field's value.
7285func (s *PrivateLinkConfig) SetSubnetArns(v []*string) *PrivateLinkConfig {
7286	s.SubnetArns = v
7287	return s
7288}
7289
7290// SetVpcEndpointId sets the VpcEndpointId field's value.
7291func (s *PrivateLinkConfig) SetVpcEndpointId(v string) *PrivateLinkConfig {
7292	s.VpcEndpointId = &v
7293	return s
7294}
7295
7296// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
7297// (IAM) role that is used to access an Amazon S3 bucket.
7298//
7299// For detailed information about using such a role, see Creating a Location
7300// for Amazon S3 in the AWS DataSync User Guide.
7301type S3Config struct {
7302	_ struct{} `type:"structure"`
7303
7304	// The Amazon S3 bucket to access. This bucket is used as a parameter in the
7305	// CreateLocationS3 (https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateLocationS3.html)
7306	// operation.
7307	//
7308	// BucketAccessRoleArn is a required field
7309	BucketAccessRoleArn *string `type:"string" required:"true"`
7310}
7311
7312// String returns the string representation
7313func (s S3Config) String() string {
7314	return awsutil.Prettify(s)
7315}
7316
7317// GoString returns the string representation
7318func (s S3Config) GoString() string {
7319	return s.String()
7320}
7321
7322// Validate inspects the fields of the type to determine if they are valid.
7323func (s *S3Config) Validate() error {
7324	invalidParams := request.ErrInvalidParams{Context: "S3Config"}
7325	if s.BucketAccessRoleArn == nil {
7326		invalidParams.Add(request.NewErrParamRequired("BucketAccessRoleArn"))
7327	}
7328
7329	if invalidParams.Len() > 0 {
7330		return invalidParams
7331	}
7332	return nil
7333}
7334
7335// SetBucketAccessRoleArn sets the BucketAccessRoleArn field's value.
7336func (s *S3Config) SetBucketAccessRoleArn(v string) *S3Config {
7337	s.BucketAccessRoleArn = &v
7338	return s
7339}
7340
7341// Represents the mount options that are available for DataSync to access an
7342// SMB location.
7343type SmbMountOptions struct {
7344	_ struct{} `type:"structure"`
7345
7346	// The specific SMB version that you want DataSync to use to mount your SMB
7347	// share. If you don't specify a version, DataSync defaults to AUTOMATIC. That
7348	// is, DataSync automatically selects a version based on negotiation with the
7349	// SMB server.
7350	Version *string `type:"string" enum:"SmbVersion"`
7351}
7352
7353// String returns the string representation
7354func (s SmbMountOptions) String() string {
7355	return awsutil.Prettify(s)
7356}
7357
7358// GoString returns the string representation
7359func (s SmbMountOptions) GoString() string {
7360	return s.String()
7361}
7362
7363// SetVersion sets the Version field's value.
7364func (s *SmbMountOptions) SetVersion(v string) *SmbMountOptions {
7365	s.Version = &v
7366	return s
7367}
7368
7369// StartTaskExecutionRequest
7370type StartTaskExecutionInput struct {
7371	_ struct{} `type:"structure"`
7372
7373	// A list of filter rules that determines which files to include when running
7374	// a task. The pattern should contain a single filter string that consists of
7375	// the patterns to include. The patterns are delimited by "|" (that is, a pipe).
7376	// For example: "/folder1|/folder2"
7377	Includes []*FilterRule `type:"list"`
7378
7379	// Represents the options that are available to control the behavior of a StartTaskExecution
7380	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
7381	// operation. Behavior includes preserving metadata such as user ID (UID), group
7382	// ID (GID), and file permissions, and also overwriting files in the destination,
7383	// data integrity verification, and so on.
7384	//
7385	// A task has a set of default options associated with it. If you don't specify
7386	// an option in StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html),
7387	// the default value is used. You can override the defaults options on each
7388	// task execution by specifying an overriding Options value to StartTaskExecution
7389	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html).
7390	OverrideOptions *Options `type:"structure"`
7391
7392	// The Amazon Resource Name (ARN) of the task to start.
7393	//
7394	// TaskArn is a required field
7395	TaskArn *string `type:"string" required:"true"`
7396}
7397
7398// String returns the string representation
7399func (s StartTaskExecutionInput) String() string {
7400	return awsutil.Prettify(s)
7401}
7402
7403// GoString returns the string representation
7404func (s StartTaskExecutionInput) GoString() string {
7405	return s.String()
7406}
7407
7408// Validate inspects the fields of the type to determine if they are valid.
7409func (s *StartTaskExecutionInput) Validate() error {
7410	invalidParams := request.ErrInvalidParams{Context: "StartTaskExecutionInput"}
7411	if s.TaskArn == nil {
7412		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
7413	}
7414	if s.OverrideOptions != nil {
7415		if err := s.OverrideOptions.Validate(); err != nil {
7416			invalidParams.AddNested("OverrideOptions", err.(request.ErrInvalidParams))
7417		}
7418	}
7419
7420	if invalidParams.Len() > 0 {
7421		return invalidParams
7422	}
7423	return nil
7424}
7425
7426// SetIncludes sets the Includes field's value.
7427func (s *StartTaskExecutionInput) SetIncludes(v []*FilterRule) *StartTaskExecutionInput {
7428	s.Includes = v
7429	return s
7430}
7431
7432// SetOverrideOptions sets the OverrideOptions field's value.
7433func (s *StartTaskExecutionInput) SetOverrideOptions(v *Options) *StartTaskExecutionInput {
7434	s.OverrideOptions = v
7435	return s
7436}
7437
7438// SetTaskArn sets the TaskArn field's value.
7439func (s *StartTaskExecutionInput) SetTaskArn(v string) *StartTaskExecutionInput {
7440	s.TaskArn = &v
7441	return s
7442}
7443
7444// StartTaskExecutionResponse
7445type StartTaskExecutionOutput struct {
7446	_ struct{} `type:"structure"`
7447
7448	// The Amazon Resource Name (ARN) of the specific task execution that was started.
7449	TaskExecutionArn *string `type:"string"`
7450}
7451
7452// String returns the string representation
7453func (s StartTaskExecutionOutput) String() string {
7454	return awsutil.Prettify(s)
7455}
7456
7457// GoString returns the string representation
7458func (s StartTaskExecutionOutput) GoString() string {
7459	return s.String()
7460}
7461
7462// SetTaskExecutionArn sets the TaskExecutionArn field's value.
7463func (s *StartTaskExecutionOutput) SetTaskExecutionArn(v string) *StartTaskExecutionOutput {
7464	s.TaskExecutionArn = &v
7465	return s
7466}
7467
7468// Represents a single entry in a list of AWS resource tags. TagListEntry returns
7469// an array that contains a list of tasks when the ListTagsForResource (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListTagsForResource.html)
7470// operation is called.
7471type TagListEntry struct {
7472	_ struct{} `type:"structure"`
7473
7474	// The key for an AWS resource tag.
7475	//
7476	// Key is a required field
7477	Key *string `min:"1" type:"string" required:"true"`
7478
7479	// The value for an AWS resource tag.
7480	Value *string `min:"1" type:"string"`
7481}
7482
7483// String returns the string representation
7484func (s TagListEntry) String() string {
7485	return awsutil.Prettify(s)
7486}
7487
7488// GoString returns the string representation
7489func (s TagListEntry) GoString() string {
7490	return s.String()
7491}
7492
7493// Validate inspects the fields of the type to determine if they are valid.
7494func (s *TagListEntry) Validate() error {
7495	invalidParams := request.ErrInvalidParams{Context: "TagListEntry"}
7496	if s.Key == nil {
7497		invalidParams.Add(request.NewErrParamRequired("Key"))
7498	}
7499	if s.Key != nil && len(*s.Key) < 1 {
7500		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
7501	}
7502	if s.Value != nil && len(*s.Value) < 1 {
7503		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
7504	}
7505
7506	if invalidParams.Len() > 0 {
7507		return invalidParams
7508	}
7509	return nil
7510}
7511
7512// SetKey sets the Key field's value.
7513func (s *TagListEntry) SetKey(v string) *TagListEntry {
7514	s.Key = &v
7515	return s
7516}
7517
7518// SetValue sets the Value field's value.
7519func (s *TagListEntry) SetValue(v string) *TagListEntry {
7520	s.Value = &v
7521	return s
7522}
7523
7524// TagResourceRequest
7525type TagResourceInput struct {
7526	_ struct{} `type:"structure"`
7527
7528	// The Amazon Resource Name (ARN) of the resource to apply the tag to.
7529	//
7530	// ResourceArn is a required field
7531	ResourceArn *string `type:"string" required:"true"`
7532
7533	// The tags to apply.
7534	//
7535	// Tags is a required field
7536	Tags []*TagListEntry `type:"list" required:"true"`
7537}
7538
7539// String returns the string representation
7540func (s TagResourceInput) String() string {
7541	return awsutil.Prettify(s)
7542}
7543
7544// GoString returns the string representation
7545func (s TagResourceInput) GoString() string {
7546	return s.String()
7547}
7548
7549// Validate inspects the fields of the type to determine if they are valid.
7550func (s *TagResourceInput) Validate() error {
7551	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
7552	if s.ResourceArn == nil {
7553		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7554	}
7555	if s.Tags == nil {
7556		invalidParams.Add(request.NewErrParamRequired("Tags"))
7557	}
7558	if s.Tags != nil {
7559		for i, v := range s.Tags {
7560			if v == nil {
7561				continue
7562			}
7563			if err := v.Validate(); err != nil {
7564				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7565			}
7566		}
7567	}
7568
7569	if invalidParams.Len() > 0 {
7570		return invalidParams
7571	}
7572	return nil
7573}
7574
7575// SetResourceArn sets the ResourceArn field's value.
7576func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
7577	s.ResourceArn = &v
7578	return s
7579}
7580
7581// SetTags sets the Tags field's value.
7582func (s *TagResourceInput) SetTags(v []*TagListEntry) *TagResourceInput {
7583	s.Tags = v
7584	return s
7585}
7586
7587type TagResourceOutput struct {
7588	_ struct{} `type:"structure"`
7589}
7590
7591// String returns the string representation
7592func (s TagResourceOutput) String() string {
7593	return awsutil.Prettify(s)
7594}
7595
7596// GoString returns the string representation
7597func (s TagResourceOutput) GoString() string {
7598	return s.String()
7599}
7600
7601// Represents a single entry in a list of task executions. TaskExecutionListEntry
7602// returns an array that contains a list of specific invocations of a task when
7603// the ListTaskExecutions (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListTaskExecutions.html)
7604// operation is called.
7605type TaskExecutionListEntry struct {
7606	_ struct{} `type:"structure"`
7607
7608	// The status of a task execution.
7609	Status *string `type:"string" enum:"TaskExecutionStatus"`
7610
7611	// The Amazon Resource Name (ARN) of the task that was executed.
7612	TaskExecutionArn *string `type:"string"`
7613}
7614
7615// String returns the string representation
7616func (s TaskExecutionListEntry) String() string {
7617	return awsutil.Prettify(s)
7618}
7619
7620// GoString returns the string representation
7621func (s TaskExecutionListEntry) GoString() string {
7622	return s.String()
7623}
7624
7625// SetStatus sets the Status field's value.
7626func (s *TaskExecutionListEntry) SetStatus(v string) *TaskExecutionListEntry {
7627	s.Status = &v
7628	return s
7629}
7630
7631// SetTaskExecutionArn sets the TaskExecutionArn field's value.
7632func (s *TaskExecutionListEntry) SetTaskExecutionArn(v string) *TaskExecutionListEntry {
7633	s.TaskExecutionArn = &v
7634	return s
7635}
7636
7637// Describes the detailed result of a TaskExecution operation. This result includes
7638// the time in milliseconds spent in each phase, the status of the task execution,
7639// and the errors encountered.
7640type TaskExecutionResultDetail struct {
7641	_ struct{} `type:"structure"`
7642
7643	// Errors that AWS DataSync encountered during execution of the task. You can
7644	// use this error code to help troubleshoot issues.
7645	ErrorCode *string `type:"string"`
7646
7647	// Detailed description of an error that was encountered during the task execution.
7648	// You can use this information to help troubleshoot issues.
7649	ErrorDetail *string `type:"string"`
7650
7651	// The total time in milliseconds that AWS DataSync spent in the PREPARING phase.
7652	PrepareDuration *int64 `type:"long"`
7653
7654	// The status of the PREPARING phase.
7655	PrepareStatus *string `type:"string" enum:"PhaseStatus"`
7656
7657	// The total time in milliseconds that AWS DataSync took to transfer the file
7658	// from the source to the destination location.
7659	TotalDuration *int64 `type:"long"`
7660
7661	// The total time in milliseconds that AWS DataSync spent in the TRANSFERRING
7662	// phase.
7663	TransferDuration *int64 `type:"long"`
7664
7665	// The status of the TRANSFERRING phase.
7666	TransferStatus *string `type:"string" enum:"PhaseStatus"`
7667
7668	// The total time in milliseconds that AWS DataSync spent in the VERIFYING phase.
7669	VerifyDuration *int64 `type:"long"`
7670
7671	// The status of the VERIFYING phase.
7672	VerifyStatus *string `type:"string" enum:"PhaseStatus"`
7673}
7674
7675// String returns the string representation
7676func (s TaskExecutionResultDetail) String() string {
7677	return awsutil.Prettify(s)
7678}
7679
7680// GoString returns the string representation
7681func (s TaskExecutionResultDetail) GoString() string {
7682	return s.String()
7683}
7684
7685// SetErrorCode sets the ErrorCode field's value.
7686func (s *TaskExecutionResultDetail) SetErrorCode(v string) *TaskExecutionResultDetail {
7687	s.ErrorCode = &v
7688	return s
7689}
7690
7691// SetErrorDetail sets the ErrorDetail field's value.
7692func (s *TaskExecutionResultDetail) SetErrorDetail(v string) *TaskExecutionResultDetail {
7693	s.ErrorDetail = &v
7694	return s
7695}
7696
7697// SetPrepareDuration sets the PrepareDuration field's value.
7698func (s *TaskExecutionResultDetail) SetPrepareDuration(v int64) *TaskExecutionResultDetail {
7699	s.PrepareDuration = &v
7700	return s
7701}
7702
7703// SetPrepareStatus sets the PrepareStatus field's value.
7704func (s *TaskExecutionResultDetail) SetPrepareStatus(v string) *TaskExecutionResultDetail {
7705	s.PrepareStatus = &v
7706	return s
7707}
7708
7709// SetTotalDuration sets the TotalDuration field's value.
7710func (s *TaskExecutionResultDetail) SetTotalDuration(v int64) *TaskExecutionResultDetail {
7711	s.TotalDuration = &v
7712	return s
7713}
7714
7715// SetTransferDuration sets the TransferDuration field's value.
7716func (s *TaskExecutionResultDetail) SetTransferDuration(v int64) *TaskExecutionResultDetail {
7717	s.TransferDuration = &v
7718	return s
7719}
7720
7721// SetTransferStatus sets the TransferStatus field's value.
7722func (s *TaskExecutionResultDetail) SetTransferStatus(v string) *TaskExecutionResultDetail {
7723	s.TransferStatus = &v
7724	return s
7725}
7726
7727// SetVerifyDuration sets the VerifyDuration field's value.
7728func (s *TaskExecutionResultDetail) SetVerifyDuration(v int64) *TaskExecutionResultDetail {
7729	s.VerifyDuration = &v
7730	return s
7731}
7732
7733// SetVerifyStatus sets the VerifyStatus field's value.
7734func (s *TaskExecutionResultDetail) SetVerifyStatus(v string) *TaskExecutionResultDetail {
7735	s.VerifyStatus = &v
7736	return s
7737}
7738
7739// You can use API filters to narrow down the list of resources returned by
7740// ListTasks. For example, to retrieve all tasks on a source location, you can
7741// use ListTasks with filter name LocationId and Operator Equals with the ARN
7742// for the location.
7743type TaskFilter struct {
7744	_ struct{} `type:"structure"`
7745
7746	// The name of the filter being used. Each API call supports a list of filters
7747	// that are available for it. For example, LocationId for ListTasks.
7748	//
7749	// Name is a required field
7750	Name *string `type:"string" required:"true" enum:"TaskFilterName"`
7751
7752	// The operator that is used to compare filter values (for example, Equals or
7753	// Contains). For more about API filtering operators, see API filters for ListTasks
7754	// and ListLocations (https://docs.aws.amazon.com/datasync/latest/userguide/query-resources.html).
7755	//
7756	// Operator is a required field
7757	Operator *string `type:"string" required:"true" enum:"Operator"`
7758
7759	// The values that you want to filter for. For example, you might want to display
7760	// only tasks for a specific destination location.
7761	//
7762	// Values is a required field
7763	Values []*string `type:"list" required:"true"`
7764}
7765
7766// String returns the string representation
7767func (s TaskFilter) String() string {
7768	return awsutil.Prettify(s)
7769}
7770
7771// GoString returns the string representation
7772func (s TaskFilter) GoString() string {
7773	return s.String()
7774}
7775
7776// Validate inspects the fields of the type to determine if they are valid.
7777func (s *TaskFilter) Validate() error {
7778	invalidParams := request.ErrInvalidParams{Context: "TaskFilter"}
7779	if s.Name == nil {
7780		invalidParams.Add(request.NewErrParamRequired("Name"))
7781	}
7782	if s.Operator == nil {
7783		invalidParams.Add(request.NewErrParamRequired("Operator"))
7784	}
7785	if s.Values == nil {
7786		invalidParams.Add(request.NewErrParamRequired("Values"))
7787	}
7788
7789	if invalidParams.Len() > 0 {
7790		return invalidParams
7791	}
7792	return nil
7793}
7794
7795// SetName sets the Name field's value.
7796func (s *TaskFilter) SetName(v string) *TaskFilter {
7797	s.Name = &v
7798	return s
7799}
7800
7801// SetOperator sets the Operator field's value.
7802func (s *TaskFilter) SetOperator(v string) *TaskFilter {
7803	s.Operator = &v
7804	return s
7805}
7806
7807// SetValues sets the Values field's value.
7808func (s *TaskFilter) SetValues(v []*string) *TaskFilter {
7809	s.Values = v
7810	return s
7811}
7812
7813// Represents a single entry in a list of tasks. TaskListEntry returns an array
7814// that contains a list of tasks when the ListTasks (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListTasks.html)
7815// operation is called. A task includes the source and destination file systems
7816// to sync and the options to use for the tasks.
7817type TaskListEntry struct {
7818	_ struct{} `type:"structure"`
7819
7820	// The name of the task.
7821	Name *string `min:"1" type:"string"`
7822
7823	// The status of the task.
7824	Status *string `type:"string" enum:"TaskStatus"`
7825
7826	// The Amazon Resource Name (ARN) of the task.
7827	TaskArn *string `type:"string"`
7828}
7829
7830// String returns the string representation
7831func (s TaskListEntry) String() string {
7832	return awsutil.Prettify(s)
7833}
7834
7835// GoString returns the string representation
7836func (s TaskListEntry) GoString() string {
7837	return s.String()
7838}
7839
7840// SetName sets the Name field's value.
7841func (s *TaskListEntry) SetName(v string) *TaskListEntry {
7842	s.Name = &v
7843	return s
7844}
7845
7846// SetStatus sets the Status field's value.
7847func (s *TaskListEntry) SetStatus(v string) *TaskListEntry {
7848	s.Status = &v
7849	return s
7850}
7851
7852// SetTaskArn sets the TaskArn field's value.
7853func (s *TaskListEntry) SetTaskArn(v string) *TaskListEntry {
7854	s.TaskArn = &v
7855	return s
7856}
7857
7858// Specifies the schedule you want your task to use for repeated executions.
7859// For more information, see Schedule Expressions for Rules (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html).
7860type TaskSchedule struct {
7861	_ struct{} `type:"structure"`
7862
7863	// A cron expression that specifies when AWS DataSync initiates a scheduled
7864	// transfer from a source to a destination location.
7865	//
7866	// ScheduleExpression is a required field
7867	ScheduleExpression *string `type:"string" required:"true"`
7868}
7869
7870// String returns the string representation
7871func (s TaskSchedule) String() string {
7872	return awsutil.Prettify(s)
7873}
7874
7875// GoString returns the string representation
7876func (s TaskSchedule) GoString() string {
7877	return s.String()
7878}
7879
7880// Validate inspects the fields of the type to determine if they are valid.
7881func (s *TaskSchedule) Validate() error {
7882	invalidParams := request.ErrInvalidParams{Context: "TaskSchedule"}
7883	if s.ScheduleExpression == nil {
7884		invalidParams.Add(request.NewErrParamRequired("ScheduleExpression"))
7885	}
7886
7887	if invalidParams.Len() > 0 {
7888		return invalidParams
7889	}
7890	return nil
7891}
7892
7893// SetScheduleExpression sets the ScheduleExpression field's value.
7894func (s *TaskSchedule) SetScheduleExpression(v string) *TaskSchedule {
7895	s.ScheduleExpression = &v
7896	return s
7897}
7898
7899// UntagResourceRequest
7900type UntagResourceInput struct {
7901	_ struct{} `type:"structure"`
7902
7903	// The keys in the key-value pair in the tag to remove.
7904	//
7905	// Keys is a required field
7906	Keys []*string `min:"1" type:"list" required:"true"`
7907
7908	// The Amazon Resource Name (ARN) of the resource to remove the tag from.
7909	//
7910	// ResourceArn is a required field
7911	ResourceArn *string `type:"string" required:"true"`
7912}
7913
7914// String returns the string representation
7915func (s UntagResourceInput) String() string {
7916	return awsutil.Prettify(s)
7917}
7918
7919// GoString returns the string representation
7920func (s UntagResourceInput) GoString() string {
7921	return s.String()
7922}
7923
7924// Validate inspects the fields of the type to determine if they are valid.
7925func (s *UntagResourceInput) Validate() error {
7926	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
7927	if s.Keys == nil {
7928		invalidParams.Add(request.NewErrParamRequired("Keys"))
7929	}
7930	if s.Keys != nil && len(s.Keys) < 1 {
7931		invalidParams.Add(request.NewErrParamMinLen("Keys", 1))
7932	}
7933	if s.ResourceArn == nil {
7934		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7935	}
7936
7937	if invalidParams.Len() > 0 {
7938		return invalidParams
7939	}
7940	return nil
7941}
7942
7943// SetKeys sets the Keys field's value.
7944func (s *UntagResourceInput) SetKeys(v []*string) *UntagResourceInput {
7945	s.Keys = v
7946	return s
7947}
7948
7949// SetResourceArn sets the ResourceArn field's value.
7950func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
7951	s.ResourceArn = &v
7952	return s
7953}
7954
7955type UntagResourceOutput struct {
7956	_ struct{} `type:"structure"`
7957}
7958
7959// String returns the string representation
7960func (s UntagResourceOutput) String() string {
7961	return awsutil.Prettify(s)
7962}
7963
7964// GoString returns the string representation
7965func (s UntagResourceOutput) GoString() string {
7966	return s.String()
7967}
7968
7969// UpdateAgentRequest
7970type UpdateAgentInput struct {
7971	_ struct{} `type:"structure"`
7972
7973	// The Amazon Resource Name (ARN) of the agent to update.
7974	//
7975	// AgentArn is a required field
7976	AgentArn *string `type:"string" required:"true"`
7977
7978	// The name that you want to use to configure the agent.
7979	Name *string `min:"1" type:"string"`
7980}
7981
7982// String returns the string representation
7983func (s UpdateAgentInput) String() string {
7984	return awsutil.Prettify(s)
7985}
7986
7987// GoString returns the string representation
7988func (s UpdateAgentInput) GoString() string {
7989	return s.String()
7990}
7991
7992// Validate inspects the fields of the type to determine if they are valid.
7993func (s *UpdateAgentInput) Validate() error {
7994	invalidParams := request.ErrInvalidParams{Context: "UpdateAgentInput"}
7995	if s.AgentArn == nil {
7996		invalidParams.Add(request.NewErrParamRequired("AgentArn"))
7997	}
7998	if s.Name != nil && len(*s.Name) < 1 {
7999		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8000	}
8001
8002	if invalidParams.Len() > 0 {
8003		return invalidParams
8004	}
8005	return nil
8006}
8007
8008// SetAgentArn sets the AgentArn field's value.
8009func (s *UpdateAgentInput) SetAgentArn(v string) *UpdateAgentInput {
8010	s.AgentArn = &v
8011	return s
8012}
8013
8014// SetName sets the Name field's value.
8015func (s *UpdateAgentInput) SetName(v string) *UpdateAgentInput {
8016	s.Name = &v
8017	return s
8018}
8019
8020type UpdateAgentOutput struct {
8021	_ struct{} `type:"structure"`
8022}
8023
8024// String returns the string representation
8025func (s UpdateAgentOutput) String() string {
8026	return awsutil.Prettify(s)
8027}
8028
8029// GoString returns the string representation
8030func (s UpdateAgentOutput) GoString() string {
8031	return s.String()
8032}
8033
8034type UpdateLocationNfsInput struct {
8035	_ struct{} `type:"structure"`
8036
8037	// The Amazon Resource Name (ARN) of the NFS location to update.
8038	//
8039	// LocationArn is a required field
8040	LocationArn *string `type:"string" required:"true"`
8041
8042	// Represents the mount options that are available for DataSync to access an
8043	// NFS location.
8044	MountOptions *NfsMountOptions `type:"structure"`
8045
8046	// A list of Amazon Resource Names (ARNs) of agents to use for a Network File
8047	// System (NFS) location.
8048	OnPremConfig *OnPremConfig `type:"structure"`
8049
8050	// The subdirectory in the NFS file system that is used to read data from the
8051	// NFS source location or write data to the NFS destination. The NFS path should
8052	// be a path that's exported by the NFS server, or a subdirectory of that path.
8053	// The path should be such that it can be mounted by other NFS clients in your
8054	// network.
8055	//
8056	// To see all the paths exported by your NFS server, run "showmount -e nfs-server-name"
8057	// from an NFS client that has access to your server. You can specify any directory
8058	// that appears in the results, and any subdirectory of that directory. Ensure
8059	// that the NFS export is accessible without Kerberos authentication.
8060	//
8061	// To transfer all the data in the folder that you specified, DataSync must
8062	// have permissions to read all the data. To ensure this, either configure the
8063	// NFS export with no_root_squash, or ensure that the files you want DataSync
8064	// to access have permissions that allow read access for all users. Doing either
8065	// option enables the agent to read the files. For the agent to access directories,
8066	// you must additionally enable all execute access.
8067	//
8068	// If you are copying data to or from your AWS Snowcone device, see NFS Server
8069	// on AWS Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone)
8070	// for more information.
8071	//
8072	// For information about NFS export configuration, see 18.7. The /etc/exports
8073	// Configuration File in the Red Hat Enterprise Linux documentation.
8074	Subdirectory *string `type:"string"`
8075}
8076
8077// String returns the string representation
8078func (s UpdateLocationNfsInput) String() string {
8079	return awsutil.Prettify(s)
8080}
8081
8082// GoString returns the string representation
8083func (s UpdateLocationNfsInput) GoString() string {
8084	return s.String()
8085}
8086
8087// Validate inspects the fields of the type to determine if they are valid.
8088func (s *UpdateLocationNfsInput) Validate() error {
8089	invalidParams := request.ErrInvalidParams{Context: "UpdateLocationNfsInput"}
8090	if s.LocationArn == nil {
8091		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
8092	}
8093	if s.OnPremConfig != nil {
8094		if err := s.OnPremConfig.Validate(); err != nil {
8095			invalidParams.AddNested("OnPremConfig", err.(request.ErrInvalidParams))
8096		}
8097	}
8098
8099	if invalidParams.Len() > 0 {
8100		return invalidParams
8101	}
8102	return nil
8103}
8104
8105// SetLocationArn sets the LocationArn field's value.
8106func (s *UpdateLocationNfsInput) SetLocationArn(v string) *UpdateLocationNfsInput {
8107	s.LocationArn = &v
8108	return s
8109}
8110
8111// SetMountOptions sets the MountOptions field's value.
8112func (s *UpdateLocationNfsInput) SetMountOptions(v *NfsMountOptions) *UpdateLocationNfsInput {
8113	s.MountOptions = v
8114	return s
8115}
8116
8117// SetOnPremConfig sets the OnPremConfig field's value.
8118func (s *UpdateLocationNfsInput) SetOnPremConfig(v *OnPremConfig) *UpdateLocationNfsInput {
8119	s.OnPremConfig = v
8120	return s
8121}
8122
8123// SetSubdirectory sets the Subdirectory field's value.
8124func (s *UpdateLocationNfsInput) SetSubdirectory(v string) *UpdateLocationNfsInput {
8125	s.Subdirectory = &v
8126	return s
8127}
8128
8129type UpdateLocationNfsOutput struct {
8130	_ struct{} `type:"structure"`
8131}
8132
8133// String returns the string representation
8134func (s UpdateLocationNfsOutput) String() string {
8135	return awsutil.Prettify(s)
8136}
8137
8138// GoString returns the string representation
8139func (s UpdateLocationNfsOutput) GoString() string {
8140	return s.String()
8141}
8142
8143type UpdateLocationObjectStorageInput struct {
8144	_ struct{} `type:"structure"`
8145
8146	// Optional. The access key is used if credentials are required to access the
8147	// self-managed object storage server. If your object storage requires a user
8148	// name and password to authenticate, use AccessKey and SecretKey to provide
8149	// the user name and password, respectively.
8150	AccessKey *string `min:"8" type:"string"`
8151
8152	// The Amazon Resource Name (ARN) of the agents associated with the self-managed
8153	// object storage server location.
8154	AgentArns []*string `min:"1" type:"list"`
8155
8156	// The Amazon Resource Name (ARN) of the self-managed object storage server
8157	// location to be updated.
8158	//
8159	// LocationArn is a required field
8160	LocationArn *string `type:"string" required:"true"`
8161
8162	// Optional. The secret key is used if credentials are required to access the
8163	// self-managed object storage server. If your object storage requires a user
8164	// name and password to authenticate, use AccessKey and SecretKey to provide
8165	// the user name and password, respectively.
8166	SecretKey *string `min:"8" type:"string" sensitive:"true"`
8167
8168	// The port that your self-managed object storage server accepts inbound network
8169	// traffic on. The server port is set by default to TCP 80 (HTTP) or TCP 443
8170	// (HTTPS). You can specify a custom port if your self-managed object storage
8171	// server requires one.
8172	ServerPort *int64 `min:"1" type:"integer"`
8173
8174	// The protocol that the object storage server uses to communicate. Valid values
8175	// are HTTP or HTTPS.
8176	ServerProtocol *string `type:"string" enum:"ObjectStorageServerProtocol"`
8177
8178	// The subdirectory in the self-managed object storage server that is used to
8179	// read data from.
8180	Subdirectory *string `type:"string"`
8181}
8182
8183// String returns the string representation
8184func (s UpdateLocationObjectStorageInput) String() string {
8185	return awsutil.Prettify(s)
8186}
8187
8188// GoString returns the string representation
8189func (s UpdateLocationObjectStorageInput) GoString() string {
8190	return s.String()
8191}
8192
8193// Validate inspects the fields of the type to determine if they are valid.
8194func (s *UpdateLocationObjectStorageInput) Validate() error {
8195	invalidParams := request.ErrInvalidParams{Context: "UpdateLocationObjectStorageInput"}
8196	if s.AccessKey != nil && len(*s.AccessKey) < 8 {
8197		invalidParams.Add(request.NewErrParamMinLen("AccessKey", 8))
8198	}
8199	if s.AgentArns != nil && len(s.AgentArns) < 1 {
8200		invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1))
8201	}
8202	if s.LocationArn == nil {
8203		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
8204	}
8205	if s.SecretKey != nil && len(*s.SecretKey) < 8 {
8206		invalidParams.Add(request.NewErrParamMinLen("SecretKey", 8))
8207	}
8208	if s.ServerPort != nil && *s.ServerPort < 1 {
8209		invalidParams.Add(request.NewErrParamMinValue("ServerPort", 1))
8210	}
8211
8212	if invalidParams.Len() > 0 {
8213		return invalidParams
8214	}
8215	return nil
8216}
8217
8218// SetAccessKey sets the AccessKey field's value.
8219func (s *UpdateLocationObjectStorageInput) SetAccessKey(v string) *UpdateLocationObjectStorageInput {
8220	s.AccessKey = &v
8221	return s
8222}
8223
8224// SetAgentArns sets the AgentArns field's value.
8225func (s *UpdateLocationObjectStorageInput) SetAgentArns(v []*string) *UpdateLocationObjectStorageInput {
8226	s.AgentArns = v
8227	return s
8228}
8229
8230// SetLocationArn sets the LocationArn field's value.
8231func (s *UpdateLocationObjectStorageInput) SetLocationArn(v string) *UpdateLocationObjectStorageInput {
8232	s.LocationArn = &v
8233	return s
8234}
8235
8236// SetSecretKey sets the SecretKey field's value.
8237func (s *UpdateLocationObjectStorageInput) SetSecretKey(v string) *UpdateLocationObjectStorageInput {
8238	s.SecretKey = &v
8239	return s
8240}
8241
8242// SetServerPort sets the ServerPort field's value.
8243func (s *UpdateLocationObjectStorageInput) SetServerPort(v int64) *UpdateLocationObjectStorageInput {
8244	s.ServerPort = &v
8245	return s
8246}
8247
8248// SetServerProtocol sets the ServerProtocol field's value.
8249func (s *UpdateLocationObjectStorageInput) SetServerProtocol(v string) *UpdateLocationObjectStorageInput {
8250	s.ServerProtocol = &v
8251	return s
8252}
8253
8254// SetSubdirectory sets the Subdirectory field's value.
8255func (s *UpdateLocationObjectStorageInput) SetSubdirectory(v string) *UpdateLocationObjectStorageInput {
8256	s.Subdirectory = &v
8257	return s
8258}
8259
8260type UpdateLocationObjectStorageOutput struct {
8261	_ struct{} `type:"structure"`
8262}
8263
8264// String returns the string representation
8265func (s UpdateLocationObjectStorageOutput) String() string {
8266	return awsutil.Prettify(s)
8267}
8268
8269// GoString returns the string representation
8270func (s UpdateLocationObjectStorageOutput) GoString() string {
8271	return s.String()
8272}
8273
8274type UpdateLocationSmbInput struct {
8275	_ struct{} `type:"structure"`
8276
8277	// The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block
8278	// (SMB) location.
8279	AgentArns []*string `min:"1" type:"list"`
8280
8281	// The name of the Windows domain that the SMB server belongs to.
8282	Domain *string `type:"string"`
8283
8284	// The Amazon Resource Name (ARN) of the SMB location to update.
8285	//
8286	// LocationArn is a required field
8287	LocationArn *string `type:"string" required:"true"`
8288
8289	// Represents the mount options that are available for DataSync to access an
8290	// SMB location.
8291	MountOptions *SmbMountOptions `type:"structure"`
8292
8293	// The password of the user who can mount the share has the permissions to access
8294	// files and folders in the SMB share.
8295	Password *string `type:"string" sensitive:"true"`
8296
8297	// The subdirectory in the SMB file system that is used to read data from the
8298	// SMB source location or write data to the SMB destination. The SMB path should
8299	// be a path that's exported by the SMB server, or a subdirectory of that path.
8300	// The path should be such that it can be mounted by other SMB clients in your
8301	// network.
8302	//
8303	// Subdirectory must be specified with forward slashes. For example, /path/to/folder.
8304	//
8305	// To transfer all the data in the folder that you specified, DataSync must
8306	// have permissions to mount the SMB share and to access all the data in that
8307	// share. To ensure this, do either of the following:
8308	//
8309	//    * Ensure that the user/password specified belongs to the user who can
8310	//    mount the share and who has the appropriate permissions for all of the
8311	//    files and directories that you want DataSync to access.
8312	//
8313	//    * Use credentials of a member of the Backup Operators group to mount the
8314	//    share.
8315	//
8316	// Doing either of these options enables the agent to access the data. For the
8317	// agent to access directories, you must also enable all execute access.
8318	Subdirectory *string `type:"string"`
8319
8320	// The user who can mount the share has the permissions to access files and
8321	// folders in the SMB share.
8322	User *string `type:"string"`
8323}
8324
8325// String returns the string representation
8326func (s UpdateLocationSmbInput) String() string {
8327	return awsutil.Prettify(s)
8328}
8329
8330// GoString returns the string representation
8331func (s UpdateLocationSmbInput) GoString() string {
8332	return s.String()
8333}
8334
8335// Validate inspects the fields of the type to determine if they are valid.
8336func (s *UpdateLocationSmbInput) Validate() error {
8337	invalidParams := request.ErrInvalidParams{Context: "UpdateLocationSmbInput"}
8338	if s.AgentArns != nil && len(s.AgentArns) < 1 {
8339		invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1))
8340	}
8341	if s.LocationArn == nil {
8342		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
8343	}
8344
8345	if invalidParams.Len() > 0 {
8346		return invalidParams
8347	}
8348	return nil
8349}
8350
8351// SetAgentArns sets the AgentArns field's value.
8352func (s *UpdateLocationSmbInput) SetAgentArns(v []*string) *UpdateLocationSmbInput {
8353	s.AgentArns = v
8354	return s
8355}
8356
8357// SetDomain sets the Domain field's value.
8358func (s *UpdateLocationSmbInput) SetDomain(v string) *UpdateLocationSmbInput {
8359	s.Domain = &v
8360	return s
8361}
8362
8363// SetLocationArn sets the LocationArn field's value.
8364func (s *UpdateLocationSmbInput) SetLocationArn(v string) *UpdateLocationSmbInput {
8365	s.LocationArn = &v
8366	return s
8367}
8368
8369// SetMountOptions sets the MountOptions field's value.
8370func (s *UpdateLocationSmbInput) SetMountOptions(v *SmbMountOptions) *UpdateLocationSmbInput {
8371	s.MountOptions = v
8372	return s
8373}
8374
8375// SetPassword sets the Password field's value.
8376func (s *UpdateLocationSmbInput) SetPassword(v string) *UpdateLocationSmbInput {
8377	s.Password = &v
8378	return s
8379}
8380
8381// SetSubdirectory sets the Subdirectory field's value.
8382func (s *UpdateLocationSmbInput) SetSubdirectory(v string) *UpdateLocationSmbInput {
8383	s.Subdirectory = &v
8384	return s
8385}
8386
8387// SetUser sets the User field's value.
8388func (s *UpdateLocationSmbInput) SetUser(v string) *UpdateLocationSmbInput {
8389	s.User = &v
8390	return s
8391}
8392
8393type UpdateLocationSmbOutput struct {
8394	_ struct{} `type:"structure"`
8395}
8396
8397// String returns the string representation
8398func (s UpdateLocationSmbOutput) String() string {
8399	return awsutil.Prettify(s)
8400}
8401
8402// GoString returns the string representation
8403func (s UpdateLocationSmbOutput) GoString() string {
8404	return s.String()
8405}
8406
8407type UpdateTaskExecutionInput struct {
8408	_ struct{} `type:"structure"`
8409
8410	// Represents the options that are available to control the behavior of a StartTaskExecution
8411	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
8412	// operation. Behavior includes preserving metadata such as user ID (UID), group
8413	// ID (GID), and file permissions, and also overwriting files in the destination,
8414	// data integrity verification, and so on.
8415	//
8416	// A task has a set of default options associated with it. If you don't specify
8417	// an option in StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html),
8418	// the default value is used. You can override the defaults options on each
8419	// task execution by specifying an overriding Options value to StartTaskExecution
8420	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html).
8421	//
8422	// Options is a required field
8423	Options *Options `type:"structure" required:"true"`
8424
8425	// The Amazon Resource Name (ARN) of the specific task execution that is being
8426	// updated.
8427	//
8428	// TaskExecutionArn is a required field
8429	TaskExecutionArn *string `type:"string" required:"true"`
8430}
8431
8432// String returns the string representation
8433func (s UpdateTaskExecutionInput) String() string {
8434	return awsutil.Prettify(s)
8435}
8436
8437// GoString returns the string representation
8438func (s UpdateTaskExecutionInput) GoString() string {
8439	return s.String()
8440}
8441
8442// Validate inspects the fields of the type to determine if they are valid.
8443func (s *UpdateTaskExecutionInput) Validate() error {
8444	invalidParams := request.ErrInvalidParams{Context: "UpdateTaskExecutionInput"}
8445	if s.Options == nil {
8446		invalidParams.Add(request.NewErrParamRequired("Options"))
8447	}
8448	if s.TaskExecutionArn == nil {
8449		invalidParams.Add(request.NewErrParamRequired("TaskExecutionArn"))
8450	}
8451	if s.Options != nil {
8452		if err := s.Options.Validate(); err != nil {
8453			invalidParams.AddNested("Options", err.(request.ErrInvalidParams))
8454		}
8455	}
8456
8457	if invalidParams.Len() > 0 {
8458		return invalidParams
8459	}
8460	return nil
8461}
8462
8463// SetOptions sets the Options field's value.
8464func (s *UpdateTaskExecutionInput) SetOptions(v *Options) *UpdateTaskExecutionInput {
8465	s.Options = v
8466	return s
8467}
8468
8469// SetTaskExecutionArn sets the TaskExecutionArn field's value.
8470func (s *UpdateTaskExecutionInput) SetTaskExecutionArn(v string) *UpdateTaskExecutionInput {
8471	s.TaskExecutionArn = &v
8472	return s
8473}
8474
8475type UpdateTaskExecutionOutput struct {
8476	_ struct{} `type:"structure"`
8477}
8478
8479// String returns the string representation
8480func (s UpdateTaskExecutionOutput) String() string {
8481	return awsutil.Prettify(s)
8482}
8483
8484// GoString returns the string representation
8485func (s UpdateTaskExecutionOutput) GoString() string {
8486	return s.String()
8487}
8488
8489// UpdateTaskResponse
8490type UpdateTaskInput struct {
8491	_ struct{} `type:"structure"`
8492
8493	// The Amazon Resource Name (ARN) of the resource name of the CloudWatch LogGroup.
8494	CloudWatchLogGroupArn *string `type:"string"`
8495
8496	// A list of filter rules that determines which files to exclude from a task.
8497	// The list should contain a single filter string that consists of the patterns
8498	// to exclude. The patterns are delimited by "|" (that is, a pipe), for example:
8499	// "/folder1|/folder2"
8500	Excludes []*FilterRule `type:"list"`
8501
8502	// The name of the task to update.
8503	Name *string `min:"1" type:"string"`
8504
8505	// Represents the options that are available to control the behavior of a StartTaskExecution
8506	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
8507	// operation. Behavior includes preserving metadata such as user ID (UID), group
8508	// ID (GID), and file permissions, and also overwriting files in the destination,
8509	// data integrity verification, and so on.
8510	//
8511	// A task has a set of default options associated with it. If you don't specify
8512	// an option in StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html),
8513	// the default value is used. You can override the defaults options on each
8514	// task execution by specifying an overriding Options value to StartTaskExecution
8515	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html).
8516	Options *Options `type:"structure"`
8517
8518	// Specifies a schedule used to periodically transfer files from a source to
8519	// a destination location. You can configure your task to execute hourly, daily,
8520	// weekly or on specific days of the week. You control when in the day or hour
8521	// you want the task to execute. The time you specify is UTC time. For more
8522	// information, see Scheduling your task (https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html).
8523	Schedule *TaskSchedule `type:"structure"`
8524
8525	// The Amazon Resource Name (ARN) of the resource name of the task to update.
8526	//
8527	// TaskArn is a required field
8528	TaskArn *string `type:"string" required:"true"`
8529}
8530
8531// String returns the string representation
8532func (s UpdateTaskInput) String() string {
8533	return awsutil.Prettify(s)
8534}
8535
8536// GoString returns the string representation
8537func (s UpdateTaskInput) GoString() string {
8538	return s.String()
8539}
8540
8541// Validate inspects the fields of the type to determine if they are valid.
8542func (s *UpdateTaskInput) Validate() error {
8543	invalidParams := request.ErrInvalidParams{Context: "UpdateTaskInput"}
8544	if s.Name != nil && len(*s.Name) < 1 {
8545		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8546	}
8547	if s.TaskArn == nil {
8548		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
8549	}
8550	if s.Options != nil {
8551		if err := s.Options.Validate(); err != nil {
8552			invalidParams.AddNested("Options", err.(request.ErrInvalidParams))
8553		}
8554	}
8555	if s.Schedule != nil {
8556		if err := s.Schedule.Validate(); err != nil {
8557			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
8558		}
8559	}
8560
8561	if invalidParams.Len() > 0 {
8562		return invalidParams
8563	}
8564	return nil
8565}
8566
8567// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
8568func (s *UpdateTaskInput) SetCloudWatchLogGroupArn(v string) *UpdateTaskInput {
8569	s.CloudWatchLogGroupArn = &v
8570	return s
8571}
8572
8573// SetExcludes sets the Excludes field's value.
8574func (s *UpdateTaskInput) SetExcludes(v []*FilterRule) *UpdateTaskInput {
8575	s.Excludes = v
8576	return s
8577}
8578
8579// SetName sets the Name field's value.
8580func (s *UpdateTaskInput) SetName(v string) *UpdateTaskInput {
8581	s.Name = &v
8582	return s
8583}
8584
8585// SetOptions sets the Options field's value.
8586func (s *UpdateTaskInput) SetOptions(v *Options) *UpdateTaskInput {
8587	s.Options = v
8588	return s
8589}
8590
8591// SetSchedule sets the Schedule field's value.
8592func (s *UpdateTaskInput) SetSchedule(v *TaskSchedule) *UpdateTaskInput {
8593	s.Schedule = v
8594	return s
8595}
8596
8597// SetTaskArn sets the TaskArn field's value.
8598func (s *UpdateTaskInput) SetTaskArn(v string) *UpdateTaskInput {
8599	s.TaskArn = &v
8600	return s
8601}
8602
8603type UpdateTaskOutput struct {
8604	_ struct{} `type:"structure"`
8605}
8606
8607// String returns the string representation
8608func (s UpdateTaskOutput) String() string {
8609	return awsutil.Prettify(s)
8610}
8611
8612// GoString returns the string representation
8613func (s UpdateTaskOutput) GoString() string {
8614	return s.String()
8615}
8616
8617const (
8618	// AgentStatusOnline is a AgentStatus enum value
8619	AgentStatusOnline = "ONLINE"
8620
8621	// AgentStatusOffline is a AgentStatus enum value
8622	AgentStatusOffline = "OFFLINE"
8623)
8624
8625// AgentStatus_Values returns all elements of the AgentStatus enum
8626func AgentStatus_Values() []string {
8627	return []string{
8628		AgentStatusOnline,
8629		AgentStatusOffline,
8630	}
8631}
8632
8633const (
8634	// AtimeNone is a Atime enum value
8635	AtimeNone = "NONE"
8636
8637	// AtimeBestEffort is a Atime enum value
8638	AtimeBestEffort = "BEST_EFFORT"
8639)
8640
8641// Atime_Values returns all elements of the Atime enum
8642func Atime_Values() []string {
8643	return []string{
8644		AtimeNone,
8645		AtimeBestEffort,
8646	}
8647}
8648
8649const (
8650	// EndpointTypePublic is a EndpointType enum value
8651	EndpointTypePublic = "PUBLIC"
8652
8653	// EndpointTypePrivateLink is a EndpointType enum value
8654	EndpointTypePrivateLink = "PRIVATE_LINK"
8655
8656	// EndpointTypeFips is a EndpointType enum value
8657	EndpointTypeFips = "FIPS"
8658)
8659
8660// EndpointType_Values returns all elements of the EndpointType enum
8661func EndpointType_Values() []string {
8662	return []string{
8663		EndpointTypePublic,
8664		EndpointTypePrivateLink,
8665		EndpointTypeFips,
8666	}
8667}
8668
8669const (
8670	// FilterTypeSimplePattern is a FilterType enum value
8671	FilterTypeSimplePattern = "SIMPLE_PATTERN"
8672)
8673
8674// FilterType_Values returns all elements of the FilterType enum
8675func FilterType_Values() []string {
8676	return []string{
8677		FilterTypeSimplePattern,
8678	}
8679}
8680
8681const (
8682	// GidNone is a Gid enum value
8683	GidNone = "NONE"
8684
8685	// GidIntValue is a Gid enum value
8686	GidIntValue = "INT_VALUE"
8687
8688	// GidName is a Gid enum value
8689	GidName = "NAME"
8690
8691	// GidBoth is a Gid enum value
8692	GidBoth = "BOTH"
8693)
8694
8695// Gid_Values returns all elements of the Gid enum
8696func Gid_Values() []string {
8697	return []string{
8698		GidNone,
8699		GidIntValue,
8700		GidName,
8701		GidBoth,
8702	}
8703}
8704
8705const (
8706	// LocationFilterNameLocationUri is a LocationFilterName enum value
8707	LocationFilterNameLocationUri = "LocationUri"
8708
8709	// LocationFilterNameLocationType is a LocationFilterName enum value
8710	LocationFilterNameLocationType = "LocationType"
8711
8712	// LocationFilterNameCreationTime is a LocationFilterName enum value
8713	LocationFilterNameCreationTime = "CreationTime"
8714)
8715
8716// LocationFilterName_Values returns all elements of the LocationFilterName enum
8717func LocationFilterName_Values() []string {
8718	return []string{
8719		LocationFilterNameLocationUri,
8720		LocationFilterNameLocationType,
8721		LocationFilterNameCreationTime,
8722	}
8723}
8724
8725const (
8726	// LogLevelOff is a LogLevel enum value
8727	LogLevelOff = "OFF"
8728
8729	// LogLevelBasic is a LogLevel enum value
8730	LogLevelBasic = "BASIC"
8731
8732	// LogLevelTransfer is a LogLevel enum value
8733	LogLevelTransfer = "TRANSFER"
8734)
8735
8736// LogLevel_Values returns all elements of the LogLevel enum
8737func LogLevel_Values() []string {
8738	return []string{
8739		LogLevelOff,
8740		LogLevelBasic,
8741		LogLevelTransfer,
8742	}
8743}
8744
8745const (
8746	// MtimeNone is a Mtime enum value
8747	MtimeNone = "NONE"
8748
8749	// MtimePreserve is a Mtime enum value
8750	MtimePreserve = "PRESERVE"
8751)
8752
8753// Mtime_Values returns all elements of the Mtime enum
8754func Mtime_Values() []string {
8755	return []string{
8756		MtimeNone,
8757		MtimePreserve,
8758	}
8759}
8760
8761const (
8762	// NfsVersionAutomatic is a NfsVersion enum value
8763	NfsVersionAutomatic = "AUTOMATIC"
8764
8765	// NfsVersionNfs3 is a NfsVersion enum value
8766	NfsVersionNfs3 = "NFS3"
8767
8768	// NfsVersionNfs40 is a NfsVersion enum value
8769	NfsVersionNfs40 = "NFS4_0"
8770
8771	// NfsVersionNfs41 is a NfsVersion enum value
8772	NfsVersionNfs41 = "NFS4_1"
8773)
8774
8775// NfsVersion_Values returns all elements of the NfsVersion enum
8776func NfsVersion_Values() []string {
8777	return []string{
8778		NfsVersionAutomatic,
8779		NfsVersionNfs3,
8780		NfsVersionNfs40,
8781		NfsVersionNfs41,
8782	}
8783}
8784
8785const (
8786	// ObjectStorageServerProtocolHttps is a ObjectStorageServerProtocol enum value
8787	ObjectStorageServerProtocolHttps = "HTTPS"
8788
8789	// ObjectStorageServerProtocolHttp is a ObjectStorageServerProtocol enum value
8790	ObjectStorageServerProtocolHttp = "HTTP"
8791)
8792
8793// ObjectStorageServerProtocol_Values returns all elements of the ObjectStorageServerProtocol enum
8794func ObjectStorageServerProtocol_Values() []string {
8795	return []string{
8796		ObjectStorageServerProtocolHttps,
8797		ObjectStorageServerProtocolHttp,
8798	}
8799}
8800
8801const (
8802	// OperatorEquals is a Operator enum value
8803	OperatorEquals = "Equals"
8804
8805	// OperatorNotEquals is a Operator enum value
8806	OperatorNotEquals = "NotEquals"
8807
8808	// OperatorIn is a Operator enum value
8809	OperatorIn = "In"
8810
8811	// OperatorLessThanOrEqual is a Operator enum value
8812	OperatorLessThanOrEqual = "LessThanOrEqual"
8813
8814	// OperatorLessThan is a Operator enum value
8815	OperatorLessThan = "LessThan"
8816
8817	// OperatorGreaterThanOrEqual is a Operator enum value
8818	OperatorGreaterThanOrEqual = "GreaterThanOrEqual"
8819
8820	// OperatorGreaterThan is a Operator enum value
8821	OperatorGreaterThan = "GreaterThan"
8822
8823	// OperatorContains is a Operator enum value
8824	OperatorContains = "Contains"
8825
8826	// OperatorNotContains is a Operator enum value
8827	OperatorNotContains = "NotContains"
8828
8829	// OperatorBeginsWith is a Operator enum value
8830	OperatorBeginsWith = "BeginsWith"
8831)
8832
8833// Operator_Values returns all elements of the Operator enum
8834func Operator_Values() []string {
8835	return []string{
8836		OperatorEquals,
8837		OperatorNotEquals,
8838		OperatorIn,
8839		OperatorLessThanOrEqual,
8840		OperatorLessThan,
8841		OperatorGreaterThanOrEqual,
8842		OperatorGreaterThan,
8843		OperatorContains,
8844		OperatorNotContains,
8845		OperatorBeginsWith,
8846	}
8847}
8848
8849const (
8850	// OverwriteModeAlways is a OverwriteMode enum value
8851	OverwriteModeAlways = "ALWAYS"
8852
8853	// OverwriteModeNever is a OverwriteMode enum value
8854	OverwriteModeNever = "NEVER"
8855)
8856
8857// OverwriteMode_Values returns all elements of the OverwriteMode enum
8858func OverwriteMode_Values() []string {
8859	return []string{
8860		OverwriteModeAlways,
8861		OverwriteModeNever,
8862	}
8863}
8864
8865const (
8866	// PhaseStatusPending is a PhaseStatus enum value
8867	PhaseStatusPending = "PENDING"
8868
8869	// PhaseStatusSuccess is a PhaseStatus enum value
8870	PhaseStatusSuccess = "SUCCESS"
8871
8872	// PhaseStatusError is a PhaseStatus enum value
8873	PhaseStatusError = "ERROR"
8874)
8875
8876// PhaseStatus_Values returns all elements of the PhaseStatus enum
8877func PhaseStatus_Values() []string {
8878	return []string{
8879		PhaseStatusPending,
8880		PhaseStatusSuccess,
8881		PhaseStatusError,
8882	}
8883}
8884
8885const (
8886	// PosixPermissionsNone is a PosixPermissions enum value
8887	PosixPermissionsNone = "NONE"
8888
8889	// PosixPermissionsPreserve is a PosixPermissions enum value
8890	PosixPermissionsPreserve = "PRESERVE"
8891)
8892
8893// PosixPermissions_Values returns all elements of the PosixPermissions enum
8894func PosixPermissions_Values() []string {
8895	return []string{
8896		PosixPermissionsNone,
8897		PosixPermissionsPreserve,
8898	}
8899}
8900
8901const (
8902	// PreserveDeletedFilesPreserve is a PreserveDeletedFiles enum value
8903	PreserveDeletedFilesPreserve = "PRESERVE"
8904
8905	// PreserveDeletedFilesRemove is a PreserveDeletedFiles enum value
8906	PreserveDeletedFilesRemove = "REMOVE"
8907)
8908
8909// PreserveDeletedFiles_Values returns all elements of the PreserveDeletedFiles enum
8910func PreserveDeletedFiles_Values() []string {
8911	return []string{
8912		PreserveDeletedFilesPreserve,
8913		PreserveDeletedFilesRemove,
8914	}
8915}
8916
8917const (
8918	// PreserveDevicesNone is a PreserveDevices enum value
8919	PreserveDevicesNone = "NONE"
8920
8921	// PreserveDevicesPreserve is a PreserveDevices enum value
8922	PreserveDevicesPreserve = "PRESERVE"
8923)
8924
8925// PreserveDevices_Values returns all elements of the PreserveDevices enum
8926func PreserveDevices_Values() []string {
8927	return []string{
8928		PreserveDevicesNone,
8929		PreserveDevicesPreserve,
8930	}
8931}
8932
8933const (
8934	// S3StorageClassStandard is a S3StorageClass enum value
8935	S3StorageClassStandard = "STANDARD"
8936
8937	// S3StorageClassStandardIa is a S3StorageClass enum value
8938	S3StorageClassStandardIa = "STANDARD_IA"
8939
8940	// S3StorageClassOnezoneIa is a S3StorageClass enum value
8941	S3StorageClassOnezoneIa = "ONEZONE_IA"
8942
8943	// S3StorageClassIntelligentTiering is a S3StorageClass enum value
8944	S3StorageClassIntelligentTiering = "INTELLIGENT_TIERING"
8945
8946	// S3StorageClassGlacier is a S3StorageClass enum value
8947	S3StorageClassGlacier = "GLACIER"
8948
8949	// S3StorageClassDeepArchive is a S3StorageClass enum value
8950	S3StorageClassDeepArchive = "DEEP_ARCHIVE"
8951
8952	// S3StorageClassOutposts is a S3StorageClass enum value
8953	S3StorageClassOutposts = "OUTPOSTS"
8954)
8955
8956// S3StorageClass_Values returns all elements of the S3StorageClass enum
8957func S3StorageClass_Values() []string {
8958	return []string{
8959		S3StorageClassStandard,
8960		S3StorageClassStandardIa,
8961		S3StorageClassOnezoneIa,
8962		S3StorageClassIntelligentTiering,
8963		S3StorageClassGlacier,
8964		S3StorageClassDeepArchive,
8965		S3StorageClassOutposts,
8966	}
8967}
8968
8969const (
8970	// SmbSecurityDescriptorCopyFlagsNone is a SmbSecurityDescriptorCopyFlags enum value
8971	SmbSecurityDescriptorCopyFlagsNone = "NONE"
8972
8973	// SmbSecurityDescriptorCopyFlagsOwnerDacl is a SmbSecurityDescriptorCopyFlags enum value
8974	SmbSecurityDescriptorCopyFlagsOwnerDacl = "OWNER_DACL"
8975
8976	// SmbSecurityDescriptorCopyFlagsOwnerDaclSacl is a SmbSecurityDescriptorCopyFlags enum value
8977	SmbSecurityDescriptorCopyFlagsOwnerDaclSacl = "OWNER_DACL_SACL"
8978)
8979
8980// SmbSecurityDescriptorCopyFlags_Values returns all elements of the SmbSecurityDescriptorCopyFlags enum
8981func SmbSecurityDescriptorCopyFlags_Values() []string {
8982	return []string{
8983		SmbSecurityDescriptorCopyFlagsNone,
8984		SmbSecurityDescriptorCopyFlagsOwnerDacl,
8985		SmbSecurityDescriptorCopyFlagsOwnerDaclSacl,
8986	}
8987}
8988
8989const (
8990	// SmbVersionAutomatic is a SmbVersion enum value
8991	SmbVersionAutomatic = "AUTOMATIC"
8992
8993	// SmbVersionSmb2 is a SmbVersion enum value
8994	SmbVersionSmb2 = "SMB2"
8995
8996	// SmbVersionSmb3 is a SmbVersion enum value
8997	SmbVersionSmb3 = "SMB3"
8998)
8999
9000// SmbVersion_Values returns all elements of the SmbVersion enum
9001func SmbVersion_Values() []string {
9002	return []string{
9003		SmbVersionAutomatic,
9004		SmbVersionSmb2,
9005		SmbVersionSmb3,
9006	}
9007}
9008
9009const (
9010	// TaskExecutionStatusQueued is a TaskExecutionStatus enum value
9011	TaskExecutionStatusQueued = "QUEUED"
9012
9013	// TaskExecutionStatusLaunching is a TaskExecutionStatus enum value
9014	TaskExecutionStatusLaunching = "LAUNCHING"
9015
9016	// TaskExecutionStatusPreparing is a TaskExecutionStatus enum value
9017	TaskExecutionStatusPreparing = "PREPARING"
9018
9019	// TaskExecutionStatusTransferring is a TaskExecutionStatus enum value
9020	TaskExecutionStatusTransferring = "TRANSFERRING"
9021
9022	// TaskExecutionStatusVerifying is a TaskExecutionStatus enum value
9023	TaskExecutionStatusVerifying = "VERIFYING"
9024
9025	// TaskExecutionStatusSuccess is a TaskExecutionStatus enum value
9026	TaskExecutionStatusSuccess = "SUCCESS"
9027
9028	// TaskExecutionStatusError is a TaskExecutionStatus enum value
9029	TaskExecutionStatusError = "ERROR"
9030)
9031
9032// TaskExecutionStatus_Values returns all elements of the TaskExecutionStatus enum
9033func TaskExecutionStatus_Values() []string {
9034	return []string{
9035		TaskExecutionStatusQueued,
9036		TaskExecutionStatusLaunching,
9037		TaskExecutionStatusPreparing,
9038		TaskExecutionStatusTransferring,
9039		TaskExecutionStatusVerifying,
9040		TaskExecutionStatusSuccess,
9041		TaskExecutionStatusError,
9042	}
9043}
9044
9045const (
9046	// TaskFilterNameLocationId is a TaskFilterName enum value
9047	TaskFilterNameLocationId = "LocationId"
9048
9049	// TaskFilterNameCreationTime is a TaskFilterName enum value
9050	TaskFilterNameCreationTime = "CreationTime"
9051)
9052
9053// TaskFilterName_Values returns all elements of the TaskFilterName enum
9054func TaskFilterName_Values() []string {
9055	return []string{
9056		TaskFilterNameLocationId,
9057		TaskFilterNameCreationTime,
9058	}
9059}
9060
9061const (
9062	// TaskQueueingEnabled is a TaskQueueing enum value
9063	TaskQueueingEnabled = "ENABLED"
9064
9065	// TaskQueueingDisabled is a TaskQueueing enum value
9066	TaskQueueingDisabled = "DISABLED"
9067)
9068
9069// TaskQueueing_Values returns all elements of the TaskQueueing enum
9070func TaskQueueing_Values() []string {
9071	return []string{
9072		TaskQueueingEnabled,
9073		TaskQueueingDisabled,
9074	}
9075}
9076
9077const (
9078	// TaskStatusAvailable is a TaskStatus enum value
9079	TaskStatusAvailable = "AVAILABLE"
9080
9081	// TaskStatusCreating is a TaskStatus enum value
9082	TaskStatusCreating = "CREATING"
9083
9084	// TaskStatusQueued is a TaskStatus enum value
9085	TaskStatusQueued = "QUEUED"
9086
9087	// TaskStatusRunning is a TaskStatus enum value
9088	TaskStatusRunning = "RUNNING"
9089
9090	// TaskStatusUnavailable is a TaskStatus enum value
9091	TaskStatusUnavailable = "UNAVAILABLE"
9092)
9093
9094// TaskStatus_Values returns all elements of the TaskStatus enum
9095func TaskStatus_Values() []string {
9096	return []string{
9097		TaskStatusAvailable,
9098		TaskStatusCreating,
9099		TaskStatusQueued,
9100		TaskStatusRunning,
9101		TaskStatusUnavailable,
9102	}
9103}
9104
9105const (
9106	// TransferModeChanged is a TransferMode enum value
9107	TransferModeChanged = "CHANGED"
9108
9109	// TransferModeAll is a TransferMode enum value
9110	TransferModeAll = "ALL"
9111)
9112
9113// TransferMode_Values returns all elements of the TransferMode enum
9114func TransferMode_Values() []string {
9115	return []string{
9116		TransferModeChanged,
9117		TransferModeAll,
9118	}
9119}
9120
9121const (
9122	// UidNone is a Uid enum value
9123	UidNone = "NONE"
9124
9125	// UidIntValue is a Uid enum value
9126	UidIntValue = "INT_VALUE"
9127
9128	// UidName is a Uid enum value
9129	UidName = "NAME"
9130
9131	// UidBoth is a Uid enum value
9132	UidBoth = "BOTH"
9133)
9134
9135// Uid_Values returns all elements of the Uid enum
9136func Uid_Values() []string {
9137	return []string{
9138		UidNone,
9139		UidIntValue,
9140		UidName,
9141		UidBoth,
9142	}
9143}
9144
9145const (
9146	// VerifyModePointInTimeConsistent is a VerifyMode enum value
9147	VerifyModePointInTimeConsistent = "POINT_IN_TIME_CONSISTENT"
9148
9149	// VerifyModeOnlyFilesTransferred is a VerifyMode enum value
9150	VerifyModeOnlyFilesTransferred = "ONLY_FILES_TRANSFERRED"
9151
9152	// VerifyModeNone is a VerifyMode enum value
9153	VerifyModeNone = "NONE"
9154)
9155
9156// VerifyMode_Values returns all elements of the VerifyMode enum
9157func VerifyMode_Values() []string {
9158	return []string{
9159		VerifyModePointInTimeConsistent,
9160		VerifyModeOnlyFilesTransferred,
9161		VerifyModeNone,
9162	}
9163}
9164