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