1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package gluedatabrew
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 opBatchDeleteRecipeVersion = "BatchDeleteRecipeVersion"
17
18// BatchDeleteRecipeVersionRequest generates a "aws/request.Request" representing the
19// client's request for the BatchDeleteRecipeVersion 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 BatchDeleteRecipeVersion for more information on using the BatchDeleteRecipeVersion
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 BatchDeleteRecipeVersionRequest method.
34//    req, resp := client.BatchDeleteRecipeVersionRequest(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/databrew-2017-07-25/BatchDeleteRecipeVersion
42func (c *GlueDataBrew) BatchDeleteRecipeVersionRequest(input *BatchDeleteRecipeVersionInput) (req *request.Request, output *BatchDeleteRecipeVersionOutput) {
43	op := &request.Operation{
44		Name:       opBatchDeleteRecipeVersion,
45		HTTPMethod: "POST",
46		HTTPPath:   "/recipes/{name}/batchDeleteRecipeVersion",
47	}
48
49	if input == nil {
50		input = &BatchDeleteRecipeVersionInput{}
51	}
52
53	output = &BatchDeleteRecipeVersionOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// BatchDeleteRecipeVersion API operation for AWS Glue DataBrew.
59//
60// Deletes one or more versions of a recipe at a time.
61//
62// The entire request will be rejected if:
63//
64//    * The recipe does not exist.
65//
66//    * There is an invalid version identifier in the list of versions.
67//
68//    * The version list is empty.
69//
70//    * The version list size exceeds 50.
71//
72//    * The version list contains duplicate entries.
73//
74// The request will complete successfully, but with partial failures, if:
75//
76//    * A version does not exist.
77//
78//    * A version is being used by a job.
79//
80//    * You specify LATEST_WORKING, but it's being used by a project.
81//
82//    * The version fails to be deleted.
83//
84// The LATEST_WORKING version will only be deleted if the recipe has no other
85// versions. If you try to delete LATEST_WORKING while other versions exist
86// (or if they can't be deleted), then LATEST_WORKING will be listed as partial
87// failure in the response.
88//
89// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
90// with awserr.Error's Code and Message methods to get detailed information about
91// the error.
92//
93// See the AWS API reference guide for AWS Glue DataBrew's
94// API operation BatchDeleteRecipeVersion for usage and error information.
95//
96// Returned Error Types:
97//   * ConflictException
98//   Updating or deleting a resource can cause an inconsistent state.
99//
100//   * ResourceNotFoundException
101//   One or more resources can't be found.
102//
103//   * ValidationException
104//   The input parameters for this request failed validation.
105//
106// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/BatchDeleteRecipeVersion
107func (c *GlueDataBrew) BatchDeleteRecipeVersion(input *BatchDeleteRecipeVersionInput) (*BatchDeleteRecipeVersionOutput, error) {
108	req, out := c.BatchDeleteRecipeVersionRequest(input)
109	return out, req.Send()
110}
111
112// BatchDeleteRecipeVersionWithContext is the same as BatchDeleteRecipeVersion with the addition of
113// the ability to pass a context and additional request options.
114//
115// See BatchDeleteRecipeVersion for details on how to use this API operation.
116//
117// The context must be non-nil and will be used for request cancellation. If
118// the context is nil a panic will occur. In the future the SDK may create
119// sub-contexts for http.Requests. See https://golang.org/pkg/context/
120// for more information on using Contexts.
121func (c *GlueDataBrew) BatchDeleteRecipeVersionWithContext(ctx aws.Context, input *BatchDeleteRecipeVersionInput, opts ...request.Option) (*BatchDeleteRecipeVersionOutput, error) {
122	req, out := c.BatchDeleteRecipeVersionRequest(input)
123	req.SetContext(ctx)
124	req.ApplyOptions(opts...)
125	return out, req.Send()
126}
127
128const opCreateDataset = "CreateDataset"
129
130// CreateDatasetRequest generates a "aws/request.Request" representing the
131// client's request for the CreateDataset operation. The "output" return
132// value will be populated with the request's response once the request completes
133// successfully.
134//
135// Use "Send" method on the returned Request to send the API call to the service.
136// the "output" return value is not valid until after Send returns without error.
137//
138// See CreateDataset for more information on using the CreateDataset
139// API call, and error handling.
140//
141// This method is useful when you want to inject custom logic or configuration
142// into the SDK's request lifecycle. Such as custom headers, or retry logic.
143//
144//
145//    // Example sending a request using the CreateDatasetRequest method.
146//    req, resp := client.CreateDatasetRequest(params)
147//
148//    err := req.Send()
149//    if err == nil { // resp is now filled
150//        fmt.Println(resp)
151//    }
152//
153// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateDataset
154func (c *GlueDataBrew) CreateDatasetRequest(input *CreateDatasetInput) (req *request.Request, output *CreateDatasetOutput) {
155	op := &request.Operation{
156		Name:       opCreateDataset,
157		HTTPMethod: "POST",
158		HTTPPath:   "/datasets",
159	}
160
161	if input == nil {
162		input = &CreateDatasetInput{}
163	}
164
165	output = &CreateDatasetOutput{}
166	req = c.newRequest(op, input, output)
167	return
168}
169
170// CreateDataset API operation for AWS Glue DataBrew.
171//
172// Creates a new DataBrew dataset.
173//
174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
175// with awserr.Error's Code and Message methods to get detailed information about
176// the error.
177//
178// See the AWS API reference guide for AWS Glue DataBrew's
179// API operation CreateDataset for usage and error information.
180//
181// Returned Error Types:
182//   * AccessDeniedException
183//   Access to the specified resource was denied.
184//
185//   * ConflictException
186//   Updating or deleting a resource can cause an inconsistent state.
187//
188//   * ServiceQuotaExceededException
189//   A service quota is exceeded.
190//
191//   * ValidationException
192//   The input parameters for this request failed validation.
193//
194// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateDataset
195func (c *GlueDataBrew) CreateDataset(input *CreateDatasetInput) (*CreateDatasetOutput, error) {
196	req, out := c.CreateDatasetRequest(input)
197	return out, req.Send()
198}
199
200// CreateDatasetWithContext is the same as CreateDataset with the addition of
201// the ability to pass a context and additional request options.
202//
203// See CreateDataset for details on how to use this API operation.
204//
205// The context must be non-nil and will be used for request cancellation. If
206// the context is nil a panic will occur. In the future the SDK may create
207// sub-contexts for http.Requests. See https://golang.org/pkg/context/
208// for more information on using Contexts.
209func (c *GlueDataBrew) CreateDatasetWithContext(ctx aws.Context, input *CreateDatasetInput, opts ...request.Option) (*CreateDatasetOutput, error) {
210	req, out := c.CreateDatasetRequest(input)
211	req.SetContext(ctx)
212	req.ApplyOptions(opts...)
213	return out, req.Send()
214}
215
216const opCreateProfileJob = "CreateProfileJob"
217
218// CreateProfileJobRequest generates a "aws/request.Request" representing the
219// client's request for the CreateProfileJob operation. The "output" return
220// value will be populated with the request's response once the request completes
221// successfully.
222//
223// Use "Send" method on the returned Request to send the API call to the service.
224// the "output" return value is not valid until after Send returns without error.
225//
226// See CreateProfileJob for more information on using the CreateProfileJob
227// API call, and error handling.
228//
229// This method is useful when you want to inject custom logic or configuration
230// into the SDK's request lifecycle. Such as custom headers, or retry logic.
231//
232//
233//    // Example sending a request using the CreateProfileJobRequest method.
234//    req, resp := client.CreateProfileJobRequest(params)
235//
236//    err := req.Send()
237//    if err == nil { // resp is now filled
238//        fmt.Println(resp)
239//    }
240//
241// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateProfileJob
242func (c *GlueDataBrew) CreateProfileJobRequest(input *CreateProfileJobInput) (req *request.Request, output *CreateProfileJobOutput) {
243	op := &request.Operation{
244		Name:       opCreateProfileJob,
245		HTTPMethod: "POST",
246		HTTPPath:   "/profileJobs",
247	}
248
249	if input == nil {
250		input = &CreateProfileJobInput{}
251	}
252
253	output = &CreateProfileJobOutput{}
254	req = c.newRequest(op, input, output)
255	return
256}
257
258// CreateProfileJob API operation for AWS Glue DataBrew.
259//
260// Creates a new job to analyze a dataset and create its data profile.
261//
262// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
263// with awserr.Error's Code and Message methods to get detailed information about
264// the error.
265//
266// See the AWS API reference guide for AWS Glue DataBrew's
267// API operation CreateProfileJob for usage and error information.
268//
269// Returned Error Types:
270//   * AccessDeniedException
271//   Access to the specified resource was denied.
272//
273//   * ConflictException
274//   Updating or deleting a resource can cause an inconsistent state.
275//
276//   * ResourceNotFoundException
277//   One or more resources can't be found.
278//
279//   * ServiceQuotaExceededException
280//   A service quota is exceeded.
281//
282//   * ValidationException
283//   The input parameters for this request failed validation.
284//
285// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateProfileJob
286func (c *GlueDataBrew) CreateProfileJob(input *CreateProfileJobInput) (*CreateProfileJobOutput, error) {
287	req, out := c.CreateProfileJobRequest(input)
288	return out, req.Send()
289}
290
291// CreateProfileJobWithContext is the same as CreateProfileJob with the addition of
292// the ability to pass a context and additional request options.
293//
294// See CreateProfileJob for details on how to use this API operation.
295//
296// The context must be non-nil and will be used for request cancellation. If
297// the context is nil a panic will occur. In the future the SDK may create
298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
299// for more information on using Contexts.
300func (c *GlueDataBrew) CreateProfileJobWithContext(ctx aws.Context, input *CreateProfileJobInput, opts ...request.Option) (*CreateProfileJobOutput, error) {
301	req, out := c.CreateProfileJobRequest(input)
302	req.SetContext(ctx)
303	req.ApplyOptions(opts...)
304	return out, req.Send()
305}
306
307const opCreateProject = "CreateProject"
308
309// CreateProjectRequest generates a "aws/request.Request" representing the
310// client's request for the CreateProject operation. The "output" return
311// value will be populated with the request's response once the request completes
312// successfully.
313//
314// Use "Send" method on the returned Request to send the API call to the service.
315// the "output" return value is not valid until after Send returns without error.
316//
317// See CreateProject for more information on using the CreateProject
318// API call, and error handling.
319//
320// This method is useful when you want to inject custom logic or configuration
321// into the SDK's request lifecycle. Such as custom headers, or retry logic.
322//
323//
324//    // Example sending a request using the CreateProjectRequest method.
325//    req, resp := client.CreateProjectRequest(params)
326//
327//    err := req.Send()
328//    if err == nil { // resp is now filled
329//        fmt.Println(resp)
330//    }
331//
332// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateProject
333func (c *GlueDataBrew) CreateProjectRequest(input *CreateProjectInput) (req *request.Request, output *CreateProjectOutput) {
334	op := &request.Operation{
335		Name:       opCreateProject,
336		HTTPMethod: "POST",
337		HTTPPath:   "/projects",
338	}
339
340	if input == nil {
341		input = &CreateProjectInput{}
342	}
343
344	output = &CreateProjectOutput{}
345	req = c.newRequest(op, input, output)
346	return
347}
348
349// CreateProject API operation for AWS Glue DataBrew.
350//
351// Creates a new DataBrew project.
352//
353// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
354// with awserr.Error's Code and Message methods to get detailed information about
355// the error.
356//
357// See the AWS API reference guide for AWS Glue DataBrew's
358// API operation CreateProject for usage and error information.
359//
360// Returned Error Types:
361//   * ConflictException
362//   Updating or deleting a resource can cause an inconsistent state.
363//
364//   * InternalServerException
365//   An internal service failure occurred.
366//
367//   * ServiceQuotaExceededException
368//   A service quota is exceeded.
369//
370//   * ValidationException
371//   The input parameters for this request failed validation.
372//
373// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateProject
374func (c *GlueDataBrew) CreateProject(input *CreateProjectInput) (*CreateProjectOutput, error) {
375	req, out := c.CreateProjectRequest(input)
376	return out, req.Send()
377}
378
379// CreateProjectWithContext is the same as CreateProject with the addition of
380// the ability to pass a context and additional request options.
381//
382// See CreateProject for details on how to use this API operation.
383//
384// The context must be non-nil and will be used for request cancellation. If
385// the context is nil a panic will occur. In the future the SDK may create
386// sub-contexts for http.Requests. See https://golang.org/pkg/context/
387// for more information on using Contexts.
388func (c *GlueDataBrew) CreateProjectWithContext(ctx aws.Context, input *CreateProjectInput, opts ...request.Option) (*CreateProjectOutput, error) {
389	req, out := c.CreateProjectRequest(input)
390	req.SetContext(ctx)
391	req.ApplyOptions(opts...)
392	return out, req.Send()
393}
394
395const opCreateRecipe = "CreateRecipe"
396
397// CreateRecipeRequest generates a "aws/request.Request" representing the
398// client's request for the CreateRecipe operation. The "output" return
399// value will be populated with the request's response once the request completes
400// successfully.
401//
402// Use "Send" method on the returned Request to send the API call to the service.
403// the "output" return value is not valid until after Send returns without error.
404//
405// See CreateRecipe for more information on using the CreateRecipe
406// API call, and error handling.
407//
408// This method is useful when you want to inject custom logic or configuration
409// into the SDK's request lifecycle. Such as custom headers, or retry logic.
410//
411//
412//    // Example sending a request using the CreateRecipeRequest method.
413//    req, resp := client.CreateRecipeRequest(params)
414//
415//    err := req.Send()
416//    if err == nil { // resp is now filled
417//        fmt.Println(resp)
418//    }
419//
420// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateRecipe
421func (c *GlueDataBrew) CreateRecipeRequest(input *CreateRecipeInput) (req *request.Request, output *CreateRecipeOutput) {
422	op := &request.Operation{
423		Name:       opCreateRecipe,
424		HTTPMethod: "POST",
425		HTTPPath:   "/recipes",
426	}
427
428	if input == nil {
429		input = &CreateRecipeInput{}
430	}
431
432	output = &CreateRecipeOutput{}
433	req = c.newRequest(op, input, output)
434	return
435}
436
437// CreateRecipe API operation for AWS Glue DataBrew.
438//
439// Creates a new DataBrew recipe.
440//
441// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
442// with awserr.Error's Code and Message methods to get detailed information about
443// the error.
444//
445// See the AWS API reference guide for AWS Glue DataBrew's
446// API operation CreateRecipe for usage and error information.
447//
448// Returned Error Types:
449//   * ConflictException
450//   Updating or deleting a resource can cause an inconsistent state.
451//
452//   * ServiceQuotaExceededException
453//   A service quota is exceeded.
454//
455//   * ValidationException
456//   The input parameters for this request failed validation.
457//
458// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateRecipe
459func (c *GlueDataBrew) CreateRecipe(input *CreateRecipeInput) (*CreateRecipeOutput, error) {
460	req, out := c.CreateRecipeRequest(input)
461	return out, req.Send()
462}
463
464// CreateRecipeWithContext is the same as CreateRecipe with the addition of
465// the ability to pass a context and additional request options.
466//
467// See CreateRecipe for details on how to use this API operation.
468//
469// The context must be non-nil and will be used for request cancellation. If
470// the context is nil a panic will occur. In the future the SDK may create
471// sub-contexts for http.Requests. See https://golang.org/pkg/context/
472// for more information on using Contexts.
473func (c *GlueDataBrew) CreateRecipeWithContext(ctx aws.Context, input *CreateRecipeInput, opts ...request.Option) (*CreateRecipeOutput, error) {
474	req, out := c.CreateRecipeRequest(input)
475	req.SetContext(ctx)
476	req.ApplyOptions(opts...)
477	return out, req.Send()
478}
479
480const opCreateRecipeJob = "CreateRecipeJob"
481
482// CreateRecipeJobRequest generates a "aws/request.Request" representing the
483// client's request for the CreateRecipeJob operation. The "output" return
484// value will be populated with the request's response once the request completes
485// successfully.
486//
487// Use "Send" method on the returned Request to send the API call to the service.
488// the "output" return value is not valid until after Send returns without error.
489//
490// See CreateRecipeJob for more information on using the CreateRecipeJob
491// API call, and error handling.
492//
493// This method is useful when you want to inject custom logic or configuration
494// into the SDK's request lifecycle. Such as custom headers, or retry logic.
495//
496//
497//    // Example sending a request using the CreateRecipeJobRequest method.
498//    req, resp := client.CreateRecipeJobRequest(params)
499//
500//    err := req.Send()
501//    if err == nil { // resp is now filled
502//        fmt.Println(resp)
503//    }
504//
505// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateRecipeJob
506func (c *GlueDataBrew) CreateRecipeJobRequest(input *CreateRecipeJobInput) (req *request.Request, output *CreateRecipeJobOutput) {
507	op := &request.Operation{
508		Name:       opCreateRecipeJob,
509		HTTPMethod: "POST",
510		HTTPPath:   "/recipeJobs",
511	}
512
513	if input == nil {
514		input = &CreateRecipeJobInput{}
515	}
516
517	output = &CreateRecipeJobOutput{}
518	req = c.newRequest(op, input, output)
519	return
520}
521
522// CreateRecipeJob API operation for AWS Glue DataBrew.
523//
524// Creates a new job to transform input data, using steps defined in an existing
525// Glue DataBrew recipe
526//
527// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
528// with awserr.Error's Code and Message methods to get detailed information about
529// the error.
530//
531// See the AWS API reference guide for AWS Glue DataBrew's
532// API operation CreateRecipeJob for usage and error information.
533//
534// Returned Error Types:
535//   * AccessDeniedException
536//   Access to the specified resource was denied.
537//
538//   * ConflictException
539//   Updating or deleting a resource can cause an inconsistent state.
540//
541//   * ResourceNotFoundException
542//   One or more resources can't be found.
543//
544//   * ServiceQuotaExceededException
545//   A service quota is exceeded.
546//
547//   * ValidationException
548//   The input parameters for this request failed validation.
549//
550// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateRecipeJob
551func (c *GlueDataBrew) CreateRecipeJob(input *CreateRecipeJobInput) (*CreateRecipeJobOutput, error) {
552	req, out := c.CreateRecipeJobRequest(input)
553	return out, req.Send()
554}
555
556// CreateRecipeJobWithContext is the same as CreateRecipeJob with the addition of
557// the ability to pass a context and additional request options.
558//
559// See CreateRecipeJob for details on how to use this API operation.
560//
561// The context must be non-nil and will be used for request cancellation. If
562// the context is nil a panic will occur. In the future the SDK may create
563// sub-contexts for http.Requests. See https://golang.org/pkg/context/
564// for more information on using Contexts.
565func (c *GlueDataBrew) CreateRecipeJobWithContext(ctx aws.Context, input *CreateRecipeJobInput, opts ...request.Option) (*CreateRecipeJobOutput, error) {
566	req, out := c.CreateRecipeJobRequest(input)
567	req.SetContext(ctx)
568	req.ApplyOptions(opts...)
569	return out, req.Send()
570}
571
572const opCreateSchedule = "CreateSchedule"
573
574// CreateScheduleRequest generates a "aws/request.Request" representing the
575// client's request for the CreateSchedule operation. The "output" return
576// value will be populated with the request's response once the request completes
577// successfully.
578//
579// Use "Send" method on the returned Request to send the API call to the service.
580// the "output" return value is not valid until after Send returns without error.
581//
582// See CreateSchedule for more information on using the CreateSchedule
583// API call, and error handling.
584//
585// This method is useful when you want to inject custom logic or configuration
586// into the SDK's request lifecycle. Such as custom headers, or retry logic.
587//
588//
589//    // Example sending a request using the CreateScheduleRequest method.
590//    req, resp := client.CreateScheduleRequest(params)
591//
592//    err := req.Send()
593//    if err == nil { // resp is now filled
594//        fmt.Println(resp)
595//    }
596//
597// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateSchedule
598func (c *GlueDataBrew) CreateScheduleRequest(input *CreateScheduleInput) (req *request.Request, output *CreateScheduleOutput) {
599	op := &request.Operation{
600		Name:       opCreateSchedule,
601		HTTPMethod: "POST",
602		HTTPPath:   "/schedules",
603	}
604
605	if input == nil {
606		input = &CreateScheduleInput{}
607	}
608
609	output = &CreateScheduleOutput{}
610	req = c.newRequest(op, input, output)
611	return
612}
613
614// CreateSchedule API operation for AWS Glue DataBrew.
615//
616// Creates a new schedule for one or more DataBrew jobs. Jobs can be run at
617// a specific date and time, or at regular intervals.
618//
619// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
620// with awserr.Error's Code and Message methods to get detailed information about
621// the error.
622//
623// See the AWS API reference guide for AWS Glue DataBrew's
624// API operation CreateSchedule for usage and error information.
625//
626// Returned Error Types:
627//   * ConflictException
628//   Updating or deleting a resource can cause an inconsistent state.
629//
630//   * ServiceQuotaExceededException
631//   A service quota is exceeded.
632//
633//   * ValidationException
634//   The input parameters for this request failed validation.
635//
636// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateSchedule
637func (c *GlueDataBrew) CreateSchedule(input *CreateScheduleInput) (*CreateScheduleOutput, error) {
638	req, out := c.CreateScheduleRequest(input)
639	return out, req.Send()
640}
641
642// CreateScheduleWithContext is the same as CreateSchedule with the addition of
643// the ability to pass a context and additional request options.
644//
645// See CreateSchedule for details on how to use this API operation.
646//
647// The context must be non-nil and will be used for request cancellation. If
648// the context is nil a panic will occur. In the future the SDK may create
649// sub-contexts for http.Requests. See https://golang.org/pkg/context/
650// for more information on using Contexts.
651func (c *GlueDataBrew) CreateScheduleWithContext(ctx aws.Context, input *CreateScheduleInput, opts ...request.Option) (*CreateScheduleOutput, error) {
652	req, out := c.CreateScheduleRequest(input)
653	req.SetContext(ctx)
654	req.ApplyOptions(opts...)
655	return out, req.Send()
656}
657
658const opDeleteDataset = "DeleteDataset"
659
660// DeleteDatasetRequest generates a "aws/request.Request" representing the
661// client's request for the DeleteDataset operation. The "output" return
662// value will be populated with the request's response once the request completes
663// successfully.
664//
665// Use "Send" method on the returned Request to send the API call to the service.
666// the "output" return value is not valid until after Send returns without error.
667//
668// See DeleteDataset for more information on using the DeleteDataset
669// API call, and error handling.
670//
671// This method is useful when you want to inject custom logic or configuration
672// into the SDK's request lifecycle. Such as custom headers, or retry logic.
673//
674//
675//    // Example sending a request using the DeleteDatasetRequest method.
676//    req, resp := client.DeleteDatasetRequest(params)
677//
678//    err := req.Send()
679//    if err == nil { // resp is now filled
680//        fmt.Println(resp)
681//    }
682//
683// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteDataset
684func (c *GlueDataBrew) DeleteDatasetRequest(input *DeleteDatasetInput) (req *request.Request, output *DeleteDatasetOutput) {
685	op := &request.Operation{
686		Name:       opDeleteDataset,
687		HTTPMethod: "DELETE",
688		HTTPPath:   "/datasets/{name}",
689	}
690
691	if input == nil {
692		input = &DeleteDatasetInput{}
693	}
694
695	output = &DeleteDatasetOutput{}
696	req = c.newRequest(op, input, output)
697	return
698}
699
700// DeleteDataset API operation for AWS Glue DataBrew.
701//
702// Deletes a dataset from DataBrew.
703//
704// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
705// with awserr.Error's Code and Message methods to get detailed information about
706// the error.
707//
708// See the AWS API reference guide for AWS Glue DataBrew's
709// API operation DeleteDataset for usage and error information.
710//
711// Returned Error Types:
712//   * ConflictException
713//   Updating or deleting a resource can cause an inconsistent state.
714//
715//   * ResourceNotFoundException
716//   One or more resources can't be found.
717//
718//   * ValidationException
719//   The input parameters for this request failed validation.
720//
721// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteDataset
722func (c *GlueDataBrew) DeleteDataset(input *DeleteDatasetInput) (*DeleteDatasetOutput, error) {
723	req, out := c.DeleteDatasetRequest(input)
724	return out, req.Send()
725}
726
727// DeleteDatasetWithContext is the same as DeleteDataset with the addition of
728// the ability to pass a context and additional request options.
729//
730// See DeleteDataset for details on how to use this API operation.
731//
732// The context must be non-nil and will be used for request cancellation. If
733// the context is nil a panic will occur. In the future the SDK may create
734// sub-contexts for http.Requests. See https://golang.org/pkg/context/
735// for more information on using Contexts.
736func (c *GlueDataBrew) DeleteDatasetWithContext(ctx aws.Context, input *DeleteDatasetInput, opts ...request.Option) (*DeleteDatasetOutput, error) {
737	req, out := c.DeleteDatasetRequest(input)
738	req.SetContext(ctx)
739	req.ApplyOptions(opts...)
740	return out, req.Send()
741}
742
743const opDeleteJob = "DeleteJob"
744
745// DeleteJobRequest generates a "aws/request.Request" representing the
746// client's request for the DeleteJob operation. The "output" return
747// value will be populated with the request's response once the request completes
748// successfully.
749//
750// Use "Send" method on the returned Request to send the API call to the service.
751// the "output" return value is not valid until after Send returns without error.
752//
753// See DeleteJob for more information on using the DeleteJob
754// API call, and error handling.
755//
756// This method is useful when you want to inject custom logic or configuration
757// into the SDK's request lifecycle. Such as custom headers, or retry logic.
758//
759//
760//    // Example sending a request using the DeleteJobRequest method.
761//    req, resp := client.DeleteJobRequest(params)
762//
763//    err := req.Send()
764//    if err == nil { // resp is now filled
765//        fmt.Println(resp)
766//    }
767//
768// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteJob
769func (c *GlueDataBrew) DeleteJobRequest(input *DeleteJobInput) (req *request.Request, output *DeleteJobOutput) {
770	op := &request.Operation{
771		Name:       opDeleteJob,
772		HTTPMethod: "DELETE",
773		HTTPPath:   "/jobs/{name}",
774	}
775
776	if input == nil {
777		input = &DeleteJobInput{}
778	}
779
780	output = &DeleteJobOutput{}
781	req = c.newRequest(op, input, output)
782	return
783}
784
785// DeleteJob API operation for AWS Glue DataBrew.
786//
787// Deletes the specified DataBrew job.
788//
789// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
790// with awserr.Error's Code and Message methods to get detailed information about
791// the error.
792//
793// See the AWS API reference guide for AWS Glue DataBrew's
794// API operation DeleteJob for usage and error information.
795//
796// Returned Error Types:
797//   * ConflictException
798//   Updating or deleting a resource can cause an inconsistent state.
799//
800//   * ResourceNotFoundException
801//   One or more resources can't be found.
802//
803//   * ValidationException
804//   The input parameters for this request failed validation.
805//
806// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteJob
807func (c *GlueDataBrew) DeleteJob(input *DeleteJobInput) (*DeleteJobOutput, error) {
808	req, out := c.DeleteJobRequest(input)
809	return out, req.Send()
810}
811
812// DeleteJobWithContext is the same as DeleteJob with the addition of
813// the ability to pass a context and additional request options.
814//
815// See DeleteJob for details on how to use this API operation.
816//
817// The context must be non-nil and will be used for request cancellation. If
818// the context is nil a panic will occur. In the future the SDK may create
819// sub-contexts for http.Requests. See https://golang.org/pkg/context/
820// for more information on using Contexts.
821func (c *GlueDataBrew) DeleteJobWithContext(ctx aws.Context, input *DeleteJobInput, opts ...request.Option) (*DeleteJobOutput, error) {
822	req, out := c.DeleteJobRequest(input)
823	req.SetContext(ctx)
824	req.ApplyOptions(opts...)
825	return out, req.Send()
826}
827
828const opDeleteProject = "DeleteProject"
829
830// DeleteProjectRequest generates a "aws/request.Request" representing the
831// client's request for the DeleteProject operation. The "output" return
832// value will be populated with the request's response once the request completes
833// successfully.
834//
835// Use "Send" method on the returned Request to send the API call to the service.
836// the "output" return value is not valid until after Send returns without error.
837//
838// See DeleteProject for more information on using the DeleteProject
839// API call, and error handling.
840//
841// This method is useful when you want to inject custom logic or configuration
842// into the SDK's request lifecycle. Such as custom headers, or retry logic.
843//
844//
845//    // Example sending a request using the DeleteProjectRequest method.
846//    req, resp := client.DeleteProjectRequest(params)
847//
848//    err := req.Send()
849//    if err == nil { // resp is now filled
850//        fmt.Println(resp)
851//    }
852//
853// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteProject
854func (c *GlueDataBrew) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) {
855	op := &request.Operation{
856		Name:       opDeleteProject,
857		HTTPMethod: "DELETE",
858		HTTPPath:   "/projects/{name}",
859	}
860
861	if input == nil {
862		input = &DeleteProjectInput{}
863	}
864
865	output = &DeleteProjectOutput{}
866	req = c.newRequest(op, input, output)
867	return
868}
869
870// DeleteProject API operation for AWS Glue DataBrew.
871//
872// Deletes an existing DataBrew project.
873//
874// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
875// with awserr.Error's Code and Message methods to get detailed information about
876// the error.
877//
878// See the AWS API reference guide for AWS Glue DataBrew's
879// API operation DeleteProject for usage and error information.
880//
881// Returned Error Types:
882//   * ConflictException
883//   Updating or deleting a resource can cause an inconsistent state.
884//
885//   * ResourceNotFoundException
886//   One or more resources can't be found.
887//
888//   * ValidationException
889//   The input parameters for this request failed validation.
890//
891// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteProject
892func (c *GlueDataBrew) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) {
893	req, out := c.DeleteProjectRequest(input)
894	return out, req.Send()
895}
896
897// DeleteProjectWithContext is the same as DeleteProject with the addition of
898// the ability to pass a context and additional request options.
899//
900// See DeleteProject for details on how to use this API operation.
901//
902// The context must be non-nil and will be used for request cancellation. If
903// the context is nil a panic will occur. In the future the SDK may create
904// sub-contexts for http.Requests. See https://golang.org/pkg/context/
905// for more information on using Contexts.
906func (c *GlueDataBrew) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) {
907	req, out := c.DeleteProjectRequest(input)
908	req.SetContext(ctx)
909	req.ApplyOptions(opts...)
910	return out, req.Send()
911}
912
913const opDeleteRecipeVersion = "DeleteRecipeVersion"
914
915// DeleteRecipeVersionRequest generates a "aws/request.Request" representing the
916// client's request for the DeleteRecipeVersion operation. The "output" return
917// value will be populated with the request's response once the request completes
918// successfully.
919//
920// Use "Send" method on the returned Request to send the API call to the service.
921// the "output" return value is not valid until after Send returns without error.
922//
923// See DeleteRecipeVersion for more information on using the DeleteRecipeVersion
924// API call, and error handling.
925//
926// This method is useful when you want to inject custom logic or configuration
927// into the SDK's request lifecycle. Such as custom headers, or retry logic.
928//
929//
930//    // Example sending a request using the DeleteRecipeVersionRequest method.
931//    req, resp := client.DeleteRecipeVersionRequest(params)
932//
933//    err := req.Send()
934//    if err == nil { // resp is now filled
935//        fmt.Println(resp)
936//    }
937//
938// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteRecipeVersion
939func (c *GlueDataBrew) DeleteRecipeVersionRequest(input *DeleteRecipeVersionInput) (req *request.Request, output *DeleteRecipeVersionOutput) {
940	op := &request.Operation{
941		Name:       opDeleteRecipeVersion,
942		HTTPMethod: "DELETE",
943		HTTPPath:   "/recipes/{name}/recipeVersion/{recipeVersion}",
944	}
945
946	if input == nil {
947		input = &DeleteRecipeVersionInput{}
948	}
949
950	output = &DeleteRecipeVersionOutput{}
951	req = c.newRequest(op, input, output)
952	return
953}
954
955// DeleteRecipeVersion API operation for AWS Glue DataBrew.
956//
957// Deletes a single version of a DataBrew recipe.
958//
959// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
960// with awserr.Error's Code and Message methods to get detailed information about
961// the error.
962//
963// See the AWS API reference guide for AWS Glue DataBrew's
964// API operation DeleteRecipeVersion for usage and error information.
965//
966// Returned Error Types:
967//   * ConflictException
968//   Updating or deleting a resource can cause an inconsistent state.
969//
970//   * ResourceNotFoundException
971//   One or more resources can't be found.
972//
973//   * ValidationException
974//   The input parameters for this request failed validation.
975//
976// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteRecipeVersion
977func (c *GlueDataBrew) DeleteRecipeVersion(input *DeleteRecipeVersionInput) (*DeleteRecipeVersionOutput, error) {
978	req, out := c.DeleteRecipeVersionRequest(input)
979	return out, req.Send()
980}
981
982// DeleteRecipeVersionWithContext is the same as DeleteRecipeVersion with the addition of
983// the ability to pass a context and additional request options.
984//
985// See DeleteRecipeVersion for details on how to use this API operation.
986//
987// The context must be non-nil and will be used for request cancellation. If
988// the context is nil a panic will occur. In the future the SDK may create
989// sub-contexts for http.Requests. See https://golang.org/pkg/context/
990// for more information on using Contexts.
991func (c *GlueDataBrew) DeleteRecipeVersionWithContext(ctx aws.Context, input *DeleteRecipeVersionInput, opts ...request.Option) (*DeleteRecipeVersionOutput, error) {
992	req, out := c.DeleteRecipeVersionRequest(input)
993	req.SetContext(ctx)
994	req.ApplyOptions(opts...)
995	return out, req.Send()
996}
997
998const opDeleteSchedule = "DeleteSchedule"
999
1000// DeleteScheduleRequest generates a "aws/request.Request" representing the
1001// client's request for the DeleteSchedule operation. The "output" return
1002// value will be populated with the request's response once the request completes
1003// successfully.
1004//
1005// Use "Send" method on the returned Request to send the API call to the service.
1006// the "output" return value is not valid until after Send returns without error.
1007//
1008// See DeleteSchedule for more information on using the DeleteSchedule
1009// API call, and error handling.
1010//
1011// This method is useful when you want to inject custom logic or configuration
1012// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1013//
1014//
1015//    // Example sending a request using the DeleteScheduleRequest method.
1016//    req, resp := client.DeleteScheduleRequest(params)
1017//
1018//    err := req.Send()
1019//    if err == nil { // resp is now filled
1020//        fmt.Println(resp)
1021//    }
1022//
1023// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteSchedule
1024func (c *GlueDataBrew) DeleteScheduleRequest(input *DeleteScheduleInput) (req *request.Request, output *DeleteScheduleOutput) {
1025	op := &request.Operation{
1026		Name:       opDeleteSchedule,
1027		HTTPMethod: "DELETE",
1028		HTTPPath:   "/schedules/{name}",
1029	}
1030
1031	if input == nil {
1032		input = &DeleteScheduleInput{}
1033	}
1034
1035	output = &DeleteScheduleOutput{}
1036	req = c.newRequest(op, input, output)
1037	return
1038}
1039
1040// DeleteSchedule API operation for AWS Glue DataBrew.
1041//
1042// Deletes the specified DataBrew schedule.
1043//
1044// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1045// with awserr.Error's Code and Message methods to get detailed information about
1046// the error.
1047//
1048// See the AWS API reference guide for AWS Glue DataBrew's
1049// API operation DeleteSchedule for usage and error information.
1050//
1051// Returned Error Types:
1052//   * ResourceNotFoundException
1053//   One or more resources can't be found.
1054//
1055//   * ValidationException
1056//   The input parameters for this request failed validation.
1057//
1058// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteSchedule
1059func (c *GlueDataBrew) DeleteSchedule(input *DeleteScheduleInput) (*DeleteScheduleOutput, error) {
1060	req, out := c.DeleteScheduleRequest(input)
1061	return out, req.Send()
1062}
1063
1064// DeleteScheduleWithContext is the same as DeleteSchedule with the addition of
1065// the ability to pass a context and additional request options.
1066//
1067// See DeleteSchedule for details on how to use this API operation.
1068//
1069// The context must be non-nil and will be used for request cancellation. If
1070// the context is nil a panic will occur. In the future the SDK may create
1071// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1072// for more information on using Contexts.
1073func (c *GlueDataBrew) DeleteScheduleWithContext(ctx aws.Context, input *DeleteScheduleInput, opts ...request.Option) (*DeleteScheduleOutput, error) {
1074	req, out := c.DeleteScheduleRequest(input)
1075	req.SetContext(ctx)
1076	req.ApplyOptions(opts...)
1077	return out, req.Send()
1078}
1079
1080const opDescribeDataset = "DescribeDataset"
1081
1082// DescribeDatasetRequest generates a "aws/request.Request" representing the
1083// client's request for the DescribeDataset operation. The "output" return
1084// value will be populated with the request's response once the request completes
1085// successfully.
1086//
1087// Use "Send" method on the returned Request to send the API call to the service.
1088// the "output" return value is not valid until after Send returns without error.
1089//
1090// See DescribeDataset for more information on using the DescribeDataset
1091// API call, and error handling.
1092//
1093// This method is useful when you want to inject custom logic or configuration
1094// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1095//
1096//
1097//    // Example sending a request using the DescribeDatasetRequest method.
1098//    req, resp := client.DescribeDatasetRequest(params)
1099//
1100//    err := req.Send()
1101//    if err == nil { // resp is now filled
1102//        fmt.Println(resp)
1103//    }
1104//
1105// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeDataset
1106func (c *GlueDataBrew) DescribeDatasetRequest(input *DescribeDatasetInput) (req *request.Request, output *DescribeDatasetOutput) {
1107	op := &request.Operation{
1108		Name:       opDescribeDataset,
1109		HTTPMethod: "GET",
1110		HTTPPath:   "/datasets/{name}",
1111	}
1112
1113	if input == nil {
1114		input = &DescribeDatasetInput{}
1115	}
1116
1117	output = &DescribeDatasetOutput{}
1118	req = c.newRequest(op, input, output)
1119	return
1120}
1121
1122// DescribeDataset API operation for AWS Glue DataBrew.
1123//
1124// Returns the definition of a specific DataBrew dataset.
1125//
1126// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1127// with awserr.Error's Code and Message methods to get detailed information about
1128// the error.
1129//
1130// See the AWS API reference guide for AWS Glue DataBrew's
1131// API operation DescribeDataset for usage and error information.
1132//
1133// Returned Error Types:
1134//   * ResourceNotFoundException
1135//   One or more resources can't be found.
1136//
1137//   * ValidationException
1138//   The input parameters for this request failed validation.
1139//
1140// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeDataset
1141func (c *GlueDataBrew) DescribeDataset(input *DescribeDatasetInput) (*DescribeDatasetOutput, error) {
1142	req, out := c.DescribeDatasetRequest(input)
1143	return out, req.Send()
1144}
1145
1146// DescribeDatasetWithContext is the same as DescribeDataset with the addition of
1147// the ability to pass a context and additional request options.
1148//
1149// See DescribeDataset for details on how to use this API operation.
1150//
1151// The context must be non-nil and will be used for request cancellation. If
1152// the context is nil a panic will occur. In the future the SDK may create
1153// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1154// for more information on using Contexts.
1155func (c *GlueDataBrew) DescribeDatasetWithContext(ctx aws.Context, input *DescribeDatasetInput, opts ...request.Option) (*DescribeDatasetOutput, error) {
1156	req, out := c.DescribeDatasetRequest(input)
1157	req.SetContext(ctx)
1158	req.ApplyOptions(opts...)
1159	return out, req.Send()
1160}
1161
1162const opDescribeJob = "DescribeJob"
1163
1164// DescribeJobRequest generates a "aws/request.Request" representing the
1165// client's request for the DescribeJob operation. The "output" return
1166// value will be populated with the request's response once the request completes
1167// successfully.
1168//
1169// Use "Send" method on the returned Request to send the API call to the service.
1170// the "output" return value is not valid until after Send returns without error.
1171//
1172// See DescribeJob for more information on using the DescribeJob
1173// API call, and error handling.
1174//
1175// This method is useful when you want to inject custom logic or configuration
1176// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1177//
1178//
1179//    // Example sending a request using the DescribeJobRequest method.
1180//    req, resp := client.DescribeJobRequest(params)
1181//
1182//    err := req.Send()
1183//    if err == nil { // resp is now filled
1184//        fmt.Println(resp)
1185//    }
1186//
1187// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeJob
1188func (c *GlueDataBrew) DescribeJobRequest(input *DescribeJobInput) (req *request.Request, output *DescribeJobOutput) {
1189	op := &request.Operation{
1190		Name:       opDescribeJob,
1191		HTTPMethod: "GET",
1192		HTTPPath:   "/jobs/{name}",
1193	}
1194
1195	if input == nil {
1196		input = &DescribeJobInput{}
1197	}
1198
1199	output = &DescribeJobOutput{}
1200	req = c.newRequest(op, input, output)
1201	return
1202}
1203
1204// DescribeJob API operation for AWS Glue DataBrew.
1205//
1206// Returns the definition of a specific DataBrew job.
1207//
1208// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1209// with awserr.Error's Code and Message methods to get detailed information about
1210// the error.
1211//
1212// See the AWS API reference guide for AWS Glue DataBrew's
1213// API operation DescribeJob for usage and error information.
1214//
1215// Returned Error Types:
1216//   * ResourceNotFoundException
1217//   One or more resources can't be found.
1218//
1219//   * ValidationException
1220//   The input parameters for this request failed validation.
1221//
1222// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeJob
1223func (c *GlueDataBrew) DescribeJob(input *DescribeJobInput) (*DescribeJobOutput, error) {
1224	req, out := c.DescribeJobRequest(input)
1225	return out, req.Send()
1226}
1227
1228// DescribeJobWithContext is the same as DescribeJob with the addition of
1229// the ability to pass a context and additional request options.
1230//
1231// See DescribeJob for details on how to use this API operation.
1232//
1233// The context must be non-nil and will be used for request cancellation. If
1234// the context is nil a panic will occur. In the future the SDK may create
1235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1236// for more information on using Contexts.
1237func (c *GlueDataBrew) DescribeJobWithContext(ctx aws.Context, input *DescribeJobInput, opts ...request.Option) (*DescribeJobOutput, error) {
1238	req, out := c.DescribeJobRequest(input)
1239	req.SetContext(ctx)
1240	req.ApplyOptions(opts...)
1241	return out, req.Send()
1242}
1243
1244const opDescribeJobRun = "DescribeJobRun"
1245
1246// DescribeJobRunRequest generates a "aws/request.Request" representing the
1247// client's request for the DescribeJobRun operation. The "output" return
1248// value will be populated with the request's response once the request completes
1249// successfully.
1250//
1251// Use "Send" method on the returned Request to send the API call to the service.
1252// the "output" return value is not valid until after Send returns without error.
1253//
1254// See DescribeJobRun for more information on using the DescribeJobRun
1255// API call, and error handling.
1256//
1257// This method is useful when you want to inject custom logic or configuration
1258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1259//
1260//
1261//    // Example sending a request using the DescribeJobRunRequest method.
1262//    req, resp := client.DescribeJobRunRequest(params)
1263//
1264//    err := req.Send()
1265//    if err == nil { // resp is now filled
1266//        fmt.Println(resp)
1267//    }
1268//
1269// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeJobRun
1270func (c *GlueDataBrew) DescribeJobRunRequest(input *DescribeJobRunInput) (req *request.Request, output *DescribeJobRunOutput) {
1271	op := &request.Operation{
1272		Name:       opDescribeJobRun,
1273		HTTPMethod: "GET",
1274		HTTPPath:   "/jobs/{name}/jobRun/{runId}",
1275	}
1276
1277	if input == nil {
1278		input = &DescribeJobRunInput{}
1279	}
1280
1281	output = &DescribeJobRunOutput{}
1282	req = c.newRequest(op, input, output)
1283	return
1284}
1285
1286// DescribeJobRun API operation for AWS Glue DataBrew.
1287//
1288// Represents one run of a DataBrew job.
1289//
1290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1291// with awserr.Error's Code and Message methods to get detailed information about
1292// the error.
1293//
1294// See the AWS API reference guide for AWS Glue DataBrew's
1295// API operation DescribeJobRun for usage and error information.
1296//
1297// Returned Error Types:
1298//   * ResourceNotFoundException
1299//   One or more resources can't be found.
1300//
1301//   * ValidationException
1302//   The input parameters for this request failed validation.
1303//
1304// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeJobRun
1305func (c *GlueDataBrew) DescribeJobRun(input *DescribeJobRunInput) (*DescribeJobRunOutput, error) {
1306	req, out := c.DescribeJobRunRequest(input)
1307	return out, req.Send()
1308}
1309
1310// DescribeJobRunWithContext is the same as DescribeJobRun with the addition of
1311// the ability to pass a context and additional request options.
1312//
1313// See DescribeJobRun for details on how to use this API operation.
1314//
1315// The context must be non-nil and will be used for request cancellation. If
1316// the context is nil a panic will occur. In the future the SDK may create
1317// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1318// for more information on using Contexts.
1319func (c *GlueDataBrew) DescribeJobRunWithContext(ctx aws.Context, input *DescribeJobRunInput, opts ...request.Option) (*DescribeJobRunOutput, error) {
1320	req, out := c.DescribeJobRunRequest(input)
1321	req.SetContext(ctx)
1322	req.ApplyOptions(opts...)
1323	return out, req.Send()
1324}
1325
1326const opDescribeProject = "DescribeProject"
1327
1328// DescribeProjectRequest generates a "aws/request.Request" representing the
1329// client's request for the DescribeProject operation. The "output" return
1330// value will be populated with the request's response once the request completes
1331// successfully.
1332//
1333// Use "Send" method on the returned Request to send the API call to the service.
1334// the "output" return value is not valid until after Send returns without error.
1335//
1336// See DescribeProject for more information on using the DescribeProject
1337// API call, and error handling.
1338//
1339// This method is useful when you want to inject custom logic or configuration
1340// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1341//
1342//
1343//    // Example sending a request using the DescribeProjectRequest method.
1344//    req, resp := client.DescribeProjectRequest(params)
1345//
1346//    err := req.Send()
1347//    if err == nil { // resp is now filled
1348//        fmt.Println(resp)
1349//    }
1350//
1351// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeProject
1352func (c *GlueDataBrew) DescribeProjectRequest(input *DescribeProjectInput) (req *request.Request, output *DescribeProjectOutput) {
1353	op := &request.Operation{
1354		Name:       opDescribeProject,
1355		HTTPMethod: "GET",
1356		HTTPPath:   "/projects/{name}",
1357	}
1358
1359	if input == nil {
1360		input = &DescribeProjectInput{}
1361	}
1362
1363	output = &DescribeProjectOutput{}
1364	req = c.newRequest(op, input, output)
1365	return
1366}
1367
1368// DescribeProject API operation for AWS Glue DataBrew.
1369//
1370// Returns the definition of a specific DataBrew project.
1371//
1372// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1373// with awserr.Error's Code and Message methods to get detailed information about
1374// the error.
1375//
1376// See the AWS API reference guide for AWS Glue DataBrew's
1377// API operation DescribeProject for usage and error information.
1378//
1379// Returned Error Types:
1380//   * ResourceNotFoundException
1381//   One or more resources can't be found.
1382//
1383//   * ValidationException
1384//   The input parameters for this request failed validation.
1385//
1386// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeProject
1387func (c *GlueDataBrew) DescribeProject(input *DescribeProjectInput) (*DescribeProjectOutput, error) {
1388	req, out := c.DescribeProjectRequest(input)
1389	return out, req.Send()
1390}
1391
1392// DescribeProjectWithContext is the same as DescribeProject with the addition of
1393// the ability to pass a context and additional request options.
1394//
1395// See DescribeProject for details on how to use this API operation.
1396//
1397// The context must be non-nil and will be used for request cancellation. If
1398// the context is nil a panic will occur. In the future the SDK may create
1399// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1400// for more information on using Contexts.
1401func (c *GlueDataBrew) DescribeProjectWithContext(ctx aws.Context, input *DescribeProjectInput, opts ...request.Option) (*DescribeProjectOutput, error) {
1402	req, out := c.DescribeProjectRequest(input)
1403	req.SetContext(ctx)
1404	req.ApplyOptions(opts...)
1405	return out, req.Send()
1406}
1407
1408const opDescribeRecipe = "DescribeRecipe"
1409
1410// DescribeRecipeRequest generates a "aws/request.Request" representing the
1411// client's request for the DescribeRecipe operation. The "output" return
1412// value will be populated with the request's response once the request completes
1413// successfully.
1414//
1415// Use "Send" method on the returned Request to send the API call to the service.
1416// the "output" return value is not valid until after Send returns without error.
1417//
1418// See DescribeRecipe for more information on using the DescribeRecipe
1419// API call, and error handling.
1420//
1421// This method is useful when you want to inject custom logic or configuration
1422// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1423//
1424//
1425//    // Example sending a request using the DescribeRecipeRequest method.
1426//    req, resp := client.DescribeRecipeRequest(params)
1427//
1428//    err := req.Send()
1429//    if err == nil { // resp is now filled
1430//        fmt.Println(resp)
1431//    }
1432//
1433// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeRecipe
1434func (c *GlueDataBrew) DescribeRecipeRequest(input *DescribeRecipeInput) (req *request.Request, output *DescribeRecipeOutput) {
1435	op := &request.Operation{
1436		Name:       opDescribeRecipe,
1437		HTTPMethod: "GET",
1438		HTTPPath:   "/recipes/{name}",
1439	}
1440
1441	if input == nil {
1442		input = &DescribeRecipeInput{}
1443	}
1444
1445	output = &DescribeRecipeOutput{}
1446	req = c.newRequest(op, input, output)
1447	return
1448}
1449
1450// DescribeRecipe API operation for AWS Glue DataBrew.
1451//
1452// Returns the definition of a specific DataBrew recipe corresponding to a particular
1453// version.
1454//
1455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1456// with awserr.Error's Code and Message methods to get detailed information about
1457// the error.
1458//
1459// See the AWS API reference guide for AWS Glue DataBrew's
1460// API operation DescribeRecipe for usage and error information.
1461//
1462// Returned Error Types:
1463//   * ResourceNotFoundException
1464//   One or more resources can't be found.
1465//
1466//   * ValidationException
1467//   The input parameters for this request failed validation.
1468//
1469// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeRecipe
1470func (c *GlueDataBrew) DescribeRecipe(input *DescribeRecipeInput) (*DescribeRecipeOutput, error) {
1471	req, out := c.DescribeRecipeRequest(input)
1472	return out, req.Send()
1473}
1474
1475// DescribeRecipeWithContext is the same as DescribeRecipe with the addition of
1476// the ability to pass a context and additional request options.
1477//
1478// See DescribeRecipe for details on how to use this API operation.
1479//
1480// The context must be non-nil and will be used for request cancellation. If
1481// the context is nil a panic will occur. In the future the SDK may create
1482// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1483// for more information on using Contexts.
1484func (c *GlueDataBrew) DescribeRecipeWithContext(ctx aws.Context, input *DescribeRecipeInput, opts ...request.Option) (*DescribeRecipeOutput, error) {
1485	req, out := c.DescribeRecipeRequest(input)
1486	req.SetContext(ctx)
1487	req.ApplyOptions(opts...)
1488	return out, req.Send()
1489}
1490
1491const opDescribeSchedule = "DescribeSchedule"
1492
1493// DescribeScheduleRequest generates a "aws/request.Request" representing the
1494// client's request for the DescribeSchedule operation. The "output" return
1495// value will be populated with the request's response once the request completes
1496// successfully.
1497//
1498// Use "Send" method on the returned Request to send the API call to the service.
1499// the "output" return value is not valid until after Send returns without error.
1500//
1501// See DescribeSchedule for more information on using the DescribeSchedule
1502// API call, and error handling.
1503//
1504// This method is useful when you want to inject custom logic or configuration
1505// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1506//
1507//
1508//    // Example sending a request using the DescribeScheduleRequest method.
1509//    req, resp := client.DescribeScheduleRequest(params)
1510//
1511//    err := req.Send()
1512//    if err == nil { // resp is now filled
1513//        fmt.Println(resp)
1514//    }
1515//
1516// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeSchedule
1517func (c *GlueDataBrew) DescribeScheduleRequest(input *DescribeScheduleInput) (req *request.Request, output *DescribeScheduleOutput) {
1518	op := &request.Operation{
1519		Name:       opDescribeSchedule,
1520		HTTPMethod: "GET",
1521		HTTPPath:   "/schedules/{name}",
1522	}
1523
1524	if input == nil {
1525		input = &DescribeScheduleInput{}
1526	}
1527
1528	output = &DescribeScheduleOutput{}
1529	req = c.newRequest(op, input, output)
1530	return
1531}
1532
1533// DescribeSchedule API operation for AWS Glue DataBrew.
1534//
1535// Returns the definition of a specific DataBrew schedule.
1536//
1537// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1538// with awserr.Error's Code and Message methods to get detailed information about
1539// the error.
1540//
1541// See the AWS API reference guide for AWS Glue DataBrew's
1542// API operation DescribeSchedule for usage and error information.
1543//
1544// Returned Error Types:
1545//   * ResourceNotFoundException
1546//   One or more resources can't be found.
1547//
1548//   * ValidationException
1549//   The input parameters for this request failed validation.
1550//
1551// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeSchedule
1552func (c *GlueDataBrew) DescribeSchedule(input *DescribeScheduleInput) (*DescribeScheduleOutput, error) {
1553	req, out := c.DescribeScheduleRequest(input)
1554	return out, req.Send()
1555}
1556
1557// DescribeScheduleWithContext is the same as DescribeSchedule with the addition of
1558// the ability to pass a context and additional request options.
1559//
1560// See DescribeSchedule for details on how to use this API operation.
1561//
1562// The context must be non-nil and will be used for request cancellation. If
1563// the context is nil a panic will occur. In the future the SDK may create
1564// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1565// for more information on using Contexts.
1566func (c *GlueDataBrew) DescribeScheduleWithContext(ctx aws.Context, input *DescribeScheduleInput, opts ...request.Option) (*DescribeScheduleOutput, error) {
1567	req, out := c.DescribeScheduleRequest(input)
1568	req.SetContext(ctx)
1569	req.ApplyOptions(opts...)
1570	return out, req.Send()
1571}
1572
1573const opListDatasets = "ListDatasets"
1574
1575// ListDatasetsRequest generates a "aws/request.Request" representing the
1576// client's request for the ListDatasets operation. The "output" return
1577// value will be populated with the request's response once the request completes
1578// successfully.
1579//
1580// Use "Send" method on the returned Request to send the API call to the service.
1581// the "output" return value is not valid until after Send returns without error.
1582//
1583// See ListDatasets for more information on using the ListDatasets
1584// API call, and error handling.
1585//
1586// This method is useful when you want to inject custom logic or configuration
1587// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1588//
1589//
1590//    // Example sending a request using the ListDatasetsRequest method.
1591//    req, resp := client.ListDatasetsRequest(params)
1592//
1593//    err := req.Send()
1594//    if err == nil { // resp is now filled
1595//        fmt.Println(resp)
1596//    }
1597//
1598// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListDatasets
1599func (c *GlueDataBrew) ListDatasetsRequest(input *ListDatasetsInput) (req *request.Request, output *ListDatasetsOutput) {
1600	op := &request.Operation{
1601		Name:       opListDatasets,
1602		HTTPMethod: "GET",
1603		HTTPPath:   "/datasets",
1604		Paginator: &request.Paginator{
1605			InputTokens:     []string{"NextToken"},
1606			OutputTokens:    []string{"NextToken"},
1607			LimitToken:      "MaxResults",
1608			TruncationToken: "",
1609		},
1610	}
1611
1612	if input == nil {
1613		input = &ListDatasetsInput{}
1614	}
1615
1616	output = &ListDatasetsOutput{}
1617	req = c.newRequest(op, input, output)
1618	return
1619}
1620
1621// ListDatasets API operation for AWS Glue DataBrew.
1622//
1623// Lists all of the DataBrew datasets.
1624//
1625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1626// with awserr.Error's Code and Message methods to get detailed information about
1627// the error.
1628//
1629// See the AWS API reference guide for AWS Glue DataBrew's
1630// API operation ListDatasets for usage and error information.
1631//
1632// Returned Error Types:
1633//   * ValidationException
1634//   The input parameters for this request failed validation.
1635//
1636// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListDatasets
1637func (c *GlueDataBrew) ListDatasets(input *ListDatasetsInput) (*ListDatasetsOutput, error) {
1638	req, out := c.ListDatasetsRequest(input)
1639	return out, req.Send()
1640}
1641
1642// ListDatasetsWithContext is the same as ListDatasets with the addition of
1643// the ability to pass a context and additional request options.
1644//
1645// See ListDatasets for details on how to use this API operation.
1646//
1647// The context must be non-nil and will be used for request cancellation. If
1648// the context is nil a panic will occur. In the future the SDK may create
1649// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1650// for more information on using Contexts.
1651func (c *GlueDataBrew) ListDatasetsWithContext(ctx aws.Context, input *ListDatasetsInput, opts ...request.Option) (*ListDatasetsOutput, error) {
1652	req, out := c.ListDatasetsRequest(input)
1653	req.SetContext(ctx)
1654	req.ApplyOptions(opts...)
1655	return out, req.Send()
1656}
1657
1658// ListDatasetsPages iterates over the pages of a ListDatasets operation,
1659// calling the "fn" function with the response data for each page. To stop
1660// iterating, return false from the fn function.
1661//
1662// See ListDatasets method for more information on how to use this operation.
1663//
1664// Note: This operation can generate multiple requests to a service.
1665//
1666//    // Example iterating over at most 3 pages of a ListDatasets operation.
1667//    pageNum := 0
1668//    err := client.ListDatasetsPages(params,
1669//        func(page *gluedatabrew.ListDatasetsOutput, lastPage bool) bool {
1670//            pageNum++
1671//            fmt.Println(page)
1672//            return pageNum <= 3
1673//        })
1674//
1675func (c *GlueDataBrew) ListDatasetsPages(input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool) error {
1676	return c.ListDatasetsPagesWithContext(aws.BackgroundContext(), input, fn)
1677}
1678
1679// ListDatasetsPagesWithContext same as ListDatasetsPages except
1680// it takes a Context and allows setting request options on the pages.
1681//
1682// The context must be non-nil and will be used for request cancellation. If
1683// the context is nil a panic will occur. In the future the SDK may create
1684// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1685// for more information on using Contexts.
1686func (c *GlueDataBrew) ListDatasetsPagesWithContext(ctx aws.Context, input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool, opts ...request.Option) error {
1687	p := request.Pagination{
1688		NewRequest: func() (*request.Request, error) {
1689			var inCpy *ListDatasetsInput
1690			if input != nil {
1691				tmp := *input
1692				inCpy = &tmp
1693			}
1694			req, _ := c.ListDatasetsRequest(inCpy)
1695			req.SetContext(ctx)
1696			req.ApplyOptions(opts...)
1697			return req, nil
1698		},
1699	}
1700
1701	for p.Next() {
1702		if !fn(p.Page().(*ListDatasetsOutput), !p.HasNextPage()) {
1703			break
1704		}
1705	}
1706
1707	return p.Err()
1708}
1709
1710const opListJobRuns = "ListJobRuns"
1711
1712// ListJobRunsRequest generates a "aws/request.Request" representing the
1713// client's request for the ListJobRuns operation. The "output" return
1714// value will be populated with the request's response once the request completes
1715// successfully.
1716//
1717// Use "Send" method on the returned Request to send the API call to the service.
1718// the "output" return value is not valid until after Send returns without error.
1719//
1720// See ListJobRuns for more information on using the ListJobRuns
1721// API call, and error handling.
1722//
1723// This method is useful when you want to inject custom logic or configuration
1724// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1725//
1726//
1727//    // Example sending a request using the ListJobRunsRequest method.
1728//    req, resp := client.ListJobRunsRequest(params)
1729//
1730//    err := req.Send()
1731//    if err == nil { // resp is now filled
1732//        fmt.Println(resp)
1733//    }
1734//
1735// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListJobRuns
1736func (c *GlueDataBrew) ListJobRunsRequest(input *ListJobRunsInput) (req *request.Request, output *ListJobRunsOutput) {
1737	op := &request.Operation{
1738		Name:       opListJobRuns,
1739		HTTPMethod: "GET",
1740		HTTPPath:   "/jobs/{name}/jobRuns",
1741		Paginator: &request.Paginator{
1742			InputTokens:     []string{"NextToken"},
1743			OutputTokens:    []string{"NextToken"},
1744			LimitToken:      "MaxResults",
1745			TruncationToken: "",
1746		},
1747	}
1748
1749	if input == nil {
1750		input = &ListJobRunsInput{}
1751	}
1752
1753	output = &ListJobRunsOutput{}
1754	req = c.newRequest(op, input, output)
1755	return
1756}
1757
1758// ListJobRuns API operation for AWS Glue DataBrew.
1759//
1760// Lists all of the previous runs of a particular DataBrew job.
1761//
1762// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1763// with awserr.Error's Code and Message methods to get detailed information about
1764// the error.
1765//
1766// See the AWS API reference guide for AWS Glue DataBrew's
1767// API operation ListJobRuns for usage and error information.
1768//
1769// Returned Error Types:
1770//   * ResourceNotFoundException
1771//   One or more resources can't be found.
1772//
1773//   * ValidationException
1774//   The input parameters for this request failed validation.
1775//
1776// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListJobRuns
1777func (c *GlueDataBrew) ListJobRuns(input *ListJobRunsInput) (*ListJobRunsOutput, error) {
1778	req, out := c.ListJobRunsRequest(input)
1779	return out, req.Send()
1780}
1781
1782// ListJobRunsWithContext is the same as ListJobRuns with the addition of
1783// the ability to pass a context and additional request options.
1784//
1785// See ListJobRuns for details on how to use this API operation.
1786//
1787// The context must be non-nil and will be used for request cancellation. If
1788// the context is nil a panic will occur. In the future the SDK may create
1789// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1790// for more information on using Contexts.
1791func (c *GlueDataBrew) ListJobRunsWithContext(ctx aws.Context, input *ListJobRunsInput, opts ...request.Option) (*ListJobRunsOutput, error) {
1792	req, out := c.ListJobRunsRequest(input)
1793	req.SetContext(ctx)
1794	req.ApplyOptions(opts...)
1795	return out, req.Send()
1796}
1797
1798// ListJobRunsPages iterates over the pages of a ListJobRuns operation,
1799// calling the "fn" function with the response data for each page. To stop
1800// iterating, return false from the fn function.
1801//
1802// See ListJobRuns method for more information on how to use this operation.
1803//
1804// Note: This operation can generate multiple requests to a service.
1805//
1806//    // Example iterating over at most 3 pages of a ListJobRuns operation.
1807//    pageNum := 0
1808//    err := client.ListJobRunsPages(params,
1809//        func(page *gluedatabrew.ListJobRunsOutput, lastPage bool) bool {
1810//            pageNum++
1811//            fmt.Println(page)
1812//            return pageNum <= 3
1813//        })
1814//
1815func (c *GlueDataBrew) ListJobRunsPages(input *ListJobRunsInput, fn func(*ListJobRunsOutput, bool) bool) error {
1816	return c.ListJobRunsPagesWithContext(aws.BackgroundContext(), input, fn)
1817}
1818
1819// ListJobRunsPagesWithContext same as ListJobRunsPages except
1820// it takes a Context and allows setting request options on the pages.
1821//
1822// The context must be non-nil and will be used for request cancellation. If
1823// the context is nil a panic will occur. In the future the SDK may create
1824// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1825// for more information on using Contexts.
1826func (c *GlueDataBrew) ListJobRunsPagesWithContext(ctx aws.Context, input *ListJobRunsInput, fn func(*ListJobRunsOutput, bool) bool, opts ...request.Option) error {
1827	p := request.Pagination{
1828		NewRequest: func() (*request.Request, error) {
1829			var inCpy *ListJobRunsInput
1830			if input != nil {
1831				tmp := *input
1832				inCpy = &tmp
1833			}
1834			req, _ := c.ListJobRunsRequest(inCpy)
1835			req.SetContext(ctx)
1836			req.ApplyOptions(opts...)
1837			return req, nil
1838		},
1839	}
1840
1841	for p.Next() {
1842		if !fn(p.Page().(*ListJobRunsOutput), !p.HasNextPage()) {
1843			break
1844		}
1845	}
1846
1847	return p.Err()
1848}
1849
1850const opListJobs = "ListJobs"
1851
1852// ListJobsRequest generates a "aws/request.Request" representing the
1853// client's request for the ListJobs operation. The "output" return
1854// value will be populated with the request's response once the request completes
1855// successfully.
1856//
1857// Use "Send" method on the returned Request to send the API call to the service.
1858// the "output" return value is not valid until after Send returns without error.
1859//
1860// See ListJobs for more information on using the ListJobs
1861// API call, and error handling.
1862//
1863// This method is useful when you want to inject custom logic or configuration
1864// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1865//
1866//
1867//    // Example sending a request using the ListJobsRequest method.
1868//    req, resp := client.ListJobsRequest(params)
1869//
1870//    err := req.Send()
1871//    if err == nil { // resp is now filled
1872//        fmt.Println(resp)
1873//    }
1874//
1875// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListJobs
1876func (c *GlueDataBrew) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) {
1877	op := &request.Operation{
1878		Name:       opListJobs,
1879		HTTPMethod: "GET",
1880		HTTPPath:   "/jobs",
1881		Paginator: &request.Paginator{
1882			InputTokens:     []string{"NextToken"},
1883			OutputTokens:    []string{"NextToken"},
1884			LimitToken:      "MaxResults",
1885			TruncationToken: "",
1886		},
1887	}
1888
1889	if input == nil {
1890		input = &ListJobsInput{}
1891	}
1892
1893	output = &ListJobsOutput{}
1894	req = c.newRequest(op, input, output)
1895	return
1896}
1897
1898// ListJobs API operation for AWS Glue DataBrew.
1899//
1900// Lists all of the DataBrew jobs that are defined.
1901//
1902// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1903// with awserr.Error's Code and Message methods to get detailed information about
1904// the error.
1905//
1906// See the AWS API reference guide for AWS Glue DataBrew's
1907// API operation ListJobs for usage and error information.
1908//
1909// Returned Error Types:
1910//   * ValidationException
1911//   The input parameters for this request failed validation.
1912//
1913// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListJobs
1914func (c *GlueDataBrew) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) {
1915	req, out := c.ListJobsRequest(input)
1916	return out, req.Send()
1917}
1918
1919// ListJobsWithContext is the same as ListJobs with the addition of
1920// the ability to pass a context and additional request options.
1921//
1922// See ListJobs for details on how to use this API operation.
1923//
1924// The context must be non-nil and will be used for request cancellation. If
1925// the context is nil a panic will occur. In the future the SDK may create
1926// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1927// for more information on using Contexts.
1928func (c *GlueDataBrew) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) {
1929	req, out := c.ListJobsRequest(input)
1930	req.SetContext(ctx)
1931	req.ApplyOptions(opts...)
1932	return out, req.Send()
1933}
1934
1935// ListJobsPages iterates over the pages of a ListJobs operation,
1936// calling the "fn" function with the response data for each page. To stop
1937// iterating, return false from the fn function.
1938//
1939// See ListJobs method for more information on how to use this operation.
1940//
1941// Note: This operation can generate multiple requests to a service.
1942//
1943//    // Example iterating over at most 3 pages of a ListJobs operation.
1944//    pageNum := 0
1945//    err := client.ListJobsPages(params,
1946//        func(page *gluedatabrew.ListJobsOutput, lastPage bool) bool {
1947//            pageNum++
1948//            fmt.Println(page)
1949//            return pageNum <= 3
1950//        })
1951//
1952func (c *GlueDataBrew) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error {
1953	return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn)
1954}
1955
1956// ListJobsPagesWithContext same as ListJobsPages except
1957// it takes a Context and allows setting request options on the pages.
1958//
1959// The context must be non-nil and will be used for request cancellation. If
1960// the context is nil a panic will occur. In the future the SDK may create
1961// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1962// for more information on using Contexts.
1963func (c *GlueDataBrew) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error {
1964	p := request.Pagination{
1965		NewRequest: func() (*request.Request, error) {
1966			var inCpy *ListJobsInput
1967			if input != nil {
1968				tmp := *input
1969				inCpy = &tmp
1970			}
1971			req, _ := c.ListJobsRequest(inCpy)
1972			req.SetContext(ctx)
1973			req.ApplyOptions(opts...)
1974			return req, nil
1975		},
1976	}
1977
1978	for p.Next() {
1979		if !fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) {
1980			break
1981		}
1982	}
1983
1984	return p.Err()
1985}
1986
1987const opListProjects = "ListProjects"
1988
1989// ListProjectsRequest generates a "aws/request.Request" representing the
1990// client's request for the ListProjects operation. The "output" return
1991// value will be populated with the request's response once the request completes
1992// successfully.
1993//
1994// Use "Send" method on the returned Request to send the API call to the service.
1995// the "output" return value is not valid until after Send returns without error.
1996//
1997// See ListProjects for more information on using the ListProjects
1998// API call, and error handling.
1999//
2000// This method is useful when you want to inject custom logic or configuration
2001// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2002//
2003//
2004//    // Example sending a request using the ListProjectsRequest method.
2005//    req, resp := client.ListProjectsRequest(params)
2006//
2007//    err := req.Send()
2008//    if err == nil { // resp is now filled
2009//        fmt.Println(resp)
2010//    }
2011//
2012// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListProjects
2013func (c *GlueDataBrew) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) {
2014	op := &request.Operation{
2015		Name:       opListProjects,
2016		HTTPMethod: "GET",
2017		HTTPPath:   "/projects",
2018		Paginator: &request.Paginator{
2019			InputTokens:     []string{"NextToken"},
2020			OutputTokens:    []string{"NextToken"},
2021			LimitToken:      "MaxResults",
2022			TruncationToken: "",
2023		},
2024	}
2025
2026	if input == nil {
2027		input = &ListProjectsInput{}
2028	}
2029
2030	output = &ListProjectsOutput{}
2031	req = c.newRequest(op, input, output)
2032	return
2033}
2034
2035// ListProjects API operation for AWS Glue DataBrew.
2036//
2037// Lists all of the DataBrew projects that are defined.
2038//
2039// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2040// with awserr.Error's Code and Message methods to get detailed information about
2041// the error.
2042//
2043// See the AWS API reference guide for AWS Glue DataBrew's
2044// API operation ListProjects for usage and error information.
2045//
2046// Returned Error Types:
2047//   * ValidationException
2048//   The input parameters for this request failed validation.
2049//
2050// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListProjects
2051func (c *GlueDataBrew) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) {
2052	req, out := c.ListProjectsRequest(input)
2053	return out, req.Send()
2054}
2055
2056// ListProjectsWithContext is the same as ListProjects with the addition of
2057// the ability to pass a context and additional request options.
2058//
2059// See ListProjects for details on how to use this API operation.
2060//
2061// The context must be non-nil and will be used for request cancellation. If
2062// the context is nil a panic will occur. In the future the SDK may create
2063// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2064// for more information on using Contexts.
2065func (c *GlueDataBrew) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) {
2066	req, out := c.ListProjectsRequest(input)
2067	req.SetContext(ctx)
2068	req.ApplyOptions(opts...)
2069	return out, req.Send()
2070}
2071
2072// ListProjectsPages iterates over the pages of a ListProjects operation,
2073// calling the "fn" function with the response data for each page. To stop
2074// iterating, return false from the fn function.
2075//
2076// See ListProjects method for more information on how to use this operation.
2077//
2078// Note: This operation can generate multiple requests to a service.
2079//
2080//    // Example iterating over at most 3 pages of a ListProjects operation.
2081//    pageNum := 0
2082//    err := client.ListProjectsPages(params,
2083//        func(page *gluedatabrew.ListProjectsOutput, lastPage bool) bool {
2084//            pageNum++
2085//            fmt.Println(page)
2086//            return pageNum <= 3
2087//        })
2088//
2089func (c *GlueDataBrew) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error {
2090	return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
2091}
2092
2093// ListProjectsPagesWithContext same as ListProjectsPages except
2094// it takes a Context and allows setting request options on the pages.
2095//
2096// The context must be non-nil and will be used for request cancellation. If
2097// the context is nil a panic will occur. In the future the SDK may create
2098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2099// for more information on using Contexts.
2100func (c *GlueDataBrew) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error {
2101	p := request.Pagination{
2102		NewRequest: func() (*request.Request, error) {
2103			var inCpy *ListProjectsInput
2104			if input != nil {
2105				tmp := *input
2106				inCpy = &tmp
2107			}
2108			req, _ := c.ListProjectsRequest(inCpy)
2109			req.SetContext(ctx)
2110			req.ApplyOptions(opts...)
2111			return req, nil
2112		},
2113	}
2114
2115	for p.Next() {
2116		if !fn(p.Page().(*ListProjectsOutput), !p.HasNextPage()) {
2117			break
2118		}
2119	}
2120
2121	return p.Err()
2122}
2123
2124const opListRecipeVersions = "ListRecipeVersions"
2125
2126// ListRecipeVersionsRequest generates a "aws/request.Request" representing the
2127// client's request for the ListRecipeVersions operation. The "output" return
2128// value will be populated with the request's response once the request completes
2129// successfully.
2130//
2131// Use "Send" method on the returned Request to send the API call to the service.
2132// the "output" return value is not valid until after Send returns without error.
2133//
2134// See ListRecipeVersions for more information on using the ListRecipeVersions
2135// API call, and error handling.
2136//
2137// This method is useful when you want to inject custom logic or configuration
2138// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2139//
2140//
2141//    // Example sending a request using the ListRecipeVersionsRequest method.
2142//    req, resp := client.ListRecipeVersionsRequest(params)
2143//
2144//    err := req.Send()
2145//    if err == nil { // resp is now filled
2146//        fmt.Println(resp)
2147//    }
2148//
2149// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListRecipeVersions
2150func (c *GlueDataBrew) ListRecipeVersionsRequest(input *ListRecipeVersionsInput) (req *request.Request, output *ListRecipeVersionsOutput) {
2151	op := &request.Operation{
2152		Name:       opListRecipeVersions,
2153		HTTPMethod: "GET",
2154		HTTPPath:   "/recipeVersions",
2155		Paginator: &request.Paginator{
2156			InputTokens:     []string{"NextToken"},
2157			OutputTokens:    []string{"NextToken"},
2158			LimitToken:      "MaxResults",
2159			TruncationToken: "",
2160		},
2161	}
2162
2163	if input == nil {
2164		input = &ListRecipeVersionsInput{}
2165	}
2166
2167	output = &ListRecipeVersionsOutput{}
2168	req = c.newRequest(op, input, output)
2169	return
2170}
2171
2172// ListRecipeVersions API operation for AWS Glue DataBrew.
2173//
2174// Lists the versions of a particular DataBrew recipe, except for LATEST_WORKING.
2175//
2176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2177// with awserr.Error's Code and Message methods to get detailed information about
2178// the error.
2179//
2180// See the AWS API reference guide for AWS Glue DataBrew's
2181// API operation ListRecipeVersions for usage and error information.
2182//
2183// Returned Error Types:
2184//   * ValidationException
2185//   The input parameters for this request failed validation.
2186//
2187// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListRecipeVersions
2188func (c *GlueDataBrew) ListRecipeVersions(input *ListRecipeVersionsInput) (*ListRecipeVersionsOutput, error) {
2189	req, out := c.ListRecipeVersionsRequest(input)
2190	return out, req.Send()
2191}
2192
2193// ListRecipeVersionsWithContext is the same as ListRecipeVersions with the addition of
2194// the ability to pass a context and additional request options.
2195//
2196// See ListRecipeVersions for details on how to use this API operation.
2197//
2198// The context must be non-nil and will be used for request cancellation. If
2199// the context is nil a panic will occur. In the future the SDK may create
2200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2201// for more information on using Contexts.
2202func (c *GlueDataBrew) ListRecipeVersionsWithContext(ctx aws.Context, input *ListRecipeVersionsInput, opts ...request.Option) (*ListRecipeVersionsOutput, error) {
2203	req, out := c.ListRecipeVersionsRequest(input)
2204	req.SetContext(ctx)
2205	req.ApplyOptions(opts...)
2206	return out, req.Send()
2207}
2208
2209// ListRecipeVersionsPages iterates over the pages of a ListRecipeVersions operation,
2210// calling the "fn" function with the response data for each page. To stop
2211// iterating, return false from the fn function.
2212//
2213// See ListRecipeVersions method for more information on how to use this operation.
2214//
2215// Note: This operation can generate multiple requests to a service.
2216//
2217//    // Example iterating over at most 3 pages of a ListRecipeVersions operation.
2218//    pageNum := 0
2219//    err := client.ListRecipeVersionsPages(params,
2220//        func(page *gluedatabrew.ListRecipeVersionsOutput, lastPage bool) bool {
2221//            pageNum++
2222//            fmt.Println(page)
2223//            return pageNum <= 3
2224//        })
2225//
2226func (c *GlueDataBrew) ListRecipeVersionsPages(input *ListRecipeVersionsInput, fn func(*ListRecipeVersionsOutput, bool) bool) error {
2227	return c.ListRecipeVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
2228}
2229
2230// ListRecipeVersionsPagesWithContext same as ListRecipeVersionsPages except
2231// it takes a Context and allows setting request options on the pages.
2232//
2233// The context must be non-nil and will be used for request cancellation. If
2234// the context is nil a panic will occur. In the future the SDK may create
2235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2236// for more information on using Contexts.
2237func (c *GlueDataBrew) ListRecipeVersionsPagesWithContext(ctx aws.Context, input *ListRecipeVersionsInput, fn func(*ListRecipeVersionsOutput, bool) bool, opts ...request.Option) error {
2238	p := request.Pagination{
2239		NewRequest: func() (*request.Request, error) {
2240			var inCpy *ListRecipeVersionsInput
2241			if input != nil {
2242				tmp := *input
2243				inCpy = &tmp
2244			}
2245			req, _ := c.ListRecipeVersionsRequest(inCpy)
2246			req.SetContext(ctx)
2247			req.ApplyOptions(opts...)
2248			return req, nil
2249		},
2250	}
2251
2252	for p.Next() {
2253		if !fn(p.Page().(*ListRecipeVersionsOutput), !p.HasNextPage()) {
2254			break
2255		}
2256	}
2257
2258	return p.Err()
2259}
2260
2261const opListRecipes = "ListRecipes"
2262
2263// ListRecipesRequest generates a "aws/request.Request" representing the
2264// client's request for the ListRecipes operation. The "output" return
2265// value will be populated with the request's response once the request completes
2266// successfully.
2267//
2268// Use "Send" method on the returned Request to send the API call to the service.
2269// the "output" return value is not valid until after Send returns without error.
2270//
2271// See ListRecipes for more information on using the ListRecipes
2272// API call, and error handling.
2273//
2274// This method is useful when you want to inject custom logic or configuration
2275// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2276//
2277//
2278//    // Example sending a request using the ListRecipesRequest method.
2279//    req, resp := client.ListRecipesRequest(params)
2280//
2281//    err := req.Send()
2282//    if err == nil { // resp is now filled
2283//        fmt.Println(resp)
2284//    }
2285//
2286// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListRecipes
2287func (c *GlueDataBrew) ListRecipesRequest(input *ListRecipesInput) (req *request.Request, output *ListRecipesOutput) {
2288	op := &request.Operation{
2289		Name:       opListRecipes,
2290		HTTPMethod: "GET",
2291		HTTPPath:   "/recipes",
2292		Paginator: &request.Paginator{
2293			InputTokens:     []string{"NextToken"},
2294			OutputTokens:    []string{"NextToken"},
2295			LimitToken:      "MaxResults",
2296			TruncationToken: "",
2297		},
2298	}
2299
2300	if input == nil {
2301		input = &ListRecipesInput{}
2302	}
2303
2304	output = &ListRecipesOutput{}
2305	req = c.newRequest(op, input, output)
2306	return
2307}
2308
2309// ListRecipes API operation for AWS Glue DataBrew.
2310//
2311// Lists all of the DataBrew recipes that are defined.
2312//
2313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2314// with awserr.Error's Code and Message methods to get detailed information about
2315// the error.
2316//
2317// See the AWS API reference guide for AWS Glue DataBrew's
2318// API operation ListRecipes for usage and error information.
2319//
2320// Returned Error Types:
2321//   * ValidationException
2322//   The input parameters for this request failed validation.
2323//
2324// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListRecipes
2325func (c *GlueDataBrew) ListRecipes(input *ListRecipesInput) (*ListRecipesOutput, error) {
2326	req, out := c.ListRecipesRequest(input)
2327	return out, req.Send()
2328}
2329
2330// ListRecipesWithContext is the same as ListRecipes with the addition of
2331// the ability to pass a context and additional request options.
2332//
2333// See ListRecipes for details on how to use this API operation.
2334//
2335// The context must be non-nil and will be used for request cancellation. If
2336// the context is nil a panic will occur. In the future the SDK may create
2337// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2338// for more information on using Contexts.
2339func (c *GlueDataBrew) ListRecipesWithContext(ctx aws.Context, input *ListRecipesInput, opts ...request.Option) (*ListRecipesOutput, error) {
2340	req, out := c.ListRecipesRequest(input)
2341	req.SetContext(ctx)
2342	req.ApplyOptions(opts...)
2343	return out, req.Send()
2344}
2345
2346// ListRecipesPages iterates over the pages of a ListRecipes operation,
2347// calling the "fn" function with the response data for each page. To stop
2348// iterating, return false from the fn function.
2349//
2350// See ListRecipes method for more information on how to use this operation.
2351//
2352// Note: This operation can generate multiple requests to a service.
2353//
2354//    // Example iterating over at most 3 pages of a ListRecipes operation.
2355//    pageNum := 0
2356//    err := client.ListRecipesPages(params,
2357//        func(page *gluedatabrew.ListRecipesOutput, lastPage bool) bool {
2358//            pageNum++
2359//            fmt.Println(page)
2360//            return pageNum <= 3
2361//        })
2362//
2363func (c *GlueDataBrew) ListRecipesPages(input *ListRecipesInput, fn func(*ListRecipesOutput, bool) bool) error {
2364	return c.ListRecipesPagesWithContext(aws.BackgroundContext(), input, fn)
2365}
2366
2367// ListRecipesPagesWithContext same as ListRecipesPages except
2368// it takes a Context and allows setting request options on the pages.
2369//
2370// The context must be non-nil and will be used for request cancellation. If
2371// the context is nil a panic will occur. In the future the SDK may create
2372// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2373// for more information on using Contexts.
2374func (c *GlueDataBrew) ListRecipesPagesWithContext(ctx aws.Context, input *ListRecipesInput, fn func(*ListRecipesOutput, bool) bool, opts ...request.Option) error {
2375	p := request.Pagination{
2376		NewRequest: func() (*request.Request, error) {
2377			var inCpy *ListRecipesInput
2378			if input != nil {
2379				tmp := *input
2380				inCpy = &tmp
2381			}
2382			req, _ := c.ListRecipesRequest(inCpy)
2383			req.SetContext(ctx)
2384			req.ApplyOptions(opts...)
2385			return req, nil
2386		},
2387	}
2388
2389	for p.Next() {
2390		if !fn(p.Page().(*ListRecipesOutput), !p.HasNextPage()) {
2391			break
2392		}
2393	}
2394
2395	return p.Err()
2396}
2397
2398const opListSchedules = "ListSchedules"
2399
2400// ListSchedulesRequest generates a "aws/request.Request" representing the
2401// client's request for the ListSchedules operation. The "output" return
2402// value will be populated with the request's response once the request completes
2403// successfully.
2404//
2405// Use "Send" method on the returned Request to send the API call to the service.
2406// the "output" return value is not valid until after Send returns without error.
2407//
2408// See ListSchedules for more information on using the ListSchedules
2409// API call, and error handling.
2410//
2411// This method is useful when you want to inject custom logic or configuration
2412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2413//
2414//
2415//    // Example sending a request using the ListSchedulesRequest method.
2416//    req, resp := client.ListSchedulesRequest(params)
2417//
2418//    err := req.Send()
2419//    if err == nil { // resp is now filled
2420//        fmt.Println(resp)
2421//    }
2422//
2423// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListSchedules
2424func (c *GlueDataBrew) ListSchedulesRequest(input *ListSchedulesInput) (req *request.Request, output *ListSchedulesOutput) {
2425	op := &request.Operation{
2426		Name:       opListSchedules,
2427		HTTPMethod: "GET",
2428		HTTPPath:   "/schedules",
2429		Paginator: &request.Paginator{
2430			InputTokens:     []string{"NextToken"},
2431			OutputTokens:    []string{"NextToken"},
2432			LimitToken:      "MaxResults",
2433			TruncationToken: "",
2434		},
2435	}
2436
2437	if input == nil {
2438		input = &ListSchedulesInput{}
2439	}
2440
2441	output = &ListSchedulesOutput{}
2442	req = c.newRequest(op, input, output)
2443	return
2444}
2445
2446// ListSchedules API operation for AWS Glue DataBrew.
2447//
2448// Lists the DataBrew schedules that are defined.
2449//
2450// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2451// with awserr.Error's Code and Message methods to get detailed information about
2452// the error.
2453//
2454// See the AWS API reference guide for AWS Glue DataBrew's
2455// API operation ListSchedules for usage and error information.
2456//
2457// Returned Error Types:
2458//   * ValidationException
2459//   The input parameters for this request failed validation.
2460//
2461// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListSchedules
2462func (c *GlueDataBrew) ListSchedules(input *ListSchedulesInput) (*ListSchedulesOutput, error) {
2463	req, out := c.ListSchedulesRequest(input)
2464	return out, req.Send()
2465}
2466
2467// ListSchedulesWithContext is the same as ListSchedules with the addition of
2468// the ability to pass a context and additional request options.
2469//
2470// See ListSchedules for details on how to use this API operation.
2471//
2472// The context must be non-nil and will be used for request cancellation. If
2473// the context is nil a panic will occur. In the future the SDK may create
2474// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2475// for more information on using Contexts.
2476func (c *GlueDataBrew) ListSchedulesWithContext(ctx aws.Context, input *ListSchedulesInput, opts ...request.Option) (*ListSchedulesOutput, error) {
2477	req, out := c.ListSchedulesRequest(input)
2478	req.SetContext(ctx)
2479	req.ApplyOptions(opts...)
2480	return out, req.Send()
2481}
2482
2483// ListSchedulesPages iterates over the pages of a ListSchedules operation,
2484// calling the "fn" function with the response data for each page. To stop
2485// iterating, return false from the fn function.
2486//
2487// See ListSchedules method for more information on how to use this operation.
2488//
2489// Note: This operation can generate multiple requests to a service.
2490//
2491//    // Example iterating over at most 3 pages of a ListSchedules operation.
2492//    pageNum := 0
2493//    err := client.ListSchedulesPages(params,
2494//        func(page *gluedatabrew.ListSchedulesOutput, lastPage bool) bool {
2495//            pageNum++
2496//            fmt.Println(page)
2497//            return pageNum <= 3
2498//        })
2499//
2500func (c *GlueDataBrew) ListSchedulesPages(input *ListSchedulesInput, fn func(*ListSchedulesOutput, bool) bool) error {
2501	return c.ListSchedulesPagesWithContext(aws.BackgroundContext(), input, fn)
2502}
2503
2504// ListSchedulesPagesWithContext same as ListSchedulesPages except
2505// it takes a Context and allows setting request options on the pages.
2506//
2507// The context must be non-nil and will be used for request cancellation. If
2508// the context is nil a panic will occur. In the future the SDK may create
2509// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2510// for more information on using Contexts.
2511func (c *GlueDataBrew) ListSchedulesPagesWithContext(ctx aws.Context, input *ListSchedulesInput, fn func(*ListSchedulesOutput, bool) bool, opts ...request.Option) error {
2512	p := request.Pagination{
2513		NewRequest: func() (*request.Request, error) {
2514			var inCpy *ListSchedulesInput
2515			if input != nil {
2516				tmp := *input
2517				inCpy = &tmp
2518			}
2519			req, _ := c.ListSchedulesRequest(inCpy)
2520			req.SetContext(ctx)
2521			req.ApplyOptions(opts...)
2522			return req, nil
2523		},
2524	}
2525
2526	for p.Next() {
2527		if !fn(p.Page().(*ListSchedulesOutput), !p.HasNextPage()) {
2528			break
2529		}
2530	}
2531
2532	return p.Err()
2533}
2534
2535const opListTagsForResource = "ListTagsForResource"
2536
2537// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2538// client's request for the ListTagsForResource operation. The "output" return
2539// value will be populated with the request's response once the request completes
2540// successfully.
2541//
2542// Use "Send" method on the returned Request to send the API call to the service.
2543// the "output" return value is not valid until after Send returns without error.
2544//
2545// See ListTagsForResource for more information on using the ListTagsForResource
2546// API call, and error handling.
2547//
2548// This method is useful when you want to inject custom logic or configuration
2549// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2550//
2551//
2552//    // Example sending a request using the ListTagsForResourceRequest method.
2553//    req, resp := client.ListTagsForResourceRequest(params)
2554//
2555//    err := req.Send()
2556//    if err == nil { // resp is now filled
2557//        fmt.Println(resp)
2558//    }
2559//
2560// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListTagsForResource
2561func (c *GlueDataBrew) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2562	op := &request.Operation{
2563		Name:       opListTagsForResource,
2564		HTTPMethod: "GET",
2565		HTTPPath:   "/tags/{ResourceArn}",
2566	}
2567
2568	if input == nil {
2569		input = &ListTagsForResourceInput{}
2570	}
2571
2572	output = &ListTagsForResourceOutput{}
2573	req = c.newRequest(op, input, output)
2574	return
2575}
2576
2577// ListTagsForResource API operation for AWS Glue DataBrew.
2578//
2579// Lists all the tags for a DataBrew resource.
2580//
2581// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2582// with awserr.Error's Code and Message methods to get detailed information about
2583// the error.
2584//
2585// See the AWS API reference guide for AWS Glue DataBrew's
2586// API operation ListTagsForResource for usage and error information.
2587//
2588// Returned Error Types:
2589//   * InternalServerException
2590//   An internal service failure occurred.
2591//
2592//   * ResourceNotFoundException
2593//   One or more resources can't be found.
2594//
2595//   * ValidationException
2596//   The input parameters for this request failed validation.
2597//
2598// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListTagsForResource
2599func (c *GlueDataBrew) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2600	req, out := c.ListTagsForResourceRequest(input)
2601	return out, req.Send()
2602}
2603
2604// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2605// the ability to pass a context and additional request options.
2606//
2607// See ListTagsForResource for details on how to use this API operation.
2608//
2609// The context must be non-nil and will be used for request cancellation. If
2610// the context is nil a panic will occur. In the future the SDK may create
2611// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2612// for more information on using Contexts.
2613func (c *GlueDataBrew) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2614	req, out := c.ListTagsForResourceRequest(input)
2615	req.SetContext(ctx)
2616	req.ApplyOptions(opts...)
2617	return out, req.Send()
2618}
2619
2620const opPublishRecipe = "PublishRecipe"
2621
2622// PublishRecipeRequest generates a "aws/request.Request" representing the
2623// client's request for the PublishRecipe operation. The "output" return
2624// value will be populated with the request's response once the request completes
2625// successfully.
2626//
2627// Use "Send" method on the returned Request to send the API call to the service.
2628// the "output" return value is not valid until after Send returns without error.
2629//
2630// See PublishRecipe for more information on using the PublishRecipe
2631// API call, and error handling.
2632//
2633// This method is useful when you want to inject custom logic or configuration
2634// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2635//
2636//
2637//    // Example sending a request using the PublishRecipeRequest method.
2638//    req, resp := client.PublishRecipeRequest(params)
2639//
2640//    err := req.Send()
2641//    if err == nil { // resp is now filled
2642//        fmt.Println(resp)
2643//    }
2644//
2645// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/PublishRecipe
2646func (c *GlueDataBrew) PublishRecipeRequest(input *PublishRecipeInput) (req *request.Request, output *PublishRecipeOutput) {
2647	op := &request.Operation{
2648		Name:       opPublishRecipe,
2649		HTTPMethod: "POST",
2650		HTTPPath:   "/recipes/{name}/publishRecipe",
2651	}
2652
2653	if input == nil {
2654		input = &PublishRecipeInput{}
2655	}
2656
2657	output = &PublishRecipeOutput{}
2658	req = c.newRequest(op, input, output)
2659	return
2660}
2661
2662// PublishRecipe API operation for AWS Glue DataBrew.
2663//
2664// Publishes a new version of a DataBrew recipe.
2665//
2666// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2667// with awserr.Error's Code and Message methods to get detailed information about
2668// the error.
2669//
2670// See the AWS API reference guide for AWS Glue DataBrew's
2671// API operation PublishRecipe for usage and error information.
2672//
2673// Returned Error Types:
2674//   * ValidationException
2675//   The input parameters for this request failed validation.
2676//
2677//   * ResourceNotFoundException
2678//   One or more resources can't be found.
2679//
2680//   * ServiceQuotaExceededException
2681//   A service quota is exceeded.
2682//
2683// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/PublishRecipe
2684func (c *GlueDataBrew) PublishRecipe(input *PublishRecipeInput) (*PublishRecipeOutput, error) {
2685	req, out := c.PublishRecipeRequest(input)
2686	return out, req.Send()
2687}
2688
2689// PublishRecipeWithContext is the same as PublishRecipe with the addition of
2690// the ability to pass a context and additional request options.
2691//
2692// See PublishRecipe for details on how to use this API operation.
2693//
2694// The context must be non-nil and will be used for request cancellation. If
2695// the context is nil a panic will occur. In the future the SDK may create
2696// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2697// for more information on using Contexts.
2698func (c *GlueDataBrew) PublishRecipeWithContext(ctx aws.Context, input *PublishRecipeInput, opts ...request.Option) (*PublishRecipeOutput, error) {
2699	req, out := c.PublishRecipeRequest(input)
2700	req.SetContext(ctx)
2701	req.ApplyOptions(opts...)
2702	return out, req.Send()
2703}
2704
2705const opSendProjectSessionAction = "SendProjectSessionAction"
2706
2707// SendProjectSessionActionRequest generates a "aws/request.Request" representing the
2708// client's request for the SendProjectSessionAction operation. The "output" return
2709// value will be populated with the request's response once the request completes
2710// successfully.
2711//
2712// Use "Send" method on the returned Request to send the API call to the service.
2713// the "output" return value is not valid until after Send returns without error.
2714//
2715// See SendProjectSessionAction for more information on using the SendProjectSessionAction
2716// API call, and error handling.
2717//
2718// This method is useful when you want to inject custom logic or configuration
2719// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2720//
2721//
2722//    // Example sending a request using the SendProjectSessionActionRequest method.
2723//    req, resp := client.SendProjectSessionActionRequest(params)
2724//
2725//    err := req.Send()
2726//    if err == nil { // resp is now filled
2727//        fmt.Println(resp)
2728//    }
2729//
2730// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/SendProjectSessionAction
2731func (c *GlueDataBrew) SendProjectSessionActionRequest(input *SendProjectSessionActionInput) (req *request.Request, output *SendProjectSessionActionOutput) {
2732	op := &request.Operation{
2733		Name:       opSendProjectSessionAction,
2734		HTTPMethod: "PUT",
2735		HTTPPath:   "/projects/{name}/sendProjectSessionAction",
2736	}
2737
2738	if input == nil {
2739		input = &SendProjectSessionActionInput{}
2740	}
2741
2742	output = &SendProjectSessionActionOutput{}
2743	req = c.newRequest(op, input, output)
2744	return
2745}
2746
2747// SendProjectSessionAction API operation for AWS Glue DataBrew.
2748//
2749// Performs a recipe step within an interactive DataBrew session that's currently
2750// open.
2751//
2752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2753// with awserr.Error's Code and Message methods to get detailed information about
2754// the error.
2755//
2756// See the AWS API reference guide for AWS Glue DataBrew's
2757// API operation SendProjectSessionAction for usage and error information.
2758//
2759// Returned Error Types:
2760//   * ConflictException
2761//   Updating or deleting a resource can cause an inconsistent state.
2762//
2763//   * ResourceNotFoundException
2764//   One or more resources can't be found.
2765//
2766//   * ValidationException
2767//   The input parameters for this request failed validation.
2768//
2769// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/SendProjectSessionAction
2770func (c *GlueDataBrew) SendProjectSessionAction(input *SendProjectSessionActionInput) (*SendProjectSessionActionOutput, error) {
2771	req, out := c.SendProjectSessionActionRequest(input)
2772	return out, req.Send()
2773}
2774
2775// SendProjectSessionActionWithContext is the same as SendProjectSessionAction with the addition of
2776// the ability to pass a context and additional request options.
2777//
2778// See SendProjectSessionAction for details on how to use this API operation.
2779//
2780// The context must be non-nil and will be used for request cancellation. If
2781// the context is nil a panic will occur. In the future the SDK may create
2782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2783// for more information on using Contexts.
2784func (c *GlueDataBrew) SendProjectSessionActionWithContext(ctx aws.Context, input *SendProjectSessionActionInput, opts ...request.Option) (*SendProjectSessionActionOutput, error) {
2785	req, out := c.SendProjectSessionActionRequest(input)
2786	req.SetContext(ctx)
2787	req.ApplyOptions(opts...)
2788	return out, req.Send()
2789}
2790
2791const opStartJobRun = "StartJobRun"
2792
2793// StartJobRunRequest generates a "aws/request.Request" representing the
2794// client's request for the StartJobRun operation. The "output" return
2795// value will be populated with the request's response once the request completes
2796// successfully.
2797//
2798// Use "Send" method on the returned Request to send the API call to the service.
2799// the "output" return value is not valid until after Send returns without error.
2800//
2801// See StartJobRun for more information on using the StartJobRun
2802// API call, and error handling.
2803//
2804// This method is useful when you want to inject custom logic or configuration
2805// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2806//
2807//
2808//    // Example sending a request using the StartJobRunRequest method.
2809//    req, resp := client.StartJobRunRequest(params)
2810//
2811//    err := req.Send()
2812//    if err == nil { // resp is now filled
2813//        fmt.Println(resp)
2814//    }
2815//
2816// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/StartJobRun
2817func (c *GlueDataBrew) StartJobRunRequest(input *StartJobRunInput) (req *request.Request, output *StartJobRunOutput) {
2818	op := &request.Operation{
2819		Name:       opStartJobRun,
2820		HTTPMethod: "POST",
2821		HTTPPath:   "/jobs/{name}/startJobRun",
2822	}
2823
2824	if input == nil {
2825		input = &StartJobRunInput{}
2826	}
2827
2828	output = &StartJobRunOutput{}
2829	req = c.newRequest(op, input, output)
2830	return
2831}
2832
2833// StartJobRun API operation for AWS Glue DataBrew.
2834//
2835// Runs a DataBrew job.
2836//
2837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2838// with awserr.Error's Code and Message methods to get detailed information about
2839// the error.
2840//
2841// See the AWS API reference guide for AWS Glue DataBrew's
2842// API operation StartJobRun for usage and error information.
2843//
2844// Returned Error Types:
2845//   * ConflictException
2846//   Updating or deleting a resource can cause an inconsistent state.
2847//
2848//   * ResourceNotFoundException
2849//   One or more resources can't be found.
2850//
2851//   * ServiceQuotaExceededException
2852//   A service quota is exceeded.
2853//
2854//   * ValidationException
2855//   The input parameters for this request failed validation.
2856//
2857// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/StartJobRun
2858func (c *GlueDataBrew) StartJobRun(input *StartJobRunInput) (*StartJobRunOutput, error) {
2859	req, out := c.StartJobRunRequest(input)
2860	return out, req.Send()
2861}
2862
2863// StartJobRunWithContext is the same as StartJobRun with the addition of
2864// the ability to pass a context and additional request options.
2865//
2866// See StartJobRun for details on how to use this API operation.
2867//
2868// The context must be non-nil and will be used for request cancellation. If
2869// the context is nil a panic will occur. In the future the SDK may create
2870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2871// for more information on using Contexts.
2872func (c *GlueDataBrew) StartJobRunWithContext(ctx aws.Context, input *StartJobRunInput, opts ...request.Option) (*StartJobRunOutput, error) {
2873	req, out := c.StartJobRunRequest(input)
2874	req.SetContext(ctx)
2875	req.ApplyOptions(opts...)
2876	return out, req.Send()
2877}
2878
2879const opStartProjectSession = "StartProjectSession"
2880
2881// StartProjectSessionRequest generates a "aws/request.Request" representing the
2882// client's request for the StartProjectSession operation. The "output" return
2883// value will be populated with the request's response once the request completes
2884// successfully.
2885//
2886// Use "Send" method on the returned Request to send the API call to the service.
2887// the "output" return value is not valid until after Send returns without error.
2888//
2889// See StartProjectSession for more information on using the StartProjectSession
2890// API call, and error handling.
2891//
2892// This method is useful when you want to inject custom logic or configuration
2893// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2894//
2895//
2896//    // Example sending a request using the StartProjectSessionRequest method.
2897//    req, resp := client.StartProjectSessionRequest(params)
2898//
2899//    err := req.Send()
2900//    if err == nil { // resp is now filled
2901//        fmt.Println(resp)
2902//    }
2903//
2904// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/StartProjectSession
2905func (c *GlueDataBrew) StartProjectSessionRequest(input *StartProjectSessionInput) (req *request.Request, output *StartProjectSessionOutput) {
2906	op := &request.Operation{
2907		Name:       opStartProjectSession,
2908		HTTPMethod: "PUT",
2909		HTTPPath:   "/projects/{name}/startProjectSession",
2910	}
2911
2912	if input == nil {
2913		input = &StartProjectSessionInput{}
2914	}
2915
2916	output = &StartProjectSessionOutput{}
2917	req = c.newRequest(op, input, output)
2918	return
2919}
2920
2921// StartProjectSession API operation for AWS Glue DataBrew.
2922//
2923// Creates an interactive session, enabling you to manipulate data in a DataBrew
2924// project.
2925//
2926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2927// with awserr.Error's Code and Message methods to get detailed information about
2928// the error.
2929//
2930// See the AWS API reference guide for AWS Glue DataBrew's
2931// API operation StartProjectSession for usage and error information.
2932//
2933// Returned Error Types:
2934//   * ConflictException
2935//   Updating or deleting a resource can cause an inconsistent state.
2936//
2937//   * ResourceNotFoundException
2938//   One or more resources can't be found.
2939//
2940//   * ServiceQuotaExceededException
2941//   A service quota is exceeded.
2942//
2943//   * ValidationException
2944//   The input parameters for this request failed validation.
2945//
2946// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/StartProjectSession
2947func (c *GlueDataBrew) StartProjectSession(input *StartProjectSessionInput) (*StartProjectSessionOutput, error) {
2948	req, out := c.StartProjectSessionRequest(input)
2949	return out, req.Send()
2950}
2951
2952// StartProjectSessionWithContext is the same as StartProjectSession with the addition of
2953// the ability to pass a context and additional request options.
2954//
2955// See StartProjectSession for details on how to use this API operation.
2956//
2957// The context must be non-nil and will be used for request cancellation. If
2958// the context is nil a panic will occur. In the future the SDK may create
2959// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2960// for more information on using Contexts.
2961func (c *GlueDataBrew) StartProjectSessionWithContext(ctx aws.Context, input *StartProjectSessionInput, opts ...request.Option) (*StartProjectSessionOutput, error) {
2962	req, out := c.StartProjectSessionRequest(input)
2963	req.SetContext(ctx)
2964	req.ApplyOptions(opts...)
2965	return out, req.Send()
2966}
2967
2968const opStopJobRun = "StopJobRun"
2969
2970// StopJobRunRequest generates a "aws/request.Request" representing the
2971// client's request for the StopJobRun operation. The "output" return
2972// value will be populated with the request's response once the request completes
2973// successfully.
2974//
2975// Use "Send" method on the returned Request to send the API call to the service.
2976// the "output" return value is not valid until after Send returns without error.
2977//
2978// See StopJobRun for more information on using the StopJobRun
2979// API call, and error handling.
2980//
2981// This method is useful when you want to inject custom logic or configuration
2982// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2983//
2984//
2985//    // Example sending a request using the StopJobRunRequest method.
2986//    req, resp := client.StopJobRunRequest(params)
2987//
2988//    err := req.Send()
2989//    if err == nil { // resp is now filled
2990//        fmt.Println(resp)
2991//    }
2992//
2993// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/StopJobRun
2994func (c *GlueDataBrew) StopJobRunRequest(input *StopJobRunInput) (req *request.Request, output *StopJobRunOutput) {
2995	op := &request.Operation{
2996		Name:       opStopJobRun,
2997		HTTPMethod: "POST",
2998		HTTPPath:   "/jobs/{name}/jobRun/{runId}/stopJobRun",
2999	}
3000
3001	if input == nil {
3002		input = &StopJobRunInput{}
3003	}
3004
3005	output = &StopJobRunOutput{}
3006	req = c.newRequest(op, input, output)
3007	return
3008}
3009
3010// StopJobRun API operation for AWS Glue DataBrew.
3011//
3012// Stops a particular run of a job.
3013//
3014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3015// with awserr.Error's Code and Message methods to get detailed information about
3016// the error.
3017//
3018// See the AWS API reference guide for AWS Glue DataBrew's
3019// API operation StopJobRun for usage and error information.
3020//
3021// Returned Error Types:
3022//   * ResourceNotFoundException
3023//   One or more resources can't be found.
3024//
3025//   * ValidationException
3026//   The input parameters for this request failed validation.
3027//
3028// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/StopJobRun
3029func (c *GlueDataBrew) StopJobRun(input *StopJobRunInput) (*StopJobRunOutput, error) {
3030	req, out := c.StopJobRunRequest(input)
3031	return out, req.Send()
3032}
3033
3034// StopJobRunWithContext is the same as StopJobRun with the addition of
3035// the ability to pass a context and additional request options.
3036//
3037// See StopJobRun for details on how to use this API operation.
3038//
3039// The context must be non-nil and will be used for request cancellation. If
3040// the context is nil a panic will occur. In the future the SDK may create
3041// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3042// for more information on using Contexts.
3043func (c *GlueDataBrew) StopJobRunWithContext(ctx aws.Context, input *StopJobRunInput, opts ...request.Option) (*StopJobRunOutput, error) {
3044	req, out := c.StopJobRunRequest(input)
3045	req.SetContext(ctx)
3046	req.ApplyOptions(opts...)
3047	return out, req.Send()
3048}
3049
3050const opTagResource = "TagResource"
3051
3052// TagResourceRequest generates a "aws/request.Request" representing the
3053// client's request for the TagResource operation. The "output" return
3054// value will be populated with the request's response once the request completes
3055// successfully.
3056//
3057// Use "Send" method on the returned Request to send the API call to the service.
3058// the "output" return value is not valid until after Send returns without error.
3059//
3060// See TagResource for more information on using the TagResource
3061// API call, and error handling.
3062//
3063// This method is useful when you want to inject custom logic or configuration
3064// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3065//
3066//
3067//    // Example sending a request using the TagResourceRequest method.
3068//    req, resp := client.TagResourceRequest(params)
3069//
3070//    err := req.Send()
3071//    if err == nil { // resp is now filled
3072//        fmt.Println(resp)
3073//    }
3074//
3075// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/TagResource
3076func (c *GlueDataBrew) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
3077	op := &request.Operation{
3078		Name:       opTagResource,
3079		HTTPMethod: "POST",
3080		HTTPPath:   "/tags/{ResourceArn}",
3081	}
3082
3083	if input == nil {
3084		input = &TagResourceInput{}
3085	}
3086
3087	output = &TagResourceOutput{}
3088	req = c.newRequest(op, input, output)
3089	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3090	return
3091}
3092
3093// TagResource API operation for AWS Glue DataBrew.
3094//
3095// Adds metadata tags to a DataBrew resource, such as a dataset, project, recipe,
3096// job, or schedule.
3097//
3098// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3099// with awserr.Error's Code and Message methods to get detailed information about
3100// the error.
3101//
3102// See the AWS API reference guide for AWS Glue DataBrew's
3103// API operation TagResource for usage and error information.
3104//
3105// Returned Error Types:
3106//   * InternalServerException
3107//   An internal service failure occurred.
3108//
3109//   * ResourceNotFoundException
3110//   One or more resources can't be found.
3111//
3112//   * ValidationException
3113//   The input parameters for this request failed validation.
3114//
3115// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/TagResource
3116func (c *GlueDataBrew) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
3117	req, out := c.TagResourceRequest(input)
3118	return out, req.Send()
3119}
3120
3121// TagResourceWithContext is the same as TagResource with the addition of
3122// the ability to pass a context and additional request options.
3123//
3124// See TagResource for details on how to use this API operation.
3125//
3126// The context must be non-nil and will be used for request cancellation. If
3127// the context is nil a panic will occur. In the future the SDK may create
3128// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3129// for more information on using Contexts.
3130func (c *GlueDataBrew) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
3131	req, out := c.TagResourceRequest(input)
3132	req.SetContext(ctx)
3133	req.ApplyOptions(opts...)
3134	return out, req.Send()
3135}
3136
3137const opUntagResource = "UntagResource"
3138
3139// UntagResourceRequest generates a "aws/request.Request" representing the
3140// client's request for the UntagResource operation. The "output" return
3141// value will be populated with the request's response once the request completes
3142// successfully.
3143//
3144// Use "Send" method on the returned Request to send the API call to the service.
3145// the "output" return value is not valid until after Send returns without error.
3146//
3147// See UntagResource for more information on using the UntagResource
3148// API call, and error handling.
3149//
3150// This method is useful when you want to inject custom logic or configuration
3151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3152//
3153//
3154//    // Example sending a request using the UntagResourceRequest method.
3155//    req, resp := client.UntagResourceRequest(params)
3156//
3157//    err := req.Send()
3158//    if err == nil { // resp is now filled
3159//        fmt.Println(resp)
3160//    }
3161//
3162// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UntagResource
3163func (c *GlueDataBrew) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
3164	op := &request.Operation{
3165		Name:       opUntagResource,
3166		HTTPMethod: "DELETE",
3167		HTTPPath:   "/tags/{ResourceArn}",
3168	}
3169
3170	if input == nil {
3171		input = &UntagResourceInput{}
3172	}
3173
3174	output = &UntagResourceOutput{}
3175	req = c.newRequest(op, input, output)
3176	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3177	return
3178}
3179
3180// UntagResource API operation for AWS Glue DataBrew.
3181//
3182// Removes metadata tags from a DataBrew resource.
3183//
3184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3185// with awserr.Error's Code and Message methods to get detailed information about
3186// the error.
3187//
3188// See the AWS API reference guide for AWS Glue DataBrew's
3189// API operation UntagResource for usage and error information.
3190//
3191// Returned Error Types:
3192//   * InternalServerException
3193//   An internal service failure occurred.
3194//
3195//   * ResourceNotFoundException
3196//   One or more resources can't be found.
3197//
3198//   * ValidationException
3199//   The input parameters for this request failed validation.
3200//
3201// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UntagResource
3202func (c *GlueDataBrew) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
3203	req, out := c.UntagResourceRequest(input)
3204	return out, req.Send()
3205}
3206
3207// UntagResourceWithContext is the same as UntagResource with the addition of
3208// the ability to pass a context and additional request options.
3209//
3210// See UntagResource for details on how to use this API operation.
3211//
3212// The context must be non-nil and will be used for request cancellation. If
3213// the context is nil a panic will occur. In the future the SDK may create
3214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3215// for more information on using Contexts.
3216func (c *GlueDataBrew) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
3217	req, out := c.UntagResourceRequest(input)
3218	req.SetContext(ctx)
3219	req.ApplyOptions(opts...)
3220	return out, req.Send()
3221}
3222
3223const opUpdateDataset = "UpdateDataset"
3224
3225// UpdateDatasetRequest generates a "aws/request.Request" representing the
3226// client's request for the UpdateDataset operation. The "output" return
3227// value will be populated with the request's response once the request completes
3228// successfully.
3229//
3230// Use "Send" method on the returned Request to send the API call to the service.
3231// the "output" return value is not valid until after Send returns without error.
3232//
3233// See UpdateDataset for more information on using the UpdateDataset
3234// API call, and error handling.
3235//
3236// This method is useful when you want to inject custom logic or configuration
3237// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3238//
3239//
3240//    // Example sending a request using the UpdateDatasetRequest method.
3241//    req, resp := client.UpdateDatasetRequest(params)
3242//
3243//    err := req.Send()
3244//    if err == nil { // resp is now filled
3245//        fmt.Println(resp)
3246//    }
3247//
3248// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateDataset
3249func (c *GlueDataBrew) UpdateDatasetRequest(input *UpdateDatasetInput) (req *request.Request, output *UpdateDatasetOutput) {
3250	op := &request.Operation{
3251		Name:       opUpdateDataset,
3252		HTTPMethod: "PUT",
3253		HTTPPath:   "/datasets/{name}",
3254	}
3255
3256	if input == nil {
3257		input = &UpdateDatasetInput{}
3258	}
3259
3260	output = &UpdateDatasetOutput{}
3261	req = c.newRequest(op, input, output)
3262	return
3263}
3264
3265// UpdateDataset API operation for AWS Glue DataBrew.
3266//
3267// Modifies the definition of an existing DataBrew dataset.
3268//
3269// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3270// with awserr.Error's Code and Message methods to get detailed information about
3271// the error.
3272//
3273// See the AWS API reference guide for AWS Glue DataBrew's
3274// API operation UpdateDataset for usage and error information.
3275//
3276// Returned Error Types:
3277//   * AccessDeniedException
3278//   Access to the specified resource was denied.
3279//
3280//   * ResourceNotFoundException
3281//   One or more resources can't be found.
3282//
3283//   * ValidationException
3284//   The input parameters for this request failed validation.
3285//
3286// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateDataset
3287func (c *GlueDataBrew) UpdateDataset(input *UpdateDatasetInput) (*UpdateDatasetOutput, error) {
3288	req, out := c.UpdateDatasetRequest(input)
3289	return out, req.Send()
3290}
3291
3292// UpdateDatasetWithContext is the same as UpdateDataset with the addition of
3293// the ability to pass a context and additional request options.
3294//
3295// See UpdateDataset for details on how to use this API operation.
3296//
3297// The context must be non-nil and will be used for request cancellation. If
3298// the context is nil a panic will occur. In the future the SDK may create
3299// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3300// for more information on using Contexts.
3301func (c *GlueDataBrew) UpdateDatasetWithContext(ctx aws.Context, input *UpdateDatasetInput, opts ...request.Option) (*UpdateDatasetOutput, error) {
3302	req, out := c.UpdateDatasetRequest(input)
3303	req.SetContext(ctx)
3304	req.ApplyOptions(opts...)
3305	return out, req.Send()
3306}
3307
3308const opUpdateProfileJob = "UpdateProfileJob"
3309
3310// UpdateProfileJobRequest generates a "aws/request.Request" representing the
3311// client's request for the UpdateProfileJob operation. The "output" return
3312// value will be populated with the request's response once the request completes
3313// successfully.
3314//
3315// Use "Send" method on the returned Request to send the API call to the service.
3316// the "output" return value is not valid until after Send returns without error.
3317//
3318// See UpdateProfileJob for more information on using the UpdateProfileJob
3319// API call, and error handling.
3320//
3321// This method is useful when you want to inject custom logic or configuration
3322// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3323//
3324//
3325//    // Example sending a request using the UpdateProfileJobRequest method.
3326//    req, resp := client.UpdateProfileJobRequest(params)
3327//
3328//    err := req.Send()
3329//    if err == nil { // resp is now filled
3330//        fmt.Println(resp)
3331//    }
3332//
3333// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateProfileJob
3334func (c *GlueDataBrew) UpdateProfileJobRequest(input *UpdateProfileJobInput) (req *request.Request, output *UpdateProfileJobOutput) {
3335	op := &request.Operation{
3336		Name:       opUpdateProfileJob,
3337		HTTPMethod: "PUT",
3338		HTTPPath:   "/profileJobs/{name}",
3339	}
3340
3341	if input == nil {
3342		input = &UpdateProfileJobInput{}
3343	}
3344
3345	output = &UpdateProfileJobOutput{}
3346	req = c.newRequest(op, input, output)
3347	return
3348}
3349
3350// UpdateProfileJob API operation for AWS Glue DataBrew.
3351//
3352// Modifies the definition of an existing profile job.
3353//
3354// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3355// with awserr.Error's Code and Message methods to get detailed information about
3356// the error.
3357//
3358// See the AWS API reference guide for AWS Glue DataBrew's
3359// API operation UpdateProfileJob for usage and error information.
3360//
3361// Returned Error Types:
3362//   * AccessDeniedException
3363//   Access to the specified resource was denied.
3364//
3365//   * ResourceNotFoundException
3366//   One or more resources can't be found.
3367//
3368//   * ValidationException
3369//   The input parameters for this request failed validation.
3370//
3371// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateProfileJob
3372func (c *GlueDataBrew) UpdateProfileJob(input *UpdateProfileJobInput) (*UpdateProfileJobOutput, error) {
3373	req, out := c.UpdateProfileJobRequest(input)
3374	return out, req.Send()
3375}
3376
3377// UpdateProfileJobWithContext is the same as UpdateProfileJob with the addition of
3378// the ability to pass a context and additional request options.
3379//
3380// See UpdateProfileJob for details on how to use this API operation.
3381//
3382// The context must be non-nil and will be used for request cancellation. If
3383// the context is nil a panic will occur. In the future the SDK may create
3384// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3385// for more information on using Contexts.
3386func (c *GlueDataBrew) UpdateProfileJobWithContext(ctx aws.Context, input *UpdateProfileJobInput, opts ...request.Option) (*UpdateProfileJobOutput, error) {
3387	req, out := c.UpdateProfileJobRequest(input)
3388	req.SetContext(ctx)
3389	req.ApplyOptions(opts...)
3390	return out, req.Send()
3391}
3392
3393const opUpdateProject = "UpdateProject"
3394
3395// UpdateProjectRequest generates a "aws/request.Request" representing the
3396// client's request for the UpdateProject operation. The "output" return
3397// value will be populated with the request's response once the request completes
3398// successfully.
3399//
3400// Use "Send" method on the returned Request to send the API call to the service.
3401// the "output" return value is not valid until after Send returns without error.
3402//
3403// See UpdateProject for more information on using the UpdateProject
3404// API call, and error handling.
3405//
3406// This method is useful when you want to inject custom logic or configuration
3407// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3408//
3409//
3410//    // Example sending a request using the UpdateProjectRequest method.
3411//    req, resp := client.UpdateProjectRequest(params)
3412//
3413//    err := req.Send()
3414//    if err == nil { // resp is now filled
3415//        fmt.Println(resp)
3416//    }
3417//
3418// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateProject
3419func (c *GlueDataBrew) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) {
3420	op := &request.Operation{
3421		Name:       opUpdateProject,
3422		HTTPMethod: "PUT",
3423		HTTPPath:   "/projects/{name}",
3424	}
3425
3426	if input == nil {
3427		input = &UpdateProjectInput{}
3428	}
3429
3430	output = &UpdateProjectOutput{}
3431	req = c.newRequest(op, input, output)
3432	return
3433}
3434
3435// UpdateProject API operation for AWS Glue DataBrew.
3436//
3437// Modifies the definition of an existing DataBrew project.
3438//
3439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3440// with awserr.Error's Code and Message methods to get detailed information about
3441// the error.
3442//
3443// See the AWS API reference guide for AWS Glue DataBrew's
3444// API operation UpdateProject for usage and error information.
3445//
3446// Returned Error Types:
3447//   * ResourceNotFoundException
3448//   One or more resources can't be found.
3449//
3450//   * ValidationException
3451//   The input parameters for this request failed validation.
3452//
3453// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateProject
3454func (c *GlueDataBrew) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) {
3455	req, out := c.UpdateProjectRequest(input)
3456	return out, req.Send()
3457}
3458
3459// UpdateProjectWithContext is the same as UpdateProject with the addition of
3460// the ability to pass a context and additional request options.
3461//
3462// See UpdateProject for details on how to use this API operation.
3463//
3464// The context must be non-nil and will be used for request cancellation. If
3465// the context is nil a panic will occur. In the future the SDK may create
3466// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3467// for more information on using Contexts.
3468func (c *GlueDataBrew) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) {
3469	req, out := c.UpdateProjectRequest(input)
3470	req.SetContext(ctx)
3471	req.ApplyOptions(opts...)
3472	return out, req.Send()
3473}
3474
3475const opUpdateRecipe = "UpdateRecipe"
3476
3477// UpdateRecipeRequest generates a "aws/request.Request" representing the
3478// client's request for the UpdateRecipe operation. The "output" return
3479// value will be populated with the request's response once the request completes
3480// successfully.
3481//
3482// Use "Send" method on the returned Request to send the API call to the service.
3483// the "output" return value is not valid until after Send returns without error.
3484//
3485// See UpdateRecipe for more information on using the UpdateRecipe
3486// API call, and error handling.
3487//
3488// This method is useful when you want to inject custom logic or configuration
3489// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3490//
3491//
3492//    // Example sending a request using the UpdateRecipeRequest method.
3493//    req, resp := client.UpdateRecipeRequest(params)
3494//
3495//    err := req.Send()
3496//    if err == nil { // resp is now filled
3497//        fmt.Println(resp)
3498//    }
3499//
3500// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateRecipe
3501func (c *GlueDataBrew) UpdateRecipeRequest(input *UpdateRecipeInput) (req *request.Request, output *UpdateRecipeOutput) {
3502	op := &request.Operation{
3503		Name:       opUpdateRecipe,
3504		HTTPMethod: "PUT",
3505		HTTPPath:   "/recipes/{name}",
3506	}
3507
3508	if input == nil {
3509		input = &UpdateRecipeInput{}
3510	}
3511
3512	output = &UpdateRecipeOutput{}
3513	req = c.newRequest(op, input, output)
3514	return
3515}
3516
3517// UpdateRecipe API operation for AWS Glue DataBrew.
3518//
3519// Modifies the definition of the LATEST_WORKING version of a DataBrew recipe.
3520//
3521// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3522// with awserr.Error's Code and Message methods to get detailed information about
3523// the error.
3524//
3525// See the AWS API reference guide for AWS Glue DataBrew's
3526// API operation UpdateRecipe for usage and error information.
3527//
3528// Returned Error Types:
3529//   * ValidationException
3530//   The input parameters for this request failed validation.
3531//
3532//   * ResourceNotFoundException
3533//   One or more resources can't be found.
3534//
3535// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateRecipe
3536func (c *GlueDataBrew) UpdateRecipe(input *UpdateRecipeInput) (*UpdateRecipeOutput, error) {
3537	req, out := c.UpdateRecipeRequest(input)
3538	return out, req.Send()
3539}
3540
3541// UpdateRecipeWithContext is the same as UpdateRecipe with the addition of
3542// the ability to pass a context and additional request options.
3543//
3544// See UpdateRecipe for details on how to use this API operation.
3545//
3546// The context must be non-nil and will be used for request cancellation. If
3547// the context is nil a panic will occur. In the future the SDK may create
3548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3549// for more information on using Contexts.
3550func (c *GlueDataBrew) UpdateRecipeWithContext(ctx aws.Context, input *UpdateRecipeInput, opts ...request.Option) (*UpdateRecipeOutput, error) {
3551	req, out := c.UpdateRecipeRequest(input)
3552	req.SetContext(ctx)
3553	req.ApplyOptions(opts...)
3554	return out, req.Send()
3555}
3556
3557const opUpdateRecipeJob = "UpdateRecipeJob"
3558
3559// UpdateRecipeJobRequest generates a "aws/request.Request" representing the
3560// client's request for the UpdateRecipeJob operation. The "output" return
3561// value will be populated with the request's response once the request completes
3562// successfully.
3563//
3564// Use "Send" method on the returned Request to send the API call to the service.
3565// the "output" return value is not valid until after Send returns without error.
3566//
3567// See UpdateRecipeJob for more information on using the UpdateRecipeJob
3568// API call, and error handling.
3569//
3570// This method is useful when you want to inject custom logic or configuration
3571// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3572//
3573//
3574//    // Example sending a request using the UpdateRecipeJobRequest method.
3575//    req, resp := client.UpdateRecipeJobRequest(params)
3576//
3577//    err := req.Send()
3578//    if err == nil { // resp is now filled
3579//        fmt.Println(resp)
3580//    }
3581//
3582// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateRecipeJob
3583func (c *GlueDataBrew) UpdateRecipeJobRequest(input *UpdateRecipeJobInput) (req *request.Request, output *UpdateRecipeJobOutput) {
3584	op := &request.Operation{
3585		Name:       opUpdateRecipeJob,
3586		HTTPMethod: "PUT",
3587		HTTPPath:   "/recipeJobs/{name}",
3588	}
3589
3590	if input == nil {
3591		input = &UpdateRecipeJobInput{}
3592	}
3593
3594	output = &UpdateRecipeJobOutput{}
3595	req = c.newRequest(op, input, output)
3596	return
3597}
3598
3599// UpdateRecipeJob API operation for AWS Glue DataBrew.
3600//
3601// Modifies the definition of an existing DataBrew recipe job.
3602//
3603// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3604// with awserr.Error's Code and Message methods to get detailed information about
3605// the error.
3606//
3607// See the AWS API reference guide for AWS Glue DataBrew's
3608// API operation UpdateRecipeJob for usage and error information.
3609//
3610// Returned Error Types:
3611//   * AccessDeniedException
3612//   Access to the specified resource was denied.
3613//
3614//   * ResourceNotFoundException
3615//   One or more resources can't be found.
3616//
3617//   * ValidationException
3618//   The input parameters for this request failed validation.
3619//
3620// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateRecipeJob
3621func (c *GlueDataBrew) UpdateRecipeJob(input *UpdateRecipeJobInput) (*UpdateRecipeJobOutput, error) {
3622	req, out := c.UpdateRecipeJobRequest(input)
3623	return out, req.Send()
3624}
3625
3626// UpdateRecipeJobWithContext is the same as UpdateRecipeJob with the addition of
3627// the ability to pass a context and additional request options.
3628//
3629// See UpdateRecipeJob for details on how to use this API operation.
3630//
3631// The context must be non-nil and will be used for request cancellation. If
3632// the context is nil a panic will occur. In the future the SDK may create
3633// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3634// for more information on using Contexts.
3635func (c *GlueDataBrew) UpdateRecipeJobWithContext(ctx aws.Context, input *UpdateRecipeJobInput, opts ...request.Option) (*UpdateRecipeJobOutput, error) {
3636	req, out := c.UpdateRecipeJobRequest(input)
3637	req.SetContext(ctx)
3638	req.ApplyOptions(opts...)
3639	return out, req.Send()
3640}
3641
3642const opUpdateSchedule = "UpdateSchedule"
3643
3644// UpdateScheduleRequest generates a "aws/request.Request" representing the
3645// client's request for the UpdateSchedule operation. The "output" return
3646// value will be populated with the request's response once the request completes
3647// successfully.
3648//
3649// Use "Send" method on the returned Request to send the API call to the service.
3650// the "output" return value is not valid until after Send returns without error.
3651//
3652// See UpdateSchedule for more information on using the UpdateSchedule
3653// API call, and error handling.
3654//
3655// This method is useful when you want to inject custom logic or configuration
3656// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3657//
3658//
3659//    // Example sending a request using the UpdateScheduleRequest method.
3660//    req, resp := client.UpdateScheduleRequest(params)
3661//
3662//    err := req.Send()
3663//    if err == nil { // resp is now filled
3664//        fmt.Println(resp)
3665//    }
3666//
3667// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateSchedule
3668func (c *GlueDataBrew) UpdateScheduleRequest(input *UpdateScheduleInput) (req *request.Request, output *UpdateScheduleOutput) {
3669	op := &request.Operation{
3670		Name:       opUpdateSchedule,
3671		HTTPMethod: "PUT",
3672		HTTPPath:   "/schedules/{name}",
3673	}
3674
3675	if input == nil {
3676		input = &UpdateScheduleInput{}
3677	}
3678
3679	output = &UpdateScheduleOutput{}
3680	req = c.newRequest(op, input, output)
3681	return
3682}
3683
3684// UpdateSchedule API operation for AWS Glue DataBrew.
3685//
3686// Modifies the definition of an existing DataBrew schedule.
3687//
3688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3689// with awserr.Error's Code and Message methods to get detailed information about
3690// the error.
3691//
3692// See the AWS API reference guide for AWS Glue DataBrew's
3693// API operation UpdateSchedule for usage and error information.
3694//
3695// Returned Error Types:
3696//   * ResourceNotFoundException
3697//   One or more resources can't be found.
3698//
3699//   * ServiceQuotaExceededException
3700//   A service quota is exceeded.
3701//
3702//   * ValidationException
3703//   The input parameters for this request failed validation.
3704//
3705// See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateSchedule
3706func (c *GlueDataBrew) UpdateSchedule(input *UpdateScheduleInput) (*UpdateScheduleOutput, error) {
3707	req, out := c.UpdateScheduleRequest(input)
3708	return out, req.Send()
3709}
3710
3711// UpdateScheduleWithContext is the same as UpdateSchedule with the addition of
3712// the ability to pass a context and additional request options.
3713//
3714// See UpdateSchedule for details on how to use this API operation.
3715//
3716// The context must be non-nil and will be used for request cancellation. If
3717// the context is nil a panic will occur. In the future the SDK may create
3718// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3719// for more information on using Contexts.
3720func (c *GlueDataBrew) UpdateScheduleWithContext(ctx aws.Context, input *UpdateScheduleInput, opts ...request.Option) (*UpdateScheduleOutput, error) {
3721	req, out := c.UpdateScheduleRequest(input)
3722	req.SetContext(ctx)
3723	req.ApplyOptions(opts...)
3724	return out, req.Send()
3725}
3726
3727// Access to the specified resource was denied.
3728type AccessDeniedException struct {
3729	_            struct{}                  `type:"structure"`
3730	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3731
3732	Message_ *string `locationName:"Message" type:"string"`
3733}
3734
3735// String returns the string representation
3736func (s AccessDeniedException) String() string {
3737	return awsutil.Prettify(s)
3738}
3739
3740// GoString returns the string representation
3741func (s AccessDeniedException) GoString() string {
3742	return s.String()
3743}
3744
3745func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
3746	return &AccessDeniedException{
3747		RespMetadata: v,
3748	}
3749}
3750
3751// Code returns the exception type name.
3752func (s *AccessDeniedException) Code() string {
3753	return "AccessDeniedException"
3754}
3755
3756// Message returns the exception's message.
3757func (s *AccessDeniedException) Message() string {
3758	if s.Message_ != nil {
3759		return *s.Message_
3760	}
3761	return ""
3762}
3763
3764// OrigErr always returns nil, satisfies awserr.Error interface.
3765func (s *AccessDeniedException) OrigErr() error {
3766	return nil
3767}
3768
3769func (s *AccessDeniedException) Error() string {
3770	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3771}
3772
3773// Status code returns the HTTP status code for the request's response error.
3774func (s *AccessDeniedException) StatusCode() int {
3775	return s.RespMetadata.StatusCode
3776}
3777
3778// RequestID returns the service's response RequestID for request.
3779func (s *AccessDeniedException) RequestID() string {
3780	return s.RespMetadata.RequestID
3781}
3782
3783type BatchDeleteRecipeVersionInput struct {
3784	_ struct{} `type:"structure"`
3785
3786	// The name of the recipe whose versions are to be deleted.
3787	//
3788	// Name is a required field
3789	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
3790
3791	// An array of version identifiers, for the recipe versions to be deleted. You
3792	// can specify numeric versions (X.Y) or LATEST_WORKING. LATEST_PUBLISHED is
3793	// not supported.
3794	//
3795	// RecipeVersions is a required field
3796	RecipeVersions []*string `min:"1" type:"list" required:"true"`
3797}
3798
3799// String returns the string representation
3800func (s BatchDeleteRecipeVersionInput) String() string {
3801	return awsutil.Prettify(s)
3802}
3803
3804// GoString returns the string representation
3805func (s BatchDeleteRecipeVersionInput) GoString() string {
3806	return s.String()
3807}
3808
3809// Validate inspects the fields of the type to determine if they are valid.
3810func (s *BatchDeleteRecipeVersionInput) Validate() error {
3811	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteRecipeVersionInput"}
3812	if s.Name == nil {
3813		invalidParams.Add(request.NewErrParamRequired("Name"))
3814	}
3815	if s.Name != nil && len(*s.Name) < 1 {
3816		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3817	}
3818	if s.RecipeVersions == nil {
3819		invalidParams.Add(request.NewErrParamRequired("RecipeVersions"))
3820	}
3821	if s.RecipeVersions != nil && len(s.RecipeVersions) < 1 {
3822		invalidParams.Add(request.NewErrParamMinLen("RecipeVersions", 1))
3823	}
3824
3825	if invalidParams.Len() > 0 {
3826		return invalidParams
3827	}
3828	return nil
3829}
3830
3831// SetName sets the Name field's value.
3832func (s *BatchDeleteRecipeVersionInput) SetName(v string) *BatchDeleteRecipeVersionInput {
3833	s.Name = &v
3834	return s
3835}
3836
3837// SetRecipeVersions sets the RecipeVersions field's value.
3838func (s *BatchDeleteRecipeVersionInput) SetRecipeVersions(v []*string) *BatchDeleteRecipeVersionInput {
3839	s.RecipeVersions = v
3840	return s
3841}
3842
3843type BatchDeleteRecipeVersionOutput struct {
3844	_ struct{} `type:"structure"`
3845
3846	// Errors, if any, that occurred while attempting to delete the recipe versions.
3847	Errors []*RecipeVersionErrorDetail `type:"list"`
3848
3849	// The name of the recipe that was modified.
3850	//
3851	// Name is a required field
3852	Name *string `min:"1" type:"string" required:"true"`
3853}
3854
3855// String returns the string representation
3856func (s BatchDeleteRecipeVersionOutput) String() string {
3857	return awsutil.Prettify(s)
3858}
3859
3860// GoString returns the string representation
3861func (s BatchDeleteRecipeVersionOutput) GoString() string {
3862	return s.String()
3863}
3864
3865// SetErrors sets the Errors field's value.
3866func (s *BatchDeleteRecipeVersionOutput) SetErrors(v []*RecipeVersionErrorDetail) *BatchDeleteRecipeVersionOutput {
3867	s.Errors = v
3868	return s
3869}
3870
3871// SetName sets the Name field's value.
3872func (s *BatchDeleteRecipeVersionOutput) SetName(v string) *BatchDeleteRecipeVersionOutput {
3873	s.Name = &v
3874	return s
3875}
3876
3877// Selector of a column from a dataset for profile job configuration. One selector
3878// includes either a column name or a regular expression.
3879type ColumnSelector struct {
3880	_ struct{} `type:"structure"`
3881
3882	// The name of a column from a dataset.
3883	Name *string `min:"1" type:"string"`
3884
3885	// A regular expression for selecting a column from a dataset.
3886	Regex *string `min:"1" type:"string"`
3887}
3888
3889// String returns the string representation
3890func (s ColumnSelector) String() string {
3891	return awsutil.Prettify(s)
3892}
3893
3894// GoString returns the string representation
3895func (s ColumnSelector) GoString() string {
3896	return s.String()
3897}
3898
3899// Validate inspects the fields of the type to determine if they are valid.
3900func (s *ColumnSelector) Validate() error {
3901	invalidParams := request.ErrInvalidParams{Context: "ColumnSelector"}
3902	if s.Name != nil && len(*s.Name) < 1 {
3903		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3904	}
3905	if s.Regex != nil && len(*s.Regex) < 1 {
3906		invalidParams.Add(request.NewErrParamMinLen("Regex", 1))
3907	}
3908
3909	if invalidParams.Len() > 0 {
3910		return invalidParams
3911	}
3912	return nil
3913}
3914
3915// SetName sets the Name field's value.
3916func (s *ColumnSelector) SetName(v string) *ColumnSelector {
3917	s.Name = &v
3918	return s
3919}
3920
3921// SetRegex sets the Regex field's value.
3922func (s *ColumnSelector) SetRegex(v string) *ColumnSelector {
3923	s.Regex = &v
3924	return s
3925}
3926
3927// Configuration for column evaluations for a profile job. ColumnStatisticsConfiguration
3928// can be used to select evaluations and override parameters of evaluations
3929// for particular columns.
3930type ColumnStatisticsConfiguration struct {
3931	_ struct{} `type:"structure"`
3932
3933	// List of column selectors. Selectors can be used to select columns from the
3934	// dataset. When selectors are undefined, configuration will be applied to all
3935	// supported columns.
3936	Selectors []*ColumnSelector `min:"1" type:"list"`
3937
3938	// Configuration for evaluations. Statistics can be used to select evaluations
3939	// and override parameters of evaluations.
3940	//
3941	// Statistics is a required field
3942	Statistics *StatisticsConfiguration `type:"structure" required:"true"`
3943}
3944
3945// String returns the string representation
3946func (s ColumnStatisticsConfiguration) String() string {
3947	return awsutil.Prettify(s)
3948}
3949
3950// GoString returns the string representation
3951func (s ColumnStatisticsConfiguration) GoString() string {
3952	return s.String()
3953}
3954
3955// Validate inspects the fields of the type to determine if they are valid.
3956func (s *ColumnStatisticsConfiguration) Validate() error {
3957	invalidParams := request.ErrInvalidParams{Context: "ColumnStatisticsConfiguration"}
3958	if s.Selectors != nil && len(s.Selectors) < 1 {
3959		invalidParams.Add(request.NewErrParamMinLen("Selectors", 1))
3960	}
3961	if s.Statistics == nil {
3962		invalidParams.Add(request.NewErrParamRequired("Statistics"))
3963	}
3964	if s.Selectors != nil {
3965		for i, v := range s.Selectors {
3966			if v == nil {
3967				continue
3968			}
3969			if err := v.Validate(); err != nil {
3970				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Selectors", i), err.(request.ErrInvalidParams))
3971			}
3972		}
3973	}
3974	if s.Statistics != nil {
3975		if err := s.Statistics.Validate(); err != nil {
3976			invalidParams.AddNested("Statistics", err.(request.ErrInvalidParams))
3977		}
3978	}
3979
3980	if invalidParams.Len() > 0 {
3981		return invalidParams
3982	}
3983	return nil
3984}
3985
3986// SetSelectors sets the Selectors field's value.
3987func (s *ColumnStatisticsConfiguration) SetSelectors(v []*ColumnSelector) *ColumnStatisticsConfiguration {
3988	s.Selectors = v
3989	return s
3990}
3991
3992// SetStatistics sets the Statistics field's value.
3993func (s *ColumnStatisticsConfiguration) SetStatistics(v *StatisticsConfiguration) *ColumnStatisticsConfiguration {
3994	s.Statistics = v
3995	return s
3996}
3997
3998// Represents an individual condition that evaluates to true or false.
3999//
4000// Conditions are used with recipe actions. The action is only performed for
4001// column values where the condition evaluates to true.
4002//
4003// If a recipe requires more than one condition, then the recipe must specify
4004// multiple ConditionExpression elements. Each condition is applied to the rows
4005// in a dataset first, before the recipe action is performed.
4006type ConditionExpression struct {
4007	_ struct{} `type:"structure"`
4008
4009	// A specific condition to apply to a recipe action. For more information, see
4010	// Recipe structure (https://docs.aws.amazon.com/databrew/latest/dg/recipes.html#recipes.structure)
4011	// in the Glue DataBrew Developer Guide.
4012	//
4013	// Condition is a required field
4014	Condition *string `min:"1" type:"string" required:"true"`
4015
4016	// A column to apply this condition to.
4017	//
4018	// TargetColumn is a required field
4019	TargetColumn *string `min:"1" type:"string" required:"true"`
4020
4021	// A value that the condition must evaluate to for the condition to succeed.
4022	Value *string `type:"string"`
4023}
4024
4025// String returns the string representation
4026func (s ConditionExpression) String() string {
4027	return awsutil.Prettify(s)
4028}
4029
4030// GoString returns the string representation
4031func (s ConditionExpression) GoString() string {
4032	return s.String()
4033}
4034
4035// Validate inspects the fields of the type to determine if they are valid.
4036func (s *ConditionExpression) Validate() error {
4037	invalidParams := request.ErrInvalidParams{Context: "ConditionExpression"}
4038	if s.Condition == nil {
4039		invalidParams.Add(request.NewErrParamRequired("Condition"))
4040	}
4041	if s.Condition != nil && len(*s.Condition) < 1 {
4042		invalidParams.Add(request.NewErrParamMinLen("Condition", 1))
4043	}
4044	if s.TargetColumn == nil {
4045		invalidParams.Add(request.NewErrParamRequired("TargetColumn"))
4046	}
4047	if s.TargetColumn != nil && len(*s.TargetColumn) < 1 {
4048		invalidParams.Add(request.NewErrParamMinLen("TargetColumn", 1))
4049	}
4050
4051	if invalidParams.Len() > 0 {
4052		return invalidParams
4053	}
4054	return nil
4055}
4056
4057// SetCondition sets the Condition field's value.
4058func (s *ConditionExpression) SetCondition(v string) *ConditionExpression {
4059	s.Condition = &v
4060	return s
4061}
4062
4063// SetTargetColumn sets the TargetColumn field's value.
4064func (s *ConditionExpression) SetTargetColumn(v string) *ConditionExpression {
4065	s.TargetColumn = &v
4066	return s
4067}
4068
4069// SetValue sets the Value field's value.
4070func (s *ConditionExpression) SetValue(v string) *ConditionExpression {
4071	s.Value = &v
4072	return s
4073}
4074
4075// Updating or deleting a resource can cause an inconsistent state.
4076type ConflictException struct {
4077	_            struct{}                  `type:"structure"`
4078	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4079
4080	Message_ *string `locationName:"Message" type:"string"`
4081}
4082
4083// String returns the string representation
4084func (s ConflictException) String() string {
4085	return awsutil.Prettify(s)
4086}
4087
4088// GoString returns the string representation
4089func (s ConflictException) GoString() string {
4090	return s.String()
4091}
4092
4093func newErrorConflictException(v protocol.ResponseMetadata) error {
4094	return &ConflictException{
4095		RespMetadata: v,
4096	}
4097}
4098
4099// Code returns the exception type name.
4100func (s *ConflictException) Code() string {
4101	return "ConflictException"
4102}
4103
4104// Message returns the exception's message.
4105func (s *ConflictException) Message() string {
4106	if s.Message_ != nil {
4107		return *s.Message_
4108	}
4109	return ""
4110}
4111
4112// OrigErr always returns nil, satisfies awserr.Error interface.
4113func (s *ConflictException) OrigErr() error {
4114	return nil
4115}
4116
4117func (s *ConflictException) Error() string {
4118	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4119}
4120
4121// Status code returns the HTTP status code for the request's response error.
4122func (s *ConflictException) StatusCode() int {
4123	return s.RespMetadata.StatusCode
4124}
4125
4126// RequestID returns the service's response RequestID for request.
4127func (s *ConflictException) RequestID() string {
4128	return s.RespMetadata.RequestID
4129}
4130
4131type CreateDatasetInput struct {
4132	_ struct{} `type:"structure"`
4133
4134	// The file format of a dataset that is created from an Amazon S3 file or folder.
4135	Format *string `type:"string" enum:"InputFormat"`
4136
4137	// Represents a set of options that define the structure of either comma-separated
4138	// value (CSV), Excel, or JSON input.
4139	FormatOptions *FormatOptions `type:"structure"`
4140
4141	// Represents information on how DataBrew can find data, in either the Glue
4142	// Data Catalog or Amazon S3.
4143	//
4144	// Input is a required field
4145	Input *Input `type:"structure" required:"true"`
4146
4147	// The name of the dataset to be created. Valid characters are alphanumeric
4148	// (A-Z, a-z, 0-9), hyphen (-), period (.), and space.
4149	//
4150	// Name is a required field
4151	Name *string `min:"1" type:"string" required:"true"`
4152
4153	// A set of options that defines how DataBrew interprets an Amazon S3 path of
4154	// the dataset.
4155	PathOptions *PathOptions `type:"structure"`
4156
4157	// Metadata tags to apply to this dataset.
4158	Tags map[string]*string `min:"1" type:"map"`
4159}
4160
4161// String returns the string representation
4162func (s CreateDatasetInput) String() string {
4163	return awsutil.Prettify(s)
4164}
4165
4166// GoString returns the string representation
4167func (s CreateDatasetInput) GoString() string {
4168	return s.String()
4169}
4170
4171// Validate inspects the fields of the type to determine if they are valid.
4172func (s *CreateDatasetInput) Validate() error {
4173	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetInput"}
4174	if s.Input == nil {
4175		invalidParams.Add(request.NewErrParamRequired("Input"))
4176	}
4177	if s.Name == nil {
4178		invalidParams.Add(request.NewErrParamRequired("Name"))
4179	}
4180	if s.Name != nil && len(*s.Name) < 1 {
4181		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4182	}
4183	if s.Tags != nil && len(s.Tags) < 1 {
4184		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4185	}
4186	if s.FormatOptions != nil {
4187		if err := s.FormatOptions.Validate(); err != nil {
4188			invalidParams.AddNested("FormatOptions", err.(request.ErrInvalidParams))
4189		}
4190	}
4191	if s.Input != nil {
4192		if err := s.Input.Validate(); err != nil {
4193			invalidParams.AddNested("Input", err.(request.ErrInvalidParams))
4194		}
4195	}
4196	if s.PathOptions != nil {
4197		if err := s.PathOptions.Validate(); err != nil {
4198			invalidParams.AddNested("PathOptions", err.(request.ErrInvalidParams))
4199		}
4200	}
4201
4202	if invalidParams.Len() > 0 {
4203		return invalidParams
4204	}
4205	return nil
4206}
4207
4208// SetFormat sets the Format field's value.
4209func (s *CreateDatasetInput) SetFormat(v string) *CreateDatasetInput {
4210	s.Format = &v
4211	return s
4212}
4213
4214// SetFormatOptions sets the FormatOptions field's value.
4215func (s *CreateDatasetInput) SetFormatOptions(v *FormatOptions) *CreateDatasetInput {
4216	s.FormatOptions = v
4217	return s
4218}
4219
4220// SetInput sets the Input field's value.
4221func (s *CreateDatasetInput) SetInput(v *Input) *CreateDatasetInput {
4222	s.Input = v
4223	return s
4224}
4225
4226// SetName sets the Name field's value.
4227func (s *CreateDatasetInput) SetName(v string) *CreateDatasetInput {
4228	s.Name = &v
4229	return s
4230}
4231
4232// SetPathOptions sets the PathOptions field's value.
4233func (s *CreateDatasetInput) SetPathOptions(v *PathOptions) *CreateDatasetInput {
4234	s.PathOptions = v
4235	return s
4236}
4237
4238// SetTags sets the Tags field's value.
4239func (s *CreateDatasetInput) SetTags(v map[string]*string) *CreateDatasetInput {
4240	s.Tags = v
4241	return s
4242}
4243
4244type CreateDatasetOutput struct {
4245	_ struct{} `type:"structure"`
4246
4247	// The name of the dataset that you created.
4248	//
4249	// Name is a required field
4250	Name *string `min:"1" type:"string" required:"true"`
4251}
4252
4253// String returns the string representation
4254func (s CreateDatasetOutput) String() string {
4255	return awsutil.Prettify(s)
4256}
4257
4258// GoString returns the string representation
4259func (s CreateDatasetOutput) GoString() string {
4260	return s.String()
4261}
4262
4263// SetName sets the Name field's value.
4264func (s *CreateDatasetOutput) SetName(v string) *CreateDatasetOutput {
4265	s.Name = &v
4266	return s
4267}
4268
4269type CreateProfileJobInput struct {
4270	_ struct{} `type:"structure"`
4271
4272	// Configuration for profile jobs. Used to select columns, do evaluations, and
4273	// override default parameters of evaluations. When configuration is null, the
4274	// profile job will run with default settings.
4275	Configuration *ProfileConfiguration `type:"structure"`
4276
4277	// The name of the dataset that this job is to act upon.
4278	//
4279	// DatasetName is a required field
4280	DatasetName *string `min:"1" type:"string" required:"true"`
4281
4282	// The Amazon Resource Name (ARN) of an encryption key that is used to protect
4283	// the job.
4284	EncryptionKeyArn *string `min:"20" type:"string"`
4285
4286	// The encryption mode for the job, which can be one of the following:
4287	//
4288	//    * SSE-KMS - SSE-KMS - Server-side encryption with KMS-managed keys.
4289	//
4290	//    * SSE-S3 - Server-side encryption with keys managed by Amazon S3.
4291	EncryptionMode *string `type:"string" enum:"EncryptionMode"`
4292
4293	// Sample configuration for profile jobs only. Determines the number of rows
4294	// on which the profile job will be executed. If a JobSample value is not provided,
4295	// the default value will be used. The default value is CUSTOM_ROWS for the
4296	// mode parameter and 20000 for the size parameter.
4297	JobSample *JobSample `type:"structure"`
4298
4299	// Enables or disables Amazon CloudWatch logging for the job. If logging is
4300	// enabled, CloudWatch writes one log stream for each job run.
4301	LogSubscription *string `type:"string" enum:"LogSubscription"`
4302
4303	// The maximum number of nodes that DataBrew can use when the job processes
4304	// data.
4305	MaxCapacity *int64 `type:"integer"`
4306
4307	// The maximum number of times to retry the job after a job run fails.
4308	MaxRetries *int64 `type:"integer"`
4309
4310	// The name of the job to be created. Valid characters are alphanumeric (A-Z,
4311	// a-z, 0-9), hyphen (-), period (.), and space.
4312	//
4313	// Name is a required field
4314	Name *string `min:"1" type:"string" required:"true"`
4315
4316	// Represents an Amazon S3 location (bucket name and object key) where DataBrew
4317	// can read input data, or write output from a job.
4318	//
4319	// OutputLocation is a required field
4320	OutputLocation *S3Location `type:"structure" required:"true"`
4321
4322	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
4323	// role to be assumed when DataBrew runs the job.
4324	//
4325	// RoleArn is a required field
4326	RoleArn *string `min:"20" type:"string" required:"true"`
4327
4328	// Metadata tags to apply to this job.
4329	Tags map[string]*string `min:"1" type:"map"`
4330
4331	// The job's timeout in minutes. A job that attempts to run longer than this
4332	// timeout period ends with a status of TIMEOUT.
4333	Timeout *int64 `type:"integer"`
4334}
4335
4336// String returns the string representation
4337func (s CreateProfileJobInput) String() string {
4338	return awsutil.Prettify(s)
4339}
4340
4341// GoString returns the string representation
4342func (s CreateProfileJobInput) GoString() string {
4343	return s.String()
4344}
4345
4346// Validate inspects the fields of the type to determine if they are valid.
4347func (s *CreateProfileJobInput) Validate() error {
4348	invalidParams := request.ErrInvalidParams{Context: "CreateProfileJobInput"}
4349	if s.DatasetName == nil {
4350		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
4351	}
4352	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
4353		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
4354	}
4355	if s.EncryptionKeyArn != nil && len(*s.EncryptionKeyArn) < 20 {
4356		invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyArn", 20))
4357	}
4358	if s.Name == nil {
4359		invalidParams.Add(request.NewErrParamRequired("Name"))
4360	}
4361	if s.Name != nil && len(*s.Name) < 1 {
4362		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4363	}
4364	if s.OutputLocation == nil {
4365		invalidParams.Add(request.NewErrParamRequired("OutputLocation"))
4366	}
4367	if s.RoleArn == nil {
4368		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
4369	}
4370	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
4371		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
4372	}
4373	if s.Tags != nil && len(s.Tags) < 1 {
4374		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4375	}
4376	if s.Configuration != nil {
4377		if err := s.Configuration.Validate(); err != nil {
4378			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
4379		}
4380	}
4381	if s.OutputLocation != nil {
4382		if err := s.OutputLocation.Validate(); err != nil {
4383			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
4384		}
4385	}
4386
4387	if invalidParams.Len() > 0 {
4388		return invalidParams
4389	}
4390	return nil
4391}
4392
4393// SetConfiguration sets the Configuration field's value.
4394func (s *CreateProfileJobInput) SetConfiguration(v *ProfileConfiguration) *CreateProfileJobInput {
4395	s.Configuration = v
4396	return s
4397}
4398
4399// SetDatasetName sets the DatasetName field's value.
4400func (s *CreateProfileJobInput) SetDatasetName(v string) *CreateProfileJobInput {
4401	s.DatasetName = &v
4402	return s
4403}
4404
4405// SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
4406func (s *CreateProfileJobInput) SetEncryptionKeyArn(v string) *CreateProfileJobInput {
4407	s.EncryptionKeyArn = &v
4408	return s
4409}
4410
4411// SetEncryptionMode sets the EncryptionMode field's value.
4412func (s *CreateProfileJobInput) SetEncryptionMode(v string) *CreateProfileJobInput {
4413	s.EncryptionMode = &v
4414	return s
4415}
4416
4417// SetJobSample sets the JobSample field's value.
4418func (s *CreateProfileJobInput) SetJobSample(v *JobSample) *CreateProfileJobInput {
4419	s.JobSample = v
4420	return s
4421}
4422
4423// SetLogSubscription sets the LogSubscription field's value.
4424func (s *CreateProfileJobInput) SetLogSubscription(v string) *CreateProfileJobInput {
4425	s.LogSubscription = &v
4426	return s
4427}
4428
4429// SetMaxCapacity sets the MaxCapacity field's value.
4430func (s *CreateProfileJobInput) SetMaxCapacity(v int64) *CreateProfileJobInput {
4431	s.MaxCapacity = &v
4432	return s
4433}
4434
4435// SetMaxRetries sets the MaxRetries field's value.
4436func (s *CreateProfileJobInput) SetMaxRetries(v int64) *CreateProfileJobInput {
4437	s.MaxRetries = &v
4438	return s
4439}
4440
4441// SetName sets the Name field's value.
4442func (s *CreateProfileJobInput) SetName(v string) *CreateProfileJobInput {
4443	s.Name = &v
4444	return s
4445}
4446
4447// SetOutputLocation sets the OutputLocation field's value.
4448func (s *CreateProfileJobInput) SetOutputLocation(v *S3Location) *CreateProfileJobInput {
4449	s.OutputLocation = v
4450	return s
4451}
4452
4453// SetRoleArn sets the RoleArn field's value.
4454func (s *CreateProfileJobInput) SetRoleArn(v string) *CreateProfileJobInput {
4455	s.RoleArn = &v
4456	return s
4457}
4458
4459// SetTags sets the Tags field's value.
4460func (s *CreateProfileJobInput) SetTags(v map[string]*string) *CreateProfileJobInput {
4461	s.Tags = v
4462	return s
4463}
4464
4465// SetTimeout sets the Timeout field's value.
4466func (s *CreateProfileJobInput) SetTimeout(v int64) *CreateProfileJobInput {
4467	s.Timeout = &v
4468	return s
4469}
4470
4471type CreateProfileJobOutput struct {
4472	_ struct{} `type:"structure"`
4473
4474	// The name of the job that was created.
4475	//
4476	// Name is a required field
4477	Name *string `min:"1" type:"string" required:"true"`
4478}
4479
4480// String returns the string representation
4481func (s CreateProfileJobOutput) String() string {
4482	return awsutil.Prettify(s)
4483}
4484
4485// GoString returns the string representation
4486func (s CreateProfileJobOutput) GoString() string {
4487	return s.String()
4488}
4489
4490// SetName sets the Name field's value.
4491func (s *CreateProfileJobOutput) SetName(v string) *CreateProfileJobOutput {
4492	s.Name = &v
4493	return s
4494}
4495
4496type CreateProjectInput struct {
4497	_ struct{} `type:"structure"`
4498
4499	// The name of an existing dataset to associate this project with.
4500	//
4501	// DatasetName is a required field
4502	DatasetName *string `min:"1" type:"string" required:"true"`
4503
4504	// A unique name for the new project. Valid characters are alphanumeric (A-Z,
4505	// a-z, 0-9), hyphen (-), period (.), and space.
4506	//
4507	// Name is a required field
4508	Name *string `min:"1" type:"string" required:"true"`
4509
4510	// The name of an existing recipe to associate with the project.
4511	//
4512	// RecipeName is a required field
4513	RecipeName *string `min:"1" type:"string" required:"true"`
4514
4515	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
4516	// role to be assumed for this request.
4517	//
4518	// RoleArn is a required field
4519	RoleArn *string `min:"20" type:"string" required:"true"`
4520
4521	// Represents the sample size and sampling type for DataBrew to use for interactive
4522	// data analysis.
4523	Sample *Sample `type:"structure"`
4524
4525	// Metadata tags to apply to this project.
4526	Tags map[string]*string `min:"1" type:"map"`
4527}
4528
4529// String returns the string representation
4530func (s CreateProjectInput) String() string {
4531	return awsutil.Prettify(s)
4532}
4533
4534// GoString returns the string representation
4535func (s CreateProjectInput) GoString() string {
4536	return s.String()
4537}
4538
4539// Validate inspects the fields of the type to determine if they are valid.
4540func (s *CreateProjectInput) Validate() error {
4541	invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"}
4542	if s.DatasetName == nil {
4543		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
4544	}
4545	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
4546		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
4547	}
4548	if s.Name == nil {
4549		invalidParams.Add(request.NewErrParamRequired("Name"))
4550	}
4551	if s.Name != nil && len(*s.Name) < 1 {
4552		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4553	}
4554	if s.RecipeName == nil {
4555		invalidParams.Add(request.NewErrParamRequired("RecipeName"))
4556	}
4557	if s.RecipeName != nil && len(*s.RecipeName) < 1 {
4558		invalidParams.Add(request.NewErrParamMinLen("RecipeName", 1))
4559	}
4560	if s.RoleArn == nil {
4561		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
4562	}
4563	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
4564		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
4565	}
4566	if s.Tags != nil && len(s.Tags) < 1 {
4567		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4568	}
4569	if s.Sample != nil {
4570		if err := s.Sample.Validate(); err != nil {
4571			invalidParams.AddNested("Sample", err.(request.ErrInvalidParams))
4572		}
4573	}
4574
4575	if invalidParams.Len() > 0 {
4576		return invalidParams
4577	}
4578	return nil
4579}
4580
4581// SetDatasetName sets the DatasetName field's value.
4582func (s *CreateProjectInput) SetDatasetName(v string) *CreateProjectInput {
4583	s.DatasetName = &v
4584	return s
4585}
4586
4587// SetName sets the Name field's value.
4588func (s *CreateProjectInput) SetName(v string) *CreateProjectInput {
4589	s.Name = &v
4590	return s
4591}
4592
4593// SetRecipeName sets the RecipeName field's value.
4594func (s *CreateProjectInput) SetRecipeName(v string) *CreateProjectInput {
4595	s.RecipeName = &v
4596	return s
4597}
4598
4599// SetRoleArn sets the RoleArn field's value.
4600func (s *CreateProjectInput) SetRoleArn(v string) *CreateProjectInput {
4601	s.RoleArn = &v
4602	return s
4603}
4604
4605// SetSample sets the Sample field's value.
4606func (s *CreateProjectInput) SetSample(v *Sample) *CreateProjectInput {
4607	s.Sample = v
4608	return s
4609}
4610
4611// SetTags sets the Tags field's value.
4612func (s *CreateProjectInput) SetTags(v map[string]*string) *CreateProjectInput {
4613	s.Tags = v
4614	return s
4615}
4616
4617type CreateProjectOutput struct {
4618	_ struct{} `type:"structure"`
4619
4620	// The name of the project that you created.
4621	//
4622	// Name is a required field
4623	Name *string `min:"1" type:"string" required:"true"`
4624}
4625
4626// String returns the string representation
4627func (s CreateProjectOutput) String() string {
4628	return awsutil.Prettify(s)
4629}
4630
4631// GoString returns the string representation
4632func (s CreateProjectOutput) GoString() string {
4633	return s.String()
4634}
4635
4636// SetName sets the Name field's value.
4637func (s *CreateProjectOutput) SetName(v string) *CreateProjectOutput {
4638	s.Name = &v
4639	return s
4640}
4641
4642type CreateRecipeInput struct {
4643	_ struct{} `type:"structure"`
4644
4645	// A description for the recipe.
4646	Description *string `type:"string"`
4647
4648	// A unique name for the recipe. Valid characters are alphanumeric (A-Z, a-z,
4649	// 0-9), hyphen (-), period (.), and space.
4650	//
4651	// Name is a required field
4652	Name *string `min:"1" type:"string" required:"true"`
4653
4654	// An array containing the steps to be performed by the recipe. Each recipe
4655	// step consists of one recipe action and (optionally) an array of condition
4656	// expressions.
4657	//
4658	// Steps is a required field
4659	Steps []*RecipeStep `type:"list" required:"true"`
4660
4661	// Metadata tags to apply to this recipe.
4662	Tags map[string]*string `min:"1" type:"map"`
4663}
4664
4665// String returns the string representation
4666func (s CreateRecipeInput) String() string {
4667	return awsutil.Prettify(s)
4668}
4669
4670// GoString returns the string representation
4671func (s CreateRecipeInput) GoString() string {
4672	return s.String()
4673}
4674
4675// Validate inspects the fields of the type to determine if they are valid.
4676func (s *CreateRecipeInput) Validate() error {
4677	invalidParams := request.ErrInvalidParams{Context: "CreateRecipeInput"}
4678	if s.Name == nil {
4679		invalidParams.Add(request.NewErrParamRequired("Name"))
4680	}
4681	if s.Name != nil && len(*s.Name) < 1 {
4682		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4683	}
4684	if s.Steps == nil {
4685		invalidParams.Add(request.NewErrParamRequired("Steps"))
4686	}
4687	if s.Tags != nil && len(s.Tags) < 1 {
4688		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4689	}
4690	if s.Steps != nil {
4691		for i, v := range s.Steps {
4692			if v == nil {
4693				continue
4694			}
4695			if err := v.Validate(); err != nil {
4696				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams))
4697			}
4698		}
4699	}
4700
4701	if invalidParams.Len() > 0 {
4702		return invalidParams
4703	}
4704	return nil
4705}
4706
4707// SetDescription sets the Description field's value.
4708func (s *CreateRecipeInput) SetDescription(v string) *CreateRecipeInput {
4709	s.Description = &v
4710	return s
4711}
4712
4713// SetName sets the Name field's value.
4714func (s *CreateRecipeInput) SetName(v string) *CreateRecipeInput {
4715	s.Name = &v
4716	return s
4717}
4718
4719// SetSteps sets the Steps field's value.
4720func (s *CreateRecipeInput) SetSteps(v []*RecipeStep) *CreateRecipeInput {
4721	s.Steps = v
4722	return s
4723}
4724
4725// SetTags sets the Tags field's value.
4726func (s *CreateRecipeInput) SetTags(v map[string]*string) *CreateRecipeInput {
4727	s.Tags = v
4728	return s
4729}
4730
4731type CreateRecipeJobInput struct {
4732	_ struct{} `type:"structure"`
4733
4734	// One or more artifacts that represent the Glue Data Catalog output from running
4735	// the job.
4736	DataCatalogOutputs []*DataCatalogOutput_ `min:"1" type:"list"`
4737
4738	// Represents a list of JDBC database output objects which defines the output
4739	// destination for a DataBrew recipe job to write to.
4740	DatabaseOutputs []*DatabaseOutput_ `min:"1" type:"list"`
4741
4742	// The name of the dataset that this job processes.
4743	DatasetName *string `min:"1" type:"string"`
4744
4745	// The Amazon Resource Name (ARN) of an encryption key that is used to protect
4746	// the job.
4747	EncryptionKeyArn *string `min:"20" type:"string"`
4748
4749	// The encryption mode for the job, which can be one of the following:
4750	//
4751	//    * SSE-KMS - Server-side encryption with keys managed by KMS.
4752	//
4753	//    * SSE-S3 - Server-side encryption with keys managed by Amazon S3.
4754	EncryptionMode *string `type:"string" enum:"EncryptionMode"`
4755
4756	// Enables or disables Amazon CloudWatch logging for the job. If logging is
4757	// enabled, CloudWatch writes one log stream for each job run.
4758	LogSubscription *string `type:"string" enum:"LogSubscription"`
4759
4760	// The maximum number of nodes that DataBrew can consume when the job processes
4761	// data.
4762	MaxCapacity *int64 `type:"integer"`
4763
4764	// The maximum number of times to retry the job after a job run fails.
4765	MaxRetries *int64 `type:"integer"`
4766
4767	// A unique name for the job. Valid characters are alphanumeric (A-Z, a-z, 0-9),
4768	// hyphen (-), period (.), and space.
4769	//
4770	// Name is a required field
4771	Name *string `min:"1" type:"string" required:"true"`
4772
4773	// One or more artifacts that represent the output from running the job.
4774	Outputs []*Output `min:"1" type:"list"`
4775
4776	// Either the name of an existing project, or a combination of a recipe and
4777	// a dataset to associate with the recipe.
4778	ProjectName *string `min:"1" type:"string"`
4779
4780	// Represents the name and version of a DataBrew recipe.
4781	RecipeReference *RecipeReference `type:"structure"`
4782
4783	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
4784	// role to be assumed when DataBrew runs the job.
4785	//
4786	// RoleArn is a required field
4787	RoleArn *string `min:"20" type:"string" required:"true"`
4788
4789	// Metadata tags to apply to this job.
4790	Tags map[string]*string `min:"1" type:"map"`
4791
4792	// The job's timeout in minutes. A job that attempts to run longer than this
4793	// timeout period ends with a status of TIMEOUT.
4794	Timeout *int64 `type:"integer"`
4795}
4796
4797// String returns the string representation
4798func (s CreateRecipeJobInput) String() string {
4799	return awsutil.Prettify(s)
4800}
4801
4802// GoString returns the string representation
4803func (s CreateRecipeJobInput) GoString() string {
4804	return s.String()
4805}
4806
4807// Validate inspects the fields of the type to determine if they are valid.
4808func (s *CreateRecipeJobInput) Validate() error {
4809	invalidParams := request.ErrInvalidParams{Context: "CreateRecipeJobInput"}
4810	if s.DataCatalogOutputs != nil && len(s.DataCatalogOutputs) < 1 {
4811		invalidParams.Add(request.NewErrParamMinLen("DataCatalogOutputs", 1))
4812	}
4813	if s.DatabaseOutputs != nil && len(s.DatabaseOutputs) < 1 {
4814		invalidParams.Add(request.NewErrParamMinLen("DatabaseOutputs", 1))
4815	}
4816	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
4817		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
4818	}
4819	if s.EncryptionKeyArn != nil && len(*s.EncryptionKeyArn) < 20 {
4820		invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyArn", 20))
4821	}
4822	if s.Name == nil {
4823		invalidParams.Add(request.NewErrParamRequired("Name"))
4824	}
4825	if s.Name != nil && len(*s.Name) < 1 {
4826		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4827	}
4828	if s.Outputs != nil && len(s.Outputs) < 1 {
4829		invalidParams.Add(request.NewErrParamMinLen("Outputs", 1))
4830	}
4831	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
4832		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
4833	}
4834	if s.RoleArn == nil {
4835		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
4836	}
4837	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
4838		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
4839	}
4840	if s.Tags != nil && len(s.Tags) < 1 {
4841		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4842	}
4843	if s.DataCatalogOutputs != nil {
4844		for i, v := range s.DataCatalogOutputs {
4845			if v == nil {
4846				continue
4847			}
4848			if err := v.Validate(); err != nil {
4849				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataCatalogOutputs", i), err.(request.ErrInvalidParams))
4850			}
4851		}
4852	}
4853	if s.DatabaseOutputs != nil {
4854		for i, v := range s.DatabaseOutputs {
4855			if v == nil {
4856				continue
4857			}
4858			if err := v.Validate(); err != nil {
4859				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DatabaseOutputs", i), err.(request.ErrInvalidParams))
4860			}
4861		}
4862	}
4863	if s.Outputs != nil {
4864		for i, v := range s.Outputs {
4865			if v == nil {
4866				continue
4867			}
4868			if err := v.Validate(); err != nil {
4869				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams))
4870			}
4871		}
4872	}
4873	if s.RecipeReference != nil {
4874		if err := s.RecipeReference.Validate(); err != nil {
4875			invalidParams.AddNested("RecipeReference", err.(request.ErrInvalidParams))
4876		}
4877	}
4878
4879	if invalidParams.Len() > 0 {
4880		return invalidParams
4881	}
4882	return nil
4883}
4884
4885// SetDataCatalogOutputs sets the DataCatalogOutputs field's value.
4886func (s *CreateRecipeJobInput) SetDataCatalogOutputs(v []*DataCatalogOutput_) *CreateRecipeJobInput {
4887	s.DataCatalogOutputs = v
4888	return s
4889}
4890
4891// SetDatabaseOutputs sets the DatabaseOutputs field's value.
4892func (s *CreateRecipeJobInput) SetDatabaseOutputs(v []*DatabaseOutput_) *CreateRecipeJobInput {
4893	s.DatabaseOutputs = v
4894	return s
4895}
4896
4897// SetDatasetName sets the DatasetName field's value.
4898func (s *CreateRecipeJobInput) SetDatasetName(v string) *CreateRecipeJobInput {
4899	s.DatasetName = &v
4900	return s
4901}
4902
4903// SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
4904func (s *CreateRecipeJobInput) SetEncryptionKeyArn(v string) *CreateRecipeJobInput {
4905	s.EncryptionKeyArn = &v
4906	return s
4907}
4908
4909// SetEncryptionMode sets the EncryptionMode field's value.
4910func (s *CreateRecipeJobInput) SetEncryptionMode(v string) *CreateRecipeJobInput {
4911	s.EncryptionMode = &v
4912	return s
4913}
4914
4915// SetLogSubscription sets the LogSubscription field's value.
4916func (s *CreateRecipeJobInput) SetLogSubscription(v string) *CreateRecipeJobInput {
4917	s.LogSubscription = &v
4918	return s
4919}
4920
4921// SetMaxCapacity sets the MaxCapacity field's value.
4922func (s *CreateRecipeJobInput) SetMaxCapacity(v int64) *CreateRecipeJobInput {
4923	s.MaxCapacity = &v
4924	return s
4925}
4926
4927// SetMaxRetries sets the MaxRetries field's value.
4928func (s *CreateRecipeJobInput) SetMaxRetries(v int64) *CreateRecipeJobInput {
4929	s.MaxRetries = &v
4930	return s
4931}
4932
4933// SetName sets the Name field's value.
4934func (s *CreateRecipeJobInput) SetName(v string) *CreateRecipeJobInput {
4935	s.Name = &v
4936	return s
4937}
4938
4939// SetOutputs sets the Outputs field's value.
4940func (s *CreateRecipeJobInput) SetOutputs(v []*Output) *CreateRecipeJobInput {
4941	s.Outputs = v
4942	return s
4943}
4944
4945// SetProjectName sets the ProjectName field's value.
4946func (s *CreateRecipeJobInput) SetProjectName(v string) *CreateRecipeJobInput {
4947	s.ProjectName = &v
4948	return s
4949}
4950
4951// SetRecipeReference sets the RecipeReference field's value.
4952func (s *CreateRecipeJobInput) SetRecipeReference(v *RecipeReference) *CreateRecipeJobInput {
4953	s.RecipeReference = v
4954	return s
4955}
4956
4957// SetRoleArn sets the RoleArn field's value.
4958func (s *CreateRecipeJobInput) SetRoleArn(v string) *CreateRecipeJobInput {
4959	s.RoleArn = &v
4960	return s
4961}
4962
4963// SetTags sets the Tags field's value.
4964func (s *CreateRecipeJobInput) SetTags(v map[string]*string) *CreateRecipeJobInput {
4965	s.Tags = v
4966	return s
4967}
4968
4969// SetTimeout sets the Timeout field's value.
4970func (s *CreateRecipeJobInput) SetTimeout(v int64) *CreateRecipeJobInput {
4971	s.Timeout = &v
4972	return s
4973}
4974
4975type CreateRecipeJobOutput struct {
4976	_ struct{} `type:"structure"`
4977
4978	// The name of the job that you created.
4979	//
4980	// Name is a required field
4981	Name *string `min:"1" type:"string" required:"true"`
4982}
4983
4984// String returns the string representation
4985func (s CreateRecipeJobOutput) String() string {
4986	return awsutil.Prettify(s)
4987}
4988
4989// GoString returns the string representation
4990func (s CreateRecipeJobOutput) GoString() string {
4991	return s.String()
4992}
4993
4994// SetName sets the Name field's value.
4995func (s *CreateRecipeJobOutput) SetName(v string) *CreateRecipeJobOutput {
4996	s.Name = &v
4997	return s
4998}
4999
5000type CreateRecipeOutput struct {
5001	_ struct{} `type:"structure"`
5002
5003	// The name of the recipe that you created.
5004	//
5005	// Name is a required field
5006	Name *string `min:"1" type:"string" required:"true"`
5007}
5008
5009// String returns the string representation
5010func (s CreateRecipeOutput) String() string {
5011	return awsutil.Prettify(s)
5012}
5013
5014// GoString returns the string representation
5015func (s CreateRecipeOutput) GoString() string {
5016	return s.String()
5017}
5018
5019// SetName sets the Name field's value.
5020func (s *CreateRecipeOutput) SetName(v string) *CreateRecipeOutput {
5021	s.Name = &v
5022	return s
5023}
5024
5025type CreateScheduleInput struct {
5026	_ struct{} `type:"structure"`
5027
5028	// The date or dates and time or times when the jobs are to be run. For more
5029	// information, see Cron expressions (https://docs.aws.amazon.com/databrew/latest/dg/jobs.cron.html)
5030	// in the Glue DataBrew Developer Guide.
5031	//
5032	// CronExpression is a required field
5033	CronExpression *string `min:"1" type:"string" required:"true"`
5034
5035	// The name or names of one or more jobs to be run.
5036	JobNames []*string `type:"list"`
5037
5038	// A unique name for the schedule. Valid characters are alphanumeric (A-Z, a-z,
5039	// 0-9), hyphen (-), period (.), and space.
5040	//
5041	// Name is a required field
5042	Name *string `min:"1" type:"string" required:"true"`
5043
5044	// Metadata tags to apply to this schedule.
5045	Tags map[string]*string `min:"1" type:"map"`
5046}
5047
5048// String returns the string representation
5049func (s CreateScheduleInput) String() string {
5050	return awsutil.Prettify(s)
5051}
5052
5053// GoString returns the string representation
5054func (s CreateScheduleInput) GoString() string {
5055	return s.String()
5056}
5057
5058// Validate inspects the fields of the type to determine if they are valid.
5059func (s *CreateScheduleInput) Validate() error {
5060	invalidParams := request.ErrInvalidParams{Context: "CreateScheduleInput"}
5061	if s.CronExpression == nil {
5062		invalidParams.Add(request.NewErrParamRequired("CronExpression"))
5063	}
5064	if s.CronExpression != nil && len(*s.CronExpression) < 1 {
5065		invalidParams.Add(request.NewErrParamMinLen("CronExpression", 1))
5066	}
5067	if s.Name == nil {
5068		invalidParams.Add(request.NewErrParamRequired("Name"))
5069	}
5070	if s.Name != nil && len(*s.Name) < 1 {
5071		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5072	}
5073	if s.Tags != nil && len(s.Tags) < 1 {
5074		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
5075	}
5076
5077	if invalidParams.Len() > 0 {
5078		return invalidParams
5079	}
5080	return nil
5081}
5082
5083// SetCronExpression sets the CronExpression field's value.
5084func (s *CreateScheduleInput) SetCronExpression(v string) *CreateScheduleInput {
5085	s.CronExpression = &v
5086	return s
5087}
5088
5089// SetJobNames sets the JobNames field's value.
5090func (s *CreateScheduleInput) SetJobNames(v []*string) *CreateScheduleInput {
5091	s.JobNames = v
5092	return s
5093}
5094
5095// SetName sets the Name field's value.
5096func (s *CreateScheduleInput) SetName(v string) *CreateScheduleInput {
5097	s.Name = &v
5098	return s
5099}
5100
5101// SetTags sets the Tags field's value.
5102func (s *CreateScheduleInput) SetTags(v map[string]*string) *CreateScheduleInput {
5103	s.Tags = v
5104	return s
5105}
5106
5107type CreateScheduleOutput struct {
5108	_ struct{} `type:"structure"`
5109
5110	// The name of the schedule that was created.
5111	//
5112	// Name is a required field
5113	Name *string `min:"1" type:"string" required:"true"`
5114}
5115
5116// String returns the string representation
5117func (s CreateScheduleOutput) String() string {
5118	return awsutil.Prettify(s)
5119}
5120
5121// GoString returns the string representation
5122func (s CreateScheduleOutput) GoString() string {
5123	return s.String()
5124}
5125
5126// SetName sets the Name field's value.
5127func (s *CreateScheduleOutput) SetName(v string) *CreateScheduleOutput {
5128	s.Name = &v
5129	return s
5130}
5131
5132// Represents a set of options that define how DataBrew will read a comma-separated
5133// value (CSV) file when creating a dataset from that file.
5134type CsvOptions struct {
5135	_ struct{} `type:"structure"`
5136
5137	// A single character that specifies the delimiter being used in the CSV file.
5138	Delimiter *string `min:"1" type:"string"`
5139
5140	// A variable that specifies whether the first row in the file is parsed as
5141	// the header. If this value is false, column names are auto-generated.
5142	HeaderRow *bool `type:"boolean"`
5143}
5144
5145// String returns the string representation
5146func (s CsvOptions) String() string {
5147	return awsutil.Prettify(s)
5148}
5149
5150// GoString returns the string representation
5151func (s CsvOptions) GoString() string {
5152	return s.String()
5153}
5154
5155// Validate inspects the fields of the type to determine if they are valid.
5156func (s *CsvOptions) Validate() error {
5157	invalidParams := request.ErrInvalidParams{Context: "CsvOptions"}
5158	if s.Delimiter != nil && len(*s.Delimiter) < 1 {
5159		invalidParams.Add(request.NewErrParamMinLen("Delimiter", 1))
5160	}
5161
5162	if invalidParams.Len() > 0 {
5163		return invalidParams
5164	}
5165	return nil
5166}
5167
5168// SetDelimiter sets the Delimiter field's value.
5169func (s *CsvOptions) SetDelimiter(v string) *CsvOptions {
5170	s.Delimiter = &v
5171	return s
5172}
5173
5174// SetHeaderRow sets the HeaderRow field's value.
5175func (s *CsvOptions) SetHeaderRow(v bool) *CsvOptions {
5176	s.HeaderRow = &v
5177	return s
5178}
5179
5180// Represents a set of options that define how DataBrew will write a comma-separated
5181// value (CSV) file.
5182type CsvOutputOptions struct {
5183	_ struct{} `type:"structure"`
5184
5185	// A single character that specifies the delimiter used to create CSV job output.
5186	Delimiter *string `min:"1" type:"string"`
5187}
5188
5189// String returns the string representation
5190func (s CsvOutputOptions) String() string {
5191	return awsutil.Prettify(s)
5192}
5193
5194// GoString returns the string representation
5195func (s CsvOutputOptions) GoString() string {
5196	return s.String()
5197}
5198
5199// Validate inspects the fields of the type to determine if they are valid.
5200func (s *CsvOutputOptions) Validate() error {
5201	invalidParams := request.ErrInvalidParams{Context: "CsvOutputOptions"}
5202	if s.Delimiter != nil && len(*s.Delimiter) < 1 {
5203		invalidParams.Add(request.NewErrParamMinLen("Delimiter", 1))
5204	}
5205
5206	if invalidParams.Len() > 0 {
5207		return invalidParams
5208	}
5209	return nil
5210}
5211
5212// SetDelimiter sets the Delimiter field's value.
5213func (s *CsvOutputOptions) SetDelimiter(v string) *CsvOutputOptions {
5214	s.Delimiter = &v
5215	return s
5216}
5217
5218// Represents how metadata stored in the Glue Data Catalog is defined in a DataBrew
5219// dataset.
5220type DataCatalogInputDefinition struct {
5221	_ struct{} `type:"structure"`
5222
5223	// The unique identifier of the Amazon Web Services account that holds the Data
5224	// Catalog that stores the data.
5225	CatalogId *string `min:"1" type:"string"`
5226
5227	// The name of a database in the Data Catalog.
5228	//
5229	// DatabaseName is a required field
5230	DatabaseName *string `min:"1" type:"string" required:"true"`
5231
5232	// The name of a database table in the Data Catalog. This table corresponds
5233	// to a DataBrew dataset.
5234	//
5235	// TableName is a required field
5236	TableName *string `min:"1" type:"string" required:"true"`
5237
5238	// Represents an Amazon location where DataBrew can store intermediate results.
5239	TempDirectory *S3Location `type:"structure"`
5240}
5241
5242// String returns the string representation
5243func (s DataCatalogInputDefinition) String() string {
5244	return awsutil.Prettify(s)
5245}
5246
5247// GoString returns the string representation
5248func (s DataCatalogInputDefinition) GoString() string {
5249	return s.String()
5250}
5251
5252// Validate inspects the fields of the type to determine if they are valid.
5253func (s *DataCatalogInputDefinition) Validate() error {
5254	invalidParams := request.ErrInvalidParams{Context: "DataCatalogInputDefinition"}
5255	if s.CatalogId != nil && len(*s.CatalogId) < 1 {
5256		invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1))
5257	}
5258	if s.DatabaseName == nil {
5259		invalidParams.Add(request.NewErrParamRequired("DatabaseName"))
5260	}
5261	if s.DatabaseName != nil && len(*s.DatabaseName) < 1 {
5262		invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1))
5263	}
5264	if s.TableName == nil {
5265		invalidParams.Add(request.NewErrParamRequired("TableName"))
5266	}
5267	if s.TableName != nil && len(*s.TableName) < 1 {
5268		invalidParams.Add(request.NewErrParamMinLen("TableName", 1))
5269	}
5270	if s.TempDirectory != nil {
5271		if err := s.TempDirectory.Validate(); err != nil {
5272			invalidParams.AddNested("TempDirectory", err.(request.ErrInvalidParams))
5273		}
5274	}
5275
5276	if invalidParams.Len() > 0 {
5277		return invalidParams
5278	}
5279	return nil
5280}
5281
5282// SetCatalogId sets the CatalogId field's value.
5283func (s *DataCatalogInputDefinition) SetCatalogId(v string) *DataCatalogInputDefinition {
5284	s.CatalogId = &v
5285	return s
5286}
5287
5288// SetDatabaseName sets the DatabaseName field's value.
5289func (s *DataCatalogInputDefinition) SetDatabaseName(v string) *DataCatalogInputDefinition {
5290	s.DatabaseName = &v
5291	return s
5292}
5293
5294// SetTableName sets the TableName field's value.
5295func (s *DataCatalogInputDefinition) SetTableName(v string) *DataCatalogInputDefinition {
5296	s.TableName = &v
5297	return s
5298}
5299
5300// SetTempDirectory sets the TempDirectory field's value.
5301func (s *DataCatalogInputDefinition) SetTempDirectory(v *S3Location) *DataCatalogInputDefinition {
5302	s.TempDirectory = v
5303	return s
5304}
5305
5306// Represents options that specify how and where in the Glue Data Catalog DataBrew
5307// writes the output generated by recipe jobs.
5308type DataCatalogOutput_ struct {
5309	_ struct{} `type:"structure"`
5310
5311	// The unique identifier of the Amazon Web Services account that holds the Data
5312	// Catalog that stores the data.
5313	CatalogId *string `min:"1" type:"string"`
5314
5315	// The name of a database in the Data Catalog.
5316	//
5317	// DatabaseName is a required field
5318	DatabaseName *string `min:"1" type:"string" required:"true"`
5319
5320	// Represents options that specify how and where DataBrew writes the database
5321	// output generated by recipe jobs.
5322	DatabaseOptions *DatabaseTableOutputOptions `type:"structure"`
5323
5324	// A value that, if true, means that any data in the location specified for
5325	// output is overwritten with new output. Not supported with DatabaseOptions.
5326	Overwrite *bool `type:"boolean"`
5327
5328	// Represents options that specify how and where DataBrew writes the Amazon
5329	// S3 output generated by recipe jobs.
5330	S3Options *S3TableOutputOptions `type:"structure"`
5331
5332	// The name of a table in the Data Catalog.
5333	//
5334	// TableName is a required field
5335	TableName *string `min:"1" type:"string" required:"true"`
5336}
5337
5338// String returns the string representation
5339func (s DataCatalogOutput_) String() string {
5340	return awsutil.Prettify(s)
5341}
5342
5343// GoString returns the string representation
5344func (s DataCatalogOutput_) GoString() string {
5345	return s.String()
5346}
5347
5348// Validate inspects the fields of the type to determine if they are valid.
5349func (s *DataCatalogOutput_) Validate() error {
5350	invalidParams := request.ErrInvalidParams{Context: "DataCatalogOutput_"}
5351	if s.CatalogId != nil && len(*s.CatalogId) < 1 {
5352		invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1))
5353	}
5354	if s.DatabaseName == nil {
5355		invalidParams.Add(request.NewErrParamRequired("DatabaseName"))
5356	}
5357	if s.DatabaseName != nil && len(*s.DatabaseName) < 1 {
5358		invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1))
5359	}
5360	if s.TableName == nil {
5361		invalidParams.Add(request.NewErrParamRequired("TableName"))
5362	}
5363	if s.TableName != nil && len(*s.TableName) < 1 {
5364		invalidParams.Add(request.NewErrParamMinLen("TableName", 1))
5365	}
5366	if s.DatabaseOptions != nil {
5367		if err := s.DatabaseOptions.Validate(); err != nil {
5368			invalidParams.AddNested("DatabaseOptions", err.(request.ErrInvalidParams))
5369		}
5370	}
5371	if s.S3Options != nil {
5372		if err := s.S3Options.Validate(); err != nil {
5373			invalidParams.AddNested("S3Options", err.(request.ErrInvalidParams))
5374		}
5375	}
5376
5377	if invalidParams.Len() > 0 {
5378		return invalidParams
5379	}
5380	return nil
5381}
5382
5383// SetCatalogId sets the CatalogId field's value.
5384func (s *DataCatalogOutput_) SetCatalogId(v string) *DataCatalogOutput_ {
5385	s.CatalogId = &v
5386	return s
5387}
5388
5389// SetDatabaseName sets the DatabaseName field's value.
5390func (s *DataCatalogOutput_) SetDatabaseName(v string) *DataCatalogOutput_ {
5391	s.DatabaseName = &v
5392	return s
5393}
5394
5395// SetDatabaseOptions sets the DatabaseOptions field's value.
5396func (s *DataCatalogOutput_) SetDatabaseOptions(v *DatabaseTableOutputOptions) *DataCatalogOutput_ {
5397	s.DatabaseOptions = v
5398	return s
5399}
5400
5401// SetOverwrite sets the Overwrite field's value.
5402func (s *DataCatalogOutput_) SetOverwrite(v bool) *DataCatalogOutput_ {
5403	s.Overwrite = &v
5404	return s
5405}
5406
5407// SetS3Options sets the S3Options field's value.
5408func (s *DataCatalogOutput_) SetS3Options(v *S3TableOutputOptions) *DataCatalogOutput_ {
5409	s.S3Options = v
5410	return s
5411}
5412
5413// SetTableName sets the TableName field's value.
5414func (s *DataCatalogOutput_) SetTableName(v string) *DataCatalogOutput_ {
5415	s.TableName = &v
5416	return s
5417}
5418
5419// Connection information for dataset input files stored in a database.
5420type DatabaseInputDefinition struct {
5421	_ struct{} `type:"structure"`
5422
5423	// The table within the target database.
5424	//
5425	// DatabaseTableName is a required field
5426	DatabaseTableName *string `min:"1" type:"string" required:"true"`
5427
5428	// The Glue Connection that stores the connection information for the target
5429	// database.
5430	//
5431	// GlueConnectionName is a required field
5432	GlueConnectionName *string `min:"1" type:"string" required:"true"`
5433
5434	// Represents an Amazon S3 location (bucket name and object key) where DataBrew
5435	// can read input data, or write output from a job.
5436	TempDirectory *S3Location `type:"structure"`
5437}
5438
5439// String returns the string representation
5440func (s DatabaseInputDefinition) String() string {
5441	return awsutil.Prettify(s)
5442}
5443
5444// GoString returns the string representation
5445func (s DatabaseInputDefinition) GoString() string {
5446	return s.String()
5447}
5448
5449// Validate inspects the fields of the type to determine if they are valid.
5450func (s *DatabaseInputDefinition) Validate() error {
5451	invalidParams := request.ErrInvalidParams{Context: "DatabaseInputDefinition"}
5452	if s.DatabaseTableName == nil {
5453		invalidParams.Add(request.NewErrParamRequired("DatabaseTableName"))
5454	}
5455	if s.DatabaseTableName != nil && len(*s.DatabaseTableName) < 1 {
5456		invalidParams.Add(request.NewErrParamMinLen("DatabaseTableName", 1))
5457	}
5458	if s.GlueConnectionName == nil {
5459		invalidParams.Add(request.NewErrParamRequired("GlueConnectionName"))
5460	}
5461	if s.GlueConnectionName != nil && len(*s.GlueConnectionName) < 1 {
5462		invalidParams.Add(request.NewErrParamMinLen("GlueConnectionName", 1))
5463	}
5464	if s.TempDirectory != nil {
5465		if err := s.TempDirectory.Validate(); err != nil {
5466			invalidParams.AddNested("TempDirectory", err.(request.ErrInvalidParams))
5467		}
5468	}
5469
5470	if invalidParams.Len() > 0 {
5471		return invalidParams
5472	}
5473	return nil
5474}
5475
5476// SetDatabaseTableName sets the DatabaseTableName field's value.
5477func (s *DatabaseInputDefinition) SetDatabaseTableName(v string) *DatabaseInputDefinition {
5478	s.DatabaseTableName = &v
5479	return s
5480}
5481
5482// SetGlueConnectionName sets the GlueConnectionName field's value.
5483func (s *DatabaseInputDefinition) SetGlueConnectionName(v string) *DatabaseInputDefinition {
5484	s.GlueConnectionName = &v
5485	return s
5486}
5487
5488// SetTempDirectory sets the TempDirectory field's value.
5489func (s *DatabaseInputDefinition) SetTempDirectory(v *S3Location) *DatabaseInputDefinition {
5490	s.TempDirectory = v
5491	return s
5492}
5493
5494// Represents a JDBC database output object which defines the output destination
5495// for a DataBrew recipe job to write into.
5496type DatabaseOutput_ struct {
5497	_ struct{} `type:"structure"`
5498
5499	// Represents options that specify how and where DataBrew writes the database
5500	// output generated by recipe jobs.
5501	//
5502	// DatabaseOptions is a required field
5503	DatabaseOptions *DatabaseTableOutputOptions `type:"structure" required:"true"`
5504
5505	// The output mode to write into the database. Currently supported option: NEW_TABLE.
5506	DatabaseOutputMode *string `type:"string" enum:"DatabaseOutputMode"`
5507
5508	// The Glue connection that stores the connection information for the target
5509	// database.
5510	//
5511	// GlueConnectionName is a required field
5512	GlueConnectionName *string `min:"1" type:"string" required:"true"`
5513}
5514
5515// String returns the string representation
5516func (s DatabaseOutput_) String() string {
5517	return awsutil.Prettify(s)
5518}
5519
5520// GoString returns the string representation
5521func (s DatabaseOutput_) GoString() string {
5522	return s.String()
5523}
5524
5525// Validate inspects the fields of the type to determine if they are valid.
5526func (s *DatabaseOutput_) Validate() error {
5527	invalidParams := request.ErrInvalidParams{Context: "DatabaseOutput_"}
5528	if s.DatabaseOptions == nil {
5529		invalidParams.Add(request.NewErrParamRequired("DatabaseOptions"))
5530	}
5531	if s.GlueConnectionName == nil {
5532		invalidParams.Add(request.NewErrParamRequired("GlueConnectionName"))
5533	}
5534	if s.GlueConnectionName != nil && len(*s.GlueConnectionName) < 1 {
5535		invalidParams.Add(request.NewErrParamMinLen("GlueConnectionName", 1))
5536	}
5537	if s.DatabaseOptions != nil {
5538		if err := s.DatabaseOptions.Validate(); err != nil {
5539			invalidParams.AddNested("DatabaseOptions", err.(request.ErrInvalidParams))
5540		}
5541	}
5542
5543	if invalidParams.Len() > 0 {
5544		return invalidParams
5545	}
5546	return nil
5547}
5548
5549// SetDatabaseOptions sets the DatabaseOptions field's value.
5550func (s *DatabaseOutput_) SetDatabaseOptions(v *DatabaseTableOutputOptions) *DatabaseOutput_ {
5551	s.DatabaseOptions = v
5552	return s
5553}
5554
5555// SetDatabaseOutputMode sets the DatabaseOutputMode field's value.
5556func (s *DatabaseOutput_) SetDatabaseOutputMode(v string) *DatabaseOutput_ {
5557	s.DatabaseOutputMode = &v
5558	return s
5559}
5560
5561// SetGlueConnectionName sets the GlueConnectionName field's value.
5562func (s *DatabaseOutput_) SetGlueConnectionName(v string) *DatabaseOutput_ {
5563	s.GlueConnectionName = &v
5564	return s
5565}
5566
5567// Represents options that specify how and where DataBrew writes the database
5568// output generated by recipe jobs.
5569type DatabaseTableOutputOptions struct {
5570	_ struct{} `type:"structure"`
5571
5572	// A prefix for the name of a table DataBrew will create in the database.
5573	//
5574	// TableName is a required field
5575	TableName *string `min:"1" type:"string" required:"true"`
5576
5577	// Represents an Amazon S3 location (bucket name and object key) where DataBrew
5578	// can store intermediate results.
5579	TempDirectory *S3Location `type:"structure"`
5580}
5581
5582// String returns the string representation
5583func (s DatabaseTableOutputOptions) String() string {
5584	return awsutil.Prettify(s)
5585}
5586
5587// GoString returns the string representation
5588func (s DatabaseTableOutputOptions) GoString() string {
5589	return s.String()
5590}
5591
5592// Validate inspects the fields of the type to determine if they are valid.
5593func (s *DatabaseTableOutputOptions) Validate() error {
5594	invalidParams := request.ErrInvalidParams{Context: "DatabaseTableOutputOptions"}
5595	if s.TableName == nil {
5596		invalidParams.Add(request.NewErrParamRequired("TableName"))
5597	}
5598	if s.TableName != nil && len(*s.TableName) < 1 {
5599		invalidParams.Add(request.NewErrParamMinLen("TableName", 1))
5600	}
5601	if s.TempDirectory != nil {
5602		if err := s.TempDirectory.Validate(); err != nil {
5603			invalidParams.AddNested("TempDirectory", err.(request.ErrInvalidParams))
5604		}
5605	}
5606
5607	if invalidParams.Len() > 0 {
5608		return invalidParams
5609	}
5610	return nil
5611}
5612
5613// SetTableName sets the TableName field's value.
5614func (s *DatabaseTableOutputOptions) SetTableName(v string) *DatabaseTableOutputOptions {
5615	s.TableName = &v
5616	return s
5617}
5618
5619// SetTempDirectory sets the TempDirectory field's value.
5620func (s *DatabaseTableOutputOptions) SetTempDirectory(v *S3Location) *DatabaseTableOutputOptions {
5621	s.TempDirectory = v
5622	return s
5623}
5624
5625// Represents a dataset that can be processed by DataBrew.
5626type Dataset struct {
5627	_ struct{} `type:"structure"`
5628
5629	// The ID of the Amazon Web Services account that owns the dataset.
5630	AccountId *string `type:"string"`
5631
5632	// The date and time that the dataset was created.
5633	CreateDate *time.Time `type:"timestamp"`
5634
5635	// The Amazon Resource Name (ARN) of the user who created the dataset.
5636	CreatedBy *string `type:"string"`
5637
5638	// The file format of a dataset that is created from an Amazon S3 file or folder.
5639	Format *string `type:"string" enum:"InputFormat"`
5640
5641	// A set of options that define how DataBrew interprets the data in the dataset.
5642	FormatOptions *FormatOptions `type:"structure"`
5643
5644	// Information on how DataBrew can find the dataset, in either the Glue Data
5645	// Catalog or Amazon S3.
5646	//
5647	// Input is a required field
5648	Input *Input `type:"structure" required:"true"`
5649
5650	// The Amazon Resource Name (ARN) of the user who last modified the dataset.
5651	LastModifiedBy *string `type:"string"`
5652
5653	// The last modification date and time of the dataset.
5654	LastModifiedDate *time.Time `type:"timestamp"`
5655
5656	// The unique name of the dataset.
5657	//
5658	// Name is a required field
5659	Name *string `min:"1" type:"string" required:"true"`
5660
5661	// A set of options that defines how DataBrew interprets an Amazon S3 path of
5662	// the dataset.
5663	PathOptions *PathOptions `type:"structure"`
5664
5665	// The unique Amazon Resource Name (ARN) for the dataset.
5666	ResourceArn *string `min:"20" type:"string"`
5667
5668	// The location of the data for the dataset, either Amazon S3 or the Glue Data
5669	// Catalog.
5670	Source *string `type:"string" enum:"Source"`
5671
5672	// Metadata tags that have been applied to the dataset.
5673	Tags map[string]*string `min:"1" type:"map"`
5674}
5675
5676// String returns the string representation
5677func (s Dataset) String() string {
5678	return awsutil.Prettify(s)
5679}
5680
5681// GoString returns the string representation
5682func (s Dataset) GoString() string {
5683	return s.String()
5684}
5685
5686// SetAccountId sets the AccountId field's value.
5687func (s *Dataset) SetAccountId(v string) *Dataset {
5688	s.AccountId = &v
5689	return s
5690}
5691
5692// SetCreateDate sets the CreateDate field's value.
5693func (s *Dataset) SetCreateDate(v time.Time) *Dataset {
5694	s.CreateDate = &v
5695	return s
5696}
5697
5698// SetCreatedBy sets the CreatedBy field's value.
5699func (s *Dataset) SetCreatedBy(v string) *Dataset {
5700	s.CreatedBy = &v
5701	return s
5702}
5703
5704// SetFormat sets the Format field's value.
5705func (s *Dataset) SetFormat(v string) *Dataset {
5706	s.Format = &v
5707	return s
5708}
5709
5710// SetFormatOptions sets the FormatOptions field's value.
5711func (s *Dataset) SetFormatOptions(v *FormatOptions) *Dataset {
5712	s.FormatOptions = v
5713	return s
5714}
5715
5716// SetInput sets the Input field's value.
5717func (s *Dataset) SetInput(v *Input) *Dataset {
5718	s.Input = v
5719	return s
5720}
5721
5722// SetLastModifiedBy sets the LastModifiedBy field's value.
5723func (s *Dataset) SetLastModifiedBy(v string) *Dataset {
5724	s.LastModifiedBy = &v
5725	return s
5726}
5727
5728// SetLastModifiedDate sets the LastModifiedDate field's value.
5729func (s *Dataset) SetLastModifiedDate(v time.Time) *Dataset {
5730	s.LastModifiedDate = &v
5731	return s
5732}
5733
5734// SetName sets the Name field's value.
5735func (s *Dataset) SetName(v string) *Dataset {
5736	s.Name = &v
5737	return s
5738}
5739
5740// SetPathOptions sets the PathOptions field's value.
5741func (s *Dataset) SetPathOptions(v *PathOptions) *Dataset {
5742	s.PathOptions = v
5743	return s
5744}
5745
5746// SetResourceArn sets the ResourceArn field's value.
5747func (s *Dataset) SetResourceArn(v string) *Dataset {
5748	s.ResourceArn = &v
5749	return s
5750}
5751
5752// SetSource sets the Source field's value.
5753func (s *Dataset) SetSource(v string) *Dataset {
5754	s.Source = &v
5755	return s
5756}
5757
5758// SetTags sets the Tags field's value.
5759func (s *Dataset) SetTags(v map[string]*string) *Dataset {
5760	s.Tags = v
5761	return s
5762}
5763
5764// Represents a dataset paramater that defines type and conditions for a parameter
5765// in the Amazon S3 path of the dataset.
5766type DatasetParameter struct {
5767	_ struct{} `type:"structure"`
5768
5769	// Optional boolean value that defines whether the captured value of this parameter
5770	// should be used to create a new column in a dataset.
5771	CreateColumn *bool `type:"boolean"`
5772
5773	// Additional parameter options such as a format and a timezone. Required for
5774	// datetime parameters.
5775	DatetimeOptions *DatetimeOptions `type:"structure"`
5776
5777	// The optional filter expression structure to apply additional matching criteria
5778	// to the parameter.
5779	Filter *FilterExpression `type:"structure"`
5780
5781	// The name of the parameter that is used in the dataset's Amazon S3 path.
5782	//
5783	// Name is a required field
5784	Name *string `min:"1" type:"string" required:"true"`
5785
5786	// The type of the dataset parameter, can be one of a 'String', 'Number' or
5787	// 'Datetime'.
5788	//
5789	// Type is a required field
5790	Type *string `type:"string" required:"true" enum:"ParameterType"`
5791}
5792
5793// String returns the string representation
5794func (s DatasetParameter) String() string {
5795	return awsutil.Prettify(s)
5796}
5797
5798// GoString returns the string representation
5799func (s DatasetParameter) GoString() string {
5800	return s.String()
5801}
5802
5803// Validate inspects the fields of the type to determine if they are valid.
5804func (s *DatasetParameter) Validate() error {
5805	invalidParams := request.ErrInvalidParams{Context: "DatasetParameter"}
5806	if s.Name == nil {
5807		invalidParams.Add(request.NewErrParamRequired("Name"))
5808	}
5809	if s.Name != nil && len(*s.Name) < 1 {
5810		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5811	}
5812	if s.Type == nil {
5813		invalidParams.Add(request.NewErrParamRequired("Type"))
5814	}
5815	if s.DatetimeOptions != nil {
5816		if err := s.DatetimeOptions.Validate(); err != nil {
5817			invalidParams.AddNested("DatetimeOptions", err.(request.ErrInvalidParams))
5818		}
5819	}
5820	if s.Filter != nil {
5821		if err := s.Filter.Validate(); err != nil {
5822			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
5823		}
5824	}
5825
5826	if invalidParams.Len() > 0 {
5827		return invalidParams
5828	}
5829	return nil
5830}
5831
5832// SetCreateColumn sets the CreateColumn field's value.
5833func (s *DatasetParameter) SetCreateColumn(v bool) *DatasetParameter {
5834	s.CreateColumn = &v
5835	return s
5836}
5837
5838// SetDatetimeOptions sets the DatetimeOptions field's value.
5839func (s *DatasetParameter) SetDatetimeOptions(v *DatetimeOptions) *DatasetParameter {
5840	s.DatetimeOptions = v
5841	return s
5842}
5843
5844// SetFilter sets the Filter field's value.
5845func (s *DatasetParameter) SetFilter(v *FilterExpression) *DatasetParameter {
5846	s.Filter = v
5847	return s
5848}
5849
5850// SetName sets the Name field's value.
5851func (s *DatasetParameter) SetName(v string) *DatasetParameter {
5852	s.Name = &v
5853	return s
5854}
5855
5856// SetType sets the Type field's value.
5857func (s *DatasetParameter) SetType(v string) *DatasetParameter {
5858	s.Type = &v
5859	return s
5860}
5861
5862// Represents additional options for correct interpretation of datetime parameters
5863// used in the Amazon S3 path of a dataset.
5864type DatetimeOptions struct {
5865	_ struct{} `type:"structure"`
5866
5867	// Required option, that defines the datetime format used for a date parameter
5868	// in the Amazon S3 path. Should use only supported datetime specifiers and
5869	// separation characters, all literal a-z or A-Z characters should be escaped
5870	// with single quotes. E.g. "MM.dd.yyyy-'at'-HH:mm".
5871	//
5872	// Format is a required field
5873	Format *string `min:"2" type:"string" required:"true"`
5874
5875	// Optional value for a non-US locale code, needed for correct interpretation
5876	// of some date formats.
5877	LocaleCode *string `min:"2" type:"string"`
5878
5879	// Optional value for a timezone offset of the datetime parameter value in the
5880	// Amazon S3 path. Shouldn't be used if Format for this parameter includes timezone
5881	// fields. If no offset specified, UTC is assumed.
5882	TimezoneOffset *string `min:"1" type:"string"`
5883}
5884
5885// String returns the string representation
5886func (s DatetimeOptions) String() string {
5887	return awsutil.Prettify(s)
5888}
5889
5890// GoString returns the string representation
5891func (s DatetimeOptions) GoString() string {
5892	return s.String()
5893}
5894
5895// Validate inspects the fields of the type to determine if they are valid.
5896func (s *DatetimeOptions) Validate() error {
5897	invalidParams := request.ErrInvalidParams{Context: "DatetimeOptions"}
5898	if s.Format == nil {
5899		invalidParams.Add(request.NewErrParamRequired("Format"))
5900	}
5901	if s.Format != nil && len(*s.Format) < 2 {
5902		invalidParams.Add(request.NewErrParamMinLen("Format", 2))
5903	}
5904	if s.LocaleCode != nil && len(*s.LocaleCode) < 2 {
5905		invalidParams.Add(request.NewErrParamMinLen("LocaleCode", 2))
5906	}
5907	if s.TimezoneOffset != nil && len(*s.TimezoneOffset) < 1 {
5908		invalidParams.Add(request.NewErrParamMinLen("TimezoneOffset", 1))
5909	}
5910
5911	if invalidParams.Len() > 0 {
5912		return invalidParams
5913	}
5914	return nil
5915}
5916
5917// SetFormat sets the Format field's value.
5918func (s *DatetimeOptions) SetFormat(v string) *DatetimeOptions {
5919	s.Format = &v
5920	return s
5921}
5922
5923// SetLocaleCode sets the LocaleCode field's value.
5924func (s *DatetimeOptions) SetLocaleCode(v string) *DatetimeOptions {
5925	s.LocaleCode = &v
5926	return s
5927}
5928
5929// SetTimezoneOffset sets the TimezoneOffset field's value.
5930func (s *DatetimeOptions) SetTimezoneOffset(v string) *DatetimeOptions {
5931	s.TimezoneOffset = &v
5932	return s
5933}
5934
5935type DeleteDatasetInput struct {
5936	_ struct{} `type:"structure"`
5937
5938	// The name of the dataset to be deleted.
5939	//
5940	// Name is a required field
5941	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
5942}
5943
5944// String returns the string representation
5945func (s DeleteDatasetInput) String() string {
5946	return awsutil.Prettify(s)
5947}
5948
5949// GoString returns the string representation
5950func (s DeleteDatasetInput) GoString() string {
5951	return s.String()
5952}
5953
5954// Validate inspects the fields of the type to determine if they are valid.
5955func (s *DeleteDatasetInput) Validate() error {
5956	invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetInput"}
5957	if s.Name == nil {
5958		invalidParams.Add(request.NewErrParamRequired("Name"))
5959	}
5960	if s.Name != nil && len(*s.Name) < 1 {
5961		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5962	}
5963
5964	if invalidParams.Len() > 0 {
5965		return invalidParams
5966	}
5967	return nil
5968}
5969
5970// SetName sets the Name field's value.
5971func (s *DeleteDatasetInput) SetName(v string) *DeleteDatasetInput {
5972	s.Name = &v
5973	return s
5974}
5975
5976type DeleteDatasetOutput struct {
5977	_ struct{} `type:"structure"`
5978
5979	// The name of the dataset that you deleted.
5980	//
5981	// Name is a required field
5982	Name *string `min:"1" type:"string" required:"true"`
5983}
5984
5985// String returns the string representation
5986func (s DeleteDatasetOutput) String() string {
5987	return awsutil.Prettify(s)
5988}
5989
5990// GoString returns the string representation
5991func (s DeleteDatasetOutput) GoString() string {
5992	return s.String()
5993}
5994
5995// SetName sets the Name field's value.
5996func (s *DeleteDatasetOutput) SetName(v string) *DeleteDatasetOutput {
5997	s.Name = &v
5998	return s
5999}
6000
6001type DeleteJobInput struct {
6002	_ struct{} `type:"structure"`
6003
6004	// The name of the job to be deleted.
6005	//
6006	// Name is a required field
6007	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
6008}
6009
6010// String returns the string representation
6011func (s DeleteJobInput) String() string {
6012	return awsutil.Prettify(s)
6013}
6014
6015// GoString returns the string representation
6016func (s DeleteJobInput) GoString() string {
6017	return s.String()
6018}
6019
6020// Validate inspects the fields of the type to determine if they are valid.
6021func (s *DeleteJobInput) Validate() error {
6022	invalidParams := request.ErrInvalidParams{Context: "DeleteJobInput"}
6023	if s.Name == nil {
6024		invalidParams.Add(request.NewErrParamRequired("Name"))
6025	}
6026	if s.Name != nil && len(*s.Name) < 1 {
6027		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6028	}
6029
6030	if invalidParams.Len() > 0 {
6031		return invalidParams
6032	}
6033	return nil
6034}
6035
6036// SetName sets the Name field's value.
6037func (s *DeleteJobInput) SetName(v string) *DeleteJobInput {
6038	s.Name = &v
6039	return s
6040}
6041
6042type DeleteJobOutput struct {
6043	_ struct{} `type:"structure"`
6044
6045	// The name of the job that you deleted.
6046	//
6047	// Name is a required field
6048	Name *string `min:"1" type:"string" required:"true"`
6049}
6050
6051// String returns the string representation
6052func (s DeleteJobOutput) String() string {
6053	return awsutil.Prettify(s)
6054}
6055
6056// GoString returns the string representation
6057func (s DeleteJobOutput) GoString() string {
6058	return s.String()
6059}
6060
6061// SetName sets the Name field's value.
6062func (s *DeleteJobOutput) SetName(v string) *DeleteJobOutput {
6063	s.Name = &v
6064	return s
6065}
6066
6067type DeleteProjectInput struct {
6068	_ struct{} `type:"structure"`
6069
6070	// The name of the project to be deleted.
6071	//
6072	// Name is a required field
6073	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
6074}
6075
6076// String returns the string representation
6077func (s DeleteProjectInput) String() string {
6078	return awsutil.Prettify(s)
6079}
6080
6081// GoString returns the string representation
6082func (s DeleteProjectInput) GoString() string {
6083	return s.String()
6084}
6085
6086// Validate inspects the fields of the type to determine if they are valid.
6087func (s *DeleteProjectInput) Validate() error {
6088	invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"}
6089	if s.Name == nil {
6090		invalidParams.Add(request.NewErrParamRequired("Name"))
6091	}
6092	if s.Name != nil && len(*s.Name) < 1 {
6093		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6094	}
6095
6096	if invalidParams.Len() > 0 {
6097		return invalidParams
6098	}
6099	return nil
6100}
6101
6102// SetName sets the Name field's value.
6103func (s *DeleteProjectInput) SetName(v string) *DeleteProjectInput {
6104	s.Name = &v
6105	return s
6106}
6107
6108type DeleteProjectOutput struct {
6109	_ struct{} `type:"structure"`
6110
6111	// The name of the project that you deleted.
6112	//
6113	// Name is a required field
6114	Name *string `min:"1" type:"string" required:"true"`
6115}
6116
6117// String returns the string representation
6118func (s DeleteProjectOutput) String() string {
6119	return awsutil.Prettify(s)
6120}
6121
6122// GoString returns the string representation
6123func (s DeleteProjectOutput) GoString() string {
6124	return s.String()
6125}
6126
6127// SetName sets the Name field's value.
6128func (s *DeleteProjectOutput) SetName(v string) *DeleteProjectOutput {
6129	s.Name = &v
6130	return s
6131}
6132
6133type DeleteRecipeVersionInput struct {
6134	_ struct{} `type:"structure"`
6135
6136	// The name of the recipe.
6137	//
6138	// Name is a required field
6139	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
6140
6141	// The version of the recipe to be deleted. You can specify a numeric versions
6142	// (X.Y) or LATEST_WORKING. LATEST_PUBLISHED is not supported.
6143	//
6144	// RecipeVersion is a required field
6145	RecipeVersion *string `location:"uri" locationName:"recipeVersion" min:"1" type:"string" required:"true"`
6146}
6147
6148// String returns the string representation
6149func (s DeleteRecipeVersionInput) String() string {
6150	return awsutil.Prettify(s)
6151}
6152
6153// GoString returns the string representation
6154func (s DeleteRecipeVersionInput) GoString() string {
6155	return s.String()
6156}
6157
6158// Validate inspects the fields of the type to determine if they are valid.
6159func (s *DeleteRecipeVersionInput) Validate() error {
6160	invalidParams := request.ErrInvalidParams{Context: "DeleteRecipeVersionInput"}
6161	if s.Name == nil {
6162		invalidParams.Add(request.NewErrParamRequired("Name"))
6163	}
6164	if s.Name != nil && len(*s.Name) < 1 {
6165		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6166	}
6167	if s.RecipeVersion == nil {
6168		invalidParams.Add(request.NewErrParamRequired("RecipeVersion"))
6169	}
6170	if s.RecipeVersion != nil && len(*s.RecipeVersion) < 1 {
6171		invalidParams.Add(request.NewErrParamMinLen("RecipeVersion", 1))
6172	}
6173
6174	if invalidParams.Len() > 0 {
6175		return invalidParams
6176	}
6177	return nil
6178}
6179
6180// SetName sets the Name field's value.
6181func (s *DeleteRecipeVersionInput) SetName(v string) *DeleteRecipeVersionInput {
6182	s.Name = &v
6183	return s
6184}
6185
6186// SetRecipeVersion sets the RecipeVersion field's value.
6187func (s *DeleteRecipeVersionInput) SetRecipeVersion(v string) *DeleteRecipeVersionInput {
6188	s.RecipeVersion = &v
6189	return s
6190}
6191
6192type DeleteRecipeVersionOutput struct {
6193	_ struct{} `type:"structure"`
6194
6195	// The name of the recipe that was deleted.
6196	//
6197	// Name is a required field
6198	Name *string `min:"1" type:"string" required:"true"`
6199
6200	// The version of the recipe that was deleted.
6201	//
6202	// RecipeVersion is a required field
6203	RecipeVersion *string `min:"1" type:"string" required:"true"`
6204}
6205
6206// String returns the string representation
6207func (s DeleteRecipeVersionOutput) String() string {
6208	return awsutil.Prettify(s)
6209}
6210
6211// GoString returns the string representation
6212func (s DeleteRecipeVersionOutput) GoString() string {
6213	return s.String()
6214}
6215
6216// SetName sets the Name field's value.
6217func (s *DeleteRecipeVersionOutput) SetName(v string) *DeleteRecipeVersionOutput {
6218	s.Name = &v
6219	return s
6220}
6221
6222// SetRecipeVersion sets the RecipeVersion field's value.
6223func (s *DeleteRecipeVersionOutput) SetRecipeVersion(v string) *DeleteRecipeVersionOutput {
6224	s.RecipeVersion = &v
6225	return s
6226}
6227
6228type DeleteScheduleInput struct {
6229	_ struct{} `type:"structure"`
6230
6231	// The name of the schedule to be deleted.
6232	//
6233	// Name is a required field
6234	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
6235}
6236
6237// String returns the string representation
6238func (s DeleteScheduleInput) String() string {
6239	return awsutil.Prettify(s)
6240}
6241
6242// GoString returns the string representation
6243func (s DeleteScheduleInput) GoString() string {
6244	return s.String()
6245}
6246
6247// Validate inspects the fields of the type to determine if they are valid.
6248func (s *DeleteScheduleInput) Validate() error {
6249	invalidParams := request.ErrInvalidParams{Context: "DeleteScheduleInput"}
6250	if s.Name == nil {
6251		invalidParams.Add(request.NewErrParamRequired("Name"))
6252	}
6253	if s.Name != nil && len(*s.Name) < 1 {
6254		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6255	}
6256
6257	if invalidParams.Len() > 0 {
6258		return invalidParams
6259	}
6260	return nil
6261}
6262
6263// SetName sets the Name field's value.
6264func (s *DeleteScheduleInput) SetName(v string) *DeleteScheduleInput {
6265	s.Name = &v
6266	return s
6267}
6268
6269type DeleteScheduleOutput struct {
6270	_ struct{} `type:"structure"`
6271
6272	// The name of the schedule that was deleted.
6273	//
6274	// Name is a required field
6275	Name *string `min:"1" type:"string" required:"true"`
6276}
6277
6278// String returns the string representation
6279func (s DeleteScheduleOutput) String() string {
6280	return awsutil.Prettify(s)
6281}
6282
6283// GoString returns the string representation
6284func (s DeleteScheduleOutput) GoString() string {
6285	return s.String()
6286}
6287
6288// SetName sets the Name field's value.
6289func (s *DeleteScheduleOutput) SetName(v string) *DeleteScheduleOutput {
6290	s.Name = &v
6291	return s
6292}
6293
6294type DescribeDatasetInput struct {
6295	_ struct{} `type:"structure"`
6296
6297	// The name of the dataset to be described.
6298	//
6299	// Name is a required field
6300	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
6301}
6302
6303// String returns the string representation
6304func (s DescribeDatasetInput) String() string {
6305	return awsutil.Prettify(s)
6306}
6307
6308// GoString returns the string representation
6309func (s DescribeDatasetInput) GoString() string {
6310	return s.String()
6311}
6312
6313// Validate inspects the fields of the type to determine if they are valid.
6314func (s *DescribeDatasetInput) Validate() error {
6315	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetInput"}
6316	if s.Name == nil {
6317		invalidParams.Add(request.NewErrParamRequired("Name"))
6318	}
6319	if s.Name != nil && len(*s.Name) < 1 {
6320		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6321	}
6322
6323	if invalidParams.Len() > 0 {
6324		return invalidParams
6325	}
6326	return nil
6327}
6328
6329// SetName sets the Name field's value.
6330func (s *DescribeDatasetInput) SetName(v string) *DescribeDatasetInput {
6331	s.Name = &v
6332	return s
6333}
6334
6335type DescribeDatasetOutput struct {
6336	_ struct{} `type:"structure"`
6337
6338	// The date and time that the dataset was created.
6339	CreateDate *time.Time `type:"timestamp"`
6340
6341	// The identifier (user name) of the user who created the dataset.
6342	CreatedBy *string `type:"string"`
6343
6344	// The file format of a dataset that is created from an Amazon S3 file or folder.
6345	Format *string `type:"string" enum:"InputFormat"`
6346
6347	// Represents a set of options that define the structure of either comma-separated
6348	// value (CSV), Excel, or JSON input.
6349	FormatOptions *FormatOptions `type:"structure"`
6350
6351	// Represents information on how DataBrew can find data, in either the Glue
6352	// Data Catalog or Amazon S3.
6353	//
6354	// Input is a required field
6355	Input *Input `type:"structure" required:"true"`
6356
6357	// The identifier (user name) of the user who last modified the dataset.
6358	LastModifiedBy *string `type:"string"`
6359
6360	// The date and time that the dataset was last modified.
6361	LastModifiedDate *time.Time `type:"timestamp"`
6362
6363	// The name of the dataset.
6364	//
6365	// Name is a required field
6366	Name *string `min:"1" type:"string" required:"true"`
6367
6368	// A set of options that defines how DataBrew interprets an Amazon S3 path of
6369	// the dataset.
6370	PathOptions *PathOptions `type:"structure"`
6371
6372	// The Amazon Resource Name (ARN) of the dataset.
6373	ResourceArn *string `min:"20" type:"string"`
6374
6375	// The location of the data for this dataset, Amazon S3 or the Glue Data Catalog.
6376	Source *string `type:"string" enum:"Source"`
6377
6378	// Metadata tags associated with this dataset.
6379	Tags map[string]*string `min:"1" type:"map"`
6380}
6381
6382// String returns the string representation
6383func (s DescribeDatasetOutput) String() string {
6384	return awsutil.Prettify(s)
6385}
6386
6387// GoString returns the string representation
6388func (s DescribeDatasetOutput) GoString() string {
6389	return s.String()
6390}
6391
6392// SetCreateDate sets the CreateDate field's value.
6393func (s *DescribeDatasetOutput) SetCreateDate(v time.Time) *DescribeDatasetOutput {
6394	s.CreateDate = &v
6395	return s
6396}
6397
6398// SetCreatedBy sets the CreatedBy field's value.
6399func (s *DescribeDatasetOutput) SetCreatedBy(v string) *DescribeDatasetOutput {
6400	s.CreatedBy = &v
6401	return s
6402}
6403
6404// SetFormat sets the Format field's value.
6405func (s *DescribeDatasetOutput) SetFormat(v string) *DescribeDatasetOutput {
6406	s.Format = &v
6407	return s
6408}
6409
6410// SetFormatOptions sets the FormatOptions field's value.
6411func (s *DescribeDatasetOutput) SetFormatOptions(v *FormatOptions) *DescribeDatasetOutput {
6412	s.FormatOptions = v
6413	return s
6414}
6415
6416// SetInput sets the Input field's value.
6417func (s *DescribeDatasetOutput) SetInput(v *Input) *DescribeDatasetOutput {
6418	s.Input = v
6419	return s
6420}
6421
6422// SetLastModifiedBy sets the LastModifiedBy field's value.
6423func (s *DescribeDatasetOutput) SetLastModifiedBy(v string) *DescribeDatasetOutput {
6424	s.LastModifiedBy = &v
6425	return s
6426}
6427
6428// SetLastModifiedDate sets the LastModifiedDate field's value.
6429func (s *DescribeDatasetOutput) SetLastModifiedDate(v time.Time) *DescribeDatasetOutput {
6430	s.LastModifiedDate = &v
6431	return s
6432}
6433
6434// SetName sets the Name field's value.
6435func (s *DescribeDatasetOutput) SetName(v string) *DescribeDatasetOutput {
6436	s.Name = &v
6437	return s
6438}
6439
6440// SetPathOptions sets the PathOptions field's value.
6441func (s *DescribeDatasetOutput) SetPathOptions(v *PathOptions) *DescribeDatasetOutput {
6442	s.PathOptions = v
6443	return s
6444}
6445
6446// SetResourceArn sets the ResourceArn field's value.
6447func (s *DescribeDatasetOutput) SetResourceArn(v string) *DescribeDatasetOutput {
6448	s.ResourceArn = &v
6449	return s
6450}
6451
6452// SetSource sets the Source field's value.
6453func (s *DescribeDatasetOutput) SetSource(v string) *DescribeDatasetOutput {
6454	s.Source = &v
6455	return s
6456}
6457
6458// SetTags sets the Tags field's value.
6459func (s *DescribeDatasetOutput) SetTags(v map[string]*string) *DescribeDatasetOutput {
6460	s.Tags = v
6461	return s
6462}
6463
6464type DescribeJobInput struct {
6465	_ struct{} `type:"structure"`
6466
6467	// The name of the job to be described.
6468	//
6469	// Name is a required field
6470	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
6471}
6472
6473// String returns the string representation
6474func (s DescribeJobInput) String() string {
6475	return awsutil.Prettify(s)
6476}
6477
6478// GoString returns the string representation
6479func (s DescribeJobInput) GoString() string {
6480	return s.String()
6481}
6482
6483// Validate inspects the fields of the type to determine if they are valid.
6484func (s *DescribeJobInput) Validate() error {
6485	invalidParams := request.ErrInvalidParams{Context: "DescribeJobInput"}
6486	if s.Name == nil {
6487		invalidParams.Add(request.NewErrParamRequired("Name"))
6488	}
6489	if s.Name != nil && len(*s.Name) < 1 {
6490		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6491	}
6492
6493	if invalidParams.Len() > 0 {
6494		return invalidParams
6495	}
6496	return nil
6497}
6498
6499// SetName sets the Name field's value.
6500func (s *DescribeJobInput) SetName(v string) *DescribeJobInput {
6501	s.Name = &v
6502	return s
6503}
6504
6505type DescribeJobOutput struct {
6506	_ struct{} `type:"structure"`
6507
6508	// The date and time that the job was created.
6509	CreateDate *time.Time `type:"timestamp"`
6510
6511	// The identifier (user name) of the user associated with the creation of the
6512	// job.
6513	CreatedBy *string `type:"string"`
6514
6515	// One or more artifacts that represent the Glue Data Catalog output from running
6516	// the job.
6517	DataCatalogOutputs []*DataCatalogOutput_ `min:"1" type:"list"`
6518
6519	// Represents a list of JDBC database output objects which defines the output
6520	// destination for a DataBrew recipe job to write into.
6521	DatabaseOutputs []*DatabaseOutput_ `min:"1" type:"list"`
6522
6523	// The dataset that the job acts upon.
6524	DatasetName *string `min:"1" type:"string"`
6525
6526	// The Amazon Resource Name (ARN) of an encryption key that is used to protect
6527	// the job.
6528	EncryptionKeyArn *string `min:"20" type:"string"`
6529
6530	// The encryption mode for the job, which can be one of the following:
6531	//
6532	//    * SSE-KMS - Server-side encryption with keys managed by KMS.
6533	//
6534	//    * SSE-S3 - Server-side encryption with keys managed by Amazon S3.
6535	EncryptionMode *string `type:"string" enum:"EncryptionMode"`
6536
6537	// Sample configuration for profile jobs only. Determines the number of rows
6538	// on which the profile job will be executed.
6539	JobSample *JobSample `type:"structure"`
6540
6541	// The identifier (user name) of the user who last modified the job.
6542	LastModifiedBy *string `type:"string"`
6543
6544	// The date and time that the job was last modified.
6545	LastModifiedDate *time.Time `type:"timestamp"`
6546
6547	// Indicates whether Amazon CloudWatch logging is enabled for this job.
6548	LogSubscription *string `type:"string" enum:"LogSubscription"`
6549
6550	// The maximum number of compute nodes that DataBrew can consume when the job
6551	// processes data.
6552	MaxCapacity *int64 `type:"integer"`
6553
6554	// The maximum number of times to retry the job after a job run fails.
6555	MaxRetries *int64 `type:"integer"`
6556
6557	// The name of the job.
6558	//
6559	// Name is a required field
6560	Name *string `min:"1" type:"string" required:"true"`
6561
6562	// One or more artifacts that represent the output from running the job.
6563	Outputs []*Output `min:"1" type:"list"`
6564
6565	// Configuration for profile jobs. Used to select columns, do evaluations, and
6566	// override default parameters of evaluations. When configuration is null, the
6567	// profile job will run with default settings.
6568	ProfileConfiguration *ProfileConfiguration `type:"structure"`
6569
6570	// The DataBrew project associated with this job.
6571	ProjectName *string `min:"1" type:"string"`
6572
6573	// Represents the name and version of a DataBrew recipe.
6574	RecipeReference *RecipeReference `type:"structure"`
6575
6576	// The Amazon Resource Name (ARN) of the job.
6577	ResourceArn *string `min:"20" type:"string"`
6578
6579	// The ARN of the Identity and Access Management (IAM) role to be assumed when
6580	// DataBrew runs the job.
6581	RoleArn *string `min:"20" type:"string"`
6582
6583	// Metadata tags associated with this job.
6584	Tags map[string]*string `min:"1" type:"map"`
6585
6586	// The job's timeout in minutes. A job that attempts to run longer than this
6587	// timeout period ends with a status of TIMEOUT.
6588	Timeout *int64 `type:"integer"`
6589
6590	// The job type, which must be one of the following:
6591	//
6592	//    * PROFILE - The job analyzes the dataset to determine its size, data types,
6593	//    data distribution, and more.
6594	//
6595	//    * RECIPE - The job applies one or more transformations to a dataset.
6596	Type *string `type:"string" enum:"JobType"`
6597}
6598
6599// String returns the string representation
6600func (s DescribeJobOutput) String() string {
6601	return awsutil.Prettify(s)
6602}
6603
6604// GoString returns the string representation
6605func (s DescribeJobOutput) GoString() string {
6606	return s.String()
6607}
6608
6609// SetCreateDate sets the CreateDate field's value.
6610func (s *DescribeJobOutput) SetCreateDate(v time.Time) *DescribeJobOutput {
6611	s.CreateDate = &v
6612	return s
6613}
6614
6615// SetCreatedBy sets the CreatedBy field's value.
6616func (s *DescribeJobOutput) SetCreatedBy(v string) *DescribeJobOutput {
6617	s.CreatedBy = &v
6618	return s
6619}
6620
6621// SetDataCatalogOutputs sets the DataCatalogOutputs field's value.
6622func (s *DescribeJobOutput) SetDataCatalogOutputs(v []*DataCatalogOutput_) *DescribeJobOutput {
6623	s.DataCatalogOutputs = v
6624	return s
6625}
6626
6627// SetDatabaseOutputs sets the DatabaseOutputs field's value.
6628func (s *DescribeJobOutput) SetDatabaseOutputs(v []*DatabaseOutput_) *DescribeJobOutput {
6629	s.DatabaseOutputs = v
6630	return s
6631}
6632
6633// SetDatasetName sets the DatasetName field's value.
6634func (s *DescribeJobOutput) SetDatasetName(v string) *DescribeJobOutput {
6635	s.DatasetName = &v
6636	return s
6637}
6638
6639// SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
6640func (s *DescribeJobOutput) SetEncryptionKeyArn(v string) *DescribeJobOutput {
6641	s.EncryptionKeyArn = &v
6642	return s
6643}
6644
6645// SetEncryptionMode sets the EncryptionMode field's value.
6646func (s *DescribeJobOutput) SetEncryptionMode(v string) *DescribeJobOutput {
6647	s.EncryptionMode = &v
6648	return s
6649}
6650
6651// SetJobSample sets the JobSample field's value.
6652func (s *DescribeJobOutput) SetJobSample(v *JobSample) *DescribeJobOutput {
6653	s.JobSample = v
6654	return s
6655}
6656
6657// SetLastModifiedBy sets the LastModifiedBy field's value.
6658func (s *DescribeJobOutput) SetLastModifiedBy(v string) *DescribeJobOutput {
6659	s.LastModifiedBy = &v
6660	return s
6661}
6662
6663// SetLastModifiedDate sets the LastModifiedDate field's value.
6664func (s *DescribeJobOutput) SetLastModifiedDate(v time.Time) *DescribeJobOutput {
6665	s.LastModifiedDate = &v
6666	return s
6667}
6668
6669// SetLogSubscription sets the LogSubscription field's value.
6670func (s *DescribeJobOutput) SetLogSubscription(v string) *DescribeJobOutput {
6671	s.LogSubscription = &v
6672	return s
6673}
6674
6675// SetMaxCapacity sets the MaxCapacity field's value.
6676func (s *DescribeJobOutput) SetMaxCapacity(v int64) *DescribeJobOutput {
6677	s.MaxCapacity = &v
6678	return s
6679}
6680
6681// SetMaxRetries sets the MaxRetries field's value.
6682func (s *DescribeJobOutput) SetMaxRetries(v int64) *DescribeJobOutput {
6683	s.MaxRetries = &v
6684	return s
6685}
6686
6687// SetName sets the Name field's value.
6688func (s *DescribeJobOutput) SetName(v string) *DescribeJobOutput {
6689	s.Name = &v
6690	return s
6691}
6692
6693// SetOutputs sets the Outputs field's value.
6694func (s *DescribeJobOutput) SetOutputs(v []*Output) *DescribeJobOutput {
6695	s.Outputs = v
6696	return s
6697}
6698
6699// SetProfileConfiguration sets the ProfileConfiguration field's value.
6700func (s *DescribeJobOutput) SetProfileConfiguration(v *ProfileConfiguration) *DescribeJobOutput {
6701	s.ProfileConfiguration = v
6702	return s
6703}
6704
6705// SetProjectName sets the ProjectName field's value.
6706func (s *DescribeJobOutput) SetProjectName(v string) *DescribeJobOutput {
6707	s.ProjectName = &v
6708	return s
6709}
6710
6711// SetRecipeReference sets the RecipeReference field's value.
6712func (s *DescribeJobOutput) SetRecipeReference(v *RecipeReference) *DescribeJobOutput {
6713	s.RecipeReference = v
6714	return s
6715}
6716
6717// SetResourceArn sets the ResourceArn field's value.
6718func (s *DescribeJobOutput) SetResourceArn(v string) *DescribeJobOutput {
6719	s.ResourceArn = &v
6720	return s
6721}
6722
6723// SetRoleArn sets the RoleArn field's value.
6724func (s *DescribeJobOutput) SetRoleArn(v string) *DescribeJobOutput {
6725	s.RoleArn = &v
6726	return s
6727}
6728
6729// SetTags sets the Tags field's value.
6730func (s *DescribeJobOutput) SetTags(v map[string]*string) *DescribeJobOutput {
6731	s.Tags = v
6732	return s
6733}
6734
6735// SetTimeout sets the Timeout field's value.
6736func (s *DescribeJobOutput) SetTimeout(v int64) *DescribeJobOutput {
6737	s.Timeout = &v
6738	return s
6739}
6740
6741// SetType sets the Type field's value.
6742func (s *DescribeJobOutput) SetType(v string) *DescribeJobOutput {
6743	s.Type = &v
6744	return s
6745}
6746
6747type DescribeJobRunInput struct {
6748	_ struct{} `type:"structure"`
6749
6750	// The name of the job being processed during this run.
6751	//
6752	// Name is a required field
6753	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
6754
6755	// The unique identifier of the job run.
6756	//
6757	// RunId is a required field
6758	RunId *string `location:"uri" locationName:"runId" min:"1" type:"string" required:"true"`
6759}
6760
6761// String returns the string representation
6762func (s DescribeJobRunInput) String() string {
6763	return awsutil.Prettify(s)
6764}
6765
6766// GoString returns the string representation
6767func (s DescribeJobRunInput) GoString() string {
6768	return s.String()
6769}
6770
6771// Validate inspects the fields of the type to determine if they are valid.
6772func (s *DescribeJobRunInput) Validate() error {
6773	invalidParams := request.ErrInvalidParams{Context: "DescribeJobRunInput"}
6774	if s.Name == nil {
6775		invalidParams.Add(request.NewErrParamRequired("Name"))
6776	}
6777	if s.Name != nil && len(*s.Name) < 1 {
6778		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6779	}
6780	if s.RunId == nil {
6781		invalidParams.Add(request.NewErrParamRequired("RunId"))
6782	}
6783	if s.RunId != nil && len(*s.RunId) < 1 {
6784		invalidParams.Add(request.NewErrParamMinLen("RunId", 1))
6785	}
6786
6787	if invalidParams.Len() > 0 {
6788		return invalidParams
6789	}
6790	return nil
6791}
6792
6793// SetName sets the Name field's value.
6794func (s *DescribeJobRunInput) SetName(v string) *DescribeJobRunInput {
6795	s.Name = &v
6796	return s
6797}
6798
6799// SetRunId sets the RunId field's value.
6800func (s *DescribeJobRunInput) SetRunId(v string) *DescribeJobRunInput {
6801	s.RunId = &v
6802	return s
6803}
6804
6805type DescribeJobRunOutput struct {
6806	_ struct{} `type:"structure"`
6807
6808	// The number of times that DataBrew has attempted to run the job.
6809	Attempt *int64 `type:"integer"`
6810
6811	// The date and time when the job completed processing.
6812	CompletedOn *time.Time `type:"timestamp"`
6813
6814	// One or more artifacts that represent the Glue Data Catalog output from running
6815	// the job.
6816	DataCatalogOutputs []*DataCatalogOutput_ `min:"1" type:"list"`
6817
6818	// Represents a list of JDBC database output objects which defines the output
6819	// destination for a DataBrew recipe job to write into.
6820	DatabaseOutputs []*DatabaseOutput_ `min:"1" type:"list"`
6821
6822	// The name of the dataset for the job to process.
6823	DatasetName *string `min:"1" type:"string"`
6824
6825	// A message indicating an error (if any) that was encountered when the job
6826	// ran.
6827	ErrorMessage *string `type:"string"`
6828
6829	// The amount of time, in seconds, during which the job run consumed resources.
6830	ExecutionTime *int64 `type:"integer"`
6831
6832	// The name of the job being processed during this run.
6833	//
6834	// JobName is a required field
6835	JobName *string `min:"1" type:"string" required:"true"`
6836
6837	// Sample configuration for profile jobs only. Determines the number of rows
6838	// on which the profile job will be executed. If a JobSample value is not provided,
6839	// the default value will be used. The default value is CUSTOM_ROWS for the
6840	// mode parameter and 20000 for the size parameter.
6841	JobSample *JobSample `type:"structure"`
6842
6843	// The name of an Amazon CloudWatch log group, where the job writes diagnostic
6844	// messages when it runs.
6845	LogGroupName *string `min:"1" type:"string"`
6846
6847	// The current status of Amazon CloudWatch logging for the job run.
6848	LogSubscription *string `type:"string" enum:"LogSubscription"`
6849
6850	// One or more output artifacts from a job run.
6851	Outputs []*Output `min:"1" type:"list"`
6852
6853	// Configuration for profile jobs. Used to select columns, do evaluations, and
6854	// override default parameters of evaluations. When configuration is null, the
6855	// profile job will run with default settings.
6856	ProfileConfiguration *ProfileConfiguration `type:"structure"`
6857
6858	// Represents the name and version of a DataBrew recipe.
6859	RecipeReference *RecipeReference `type:"structure"`
6860
6861	// The unique identifier of the job run.
6862	RunId *string `min:"1" type:"string"`
6863
6864	// The Amazon Resource Name (ARN) of the user who started the job run.
6865	StartedBy *string `type:"string"`
6866
6867	// The date and time when the job run began.
6868	StartedOn *time.Time `type:"timestamp"`
6869
6870	// The current state of the job run entity itself.
6871	State *string `type:"string" enum:"JobRunState"`
6872}
6873
6874// String returns the string representation
6875func (s DescribeJobRunOutput) String() string {
6876	return awsutil.Prettify(s)
6877}
6878
6879// GoString returns the string representation
6880func (s DescribeJobRunOutput) GoString() string {
6881	return s.String()
6882}
6883
6884// SetAttempt sets the Attempt field's value.
6885func (s *DescribeJobRunOutput) SetAttempt(v int64) *DescribeJobRunOutput {
6886	s.Attempt = &v
6887	return s
6888}
6889
6890// SetCompletedOn sets the CompletedOn field's value.
6891func (s *DescribeJobRunOutput) SetCompletedOn(v time.Time) *DescribeJobRunOutput {
6892	s.CompletedOn = &v
6893	return s
6894}
6895
6896// SetDataCatalogOutputs sets the DataCatalogOutputs field's value.
6897func (s *DescribeJobRunOutput) SetDataCatalogOutputs(v []*DataCatalogOutput_) *DescribeJobRunOutput {
6898	s.DataCatalogOutputs = v
6899	return s
6900}
6901
6902// SetDatabaseOutputs sets the DatabaseOutputs field's value.
6903func (s *DescribeJobRunOutput) SetDatabaseOutputs(v []*DatabaseOutput_) *DescribeJobRunOutput {
6904	s.DatabaseOutputs = v
6905	return s
6906}
6907
6908// SetDatasetName sets the DatasetName field's value.
6909func (s *DescribeJobRunOutput) SetDatasetName(v string) *DescribeJobRunOutput {
6910	s.DatasetName = &v
6911	return s
6912}
6913
6914// SetErrorMessage sets the ErrorMessage field's value.
6915func (s *DescribeJobRunOutput) SetErrorMessage(v string) *DescribeJobRunOutput {
6916	s.ErrorMessage = &v
6917	return s
6918}
6919
6920// SetExecutionTime sets the ExecutionTime field's value.
6921func (s *DescribeJobRunOutput) SetExecutionTime(v int64) *DescribeJobRunOutput {
6922	s.ExecutionTime = &v
6923	return s
6924}
6925
6926// SetJobName sets the JobName field's value.
6927func (s *DescribeJobRunOutput) SetJobName(v string) *DescribeJobRunOutput {
6928	s.JobName = &v
6929	return s
6930}
6931
6932// SetJobSample sets the JobSample field's value.
6933func (s *DescribeJobRunOutput) SetJobSample(v *JobSample) *DescribeJobRunOutput {
6934	s.JobSample = v
6935	return s
6936}
6937
6938// SetLogGroupName sets the LogGroupName field's value.
6939func (s *DescribeJobRunOutput) SetLogGroupName(v string) *DescribeJobRunOutput {
6940	s.LogGroupName = &v
6941	return s
6942}
6943
6944// SetLogSubscription sets the LogSubscription field's value.
6945func (s *DescribeJobRunOutput) SetLogSubscription(v string) *DescribeJobRunOutput {
6946	s.LogSubscription = &v
6947	return s
6948}
6949
6950// SetOutputs sets the Outputs field's value.
6951func (s *DescribeJobRunOutput) SetOutputs(v []*Output) *DescribeJobRunOutput {
6952	s.Outputs = v
6953	return s
6954}
6955
6956// SetProfileConfiguration sets the ProfileConfiguration field's value.
6957func (s *DescribeJobRunOutput) SetProfileConfiguration(v *ProfileConfiguration) *DescribeJobRunOutput {
6958	s.ProfileConfiguration = v
6959	return s
6960}
6961
6962// SetRecipeReference sets the RecipeReference field's value.
6963func (s *DescribeJobRunOutput) SetRecipeReference(v *RecipeReference) *DescribeJobRunOutput {
6964	s.RecipeReference = v
6965	return s
6966}
6967
6968// SetRunId sets the RunId field's value.
6969func (s *DescribeJobRunOutput) SetRunId(v string) *DescribeJobRunOutput {
6970	s.RunId = &v
6971	return s
6972}
6973
6974// SetStartedBy sets the StartedBy field's value.
6975func (s *DescribeJobRunOutput) SetStartedBy(v string) *DescribeJobRunOutput {
6976	s.StartedBy = &v
6977	return s
6978}
6979
6980// SetStartedOn sets the StartedOn field's value.
6981func (s *DescribeJobRunOutput) SetStartedOn(v time.Time) *DescribeJobRunOutput {
6982	s.StartedOn = &v
6983	return s
6984}
6985
6986// SetState sets the State field's value.
6987func (s *DescribeJobRunOutput) SetState(v string) *DescribeJobRunOutput {
6988	s.State = &v
6989	return s
6990}
6991
6992type DescribeProjectInput struct {
6993	_ struct{} `type:"structure"`
6994
6995	// The name of the project to be described.
6996	//
6997	// Name is a required field
6998	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
6999}
7000
7001// String returns the string representation
7002func (s DescribeProjectInput) String() string {
7003	return awsutil.Prettify(s)
7004}
7005
7006// GoString returns the string representation
7007func (s DescribeProjectInput) GoString() string {
7008	return s.String()
7009}
7010
7011// Validate inspects the fields of the type to determine if they are valid.
7012func (s *DescribeProjectInput) Validate() error {
7013	invalidParams := request.ErrInvalidParams{Context: "DescribeProjectInput"}
7014	if s.Name == nil {
7015		invalidParams.Add(request.NewErrParamRequired("Name"))
7016	}
7017	if s.Name != nil && len(*s.Name) < 1 {
7018		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7019	}
7020
7021	if invalidParams.Len() > 0 {
7022		return invalidParams
7023	}
7024	return nil
7025}
7026
7027// SetName sets the Name field's value.
7028func (s *DescribeProjectInput) SetName(v string) *DescribeProjectInput {
7029	s.Name = &v
7030	return s
7031}
7032
7033type DescribeProjectOutput struct {
7034	_ struct{} `type:"structure"`
7035
7036	// The date and time that the project was created.
7037	CreateDate *time.Time `type:"timestamp"`
7038
7039	// The identifier (user name) of the user who created the project.
7040	CreatedBy *string `type:"string"`
7041
7042	// The dataset associated with the project.
7043	DatasetName *string `min:"1" type:"string"`
7044
7045	// The identifier (user name) of the user who last modified the project.
7046	LastModifiedBy *string `type:"string"`
7047
7048	// The date and time that the project was last modified.
7049	LastModifiedDate *time.Time `type:"timestamp"`
7050
7051	// The name of the project.
7052	//
7053	// Name is a required field
7054	Name *string `min:"1" type:"string" required:"true"`
7055
7056	// The date and time when the project was opened.
7057	OpenDate *time.Time `type:"timestamp"`
7058
7059	// The identifier (user name) of the user that opened the project for use.
7060	OpenedBy *string `type:"string"`
7061
7062	// The recipe associated with this job.
7063	RecipeName *string `min:"1" type:"string"`
7064
7065	// The Amazon Resource Name (ARN) of the project.
7066	ResourceArn *string `min:"20" type:"string"`
7067
7068	// The ARN of the Identity and Access Management (IAM) role to be assumed when
7069	// DataBrew runs the job.
7070	RoleArn *string `min:"20" type:"string"`
7071
7072	// Represents the sample size and sampling type for DataBrew to use for interactive
7073	// data analysis.
7074	Sample *Sample `type:"structure"`
7075
7076	// Describes the current state of the session:
7077	//
7078	//    * PROVISIONING - allocating resources for the session.
7079	//
7080	//    * INITIALIZING - getting the session ready for first use.
7081	//
7082	//    * ASSIGNED - the session is ready for use.
7083	SessionStatus *string `type:"string" enum:"SessionStatus"`
7084
7085	// Metadata tags associated with this project.
7086	Tags map[string]*string `min:"1" type:"map"`
7087}
7088
7089// String returns the string representation
7090func (s DescribeProjectOutput) String() string {
7091	return awsutil.Prettify(s)
7092}
7093
7094// GoString returns the string representation
7095func (s DescribeProjectOutput) GoString() string {
7096	return s.String()
7097}
7098
7099// SetCreateDate sets the CreateDate field's value.
7100func (s *DescribeProjectOutput) SetCreateDate(v time.Time) *DescribeProjectOutput {
7101	s.CreateDate = &v
7102	return s
7103}
7104
7105// SetCreatedBy sets the CreatedBy field's value.
7106func (s *DescribeProjectOutput) SetCreatedBy(v string) *DescribeProjectOutput {
7107	s.CreatedBy = &v
7108	return s
7109}
7110
7111// SetDatasetName sets the DatasetName field's value.
7112func (s *DescribeProjectOutput) SetDatasetName(v string) *DescribeProjectOutput {
7113	s.DatasetName = &v
7114	return s
7115}
7116
7117// SetLastModifiedBy sets the LastModifiedBy field's value.
7118func (s *DescribeProjectOutput) SetLastModifiedBy(v string) *DescribeProjectOutput {
7119	s.LastModifiedBy = &v
7120	return s
7121}
7122
7123// SetLastModifiedDate sets the LastModifiedDate field's value.
7124func (s *DescribeProjectOutput) SetLastModifiedDate(v time.Time) *DescribeProjectOutput {
7125	s.LastModifiedDate = &v
7126	return s
7127}
7128
7129// SetName sets the Name field's value.
7130func (s *DescribeProjectOutput) SetName(v string) *DescribeProjectOutput {
7131	s.Name = &v
7132	return s
7133}
7134
7135// SetOpenDate sets the OpenDate field's value.
7136func (s *DescribeProjectOutput) SetOpenDate(v time.Time) *DescribeProjectOutput {
7137	s.OpenDate = &v
7138	return s
7139}
7140
7141// SetOpenedBy sets the OpenedBy field's value.
7142func (s *DescribeProjectOutput) SetOpenedBy(v string) *DescribeProjectOutput {
7143	s.OpenedBy = &v
7144	return s
7145}
7146
7147// SetRecipeName sets the RecipeName field's value.
7148func (s *DescribeProjectOutput) SetRecipeName(v string) *DescribeProjectOutput {
7149	s.RecipeName = &v
7150	return s
7151}
7152
7153// SetResourceArn sets the ResourceArn field's value.
7154func (s *DescribeProjectOutput) SetResourceArn(v string) *DescribeProjectOutput {
7155	s.ResourceArn = &v
7156	return s
7157}
7158
7159// SetRoleArn sets the RoleArn field's value.
7160func (s *DescribeProjectOutput) SetRoleArn(v string) *DescribeProjectOutput {
7161	s.RoleArn = &v
7162	return s
7163}
7164
7165// SetSample sets the Sample field's value.
7166func (s *DescribeProjectOutput) SetSample(v *Sample) *DescribeProjectOutput {
7167	s.Sample = v
7168	return s
7169}
7170
7171// SetSessionStatus sets the SessionStatus field's value.
7172func (s *DescribeProjectOutput) SetSessionStatus(v string) *DescribeProjectOutput {
7173	s.SessionStatus = &v
7174	return s
7175}
7176
7177// SetTags sets the Tags field's value.
7178func (s *DescribeProjectOutput) SetTags(v map[string]*string) *DescribeProjectOutput {
7179	s.Tags = v
7180	return s
7181}
7182
7183type DescribeRecipeInput struct {
7184	_ struct{} `type:"structure"`
7185
7186	// The name of the recipe to be described.
7187	//
7188	// Name is a required field
7189	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
7190
7191	// The recipe version identifier. If this parameter isn't specified, then the
7192	// latest published version is returned.
7193	RecipeVersion *string `location:"querystring" locationName:"recipeVersion" min:"1" type:"string"`
7194}
7195
7196// String returns the string representation
7197func (s DescribeRecipeInput) String() string {
7198	return awsutil.Prettify(s)
7199}
7200
7201// GoString returns the string representation
7202func (s DescribeRecipeInput) GoString() string {
7203	return s.String()
7204}
7205
7206// Validate inspects the fields of the type to determine if they are valid.
7207func (s *DescribeRecipeInput) Validate() error {
7208	invalidParams := request.ErrInvalidParams{Context: "DescribeRecipeInput"}
7209	if s.Name == nil {
7210		invalidParams.Add(request.NewErrParamRequired("Name"))
7211	}
7212	if s.Name != nil && len(*s.Name) < 1 {
7213		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7214	}
7215	if s.RecipeVersion != nil && len(*s.RecipeVersion) < 1 {
7216		invalidParams.Add(request.NewErrParamMinLen("RecipeVersion", 1))
7217	}
7218
7219	if invalidParams.Len() > 0 {
7220		return invalidParams
7221	}
7222	return nil
7223}
7224
7225// SetName sets the Name field's value.
7226func (s *DescribeRecipeInput) SetName(v string) *DescribeRecipeInput {
7227	s.Name = &v
7228	return s
7229}
7230
7231// SetRecipeVersion sets the RecipeVersion field's value.
7232func (s *DescribeRecipeInput) SetRecipeVersion(v string) *DescribeRecipeInput {
7233	s.RecipeVersion = &v
7234	return s
7235}
7236
7237type DescribeRecipeOutput struct {
7238	_ struct{} `type:"structure"`
7239
7240	// The date and time that the recipe was created.
7241	CreateDate *time.Time `type:"timestamp"`
7242
7243	// The identifier (user name) of the user who created the recipe.
7244	CreatedBy *string `type:"string"`
7245
7246	// The description of the recipe.
7247	Description *string `type:"string"`
7248
7249	// The identifier (user name) of the user who last modified the recipe.
7250	LastModifiedBy *string `type:"string"`
7251
7252	// The date and time that the recipe was last modified.
7253	LastModifiedDate *time.Time `type:"timestamp"`
7254
7255	// The name of the recipe.
7256	//
7257	// Name is a required field
7258	Name *string `min:"1" type:"string" required:"true"`
7259
7260	// The name of the project associated with this recipe.
7261	ProjectName *string `min:"1" type:"string"`
7262
7263	// The identifier (user name) of the user who last published the recipe.
7264	PublishedBy *string `type:"string"`
7265
7266	// The date and time when the recipe was last published.
7267	PublishedDate *time.Time `type:"timestamp"`
7268
7269	// The recipe version identifier.
7270	RecipeVersion *string `min:"1" type:"string"`
7271
7272	// The ARN of the recipe.
7273	ResourceArn *string `min:"20" type:"string"`
7274
7275	// One or more steps to be performed by the recipe. Each step consists of an
7276	// action, and the conditions under which the action should succeed.
7277	Steps []*RecipeStep `type:"list"`
7278
7279	// Metadata tags associated with this project.
7280	Tags map[string]*string `min:"1" type:"map"`
7281}
7282
7283// String returns the string representation
7284func (s DescribeRecipeOutput) String() string {
7285	return awsutil.Prettify(s)
7286}
7287
7288// GoString returns the string representation
7289func (s DescribeRecipeOutput) GoString() string {
7290	return s.String()
7291}
7292
7293// SetCreateDate sets the CreateDate field's value.
7294func (s *DescribeRecipeOutput) SetCreateDate(v time.Time) *DescribeRecipeOutput {
7295	s.CreateDate = &v
7296	return s
7297}
7298
7299// SetCreatedBy sets the CreatedBy field's value.
7300func (s *DescribeRecipeOutput) SetCreatedBy(v string) *DescribeRecipeOutput {
7301	s.CreatedBy = &v
7302	return s
7303}
7304
7305// SetDescription sets the Description field's value.
7306func (s *DescribeRecipeOutput) SetDescription(v string) *DescribeRecipeOutput {
7307	s.Description = &v
7308	return s
7309}
7310
7311// SetLastModifiedBy sets the LastModifiedBy field's value.
7312func (s *DescribeRecipeOutput) SetLastModifiedBy(v string) *DescribeRecipeOutput {
7313	s.LastModifiedBy = &v
7314	return s
7315}
7316
7317// SetLastModifiedDate sets the LastModifiedDate field's value.
7318func (s *DescribeRecipeOutput) SetLastModifiedDate(v time.Time) *DescribeRecipeOutput {
7319	s.LastModifiedDate = &v
7320	return s
7321}
7322
7323// SetName sets the Name field's value.
7324func (s *DescribeRecipeOutput) SetName(v string) *DescribeRecipeOutput {
7325	s.Name = &v
7326	return s
7327}
7328
7329// SetProjectName sets the ProjectName field's value.
7330func (s *DescribeRecipeOutput) SetProjectName(v string) *DescribeRecipeOutput {
7331	s.ProjectName = &v
7332	return s
7333}
7334
7335// SetPublishedBy sets the PublishedBy field's value.
7336func (s *DescribeRecipeOutput) SetPublishedBy(v string) *DescribeRecipeOutput {
7337	s.PublishedBy = &v
7338	return s
7339}
7340
7341// SetPublishedDate sets the PublishedDate field's value.
7342func (s *DescribeRecipeOutput) SetPublishedDate(v time.Time) *DescribeRecipeOutput {
7343	s.PublishedDate = &v
7344	return s
7345}
7346
7347// SetRecipeVersion sets the RecipeVersion field's value.
7348func (s *DescribeRecipeOutput) SetRecipeVersion(v string) *DescribeRecipeOutput {
7349	s.RecipeVersion = &v
7350	return s
7351}
7352
7353// SetResourceArn sets the ResourceArn field's value.
7354func (s *DescribeRecipeOutput) SetResourceArn(v string) *DescribeRecipeOutput {
7355	s.ResourceArn = &v
7356	return s
7357}
7358
7359// SetSteps sets the Steps field's value.
7360func (s *DescribeRecipeOutput) SetSteps(v []*RecipeStep) *DescribeRecipeOutput {
7361	s.Steps = v
7362	return s
7363}
7364
7365// SetTags sets the Tags field's value.
7366func (s *DescribeRecipeOutput) SetTags(v map[string]*string) *DescribeRecipeOutput {
7367	s.Tags = v
7368	return s
7369}
7370
7371type DescribeScheduleInput struct {
7372	_ struct{} `type:"structure"`
7373
7374	// The name of the schedule to be described.
7375	//
7376	// Name is a required field
7377	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
7378}
7379
7380// String returns the string representation
7381func (s DescribeScheduleInput) String() string {
7382	return awsutil.Prettify(s)
7383}
7384
7385// GoString returns the string representation
7386func (s DescribeScheduleInput) GoString() string {
7387	return s.String()
7388}
7389
7390// Validate inspects the fields of the type to determine if they are valid.
7391func (s *DescribeScheduleInput) Validate() error {
7392	invalidParams := request.ErrInvalidParams{Context: "DescribeScheduleInput"}
7393	if s.Name == nil {
7394		invalidParams.Add(request.NewErrParamRequired("Name"))
7395	}
7396	if s.Name != nil && len(*s.Name) < 1 {
7397		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7398	}
7399
7400	if invalidParams.Len() > 0 {
7401		return invalidParams
7402	}
7403	return nil
7404}
7405
7406// SetName sets the Name field's value.
7407func (s *DescribeScheduleInput) SetName(v string) *DescribeScheduleInput {
7408	s.Name = &v
7409	return s
7410}
7411
7412type DescribeScheduleOutput struct {
7413	_ struct{} `type:"structure"`
7414
7415	// The date and time that the schedule was created.
7416	CreateDate *time.Time `type:"timestamp"`
7417
7418	// The identifier (user name) of the user who created the schedule.
7419	CreatedBy *string `type:"string"`
7420
7421	// The date or dates and time or times when the jobs are to be run for the schedule.
7422	// For more information, see Cron expressions (https://docs.aws.amazon.com/databrew/latest/dg/jobs.cron.html)
7423	// in the Glue DataBrew Developer Guide.
7424	CronExpression *string `min:"1" type:"string"`
7425
7426	// The name or names of one or more jobs to be run by using the schedule.
7427	JobNames []*string `type:"list"`
7428
7429	// The identifier (user name) of the user who last modified the schedule.
7430	LastModifiedBy *string `type:"string"`
7431
7432	// The date and time that the schedule was last modified.
7433	LastModifiedDate *time.Time `type:"timestamp"`
7434
7435	// The name of the schedule.
7436	//
7437	// Name is a required field
7438	Name *string `min:"1" type:"string" required:"true"`
7439
7440	// The Amazon Resource Name (ARN) of the schedule.
7441	ResourceArn *string `min:"20" type:"string"`
7442
7443	// Metadata tags associated with this schedule.
7444	Tags map[string]*string `min:"1" type:"map"`
7445}
7446
7447// String returns the string representation
7448func (s DescribeScheduleOutput) String() string {
7449	return awsutil.Prettify(s)
7450}
7451
7452// GoString returns the string representation
7453func (s DescribeScheduleOutput) GoString() string {
7454	return s.String()
7455}
7456
7457// SetCreateDate sets the CreateDate field's value.
7458func (s *DescribeScheduleOutput) SetCreateDate(v time.Time) *DescribeScheduleOutput {
7459	s.CreateDate = &v
7460	return s
7461}
7462
7463// SetCreatedBy sets the CreatedBy field's value.
7464func (s *DescribeScheduleOutput) SetCreatedBy(v string) *DescribeScheduleOutput {
7465	s.CreatedBy = &v
7466	return s
7467}
7468
7469// SetCronExpression sets the CronExpression field's value.
7470func (s *DescribeScheduleOutput) SetCronExpression(v string) *DescribeScheduleOutput {
7471	s.CronExpression = &v
7472	return s
7473}
7474
7475// SetJobNames sets the JobNames field's value.
7476func (s *DescribeScheduleOutput) SetJobNames(v []*string) *DescribeScheduleOutput {
7477	s.JobNames = v
7478	return s
7479}
7480
7481// SetLastModifiedBy sets the LastModifiedBy field's value.
7482func (s *DescribeScheduleOutput) SetLastModifiedBy(v string) *DescribeScheduleOutput {
7483	s.LastModifiedBy = &v
7484	return s
7485}
7486
7487// SetLastModifiedDate sets the LastModifiedDate field's value.
7488func (s *DescribeScheduleOutput) SetLastModifiedDate(v time.Time) *DescribeScheduleOutput {
7489	s.LastModifiedDate = &v
7490	return s
7491}
7492
7493// SetName sets the Name field's value.
7494func (s *DescribeScheduleOutput) SetName(v string) *DescribeScheduleOutput {
7495	s.Name = &v
7496	return s
7497}
7498
7499// SetResourceArn sets the ResourceArn field's value.
7500func (s *DescribeScheduleOutput) SetResourceArn(v string) *DescribeScheduleOutput {
7501	s.ResourceArn = &v
7502	return s
7503}
7504
7505// SetTags sets the Tags field's value.
7506func (s *DescribeScheduleOutput) SetTags(v map[string]*string) *DescribeScheduleOutput {
7507	s.Tags = v
7508	return s
7509}
7510
7511// Represents a set of options that define how DataBrew will interpret a Microsoft
7512// Excel file when creating a dataset from that file.
7513type ExcelOptions struct {
7514	_ struct{} `type:"structure"`
7515
7516	// A variable that specifies whether the first row in the file is parsed as
7517	// the header. If this value is false, column names are auto-generated.
7518	HeaderRow *bool `type:"boolean"`
7519
7520	// One or more sheet numbers in the Excel file that will be included in the
7521	// dataset.
7522	SheetIndexes []*int64 `min:"1" type:"list"`
7523
7524	// One or more named sheets in the Excel file that will be included in the dataset.
7525	SheetNames []*string `min:"1" type:"list"`
7526}
7527
7528// String returns the string representation
7529func (s ExcelOptions) String() string {
7530	return awsutil.Prettify(s)
7531}
7532
7533// GoString returns the string representation
7534func (s ExcelOptions) GoString() string {
7535	return s.String()
7536}
7537
7538// Validate inspects the fields of the type to determine if they are valid.
7539func (s *ExcelOptions) Validate() error {
7540	invalidParams := request.ErrInvalidParams{Context: "ExcelOptions"}
7541	if s.SheetIndexes != nil && len(s.SheetIndexes) < 1 {
7542		invalidParams.Add(request.NewErrParamMinLen("SheetIndexes", 1))
7543	}
7544	if s.SheetNames != nil && len(s.SheetNames) < 1 {
7545		invalidParams.Add(request.NewErrParamMinLen("SheetNames", 1))
7546	}
7547
7548	if invalidParams.Len() > 0 {
7549		return invalidParams
7550	}
7551	return nil
7552}
7553
7554// SetHeaderRow sets the HeaderRow field's value.
7555func (s *ExcelOptions) SetHeaderRow(v bool) *ExcelOptions {
7556	s.HeaderRow = &v
7557	return s
7558}
7559
7560// SetSheetIndexes sets the SheetIndexes field's value.
7561func (s *ExcelOptions) SetSheetIndexes(v []*int64) *ExcelOptions {
7562	s.SheetIndexes = v
7563	return s
7564}
7565
7566// SetSheetNames sets the SheetNames field's value.
7567func (s *ExcelOptions) SetSheetNames(v []*string) *ExcelOptions {
7568	s.SheetNames = v
7569	return s
7570}
7571
7572// Represents a limit imposed on number of Amazon S3 files that should be selected
7573// for a dataset from a connected Amazon S3 path.
7574type FilesLimit struct {
7575	_ struct{} `type:"structure"`
7576
7577	// The number of Amazon S3 files to select.
7578	//
7579	// MaxFiles is a required field
7580	MaxFiles *int64 `min:"1" type:"integer" required:"true"`
7581
7582	// A criteria to use for Amazon S3 files sorting before their selection. By
7583	// default uses DESCENDING order, i.e. most recent files are selected first.
7584	// Anotherpossible value is ASCENDING.
7585	Order *string `type:"string" enum:"Order"`
7586
7587	// A criteria to use for Amazon S3 files sorting before their selection. By
7588	// default uses LAST_MODIFIED_DATE as a sorting criteria. Currently it's the
7589	// only allowed value.
7590	OrderedBy *string `type:"string" enum:"OrderedBy"`
7591}
7592
7593// String returns the string representation
7594func (s FilesLimit) String() string {
7595	return awsutil.Prettify(s)
7596}
7597
7598// GoString returns the string representation
7599func (s FilesLimit) GoString() string {
7600	return s.String()
7601}
7602
7603// Validate inspects the fields of the type to determine if they are valid.
7604func (s *FilesLimit) Validate() error {
7605	invalidParams := request.ErrInvalidParams{Context: "FilesLimit"}
7606	if s.MaxFiles == nil {
7607		invalidParams.Add(request.NewErrParamRequired("MaxFiles"))
7608	}
7609	if s.MaxFiles != nil && *s.MaxFiles < 1 {
7610		invalidParams.Add(request.NewErrParamMinValue("MaxFiles", 1))
7611	}
7612
7613	if invalidParams.Len() > 0 {
7614		return invalidParams
7615	}
7616	return nil
7617}
7618
7619// SetMaxFiles sets the MaxFiles field's value.
7620func (s *FilesLimit) SetMaxFiles(v int64) *FilesLimit {
7621	s.MaxFiles = &v
7622	return s
7623}
7624
7625// SetOrder sets the Order field's value.
7626func (s *FilesLimit) SetOrder(v string) *FilesLimit {
7627	s.Order = &v
7628	return s
7629}
7630
7631// SetOrderedBy sets the OrderedBy field's value.
7632func (s *FilesLimit) SetOrderedBy(v string) *FilesLimit {
7633	s.OrderedBy = &v
7634	return s
7635}
7636
7637// Represents a structure for defining parameter conditions. Supported conditions
7638// are described here: Supported conditions for dynamic datasets (https://docs-aws.amazon.com/databrew/latest/dg/datasets.multiple-files.html#conditions.for.dynamic.datasets)
7639// in the Glue DataBrew Developer Guide.
7640type FilterExpression struct {
7641	_ struct{} `type:"structure"`
7642
7643	// The expression which includes condition names followed by substitution variables,
7644	// possibly grouped and combined with other conditions. For example, "(starts_with
7645	// :prefix1 or starts_with :prefix2) and (ends_with :suffix1 or ends_with :suffix2)".
7646	// Substitution variables should start with ':' symbol.
7647	//
7648	// Expression is a required field
7649	Expression *string `min:"4" type:"string" required:"true"`
7650
7651	// The map of substitution variable names to their values used in this filter
7652	// expression.
7653	//
7654	// ValuesMap is a required field
7655	ValuesMap map[string]*string `type:"map" required:"true"`
7656}
7657
7658// String returns the string representation
7659func (s FilterExpression) String() string {
7660	return awsutil.Prettify(s)
7661}
7662
7663// GoString returns the string representation
7664func (s FilterExpression) GoString() string {
7665	return s.String()
7666}
7667
7668// Validate inspects the fields of the type to determine if they are valid.
7669func (s *FilterExpression) Validate() error {
7670	invalidParams := request.ErrInvalidParams{Context: "FilterExpression"}
7671	if s.Expression == nil {
7672		invalidParams.Add(request.NewErrParamRequired("Expression"))
7673	}
7674	if s.Expression != nil && len(*s.Expression) < 4 {
7675		invalidParams.Add(request.NewErrParamMinLen("Expression", 4))
7676	}
7677	if s.ValuesMap == nil {
7678		invalidParams.Add(request.NewErrParamRequired("ValuesMap"))
7679	}
7680
7681	if invalidParams.Len() > 0 {
7682		return invalidParams
7683	}
7684	return nil
7685}
7686
7687// SetExpression sets the Expression field's value.
7688func (s *FilterExpression) SetExpression(v string) *FilterExpression {
7689	s.Expression = &v
7690	return s
7691}
7692
7693// SetValuesMap sets the ValuesMap field's value.
7694func (s *FilterExpression) SetValuesMap(v map[string]*string) *FilterExpression {
7695	s.ValuesMap = v
7696	return s
7697}
7698
7699// Represents a set of options that define the structure of either comma-separated
7700// value (CSV), Excel, or JSON input.
7701type FormatOptions struct {
7702	_ struct{} `type:"structure"`
7703
7704	// Options that define how CSV input is to be interpreted by DataBrew.
7705	Csv *CsvOptions `type:"structure"`
7706
7707	// Options that define how Excel input is to be interpreted by DataBrew.
7708	Excel *ExcelOptions `type:"structure"`
7709
7710	// Options that define how JSON input is to be interpreted by DataBrew.
7711	Json *JsonOptions `type:"structure"`
7712}
7713
7714// String returns the string representation
7715func (s FormatOptions) String() string {
7716	return awsutil.Prettify(s)
7717}
7718
7719// GoString returns the string representation
7720func (s FormatOptions) GoString() string {
7721	return s.String()
7722}
7723
7724// Validate inspects the fields of the type to determine if they are valid.
7725func (s *FormatOptions) Validate() error {
7726	invalidParams := request.ErrInvalidParams{Context: "FormatOptions"}
7727	if s.Csv != nil {
7728		if err := s.Csv.Validate(); err != nil {
7729			invalidParams.AddNested("Csv", err.(request.ErrInvalidParams))
7730		}
7731	}
7732	if s.Excel != nil {
7733		if err := s.Excel.Validate(); err != nil {
7734			invalidParams.AddNested("Excel", err.(request.ErrInvalidParams))
7735		}
7736	}
7737
7738	if invalidParams.Len() > 0 {
7739		return invalidParams
7740	}
7741	return nil
7742}
7743
7744// SetCsv sets the Csv field's value.
7745func (s *FormatOptions) SetCsv(v *CsvOptions) *FormatOptions {
7746	s.Csv = v
7747	return s
7748}
7749
7750// SetExcel sets the Excel field's value.
7751func (s *FormatOptions) SetExcel(v *ExcelOptions) *FormatOptions {
7752	s.Excel = v
7753	return s
7754}
7755
7756// SetJson sets the Json field's value.
7757func (s *FormatOptions) SetJson(v *JsonOptions) *FormatOptions {
7758	s.Json = v
7759	return s
7760}
7761
7762// Represents information on how DataBrew can find data, in either the Glue
7763// Data Catalog or Amazon S3.
7764type Input struct {
7765	_ struct{} `type:"structure"`
7766
7767	// The Glue Data Catalog parameters for the data.
7768	DataCatalogInputDefinition *DataCatalogInputDefinition `type:"structure"`
7769
7770	// Connection information for dataset input files stored in a database.
7771	DatabaseInputDefinition *DatabaseInputDefinition `type:"structure"`
7772
7773	// The Amazon S3 location where the data is stored.
7774	S3InputDefinition *S3Location `type:"structure"`
7775}
7776
7777// String returns the string representation
7778func (s Input) String() string {
7779	return awsutil.Prettify(s)
7780}
7781
7782// GoString returns the string representation
7783func (s Input) GoString() string {
7784	return s.String()
7785}
7786
7787// Validate inspects the fields of the type to determine if they are valid.
7788func (s *Input) Validate() error {
7789	invalidParams := request.ErrInvalidParams{Context: "Input"}
7790	if s.DataCatalogInputDefinition != nil {
7791		if err := s.DataCatalogInputDefinition.Validate(); err != nil {
7792			invalidParams.AddNested("DataCatalogInputDefinition", err.(request.ErrInvalidParams))
7793		}
7794	}
7795	if s.DatabaseInputDefinition != nil {
7796		if err := s.DatabaseInputDefinition.Validate(); err != nil {
7797			invalidParams.AddNested("DatabaseInputDefinition", err.(request.ErrInvalidParams))
7798		}
7799	}
7800	if s.S3InputDefinition != nil {
7801		if err := s.S3InputDefinition.Validate(); err != nil {
7802			invalidParams.AddNested("S3InputDefinition", err.(request.ErrInvalidParams))
7803		}
7804	}
7805
7806	if invalidParams.Len() > 0 {
7807		return invalidParams
7808	}
7809	return nil
7810}
7811
7812// SetDataCatalogInputDefinition sets the DataCatalogInputDefinition field's value.
7813func (s *Input) SetDataCatalogInputDefinition(v *DataCatalogInputDefinition) *Input {
7814	s.DataCatalogInputDefinition = v
7815	return s
7816}
7817
7818// SetDatabaseInputDefinition sets the DatabaseInputDefinition field's value.
7819func (s *Input) SetDatabaseInputDefinition(v *DatabaseInputDefinition) *Input {
7820	s.DatabaseInputDefinition = v
7821	return s
7822}
7823
7824// SetS3InputDefinition sets the S3InputDefinition field's value.
7825func (s *Input) SetS3InputDefinition(v *S3Location) *Input {
7826	s.S3InputDefinition = v
7827	return s
7828}
7829
7830// An internal service failure occurred.
7831type InternalServerException struct {
7832	_            struct{}                  `type:"structure"`
7833	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7834
7835	Message_ *string `locationName:"Message" type:"string"`
7836}
7837
7838// String returns the string representation
7839func (s InternalServerException) String() string {
7840	return awsutil.Prettify(s)
7841}
7842
7843// GoString returns the string representation
7844func (s InternalServerException) GoString() string {
7845	return s.String()
7846}
7847
7848func newErrorInternalServerException(v protocol.ResponseMetadata) error {
7849	return &InternalServerException{
7850		RespMetadata: v,
7851	}
7852}
7853
7854// Code returns the exception type name.
7855func (s *InternalServerException) Code() string {
7856	return "InternalServerException"
7857}
7858
7859// Message returns the exception's message.
7860func (s *InternalServerException) Message() string {
7861	if s.Message_ != nil {
7862		return *s.Message_
7863	}
7864	return ""
7865}
7866
7867// OrigErr always returns nil, satisfies awserr.Error interface.
7868func (s *InternalServerException) OrigErr() error {
7869	return nil
7870}
7871
7872func (s *InternalServerException) Error() string {
7873	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7874}
7875
7876// Status code returns the HTTP status code for the request's response error.
7877func (s *InternalServerException) StatusCode() int {
7878	return s.RespMetadata.StatusCode
7879}
7880
7881// RequestID returns the service's response RequestID for request.
7882func (s *InternalServerException) RequestID() string {
7883	return s.RespMetadata.RequestID
7884}
7885
7886// Represents all of the attributes of a DataBrew job.
7887type Job struct {
7888	_ struct{} `type:"structure"`
7889
7890	// The ID of the Amazon Web Services account that owns the job.
7891	AccountId *string `type:"string"`
7892
7893	// The date and time that the job was created.
7894	CreateDate *time.Time `type:"timestamp"`
7895
7896	// The Amazon Resource Name (ARN) of the user who created the job.
7897	CreatedBy *string `type:"string"`
7898
7899	// One or more artifacts that represent the Glue Data Catalog output from running
7900	// the job.
7901	DataCatalogOutputs []*DataCatalogOutput_ `min:"1" type:"list"`
7902
7903	// Represents a list of JDBC database output objects which defines the output
7904	// destination for a DataBrew recipe job to write into.
7905	DatabaseOutputs []*DatabaseOutput_ `min:"1" type:"list"`
7906
7907	// A dataset that the job is to process.
7908	DatasetName *string `min:"1" type:"string"`
7909
7910	// The Amazon Resource Name (ARN) of an encryption key that is used to protect
7911	// the job output. For more information, see Encrypting data written by DataBrew
7912	// jobs (https://docs.aws.amazon.com/databrew/latest/dg/encryption-security-configuration.html)
7913	EncryptionKeyArn *string `min:"20" type:"string"`
7914
7915	// The encryption mode for the job, which can be one of the following:
7916	//
7917	//    * SSE-KMS - Server-side encryption with keys managed by KMS.
7918	//
7919	//    * SSE-S3 - Server-side encryption with keys managed by Amazon S3.
7920	EncryptionMode *string `type:"string" enum:"EncryptionMode"`
7921
7922	// A sample configuration for profile jobs only, which determines the number
7923	// of rows on which the profile job is run. If a JobSample value isn't provided,
7924	// the default value is used. The default value is CUSTOM_ROWS for the mode
7925	// parameter and 20,000 for the size parameter.
7926	JobSample *JobSample `type:"structure"`
7927
7928	// The Amazon Resource Name (ARN) of the user who last modified the job.
7929	LastModifiedBy *string `type:"string"`
7930
7931	// The modification date and time of the job.
7932	LastModifiedDate *time.Time `type:"timestamp"`
7933
7934	// The current status of Amazon CloudWatch logging for the job.
7935	LogSubscription *string `type:"string" enum:"LogSubscription"`
7936
7937	// The maximum number of nodes that can be consumed when the job processes data.
7938	MaxCapacity *int64 `type:"integer"`
7939
7940	// The maximum number of times to retry the job after a job run fails.
7941	MaxRetries *int64 `type:"integer"`
7942
7943	// The unique name of the job.
7944	//
7945	// Name is a required field
7946	Name *string `min:"1" type:"string" required:"true"`
7947
7948	// One or more artifacts that represent output from running the job.
7949	Outputs []*Output `min:"1" type:"list"`
7950
7951	// The name of the project that the job is associated with.
7952	ProjectName *string `min:"1" type:"string"`
7953
7954	// A set of steps that the job runs.
7955	RecipeReference *RecipeReference `type:"structure"`
7956
7957	// The unique Amazon Resource Name (ARN) for the job.
7958	ResourceArn *string `min:"20" type:"string"`
7959
7960	// The Amazon Resource Name (ARN) of the role to be assumed for this job.
7961	RoleArn *string `min:"20" type:"string"`
7962
7963	// Metadata tags that have been applied to the job.
7964	Tags map[string]*string `min:"1" type:"map"`
7965
7966	// The job's timeout in minutes. A job that attempts to run longer than this
7967	// timeout period ends with a status of TIMEOUT.
7968	Timeout *int64 `type:"integer"`
7969
7970	// The job type of the job, which must be one of the following:
7971	//
7972	//    * PROFILE - A job to analyze a dataset, to determine its size, data types,
7973	//    data distribution, and more.
7974	//
7975	//    * RECIPE - A job to apply one or more transformations to a dataset.
7976	Type *string `type:"string" enum:"JobType"`
7977}
7978
7979// String returns the string representation
7980func (s Job) String() string {
7981	return awsutil.Prettify(s)
7982}
7983
7984// GoString returns the string representation
7985func (s Job) GoString() string {
7986	return s.String()
7987}
7988
7989// SetAccountId sets the AccountId field's value.
7990func (s *Job) SetAccountId(v string) *Job {
7991	s.AccountId = &v
7992	return s
7993}
7994
7995// SetCreateDate sets the CreateDate field's value.
7996func (s *Job) SetCreateDate(v time.Time) *Job {
7997	s.CreateDate = &v
7998	return s
7999}
8000
8001// SetCreatedBy sets the CreatedBy field's value.
8002func (s *Job) SetCreatedBy(v string) *Job {
8003	s.CreatedBy = &v
8004	return s
8005}
8006
8007// SetDataCatalogOutputs sets the DataCatalogOutputs field's value.
8008func (s *Job) SetDataCatalogOutputs(v []*DataCatalogOutput_) *Job {
8009	s.DataCatalogOutputs = v
8010	return s
8011}
8012
8013// SetDatabaseOutputs sets the DatabaseOutputs field's value.
8014func (s *Job) SetDatabaseOutputs(v []*DatabaseOutput_) *Job {
8015	s.DatabaseOutputs = v
8016	return s
8017}
8018
8019// SetDatasetName sets the DatasetName field's value.
8020func (s *Job) SetDatasetName(v string) *Job {
8021	s.DatasetName = &v
8022	return s
8023}
8024
8025// SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
8026func (s *Job) SetEncryptionKeyArn(v string) *Job {
8027	s.EncryptionKeyArn = &v
8028	return s
8029}
8030
8031// SetEncryptionMode sets the EncryptionMode field's value.
8032func (s *Job) SetEncryptionMode(v string) *Job {
8033	s.EncryptionMode = &v
8034	return s
8035}
8036
8037// SetJobSample sets the JobSample field's value.
8038func (s *Job) SetJobSample(v *JobSample) *Job {
8039	s.JobSample = v
8040	return s
8041}
8042
8043// SetLastModifiedBy sets the LastModifiedBy field's value.
8044func (s *Job) SetLastModifiedBy(v string) *Job {
8045	s.LastModifiedBy = &v
8046	return s
8047}
8048
8049// SetLastModifiedDate sets the LastModifiedDate field's value.
8050func (s *Job) SetLastModifiedDate(v time.Time) *Job {
8051	s.LastModifiedDate = &v
8052	return s
8053}
8054
8055// SetLogSubscription sets the LogSubscription field's value.
8056func (s *Job) SetLogSubscription(v string) *Job {
8057	s.LogSubscription = &v
8058	return s
8059}
8060
8061// SetMaxCapacity sets the MaxCapacity field's value.
8062func (s *Job) SetMaxCapacity(v int64) *Job {
8063	s.MaxCapacity = &v
8064	return s
8065}
8066
8067// SetMaxRetries sets the MaxRetries field's value.
8068func (s *Job) SetMaxRetries(v int64) *Job {
8069	s.MaxRetries = &v
8070	return s
8071}
8072
8073// SetName sets the Name field's value.
8074func (s *Job) SetName(v string) *Job {
8075	s.Name = &v
8076	return s
8077}
8078
8079// SetOutputs sets the Outputs field's value.
8080func (s *Job) SetOutputs(v []*Output) *Job {
8081	s.Outputs = v
8082	return s
8083}
8084
8085// SetProjectName sets the ProjectName field's value.
8086func (s *Job) SetProjectName(v string) *Job {
8087	s.ProjectName = &v
8088	return s
8089}
8090
8091// SetRecipeReference sets the RecipeReference field's value.
8092func (s *Job) SetRecipeReference(v *RecipeReference) *Job {
8093	s.RecipeReference = v
8094	return s
8095}
8096
8097// SetResourceArn sets the ResourceArn field's value.
8098func (s *Job) SetResourceArn(v string) *Job {
8099	s.ResourceArn = &v
8100	return s
8101}
8102
8103// SetRoleArn sets the RoleArn field's value.
8104func (s *Job) SetRoleArn(v string) *Job {
8105	s.RoleArn = &v
8106	return s
8107}
8108
8109// SetTags sets the Tags field's value.
8110func (s *Job) SetTags(v map[string]*string) *Job {
8111	s.Tags = v
8112	return s
8113}
8114
8115// SetTimeout sets the Timeout field's value.
8116func (s *Job) SetTimeout(v int64) *Job {
8117	s.Timeout = &v
8118	return s
8119}
8120
8121// SetType sets the Type field's value.
8122func (s *Job) SetType(v string) *Job {
8123	s.Type = &v
8124	return s
8125}
8126
8127// Represents one run of a DataBrew job.
8128type JobRun struct {
8129	_ struct{} `type:"structure"`
8130
8131	// The number of times that DataBrew has attempted to run the job.
8132	Attempt *int64 `type:"integer"`
8133
8134	// The date and time when the job completed processing.
8135	CompletedOn *time.Time `type:"timestamp"`
8136
8137	// One or more artifacts that represent the Glue Data Catalog output from running
8138	// the job.
8139	DataCatalogOutputs []*DataCatalogOutput_ `min:"1" type:"list"`
8140
8141	// Represents a list of JDBC database output objects which defines the output
8142	// destination for a DataBrew recipe job to write into.
8143	DatabaseOutputs []*DatabaseOutput_ `min:"1" type:"list"`
8144
8145	// The name of the dataset for the job to process.
8146	DatasetName *string `min:"1" type:"string"`
8147
8148	// A message indicating an error (if any) that was encountered when the job
8149	// ran.
8150	ErrorMessage *string `type:"string"`
8151
8152	// The amount of time, in seconds, during which a job run consumed resources.
8153	ExecutionTime *int64 `type:"integer"`
8154
8155	// The name of the job being processed during this run.
8156	JobName *string `min:"1" type:"string"`
8157
8158	// A sample configuration for profile jobs only, which determines the number
8159	// of rows on which the profile job is run. If a JobSample value isn't provided,
8160	// the default is used. The default value is CUSTOM_ROWS for the mode parameter
8161	// and 20,000 for the size parameter.
8162	JobSample *JobSample `type:"structure"`
8163
8164	// The name of an Amazon CloudWatch log group, where the job writes diagnostic
8165	// messages when it runs.
8166	LogGroupName *string `min:"1" type:"string"`
8167
8168	// The current status of Amazon CloudWatch logging for the job run.
8169	LogSubscription *string `type:"string" enum:"LogSubscription"`
8170
8171	// One or more output artifacts from a job run.
8172	Outputs []*Output `min:"1" type:"list"`
8173
8174	// The set of steps processed by the job.
8175	RecipeReference *RecipeReference `type:"structure"`
8176
8177	// The unique identifier of the job run.
8178	RunId *string `min:"1" type:"string"`
8179
8180	// The Amazon Resource Name (ARN) of the user who initiated the job run.
8181	StartedBy *string `type:"string"`
8182
8183	// The date and time when the job run began.
8184	StartedOn *time.Time `type:"timestamp"`
8185
8186	// The current state of the job run entity itself.
8187	State *string `type:"string" enum:"JobRunState"`
8188}
8189
8190// String returns the string representation
8191func (s JobRun) String() string {
8192	return awsutil.Prettify(s)
8193}
8194
8195// GoString returns the string representation
8196func (s JobRun) GoString() string {
8197	return s.String()
8198}
8199
8200// SetAttempt sets the Attempt field's value.
8201func (s *JobRun) SetAttempt(v int64) *JobRun {
8202	s.Attempt = &v
8203	return s
8204}
8205
8206// SetCompletedOn sets the CompletedOn field's value.
8207func (s *JobRun) SetCompletedOn(v time.Time) *JobRun {
8208	s.CompletedOn = &v
8209	return s
8210}
8211
8212// SetDataCatalogOutputs sets the DataCatalogOutputs field's value.
8213func (s *JobRun) SetDataCatalogOutputs(v []*DataCatalogOutput_) *JobRun {
8214	s.DataCatalogOutputs = v
8215	return s
8216}
8217
8218// SetDatabaseOutputs sets the DatabaseOutputs field's value.
8219func (s *JobRun) SetDatabaseOutputs(v []*DatabaseOutput_) *JobRun {
8220	s.DatabaseOutputs = v
8221	return s
8222}
8223
8224// SetDatasetName sets the DatasetName field's value.
8225func (s *JobRun) SetDatasetName(v string) *JobRun {
8226	s.DatasetName = &v
8227	return s
8228}
8229
8230// SetErrorMessage sets the ErrorMessage field's value.
8231func (s *JobRun) SetErrorMessage(v string) *JobRun {
8232	s.ErrorMessage = &v
8233	return s
8234}
8235
8236// SetExecutionTime sets the ExecutionTime field's value.
8237func (s *JobRun) SetExecutionTime(v int64) *JobRun {
8238	s.ExecutionTime = &v
8239	return s
8240}
8241
8242// SetJobName sets the JobName field's value.
8243func (s *JobRun) SetJobName(v string) *JobRun {
8244	s.JobName = &v
8245	return s
8246}
8247
8248// SetJobSample sets the JobSample field's value.
8249func (s *JobRun) SetJobSample(v *JobSample) *JobRun {
8250	s.JobSample = v
8251	return s
8252}
8253
8254// SetLogGroupName sets the LogGroupName field's value.
8255func (s *JobRun) SetLogGroupName(v string) *JobRun {
8256	s.LogGroupName = &v
8257	return s
8258}
8259
8260// SetLogSubscription sets the LogSubscription field's value.
8261func (s *JobRun) SetLogSubscription(v string) *JobRun {
8262	s.LogSubscription = &v
8263	return s
8264}
8265
8266// SetOutputs sets the Outputs field's value.
8267func (s *JobRun) SetOutputs(v []*Output) *JobRun {
8268	s.Outputs = v
8269	return s
8270}
8271
8272// SetRecipeReference sets the RecipeReference field's value.
8273func (s *JobRun) SetRecipeReference(v *RecipeReference) *JobRun {
8274	s.RecipeReference = v
8275	return s
8276}
8277
8278// SetRunId sets the RunId field's value.
8279func (s *JobRun) SetRunId(v string) *JobRun {
8280	s.RunId = &v
8281	return s
8282}
8283
8284// SetStartedBy sets the StartedBy field's value.
8285func (s *JobRun) SetStartedBy(v string) *JobRun {
8286	s.StartedBy = &v
8287	return s
8288}
8289
8290// SetStartedOn sets the StartedOn field's value.
8291func (s *JobRun) SetStartedOn(v time.Time) *JobRun {
8292	s.StartedOn = &v
8293	return s
8294}
8295
8296// SetState sets the State field's value.
8297func (s *JobRun) SetState(v string) *JobRun {
8298	s.State = &v
8299	return s
8300}
8301
8302// A sample configuration for profile jobs only, which determines the number
8303// of rows on which the profile job is run. If a JobSample value isn't provided,
8304// the default is used. The default value is CUSTOM_ROWS for the mode parameter
8305// and 20,000 for the size parameter.
8306type JobSample struct {
8307	_ struct{} `type:"structure"`
8308
8309	// A value that determines whether the profile job is run on the entire dataset
8310	// or a specified number of rows. This value must be one of the following:
8311	//
8312	//    * FULL_DATASET - The profile job is run on the entire dataset.
8313	//
8314	//    * CUSTOM_ROWS - The profile job is run on the number of rows specified
8315	//    in the Size parameter.
8316	Mode *string `type:"string" enum:"SampleMode"`
8317
8318	// The Size parameter is only required when the mode is CUSTOM_ROWS. The profile
8319	// job is run on the specified number of rows. The maximum value for size is
8320	// Long.MAX_VALUE.
8321	//
8322	// Long.MAX_VALUE = 9223372036854775807
8323	Size *int64 `type:"long"`
8324}
8325
8326// String returns the string representation
8327func (s JobSample) String() string {
8328	return awsutil.Prettify(s)
8329}
8330
8331// GoString returns the string representation
8332func (s JobSample) GoString() string {
8333	return s.String()
8334}
8335
8336// SetMode sets the Mode field's value.
8337func (s *JobSample) SetMode(v string) *JobSample {
8338	s.Mode = &v
8339	return s
8340}
8341
8342// SetSize sets the Size field's value.
8343func (s *JobSample) SetSize(v int64) *JobSample {
8344	s.Size = &v
8345	return s
8346}
8347
8348// Represents the JSON-specific options that define how input is to be interpreted
8349// by Glue DataBrew.
8350type JsonOptions struct {
8351	_ struct{} `type:"structure"`
8352
8353	// A value that specifies whether JSON input contains embedded new line characters.
8354	MultiLine *bool `type:"boolean"`
8355}
8356
8357// String returns the string representation
8358func (s JsonOptions) String() string {
8359	return awsutil.Prettify(s)
8360}
8361
8362// GoString returns the string representation
8363func (s JsonOptions) GoString() string {
8364	return s.String()
8365}
8366
8367// SetMultiLine sets the MultiLine field's value.
8368func (s *JsonOptions) SetMultiLine(v bool) *JsonOptions {
8369	s.MultiLine = &v
8370	return s
8371}
8372
8373type ListDatasetsInput struct {
8374	_ struct{} `type:"structure"`
8375
8376	// The maximum number of results to return in this request.
8377	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
8378
8379	// The token returned by a previous call to retrieve the next set of results.
8380	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
8381}
8382
8383// String returns the string representation
8384func (s ListDatasetsInput) String() string {
8385	return awsutil.Prettify(s)
8386}
8387
8388// GoString returns the string representation
8389func (s ListDatasetsInput) GoString() string {
8390	return s.String()
8391}
8392
8393// Validate inspects the fields of the type to determine if they are valid.
8394func (s *ListDatasetsInput) Validate() error {
8395	invalidParams := request.ErrInvalidParams{Context: "ListDatasetsInput"}
8396	if s.MaxResults != nil && *s.MaxResults < 1 {
8397		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8398	}
8399	if s.NextToken != nil && len(*s.NextToken) < 1 {
8400		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8401	}
8402
8403	if invalidParams.Len() > 0 {
8404		return invalidParams
8405	}
8406	return nil
8407}
8408
8409// SetMaxResults sets the MaxResults field's value.
8410func (s *ListDatasetsInput) SetMaxResults(v int64) *ListDatasetsInput {
8411	s.MaxResults = &v
8412	return s
8413}
8414
8415// SetNextToken sets the NextToken field's value.
8416func (s *ListDatasetsInput) SetNextToken(v string) *ListDatasetsInput {
8417	s.NextToken = &v
8418	return s
8419}
8420
8421type ListDatasetsOutput struct {
8422	_ struct{} `type:"structure"`
8423
8424	// A list of datasets that are defined.
8425	//
8426	// Datasets is a required field
8427	Datasets []*Dataset `type:"list" required:"true"`
8428
8429	// A token that you can use in a subsequent call to retrieve the next set of
8430	// results.
8431	NextToken *string `min:"1" type:"string"`
8432}
8433
8434// String returns the string representation
8435func (s ListDatasetsOutput) String() string {
8436	return awsutil.Prettify(s)
8437}
8438
8439// GoString returns the string representation
8440func (s ListDatasetsOutput) GoString() string {
8441	return s.String()
8442}
8443
8444// SetDatasets sets the Datasets field's value.
8445func (s *ListDatasetsOutput) SetDatasets(v []*Dataset) *ListDatasetsOutput {
8446	s.Datasets = v
8447	return s
8448}
8449
8450// SetNextToken sets the NextToken field's value.
8451func (s *ListDatasetsOutput) SetNextToken(v string) *ListDatasetsOutput {
8452	s.NextToken = &v
8453	return s
8454}
8455
8456type ListJobRunsInput struct {
8457	_ struct{} `type:"structure"`
8458
8459	// The maximum number of results to return in this request.
8460	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
8461
8462	// The name of the job.
8463	//
8464	// Name is a required field
8465	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
8466
8467	// The token returned by a previous call to retrieve the next set of results.
8468	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
8469}
8470
8471// String returns the string representation
8472func (s ListJobRunsInput) String() string {
8473	return awsutil.Prettify(s)
8474}
8475
8476// GoString returns the string representation
8477func (s ListJobRunsInput) GoString() string {
8478	return s.String()
8479}
8480
8481// Validate inspects the fields of the type to determine if they are valid.
8482func (s *ListJobRunsInput) Validate() error {
8483	invalidParams := request.ErrInvalidParams{Context: "ListJobRunsInput"}
8484	if s.MaxResults != nil && *s.MaxResults < 1 {
8485		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8486	}
8487	if s.Name == nil {
8488		invalidParams.Add(request.NewErrParamRequired("Name"))
8489	}
8490	if s.Name != nil && len(*s.Name) < 1 {
8491		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8492	}
8493	if s.NextToken != nil && len(*s.NextToken) < 1 {
8494		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8495	}
8496
8497	if invalidParams.Len() > 0 {
8498		return invalidParams
8499	}
8500	return nil
8501}
8502
8503// SetMaxResults sets the MaxResults field's value.
8504func (s *ListJobRunsInput) SetMaxResults(v int64) *ListJobRunsInput {
8505	s.MaxResults = &v
8506	return s
8507}
8508
8509// SetName sets the Name field's value.
8510func (s *ListJobRunsInput) SetName(v string) *ListJobRunsInput {
8511	s.Name = &v
8512	return s
8513}
8514
8515// SetNextToken sets the NextToken field's value.
8516func (s *ListJobRunsInput) SetNextToken(v string) *ListJobRunsInput {
8517	s.NextToken = &v
8518	return s
8519}
8520
8521type ListJobRunsOutput struct {
8522	_ struct{} `type:"structure"`
8523
8524	// A list of job runs that have occurred for the specified job.
8525	//
8526	// JobRuns is a required field
8527	JobRuns []*JobRun `type:"list" required:"true"`
8528
8529	// A token that you can use in a subsequent call to retrieve the next set of
8530	// results.
8531	NextToken *string `min:"1" type:"string"`
8532}
8533
8534// String returns the string representation
8535func (s ListJobRunsOutput) String() string {
8536	return awsutil.Prettify(s)
8537}
8538
8539// GoString returns the string representation
8540func (s ListJobRunsOutput) GoString() string {
8541	return s.String()
8542}
8543
8544// SetJobRuns sets the JobRuns field's value.
8545func (s *ListJobRunsOutput) SetJobRuns(v []*JobRun) *ListJobRunsOutput {
8546	s.JobRuns = v
8547	return s
8548}
8549
8550// SetNextToken sets the NextToken field's value.
8551func (s *ListJobRunsOutput) SetNextToken(v string) *ListJobRunsOutput {
8552	s.NextToken = &v
8553	return s
8554}
8555
8556type ListJobsInput struct {
8557	_ struct{} `type:"structure"`
8558
8559	// The name of a dataset. Using this parameter indicates to return only those
8560	// jobs that act on the specified dataset.
8561	DatasetName *string `location:"querystring" locationName:"datasetName" min:"1" type:"string"`
8562
8563	// The maximum number of results to return in this request.
8564	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
8565
8566	// A token generated by DataBrew that specifies where to continue pagination
8567	// if a previous request was truncated. To get the next set of pages, pass in
8568	// the NextToken value from the response object of the previous page call.
8569	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
8570
8571	// The name of a project. Using this parameter indicates to return only those
8572	// jobs that are associated with the specified project.
8573	ProjectName *string `location:"querystring" locationName:"projectName" min:"1" type:"string"`
8574}
8575
8576// String returns the string representation
8577func (s ListJobsInput) String() string {
8578	return awsutil.Prettify(s)
8579}
8580
8581// GoString returns the string representation
8582func (s ListJobsInput) GoString() string {
8583	return s.String()
8584}
8585
8586// Validate inspects the fields of the type to determine if they are valid.
8587func (s *ListJobsInput) Validate() error {
8588	invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"}
8589	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
8590		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
8591	}
8592	if s.MaxResults != nil && *s.MaxResults < 1 {
8593		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8594	}
8595	if s.NextToken != nil && len(*s.NextToken) < 1 {
8596		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8597	}
8598	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
8599		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
8600	}
8601
8602	if invalidParams.Len() > 0 {
8603		return invalidParams
8604	}
8605	return nil
8606}
8607
8608// SetDatasetName sets the DatasetName field's value.
8609func (s *ListJobsInput) SetDatasetName(v string) *ListJobsInput {
8610	s.DatasetName = &v
8611	return s
8612}
8613
8614// SetMaxResults sets the MaxResults field's value.
8615func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput {
8616	s.MaxResults = &v
8617	return s
8618}
8619
8620// SetNextToken sets the NextToken field's value.
8621func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput {
8622	s.NextToken = &v
8623	return s
8624}
8625
8626// SetProjectName sets the ProjectName field's value.
8627func (s *ListJobsInput) SetProjectName(v string) *ListJobsInput {
8628	s.ProjectName = &v
8629	return s
8630}
8631
8632type ListJobsOutput struct {
8633	_ struct{} `type:"structure"`
8634
8635	// A list of jobs that are defined.
8636	//
8637	// Jobs is a required field
8638	Jobs []*Job `type:"list" required:"true"`
8639
8640	// A token that you can use in a subsequent call to retrieve the next set of
8641	// results.
8642	NextToken *string `min:"1" type:"string"`
8643}
8644
8645// String returns the string representation
8646func (s ListJobsOutput) String() string {
8647	return awsutil.Prettify(s)
8648}
8649
8650// GoString returns the string representation
8651func (s ListJobsOutput) GoString() string {
8652	return s.String()
8653}
8654
8655// SetJobs sets the Jobs field's value.
8656func (s *ListJobsOutput) SetJobs(v []*Job) *ListJobsOutput {
8657	s.Jobs = v
8658	return s
8659}
8660
8661// SetNextToken sets the NextToken field's value.
8662func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput {
8663	s.NextToken = &v
8664	return s
8665}
8666
8667type ListProjectsInput struct {
8668	_ struct{} `type:"structure"`
8669
8670	// The maximum number of results to return in this request.
8671	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
8672
8673	// The token returned by a previous call to retrieve the next set of results.
8674	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
8675}
8676
8677// String returns the string representation
8678func (s ListProjectsInput) String() string {
8679	return awsutil.Prettify(s)
8680}
8681
8682// GoString returns the string representation
8683func (s ListProjectsInput) GoString() string {
8684	return s.String()
8685}
8686
8687// Validate inspects the fields of the type to determine if they are valid.
8688func (s *ListProjectsInput) Validate() error {
8689	invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"}
8690	if s.MaxResults != nil && *s.MaxResults < 1 {
8691		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8692	}
8693	if s.NextToken != nil && len(*s.NextToken) < 1 {
8694		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8695	}
8696
8697	if invalidParams.Len() > 0 {
8698		return invalidParams
8699	}
8700	return nil
8701}
8702
8703// SetMaxResults sets the MaxResults field's value.
8704func (s *ListProjectsInput) SetMaxResults(v int64) *ListProjectsInput {
8705	s.MaxResults = &v
8706	return s
8707}
8708
8709// SetNextToken sets the NextToken field's value.
8710func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput {
8711	s.NextToken = &v
8712	return s
8713}
8714
8715type ListProjectsOutput struct {
8716	_ struct{} `type:"structure"`
8717
8718	// A token that you can use in a subsequent call to retrieve the next set of
8719	// results.
8720	NextToken *string `min:"1" type:"string"`
8721
8722	// A list of projects that are defined .
8723	//
8724	// Projects is a required field
8725	Projects []*Project `type:"list" required:"true"`
8726}
8727
8728// String returns the string representation
8729func (s ListProjectsOutput) String() string {
8730	return awsutil.Prettify(s)
8731}
8732
8733// GoString returns the string representation
8734func (s ListProjectsOutput) GoString() string {
8735	return s.String()
8736}
8737
8738// SetNextToken sets the NextToken field's value.
8739func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput {
8740	s.NextToken = &v
8741	return s
8742}
8743
8744// SetProjects sets the Projects field's value.
8745func (s *ListProjectsOutput) SetProjects(v []*Project) *ListProjectsOutput {
8746	s.Projects = v
8747	return s
8748}
8749
8750type ListRecipeVersionsInput struct {
8751	_ struct{} `type:"structure"`
8752
8753	// The maximum number of results to return in this request.
8754	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
8755
8756	// The name of the recipe for which to return version information.
8757	//
8758	// Name is a required field
8759	Name *string `location:"querystring" locationName:"name" min:"1" type:"string" required:"true"`
8760
8761	// The token returned by a previous call to retrieve the next set of results.
8762	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
8763}
8764
8765// String returns the string representation
8766func (s ListRecipeVersionsInput) String() string {
8767	return awsutil.Prettify(s)
8768}
8769
8770// GoString returns the string representation
8771func (s ListRecipeVersionsInput) GoString() string {
8772	return s.String()
8773}
8774
8775// Validate inspects the fields of the type to determine if they are valid.
8776func (s *ListRecipeVersionsInput) Validate() error {
8777	invalidParams := request.ErrInvalidParams{Context: "ListRecipeVersionsInput"}
8778	if s.MaxResults != nil && *s.MaxResults < 1 {
8779		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8780	}
8781	if s.Name == nil {
8782		invalidParams.Add(request.NewErrParamRequired("Name"))
8783	}
8784	if s.Name != nil && len(*s.Name) < 1 {
8785		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8786	}
8787	if s.NextToken != nil && len(*s.NextToken) < 1 {
8788		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8789	}
8790
8791	if invalidParams.Len() > 0 {
8792		return invalidParams
8793	}
8794	return nil
8795}
8796
8797// SetMaxResults sets the MaxResults field's value.
8798func (s *ListRecipeVersionsInput) SetMaxResults(v int64) *ListRecipeVersionsInput {
8799	s.MaxResults = &v
8800	return s
8801}
8802
8803// SetName sets the Name field's value.
8804func (s *ListRecipeVersionsInput) SetName(v string) *ListRecipeVersionsInput {
8805	s.Name = &v
8806	return s
8807}
8808
8809// SetNextToken sets the NextToken field's value.
8810func (s *ListRecipeVersionsInput) SetNextToken(v string) *ListRecipeVersionsInput {
8811	s.NextToken = &v
8812	return s
8813}
8814
8815type ListRecipeVersionsOutput struct {
8816	_ struct{} `type:"structure"`
8817
8818	// A token that you can use in a subsequent call to retrieve the next set of
8819	// results.
8820	NextToken *string `min:"1" type:"string"`
8821
8822	// A list of versions for the specified recipe.
8823	//
8824	// Recipes is a required field
8825	Recipes []*Recipe `type:"list" required:"true"`
8826}
8827
8828// String returns the string representation
8829func (s ListRecipeVersionsOutput) String() string {
8830	return awsutil.Prettify(s)
8831}
8832
8833// GoString returns the string representation
8834func (s ListRecipeVersionsOutput) GoString() string {
8835	return s.String()
8836}
8837
8838// SetNextToken sets the NextToken field's value.
8839func (s *ListRecipeVersionsOutput) SetNextToken(v string) *ListRecipeVersionsOutput {
8840	s.NextToken = &v
8841	return s
8842}
8843
8844// SetRecipes sets the Recipes field's value.
8845func (s *ListRecipeVersionsOutput) SetRecipes(v []*Recipe) *ListRecipeVersionsOutput {
8846	s.Recipes = v
8847	return s
8848}
8849
8850type ListRecipesInput struct {
8851	_ struct{} `type:"structure"`
8852
8853	// The maximum number of results to return in this request.
8854	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
8855
8856	// The token returned by a previous call to retrieve the next set of results.
8857	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
8858
8859	// Return only those recipes with a version identifier of LATEST_WORKING or
8860	// LATEST_PUBLISHED. If RecipeVersion is omitted, ListRecipes returns all of
8861	// the LATEST_PUBLISHED recipe versions.
8862	//
8863	// Valid values: LATEST_WORKING | LATEST_PUBLISHED
8864	RecipeVersion *string `location:"querystring" locationName:"recipeVersion" min:"1" type:"string"`
8865}
8866
8867// String returns the string representation
8868func (s ListRecipesInput) String() string {
8869	return awsutil.Prettify(s)
8870}
8871
8872// GoString returns the string representation
8873func (s ListRecipesInput) GoString() string {
8874	return s.String()
8875}
8876
8877// Validate inspects the fields of the type to determine if they are valid.
8878func (s *ListRecipesInput) Validate() error {
8879	invalidParams := request.ErrInvalidParams{Context: "ListRecipesInput"}
8880	if s.MaxResults != nil && *s.MaxResults < 1 {
8881		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8882	}
8883	if s.NextToken != nil && len(*s.NextToken) < 1 {
8884		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8885	}
8886	if s.RecipeVersion != nil && len(*s.RecipeVersion) < 1 {
8887		invalidParams.Add(request.NewErrParamMinLen("RecipeVersion", 1))
8888	}
8889
8890	if invalidParams.Len() > 0 {
8891		return invalidParams
8892	}
8893	return nil
8894}
8895
8896// SetMaxResults sets the MaxResults field's value.
8897func (s *ListRecipesInput) SetMaxResults(v int64) *ListRecipesInput {
8898	s.MaxResults = &v
8899	return s
8900}
8901
8902// SetNextToken sets the NextToken field's value.
8903func (s *ListRecipesInput) SetNextToken(v string) *ListRecipesInput {
8904	s.NextToken = &v
8905	return s
8906}
8907
8908// SetRecipeVersion sets the RecipeVersion field's value.
8909func (s *ListRecipesInput) SetRecipeVersion(v string) *ListRecipesInput {
8910	s.RecipeVersion = &v
8911	return s
8912}
8913
8914type ListRecipesOutput struct {
8915	_ struct{} `type:"structure"`
8916
8917	// A token that you can use in a subsequent call to retrieve the next set of
8918	// results.
8919	NextToken *string `min:"1" type:"string"`
8920
8921	// A list of recipes that are defined.
8922	//
8923	// Recipes is a required field
8924	Recipes []*Recipe `type:"list" required:"true"`
8925}
8926
8927// String returns the string representation
8928func (s ListRecipesOutput) String() string {
8929	return awsutil.Prettify(s)
8930}
8931
8932// GoString returns the string representation
8933func (s ListRecipesOutput) GoString() string {
8934	return s.String()
8935}
8936
8937// SetNextToken sets the NextToken field's value.
8938func (s *ListRecipesOutput) SetNextToken(v string) *ListRecipesOutput {
8939	s.NextToken = &v
8940	return s
8941}
8942
8943// SetRecipes sets the Recipes field's value.
8944func (s *ListRecipesOutput) SetRecipes(v []*Recipe) *ListRecipesOutput {
8945	s.Recipes = v
8946	return s
8947}
8948
8949type ListSchedulesInput struct {
8950	_ struct{} `type:"structure"`
8951
8952	// The name of the job that these schedules apply to.
8953	JobName *string `location:"querystring" locationName:"jobName" min:"1" type:"string"`
8954
8955	// The maximum number of results to return in this request.
8956	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
8957
8958	// The token returned by a previous call to retrieve the next set of results.
8959	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
8960}
8961
8962// String returns the string representation
8963func (s ListSchedulesInput) String() string {
8964	return awsutil.Prettify(s)
8965}
8966
8967// GoString returns the string representation
8968func (s ListSchedulesInput) GoString() string {
8969	return s.String()
8970}
8971
8972// Validate inspects the fields of the type to determine if they are valid.
8973func (s *ListSchedulesInput) Validate() error {
8974	invalidParams := request.ErrInvalidParams{Context: "ListSchedulesInput"}
8975	if s.JobName != nil && len(*s.JobName) < 1 {
8976		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
8977	}
8978	if s.MaxResults != nil && *s.MaxResults < 1 {
8979		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8980	}
8981	if s.NextToken != nil && len(*s.NextToken) < 1 {
8982		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8983	}
8984
8985	if invalidParams.Len() > 0 {
8986		return invalidParams
8987	}
8988	return nil
8989}
8990
8991// SetJobName sets the JobName field's value.
8992func (s *ListSchedulesInput) SetJobName(v string) *ListSchedulesInput {
8993	s.JobName = &v
8994	return s
8995}
8996
8997// SetMaxResults sets the MaxResults field's value.
8998func (s *ListSchedulesInput) SetMaxResults(v int64) *ListSchedulesInput {
8999	s.MaxResults = &v
9000	return s
9001}
9002
9003// SetNextToken sets the NextToken field's value.
9004func (s *ListSchedulesInput) SetNextToken(v string) *ListSchedulesInput {
9005	s.NextToken = &v
9006	return s
9007}
9008
9009type ListSchedulesOutput struct {
9010	_ struct{} `type:"structure"`
9011
9012	// A token that you can use in a subsequent call to retrieve the next set of
9013	// results.
9014	NextToken *string `min:"1" type:"string"`
9015
9016	// A list of schedules that are defined.
9017	//
9018	// Schedules is a required field
9019	Schedules []*Schedule `type:"list" required:"true"`
9020}
9021
9022// String returns the string representation
9023func (s ListSchedulesOutput) String() string {
9024	return awsutil.Prettify(s)
9025}
9026
9027// GoString returns the string representation
9028func (s ListSchedulesOutput) GoString() string {
9029	return s.String()
9030}
9031
9032// SetNextToken sets the NextToken field's value.
9033func (s *ListSchedulesOutput) SetNextToken(v string) *ListSchedulesOutput {
9034	s.NextToken = &v
9035	return s
9036}
9037
9038// SetSchedules sets the Schedules field's value.
9039func (s *ListSchedulesOutput) SetSchedules(v []*Schedule) *ListSchedulesOutput {
9040	s.Schedules = v
9041	return s
9042}
9043
9044type ListTagsForResourceInput struct {
9045	_ struct{} `type:"structure"`
9046
9047	// The Amazon Resource Name (ARN) string that uniquely identifies the DataBrew
9048	// resource.
9049	//
9050	// ResourceArn is a required field
9051	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"`
9052}
9053
9054// String returns the string representation
9055func (s ListTagsForResourceInput) String() string {
9056	return awsutil.Prettify(s)
9057}
9058
9059// GoString returns the string representation
9060func (s ListTagsForResourceInput) GoString() string {
9061	return s.String()
9062}
9063
9064// Validate inspects the fields of the type to determine if they are valid.
9065func (s *ListTagsForResourceInput) Validate() error {
9066	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
9067	if s.ResourceArn == nil {
9068		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9069	}
9070	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
9071		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
9072	}
9073
9074	if invalidParams.Len() > 0 {
9075		return invalidParams
9076	}
9077	return nil
9078}
9079
9080// SetResourceArn sets the ResourceArn field's value.
9081func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
9082	s.ResourceArn = &v
9083	return s
9084}
9085
9086type ListTagsForResourceOutput struct {
9087	_ struct{} `type:"structure"`
9088
9089	// A list of tags associated with the DataBrew resource.
9090	Tags map[string]*string `min:"1" type:"map"`
9091}
9092
9093// String returns the string representation
9094func (s ListTagsForResourceOutput) String() string {
9095	return awsutil.Prettify(s)
9096}
9097
9098// GoString returns the string representation
9099func (s ListTagsForResourceOutput) GoString() string {
9100	return s.String()
9101}
9102
9103// SetTags sets the Tags field's value.
9104func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
9105	s.Tags = v
9106	return s
9107}
9108
9109// Represents options that specify how and where in Amazon S3 DataBrew writes
9110// the output generated by recipe jobs or profile jobs.
9111type Output struct {
9112	_ struct{} `type:"structure"`
9113
9114	// The compression algorithm used to compress the output text of the job.
9115	CompressionFormat *string `type:"string" enum:"CompressionFormat"`
9116
9117	// The data format of the output of the job.
9118	Format *string `type:"string" enum:"OutputFormat"`
9119
9120	// Represents options that define how DataBrew formats job output files.
9121	FormatOptions *OutputFormatOptions `type:"structure"`
9122
9123	// The location in Amazon S3 where the job writes its output.
9124	//
9125	// Location is a required field
9126	Location *S3Location `type:"structure" required:"true"`
9127
9128	// A value that, if true, means that any data in the location specified for
9129	// output is overwritten with new output.
9130	Overwrite *bool `type:"boolean"`
9131
9132	// The names of one or more partition columns for the output of the job.
9133	PartitionColumns []*string `type:"list"`
9134}
9135
9136// String returns the string representation
9137func (s Output) String() string {
9138	return awsutil.Prettify(s)
9139}
9140
9141// GoString returns the string representation
9142func (s Output) GoString() string {
9143	return s.String()
9144}
9145
9146// Validate inspects the fields of the type to determine if they are valid.
9147func (s *Output) Validate() error {
9148	invalidParams := request.ErrInvalidParams{Context: "Output"}
9149	if s.Location == nil {
9150		invalidParams.Add(request.NewErrParamRequired("Location"))
9151	}
9152	if s.FormatOptions != nil {
9153		if err := s.FormatOptions.Validate(); err != nil {
9154			invalidParams.AddNested("FormatOptions", err.(request.ErrInvalidParams))
9155		}
9156	}
9157	if s.Location != nil {
9158		if err := s.Location.Validate(); err != nil {
9159			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
9160		}
9161	}
9162
9163	if invalidParams.Len() > 0 {
9164		return invalidParams
9165	}
9166	return nil
9167}
9168
9169// SetCompressionFormat sets the CompressionFormat field's value.
9170func (s *Output) SetCompressionFormat(v string) *Output {
9171	s.CompressionFormat = &v
9172	return s
9173}
9174
9175// SetFormat sets the Format field's value.
9176func (s *Output) SetFormat(v string) *Output {
9177	s.Format = &v
9178	return s
9179}
9180
9181// SetFormatOptions sets the FormatOptions field's value.
9182func (s *Output) SetFormatOptions(v *OutputFormatOptions) *Output {
9183	s.FormatOptions = v
9184	return s
9185}
9186
9187// SetLocation sets the Location field's value.
9188func (s *Output) SetLocation(v *S3Location) *Output {
9189	s.Location = v
9190	return s
9191}
9192
9193// SetOverwrite sets the Overwrite field's value.
9194func (s *Output) SetOverwrite(v bool) *Output {
9195	s.Overwrite = &v
9196	return s
9197}
9198
9199// SetPartitionColumns sets the PartitionColumns field's value.
9200func (s *Output) SetPartitionColumns(v []*string) *Output {
9201	s.PartitionColumns = v
9202	return s
9203}
9204
9205// Represents a set of options that define the structure of comma-separated
9206// (CSV) job output.
9207type OutputFormatOptions struct {
9208	_ struct{} `type:"structure"`
9209
9210	// Represents a set of options that define the structure of comma-separated
9211	// value (CSV) job output.
9212	Csv *CsvOutputOptions `type:"structure"`
9213}
9214
9215// String returns the string representation
9216func (s OutputFormatOptions) String() string {
9217	return awsutil.Prettify(s)
9218}
9219
9220// GoString returns the string representation
9221func (s OutputFormatOptions) GoString() string {
9222	return s.String()
9223}
9224
9225// Validate inspects the fields of the type to determine if they are valid.
9226func (s *OutputFormatOptions) Validate() error {
9227	invalidParams := request.ErrInvalidParams{Context: "OutputFormatOptions"}
9228	if s.Csv != nil {
9229		if err := s.Csv.Validate(); err != nil {
9230			invalidParams.AddNested("Csv", err.(request.ErrInvalidParams))
9231		}
9232	}
9233
9234	if invalidParams.Len() > 0 {
9235		return invalidParams
9236	}
9237	return nil
9238}
9239
9240// SetCsv sets the Csv field's value.
9241func (s *OutputFormatOptions) SetCsv(v *CsvOutputOptions) *OutputFormatOptions {
9242	s.Csv = v
9243	return s
9244}
9245
9246// Represents a set of options that define how DataBrew selects files for a
9247// given Amazon S3 path in a dataset.
9248type PathOptions struct {
9249	_ struct{} `type:"structure"`
9250
9251	// If provided, this structure imposes a limit on a number of files that should
9252	// be selected.
9253	FilesLimit *FilesLimit `type:"structure"`
9254
9255	// If provided, this structure defines a date range for matching Amazon S3 objects
9256	// based on their LastModifiedDate attribute in Amazon S3.
9257	LastModifiedDateCondition *FilterExpression `type:"structure"`
9258
9259	// A structure that maps names of parameters used in the Amazon S3 path of a
9260	// dataset to their definitions.
9261	Parameters map[string]*DatasetParameter `min:"1" type:"map"`
9262}
9263
9264// String returns the string representation
9265func (s PathOptions) String() string {
9266	return awsutil.Prettify(s)
9267}
9268
9269// GoString returns the string representation
9270func (s PathOptions) GoString() string {
9271	return s.String()
9272}
9273
9274// Validate inspects the fields of the type to determine if they are valid.
9275func (s *PathOptions) Validate() error {
9276	invalidParams := request.ErrInvalidParams{Context: "PathOptions"}
9277	if s.Parameters != nil && len(s.Parameters) < 1 {
9278		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
9279	}
9280	if s.FilesLimit != nil {
9281		if err := s.FilesLimit.Validate(); err != nil {
9282			invalidParams.AddNested("FilesLimit", err.(request.ErrInvalidParams))
9283		}
9284	}
9285	if s.LastModifiedDateCondition != nil {
9286		if err := s.LastModifiedDateCondition.Validate(); err != nil {
9287			invalidParams.AddNested("LastModifiedDateCondition", err.(request.ErrInvalidParams))
9288		}
9289	}
9290	if s.Parameters != nil {
9291		for i, v := range s.Parameters {
9292			if v == nil {
9293				continue
9294			}
9295			if err := v.Validate(); err != nil {
9296				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams))
9297			}
9298		}
9299	}
9300
9301	if invalidParams.Len() > 0 {
9302		return invalidParams
9303	}
9304	return nil
9305}
9306
9307// SetFilesLimit sets the FilesLimit field's value.
9308func (s *PathOptions) SetFilesLimit(v *FilesLimit) *PathOptions {
9309	s.FilesLimit = v
9310	return s
9311}
9312
9313// SetLastModifiedDateCondition sets the LastModifiedDateCondition field's value.
9314func (s *PathOptions) SetLastModifiedDateCondition(v *FilterExpression) *PathOptions {
9315	s.LastModifiedDateCondition = v
9316	return s
9317}
9318
9319// SetParameters sets the Parameters field's value.
9320func (s *PathOptions) SetParameters(v map[string]*DatasetParameter) *PathOptions {
9321	s.Parameters = v
9322	return s
9323}
9324
9325// Configuration for profile jobs. Configuration can be used to select columns,
9326// do evaluations, and override default parameters of evaluations. When configuration
9327// is undefined, the profile job will apply default settings to all supported
9328// columns.
9329type ProfileConfiguration struct {
9330	_ struct{} `type:"structure"`
9331
9332	// List of configurations for column evaluations. ColumnStatisticsConfigurations
9333	// are used to select evaluations and override parameters of evaluations for
9334	// particular columns. When ColumnStatisticsConfigurations is undefined, the
9335	// profile job will profile all supported columns and run all supported evaluations.
9336	ColumnStatisticsConfigurations []*ColumnStatisticsConfiguration `min:"1" type:"list"`
9337
9338	// Configuration for inter-column evaluations. Configuration can be used to
9339	// select evaluations and override parameters of evaluations. When configuration
9340	// is undefined, the profile job will run all supported inter-column evaluations.
9341	DatasetStatisticsConfiguration *StatisticsConfiguration `type:"structure"`
9342
9343	// List of column selectors. ProfileColumns can be used to select columns from
9344	// the dataset. When ProfileColumns is undefined, the profile job will profile
9345	// all supported columns.
9346	ProfileColumns []*ColumnSelector `min:"1" type:"list"`
9347}
9348
9349// String returns the string representation
9350func (s ProfileConfiguration) String() string {
9351	return awsutil.Prettify(s)
9352}
9353
9354// GoString returns the string representation
9355func (s ProfileConfiguration) GoString() string {
9356	return s.String()
9357}
9358
9359// Validate inspects the fields of the type to determine if they are valid.
9360func (s *ProfileConfiguration) Validate() error {
9361	invalidParams := request.ErrInvalidParams{Context: "ProfileConfiguration"}
9362	if s.ColumnStatisticsConfigurations != nil && len(s.ColumnStatisticsConfigurations) < 1 {
9363		invalidParams.Add(request.NewErrParamMinLen("ColumnStatisticsConfigurations", 1))
9364	}
9365	if s.ProfileColumns != nil && len(s.ProfileColumns) < 1 {
9366		invalidParams.Add(request.NewErrParamMinLen("ProfileColumns", 1))
9367	}
9368	if s.ColumnStatisticsConfigurations != nil {
9369		for i, v := range s.ColumnStatisticsConfigurations {
9370			if v == nil {
9371				continue
9372			}
9373			if err := v.Validate(); err != nil {
9374				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ColumnStatisticsConfigurations", i), err.(request.ErrInvalidParams))
9375			}
9376		}
9377	}
9378	if s.DatasetStatisticsConfiguration != nil {
9379		if err := s.DatasetStatisticsConfiguration.Validate(); err != nil {
9380			invalidParams.AddNested("DatasetStatisticsConfiguration", err.(request.ErrInvalidParams))
9381		}
9382	}
9383	if s.ProfileColumns != nil {
9384		for i, v := range s.ProfileColumns {
9385			if v == nil {
9386				continue
9387			}
9388			if err := v.Validate(); err != nil {
9389				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProfileColumns", i), err.(request.ErrInvalidParams))
9390			}
9391		}
9392	}
9393
9394	if invalidParams.Len() > 0 {
9395		return invalidParams
9396	}
9397	return nil
9398}
9399
9400// SetColumnStatisticsConfigurations sets the ColumnStatisticsConfigurations field's value.
9401func (s *ProfileConfiguration) SetColumnStatisticsConfigurations(v []*ColumnStatisticsConfiguration) *ProfileConfiguration {
9402	s.ColumnStatisticsConfigurations = v
9403	return s
9404}
9405
9406// SetDatasetStatisticsConfiguration sets the DatasetStatisticsConfiguration field's value.
9407func (s *ProfileConfiguration) SetDatasetStatisticsConfiguration(v *StatisticsConfiguration) *ProfileConfiguration {
9408	s.DatasetStatisticsConfiguration = v
9409	return s
9410}
9411
9412// SetProfileColumns sets the ProfileColumns field's value.
9413func (s *ProfileConfiguration) SetProfileColumns(v []*ColumnSelector) *ProfileConfiguration {
9414	s.ProfileColumns = v
9415	return s
9416}
9417
9418// Represents all of the attributes of a DataBrew project.
9419type Project struct {
9420	_ struct{} `type:"structure"`
9421
9422	// The ID of the Amazon Web Services account that owns the project.
9423	AccountId *string `type:"string"`
9424
9425	// The date and time that the project was created.
9426	CreateDate *time.Time `type:"timestamp"`
9427
9428	// The Amazon Resource Name (ARN) of the user who crated the project.
9429	CreatedBy *string `type:"string"`
9430
9431	// The dataset that the project is to act upon.
9432	DatasetName *string `min:"1" type:"string"`
9433
9434	// The Amazon Resource Name (ARN) of the user who last modified the project.
9435	LastModifiedBy *string `type:"string"`
9436
9437	// The last modification date and time for the project.
9438	LastModifiedDate *time.Time `type:"timestamp"`
9439
9440	// The unique name of a project.
9441	//
9442	// Name is a required field
9443	Name *string `min:"1" type:"string" required:"true"`
9444
9445	// The date and time when the project was opened.
9446	OpenDate *time.Time `type:"timestamp"`
9447
9448	// The Amazon Resource Name (ARN) of the user that opened the project for use.
9449	OpenedBy *string `type:"string"`
9450
9451	// The name of a recipe that will be developed during a project session.
9452	//
9453	// RecipeName is a required field
9454	RecipeName *string `min:"1" type:"string" required:"true"`
9455
9456	// The Amazon Resource Name (ARN) for the project.
9457	ResourceArn *string `min:"20" type:"string"`
9458
9459	// The Amazon Resource Name (ARN) of the role that will be assumed for this
9460	// project.
9461	RoleArn *string `min:"20" type:"string"`
9462
9463	// The sample size and sampling type to apply to the data. If this parameter
9464	// isn't specified, then the sample consists of the first 500 rows from the
9465	// dataset.
9466	Sample *Sample `type:"structure"`
9467
9468	// Metadata tags that have been applied to the project.
9469	Tags map[string]*string `min:"1" type:"map"`
9470}
9471
9472// String returns the string representation
9473func (s Project) String() string {
9474	return awsutil.Prettify(s)
9475}
9476
9477// GoString returns the string representation
9478func (s Project) GoString() string {
9479	return s.String()
9480}
9481
9482// SetAccountId sets the AccountId field's value.
9483func (s *Project) SetAccountId(v string) *Project {
9484	s.AccountId = &v
9485	return s
9486}
9487
9488// SetCreateDate sets the CreateDate field's value.
9489func (s *Project) SetCreateDate(v time.Time) *Project {
9490	s.CreateDate = &v
9491	return s
9492}
9493
9494// SetCreatedBy sets the CreatedBy field's value.
9495func (s *Project) SetCreatedBy(v string) *Project {
9496	s.CreatedBy = &v
9497	return s
9498}
9499
9500// SetDatasetName sets the DatasetName field's value.
9501func (s *Project) SetDatasetName(v string) *Project {
9502	s.DatasetName = &v
9503	return s
9504}
9505
9506// SetLastModifiedBy sets the LastModifiedBy field's value.
9507func (s *Project) SetLastModifiedBy(v string) *Project {
9508	s.LastModifiedBy = &v
9509	return s
9510}
9511
9512// SetLastModifiedDate sets the LastModifiedDate field's value.
9513func (s *Project) SetLastModifiedDate(v time.Time) *Project {
9514	s.LastModifiedDate = &v
9515	return s
9516}
9517
9518// SetName sets the Name field's value.
9519func (s *Project) SetName(v string) *Project {
9520	s.Name = &v
9521	return s
9522}
9523
9524// SetOpenDate sets the OpenDate field's value.
9525func (s *Project) SetOpenDate(v time.Time) *Project {
9526	s.OpenDate = &v
9527	return s
9528}
9529
9530// SetOpenedBy sets the OpenedBy field's value.
9531func (s *Project) SetOpenedBy(v string) *Project {
9532	s.OpenedBy = &v
9533	return s
9534}
9535
9536// SetRecipeName sets the RecipeName field's value.
9537func (s *Project) SetRecipeName(v string) *Project {
9538	s.RecipeName = &v
9539	return s
9540}
9541
9542// SetResourceArn sets the ResourceArn field's value.
9543func (s *Project) SetResourceArn(v string) *Project {
9544	s.ResourceArn = &v
9545	return s
9546}
9547
9548// SetRoleArn sets the RoleArn field's value.
9549func (s *Project) SetRoleArn(v string) *Project {
9550	s.RoleArn = &v
9551	return s
9552}
9553
9554// SetSample sets the Sample field's value.
9555func (s *Project) SetSample(v *Sample) *Project {
9556	s.Sample = v
9557	return s
9558}
9559
9560// SetTags sets the Tags field's value.
9561func (s *Project) SetTags(v map[string]*string) *Project {
9562	s.Tags = v
9563	return s
9564}
9565
9566type PublishRecipeInput struct {
9567	_ struct{} `type:"structure"`
9568
9569	// A description of the recipe to be published, for this version of the recipe.
9570	Description *string `type:"string"`
9571
9572	// The name of the recipe to be published.
9573	//
9574	// Name is a required field
9575	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
9576}
9577
9578// String returns the string representation
9579func (s PublishRecipeInput) String() string {
9580	return awsutil.Prettify(s)
9581}
9582
9583// GoString returns the string representation
9584func (s PublishRecipeInput) GoString() string {
9585	return s.String()
9586}
9587
9588// Validate inspects the fields of the type to determine if they are valid.
9589func (s *PublishRecipeInput) Validate() error {
9590	invalidParams := request.ErrInvalidParams{Context: "PublishRecipeInput"}
9591	if s.Name == nil {
9592		invalidParams.Add(request.NewErrParamRequired("Name"))
9593	}
9594	if s.Name != nil && len(*s.Name) < 1 {
9595		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9596	}
9597
9598	if invalidParams.Len() > 0 {
9599		return invalidParams
9600	}
9601	return nil
9602}
9603
9604// SetDescription sets the Description field's value.
9605func (s *PublishRecipeInput) SetDescription(v string) *PublishRecipeInput {
9606	s.Description = &v
9607	return s
9608}
9609
9610// SetName sets the Name field's value.
9611func (s *PublishRecipeInput) SetName(v string) *PublishRecipeInput {
9612	s.Name = &v
9613	return s
9614}
9615
9616type PublishRecipeOutput struct {
9617	_ struct{} `type:"structure"`
9618
9619	// The name of the recipe that you published.
9620	//
9621	// Name is a required field
9622	Name *string `min:"1" type:"string" required:"true"`
9623}
9624
9625// String returns the string representation
9626func (s PublishRecipeOutput) String() string {
9627	return awsutil.Prettify(s)
9628}
9629
9630// GoString returns the string representation
9631func (s PublishRecipeOutput) GoString() string {
9632	return s.String()
9633}
9634
9635// SetName sets the Name field's value.
9636func (s *PublishRecipeOutput) SetName(v string) *PublishRecipeOutput {
9637	s.Name = &v
9638	return s
9639}
9640
9641// Represents one or more actions to be performed on a DataBrew dataset.
9642type Recipe struct {
9643	_ struct{} `type:"structure"`
9644
9645	// The date and time that the recipe was created.
9646	CreateDate *time.Time `type:"timestamp"`
9647
9648	// The Amazon Resource Name (ARN) of the user who created the recipe.
9649	CreatedBy *string `type:"string"`
9650
9651	// The description of the recipe.
9652	Description *string `type:"string"`
9653
9654	// The Amazon Resource Name (ARN) of the user who last modified the recipe.
9655	LastModifiedBy *string `type:"string"`
9656
9657	// The last modification date and time of the recipe.
9658	LastModifiedDate *time.Time `type:"timestamp"`
9659
9660	// The unique name for the recipe.
9661	//
9662	// Name is a required field
9663	Name *string `min:"1" type:"string" required:"true"`
9664
9665	// The name of the project that the recipe is associated with.
9666	ProjectName *string `min:"1" type:"string"`
9667
9668	// The Amazon Resource Name (ARN) of the user who published the recipe.
9669	PublishedBy *string `type:"string"`
9670
9671	// The date and time when the recipe was published.
9672	PublishedDate *time.Time `type:"timestamp"`
9673
9674	// The identifier for the version for the recipe. Must be one of the following:
9675	//
9676	//    * Numeric version (X.Y) - X and Y stand for major and minor version numbers.
9677	//    The maximum length of each is 6 digits, and neither can be negative values.
9678	//    Both X and Y are required, and "0.0" isn't a valid version.
9679	//
9680	//    * LATEST_WORKING - the most recent valid version being developed in a
9681	//    DataBrew project.
9682	//
9683	//    * LATEST_PUBLISHED - the most recent published version.
9684	RecipeVersion *string `min:"1" type:"string"`
9685
9686	// The Amazon Resource Name (ARN) for the recipe.
9687	ResourceArn *string `min:"20" type:"string"`
9688
9689	// A list of steps that are defined by the recipe.
9690	Steps []*RecipeStep `type:"list"`
9691
9692	// Metadata tags that have been applied to the recipe.
9693	Tags map[string]*string `min:"1" type:"map"`
9694}
9695
9696// String returns the string representation
9697func (s Recipe) String() string {
9698	return awsutil.Prettify(s)
9699}
9700
9701// GoString returns the string representation
9702func (s Recipe) GoString() string {
9703	return s.String()
9704}
9705
9706// SetCreateDate sets the CreateDate field's value.
9707func (s *Recipe) SetCreateDate(v time.Time) *Recipe {
9708	s.CreateDate = &v
9709	return s
9710}
9711
9712// SetCreatedBy sets the CreatedBy field's value.
9713func (s *Recipe) SetCreatedBy(v string) *Recipe {
9714	s.CreatedBy = &v
9715	return s
9716}
9717
9718// SetDescription sets the Description field's value.
9719func (s *Recipe) SetDescription(v string) *Recipe {
9720	s.Description = &v
9721	return s
9722}
9723
9724// SetLastModifiedBy sets the LastModifiedBy field's value.
9725func (s *Recipe) SetLastModifiedBy(v string) *Recipe {
9726	s.LastModifiedBy = &v
9727	return s
9728}
9729
9730// SetLastModifiedDate sets the LastModifiedDate field's value.
9731func (s *Recipe) SetLastModifiedDate(v time.Time) *Recipe {
9732	s.LastModifiedDate = &v
9733	return s
9734}
9735
9736// SetName sets the Name field's value.
9737func (s *Recipe) SetName(v string) *Recipe {
9738	s.Name = &v
9739	return s
9740}
9741
9742// SetProjectName sets the ProjectName field's value.
9743func (s *Recipe) SetProjectName(v string) *Recipe {
9744	s.ProjectName = &v
9745	return s
9746}
9747
9748// SetPublishedBy sets the PublishedBy field's value.
9749func (s *Recipe) SetPublishedBy(v string) *Recipe {
9750	s.PublishedBy = &v
9751	return s
9752}
9753
9754// SetPublishedDate sets the PublishedDate field's value.
9755func (s *Recipe) SetPublishedDate(v time.Time) *Recipe {
9756	s.PublishedDate = &v
9757	return s
9758}
9759
9760// SetRecipeVersion sets the RecipeVersion field's value.
9761func (s *Recipe) SetRecipeVersion(v string) *Recipe {
9762	s.RecipeVersion = &v
9763	return s
9764}
9765
9766// SetResourceArn sets the ResourceArn field's value.
9767func (s *Recipe) SetResourceArn(v string) *Recipe {
9768	s.ResourceArn = &v
9769	return s
9770}
9771
9772// SetSteps sets the Steps field's value.
9773func (s *Recipe) SetSteps(v []*RecipeStep) *Recipe {
9774	s.Steps = v
9775	return s
9776}
9777
9778// SetTags sets the Tags field's value.
9779func (s *Recipe) SetTags(v map[string]*string) *Recipe {
9780	s.Tags = v
9781	return s
9782}
9783
9784// Represents a transformation and associated parameters that are used to apply
9785// a change to a DataBrew dataset. For more information, see Recipe actions
9786// reference (https://docs.aws.amazon.com/databrew/latest/dg/recipe-actions-reference.html).
9787type RecipeAction struct {
9788	_ struct{} `type:"structure"`
9789
9790	// The name of a valid DataBrew transformation to be performed on the data.
9791	//
9792	// Operation is a required field
9793	Operation *string `min:"1" type:"string" required:"true"`
9794
9795	// Contextual parameters for the transformation.
9796	Parameters map[string]*string `type:"map"`
9797}
9798
9799// String returns the string representation
9800func (s RecipeAction) String() string {
9801	return awsutil.Prettify(s)
9802}
9803
9804// GoString returns the string representation
9805func (s RecipeAction) GoString() string {
9806	return s.String()
9807}
9808
9809// Validate inspects the fields of the type to determine if they are valid.
9810func (s *RecipeAction) Validate() error {
9811	invalidParams := request.ErrInvalidParams{Context: "RecipeAction"}
9812	if s.Operation == nil {
9813		invalidParams.Add(request.NewErrParamRequired("Operation"))
9814	}
9815	if s.Operation != nil && len(*s.Operation) < 1 {
9816		invalidParams.Add(request.NewErrParamMinLen("Operation", 1))
9817	}
9818
9819	if invalidParams.Len() > 0 {
9820		return invalidParams
9821	}
9822	return nil
9823}
9824
9825// SetOperation sets the Operation field's value.
9826func (s *RecipeAction) SetOperation(v string) *RecipeAction {
9827	s.Operation = &v
9828	return s
9829}
9830
9831// SetParameters sets the Parameters field's value.
9832func (s *RecipeAction) SetParameters(v map[string]*string) *RecipeAction {
9833	s.Parameters = v
9834	return s
9835}
9836
9837// Represents the name and version of a DataBrew recipe.
9838type RecipeReference struct {
9839	_ struct{} `type:"structure"`
9840
9841	// The name of the recipe.
9842	//
9843	// Name is a required field
9844	Name *string `min:"1" type:"string" required:"true"`
9845
9846	// The identifier for the version for the recipe.
9847	RecipeVersion *string `min:"1" type:"string"`
9848}
9849
9850// String returns the string representation
9851func (s RecipeReference) String() string {
9852	return awsutil.Prettify(s)
9853}
9854
9855// GoString returns the string representation
9856func (s RecipeReference) GoString() string {
9857	return s.String()
9858}
9859
9860// Validate inspects the fields of the type to determine if they are valid.
9861func (s *RecipeReference) Validate() error {
9862	invalidParams := request.ErrInvalidParams{Context: "RecipeReference"}
9863	if s.Name == nil {
9864		invalidParams.Add(request.NewErrParamRequired("Name"))
9865	}
9866	if s.Name != nil && len(*s.Name) < 1 {
9867		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9868	}
9869	if s.RecipeVersion != nil && len(*s.RecipeVersion) < 1 {
9870		invalidParams.Add(request.NewErrParamMinLen("RecipeVersion", 1))
9871	}
9872
9873	if invalidParams.Len() > 0 {
9874		return invalidParams
9875	}
9876	return nil
9877}
9878
9879// SetName sets the Name field's value.
9880func (s *RecipeReference) SetName(v string) *RecipeReference {
9881	s.Name = &v
9882	return s
9883}
9884
9885// SetRecipeVersion sets the RecipeVersion field's value.
9886func (s *RecipeReference) SetRecipeVersion(v string) *RecipeReference {
9887	s.RecipeVersion = &v
9888	return s
9889}
9890
9891// Represents a single step from a DataBrew recipe to be performed.
9892type RecipeStep struct {
9893	_ struct{} `type:"structure"`
9894
9895	// The particular action to be performed in the recipe step.
9896	//
9897	// Action is a required field
9898	Action *RecipeAction `type:"structure" required:"true"`
9899
9900	// One or more conditions that must be met for the recipe step to succeed.
9901	//
9902	// All of the conditions in the array must be met. In other words, all of the
9903	// conditions must be combined using a logical AND operation.
9904	ConditionExpressions []*ConditionExpression `type:"list"`
9905}
9906
9907// String returns the string representation
9908func (s RecipeStep) String() string {
9909	return awsutil.Prettify(s)
9910}
9911
9912// GoString returns the string representation
9913func (s RecipeStep) GoString() string {
9914	return s.String()
9915}
9916
9917// Validate inspects the fields of the type to determine if they are valid.
9918func (s *RecipeStep) Validate() error {
9919	invalidParams := request.ErrInvalidParams{Context: "RecipeStep"}
9920	if s.Action == nil {
9921		invalidParams.Add(request.NewErrParamRequired("Action"))
9922	}
9923	if s.Action != nil {
9924		if err := s.Action.Validate(); err != nil {
9925			invalidParams.AddNested("Action", err.(request.ErrInvalidParams))
9926		}
9927	}
9928	if s.ConditionExpressions != nil {
9929		for i, v := range s.ConditionExpressions {
9930			if v == nil {
9931				continue
9932			}
9933			if err := v.Validate(); err != nil {
9934				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ConditionExpressions", i), err.(request.ErrInvalidParams))
9935			}
9936		}
9937	}
9938
9939	if invalidParams.Len() > 0 {
9940		return invalidParams
9941	}
9942	return nil
9943}
9944
9945// SetAction sets the Action field's value.
9946func (s *RecipeStep) SetAction(v *RecipeAction) *RecipeStep {
9947	s.Action = v
9948	return s
9949}
9950
9951// SetConditionExpressions sets the ConditionExpressions field's value.
9952func (s *RecipeStep) SetConditionExpressions(v []*ConditionExpression) *RecipeStep {
9953	s.ConditionExpressions = v
9954	return s
9955}
9956
9957// Represents any errors encountered when attempting to delete multiple recipe
9958// versions.
9959type RecipeVersionErrorDetail struct {
9960	_ struct{} `type:"structure"`
9961
9962	// The HTTP status code for the error.
9963	ErrorCode *string `type:"string"`
9964
9965	// The text of the error message.
9966	ErrorMessage *string `type:"string"`
9967
9968	// The identifier for the recipe version associated with this error.
9969	RecipeVersion *string `min:"1" type:"string"`
9970}
9971
9972// String returns the string representation
9973func (s RecipeVersionErrorDetail) String() string {
9974	return awsutil.Prettify(s)
9975}
9976
9977// GoString returns the string representation
9978func (s RecipeVersionErrorDetail) GoString() string {
9979	return s.String()
9980}
9981
9982// SetErrorCode sets the ErrorCode field's value.
9983func (s *RecipeVersionErrorDetail) SetErrorCode(v string) *RecipeVersionErrorDetail {
9984	s.ErrorCode = &v
9985	return s
9986}
9987
9988// SetErrorMessage sets the ErrorMessage field's value.
9989func (s *RecipeVersionErrorDetail) SetErrorMessage(v string) *RecipeVersionErrorDetail {
9990	s.ErrorMessage = &v
9991	return s
9992}
9993
9994// SetRecipeVersion sets the RecipeVersion field's value.
9995func (s *RecipeVersionErrorDetail) SetRecipeVersion(v string) *RecipeVersionErrorDetail {
9996	s.RecipeVersion = &v
9997	return s
9998}
9999
10000// One or more resources can't be found.
10001type ResourceNotFoundException struct {
10002	_            struct{}                  `type:"structure"`
10003	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10004
10005	Message_ *string `locationName:"Message" type:"string"`
10006}
10007
10008// String returns the string representation
10009func (s ResourceNotFoundException) String() string {
10010	return awsutil.Prettify(s)
10011}
10012
10013// GoString returns the string representation
10014func (s ResourceNotFoundException) GoString() string {
10015	return s.String()
10016}
10017
10018func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
10019	return &ResourceNotFoundException{
10020		RespMetadata: v,
10021	}
10022}
10023
10024// Code returns the exception type name.
10025func (s *ResourceNotFoundException) Code() string {
10026	return "ResourceNotFoundException"
10027}
10028
10029// Message returns the exception's message.
10030func (s *ResourceNotFoundException) Message() string {
10031	if s.Message_ != nil {
10032		return *s.Message_
10033	}
10034	return ""
10035}
10036
10037// OrigErr always returns nil, satisfies awserr.Error interface.
10038func (s *ResourceNotFoundException) OrigErr() error {
10039	return nil
10040}
10041
10042func (s *ResourceNotFoundException) Error() string {
10043	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10044}
10045
10046// Status code returns the HTTP status code for the request's response error.
10047func (s *ResourceNotFoundException) StatusCode() int {
10048	return s.RespMetadata.StatusCode
10049}
10050
10051// RequestID returns the service's response RequestID for request.
10052func (s *ResourceNotFoundException) RequestID() string {
10053	return s.RespMetadata.RequestID
10054}
10055
10056// Represents an Amazon S3 location (bucket name and object key) where DataBrew
10057// can read input data, or write output from a job.
10058type S3Location struct {
10059	_ struct{} `type:"structure"`
10060
10061	// The Amazon S3 bucket name.
10062	//
10063	// Bucket is a required field
10064	Bucket *string `min:"3" type:"string" required:"true"`
10065
10066	// The unique name of the object in the bucket.
10067	Key *string `min:"1" type:"string"`
10068}
10069
10070// String returns the string representation
10071func (s S3Location) String() string {
10072	return awsutil.Prettify(s)
10073}
10074
10075// GoString returns the string representation
10076func (s S3Location) GoString() string {
10077	return s.String()
10078}
10079
10080// Validate inspects the fields of the type to determine if they are valid.
10081func (s *S3Location) Validate() error {
10082	invalidParams := request.ErrInvalidParams{Context: "S3Location"}
10083	if s.Bucket == nil {
10084		invalidParams.Add(request.NewErrParamRequired("Bucket"))
10085	}
10086	if s.Bucket != nil && len(*s.Bucket) < 3 {
10087		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
10088	}
10089	if s.Key != nil && len(*s.Key) < 1 {
10090		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10091	}
10092
10093	if invalidParams.Len() > 0 {
10094		return invalidParams
10095	}
10096	return nil
10097}
10098
10099// SetBucket sets the Bucket field's value.
10100func (s *S3Location) SetBucket(v string) *S3Location {
10101	s.Bucket = &v
10102	return s
10103}
10104
10105// SetKey sets the Key field's value.
10106func (s *S3Location) SetKey(v string) *S3Location {
10107	s.Key = &v
10108	return s
10109}
10110
10111// Represents options that specify how and where DataBrew writes the Amazon
10112// S3 output generated by recipe jobs.
10113type S3TableOutputOptions struct {
10114	_ struct{} `type:"structure"`
10115
10116	// Represents an Amazon S3 location (bucket name and object key) where DataBrew
10117	// can write output from a job.
10118	//
10119	// Location is a required field
10120	Location *S3Location `type:"structure" required:"true"`
10121}
10122
10123// String returns the string representation
10124func (s S3TableOutputOptions) String() string {
10125	return awsutil.Prettify(s)
10126}
10127
10128// GoString returns the string representation
10129func (s S3TableOutputOptions) GoString() string {
10130	return s.String()
10131}
10132
10133// Validate inspects the fields of the type to determine if they are valid.
10134func (s *S3TableOutputOptions) Validate() error {
10135	invalidParams := request.ErrInvalidParams{Context: "S3TableOutputOptions"}
10136	if s.Location == nil {
10137		invalidParams.Add(request.NewErrParamRequired("Location"))
10138	}
10139	if s.Location != nil {
10140		if err := s.Location.Validate(); err != nil {
10141			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
10142		}
10143	}
10144
10145	if invalidParams.Len() > 0 {
10146		return invalidParams
10147	}
10148	return nil
10149}
10150
10151// SetLocation sets the Location field's value.
10152func (s *S3TableOutputOptions) SetLocation(v *S3Location) *S3TableOutputOptions {
10153	s.Location = v
10154	return s
10155}
10156
10157// Represents the sample size and sampling type for DataBrew to use for interactive
10158// data analysis.
10159type Sample struct {
10160	_ struct{} `type:"structure"`
10161
10162	// The number of rows in the sample.
10163	Size *int64 `min:"1" type:"integer"`
10164
10165	// The way in which DataBrew obtains rows from a dataset.
10166	//
10167	// Type is a required field
10168	Type *string `type:"string" required:"true" enum:"SampleType"`
10169}
10170
10171// String returns the string representation
10172func (s Sample) String() string {
10173	return awsutil.Prettify(s)
10174}
10175
10176// GoString returns the string representation
10177func (s Sample) GoString() string {
10178	return s.String()
10179}
10180
10181// Validate inspects the fields of the type to determine if they are valid.
10182func (s *Sample) Validate() error {
10183	invalidParams := request.ErrInvalidParams{Context: "Sample"}
10184	if s.Size != nil && *s.Size < 1 {
10185		invalidParams.Add(request.NewErrParamMinValue("Size", 1))
10186	}
10187	if s.Type == nil {
10188		invalidParams.Add(request.NewErrParamRequired("Type"))
10189	}
10190
10191	if invalidParams.Len() > 0 {
10192		return invalidParams
10193	}
10194	return nil
10195}
10196
10197// SetSize sets the Size field's value.
10198func (s *Sample) SetSize(v int64) *Sample {
10199	s.Size = &v
10200	return s
10201}
10202
10203// SetType sets the Type field's value.
10204func (s *Sample) SetType(v string) *Sample {
10205	s.Type = &v
10206	return s
10207}
10208
10209// Represents one or more dates and times when a job is to run.
10210type Schedule struct {
10211	_ struct{} `type:"structure"`
10212
10213	// The ID of the Amazon Web Services account that owns the schedule.
10214	AccountId *string `type:"string"`
10215
10216	// The date and time that the schedule was created.
10217	CreateDate *time.Time `type:"timestamp"`
10218
10219	// The Amazon Resource Name (ARN) of the user who created the schedule.
10220	CreatedBy *string `type:"string"`
10221
10222	// The dates and times when the job is to run. For more information, see Cron
10223	// expressions (https://docs.aws.amazon.com/databrew/latest/dg/jobs.cron.html)
10224	// in the Glue DataBrew Developer Guide.
10225	CronExpression *string `min:"1" type:"string"`
10226
10227	// A list of jobs to be run, according to the schedule.
10228	JobNames []*string `type:"list"`
10229
10230	// The Amazon Resource Name (ARN) of the user who last modified the schedule.
10231	LastModifiedBy *string `type:"string"`
10232
10233	// The date and time when the schedule was last modified.
10234	LastModifiedDate *time.Time `type:"timestamp"`
10235
10236	// The name of the schedule.
10237	//
10238	// Name is a required field
10239	Name *string `min:"1" type:"string" required:"true"`
10240
10241	// The Amazon Resource Name (ARN) of the schedule.
10242	ResourceArn *string `min:"20" type:"string"`
10243
10244	// Metadata tags that have been applied to the schedule.
10245	Tags map[string]*string `min:"1" type:"map"`
10246}
10247
10248// String returns the string representation
10249func (s Schedule) String() string {
10250	return awsutil.Prettify(s)
10251}
10252
10253// GoString returns the string representation
10254func (s Schedule) GoString() string {
10255	return s.String()
10256}
10257
10258// SetAccountId sets the AccountId field's value.
10259func (s *Schedule) SetAccountId(v string) *Schedule {
10260	s.AccountId = &v
10261	return s
10262}
10263
10264// SetCreateDate sets the CreateDate field's value.
10265func (s *Schedule) SetCreateDate(v time.Time) *Schedule {
10266	s.CreateDate = &v
10267	return s
10268}
10269
10270// SetCreatedBy sets the CreatedBy field's value.
10271func (s *Schedule) SetCreatedBy(v string) *Schedule {
10272	s.CreatedBy = &v
10273	return s
10274}
10275
10276// SetCronExpression sets the CronExpression field's value.
10277func (s *Schedule) SetCronExpression(v string) *Schedule {
10278	s.CronExpression = &v
10279	return s
10280}
10281
10282// SetJobNames sets the JobNames field's value.
10283func (s *Schedule) SetJobNames(v []*string) *Schedule {
10284	s.JobNames = v
10285	return s
10286}
10287
10288// SetLastModifiedBy sets the LastModifiedBy field's value.
10289func (s *Schedule) SetLastModifiedBy(v string) *Schedule {
10290	s.LastModifiedBy = &v
10291	return s
10292}
10293
10294// SetLastModifiedDate sets the LastModifiedDate field's value.
10295func (s *Schedule) SetLastModifiedDate(v time.Time) *Schedule {
10296	s.LastModifiedDate = &v
10297	return s
10298}
10299
10300// SetName sets the Name field's value.
10301func (s *Schedule) SetName(v string) *Schedule {
10302	s.Name = &v
10303	return s
10304}
10305
10306// SetResourceArn sets the ResourceArn field's value.
10307func (s *Schedule) SetResourceArn(v string) *Schedule {
10308	s.ResourceArn = &v
10309	return s
10310}
10311
10312// SetTags sets the Tags field's value.
10313func (s *Schedule) SetTags(v map[string]*string) *Schedule {
10314	s.Tags = v
10315	return s
10316}
10317
10318type SendProjectSessionActionInput struct {
10319	_ struct{} `type:"structure"`
10320
10321	// A unique identifier for an interactive session that's currently open and
10322	// ready for work. The action will be performed on this session.
10323	ClientSessionId *string `min:"1" type:"string"`
10324
10325	// The name of the project to apply the action to.
10326	//
10327	// Name is a required field
10328	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
10329
10330	// If true, the result of the recipe step will be returned, but not applied.
10331	Preview *bool `type:"boolean"`
10332
10333	// Represents a single step from a DataBrew recipe to be performed.
10334	RecipeStep *RecipeStep `type:"structure"`
10335
10336	// The index from which to preview a step. This index is used to preview the
10337	// result of steps that have already been applied, so that the resulting view
10338	// frame is from earlier in the view frame stack.
10339	StepIndex *int64 `type:"integer"`
10340
10341	// Represents the data being transformed during an action.
10342	ViewFrame *ViewFrame `type:"structure"`
10343}
10344
10345// String returns the string representation
10346func (s SendProjectSessionActionInput) String() string {
10347	return awsutil.Prettify(s)
10348}
10349
10350// GoString returns the string representation
10351func (s SendProjectSessionActionInput) GoString() string {
10352	return s.String()
10353}
10354
10355// Validate inspects the fields of the type to determine if they are valid.
10356func (s *SendProjectSessionActionInput) Validate() error {
10357	invalidParams := request.ErrInvalidParams{Context: "SendProjectSessionActionInput"}
10358	if s.ClientSessionId != nil && len(*s.ClientSessionId) < 1 {
10359		invalidParams.Add(request.NewErrParamMinLen("ClientSessionId", 1))
10360	}
10361	if s.Name == nil {
10362		invalidParams.Add(request.NewErrParamRequired("Name"))
10363	}
10364	if s.Name != nil && len(*s.Name) < 1 {
10365		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10366	}
10367	if s.RecipeStep != nil {
10368		if err := s.RecipeStep.Validate(); err != nil {
10369			invalidParams.AddNested("RecipeStep", err.(request.ErrInvalidParams))
10370		}
10371	}
10372	if s.ViewFrame != nil {
10373		if err := s.ViewFrame.Validate(); err != nil {
10374			invalidParams.AddNested("ViewFrame", err.(request.ErrInvalidParams))
10375		}
10376	}
10377
10378	if invalidParams.Len() > 0 {
10379		return invalidParams
10380	}
10381	return nil
10382}
10383
10384// SetClientSessionId sets the ClientSessionId field's value.
10385func (s *SendProjectSessionActionInput) SetClientSessionId(v string) *SendProjectSessionActionInput {
10386	s.ClientSessionId = &v
10387	return s
10388}
10389
10390// SetName sets the Name field's value.
10391func (s *SendProjectSessionActionInput) SetName(v string) *SendProjectSessionActionInput {
10392	s.Name = &v
10393	return s
10394}
10395
10396// SetPreview sets the Preview field's value.
10397func (s *SendProjectSessionActionInput) SetPreview(v bool) *SendProjectSessionActionInput {
10398	s.Preview = &v
10399	return s
10400}
10401
10402// SetRecipeStep sets the RecipeStep field's value.
10403func (s *SendProjectSessionActionInput) SetRecipeStep(v *RecipeStep) *SendProjectSessionActionInput {
10404	s.RecipeStep = v
10405	return s
10406}
10407
10408// SetStepIndex sets the StepIndex field's value.
10409func (s *SendProjectSessionActionInput) SetStepIndex(v int64) *SendProjectSessionActionInput {
10410	s.StepIndex = &v
10411	return s
10412}
10413
10414// SetViewFrame sets the ViewFrame field's value.
10415func (s *SendProjectSessionActionInput) SetViewFrame(v *ViewFrame) *SendProjectSessionActionInput {
10416	s.ViewFrame = v
10417	return s
10418}
10419
10420type SendProjectSessionActionOutput struct {
10421	_ struct{} `type:"structure"`
10422
10423	// A unique identifier for the action that was performed.
10424	ActionId *int64 `type:"integer"`
10425
10426	// The name of the project that was affected by the action.
10427	//
10428	// Name is a required field
10429	Name *string `min:"1" type:"string" required:"true"`
10430
10431	// A message indicating the result of performing the action.
10432	Result *string `type:"string"`
10433}
10434
10435// String returns the string representation
10436func (s SendProjectSessionActionOutput) String() string {
10437	return awsutil.Prettify(s)
10438}
10439
10440// GoString returns the string representation
10441func (s SendProjectSessionActionOutput) GoString() string {
10442	return s.String()
10443}
10444
10445// SetActionId sets the ActionId field's value.
10446func (s *SendProjectSessionActionOutput) SetActionId(v int64) *SendProjectSessionActionOutput {
10447	s.ActionId = &v
10448	return s
10449}
10450
10451// SetName sets the Name field's value.
10452func (s *SendProjectSessionActionOutput) SetName(v string) *SendProjectSessionActionOutput {
10453	s.Name = &v
10454	return s
10455}
10456
10457// SetResult sets the Result field's value.
10458func (s *SendProjectSessionActionOutput) SetResult(v string) *SendProjectSessionActionOutput {
10459	s.Result = &v
10460	return s
10461}
10462
10463// A service quota is exceeded.
10464type ServiceQuotaExceededException struct {
10465	_            struct{}                  `type:"structure"`
10466	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10467
10468	Message_ *string `locationName:"Message" type:"string"`
10469}
10470
10471// String returns the string representation
10472func (s ServiceQuotaExceededException) String() string {
10473	return awsutil.Prettify(s)
10474}
10475
10476// GoString returns the string representation
10477func (s ServiceQuotaExceededException) GoString() string {
10478	return s.String()
10479}
10480
10481func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
10482	return &ServiceQuotaExceededException{
10483		RespMetadata: v,
10484	}
10485}
10486
10487// Code returns the exception type name.
10488func (s *ServiceQuotaExceededException) Code() string {
10489	return "ServiceQuotaExceededException"
10490}
10491
10492// Message returns the exception's message.
10493func (s *ServiceQuotaExceededException) Message() string {
10494	if s.Message_ != nil {
10495		return *s.Message_
10496	}
10497	return ""
10498}
10499
10500// OrigErr always returns nil, satisfies awserr.Error interface.
10501func (s *ServiceQuotaExceededException) OrigErr() error {
10502	return nil
10503}
10504
10505func (s *ServiceQuotaExceededException) Error() string {
10506	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10507}
10508
10509// Status code returns the HTTP status code for the request's response error.
10510func (s *ServiceQuotaExceededException) StatusCode() int {
10511	return s.RespMetadata.StatusCode
10512}
10513
10514// RequestID returns the service's response RequestID for request.
10515func (s *ServiceQuotaExceededException) RequestID() string {
10516	return s.RespMetadata.RequestID
10517}
10518
10519type StartJobRunInput struct {
10520	_ struct{} `type:"structure"`
10521
10522	// The name of the job to be run.
10523	//
10524	// Name is a required field
10525	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
10526}
10527
10528// String returns the string representation
10529func (s StartJobRunInput) String() string {
10530	return awsutil.Prettify(s)
10531}
10532
10533// GoString returns the string representation
10534func (s StartJobRunInput) GoString() string {
10535	return s.String()
10536}
10537
10538// Validate inspects the fields of the type to determine if they are valid.
10539func (s *StartJobRunInput) Validate() error {
10540	invalidParams := request.ErrInvalidParams{Context: "StartJobRunInput"}
10541	if s.Name == nil {
10542		invalidParams.Add(request.NewErrParamRequired("Name"))
10543	}
10544	if s.Name != nil && len(*s.Name) < 1 {
10545		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10546	}
10547
10548	if invalidParams.Len() > 0 {
10549		return invalidParams
10550	}
10551	return nil
10552}
10553
10554// SetName sets the Name field's value.
10555func (s *StartJobRunInput) SetName(v string) *StartJobRunInput {
10556	s.Name = &v
10557	return s
10558}
10559
10560type StartJobRunOutput struct {
10561	_ struct{} `type:"structure"`
10562
10563	// A system-generated identifier for this particular job run.
10564	//
10565	// RunId is a required field
10566	RunId *string `min:"1" type:"string" required:"true"`
10567}
10568
10569// String returns the string representation
10570func (s StartJobRunOutput) String() string {
10571	return awsutil.Prettify(s)
10572}
10573
10574// GoString returns the string representation
10575func (s StartJobRunOutput) GoString() string {
10576	return s.String()
10577}
10578
10579// SetRunId sets the RunId field's value.
10580func (s *StartJobRunOutput) SetRunId(v string) *StartJobRunOutput {
10581	s.RunId = &v
10582	return s
10583}
10584
10585type StartProjectSessionInput struct {
10586	_ struct{} `type:"structure"`
10587
10588	// A value that, if true, enables you to take control of a session, even if
10589	// a different client is currently accessing the project.
10590	AssumeControl *bool `type:"boolean"`
10591
10592	// The name of the project to act upon.
10593	//
10594	// Name is a required field
10595	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
10596}
10597
10598// String returns the string representation
10599func (s StartProjectSessionInput) String() string {
10600	return awsutil.Prettify(s)
10601}
10602
10603// GoString returns the string representation
10604func (s StartProjectSessionInput) GoString() string {
10605	return s.String()
10606}
10607
10608// Validate inspects the fields of the type to determine if they are valid.
10609func (s *StartProjectSessionInput) Validate() error {
10610	invalidParams := request.ErrInvalidParams{Context: "StartProjectSessionInput"}
10611	if s.Name == nil {
10612		invalidParams.Add(request.NewErrParamRequired("Name"))
10613	}
10614	if s.Name != nil && len(*s.Name) < 1 {
10615		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10616	}
10617
10618	if invalidParams.Len() > 0 {
10619		return invalidParams
10620	}
10621	return nil
10622}
10623
10624// SetAssumeControl sets the AssumeControl field's value.
10625func (s *StartProjectSessionInput) SetAssumeControl(v bool) *StartProjectSessionInput {
10626	s.AssumeControl = &v
10627	return s
10628}
10629
10630// SetName sets the Name field's value.
10631func (s *StartProjectSessionInput) SetName(v string) *StartProjectSessionInput {
10632	s.Name = &v
10633	return s
10634}
10635
10636type StartProjectSessionOutput struct {
10637	_ struct{} `type:"structure"`
10638
10639	// A system-generated identifier for the session.
10640	ClientSessionId *string `min:"1" type:"string"`
10641
10642	// The name of the project to be acted upon.
10643	//
10644	// Name is a required field
10645	Name *string `min:"1" type:"string" required:"true"`
10646}
10647
10648// String returns the string representation
10649func (s StartProjectSessionOutput) String() string {
10650	return awsutil.Prettify(s)
10651}
10652
10653// GoString returns the string representation
10654func (s StartProjectSessionOutput) GoString() string {
10655	return s.String()
10656}
10657
10658// SetClientSessionId sets the ClientSessionId field's value.
10659func (s *StartProjectSessionOutput) SetClientSessionId(v string) *StartProjectSessionOutput {
10660	s.ClientSessionId = &v
10661	return s
10662}
10663
10664// SetName sets the Name field's value.
10665func (s *StartProjectSessionOutput) SetName(v string) *StartProjectSessionOutput {
10666	s.Name = &v
10667	return s
10668}
10669
10670// Override of a particular evaluation for a profile job.
10671type StatisticOverride struct {
10672	_ struct{} `type:"structure"`
10673
10674	// A map that includes overrides of an evaluation’s parameters.
10675	//
10676	// Parameters is a required field
10677	Parameters map[string]*string `type:"map" required:"true"`
10678
10679	// The name of an evaluation
10680	//
10681	// Statistic is a required field
10682	Statistic *string `min:"1" type:"string" required:"true"`
10683}
10684
10685// String returns the string representation
10686func (s StatisticOverride) String() string {
10687	return awsutil.Prettify(s)
10688}
10689
10690// GoString returns the string representation
10691func (s StatisticOverride) GoString() string {
10692	return s.String()
10693}
10694
10695// Validate inspects the fields of the type to determine if they are valid.
10696func (s *StatisticOverride) Validate() error {
10697	invalidParams := request.ErrInvalidParams{Context: "StatisticOverride"}
10698	if s.Parameters == nil {
10699		invalidParams.Add(request.NewErrParamRequired("Parameters"))
10700	}
10701	if s.Statistic == nil {
10702		invalidParams.Add(request.NewErrParamRequired("Statistic"))
10703	}
10704	if s.Statistic != nil && len(*s.Statistic) < 1 {
10705		invalidParams.Add(request.NewErrParamMinLen("Statistic", 1))
10706	}
10707
10708	if invalidParams.Len() > 0 {
10709		return invalidParams
10710	}
10711	return nil
10712}
10713
10714// SetParameters sets the Parameters field's value.
10715func (s *StatisticOverride) SetParameters(v map[string]*string) *StatisticOverride {
10716	s.Parameters = v
10717	return s
10718}
10719
10720// SetStatistic sets the Statistic field's value.
10721func (s *StatisticOverride) SetStatistic(v string) *StatisticOverride {
10722	s.Statistic = &v
10723	return s
10724}
10725
10726// Configuration of evaluations for a profile job. This configuration can be
10727// used to select evaluations and override the parameters of selected evaluations.
10728type StatisticsConfiguration struct {
10729	_ struct{} `type:"structure"`
10730
10731	// List of included evaluations. When the list is undefined, all supported evaluations
10732	// will be included.
10733	IncludedStatistics []*string `min:"1" type:"list"`
10734
10735	// List of overrides for evaluations.
10736	Overrides []*StatisticOverride `min:"1" type:"list"`
10737}
10738
10739// String returns the string representation
10740func (s StatisticsConfiguration) String() string {
10741	return awsutil.Prettify(s)
10742}
10743
10744// GoString returns the string representation
10745func (s StatisticsConfiguration) GoString() string {
10746	return s.String()
10747}
10748
10749// Validate inspects the fields of the type to determine if they are valid.
10750func (s *StatisticsConfiguration) Validate() error {
10751	invalidParams := request.ErrInvalidParams{Context: "StatisticsConfiguration"}
10752	if s.IncludedStatistics != nil && len(s.IncludedStatistics) < 1 {
10753		invalidParams.Add(request.NewErrParamMinLen("IncludedStatistics", 1))
10754	}
10755	if s.Overrides != nil && len(s.Overrides) < 1 {
10756		invalidParams.Add(request.NewErrParamMinLen("Overrides", 1))
10757	}
10758	if s.Overrides != nil {
10759		for i, v := range s.Overrides {
10760			if v == nil {
10761				continue
10762			}
10763			if err := v.Validate(); err != nil {
10764				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Overrides", i), err.(request.ErrInvalidParams))
10765			}
10766		}
10767	}
10768
10769	if invalidParams.Len() > 0 {
10770		return invalidParams
10771	}
10772	return nil
10773}
10774
10775// SetIncludedStatistics sets the IncludedStatistics field's value.
10776func (s *StatisticsConfiguration) SetIncludedStatistics(v []*string) *StatisticsConfiguration {
10777	s.IncludedStatistics = v
10778	return s
10779}
10780
10781// SetOverrides sets the Overrides field's value.
10782func (s *StatisticsConfiguration) SetOverrides(v []*StatisticOverride) *StatisticsConfiguration {
10783	s.Overrides = v
10784	return s
10785}
10786
10787type StopJobRunInput struct {
10788	_ struct{} `type:"structure"`
10789
10790	// The name of the job to be stopped.
10791	//
10792	// Name is a required field
10793	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
10794
10795	// The ID of the job run to be stopped.
10796	//
10797	// RunId is a required field
10798	RunId *string `location:"uri" locationName:"runId" min:"1" type:"string" required:"true"`
10799}
10800
10801// String returns the string representation
10802func (s StopJobRunInput) String() string {
10803	return awsutil.Prettify(s)
10804}
10805
10806// GoString returns the string representation
10807func (s StopJobRunInput) GoString() string {
10808	return s.String()
10809}
10810
10811// Validate inspects the fields of the type to determine if they are valid.
10812func (s *StopJobRunInput) Validate() error {
10813	invalidParams := request.ErrInvalidParams{Context: "StopJobRunInput"}
10814	if s.Name == nil {
10815		invalidParams.Add(request.NewErrParamRequired("Name"))
10816	}
10817	if s.Name != nil && len(*s.Name) < 1 {
10818		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10819	}
10820	if s.RunId == nil {
10821		invalidParams.Add(request.NewErrParamRequired("RunId"))
10822	}
10823	if s.RunId != nil && len(*s.RunId) < 1 {
10824		invalidParams.Add(request.NewErrParamMinLen("RunId", 1))
10825	}
10826
10827	if invalidParams.Len() > 0 {
10828		return invalidParams
10829	}
10830	return nil
10831}
10832
10833// SetName sets the Name field's value.
10834func (s *StopJobRunInput) SetName(v string) *StopJobRunInput {
10835	s.Name = &v
10836	return s
10837}
10838
10839// SetRunId sets the RunId field's value.
10840func (s *StopJobRunInput) SetRunId(v string) *StopJobRunInput {
10841	s.RunId = &v
10842	return s
10843}
10844
10845type StopJobRunOutput struct {
10846	_ struct{} `type:"structure"`
10847
10848	// The ID of the job run that you stopped.
10849	//
10850	// RunId is a required field
10851	RunId *string `min:"1" type:"string" required:"true"`
10852}
10853
10854// String returns the string representation
10855func (s StopJobRunOutput) String() string {
10856	return awsutil.Prettify(s)
10857}
10858
10859// GoString returns the string representation
10860func (s StopJobRunOutput) GoString() string {
10861	return s.String()
10862}
10863
10864// SetRunId sets the RunId field's value.
10865func (s *StopJobRunOutput) SetRunId(v string) *StopJobRunOutput {
10866	s.RunId = &v
10867	return s
10868}
10869
10870type TagResourceInput struct {
10871	_ struct{} `type:"structure"`
10872
10873	// The DataBrew resource to which tags should be added. The value for this parameter
10874	// is an Amazon Resource Name (ARN). For DataBrew, you can tag a dataset, a
10875	// job, a project, or a recipe.
10876	//
10877	// ResourceArn is a required field
10878	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"`
10879
10880	// One or more tags to be assigned to the resource.
10881	//
10882	// Tags is a required field
10883	Tags map[string]*string `min:"1" type:"map" required:"true"`
10884}
10885
10886// String returns the string representation
10887func (s TagResourceInput) String() string {
10888	return awsutil.Prettify(s)
10889}
10890
10891// GoString returns the string representation
10892func (s TagResourceInput) GoString() string {
10893	return s.String()
10894}
10895
10896// Validate inspects the fields of the type to determine if they are valid.
10897func (s *TagResourceInput) Validate() error {
10898	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
10899	if s.ResourceArn == nil {
10900		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10901	}
10902	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
10903		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
10904	}
10905	if s.Tags == nil {
10906		invalidParams.Add(request.NewErrParamRequired("Tags"))
10907	}
10908	if s.Tags != nil && len(s.Tags) < 1 {
10909		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
10910	}
10911
10912	if invalidParams.Len() > 0 {
10913		return invalidParams
10914	}
10915	return nil
10916}
10917
10918// SetResourceArn sets the ResourceArn field's value.
10919func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
10920	s.ResourceArn = &v
10921	return s
10922}
10923
10924// SetTags sets the Tags field's value.
10925func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
10926	s.Tags = v
10927	return s
10928}
10929
10930type TagResourceOutput struct {
10931	_ struct{} `type:"structure"`
10932}
10933
10934// String returns the string representation
10935func (s TagResourceOutput) String() string {
10936	return awsutil.Prettify(s)
10937}
10938
10939// GoString returns the string representation
10940func (s TagResourceOutput) GoString() string {
10941	return s.String()
10942}
10943
10944type UntagResourceInput struct {
10945	_ struct{} `type:"structure"`
10946
10947	// A DataBrew resource from which you want to remove a tag or tags. The value
10948	// for this parameter is an Amazon Resource Name (ARN).
10949	//
10950	// ResourceArn is a required field
10951	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"`
10952
10953	// The tag keys (names) of one or more tags to be removed.
10954	//
10955	// TagKeys is a required field
10956	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
10957}
10958
10959// String returns the string representation
10960func (s UntagResourceInput) String() string {
10961	return awsutil.Prettify(s)
10962}
10963
10964// GoString returns the string representation
10965func (s UntagResourceInput) GoString() string {
10966	return s.String()
10967}
10968
10969// Validate inspects the fields of the type to determine if they are valid.
10970func (s *UntagResourceInput) Validate() error {
10971	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
10972	if s.ResourceArn == nil {
10973		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10974	}
10975	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
10976		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
10977	}
10978	if s.TagKeys == nil {
10979		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
10980	}
10981	if s.TagKeys != nil && len(s.TagKeys) < 1 {
10982		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
10983	}
10984
10985	if invalidParams.Len() > 0 {
10986		return invalidParams
10987	}
10988	return nil
10989}
10990
10991// SetResourceArn sets the ResourceArn field's value.
10992func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
10993	s.ResourceArn = &v
10994	return s
10995}
10996
10997// SetTagKeys sets the TagKeys field's value.
10998func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
10999	s.TagKeys = v
11000	return s
11001}
11002
11003type UntagResourceOutput struct {
11004	_ struct{} `type:"structure"`
11005}
11006
11007// String returns the string representation
11008func (s UntagResourceOutput) String() string {
11009	return awsutil.Prettify(s)
11010}
11011
11012// GoString returns the string representation
11013func (s UntagResourceOutput) GoString() string {
11014	return s.String()
11015}
11016
11017type UpdateDatasetInput struct {
11018	_ struct{} `type:"structure"`
11019
11020	// The file format of a dataset that is created from an Amazon S3 file or folder.
11021	Format *string `type:"string" enum:"InputFormat"`
11022
11023	// Represents a set of options that define the structure of either comma-separated
11024	// value (CSV), Excel, or JSON input.
11025	FormatOptions *FormatOptions `type:"structure"`
11026
11027	// Represents information on how DataBrew can find data, in either the Glue
11028	// Data Catalog or Amazon S3.
11029	//
11030	// Input is a required field
11031	Input *Input `type:"structure" required:"true"`
11032
11033	// The name of the dataset to be updated.
11034	//
11035	// Name is a required field
11036	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
11037
11038	// A set of options that defines how DataBrew interprets an Amazon S3 path of
11039	// the dataset.
11040	PathOptions *PathOptions `type:"structure"`
11041}
11042
11043// String returns the string representation
11044func (s UpdateDatasetInput) String() string {
11045	return awsutil.Prettify(s)
11046}
11047
11048// GoString returns the string representation
11049func (s UpdateDatasetInput) GoString() string {
11050	return s.String()
11051}
11052
11053// Validate inspects the fields of the type to determine if they are valid.
11054func (s *UpdateDatasetInput) Validate() error {
11055	invalidParams := request.ErrInvalidParams{Context: "UpdateDatasetInput"}
11056	if s.Input == nil {
11057		invalidParams.Add(request.NewErrParamRequired("Input"))
11058	}
11059	if s.Name == nil {
11060		invalidParams.Add(request.NewErrParamRequired("Name"))
11061	}
11062	if s.Name != nil && len(*s.Name) < 1 {
11063		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11064	}
11065	if s.FormatOptions != nil {
11066		if err := s.FormatOptions.Validate(); err != nil {
11067			invalidParams.AddNested("FormatOptions", err.(request.ErrInvalidParams))
11068		}
11069	}
11070	if s.Input != nil {
11071		if err := s.Input.Validate(); err != nil {
11072			invalidParams.AddNested("Input", err.(request.ErrInvalidParams))
11073		}
11074	}
11075	if s.PathOptions != nil {
11076		if err := s.PathOptions.Validate(); err != nil {
11077			invalidParams.AddNested("PathOptions", err.(request.ErrInvalidParams))
11078		}
11079	}
11080
11081	if invalidParams.Len() > 0 {
11082		return invalidParams
11083	}
11084	return nil
11085}
11086
11087// SetFormat sets the Format field's value.
11088func (s *UpdateDatasetInput) SetFormat(v string) *UpdateDatasetInput {
11089	s.Format = &v
11090	return s
11091}
11092
11093// SetFormatOptions sets the FormatOptions field's value.
11094func (s *UpdateDatasetInput) SetFormatOptions(v *FormatOptions) *UpdateDatasetInput {
11095	s.FormatOptions = v
11096	return s
11097}
11098
11099// SetInput sets the Input field's value.
11100func (s *UpdateDatasetInput) SetInput(v *Input) *UpdateDatasetInput {
11101	s.Input = v
11102	return s
11103}
11104
11105// SetName sets the Name field's value.
11106func (s *UpdateDatasetInput) SetName(v string) *UpdateDatasetInput {
11107	s.Name = &v
11108	return s
11109}
11110
11111// SetPathOptions sets the PathOptions field's value.
11112func (s *UpdateDatasetInput) SetPathOptions(v *PathOptions) *UpdateDatasetInput {
11113	s.PathOptions = v
11114	return s
11115}
11116
11117type UpdateDatasetOutput struct {
11118	_ struct{} `type:"structure"`
11119
11120	// The name of the dataset that you updated.
11121	//
11122	// Name is a required field
11123	Name *string `min:"1" type:"string" required:"true"`
11124}
11125
11126// String returns the string representation
11127func (s UpdateDatasetOutput) String() string {
11128	return awsutil.Prettify(s)
11129}
11130
11131// GoString returns the string representation
11132func (s UpdateDatasetOutput) GoString() string {
11133	return s.String()
11134}
11135
11136// SetName sets the Name field's value.
11137func (s *UpdateDatasetOutput) SetName(v string) *UpdateDatasetOutput {
11138	s.Name = &v
11139	return s
11140}
11141
11142type UpdateProfileJobInput struct {
11143	_ struct{} `type:"structure"`
11144
11145	// Configuration for profile jobs. Used to select columns, do evaluations, and
11146	// override default parameters of evaluations. When configuration is null, the
11147	// profile job will run with default settings.
11148	Configuration *ProfileConfiguration `type:"structure"`
11149
11150	// The Amazon Resource Name (ARN) of an encryption key that is used to protect
11151	// the job.
11152	EncryptionKeyArn *string `min:"20" type:"string"`
11153
11154	// The encryption mode for the job, which can be one of the following:
11155	//
11156	//    * SSE-KMS - Server-side encryption with keys managed by KMS.
11157	//
11158	//    * SSE-S3 - Server-side encryption with keys managed by Amazon S3.
11159	EncryptionMode *string `type:"string" enum:"EncryptionMode"`
11160
11161	// Sample configuration for Profile Jobs only. Determines the number of rows
11162	// on which the Profile job will be executed. If a JobSample value is not provided
11163	// for profile jobs, the default value will be used. The default value is CUSTOM_ROWS
11164	// for the mode parameter and 20000 for the size parameter.
11165	JobSample *JobSample `type:"structure"`
11166
11167	// Enables or disables Amazon CloudWatch logging for the job. If logging is
11168	// enabled, CloudWatch writes one log stream for each job run.
11169	LogSubscription *string `type:"string" enum:"LogSubscription"`
11170
11171	// The maximum number of compute nodes that DataBrew can use when the job processes
11172	// data.
11173	MaxCapacity *int64 `type:"integer"`
11174
11175	// The maximum number of times to retry the job after a job run fails.
11176	MaxRetries *int64 `type:"integer"`
11177
11178	// The name of the job to be updated.
11179	//
11180	// Name is a required field
11181	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
11182
11183	// Represents an Amazon S3 location (bucket name and object key) where DataBrew
11184	// can read input data, or write output from a job.
11185	//
11186	// OutputLocation is a required field
11187	OutputLocation *S3Location `type:"structure" required:"true"`
11188
11189	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
11190	// role to be assumed when DataBrew runs the job.
11191	//
11192	// RoleArn is a required field
11193	RoleArn *string `min:"20" type:"string" required:"true"`
11194
11195	// The job's timeout in minutes. A job that attempts to run longer than this
11196	// timeout period ends with a status of TIMEOUT.
11197	Timeout *int64 `type:"integer"`
11198}
11199
11200// String returns the string representation
11201func (s UpdateProfileJobInput) String() string {
11202	return awsutil.Prettify(s)
11203}
11204
11205// GoString returns the string representation
11206func (s UpdateProfileJobInput) GoString() string {
11207	return s.String()
11208}
11209
11210// Validate inspects the fields of the type to determine if they are valid.
11211func (s *UpdateProfileJobInput) Validate() error {
11212	invalidParams := request.ErrInvalidParams{Context: "UpdateProfileJobInput"}
11213	if s.EncryptionKeyArn != nil && len(*s.EncryptionKeyArn) < 20 {
11214		invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyArn", 20))
11215	}
11216	if s.Name == nil {
11217		invalidParams.Add(request.NewErrParamRequired("Name"))
11218	}
11219	if s.Name != nil && len(*s.Name) < 1 {
11220		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11221	}
11222	if s.OutputLocation == nil {
11223		invalidParams.Add(request.NewErrParamRequired("OutputLocation"))
11224	}
11225	if s.RoleArn == nil {
11226		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
11227	}
11228	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
11229		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
11230	}
11231	if s.Configuration != nil {
11232		if err := s.Configuration.Validate(); err != nil {
11233			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
11234		}
11235	}
11236	if s.OutputLocation != nil {
11237		if err := s.OutputLocation.Validate(); err != nil {
11238			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
11239		}
11240	}
11241
11242	if invalidParams.Len() > 0 {
11243		return invalidParams
11244	}
11245	return nil
11246}
11247
11248// SetConfiguration sets the Configuration field's value.
11249func (s *UpdateProfileJobInput) SetConfiguration(v *ProfileConfiguration) *UpdateProfileJobInput {
11250	s.Configuration = v
11251	return s
11252}
11253
11254// SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
11255func (s *UpdateProfileJobInput) SetEncryptionKeyArn(v string) *UpdateProfileJobInput {
11256	s.EncryptionKeyArn = &v
11257	return s
11258}
11259
11260// SetEncryptionMode sets the EncryptionMode field's value.
11261func (s *UpdateProfileJobInput) SetEncryptionMode(v string) *UpdateProfileJobInput {
11262	s.EncryptionMode = &v
11263	return s
11264}
11265
11266// SetJobSample sets the JobSample field's value.
11267func (s *UpdateProfileJobInput) SetJobSample(v *JobSample) *UpdateProfileJobInput {
11268	s.JobSample = v
11269	return s
11270}
11271
11272// SetLogSubscription sets the LogSubscription field's value.
11273func (s *UpdateProfileJobInput) SetLogSubscription(v string) *UpdateProfileJobInput {
11274	s.LogSubscription = &v
11275	return s
11276}
11277
11278// SetMaxCapacity sets the MaxCapacity field's value.
11279func (s *UpdateProfileJobInput) SetMaxCapacity(v int64) *UpdateProfileJobInput {
11280	s.MaxCapacity = &v
11281	return s
11282}
11283
11284// SetMaxRetries sets the MaxRetries field's value.
11285func (s *UpdateProfileJobInput) SetMaxRetries(v int64) *UpdateProfileJobInput {
11286	s.MaxRetries = &v
11287	return s
11288}
11289
11290// SetName sets the Name field's value.
11291func (s *UpdateProfileJobInput) SetName(v string) *UpdateProfileJobInput {
11292	s.Name = &v
11293	return s
11294}
11295
11296// SetOutputLocation sets the OutputLocation field's value.
11297func (s *UpdateProfileJobInput) SetOutputLocation(v *S3Location) *UpdateProfileJobInput {
11298	s.OutputLocation = v
11299	return s
11300}
11301
11302// SetRoleArn sets the RoleArn field's value.
11303func (s *UpdateProfileJobInput) SetRoleArn(v string) *UpdateProfileJobInput {
11304	s.RoleArn = &v
11305	return s
11306}
11307
11308// SetTimeout sets the Timeout field's value.
11309func (s *UpdateProfileJobInput) SetTimeout(v int64) *UpdateProfileJobInput {
11310	s.Timeout = &v
11311	return s
11312}
11313
11314type UpdateProfileJobOutput struct {
11315	_ struct{} `type:"structure"`
11316
11317	// The name of the job that was updated.
11318	//
11319	// Name is a required field
11320	Name *string `min:"1" type:"string" required:"true"`
11321}
11322
11323// String returns the string representation
11324func (s UpdateProfileJobOutput) String() string {
11325	return awsutil.Prettify(s)
11326}
11327
11328// GoString returns the string representation
11329func (s UpdateProfileJobOutput) GoString() string {
11330	return s.String()
11331}
11332
11333// SetName sets the Name field's value.
11334func (s *UpdateProfileJobOutput) SetName(v string) *UpdateProfileJobOutput {
11335	s.Name = &v
11336	return s
11337}
11338
11339type UpdateProjectInput struct {
11340	_ struct{} `type:"structure"`
11341
11342	// The name of the project to be updated.
11343	//
11344	// Name is a required field
11345	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
11346
11347	// The Amazon Resource Name (ARN) of the IAM role to be assumed for this request.
11348	//
11349	// RoleArn is a required field
11350	RoleArn *string `min:"20" type:"string" required:"true"`
11351
11352	// Represents the sample size and sampling type for DataBrew to use for interactive
11353	// data analysis.
11354	Sample *Sample `type:"structure"`
11355}
11356
11357// String returns the string representation
11358func (s UpdateProjectInput) String() string {
11359	return awsutil.Prettify(s)
11360}
11361
11362// GoString returns the string representation
11363func (s UpdateProjectInput) GoString() string {
11364	return s.String()
11365}
11366
11367// Validate inspects the fields of the type to determine if they are valid.
11368func (s *UpdateProjectInput) Validate() error {
11369	invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"}
11370	if s.Name == nil {
11371		invalidParams.Add(request.NewErrParamRequired("Name"))
11372	}
11373	if s.Name != nil && len(*s.Name) < 1 {
11374		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11375	}
11376	if s.RoleArn == nil {
11377		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
11378	}
11379	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
11380		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
11381	}
11382	if s.Sample != nil {
11383		if err := s.Sample.Validate(); err != nil {
11384			invalidParams.AddNested("Sample", err.(request.ErrInvalidParams))
11385		}
11386	}
11387
11388	if invalidParams.Len() > 0 {
11389		return invalidParams
11390	}
11391	return nil
11392}
11393
11394// SetName sets the Name field's value.
11395func (s *UpdateProjectInput) SetName(v string) *UpdateProjectInput {
11396	s.Name = &v
11397	return s
11398}
11399
11400// SetRoleArn sets the RoleArn field's value.
11401func (s *UpdateProjectInput) SetRoleArn(v string) *UpdateProjectInput {
11402	s.RoleArn = &v
11403	return s
11404}
11405
11406// SetSample sets the Sample field's value.
11407func (s *UpdateProjectInput) SetSample(v *Sample) *UpdateProjectInput {
11408	s.Sample = v
11409	return s
11410}
11411
11412type UpdateProjectOutput struct {
11413	_ struct{} `type:"structure"`
11414
11415	// The date and time that the project was last modified.
11416	LastModifiedDate *time.Time `type:"timestamp"`
11417
11418	// The name of the project that you updated.
11419	//
11420	// Name is a required field
11421	Name *string `min:"1" type:"string" required:"true"`
11422}
11423
11424// String returns the string representation
11425func (s UpdateProjectOutput) String() string {
11426	return awsutil.Prettify(s)
11427}
11428
11429// GoString returns the string representation
11430func (s UpdateProjectOutput) GoString() string {
11431	return s.String()
11432}
11433
11434// SetLastModifiedDate sets the LastModifiedDate field's value.
11435func (s *UpdateProjectOutput) SetLastModifiedDate(v time.Time) *UpdateProjectOutput {
11436	s.LastModifiedDate = &v
11437	return s
11438}
11439
11440// SetName sets the Name field's value.
11441func (s *UpdateProjectOutput) SetName(v string) *UpdateProjectOutput {
11442	s.Name = &v
11443	return s
11444}
11445
11446type UpdateRecipeInput struct {
11447	_ struct{} `type:"structure"`
11448
11449	// A description of the recipe.
11450	Description *string `type:"string"`
11451
11452	// The name of the recipe to be updated.
11453	//
11454	// Name is a required field
11455	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
11456
11457	// One or more steps to be performed by the recipe. Each step consists of an
11458	// action, and the conditions under which the action should succeed.
11459	Steps []*RecipeStep `type:"list"`
11460}
11461
11462// String returns the string representation
11463func (s UpdateRecipeInput) String() string {
11464	return awsutil.Prettify(s)
11465}
11466
11467// GoString returns the string representation
11468func (s UpdateRecipeInput) GoString() string {
11469	return s.String()
11470}
11471
11472// Validate inspects the fields of the type to determine if they are valid.
11473func (s *UpdateRecipeInput) Validate() error {
11474	invalidParams := request.ErrInvalidParams{Context: "UpdateRecipeInput"}
11475	if s.Name == nil {
11476		invalidParams.Add(request.NewErrParamRequired("Name"))
11477	}
11478	if s.Name != nil && len(*s.Name) < 1 {
11479		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11480	}
11481	if s.Steps != nil {
11482		for i, v := range s.Steps {
11483			if v == nil {
11484				continue
11485			}
11486			if err := v.Validate(); err != nil {
11487				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams))
11488			}
11489		}
11490	}
11491
11492	if invalidParams.Len() > 0 {
11493		return invalidParams
11494	}
11495	return nil
11496}
11497
11498// SetDescription sets the Description field's value.
11499func (s *UpdateRecipeInput) SetDescription(v string) *UpdateRecipeInput {
11500	s.Description = &v
11501	return s
11502}
11503
11504// SetName sets the Name field's value.
11505func (s *UpdateRecipeInput) SetName(v string) *UpdateRecipeInput {
11506	s.Name = &v
11507	return s
11508}
11509
11510// SetSteps sets the Steps field's value.
11511func (s *UpdateRecipeInput) SetSteps(v []*RecipeStep) *UpdateRecipeInput {
11512	s.Steps = v
11513	return s
11514}
11515
11516type UpdateRecipeJobInput struct {
11517	_ struct{} `type:"structure"`
11518
11519	// One or more artifacts that represent the Glue Data Catalog output from running
11520	// the job.
11521	DataCatalogOutputs []*DataCatalogOutput_ `min:"1" type:"list"`
11522
11523	// Represents a list of JDBC database output objects which defines the output
11524	// destination for a DataBrew recipe job to write into.
11525	DatabaseOutputs []*DatabaseOutput_ `min:"1" type:"list"`
11526
11527	// The Amazon Resource Name (ARN) of an encryption key that is used to protect
11528	// the job.
11529	EncryptionKeyArn *string `min:"20" type:"string"`
11530
11531	// The encryption mode for the job, which can be one of the following:
11532	//
11533	//    * SSE-KMS - Server-side encryption with keys managed by KMS.
11534	//
11535	//    * SSE-S3 - Server-side encryption with keys managed by Amazon S3.
11536	EncryptionMode *string `type:"string" enum:"EncryptionMode"`
11537
11538	// Enables or disables Amazon CloudWatch logging for the job. If logging is
11539	// enabled, CloudWatch writes one log stream for each job run.
11540	LogSubscription *string `type:"string" enum:"LogSubscription"`
11541
11542	// The maximum number of nodes that DataBrew can consume when the job processes
11543	// data.
11544	MaxCapacity *int64 `type:"integer"`
11545
11546	// The maximum number of times to retry the job after a job run fails.
11547	MaxRetries *int64 `type:"integer"`
11548
11549	// The name of the job to update.
11550	//
11551	// Name is a required field
11552	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
11553
11554	// One or more artifacts that represent the output from running the job.
11555	Outputs []*Output `min:"1" type:"list"`
11556
11557	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
11558	// role to be assumed when DataBrew runs the job.
11559	//
11560	// RoleArn is a required field
11561	RoleArn *string `min:"20" type:"string" required:"true"`
11562
11563	// The job's timeout in minutes. A job that attempts to run longer than this
11564	// timeout period ends with a status of TIMEOUT.
11565	Timeout *int64 `type:"integer"`
11566}
11567
11568// String returns the string representation
11569func (s UpdateRecipeJobInput) String() string {
11570	return awsutil.Prettify(s)
11571}
11572
11573// GoString returns the string representation
11574func (s UpdateRecipeJobInput) GoString() string {
11575	return s.String()
11576}
11577
11578// Validate inspects the fields of the type to determine if they are valid.
11579func (s *UpdateRecipeJobInput) Validate() error {
11580	invalidParams := request.ErrInvalidParams{Context: "UpdateRecipeJobInput"}
11581	if s.DataCatalogOutputs != nil && len(s.DataCatalogOutputs) < 1 {
11582		invalidParams.Add(request.NewErrParamMinLen("DataCatalogOutputs", 1))
11583	}
11584	if s.DatabaseOutputs != nil && len(s.DatabaseOutputs) < 1 {
11585		invalidParams.Add(request.NewErrParamMinLen("DatabaseOutputs", 1))
11586	}
11587	if s.EncryptionKeyArn != nil && len(*s.EncryptionKeyArn) < 20 {
11588		invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyArn", 20))
11589	}
11590	if s.Name == nil {
11591		invalidParams.Add(request.NewErrParamRequired("Name"))
11592	}
11593	if s.Name != nil && len(*s.Name) < 1 {
11594		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11595	}
11596	if s.Outputs != nil && len(s.Outputs) < 1 {
11597		invalidParams.Add(request.NewErrParamMinLen("Outputs", 1))
11598	}
11599	if s.RoleArn == nil {
11600		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
11601	}
11602	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
11603		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
11604	}
11605	if s.DataCatalogOutputs != nil {
11606		for i, v := range s.DataCatalogOutputs {
11607			if v == nil {
11608				continue
11609			}
11610			if err := v.Validate(); err != nil {
11611				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataCatalogOutputs", i), err.(request.ErrInvalidParams))
11612			}
11613		}
11614	}
11615	if s.DatabaseOutputs != nil {
11616		for i, v := range s.DatabaseOutputs {
11617			if v == nil {
11618				continue
11619			}
11620			if err := v.Validate(); err != nil {
11621				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DatabaseOutputs", i), err.(request.ErrInvalidParams))
11622			}
11623		}
11624	}
11625	if s.Outputs != nil {
11626		for i, v := range s.Outputs {
11627			if v == nil {
11628				continue
11629			}
11630			if err := v.Validate(); err != nil {
11631				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams))
11632			}
11633		}
11634	}
11635
11636	if invalidParams.Len() > 0 {
11637		return invalidParams
11638	}
11639	return nil
11640}
11641
11642// SetDataCatalogOutputs sets the DataCatalogOutputs field's value.
11643func (s *UpdateRecipeJobInput) SetDataCatalogOutputs(v []*DataCatalogOutput_) *UpdateRecipeJobInput {
11644	s.DataCatalogOutputs = v
11645	return s
11646}
11647
11648// SetDatabaseOutputs sets the DatabaseOutputs field's value.
11649func (s *UpdateRecipeJobInput) SetDatabaseOutputs(v []*DatabaseOutput_) *UpdateRecipeJobInput {
11650	s.DatabaseOutputs = v
11651	return s
11652}
11653
11654// SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
11655func (s *UpdateRecipeJobInput) SetEncryptionKeyArn(v string) *UpdateRecipeJobInput {
11656	s.EncryptionKeyArn = &v
11657	return s
11658}
11659
11660// SetEncryptionMode sets the EncryptionMode field's value.
11661func (s *UpdateRecipeJobInput) SetEncryptionMode(v string) *UpdateRecipeJobInput {
11662	s.EncryptionMode = &v
11663	return s
11664}
11665
11666// SetLogSubscription sets the LogSubscription field's value.
11667func (s *UpdateRecipeJobInput) SetLogSubscription(v string) *UpdateRecipeJobInput {
11668	s.LogSubscription = &v
11669	return s
11670}
11671
11672// SetMaxCapacity sets the MaxCapacity field's value.
11673func (s *UpdateRecipeJobInput) SetMaxCapacity(v int64) *UpdateRecipeJobInput {
11674	s.MaxCapacity = &v
11675	return s
11676}
11677
11678// SetMaxRetries sets the MaxRetries field's value.
11679func (s *UpdateRecipeJobInput) SetMaxRetries(v int64) *UpdateRecipeJobInput {
11680	s.MaxRetries = &v
11681	return s
11682}
11683
11684// SetName sets the Name field's value.
11685func (s *UpdateRecipeJobInput) SetName(v string) *UpdateRecipeJobInput {
11686	s.Name = &v
11687	return s
11688}
11689
11690// SetOutputs sets the Outputs field's value.
11691func (s *UpdateRecipeJobInput) SetOutputs(v []*Output) *UpdateRecipeJobInput {
11692	s.Outputs = v
11693	return s
11694}
11695
11696// SetRoleArn sets the RoleArn field's value.
11697func (s *UpdateRecipeJobInput) SetRoleArn(v string) *UpdateRecipeJobInput {
11698	s.RoleArn = &v
11699	return s
11700}
11701
11702// SetTimeout sets the Timeout field's value.
11703func (s *UpdateRecipeJobInput) SetTimeout(v int64) *UpdateRecipeJobInput {
11704	s.Timeout = &v
11705	return s
11706}
11707
11708type UpdateRecipeJobOutput struct {
11709	_ struct{} `type:"structure"`
11710
11711	// The name of the job that you updated.
11712	//
11713	// Name is a required field
11714	Name *string `min:"1" type:"string" required:"true"`
11715}
11716
11717// String returns the string representation
11718func (s UpdateRecipeJobOutput) String() string {
11719	return awsutil.Prettify(s)
11720}
11721
11722// GoString returns the string representation
11723func (s UpdateRecipeJobOutput) GoString() string {
11724	return s.String()
11725}
11726
11727// SetName sets the Name field's value.
11728func (s *UpdateRecipeJobOutput) SetName(v string) *UpdateRecipeJobOutput {
11729	s.Name = &v
11730	return s
11731}
11732
11733type UpdateRecipeOutput struct {
11734	_ struct{} `type:"structure"`
11735
11736	// The name of the recipe that was updated.
11737	//
11738	// Name is a required field
11739	Name *string `min:"1" type:"string" required:"true"`
11740}
11741
11742// String returns the string representation
11743func (s UpdateRecipeOutput) String() string {
11744	return awsutil.Prettify(s)
11745}
11746
11747// GoString returns the string representation
11748func (s UpdateRecipeOutput) GoString() string {
11749	return s.String()
11750}
11751
11752// SetName sets the Name field's value.
11753func (s *UpdateRecipeOutput) SetName(v string) *UpdateRecipeOutput {
11754	s.Name = &v
11755	return s
11756}
11757
11758type UpdateScheduleInput struct {
11759	_ struct{} `type:"structure"`
11760
11761	// The date or dates and time or times when the jobs are to be run. For more
11762	// information, see Cron expressions (https://docs.aws.amazon.com/databrew/latest/dg/jobs.cron.html)
11763	// in the Glue DataBrew Developer Guide.
11764	//
11765	// CronExpression is a required field
11766	CronExpression *string `min:"1" type:"string" required:"true"`
11767
11768	// The name or names of one or more jobs to be run for this schedule.
11769	JobNames []*string `type:"list"`
11770
11771	// The name of the schedule to update.
11772	//
11773	// Name is a required field
11774	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
11775}
11776
11777// String returns the string representation
11778func (s UpdateScheduleInput) String() string {
11779	return awsutil.Prettify(s)
11780}
11781
11782// GoString returns the string representation
11783func (s UpdateScheduleInput) GoString() string {
11784	return s.String()
11785}
11786
11787// Validate inspects the fields of the type to determine if they are valid.
11788func (s *UpdateScheduleInput) Validate() error {
11789	invalidParams := request.ErrInvalidParams{Context: "UpdateScheduleInput"}
11790	if s.CronExpression == nil {
11791		invalidParams.Add(request.NewErrParamRequired("CronExpression"))
11792	}
11793	if s.CronExpression != nil && len(*s.CronExpression) < 1 {
11794		invalidParams.Add(request.NewErrParamMinLen("CronExpression", 1))
11795	}
11796	if s.Name == nil {
11797		invalidParams.Add(request.NewErrParamRequired("Name"))
11798	}
11799	if s.Name != nil && len(*s.Name) < 1 {
11800		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11801	}
11802
11803	if invalidParams.Len() > 0 {
11804		return invalidParams
11805	}
11806	return nil
11807}
11808
11809// SetCronExpression sets the CronExpression field's value.
11810func (s *UpdateScheduleInput) SetCronExpression(v string) *UpdateScheduleInput {
11811	s.CronExpression = &v
11812	return s
11813}
11814
11815// SetJobNames sets the JobNames field's value.
11816func (s *UpdateScheduleInput) SetJobNames(v []*string) *UpdateScheduleInput {
11817	s.JobNames = v
11818	return s
11819}
11820
11821// SetName sets the Name field's value.
11822func (s *UpdateScheduleInput) SetName(v string) *UpdateScheduleInput {
11823	s.Name = &v
11824	return s
11825}
11826
11827type UpdateScheduleOutput struct {
11828	_ struct{} `type:"structure"`
11829
11830	// The name of the schedule that was updated.
11831	//
11832	// Name is a required field
11833	Name *string `min:"1" type:"string" required:"true"`
11834}
11835
11836// String returns the string representation
11837func (s UpdateScheduleOutput) String() string {
11838	return awsutil.Prettify(s)
11839}
11840
11841// GoString returns the string representation
11842func (s UpdateScheduleOutput) GoString() string {
11843	return s.String()
11844}
11845
11846// SetName sets the Name field's value.
11847func (s *UpdateScheduleOutput) SetName(v string) *UpdateScheduleOutput {
11848	s.Name = &v
11849	return s
11850}
11851
11852// The input parameters for this request failed validation.
11853type ValidationException struct {
11854	_            struct{}                  `type:"structure"`
11855	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11856
11857	Message_ *string `locationName:"Message" type:"string"`
11858}
11859
11860// String returns the string representation
11861func (s ValidationException) String() string {
11862	return awsutil.Prettify(s)
11863}
11864
11865// GoString returns the string representation
11866func (s ValidationException) GoString() string {
11867	return s.String()
11868}
11869
11870func newErrorValidationException(v protocol.ResponseMetadata) error {
11871	return &ValidationException{
11872		RespMetadata: v,
11873	}
11874}
11875
11876// Code returns the exception type name.
11877func (s *ValidationException) Code() string {
11878	return "ValidationException"
11879}
11880
11881// Message returns the exception's message.
11882func (s *ValidationException) Message() string {
11883	if s.Message_ != nil {
11884		return *s.Message_
11885	}
11886	return ""
11887}
11888
11889// OrigErr always returns nil, satisfies awserr.Error interface.
11890func (s *ValidationException) OrigErr() error {
11891	return nil
11892}
11893
11894func (s *ValidationException) Error() string {
11895	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11896}
11897
11898// Status code returns the HTTP status code for the request's response error.
11899func (s *ValidationException) StatusCode() int {
11900	return s.RespMetadata.StatusCode
11901}
11902
11903// RequestID returns the service's response RequestID for request.
11904func (s *ValidationException) RequestID() string {
11905	return s.RespMetadata.RequestID
11906}
11907
11908// Represents the data being transformed during an action.
11909type ViewFrame struct {
11910	_ struct{} `type:"structure"`
11911
11912	// The number of columns to include in the view frame, beginning with the StartColumnIndex
11913	// value and ignoring any columns in the HiddenColumns list.
11914	ColumnRange *int64 `type:"integer"`
11915
11916	// A list of columns to hide in the view frame.
11917	HiddenColumns []*string `type:"list"`
11918
11919	// The starting index for the range of columns to return in the view frame.
11920	//
11921	// StartColumnIndex is a required field
11922	StartColumnIndex *int64 `type:"integer" required:"true"`
11923}
11924
11925// String returns the string representation
11926func (s ViewFrame) String() string {
11927	return awsutil.Prettify(s)
11928}
11929
11930// GoString returns the string representation
11931func (s ViewFrame) GoString() string {
11932	return s.String()
11933}
11934
11935// Validate inspects the fields of the type to determine if they are valid.
11936func (s *ViewFrame) Validate() error {
11937	invalidParams := request.ErrInvalidParams{Context: "ViewFrame"}
11938	if s.StartColumnIndex == nil {
11939		invalidParams.Add(request.NewErrParamRequired("StartColumnIndex"))
11940	}
11941
11942	if invalidParams.Len() > 0 {
11943		return invalidParams
11944	}
11945	return nil
11946}
11947
11948// SetColumnRange sets the ColumnRange field's value.
11949func (s *ViewFrame) SetColumnRange(v int64) *ViewFrame {
11950	s.ColumnRange = &v
11951	return s
11952}
11953
11954// SetHiddenColumns sets the HiddenColumns field's value.
11955func (s *ViewFrame) SetHiddenColumns(v []*string) *ViewFrame {
11956	s.HiddenColumns = v
11957	return s
11958}
11959
11960// SetStartColumnIndex sets the StartColumnIndex field's value.
11961func (s *ViewFrame) SetStartColumnIndex(v int64) *ViewFrame {
11962	s.StartColumnIndex = &v
11963	return s
11964}
11965
11966const (
11967	// CompressionFormatGzip is a CompressionFormat enum value
11968	CompressionFormatGzip = "GZIP"
11969
11970	// CompressionFormatLz4 is a CompressionFormat enum value
11971	CompressionFormatLz4 = "LZ4"
11972
11973	// CompressionFormatSnappy is a CompressionFormat enum value
11974	CompressionFormatSnappy = "SNAPPY"
11975
11976	// CompressionFormatBzip2 is a CompressionFormat enum value
11977	CompressionFormatBzip2 = "BZIP2"
11978
11979	// CompressionFormatDeflate is a CompressionFormat enum value
11980	CompressionFormatDeflate = "DEFLATE"
11981
11982	// CompressionFormatLzo is a CompressionFormat enum value
11983	CompressionFormatLzo = "LZO"
11984
11985	// CompressionFormatBrotli is a CompressionFormat enum value
11986	CompressionFormatBrotli = "BROTLI"
11987
11988	// CompressionFormatZstd is a CompressionFormat enum value
11989	CompressionFormatZstd = "ZSTD"
11990
11991	// CompressionFormatZlib is a CompressionFormat enum value
11992	CompressionFormatZlib = "ZLIB"
11993)
11994
11995// CompressionFormat_Values returns all elements of the CompressionFormat enum
11996func CompressionFormat_Values() []string {
11997	return []string{
11998		CompressionFormatGzip,
11999		CompressionFormatLz4,
12000		CompressionFormatSnappy,
12001		CompressionFormatBzip2,
12002		CompressionFormatDeflate,
12003		CompressionFormatLzo,
12004		CompressionFormatBrotli,
12005		CompressionFormatZstd,
12006		CompressionFormatZlib,
12007	}
12008}
12009
12010const (
12011	// DatabaseOutputModeNewTable is a DatabaseOutputMode enum value
12012	DatabaseOutputModeNewTable = "NEW_TABLE"
12013)
12014
12015// DatabaseOutputMode_Values returns all elements of the DatabaseOutputMode enum
12016func DatabaseOutputMode_Values() []string {
12017	return []string{
12018		DatabaseOutputModeNewTable,
12019	}
12020}
12021
12022const (
12023	// EncryptionModeSseKms is a EncryptionMode enum value
12024	EncryptionModeSseKms = "SSE-KMS"
12025
12026	// EncryptionModeSseS3 is a EncryptionMode enum value
12027	EncryptionModeSseS3 = "SSE-S3"
12028)
12029
12030// EncryptionMode_Values returns all elements of the EncryptionMode enum
12031func EncryptionMode_Values() []string {
12032	return []string{
12033		EncryptionModeSseKms,
12034		EncryptionModeSseS3,
12035	}
12036}
12037
12038const (
12039	// InputFormatCsv is a InputFormat enum value
12040	InputFormatCsv = "CSV"
12041
12042	// InputFormatJson is a InputFormat enum value
12043	InputFormatJson = "JSON"
12044
12045	// InputFormatParquet is a InputFormat enum value
12046	InputFormatParquet = "PARQUET"
12047
12048	// InputFormatExcel is a InputFormat enum value
12049	InputFormatExcel = "EXCEL"
12050)
12051
12052// InputFormat_Values returns all elements of the InputFormat enum
12053func InputFormat_Values() []string {
12054	return []string{
12055		InputFormatCsv,
12056		InputFormatJson,
12057		InputFormatParquet,
12058		InputFormatExcel,
12059	}
12060}
12061
12062const (
12063	// JobRunStateStarting is a JobRunState enum value
12064	JobRunStateStarting = "STARTING"
12065
12066	// JobRunStateRunning is a JobRunState enum value
12067	JobRunStateRunning = "RUNNING"
12068
12069	// JobRunStateStopping is a JobRunState enum value
12070	JobRunStateStopping = "STOPPING"
12071
12072	// JobRunStateStopped is a JobRunState enum value
12073	JobRunStateStopped = "STOPPED"
12074
12075	// JobRunStateSucceeded is a JobRunState enum value
12076	JobRunStateSucceeded = "SUCCEEDED"
12077
12078	// JobRunStateFailed is a JobRunState enum value
12079	JobRunStateFailed = "FAILED"
12080
12081	// JobRunStateTimeout is a JobRunState enum value
12082	JobRunStateTimeout = "TIMEOUT"
12083)
12084
12085// JobRunState_Values returns all elements of the JobRunState enum
12086func JobRunState_Values() []string {
12087	return []string{
12088		JobRunStateStarting,
12089		JobRunStateRunning,
12090		JobRunStateStopping,
12091		JobRunStateStopped,
12092		JobRunStateSucceeded,
12093		JobRunStateFailed,
12094		JobRunStateTimeout,
12095	}
12096}
12097
12098const (
12099	// JobTypeProfile is a JobType enum value
12100	JobTypeProfile = "PROFILE"
12101
12102	// JobTypeRecipe is a JobType enum value
12103	JobTypeRecipe = "RECIPE"
12104)
12105
12106// JobType_Values returns all elements of the JobType enum
12107func JobType_Values() []string {
12108	return []string{
12109		JobTypeProfile,
12110		JobTypeRecipe,
12111	}
12112}
12113
12114const (
12115	// LogSubscriptionEnable is a LogSubscription enum value
12116	LogSubscriptionEnable = "ENABLE"
12117
12118	// LogSubscriptionDisable is a LogSubscription enum value
12119	LogSubscriptionDisable = "DISABLE"
12120)
12121
12122// LogSubscription_Values returns all elements of the LogSubscription enum
12123func LogSubscription_Values() []string {
12124	return []string{
12125		LogSubscriptionEnable,
12126		LogSubscriptionDisable,
12127	}
12128}
12129
12130const (
12131	// OrderDescending is a Order enum value
12132	OrderDescending = "DESCENDING"
12133
12134	// OrderAscending is a Order enum value
12135	OrderAscending = "ASCENDING"
12136)
12137
12138// Order_Values returns all elements of the Order enum
12139func Order_Values() []string {
12140	return []string{
12141		OrderDescending,
12142		OrderAscending,
12143	}
12144}
12145
12146const (
12147	// OrderedByLastModifiedDate is a OrderedBy enum value
12148	OrderedByLastModifiedDate = "LAST_MODIFIED_DATE"
12149)
12150
12151// OrderedBy_Values returns all elements of the OrderedBy enum
12152func OrderedBy_Values() []string {
12153	return []string{
12154		OrderedByLastModifiedDate,
12155	}
12156}
12157
12158const (
12159	// OutputFormatCsv is a OutputFormat enum value
12160	OutputFormatCsv = "CSV"
12161
12162	// OutputFormatJson is a OutputFormat enum value
12163	OutputFormatJson = "JSON"
12164
12165	// OutputFormatParquet is a OutputFormat enum value
12166	OutputFormatParquet = "PARQUET"
12167
12168	// OutputFormatGlueparquet is a OutputFormat enum value
12169	OutputFormatGlueparquet = "GLUEPARQUET"
12170
12171	// OutputFormatAvro is a OutputFormat enum value
12172	OutputFormatAvro = "AVRO"
12173
12174	// OutputFormatOrc is a OutputFormat enum value
12175	OutputFormatOrc = "ORC"
12176
12177	// OutputFormatXml is a OutputFormat enum value
12178	OutputFormatXml = "XML"
12179
12180	// OutputFormatTableauhyper is a OutputFormat enum value
12181	OutputFormatTableauhyper = "TABLEAUHYPER"
12182)
12183
12184// OutputFormat_Values returns all elements of the OutputFormat enum
12185func OutputFormat_Values() []string {
12186	return []string{
12187		OutputFormatCsv,
12188		OutputFormatJson,
12189		OutputFormatParquet,
12190		OutputFormatGlueparquet,
12191		OutputFormatAvro,
12192		OutputFormatOrc,
12193		OutputFormatXml,
12194		OutputFormatTableauhyper,
12195	}
12196}
12197
12198const (
12199	// ParameterTypeDatetime is a ParameterType enum value
12200	ParameterTypeDatetime = "Datetime"
12201
12202	// ParameterTypeNumber is a ParameterType enum value
12203	ParameterTypeNumber = "Number"
12204
12205	// ParameterTypeString is a ParameterType enum value
12206	ParameterTypeString = "String"
12207)
12208
12209// ParameterType_Values returns all elements of the ParameterType enum
12210func ParameterType_Values() []string {
12211	return []string{
12212		ParameterTypeDatetime,
12213		ParameterTypeNumber,
12214		ParameterTypeString,
12215	}
12216}
12217
12218const (
12219	// SampleModeFullDataset is a SampleMode enum value
12220	SampleModeFullDataset = "FULL_DATASET"
12221
12222	// SampleModeCustomRows is a SampleMode enum value
12223	SampleModeCustomRows = "CUSTOM_ROWS"
12224)
12225
12226// SampleMode_Values returns all elements of the SampleMode enum
12227func SampleMode_Values() []string {
12228	return []string{
12229		SampleModeFullDataset,
12230		SampleModeCustomRows,
12231	}
12232}
12233
12234const (
12235	// SampleTypeFirstN is a SampleType enum value
12236	SampleTypeFirstN = "FIRST_N"
12237
12238	// SampleTypeLastN is a SampleType enum value
12239	SampleTypeLastN = "LAST_N"
12240
12241	// SampleTypeRandom is a SampleType enum value
12242	SampleTypeRandom = "RANDOM"
12243)
12244
12245// SampleType_Values returns all elements of the SampleType enum
12246func SampleType_Values() []string {
12247	return []string{
12248		SampleTypeFirstN,
12249		SampleTypeLastN,
12250		SampleTypeRandom,
12251	}
12252}
12253
12254const (
12255	// SessionStatusAssigned is a SessionStatus enum value
12256	SessionStatusAssigned = "ASSIGNED"
12257
12258	// SessionStatusFailed is a SessionStatus enum value
12259	SessionStatusFailed = "FAILED"
12260
12261	// SessionStatusInitializing is a SessionStatus enum value
12262	SessionStatusInitializing = "INITIALIZING"
12263
12264	// SessionStatusProvisioning is a SessionStatus enum value
12265	SessionStatusProvisioning = "PROVISIONING"
12266
12267	// SessionStatusReady is a SessionStatus enum value
12268	SessionStatusReady = "READY"
12269
12270	// SessionStatusRecycling is a SessionStatus enum value
12271	SessionStatusRecycling = "RECYCLING"
12272
12273	// SessionStatusRotating is a SessionStatus enum value
12274	SessionStatusRotating = "ROTATING"
12275
12276	// SessionStatusTerminated is a SessionStatus enum value
12277	SessionStatusTerminated = "TERMINATED"
12278
12279	// SessionStatusTerminating is a SessionStatus enum value
12280	SessionStatusTerminating = "TERMINATING"
12281
12282	// SessionStatusUpdating is a SessionStatus enum value
12283	SessionStatusUpdating = "UPDATING"
12284)
12285
12286// SessionStatus_Values returns all elements of the SessionStatus enum
12287func SessionStatus_Values() []string {
12288	return []string{
12289		SessionStatusAssigned,
12290		SessionStatusFailed,
12291		SessionStatusInitializing,
12292		SessionStatusProvisioning,
12293		SessionStatusReady,
12294		SessionStatusRecycling,
12295		SessionStatusRotating,
12296		SessionStatusTerminated,
12297		SessionStatusTerminating,
12298		SessionStatusUpdating,
12299	}
12300}
12301
12302const (
12303	// SourceS3 is a Source enum value
12304	SourceS3 = "S3"
12305
12306	// SourceDataCatalog is a Source enum value
12307	SourceDataCatalog = "DATA-CATALOG"
12308
12309	// SourceDatabase is a Source enum value
12310	SourceDatabase = "DATABASE"
12311)
12312
12313// Source_Values returns all elements of the Source enum
12314func Source_Values() []string {
12315	return []string{
12316		SourceS3,
12317		SourceDataCatalog,
12318		SourceDatabase,
12319	}
12320}
12321