1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package personalize
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opCreateBatchInferenceJob = "CreateBatchInferenceJob"
17
18// CreateBatchInferenceJobRequest generates a "aws/request.Request" representing the
19// client's request for the CreateBatchInferenceJob 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 CreateBatchInferenceJob for more information on using the CreateBatchInferenceJob
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 CreateBatchInferenceJobRequest method.
34//    req, resp := client.CreateBatchInferenceJobRequest(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/personalize-2018-05-22/CreateBatchInferenceJob
42func (c *Personalize) CreateBatchInferenceJobRequest(input *CreateBatchInferenceJobInput) (req *request.Request, output *CreateBatchInferenceJobOutput) {
43	op := &request.Operation{
44		Name:       opCreateBatchInferenceJob,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &CreateBatchInferenceJobInput{}
51	}
52
53	output = &CreateBatchInferenceJobOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateBatchInferenceJob API operation for Amazon Personalize.
59//
60// Creates a batch inference job. The operation can handle up to 50 million
61// records and the input file must be in JSON format. For more information,
62// see recommendations-batch.
63//
64// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
65// with awserr.Error's Code and Message methods to get detailed information about
66// the error.
67//
68// See the AWS API reference guide for Amazon Personalize's
69// API operation CreateBatchInferenceJob for usage and error information.
70//
71// Returned Error Types:
72//   * InvalidInputException
73//   Provide a valid value for the field or parameter.
74//
75//   * ResourceAlreadyExistsException
76//   The specified resource already exists.
77//
78//   * LimitExceededException
79//   The limit on the number of requests per second has been exceeded.
80//
81//   * ResourceNotFoundException
82//   Could not find the specified resource.
83//
84//   * ResourceInUseException
85//   The specified resource is in use.
86//
87// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateBatchInferenceJob
88func (c *Personalize) CreateBatchInferenceJob(input *CreateBatchInferenceJobInput) (*CreateBatchInferenceJobOutput, error) {
89	req, out := c.CreateBatchInferenceJobRequest(input)
90	return out, req.Send()
91}
92
93// CreateBatchInferenceJobWithContext is the same as CreateBatchInferenceJob with the addition of
94// the ability to pass a context and additional request options.
95//
96// See CreateBatchInferenceJob for details on how to use this API operation.
97//
98// The context must be non-nil and will be used for request cancellation. If
99// the context is nil a panic will occur. In the future the SDK may create
100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
101// for more information on using Contexts.
102func (c *Personalize) CreateBatchInferenceJobWithContext(ctx aws.Context, input *CreateBatchInferenceJobInput, opts ...request.Option) (*CreateBatchInferenceJobOutput, error) {
103	req, out := c.CreateBatchInferenceJobRequest(input)
104	req.SetContext(ctx)
105	req.ApplyOptions(opts...)
106	return out, req.Send()
107}
108
109const opCreateCampaign = "CreateCampaign"
110
111// CreateCampaignRequest generates a "aws/request.Request" representing the
112// client's request for the CreateCampaign operation. The "output" return
113// value will be populated with the request's response once the request completes
114// successfully.
115//
116// Use "Send" method on the returned Request to send the API call to the service.
117// the "output" return value is not valid until after Send returns without error.
118//
119// See CreateCampaign for more information on using the CreateCampaign
120// API call, and error handling.
121//
122// This method is useful when you want to inject custom logic or configuration
123// into the SDK's request lifecycle. Such as custom headers, or retry logic.
124//
125//
126//    // Example sending a request using the CreateCampaignRequest method.
127//    req, resp := client.CreateCampaignRequest(params)
128//
129//    err := req.Send()
130//    if err == nil { // resp is now filled
131//        fmt.Println(resp)
132//    }
133//
134// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateCampaign
135func (c *Personalize) CreateCampaignRequest(input *CreateCampaignInput) (req *request.Request, output *CreateCampaignOutput) {
136	op := &request.Operation{
137		Name:       opCreateCampaign,
138		HTTPMethod: "POST",
139		HTTPPath:   "/",
140	}
141
142	if input == nil {
143		input = &CreateCampaignInput{}
144	}
145
146	output = &CreateCampaignOutput{}
147	req = c.newRequest(op, input, output)
148	return
149}
150
151// CreateCampaign API operation for Amazon Personalize.
152//
153// Creates a campaign by deploying a solution version. When a client calls the
154// GetRecommendations (https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html)
155// and GetPersonalizedRanking (https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetPersonalizedRanking.html)
156// APIs, a campaign is specified in the request.
157//
158// Minimum Provisioned TPS and Auto-Scaling
159//
160// A transaction is a single GetRecommendations or GetPersonalizedRanking call.
161// Transactions per second (TPS) is the throughput and unit of billing for Amazon
162// Personalize. The minimum provisioned TPS (minProvisionedTPS) specifies the
163// baseline throughput provisioned by Amazon Personalize, and thus, the minimum
164// billing charge.
165//
166// If your TPS increases beyond minProvisionedTPS, Amazon Personalize auto-scales
167// the provisioned capacity up and down, but never below minProvisionedTPS.
168// There's a short time delay while the capacity is increased that might cause
169// loss of transactions.
170//
171// The actual TPS used is calculated as the average requests/second within a
172// 5-minute window. You pay for maximum of either the minimum provisioned TPS
173// or the actual TPS. We recommend starting with a low minProvisionedTPS, track
174// your usage using Amazon CloudWatch metrics, and then increase the minProvisionedTPS
175// as necessary.
176//
177// Status
178//
179// A campaign can be in one of the following states:
180//
181//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
182//
183//    * DELETE PENDING > DELETE IN_PROGRESS
184//
185// To get the campaign status, call DescribeCampaign.
186//
187// Wait until the status of the campaign is ACTIVE before asking the campaign
188// for recommendations.
189//
190// Related APIs
191//
192//    * ListCampaigns
193//
194//    * DescribeCampaign
195//
196//    * UpdateCampaign
197//
198//    * DeleteCampaign
199//
200// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
201// with awserr.Error's Code and Message methods to get detailed information about
202// the error.
203//
204// See the AWS API reference guide for Amazon Personalize's
205// API operation CreateCampaign for usage and error information.
206//
207// Returned Error Types:
208//   * InvalidInputException
209//   Provide a valid value for the field or parameter.
210//
211//   * ResourceNotFoundException
212//   Could not find the specified resource.
213//
214//   * ResourceAlreadyExistsException
215//   The specified resource already exists.
216//
217//   * LimitExceededException
218//   The limit on the number of requests per second has been exceeded.
219//
220//   * ResourceInUseException
221//   The specified resource is in use.
222//
223// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateCampaign
224func (c *Personalize) CreateCampaign(input *CreateCampaignInput) (*CreateCampaignOutput, error) {
225	req, out := c.CreateCampaignRequest(input)
226	return out, req.Send()
227}
228
229// CreateCampaignWithContext is the same as CreateCampaign with the addition of
230// the ability to pass a context and additional request options.
231//
232// See CreateCampaign for details on how to use this API operation.
233//
234// The context must be non-nil and will be used for request cancellation. If
235// the context is nil a panic will occur. In the future the SDK may create
236// sub-contexts for http.Requests. See https://golang.org/pkg/context/
237// for more information on using Contexts.
238func (c *Personalize) CreateCampaignWithContext(ctx aws.Context, input *CreateCampaignInput, opts ...request.Option) (*CreateCampaignOutput, error) {
239	req, out := c.CreateCampaignRequest(input)
240	req.SetContext(ctx)
241	req.ApplyOptions(opts...)
242	return out, req.Send()
243}
244
245const opCreateDataset = "CreateDataset"
246
247// CreateDatasetRequest generates a "aws/request.Request" representing the
248// client's request for the CreateDataset operation. The "output" return
249// value will be populated with the request's response once the request completes
250// successfully.
251//
252// Use "Send" method on the returned Request to send the API call to the service.
253// the "output" return value is not valid until after Send returns without error.
254//
255// See CreateDataset for more information on using the CreateDataset
256// API call, and error handling.
257//
258// This method is useful when you want to inject custom logic or configuration
259// into the SDK's request lifecycle. Such as custom headers, or retry logic.
260//
261//
262//    // Example sending a request using the CreateDatasetRequest method.
263//    req, resp := client.CreateDatasetRequest(params)
264//
265//    err := req.Send()
266//    if err == nil { // resp is now filled
267//        fmt.Println(resp)
268//    }
269//
270// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDataset
271func (c *Personalize) CreateDatasetRequest(input *CreateDatasetInput) (req *request.Request, output *CreateDatasetOutput) {
272	op := &request.Operation{
273		Name:       opCreateDataset,
274		HTTPMethod: "POST",
275		HTTPPath:   "/",
276	}
277
278	if input == nil {
279		input = &CreateDatasetInput{}
280	}
281
282	output = &CreateDatasetOutput{}
283	req = c.newRequest(op, input, output)
284	return
285}
286
287// CreateDataset API operation for Amazon Personalize.
288//
289// Creates an empty dataset and adds it to the specified dataset group. Use
290// CreateDatasetImportJob to import your training data to a dataset.
291//
292// There are three types of datasets:
293//
294//    * Interactions
295//
296//    * Items
297//
298//    * Users
299//
300// Each dataset type has an associated schema with required field types. Only
301// the Interactions dataset is required in order to train a model (also referred
302// to as creating a solution).
303//
304// A dataset can be in one of the following states:
305//
306//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
307//
308//    * DELETE PENDING > DELETE IN_PROGRESS
309//
310// To get the status of the dataset, call DescribeDataset.
311//
312// Related APIs
313//
314//    * CreateDatasetGroup
315//
316//    * ListDatasets
317//
318//    * DescribeDataset
319//
320//    * DeleteDataset
321//
322// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
323// with awserr.Error's Code and Message methods to get detailed information about
324// the error.
325//
326// See the AWS API reference guide for Amazon Personalize's
327// API operation CreateDataset for usage and error information.
328//
329// Returned Error Types:
330//   * InvalidInputException
331//   Provide a valid value for the field or parameter.
332//
333//   * ResourceNotFoundException
334//   Could not find the specified resource.
335//
336//   * ResourceAlreadyExistsException
337//   The specified resource already exists.
338//
339//   * LimitExceededException
340//   The limit on the number of requests per second has been exceeded.
341//
342//   * ResourceInUseException
343//   The specified resource is in use.
344//
345// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDataset
346func (c *Personalize) CreateDataset(input *CreateDatasetInput) (*CreateDatasetOutput, error) {
347	req, out := c.CreateDatasetRequest(input)
348	return out, req.Send()
349}
350
351// CreateDatasetWithContext is the same as CreateDataset with the addition of
352// the ability to pass a context and additional request options.
353//
354// See CreateDataset for details on how to use this API operation.
355//
356// The context must be non-nil and will be used for request cancellation. If
357// the context is nil a panic will occur. In the future the SDK may create
358// sub-contexts for http.Requests. See https://golang.org/pkg/context/
359// for more information on using Contexts.
360func (c *Personalize) CreateDatasetWithContext(ctx aws.Context, input *CreateDatasetInput, opts ...request.Option) (*CreateDatasetOutput, error) {
361	req, out := c.CreateDatasetRequest(input)
362	req.SetContext(ctx)
363	req.ApplyOptions(opts...)
364	return out, req.Send()
365}
366
367const opCreateDatasetExportJob = "CreateDatasetExportJob"
368
369// CreateDatasetExportJobRequest generates a "aws/request.Request" representing the
370// client's request for the CreateDatasetExportJob operation. The "output" return
371// value will be populated with the request's response once the request completes
372// successfully.
373//
374// Use "Send" method on the returned Request to send the API call to the service.
375// the "output" return value is not valid until after Send returns without error.
376//
377// See CreateDatasetExportJob for more information on using the CreateDatasetExportJob
378// API call, and error handling.
379//
380// This method is useful when you want to inject custom logic or configuration
381// into the SDK's request lifecycle. Such as custom headers, or retry logic.
382//
383//
384//    // Example sending a request using the CreateDatasetExportJobRequest method.
385//    req, resp := client.CreateDatasetExportJobRequest(params)
386//
387//    err := req.Send()
388//    if err == nil { // resp is now filled
389//        fmt.Println(resp)
390//    }
391//
392// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetExportJob
393func (c *Personalize) CreateDatasetExportJobRequest(input *CreateDatasetExportJobInput) (req *request.Request, output *CreateDatasetExportJobOutput) {
394	op := &request.Operation{
395		Name:       opCreateDatasetExportJob,
396		HTTPMethod: "POST",
397		HTTPPath:   "/",
398	}
399
400	if input == nil {
401		input = &CreateDatasetExportJobInput{}
402	}
403
404	output = &CreateDatasetExportJobOutput{}
405	req = c.newRequest(op, input, output)
406	return
407}
408
409// CreateDatasetExportJob API operation for Amazon Personalize.
410//
411// Creates a job that exports data from your dataset to an Amazon S3 bucket.
412// To allow Amazon Personalize to export the training data, you must specify
413// an service-linked IAM role that gives Amazon Personalize PutObject permissions
414// for your Amazon S3 bucket. For information, see Exporting a dataset (https://docs.aws.amazon.com/personalize/latest/dg/export-data.html)
415// in the Amazon Personalize developer guide.
416//
417// Status
418//
419// A dataset export job can be in one of the following states:
420//
421//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
422//
423// To get the status of the export job, call DescribeDatasetExportJob, and specify
424// the Amazon Resource Name (ARN) of the dataset export job. The dataset export
425// is complete when the status shows as ACTIVE. If the status shows as CREATE
426// FAILED, the response includes a failureReason key, which describes why the
427// job failed.
428//
429// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
430// with awserr.Error's Code and Message methods to get detailed information about
431// the error.
432//
433// See the AWS API reference guide for Amazon Personalize's
434// API operation CreateDatasetExportJob for usage and error information.
435//
436// Returned Error Types:
437//   * InvalidInputException
438//   Provide a valid value for the field or parameter.
439//
440//   * ResourceNotFoundException
441//   Could not find the specified resource.
442//
443//   * ResourceAlreadyExistsException
444//   The specified resource already exists.
445//
446//   * LimitExceededException
447//   The limit on the number of requests per second has been exceeded.
448//
449//   * ResourceInUseException
450//   The specified resource is in use.
451//
452// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetExportJob
453func (c *Personalize) CreateDatasetExportJob(input *CreateDatasetExportJobInput) (*CreateDatasetExportJobOutput, error) {
454	req, out := c.CreateDatasetExportJobRequest(input)
455	return out, req.Send()
456}
457
458// CreateDatasetExportJobWithContext is the same as CreateDatasetExportJob with the addition of
459// the ability to pass a context and additional request options.
460//
461// See CreateDatasetExportJob for details on how to use this API operation.
462//
463// The context must be non-nil and will be used for request cancellation. If
464// the context is nil a panic will occur. In the future the SDK may create
465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
466// for more information on using Contexts.
467func (c *Personalize) CreateDatasetExportJobWithContext(ctx aws.Context, input *CreateDatasetExportJobInput, opts ...request.Option) (*CreateDatasetExportJobOutput, error) {
468	req, out := c.CreateDatasetExportJobRequest(input)
469	req.SetContext(ctx)
470	req.ApplyOptions(opts...)
471	return out, req.Send()
472}
473
474const opCreateDatasetGroup = "CreateDatasetGroup"
475
476// CreateDatasetGroupRequest generates a "aws/request.Request" representing the
477// client's request for the CreateDatasetGroup operation. The "output" return
478// value will be populated with the request's response once the request completes
479// successfully.
480//
481// Use "Send" method on the returned Request to send the API call to the service.
482// the "output" return value is not valid until after Send returns without error.
483//
484// See CreateDatasetGroup for more information on using the CreateDatasetGroup
485// API call, and error handling.
486//
487// This method is useful when you want to inject custom logic or configuration
488// into the SDK's request lifecycle. Such as custom headers, or retry logic.
489//
490//
491//    // Example sending a request using the CreateDatasetGroupRequest method.
492//    req, resp := client.CreateDatasetGroupRequest(params)
493//
494//    err := req.Send()
495//    if err == nil { // resp is now filled
496//        fmt.Println(resp)
497//    }
498//
499// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetGroup
500func (c *Personalize) CreateDatasetGroupRequest(input *CreateDatasetGroupInput) (req *request.Request, output *CreateDatasetGroupOutput) {
501	op := &request.Operation{
502		Name:       opCreateDatasetGroup,
503		HTTPMethod: "POST",
504		HTTPPath:   "/",
505	}
506
507	if input == nil {
508		input = &CreateDatasetGroupInput{}
509	}
510
511	output = &CreateDatasetGroupOutput{}
512	req = c.newRequest(op, input, output)
513	return
514}
515
516// CreateDatasetGroup API operation for Amazon Personalize.
517//
518// Creates an empty dataset group. A dataset group contains related datasets
519// that supply data for training a model. A dataset group can contain at most
520// three datasets, one for each type of dataset:
521//
522//    * Interactions
523//
524//    * Items
525//
526//    * Users
527//
528// To train a model (create a solution), a dataset group that contains an Interactions
529// dataset is required. Call CreateDataset to add a dataset to the group.
530//
531// A dataset group can be in one of the following states:
532//
533//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
534//
535//    * DELETE PENDING
536//
537// To get the status of the dataset group, call DescribeDatasetGroup. If the
538// status shows as CREATE FAILED, the response includes a failureReason key,
539// which describes why the creation failed.
540//
541// You must wait until the status of the dataset group is ACTIVE before adding
542// a dataset to the group.
543//
544// You can specify an Key Management Service (KMS) key to encrypt the datasets
545// in the group. If you specify a KMS key, you must also include an Identity
546// and Access Management (IAM) role that has permission to access the key.
547//
548// APIs that require a dataset group ARN in the request
549//
550//    * CreateDataset
551//
552//    * CreateEventTracker
553//
554//    * CreateSolution
555//
556// Related APIs
557//
558//    * ListDatasetGroups
559//
560//    * DescribeDatasetGroup
561//
562//    * DeleteDatasetGroup
563//
564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
565// with awserr.Error's Code and Message methods to get detailed information about
566// the error.
567//
568// See the AWS API reference guide for Amazon Personalize's
569// API operation CreateDatasetGroup for usage and error information.
570//
571// Returned Error Types:
572//   * InvalidInputException
573//   Provide a valid value for the field or parameter.
574//
575//   * ResourceAlreadyExistsException
576//   The specified resource already exists.
577//
578//   * LimitExceededException
579//   The limit on the number of requests per second has been exceeded.
580//
581// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetGroup
582func (c *Personalize) CreateDatasetGroup(input *CreateDatasetGroupInput) (*CreateDatasetGroupOutput, error) {
583	req, out := c.CreateDatasetGroupRequest(input)
584	return out, req.Send()
585}
586
587// CreateDatasetGroupWithContext is the same as CreateDatasetGroup with the addition of
588// the ability to pass a context and additional request options.
589//
590// See CreateDatasetGroup for details on how to use this API operation.
591//
592// The context must be non-nil and will be used for request cancellation. If
593// the context is nil a panic will occur. In the future the SDK may create
594// sub-contexts for http.Requests. See https://golang.org/pkg/context/
595// for more information on using Contexts.
596func (c *Personalize) CreateDatasetGroupWithContext(ctx aws.Context, input *CreateDatasetGroupInput, opts ...request.Option) (*CreateDatasetGroupOutput, error) {
597	req, out := c.CreateDatasetGroupRequest(input)
598	req.SetContext(ctx)
599	req.ApplyOptions(opts...)
600	return out, req.Send()
601}
602
603const opCreateDatasetImportJob = "CreateDatasetImportJob"
604
605// CreateDatasetImportJobRequest generates a "aws/request.Request" representing the
606// client's request for the CreateDatasetImportJob operation. The "output" return
607// value will be populated with the request's response once the request completes
608// successfully.
609//
610// Use "Send" method on the returned Request to send the API call to the service.
611// the "output" return value is not valid until after Send returns without error.
612//
613// See CreateDatasetImportJob for more information on using the CreateDatasetImportJob
614// API call, and error handling.
615//
616// This method is useful when you want to inject custom logic or configuration
617// into the SDK's request lifecycle. Such as custom headers, or retry logic.
618//
619//
620//    // Example sending a request using the CreateDatasetImportJobRequest method.
621//    req, resp := client.CreateDatasetImportJobRequest(params)
622//
623//    err := req.Send()
624//    if err == nil { // resp is now filled
625//        fmt.Println(resp)
626//    }
627//
628// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetImportJob
629func (c *Personalize) CreateDatasetImportJobRequest(input *CreateDatasetImportJobInput) (req *request.Request, output *CreateDatasetImportJobOutput) {
630	op := &request.Operation{
631		Name:       opCreateDatasetImportJob,
632		HTTPMethod: "POST",
633		HTTPPath:   "/",
634	}
635
636	if input == nil {
637		input = &CreateDatasetImportJobInput{}
638	}
639
640	output = &CreateDatasetImportJobOutput{}
641	req = c.newRequest(op, input, output)
642	return
643}
644
645// CreateDatasetImportJob API operation for Amazon Personalize.
646//
647// Creates a job that imports training data from your data source (an Amazon
648// S3 bucket) to an Amazon Personalize dataset. To allow Amazon Personalize
649// to import the training data, you must specify an IAM service role that has
650// permission to read from the data source, as Amazon Personalize makes a copy
651// of your data and processes it internally. For information on granting access
652// to your Amazon S3 bucket, see Giving Amazon Personalize Access to Amazon
653// S3 Resources (https://docs.aws.amazon.com/personalize/latest/dg/granting-personalize-s3-access.html).
654//
655// The dataset import job replaces any existing data in the dataset that you
656// imported in bulk.
657//
658// Status
659//
660// A dataset import job can be in one of the following states:
661//
662//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
663//
664// To get the status of the import job, call DescribeDatasetImportJob, providing
665// the Amazon Resource Name (ARN) of the dataset import job. The dataset import
666// is complete when the status shows as ACTIVE. If the status shows as CREATE
667// FAILED, the response includes a failureReason key, which describes why the
668// job failed.
669//
670// Importing takes time. You must wait until the status shows as ACTIVE before
671// training a model using the dataset.
672//
673// Related APIs
674//
675//    * ListDatasetImportJobs
676//
677//    * DescribeDatasetImportJob
678//
679// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
680// with awserr.Error's Code and Message methods to get detailed information about
681// the error.
682//
683// See the AWS API reference guide for Amazon Personalize's
684// API operation CreateDatasetImportJob for usage and error information.
685//
686// Returned Error Types:
687//   * InvalidInputException
688//   Provide a valid value for the field or parameter.
689//
690//   * ResourceNotFoundException
691//   Could not find the specified resource.
692//
693//   * ResourceAlreadyExistsException
694//   The specified resource already exists.
695//
696//   * LimitExceededException
697//   The limit on the number of requests per second has been exceeded.
698//
699//   * ResourceInUseException
700//   The specified resource is in use.
701//
702// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetImportJob
703func (c *Personalize) CreateDatasetImportJob(input *CreateDatasetImportJobInput) (*CreateDatasetImportJobOutput, error) {
704	req, out := c.CreateDatasetImportJobRequest(input)
705	return out, req.Send()
706}
707
708// CreateDatasetImportJobWithContext is the same as CreateDatasetImportJob with the addition of
709// the ability to pass a context and additional request options.
710//
711// See CreateDatasetImportJob for details on how to use this API operation.
712//
713// The context must be non-nil and will be used for request cancellation. If
714// the context is nil a panic will occur. In the future the SDK may create
715// sub-contexts for http.Requests. See https://golang.org/pkg/context/
716// for more information on using Contexts.
717func (c *Personalize) CreateDatasetImportJobWithContext(ctx aws.Context, input *CreateDatasetImportJobInput, opts ...request.Option) (*CreateDatasetImportJobOutput, error) {
718	req, out := c.CreateDatasetImportJobRequest(input)
719	req.SetContext(ctx)
720	req.ApplyOptions(opts...)
721	return out, req.Send()
722}
723
724const opCreateEventTracker = "CreateEventTracker"
725
726// CreateEventTrackerRequest generates a "aws/request.Request" representing the
727// client's request for the CreateEventTracker operation. The "output" return
728// value will be populated with the request's response once the request completes
729// successfully.
730//
731// Use "Send" method on the returned Request to send the API call to the service.
732// the "output" return value is not valid until after Send returns without error.
733//
734// See CreateEventTracker for more information on using the CreateEventTracker
735// API call, and error handling.
736//
737// This method is useful when you want to inject custom logic or configuration
738// into the SDK's request lifecycle. Such as custom headers, or retry logic.
739//
740//
741//    // Example sending a request using the CreateEventTrackerRequest method.
742//    req, resp := client.CreateEventTrackerRequest(params)
743//
744//    err := req.Send()
745//    if err == nil { // resp is now filled
746//        fmt.Println(resp)
747//    }
748//
749// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateEventTracker
750func (c *Personalize) CreateEventTrackerRequest(input *CreateEventTrackerInput) (req *request.Request, output *CreateEventTrackerOutput) {
751	op := &request.Operation{
752		Name:       opCreateEventTracker,
753		HTTPMethod: "POST",
754		HTTPPath:   "/",
755	}
756
757	if input == nil {
758		input = &CreateEventTrackerInput{}
759	}
760
761	output = &CreateEventTrackerOutput{}
762	req = c.newRequest(op, input, output)
763	return
764}
765
766// CreateEventTracker API operation for Amazon Personalize.
767//
768// Creates an event tracker that you use when adding event data to a specified
769// dataset group using the PutEvents (https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html)
770// API.
771//
772// Only one event tracker can be associated with a dataset group. You will get
773// an error if you call CreateEventTracker using the same dataset group as an
774// existing event tracker.
775//
776// When you create an event tracker, the response includes a tracking ID, which
777// you pass as a parameter when you use the PutEvents (https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html)
778// operation. Amazon Personalize then appends the event data to the Interactions
779// dataset of the dataset group you specify in your event tracker.
780//
781// The event tracker can be in one of the following states:
782//
783//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
784//
785//    * DELETE PENDING > DELETE IN_PROGRESS
786//
787// To get the status of the event tracker, call DescribeEventTracker.
788//
789// The event tracker must be in the ACTIVE state before using the tracking ID.
790//
791// Related APIs
792//
793//    * ListEventTrackers
794//
795//    * DescribeEventTracker
796//
797//    * DeleteEventTracker
798//
799// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
800// with awserr.Error's Code and Message methods to get detailed information about
801// the error.
802//
803// See the AWS API reference guide for Amazon Personalize's
804// API operation CreateEventTracker for usage and error information.
805//
806// Returned Error Types:
807//   * InvalidInputException
808//   Provide a valid value for the field or parameter.
809//
810//   * ResourceAlreadyExistsException
811//   The specified resource already exists.
812//
813//   * ResourceNotFoundException
814//   Could not find the specified resource.
815//
816//   * LimitExceededException
817//   The limit on the number of requests per second has been exceeded.
818//
819//   * ResourceInUseException
820//   The specified resource is in use.
821//
822// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateEventTracker
823func (c *Personalize) CreateEventTracker(input *CreateEventTrackerInput) (*CreateEventTrackerOutput, error) {
824	req, out := c.CreateEventTrackerRequest(input)
825	return out, req.Send()
826}
827
828// CreateEventTrackerWithContext is the same as CreateEventTracker with the addition of
829// the ability to pass a context and additional request options.
830//
831// See CreateEventTracker for details on how to use this API operation.
832//
833// The context must be non-nil and will be used for request cancellation. If
834// the context is nil a panic will occur. In the future the SDK may create
835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
836// for more information on using Contexts.
837func (c *Personalize) CreateEventTrackerWithContext(ctx aws.Context, input *CreateEventTrackerInput, opts ...request.Option) (*CreateEventTrackerOutput, error) {
838	req, out := c.CreateEventTrackerRequest(input)
839	req.SetContext(ctx)
840	req.ApplyOptions(opts...)
841	return out, req.Send()
842}
843
844const opCreateFilter = "CreateFilter"
845
846// CreateFilterRequest generates a "aws/request.Request" representing the
847// client's request for the CreateFilter operation. The "output" return
848// value will be populated with the request's response once the request completes
849// successfully.
850//
851// Use "Send" method on the returned Request to send the API call to the service.
852// the "output" return value is not valid until after Send returns without error.
853//
854// See CreateFilter for more information on using the CreateFilter
855// API call, and error handling.
856//
857// This method is useful when you want to inject custom logic or configuration
858// into the SDK's request lifecycle. Such as custom headers, or retry logic.
859//
860//
861//    // Example sending a request using the CreateFilterRequest method.
862//    req, resp := client.CreateFilterRequest(params)
863//
864//    err := req.Send()
865//    if err == nil { // resp is now filled
866//        fmt.Println(resp)
867//    }
868//
869// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateFilter
870func (c *Personalize) CreateFilterRequest(input *CreateFilterInput) (req *request.Request, output *CreateFilterOutput) {
871	op := &request.Operation{
872		Name:       opCreateFilter,
873		HTTPMethod: "POST",
874		HTTPPath:   "/",
875	}
876
877	if input == nil {
878		input = &CreateFilterInput{}
879	}
880
881	output = &CreateFilterOutput{}
882	req = c.newRequest(op, input, output)
883	return
884}
885
886// CreateFilter API operation for Amazon Personalize.
887//
888// Creates a recommendation filter. For more information, see filter.
889//
890// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
891// with awserr.Error's Code and Message methods to get detailed information about
892// the error.
893//
894// See the AWS API reference guide for Amazon Personalize's
895// API operation CreateFilter for usage and error information.
896//
897// Returned Error Types:
898//   * InvalidInputException
899//   Provide a valid value for the field or parameter.
900//
901//   * ResourceAlreadyExistsException
902//   The specified resource already exists.
903//
904//   * ResourceNotFoundException
905//   Could not find the specified resource.
906//
907//   * LimitExceededException
908//   The limit on the number of requests per second has been exceeded.
909//
910// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateFilter
911func (c *Personalize) CreateFilter(input *CreateFilterInput) (*CreateFilterOutput, error) {
912	req, out := c.CreateFilterRequest(input)
913	return out, req.Send()
914}
915
916// CreateFilterWithContext is the same as CreateFilter with the addition of
917// the ability to pass a context and additional request options.
918//
919// See CreateFilter for details on how to use this API operation.
920//
921// The context must be non-nil and will be used for request cancellation. If
922// the context is nil a panic will occur. In the future the SDK may create
923// sub-contexts for http.Requests. See https://golang.org/pkg/context/
924// for more information on using Contexts.
925func (c *Personalize) CreateFilterWithContext(ctx aws.Context, input *CreateFilterInput, opts ...request.Option) (*CreateFilterOutput, error) {
926	req, out := c.CreateFilterRequest(input)
927	req.SetContext(ctx)
928	req.ApplyOptions(opts...)
929	return out, req.Send()
930}
931
932const opCreateSchema = "CreateSchema"
933
934// CreateSchemaRequest generates a "aws/request.Request" representing the
935// client's request for the CreateSchema operation. The "output" return
936// value will be populated with the request's response once the request completes
937// successfully.
938//
939// Use "Send" method on the returned Request to send the API call to the service.
940// the "output" return value is not valid until after Send returns without error.
941//
942// See CreateSchema for more information on using the CreateSchema
943// API call, and error handling.
944//
945// This method is useful when you want to inject custom logic or configuration
946// into the SDK's request lifecycle. Such as custom headers, or retry logic.
947//
948//
949//    // Example sending a request using the CreateSchemaRequest method.
950//    req, resp := client.CreateSchemaRequest(params)
951//
952//    err := req.Send()
953//    if err == nil { // resp is now filled
954//        fmt.Println(resp)
955//    }
956//
957// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSchema
958func (c *Personalize) CreateSchemaRequest(input *CreateSchemaInput) (req *request.Request, output *CreateSchemaOutput) {
959	op := &request.Operation{
960		Name:       opCreateSchema,
961		HTTPMethod: "POST",
962		HTTPPath:   "/",
963	}
964
965	if input == nil {
966		input = &CreateSchemaInput{}
967	}
968
969	output = &CreateSchemaOutput{}
970	req = c.newRequest(op, input, output)
971	return
972}
973
974// CreateSchema API operation for Amazon Personalize.
975//
976// Creates an Amazon Personalize schema from the specified schema string. The
977// schema you create must be in Avro JSON format.
978//
979// Amazon Personalize recognizes three schema variants. Each schema is associated
980// with a dataset type and has a set of required field and keywords. You specify
981// a schema when you call CreateDataset.
982//
983// Related APIs
984//
985//    * ListSchemas
986//
987//    * DescribeSchema
988//
989//    * DeleteSchema
990//
991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
992// with awserr.Error's Code and Message methods to get detailed information about
993// the error.
994//
995// See the AWS API reference guide for Amazon Personalize's
996// API operation CreateSchema for usage and error information.
997//
998// Returned Error Types:
999//   * InvalidInputException
1000//   Provide a valid value for the field or parameter.
1001//
1002//   * ResourceAlreadyExistsException
1003//   The specified resource already exists.
1004//
1005//   * LimitExceededException
1006//   The limit on the number of requests per second has been exceeded.
1007//
1008// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSchema
1009func (c *Personalize) CreateSchema(input *CreateSchemaInput) (*CreateSchemaOutput, error) {
1010	req, out := c.CreateSchemaRequest(input)
1011	return out, req.Send()
1012}
1013
1014// CreateSchemaWithContext is the same as CreateSchema with the addition of
1015// the ability to pass a context and additional request options.
1016//
1017// See CreateSchema for details on how to use this API operation.
1018//
1019// The context must be non-nil and will be used for request cancellation. If
1020// the context is nil a panic will occur. In the future the SDK may create
1021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1022// for more information on using Contexts.
1023func (c *Personalize) CreateSchemaWithContext(ctx aws.Context, input *CreateSchemaInput, opts ...request.Option) (*CreateSchemaOutput, error) {
1024	req, out := c.CreateSchemaRequest(input)
1025	req.SetContext(ctx)
1026	req.ApplyOptions(opts...)
1027	return out, req.Send()
1028}
1029
1030const opCreateSolution = "CreateSolution"
1031
1032// CreateSolutionRequest generates a "aws/request.Request" representing the
1033// client's request for the CreateSolution operation. The "output" return
1034// value will be populated with the request's response once the request completes
1035// successfully.
1036//
1037// Use "Send" method on the returned Request to send the API call to the service.
1038// the "output" return value is not valid until after Send returns without error.
1039//
1040// See CreateSolution for more information on using the CreateSolution
1041// API call, and error handling.
1042//
1043// This method is useful when you want to inject custom logic or configuration
1044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1045//
1046//
1047//    // Example sending a request using the CreateSolutionRequest method.
1048//    req, resp := client.CreateSolutionRequest(params)
1049//
1050//    err := req.Send()
1051//    if err == nil { // resp is now filled
1052//        fmt.Println(resp)
1053//    }
1054//
1055// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolution
1056func (c *Personalize) CreateSolutionRequest(input *CreateSolutionInput) (req *request.Request, output *CreateSolutionOutput) {
1057	op := &request.Operation{
1058		Name:       opCreateSolution,
1059		HTTPMethod: "POST",
1060		HTTPPath:   "/",
1061	}
1062
1063	if input == nil {
1064		input = &CreateSolutionInput{}
1065	}
1066
1067	output = &CreateSolutionOutput{}
1068	req = c.newRequest(op, input, output)
1069	return
1070}
1071
1072// CreateSolution API operation for Amazon Personalize.
1073//
1074// Creates the configuration for training a model. A trained model is known
1075// as a solution. After the configuration is created, you train the model (create
1076// a solution) by calling the CreateSolutionVersion operation. Every time you
1077// call CreateSolutionVersion, a new version of the solution is created.
1078//
1079// After creating a solution version, you check its accuracy by calling GetSolutionMetrics.
1080// When you are satisfied with the version, you deploy it using CreateCampaign.
1081// The campaign provides recommendations to a client through the GetRecommendations
1082// (https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html)
1083// API.
1084//
1085// To train a model, Amazon Personalize requires training data and a recipe.
1086// The training data comes from the dataset group that you provide in the request.
1087// A recipe specifies the training algorithm and a feature transformation. You
1088// can specify one of the predefined recipes provided by Amazon Personalize.
1089// Alternatively, you can specify performAutoML and Amazon Personalize will
1090// analyze your data and select the optimum USER_PERSONALIZATION recipe for
1091// you.
1092//
1093// Amazon Personalize doesn't support configuring the hpoObjective for solution
1094// hyperparameter optimization at this time.
1095//
1096// Status
1097//
1098// A solution can be in one of the following states:
1099//
1100//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
1101//
1102//    * DELETE PENDING > DELETE IN_PROGRESS
1103//
1104// To get the status of the solution, call DescribeSolution. Wait until the
1105// status shows as ACTIVE before calling CreateSolutionVersion.
1106//
1107// Related APIs
1108//
1109//    * ListSolutions
1110//
1111//    * CreateSolutionVersion
1112//
1113//    * DescribeSolution
1114//
1115//    * DeleteSolution
1116//
1117//    * ListSolutionVersions
1118//
1119//    * DescribeSolutionVersion
1120//
1121// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1122// with awserr.Error's Code and Message methods to get detailed information about
1123// the error.
1124//
1125// See the AWS API reference guide for Amazon Personalize's
1126// API operation CreateSolution for usage and error information.
1127//
1128// Returned Error Types:
1129//   * InvalidInputException
1130//   Provide a valid value for the field or parameter.
1131//
1132//   * ResourceAlreadyExistsException
1133//   The specified resource already exists.
1134//
1135//   * ResourceNotFoundException
1136//   Could not find the specified resource.
1137//
1138//   * LimitExceededException
1139//   The limit on the number of requests per second has been exceeded.
1140//
1141//   * ResourceInUseException
1142//   The specified resource is in use.
1143//
1144// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolution
1145func (c *Personalize) CreateSolution(input *CreateSolutionInput) (*CreateSolutionOutput, error) {
1146	req, out := c.CreateSolutionRequest(input)
1147	return out, req.Send()
1148}
1149
1150// CreateSolutionWithContext is the same as CreateSolution with the addition of
1151// the ability to pass a context and additional request options.
1152//
1153// See CreateSolution for details on how to use this API operation.
1154//
1155// The context must be non-nil and will be used for request cancellation. If
1156// the context is nil a panic will occur. In the future the SDK may create
1157// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1158// for more information on using Contexts.
1159func (c *Personalize) CreateSolutionWithContext(ctx aws.Context, input *CreateSolutionInput, opts ...request.Option) (*CreateSolutionOutput, error) {
1160	req, out := c.CreateSolutionRequest(input)
1161	req.SetContext(ctx)
1162	req.ApplyOptions(opts...)
1163	return out, req.Send()
1164}
1165
1166const opCreateSolutionVersion = "CreateSolutionVersion"
1167
1168// CreateSolutionVersionRequest generates a "aws/request.Request" representing the
1169// client's request for the CreateSolutionVersion operation. The "output" return
1170// value will be populated with the request's response once the request completes
1171// successfully.
1172//
1173// Use "Send" method on the returned Request to send the API call to the service.
1174// the "output" return value is not valid until after Send returns without error.
1175//
1176// See CreateSolutionVersion for more information on using the CreateSolutionVersion
1177// API call, and error handling.
1178//
1179// This method is useful when you want to inject custom logic or configuration
1180// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1181//
1182//
1183//    // Example sending a request using the CreateSolutionVersionRequest method.
1184//    req, resp := client.CreateSolutionVersionRequest(params)
1185//
1186//    err := req.Send()
1187//    if err == nil { // resp is now filled
1188//        fmt.Println(resp)
1189//    }
1190//
1191// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolutionVersion
1192func (c *Personalize) CreateSolutionVersionRequest(input *CreateSolutionVersionInput) (req *request.Request, output *CreateSolutionVersionOutput) {
1193	op := &request.Operation{
1194		Name:       opCreateSolutionVersion,
1195		HTTPMethod: "POST",
1196		HTTPPath:   "/",
1197	}
1198
1199	if input == nil {
1200		input = &CreateSolutionVersionInput{}
1201	}
1202
1203	output = &CreateSolutionVersionOutput{}
1204	req = c.newRequest(op, input, output)
1205	return
1206}
1207
1208// CreateSolutionVersion API operation for Amazon Personalize.
1209//
1210// Trains or retrains an active solution. A solution is created using the CreateSolution
1211// operation and must be in the ACTIVE state before calling CreateSolutionVersion.
1212// A new version of the solution is created every time you call this operation.
1213//
1214// Status
1215//
1216// A solution version can be in one of the following states:
1217//
1218//    * CREATE PENDING
1219//
1220//    * CREATE IN_PROGRESS
1221//
1222//    * ACTIVE
1223//
1224//    * CREATE FAILED
1225//
1226//    * CREATE STOPPING
1227//
1228//    * CREATE STOPPED
1229//
1230// To get the status of the version, call DescribeSolutionVersion. Wait until
1231// the status shows as ACTIVE before calling CreateCampaign.
1232//
1233// If the status shows as CREATE FAILED, the response includes a failureReason
1234// key, which describes why the job failed.
1235//
1236// Related APIs
1237//
1238//    * ListSolutionVersions
1239//
1240//    * DescribeSolutionVersion
1241//
1242//    * ListSolutions
1243//
1244//    * CreateSolution
1245//
1246//    * DescribeSolution
1247//
1248//    * DeleteSolution
1249//
1250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1251// with awserr.Error's Code and Message methods to get detailed information about
1252// the error.
1253//
1254// See the AWS API reference guide for Amazon Personalize's
1255// API operation CreateSolutionVersion for usage and error information.
1256//
1257// Returned Error Types:
1258//   * InvalidInputException
1259//   Provide a valid value for the field or parameter.
1260//
1261//   * ResourceNotFoundException
1262//   Could not find the specified resource.
1263//
1264//   * LimitExceededException
1265//   The limit on the number of requests per second has been exceeded.
1266//
1267//   * ResourceInUseException
1268//   The specified resource is in use.
1269//
1270// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolutionVersion
1271func (c *Personalize) CreateSolutionVersion(input *CreateSolutionVersionInput) (*CreateSolutionVersionOutput, error) {
1272	req, out := c.CreateSolutionVersionRequest(input)
1273	return out, req.Send()
1274}
1275
1276// CreateSolutionVersionWithContext is the same as CreateSolutionVersion with the addition of
1277// the ability to pass a context and additional request options.
1278//
1279// See CreateSolutionVersion for details on how to use this API operation.
1280//
1281// The context must be non-nil and will be used for request cancellation. If
1282// the context is nil a panic will occur. In the future the SDK may create
1283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1284// for more information on using Contexts.
1285func (c *Personalize) CreateSolutionVersionWithContext(ctx aws.Context, input *CreateSolutionVersionInput, opts ...request.Option) (*CreateSolutionVersionOutput, error) {
1286	req, out := c.CreateSolutionVersionRequest(input)
1287	req.SetContext(ctx)
1288	req.ApplyOptions(opts...)
1289	return out, req.Send()
1290}
1291
1292const opDeleteCampaign = "DeleteCampaign"
1293
1294// DeleteCampaignRequest generates a "aws/request.Request" representing the
1295// client's request for the DeleteCampaign operation. The "output" return
1296// value will be populated with the request's response once the request completes
1297// successfully.
1298//
1299// Use "Send" method on the returned Request to send the API call to the service.
1300// the "output" return value is not valid until after Send returns without error.
1301//
1302// See DeleteCampaign for more information on using the DeleteCampaign
1303// API call, and error handling.
1304//
1305// This method is useful when you want to inject custom logic or configuration
1306// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1307//
1308//
1309//    // Example sending a request using the DeleteCampaignRequest method.
1310//    req, resp := client.DeleteCampaignRequest(params)
1311//
1312//    err := req.Send()
1313//    if err == nil { // resp is now filled
1314//        fmt.Println(resp)
1315//    }
1316//
1317// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteCampaign
1318func (c *Personalize) DeleteCampaignRequest(input *DeleteCampaignInput) (req *request.Request, output *DeleteCampaignOutput) {
1319	op := &request.Operation{
1320		Name:       opDeleteCampaign,
1321		HTTPMethod: "POST",
1322		HTTPPath:   "/",
1323	}
1324
1325	if input == nil {
1326		input = &DeleteCampaignInput{}
1327	}
1328
1329	output = &DeleteCampaignOutput{}
1330	req = c.newRequest(op, input, output)
1331	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1332	return
1333}
1334
1335// DeleteCampaign API operation for Amazon Personalize.
1336//
1337// Removes a campaign by deleting the solution deployment. The solution that
1338// the campaign is based on is not deleted and can be redeployed when needed.
1339// A deleted campaign can no longer be specified in a GetRecommendations (https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html)
1340// request. For more information on campaigns, see CreateCampaign.
1341//
1342// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1343// with awserr.Error's Code and Message methods to get detailed information about
1344// the error.
1345//
1346// See the AWS API reference guide for Amazon Personalize's
1347// API operation DeleteCampaign for usage and error information.
1348//
1349// Returned Error Types:
1350//   * InvalidInputException
1351//   Provide a valid value for the field or parameter.
1352//
1353//   * ResourceNotFoundException
1354//   Could not find the specified resource.
1355//
1356//   * ResourceInUseException
1357//   The specified resource is in use.
1358//
1359// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteCampaign
1360func (c *Personalize) DeleteCampaign(input *DeleteCampaignInput) (*DeleteCampaignOutput, error) {
1361	req, out := c.DeleteCampaignRequest(input)
1362	return out, req.Send()
1363}
1364
1365// DeleteCampaignWithContext is the same as DeleteCampaign with the addition of
1366// the ability to pass a context and additional request options.
1367//
1368// See DeleteCampaign for details on how to use this API operation.
1369//
1370// The context must be non-nil and will be used for request cancellation. If
1371// the context is nil a panic will occur. In the future the SDK may create
1372// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1373// for more information on using Contexts.
1374func (c *Personalize) DeleteCampaignWithContext(ctx aws.Context, input *DeleteCampaignInput, opts ...request.Option) (*DeleteCampaignOutput, error) {
1375	req, out := c.DeleteCampaignRequest(input)
1376	req.SetContext(ctx)
1377	req.ApplyOptions(opts...)
1378	return out, req.Send()
1379}
1380
1381const opDeleteDataset = "DeleteDataset"
1382
1383// DeleteDatasetRequest generates a "aws/request.Request" representing the
1384// client's request for the DeleteDataset operation. The "output" return
1385// value will be populated with the request's response once the request completes
1386// successfully.
1387//
1388// Use "Send" method on the returned Request to send the API call to the service.
1389// the "output" return value is not valid until after Send returns without error.
1390//
1391// See DeleteDataset for more information on using the DeleteDataset
1392// API call, and error handling.
1393//
1394// This method is useful when you want to inject custom logic or configuration
1395// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1396//
1397//
1398//    // Example sending a request using the DeleteDatasetRequest method.
1399//    req, resp := client.DeleteDatasetRequest(params)
1400//
1401//    err := req.Send()
1402//    if err == nil { // resp is now filled
1403//        fmt.Println(resp)
1404//    }
1405//
1406// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDataset
1407func (c *Personalize) DeleteDatasetRequest(input *DeleteDatasetInput) (req *request.Request, output *DeleteDatasetOutput) {
1408	op := &request.Operation{
1409		Name:       opDeleteDataset,
1410		HTTPMethod: "POST",
1411		HTTPPath:   "/",
1412	}
1413
1414	if input == nil {
1415		input = &DeleteDatasetInput{}
1416	}
1417
1418	output = &DeleteDatasetOutput{}
1419	req = c.newRequest(op, input, output)
1420	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1421	return
1422}
1423
1424// DeleteDataset API operation for Amazon Personalize.
1425//
1426// Deletes a dataset. You can't delete a dataset if an associated DatasetImportJob
1427// or SolutionVersion is in the CREATE PENDING or IN PROGRESS state. For more
1428// information on datasets, see CreateDataset.
1429//
1430// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1431// with awserr.Error's Code and Message methods to get detailed information about
1432// the error.
1433//
1434// See the AWS API reference guide for Amazon Personalize's
1435// API operation DeleteDataset for usage and error information.
1436//
1437// Returned Error Types:
1438//   * InvalidInputException
1439//   Provide a valid value for the field or parameter.
1440//
1441//   * ResourceNotFoundException
1442//   Could not find the specified resource.
1443//
1444//   * ResourceInUseException
1445//   The specified resource is in use.
1446//
1447// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDataset
1448func (c *Personalize) DeleteDataset(input *DeleteDatasetInput) (*DeleteDatasetOutput, error) {
1449	req, out := c.DeleteDatasetRequest(input)
1450	return out, req.Send()
1451}
1452
1453// DeleteDatasetWithContext is the same as DeleteDataset with the addition of
1454// the ability to pass a context and additional request options.
1455//
1456// See DeleteDataset for details on how to use this API operation.
1457//
1458// The context must be non-nil and will be used for request cancellation. If
1459// the context is nil a panic will occur. In the future the SDK may create
1460// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1461// for more information on using Contexts.
1462func (c *Personalize) DeleteDatasetWithContext(ctx aws.Context, input *DeleteDatasetInput, opts ...request.Option) (*DeleteDatasetOutput, error) {
1463	req, out := c.DeleteDatasetRequest(input)
1464	req.SetContext(ctx)
1465	req.ApplyOptions(opts...)
1466	return out, req.Send()
1467}
1468
1469const opDeleteDatasetGroup = "DeleteDatasetGroup"
1470
1471// DeleteDatasetGroupRequest generates a "aws/request.Request" representing the
1472// client's request for the DeleteDatasetGroup operation. The "output" return
1473// value will be populated with the request's response once the request completes
1474// successfully.
1475//
1476// Use "Send" method on the returned Request to send the API call to the service.
1477// the "output" return value is not valid until after Send returns without error.
1478//
1479// See DeleteDatasetGroup for more information on using the DeleteDatasetGroup
1480// API call, and error handling.
1481//
1482// This method is useful when you want to inject custom logic or configuration
1483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1484//
1485//
1486//    // Example sending a request using the DeleteDatasetGroupRequest method.
1487//    req, resp := client.DeleteDatasetGroupRequest(params)
1488//
1489//    err := req.Send()
1490//    if err == nil { // resp is now filled
1491//        fmt.Println(resp)
1492//    }
1493//
1494// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDatasetGroup
1495func (c *Personalize) DeleteDatasetGroupRequest(input *DeleteDatasetGroupInput) (req *request.Request, output *DeleteDatasetGroupOutput) {
1496	op := &request.Operation{
1497		Name:       opDeleteDatasetGroup,
1498		HTTPMethod: "POST",
1499		HTTPPath:   "/",
1500	}
1501
1502	if input == nil {
1503		input = &DeleteDatasetGroupInput{}
1504	}
1505
1506	output = &DeleteDatasetGroupOutput{}
1507	req = c.newRequest(op, input, output)
1508	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1509	return
1510}
1511
1512// DeleteDatasetGroup API operation for Amazon Personalize.
1513//
1514// Deletes a dataset group. Before you delete a dataset group, you must delete
1515// the following:
1516//
1517//    * All associated event trackers.
1518//
1519//    * All associated solutions.
1520//
1521//    * All datasets in the dataset group.
1522//
1523// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1524// with awserr.Error's Code and Message methods to get detailed information about
1525// the error.
1526//
1527// See the AWS API reference guide for Amazon Personalize's
1528// API operation DeleteDatasetGroup for usage and error information.
1529//
1530// Returned Error Types:
1531//   * InvalidInputException
1532//   Provide a valid value for the field or parameter.
1533//
1534//   * ResourceNotFoundException
1535//   Could not find the specified resource.
1536//
1537//   * ResourceInUseException
1538//   The specified resource is in use.
1539//
1540// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDatasetGroup
1541func (c *Personalize) DeleteDatasetGroup(input *DeleteDatasetGroupInput) (*DeleteDatasetGroupOutput, error) {
1542	req, out := c.DeleteDatasetGroupRequest(input)
1543	return out, req.Send()
1544}
1545
1546// DeleteDatasetGroupWithContext is the same as DeleteDatasetGroup with the addition of
1547// the ability to pass a context and additional request options.
1548//
1549// See DeleteDatasetGroup for details on how to use this API operation.
1550//
1551// The context must be non-nil and will be used for request cancellation. If
1552// the context is nil a panic will occur. In the future the SDK may create
1553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1554// for more information on using Contexts.
1555func (c *Personalize) DeleteDatasetGroupWithContext(ctx aws.Context, input *DeleteDatasetGroupInput, opts ...request.Option) (*DeleteDatasetGroupOutput, error) {
1556	req, out := c.DeleteDatasetGroupRequest(input)
1557	req.SetContext(ctx)
1558	req.ApplyOptions(opts...)
1559	return out, req.Send()
1560}
1561
1562const opDeleteEventTracker = "DeleteEventTracker"
1563
1564// DeleteEventTrackerRequest generates a "aws/request.Request" representing the
1565// client's request for the DeleteEventTracker operation. The "output" return
1566// value will be populated with the request's response once the request completes
1567// successfully.
1568//
1569// Use "Send" method on the returned Request to send the API call to the service.
1570// the "output" return value is not valid until after Send returns without error.
1571//
1572// See DeleteEventTracker for more information on using the DeleteEventTracker
1573// API call, and error handling.
1574//
1575// This method is useful when you want to inject custom logic or configuration
1576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1577//
1578//
1579//    // Example sending a request using the DeleteEventTrackerRequest method.
1580//    req, resp := client.DeleteEventTrackerRequest(params)
1581//
1582//    err := req.Send()
1583//    if err == nil { // resp is now filled
1584//        fmt.Println(resp)
1585//    }
1586//
1587// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteEventTracker
1588func (c *Personalize) DeleteEventTrackerRequest(input *DeleteEventTrackerInput) (req *request.Request, output *DeleteEventTrackerOutput) {
1589	op := &request.Operation{
1590		Name:       opDeleteEventTracker,
1591		HTTPMethod: "POST",
1592		HTTPPath:   "/",
1593	}
1594
1595	if input == nil {
1596		input = &DeleteEventTrackerInput{}
1597	}
1598
1599	output = &DeleteEventTrackerOutput{}
1600	req = c.newRequest(op, input, output)
1601	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1602	return
1603}
1604
1605// DeleteEventTracker API operation for Amazon Personalize.
1606//
1607// Deletes the event tracker. Does not delete the event-interactions dataset
1608// from the associated dataset group. For more information on event trackers,
1609// see CreateEventTracker.
1610//
1611// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1612// with awserr.Error's Code and Message methods to get detailed information about
1613// the error.
1614//
1615// See the AWS API reference guide for Amazon Personalize's
1616// API operation DeleteEventTracker for usage and error information.
1617//
1618// Returned Error Types:
1619//   * InvalidInputException
1620//   Provide a valid value for the field or parameter.
1621//
1622//   * ResourceNotFoundException
1623//   Could not find the specified resource.
1624//
1625//   * ResourceInUseException
1626//   The specified resource is in use.
1627//
1628// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteEventTracker
1629func (c *Personalize) DeleteEventTracker(input *DeleteEventTrackerInput) (*DeleteEventTrackerOutput, error) {
1630	req, out := c.DeleteEventTrackerRequest(input)
1631	return out, req.Send()
1632}
1633
1634// DeleteEventTrackerWithContext is the same as DeleteEventTracker with the addition of
1635// the ability to pass a context and additional request options.
1636//
1637// See DeleteEventTracker for details on how to use this API operation.
1638//
1639// The context must be non-nil and will be used for request cancellation. If
1640// the context is nil a panic will occur. In the future the SDK may create
1641// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1642// for more information on using Contexts.
1643func (c *Personalize) DeleteEventTrackerWithContext(ctx aws.Context, input *DeleteEventTrackerInput, opts ...request.Option) (*DeleteEventTrackerOutput, error) {
1644	req, out := c.DeleteEventTrackerRequest(input)
1645	req.SetContext(ctx)
1646	req.ApplyOptions(opts...)
1647	return out, req.Send()
1648}
1649
1650const opDeleteFilter = "DeleteFilter"
1651
1652// DeleteFilterRequest generates a "aws/request.Request" representing the
1653// client's request for the DeleteFilter operation. The "output" return
1654// value will be populated with the request's response once the request completes
1655// successfully.
1656//
1657// Use "Send" method on the returned Request to send the API call to the service.
1658// the "output" return value is not valid until after Send returns without error.
1659//
1660// See DeleteFilter for more information on using the DeleteFilter
1661// API call, and error handling.
1662//
1663// This method is useful when you want to inject custom logic or configuration
1664// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1665//
1666//
1667//    // Example sending a request using the DeleteFilterRequest method.
1668//    req, resp := client.DeleteFilterRequest(params)
1669//
1670//    err := req.Send()
1671//    if err == nil { // resp is now filled
1672//        fmt.Println(resp)
1673//    }
1674//
1675// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteFilter
1676func (c *Personalize) DeleteFilterRequest(input *DeleteFilterInput) (req *request.Request, output *DeleteFilterOutput) {
1677	op := &request.Operation{
1678		Name:       opDeleteFilter,
1679		HTTPMethod: "POST",
1680		HTTPPath:   "/",
1681	}
1682
1683	if input == nil {
1684		input = &DeleteFilterInput{}
1685	}
1686
1687	output = &DeleteFilterOutput{}
1688	req = c.newRequest(op, input, output)
1689	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1690	return
1691}
1692
1693// DeleteFilter API operation for Amazon Personalize.
1694//
1695// Deletes a filter.
1696//
1697// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1698// with awserr.Error's Code and Message methods to get detailed information about
1699// the error.
1700//
1701// See the AWS API reference guide for Amazon Personalize's
1702// API operation DeleteFilter for usage and error information.
1703//
1704// Returned Error Types:
1705//   * InvalidInputException
1706//   Provide a valid value for the field or parameter.
1707//
1708//   * ResourceNotFoundException
1709//   Could not find the specified resource.
1710//
1711//   * ResourceInUseException
1712//   The specified resource is in use.
1713//
1714// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteFilter
1715func (c *Personalize) DeleteFilter(input *DeleteFilterInput) (*DeleteFilterOutput, error) {
1716	req, out := c.DeleteFilterRequest(input)
1717	return out, req.Send()
1718}
1719
1720// DeleteFilterWithContext is the same as DeleteFilter with the addition of
1721// the ability to pass a context and additional request options.
1722//
1723// See DeleteFilter for details on how to use this API operation.
1724//
1725// The context must be non-nil and will be used for request cancellation. If
1726// the context is nil a panic will occur. In the future the SDK may create
1727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1728// for more information on using Contexts.
1729func (c *Personalize) DeleteFilterWithContext(ctx aws.Context, input *DeleteFilterInput, opts ...request.Option) (*DeleteFilterOutput, error) {
1730	req, out := c.DeleteFilterRequest(input)
1731	req.SetContext(ctx)
1732	req.ApplyOptions(opts...)
1733	return out, req.Send()
1734}
1735
1736const opDeleteSchema = "DeleteSchema"
1737
1738// DeleteSchemaRequest generates a "aws/request.Request" representing the
1739// client's request for the DeleteSchema operation. The "output" return
1740// value will be populated with the request's response once the request completes
1741// successfully.
1742//
1743// Use "Send" method on the returned Request to send the API call to the service.
1744// the "output" return value is not valid until after Send returns without error.
1745//
1746// See DeleteSchema for more information on using the DeleteSchema
1747// API call, and error handling.
1748//
1749// This method is useful when you want to inject custom logic or configuration
1750// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1751//
1752//
1753//    // Example sending a request using the DeleteSchemaRequest method.
1754//    req, resp := client.DeleteSchemaRequest(params)
1755//
1756//    err := req.Send()
1757//    if err == nil { // resp is now filled
1758//        fmt.Println(resp)
1759//    }
1760//
1761// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSchema
1762func (c *Personalize) DeleteSchemaRequest(input *DeleteSchemaInput) (req *request.Request, output *DeleteSchemaOutput) {
1763	op := &request.Operation{
1764		Name:       opDeleteSchema,
1765		HTTPMethod: "POST",
1766		HTTPPath:   "/",
1767	}
1768
1769	if input == nil {
1770		input = &DeleteSchemaInput{}
1771	}
1772
1773	output = &DeleteSchemaOutput{}
1774	req = c.newRequest(op, input, output)
1775	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1776	return
1777}
1778
1779// DeleteSchema API operation for Amazon Personalize.
1780//
1781// Deletes a schema. Before deleting a schema, you must delete all datasets
1782// referencing the schema. For more information on schemas, see CreateSchema.
1783//
1784// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1785// with awserr.Error's Code and Message methods to get detailed information about
1786// the error.
1787//
1788// See the AWS API reference guide for Amazon Personalize's
1789// API operation DeleteSchema for usage and error information.
1790//
1791// Returned Error Types:
1792//   * InvalidInputException
1793//   Provide a valid value for the field or parameter.
1794//
1795//   * ResourceNotFoundException
1796//   Could not find the specified resource.
1797//
1798//   * ResourceInUseException
1799//   The specified resource is in use.
1800//
1801// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSchema
1802func (c *Personalize) DeleteSchema(input *DeleteSchemaInput) (*DeleteSchemaOutput, error) {
1803	req, out := c.DeleteSchemaRequest(input)
1804	return out, req.Send()
1805}
1806
1807// DeleteSchemaWithContext is the same as DeleteSchema with the addition of
1808// the ability to pass a context and additional request options.
1809//
1810// See DeleteSchema for details on how to use this API operation.
1811//
1812// The context must be non-nil and will be used for request cancellation. If
1813// the context is nil a panic will occur. In the future the SDK may create
1814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1815// for more information on using Contexts.
1816func (c *Personalize) DeleteSchemaWithContext(ctx aws.Context, input *DeleteSchemaInput, opts ...request.Option) (*DeleteSchemaOutput, error) {
1817	req, out := c.DeleteSchemaRequest(input)
1818	req.SetContext(ctx)
1819	req.ApplyOptions(opts...)
1820	return out, req.Send()
1821}
1822
1823const opDeleteSolution = "DeleteSolution"
1824
1825// DeleteSolutionRequest generates a "aws/request.Request" representing the
1826// client's request for the DeleteSolution operation. The "output" return
1827// value will be populated with the request's response once the request completes
1828// successfully.
1829//
1830// Use "Send" method on the returned Request to send the API call to the service.
1831// the "output" return value is not valid until after Send returns without error.
1832//
1833// See DeleteSolution for more information on using the DeleteSolution
1834// API call, and error handling.
1835//
1836// This method is useful when you want to inject custom logic or configuration
1837// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1838//
1839//
1840//    // Example sending a request using the DeleteSolutionRequest method.
1841//    req, resp := client.DeleteSolutionRequest(params)
1842//
1843//    err := req.Send()
1844//    if err == nil { // resp is now filled
1845//        fmt.Println(resp)
1846//    }
1847//
1848// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSolution
1849func (c *Personalize) DeleteSolutionRequest(input *DeleteSolutionInput) (req *request.Request, output *DeleteSolutionOutput) {
1850	op := &request.Operation{
1851		Name:       opDeleteSolution,
1852		HTTPMethod: "POST",
1853		HTTPPath:   "/",
1854	}
1855
1856	if input == nil {
1857		input = &DeleteSolutionInput{}
1858	}
1859
1860	output = &DeleteSolutionOutput{}
1861	req = c.newRequest(op, input, output)
1862	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1863	return
1864}
1865
1866// DeleteSolution API operation for Amazon Personalize.
1867//
1868// Deletes all versions of a solution and the Solution object itself. Before
1869// deleting a solution, you must delete all campaigns based on the solution.
1870// To determine what campaigns are using the solution, call ListCampaigns and
1871// supply the Amazon Resource Name (ARN) of the solution. You can't delete a
1872// solution if an associated SolutionVersion is in the CREATE PENDING or IN
1873// PROGRESS state. For more information on solutions, see CreateSolution.
1874//
1875// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1876// with awserr.Error's Code and Message methods to get detailed information about
1877// the error.
1878//
1879// See the AWS API reference guide for Amazon Personalize's
1880// API operation DeleteSolution for usage and error information.
1881//
1882// Returned Error Types:
1883//   * InvalidInputException
1884//   Provide a valid value for the field or parameter.
1885//
1886//   * ResourceNotFoundException
1887//   Could not find the specified resource.
1888//
1889//   * ResourceInUseException
1890//   The specified resource is in use.
1891//
1892// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSolution
1893func (c *Personalize) DeleteSolution(input *DeleteSolutionInput) (*DeleteSolutionOutput, error) {
1894	req, out := c.DeleteSolutionRequest(input)
1895	return out, req.Send()
1896}
1897
1898// DeleteSolutionWithContext is the same as DeleteSolution with the addition of
1899// the ability to pass a context and additional request options.
1900//
1901// See DeleteSolution for details on how to use this API operation.
1902//
1903// The context must be non-nil and will be used for request cancellation. If
1904// the context is nil a panic will occur. In the future the SDK may create
1905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1906// for more information on using Contexts.
1907func (c *Personalize) DeleteSolutionWithContext(ctx aws.Context, input *DeleteSolutionInput, opts ...request.Option) (*DeleteSolutionOutput, error) {
1908	req, out := c.DeleteSolutionRequest(input)
1909	req.SetContext(ctx)
1910	req.ApplyOptions(opts...)
1911	return out, req.Send()
1912}
1913
1914const opDescribeAlgorithm = "DescribeAlgorithm"
1915
1916// DescribeAlgorithmRequest generates a "aws/request.Request" representing the
1917// client's request for the DescribeAlgorithm operation. The "output" return
1918// value will be populated with the request's response once the request completes
1919// successfully.
1920//
1921// Use "Send" method on the returned Request to send the API call to the service.
1922// the "output" return value is not valid until after Send returns without error.
1923//
1924// See DescribeAlgorithm for more information on using the DescribeAlgorithm
1925// API call, and error handling.
1926//
1927// This method is useful when you want to inject custom logic or configuration
1928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1929//
1930//
1931//    // Example sending a request using the DescribeAlgorithmRequest method.
1932//    req, resp := client.DescribeAlgorithmRequest(params)
1933//
1934//    err := req.Send()
1935//    if err == nil { // resp is now filled
1936//        fmt.Println(resp)
1937//    }
1938//
1939// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeAlgorithm
1940func (c *Personalize) DescribeAlgorithmRequest(input *DescribeAlgorithmInput) (req *request.Request, output *DescribeAlgorithmOutput) {
1941	op := &request.Operation{
1942		Name:       opDescribeAlgorithm,
1943		HTTPMethod: "POST",
1944		HTTPPath:   "/",
1945	}
1946
1947	if input == nil {
1948		input = &DescribeAlgorithmInput{}
1949	}
1950
1951	output = &DescribeAlgorithmOutput{}
1952	req = c.newRequest(op, input, output)
1953	return
1954}
1955
1956// DescribeAlgorithm API operation for Amazon Personalize.
1957//
1958// Describes the given algorithm.
1959//
1960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1961// with awserr.Error's Code and Message methods to get detailed information about
1962// the error.
1963//
1964// See the AWS API reference guide for Amazon Personalize's
1965// API operation DescribeAlgorithm for usage and error information.
1966//
1967// Returned Error Types:
1968//   * InvalidInputException
1969//   Provide a valid value for the field or parameter.
1970//
1971//   * ResourceNotFoundException
1972//   Could not find the specified resource.
1973//
1974// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeAlgorithm
1975func (c *Personalize) DescribeAlgorithm(input *DescribeAlgorithmInput) (*DescribeAlgorithmOutput, error) {
1976	req, out := c.DescribeAlgorithmRequest(input)
1977	return out, req.Send()
1978}
1979
1980// DescribeAlgorithmWithContext is the same as DescribeAlgorithm with the addition of
1981// the ability to pass a context and additional request options.
1982//
1983// See DescribeAlgorithm for details on how to use this API operation.
1984//
1985// The context must be non-nil and will be used for request cancellation. If
1986// the context is nil a panic will occur. In the future the SDK may create
1987// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1988// for more information on using Contexts.
1989func (c *Personalize) DescribeAlgorithmWithContext(ctx aws.Context, input *DescribeAlgorithmInput, opts ...request.Option) (*DescribeAlgorithmOutput, error) {
1990	req, out := c.DescribeAlgorithmRequest(input)
1991	req.SetContext(ctx)
1992	req.ApplyOptions(opts...)
1993	return out, req.Send()
1994}
1995
1996const opDescribeBatchInferenceJob = "DescribeBatchInferenceJob"
1997
1998// DescribeBatchInferenceJobRequest generates a "aws/request.Request" representing the
1999// client's request for the DescribeBatchInferenceJob operation. The "output" return
2000// value will be populated with the request's response once the request completes
2001// successfully.
2002//
2003// Use "Send" method on the returned Request to send the API call to the service.
2004// the "output" return value is not valid until after Send returns without error.
2005//
2006// See DescribeBatchInferenceJob for more information on using the DescribeBatchInferenceJob
2007// API call, and error handling.
2008//
2009// This method is useful when you want to inject custom logic or configuration
2010// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2011//
2012//
2013//    // Example sending a request using the DescribeBatchInferenceJobRequest method.
2014//    req, resp := client.DescribeBatchInferenceJobRequest(params)
2015//
2016//    err := req.Send()
2017//    if err == nil { // resp is now filled
2018//        fmt.Println(resp)
2019//    }
2020//
2021// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeBatchInferenceJob
2022func (c *Personalize) DescribeBatchInferenceJobRequest(input *DescribeBatchInferenceJobInput) (req *request.Request, output *DescribeBatchInferenceJobOutput) {
2023	op := &request.Operation{
2024		Name:       opDescribeBatchInferenceJob,
2025		HTTPMethod: "POST",
2026		HTTPPath:   "/",
2027	}
2028
2029	if input == nil {
2030		input = &DescribeBatchInferenceJobInput{}
2031	}
2032
2033	output = &DescribeBatchInferenceJobOutput{}
2034	req = c.newRequest(op, input, output)
2035	return
2036}
2037
2038// DescribeBatchInferenceJob API operation for Amazon Personalize.
2039//
2040// Gets the properties of a batch inference job including name, Amazon Resource
2041// Name (ARN), status, input and output configurations, and the ARN of the solution
2042// version used to generate the recommendations.
2043//
2044// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2045// with awserr.Error's Code and Message methods to get detailed information about
2046// the error.
2047//
2048// See the AWS API reference guide for Amazon Personalize's
2049// API operation DescribeBatchInferenceJob for usage and error information.
2050//
2051// Returned Error Types:
2052//   * InvalidInputException
2053//   Provide a valid value for the field or parameter.
2054//
2055//   * ResourceNotFoundException
2056//   Could not find the specified resource.
2057//
2058// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeBatchInferenceJob
2059func (c *Personalize) DescribeBatchInferenceJob(input *DescribeBatchInferenceJobInput) (*DescribeBatchInferenceJobOutput, error) {
2060	req, out := c.DescribeBatchInferenceJobRequest(input)
2061	return out, req.Send()
2062}
2063
2064// DescribeBatchInferenceJobWithContext is the same as DescribeBatchInferenceJob with the addition of
2065// the ability to pass a context and additional request options.
2066//
2067// See DescribeBatchInferenceJob for details on how to use this API operation.
2068//
2069// The context must be non-nil and will be used for request cancellation. If
2070// the context is nil a panic will occur. In the future the SDK may create
2071// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2072// for more information on using Contexts.
2073func (c *Personalize) DescribeBatchInferenceJobWithContext(ctx aws.Context, input *DescribeBatchInferenceJobInput, opts ...request.Option) (*DescribeBatchInferenceJobOutput, error) {
2074	req, out := c.DescribeBatchInferenceJobRequest(input)
2075	req.SetContext(ctx)
2076	req.ApplyOptions(opts...)
2077	return out, req.Send()
2078}
2079
2080const opDescribeCampaign = "DescribeCampaign"
2081
2082// DescribeCampaignRequest generates a "aws/request.Request" representing the
2083// client's request for the DescribeCampaign operation. The "output" return
2084// value will be populated with the request's response once the request completes
2085// successfully.
2086//
2087// Use "Send" method on the returned Request to send the API call to the service.
2088// the "output" return value is not valid until after Send returns without error.
2089//
2090// See DescribeCampaign for more information on using the DescribeCampaign
2091// API call, and error handling.
2092//
2093// This method is useful when you want to inject custom logic or configuration
2094// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2095//
2096//
2097//    // Example sending a request using the DescribeCampaignRequest method.
2098//    req, resp := client.DescribeCampaignRequest(params)
2099//
2100//    err := req.Send()
2101//    if err == nil { // resp is now filled
2102//        fmt.Println(resp)
2103//    }
2104//
2105// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeCampaign
2106func (c *Personalize) DescribeCampaignRequest(input *DescribeCampaignInput) (req *request.Request, output *DescribeCampaignOutput) {
2107	op := &request.Operation{
2108		Name:       opDescribeCampaign,
2109		HTTPMethod: "POST",
2110		HTTPPath:   "/",
2111	}
2112
2113	if input == nil {
2114		input = &DescribeCampaignInput{}
2115	}
2116
2117	output = &DescribeCampaignOutput{}
2118	req = c.newRequest(op, input, output)
2119	return
2120}
2121
2122// DescribeCampaign API operation for Amazon Personalize.
2123//
2124// Describes the given campaign, including its status.
2125//
2126// A campaign can be in one of the following states:
2127//
2128//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
2129//
2130//    * DELETE PENDING > DELETE IN_PROGRESS
2131//
2132// When the status is CREATE FAILED, the response includes the failureReason
2133// key, which describes why.
2134//
2135// For more information on campaigns, see CreateCampaign.
2136//
2137// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2138// with awserr.Error's Code and Message methods to get detailed information about
2139// the error.
2140//
2141// See the AWS API reference guide for Amazon Personalize's
2142// API operation DescribeCampaign for usage and error information.
2143//
2144// Returned Error Types:
2145//   * InvalidInputException
2146//   Provide a valid value for the field or parameter.
2147//
2148//   * ResourceNotFoundException
2149//   Could not find the specified resource.
2150//
2151// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeCampaign
2152func (c *Personalize) DescribeCampaign(input *DescribeCampaignInput) (*DescribeCampaignOutput, error) {
2153	req, out := c.DescribeCampaignRequest(input)
2154	return out, req.Send()
2155}
2156
2157// DescribeCampaignWithContext is the same as DescribeCampaign with the addition of
2158// the ability to pass a context and additional request options.
2159//
2160// See DescribeCampaign for details on how to use this API operation.
2161//
2162// The context must be non-nil and will be used for request cancellation. If
2163// the context is nil a panic will occur. In the future the SDK may create
2164// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2165// for more information on using Contexts.
2166func (c *Personalize) DescribeCampaignWithContext(ctx aws.Context, input *DescribeCampaignInput, opts ...request.Option) (*DescribeCampaignOutput, error) {
2167	req, out := c.DescribeCampaignRequest(input)
2168	req.SetContext(ctx)
2169	req.ApplyOptions(opts...)
2170	return out, req.Send()
2171}
2172
2173const opDescribeDataset = "DescribeDataset"
2174
2175// DescribeDatasetRequest generates a "aws/request.Request" representing the
2176// client's request for the DescribeDataset operation. The "output" return
2177// value will be populated with the request's response once the request completes
2178// successfully.
2179//
2180// Use "Send" method on the returned Request to send the API call to the service.
2181// the "output" return value is not valid until after Send returns without error.
2182//
2183// See DescribeDataset for more information on using the DescribeDataset
2184// API call, and error handling.
2185//
2186// This method is useful when you want to inject custom logic or configuration
2187// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2188//
2189//
2190//    // Example sending a request using the DescribeDatasetRequest method.
2191//    req, resp := client.DescribeDatasetRequest(params)
2192//
2193//    err := req.Send()
2194//    if err == nil { // resp is now filled
2195//        fmt.Println(resp)
2196//    }
2197//
2198// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDataset
2199func (c *Personalize) DescribeDatasetRequest(input *DescribeDatasetInput) (req *request.Request, output *DescribeDatasetOutput) {
2200	op := &request.Operation{
2201		Name:       opDescribeDataset,
2202		HTTPMethod: "POST",
2203		HTTPPath:   "/",
2204	}
2205
2206	if input == nil {
2207		input = &DescribeDatasetInput{}
2208	}
2209
2210	output = &DescribeDatasetOutput{}
2211	req = c.newRequest(op, input, output)
2212	return
2213}
2214
2215// DescribeDataset API operation for Amazon Personalize.
2216//
2217// Describes the given dataset. For more information on datasets, see CreateDataset.
2218//
2219// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2220// with awserr.Error's Code and Message methods to get detailed information about
2221// the error.
2222//
2223// See the AWS API reference guide for Amazon Personalize's
2224// API operation DescribeDataset for usage and error information.
2225//
2226// Returned Error Types:
2227//   * InvalidInputException
2228//   Provide a valid value for the field or parameter.
2229//
2230//   * ResourceNotFoundException
2231//   Could not find the specified resource.
2232//
2233// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDataset
2234func (c *Personalize) DescribeDataset(input *DescribeDatasetInput) (*DescribeDatasetOutput, error) {
2235	req, out := c.DescribeDatasetRequest(input)
2236	return out, req.Send()
2237}
2238
2239// DescribeDatasetWithContext is the same as DescribeDataset with the addition of
2240// the ability to pass a context and additional request options.
2241//
2242// See DescribeDataset for details on how to use this API operation.
2243//
2244// The context must be non-nil and will be used for request cancellation. If
2245// the context is nil a panic will occur. In the future the SDK may create
2246// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2247// for more information on using Contexts.
2248func (c *Personalize) DescribeDatasetWithContext(ctx aws.Context, input *DescribeDatasetInput, opts ...request.Option) (*DescribeDatasetOutput, error) {
2249	req, out := c.DescribeDatasetRequest(input)
2250	req.SetContext(ctx)
2251	req.ApplyOptions(opts...)
2252	return out, req.Send()
2253}
2254
2255const opDescribeDatasetExportJob = "DescribeDatasetExportJob"
2256
2257// DescribeDatasetExportJobRequest generates a "aws/request.Request" representing the
2258// client's request for the DescribeDatasetExportJob operation. The "output" return
2259// value will be populated with the request's response once the request completes
2260// successfully.
2261//
2262// Use "Send" method on the returned Request to send the API call to the service.
2263// the "output" return value is not valid until after Send returns without error.
2264//
2265// See DescribeDatasetExportJob for more information on using the DescribeDatasetExportJob
2266// API call, and error handling.
2267//
2268// This method is useful when you want to inject custom logic or configuration
2269// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2270//
2271//
2272//    // Example sending a request using the DescribeDatasetExportJobRequest method.
2273//    req, resp := client.DescribeDatasetExportJobRequest(params)
2274//
2275//    err := req.Send()
2276//    if err == nil { // resp is now filled
2277//        fmt.Println(resp)
2278//    }
2279//
2280// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetExportJob
2281func (c *Personalize) DescribeDatasetExportJobRequest(input *DescribeDatasetExportJobInput) (req *request.Request, output *DescribeDatasetExportJobOutput) {
2282	op := &request.Operation{
2283		Name:       opDescribeDatasetExportJob,
2284		HTTPMethod: "POST",
2285		HTTPPath:   "/",
2286	}
2287
2288	if input == nil {
2289		input = &DescribeDatasetExportJobInput{}
2290	}
2291
2292	output = &DescribeDatasetExportJobOutput{}
2293	req = c.newRequest(op, input, output)
2294	return
2295}
2296
2297// DescribeDatasetExportJob API operation for Amazon Personalize.
2298//
2299// Describes the dataset export job created by CreateDatasetExportJob, including
2300// the export job status.
2301//
2302// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2303// with awserr.Error's Code and Message methods to get detailed information about
2304// the error.
2305//
2306// See the AWS API reference guide for Amazon Personalize's
2307// API operation DescribeDatasetExportJob for usage and error information.
2308//
2309// Returned Error Types:
2310//   * InvalidInputException
2311//   Provide a valid value for the field or parameter.
2312//
2313//   * ResourceNotFoundException
2314//   Could not find the specified resource.
2315//
2316// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetExportJob
2317func (c *Personalize) DescribeDatasetExportJob(input *DescribeDatasetExportJobInput) (*DescribeDatasetExportJobOutput, error) {
2318	req, out := c.DescribeDatasetExportJobRequest(input)
2319	return out, req.Send()
2320}
2321
2322// DescribeDatasetExportJobWithContext is the same as DescribeDatasetExportJob with the addition of
2323// the ability to pass a context and additional request options.
2324//
2325// See DescribeDatasetExportJob for details on how to use this API operation.
2326//
2327// The context must be non-nil and will be used for request cancellation. If
2328// the context is nil a panic will occur. In the future the SDK may create
2329// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2330// for more information on using Contexts.
2331func (c *Personalize) DescribeDatasetExportJobWithContext(ctx aws.Context, input *DescribeDatasetExportJobInput, opts ...request.Option) (*DescribeDatasetExportJobOutput, error) {
2332	req, out := c.DescribeDatasetExportJobRequest(input)
2333	req.SetContext(ctx)
2334	req.ApplyOptions(opts...)
2335	return out, req.Send()
2336}
2337
2338const opDescribeDatasetGroup = "DescribeDatasetGroup"
2339
2340// DescribeDatasetGroupRequest generates a "aws/request.Request" representing the
2341// client's request for the DescribeDatasetGroup operation. The "output" return
2342// value will be populated with the request's response once the request completes
2343// successfully.
2344//
2345// Use "Send" method on the returned Request to send the API call to the service.
2346// the "output" return value is not valid until after Send returns without error.
2347//
2348// See DescribeDatasetGroup for more information on using the DescribeDatasetGroup
2349// API call, and error handling.
2350//
2351// This method is useful when you want to inject custom logic or configuration
2352// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2353//
2354//
2355//    // Example sending a request using the DescribeDatasetGroupRequest method.
2356//    req, resp := client.DescribeDatasetGroupRequest(params)
2357//
2358//    err := req.Send()
2359//    if err == nil { // resp is now filled
2360//        fmt.Println(resp)
2361//    }
2362//
2363// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetGroup
2364func (c *Personalize) DescribeDatasetGroupRequest(input *DescribeDatasetGroupInput) (req *request.Request, output *DescribeDatasetGroupOutput) {
2365	op := &request.Operation{
2366		Name:       opDescribeDatasetGroup,
2367		HTTPMethod: "POST",
2368		HTTPPath:   "/",
2369	}
2370
2371	if input == nil {
2372		input = &DescribeDatasetGroupInput{}
2373	}
2374
2375	output = &DescribeDatasetGroupOutput{}
2376	req = c.newRequest(op, input, output)
2377	return
2378}
2379
2380// DescribeDatasetGroup API operation for Amazon Personalize.
2381//
2382// Describes the given dataset group. For more information on dataset groups,
2383// see CreateDatasetGroup.
2384//
2385// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2386// with awserr.Error's Code and Message methods to get detailed information about
2387// the error.
2388//
2389// See the AWS API reference guide for Amazon Personalize's
2390// API operation DescribeDatasetGroup for usage and error information.
2391//
2392// Returned Error Types:
2393//   * InvalidInputException
2394//   Provide a valid value for the field or parameter.
2395//
2396//   * ResourceNotFoundException
2397//   Could not find the specified resource.
2398//
2399// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetGroup
2400func (c *Personalize) DescribeDatasetGroup(input *DescribeDatasetGroupInput) (*DescribeDatasetGroupOutput, error) {
2401	req, out := c.DescribeDatasetGroupRequest(input)
2402	return out, req.Send()
2403}
2404
2405// DescribeDatasetGroupWithContext is the same as DescribeDatasetGroup with the addition of
2406// the ability to pass a context and additional request options.
2407//
2408// See DescribeDatasetGroup for details on how to use this API operation.
2409//
2410// The context must be non-nil and will be used for request cancellation. If
2411// the context is nil a panic will occur. In the future the SDK may create
2412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2413// for more information on using Contexts.
2414func (c *Personalize) DescribeDatasetGroupWithContext(ctx aws.Context, input *DescribeDatasetGroupInput, opts ...request.Option) (*DescribeDatasetGroupOutput, error) {
2415	req, out := c.DescribeDatasetGroupRequest(input)
2416	req.SetContext(ctx)
2417	req.ApplyOptions(opts...)
2418	return out, req.Send()
2419}
2420
2421const opDescribeDatasetImportJob = "DescribeDatasetImportJob"
2422
2423// DescribeDatasetImportJobRequest generates a "aws/request.Request" representing the
2424// client's request for the DescribeDatasetImportJob operation. The "output" return
2425// value will be populated with the request's response once the request completes
2426// successfully.
2427//
2428// Use "Send" method on the returned Request to send the API call to the service.
2429// the "output" return value is not valid until after Send returns without error.
2430//
2431// See DescribeDatasetImportJob for more information on using the DescribeDatasetImportJob
2432// API call, and error handling.
2433//
2434// This method is useful when you want to inject custom logic or configuration
2435// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2436//
2437//
2438//    // Example sending a request using the DescribeDatasetImportJobRequest method.
2439//    req, resp := client.DescribeDatasetImportJobRequest(params)
2440//
2441//    err := req.Send()
2442//    if err == nil { // resp is now filled
2443//        fmt.Println(resp)
2444//    }
2445//
2446// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetImportJob
2447func (c *Personalize) DescribeDatasetImportJobRequest(input *DescribeDatasetImportJobInput) (req *request.Request, output *DescribeDatasetImportJobOutput) {
2448	op := &request.Operation{
2449		Name:       opDescribeDatasetImportJob,
2450		HTTPMethod: "POST",
2451		HTTPPath:   "/",
2452	}
2453
2454	if input == nil {
2455		input = &DescribeDatasetImportJobInput{}
2456	}
2457
2458	output = &DescribeDatasetImportJobOutput{}
2459	req = c.newRequest(op, input, output)
2460	return
2461}
2462
2463// DescribeDatasetImportJob API operation for Amazon Personalize.
2464//
2465// Describes the dataset import job created by CreateDatasetImportJob, including
2466// the import job status.
2467//
2468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2469// with awserr.Error's Code and Message methods to get detailed information about
2470// the error.
2471//
2472// See the AWS API reference guide for Amazon Personalize's
2473// API operation DescribeDatasetImportJob for usage and error information.
2474//
2475// Returned Error Types:
2476//   * InvalidInputException
2477//   Provide a valid value for the field or parameter.
2478//
2479//   * ResourceNotFoundException
2480//   Could not find the specified resource.
2481//
2482// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetImportJob
2483func (c *Personalize) DescribeDatasetImportJob(input *DescribeDatasetImportJobInput) (*DescribeDatasetImportJobOutput, error) {
2484	req, out := c.DescribeDatasetImportJobRequest(input)
2485	return out, req.Send()
2486}
2487
2488// DescribeDatasetImportJobWithContext is the same as DescribeDatasetImportJob with the addition of
2489// the ability to pass a context and additional request options.
2490//
2491// See DescribeDatasetImportJob for details on how to use this API operation.
2492//
2493// The context must be non-nil and will be used for request cancellation. If
2494// the context is nil a panic will occur. In the future the SDK may create
2495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2496// for more information on using Contexts.
2497func (c *Personalize) DescribeDatasetImportJobWithContext(ctx aws.Context, input *DescribeDatasetImportJobInput, opts ...request.Option) (*DescribeDatasetImportJobOutput, error) {
2498	req, out := c.DescribeDatasetImportJobRequest(input)
2499	req.SetContext(ctx)
2500	req.ApplyOptions(opts...)
2501	return out, req.Send()
2502}
2503
2504const opDescribeEventTracker = "DescribeEventTracker"
2505
2506// DescribeEventTrackerRequest generates a "aws/request.Request" representing the
2507// client's request for the DescribeEventTracker operation. The "output" return
2508// value will be populated with the request's response once the request completes
2509// successfully.
2510//
2511// Use "Send" method on the returned Request to send the API call to the service.
2512// the "output" return value is not valid until after Send returns without error.
2513//
2514// See DescribeEventTracker for more information on using the DescribeEventTracker
2515// API call, and error handling.
2516//
2517// This method is useful when you want to inject custom logic or configuration
2518// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2519//
2520//
2521//    // Example sending a request using the DescribeEventTrackerRequest method.
2522//    req, resp := client.DescribeEventTrackerRequest(params)
2523//
2524//    err := req.Send()
2525//    if err == nil { // resp is now filled
2526//        fmt.Println(resp)
2527//    }
2528//
2529// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeEventTracker
2530func (c *Personalize) DescribeEventTrackerRequest(input *DescribeEventTrackerInput) (req *request.Request, output *DescribeEventTrackerOutput) {
2531	op := &request.Operation{
2532		Name:       opDescribeEventTracker,
2533		HTTPMethod: "POST",
2534		HTTPPath:   "/",
2535	}
2536
2537	if input == nil {
2538		input = &DescribeEventTrackerInput{}
2539	}
2540
2541	output = &DescribeEventTrackerOutput{}
2542	req = c.newRequest(op, input, output)
2543	return
2544}
2545
2546// DescribeEventTracker API operation for Amazon Personalize.
2547//
2548// Describes an event tracker. The response includes the trackingId and status
2549// of the event tracker. For more information on event trackers, see CreateEventTracker.
2550//
2551// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2552// with awserr.Error's Code and Message methods to get detailed information about
2553// the error.
2554//
2555// See the AWS API reference guide for Amazon Personalize's
2556// API operation DescribeEventTracker for usage and error information.
2557//
2558// Returned Error Types:
2559//   * InvalidInputException
2560//   Provide a valid value for the field or parameter.
2561//
2562//   * ResourceNotFoundException
2563//   Could not find the specified resource.
2564//
2565// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeEventTracker
2566func (c *Personalize) DescribeEventTracker(input *DescribeEventTrackerInput) (*DescribeEventTrackerOutput, error) {
2567	req, out := c.DescribeEventTrackerRequest(input)
2568	return out, req.Send()
2569}
2570
2571// DescribeEventTrackerWithContext is the same as DescribeEventTracker with the addition of
2572// the ability to pass a context and additional request options.
2573//
2574// See DescribeEventTracker for details on how to use this API operation.
2575//
2576// The context must be non-nil and will be used for request cancellation. If
2577// the context is nil a panic will occur. In the future the SDK may create
2578// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2579// for more information on using Contexts.
2580func (c *Personalize) DescribeEventTrackerWithContext(ctx aws.Context, input *DescribeEventTrackerInput, opts ...request.Option) (*DescribeEventTrackerOutput, error) {
2581	req, out := c.DescribeEventTrackerRequest(input)
2582	req.SetContext(ctx)
2583	req.ApplyOptions(opts...)
2584	return out, req.Send()
2585}
2586
2587const opDescribeFeatureTransformation = "DescribeFeatureTransformation"
2588
2589// DescribeFeatureTransformationRequest generates a "aws/request.Request" representing the
2590// client's request for the DescribeFeatureTransformation operation. The "output" return
2591// value will be populated with the request's response once the request completes
2592// successfully.
2593//
2594// Use "Send" method on the returned Request to send the API call to the service.
2595// the "output" return value is not valid until after Send returns without error.
2596//
2597// See DescribeFeatureTransformation for more information on using the DescribeFeatureTransformation
2598// API call, and error handling.
2599//
2600// This method is useful when you want to inject custom logic or configuration
2601// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2602//
2603//
2604//    // Example sending a request using the DescribeFeatureTransformationRequest method.
2605//    req, resp := client.DescribeFeatureTransformationRequest(params)
2606//
2607//    err := req.Send()
2608//    if err == nil { // resp is now filled
2609//        fmt.Println(resp)
2610//    }
2611//
2612// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFeatureTransformation
2613func (c *Personalize) DescribeFeatureTransformationRequest(input *DescribeFeatureTransformationInput) (req *request.Request, output *DescribeFeatureTransformationOutput) {
2614	op := &request.Operation{
2615		Name:       opDescribeFeatureTransformation,
2616		HTTPMethod: "POST",
2617		HTTPPath:   "/",
2618	}
2619
2620	if input == nil {
2621		input = &DescribeFeatureTransformationInput{}
2622	}
2623
2624	output = &DescribeFeatureTransformationOutput{}
2625	req = c.newRequest(op, input, output)
2626	return
2627}
2628
2629// DescribeFeatureTransformation API operation for Amazon Personalize.
2630//
2631// Describes the given feature transformation.
2632//
2633// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2634// with awserr.Error's Code and Message methods to get detailed information about
2635// the error.
2636//
2637// See the AWS API reference guide for Amazon Personalize's
2638// API operation DescribeFeatureTransformation for usage and error information.
2639//
2640// Returned Error Types:
2641//   * InvalidInputException
2642//   Provide a valid value for the field or parameter.
2643//
2644//   * ResourceNotFoundException
2645//   Could not find the specified resource.
2646//
2647// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFeatureTransformation
2648func (c *Personalize) DescribeFeatureTransformation(input *DescribeFeatureTransformationInput) (*DescribeFeatureTransformationOutput, error) {
2649	req, out := c.DescribeFeatureTransformationRequest(input)
2650	return out, req.Send()
2651}
2652
2653// DescribeFeatureTransformationWithContext is the same as DescribeFeatureTransformation with the addition of
2654// the ability to pass a context and additional request options.
2655//
2656// See DescribeFeatureTransformation for details on how to use this API operation.
2657//
2658// The context must be non-nil and will be used for request cancellation. If
2659// the context is nil a panic will occur. In the future the SDK may create
2660// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2661// for more information on using Contexts.
2662func (c *Personalize) DescribeFeatureTransformationWithContext(ctx aws.Context, input *DescribeFeatureTransformationInput, opts ...request.Option) (*DescribeFeatureTransformationOutput, error) {
2663	req, out := c.DescribeFeatureTransformationRequest(input)
2664	req.SetContext(ctx)
2665	req.ApplyOptions(opts...)
2666	return out, req.Send()
2667}
2668
2669const opDescribeFilter = "DescribeFilter"
2670
2671// DescribeFilterRequest generates a "aws/request.Request" representing the
2672// client's request for the DescribeFilter operation. The "output" return
2673// value will be populated with the request's response once the request completes
2674// successfully.
2675//
2676// Use "Send" method on the returned Request to send the API call to the service.
2677// the "output" return value is not valid until after Send returns without error.
2678//
2679// See DescribeFilter for more information on using the DescribeFilter
2680// API call, and error handling.
2681//
2682// This method is useful when you want to inject custom logic or configuration
2683// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2684//
2685//
2686//    // Example sending a request using the DescribeFilterRequest method.
2687//    req, resp := client.DescribeFilterRequest(params)
2688//
2689//    err := req.Send()
2690//    if err == nil { // resp is now filled
2691//        fmt.Println(resp)
2692//    }
2693//
2694// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFilter
2695func (c *Personalize) DescribeFilterRequest(input *DescribeFilterInput) (req *request.Request, output *DescribeFilterOutput) {
2696	op := &request.Operation{
2697		Name:       opDescribeFilter,
2698		HTTPMethod: "POST",
2699		HTTPPath:   "/",
2700	}
2701
2702	if input == nil {
2703		input = &DescribeFilterInput{}
2704	}
2705
2706	output = &DescribeFilterOutput{}
2707	req = c.newRequest(op, input, output)
2708	return
2709}
2710
2711// DescribeFilter API operation for Amazon Personalize.
2712//
2713// Describes a filter's properties.
2714//
2715// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2716// with awserr.Error's Code and Message methods to get detailed information about
2717// the error.
2718//
2719// See the AWS API reference guide for Amazon Personalize's
2720// API operation DescribeFilter for usage and error information.
2721//
2722// Returned Error Types:
2723//   * InvalidInputException
2724//   Provide a valid value for the field or parameter.
2725//
2726//   * ResourceNotFoundException
2727//   Could not find the specified resource.
2728//
2729// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFilter
2730func (c *Personalize) DescribeFilter(input *DescribeFilterInput) (*DescribeFilterOutput, error) {
2731	req, out := c.DescribeFilterRequest(input)
2732	return out, req.Send()
2733}
2734
2735// DescribeFilterWithContext is the same as DescribeFilter with the addition of
2736// the ability to pass a context and additional request options.
2737//
2738// See DescribeFilter for details on how to use this API operation.
2739//
2740// The context must be non-nil and will be used for request cancellation. If
2741// the context is nil a panic will occur. In the future the SDK may create
2742// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2743// for more information on using Contexts.
2744func (c *Personalize) DescribeFilterWithContext(ctx aws.Context, input *DescribeFilterInput, opts ...request.Option) (*DescribeFilterOutput, error) {
2745	req, out := c.DescribeFilterRequest(input)
2746	req.SetContext(ctx)
2747	req.ApplyOptions(opts...)
2748	return out, req.Send()
2749}
2750
2751const opDescribeRecipe = "DescribeRecipe"
2752
2753// DescribeRecipeRequest generates a "aws/request.Request" representing the
2754// client's request for the DescribeRecipe operation. The "output" return
2755// value will be populated with the request's response once the request completes
2756// successfully.
2757//
2758// Use "Send" method on the returned Request to send the API call to the service.
2759// the "output" return value is not valid until after Send returns without error.
2760//
2761// See DescribeRecipe for more information on using the DescribeRecipe
2762// API call, and error handling.
2763//
2764// This method is useful when you want to inject custom logic or configuration
2765// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2766//
2767//
2768//    // Example sending a request using the DescribeRecipeRequest method.
2769//    req, resp := client.DescribeRecipeRequest(params)
2770//
2771//    err := req.Send()
2772//    if err == nil { // resp is now filled
2773//        fmt.Println(resp)
2774//    }
2775//
2776// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeRecipe
2777func (c *Personalize) DescribeRecipeRequest(input *DescribeRecipeInput) (req *request.Request, output *DescribeRecipeOutput) {
2778	op := &request.Operation{
2779		Name:       opDescribeRecipe,
2780		HTTPMethod: "POST",
2781		HTTPPath:   "/",
2782	}
2783
2784	if input == nil {
2785		input = &DescribeRecipeInput{}
2786	}
2787
2788	output = &DescribeRecipeOutput{}
2789	req = c.newRequest(op, input, output)
2790	return
2791}
2792
2793// DescribeRecipe API operation for Amazon Personalize.
2794//
2795// Describes a recipe.
2796//
2797// A recipe contains three items:
2798//
2799//    * An algorithm that trains a model.
2800//
2801//    * Hyperparameters that govern the training.
2802//
2803//    * Feature transformation information for modifying the input data before
2804//    training.
2805//
2806// Amazon Personalize provides a set of predefined recipes. You specify a recipe
2807// when you create a solution with the CreateSolution API. CreateSolution trains
2808// a model by using the algorithm in the specified recipe and a training dataset.
2809// The solution, when deployed as a campaign, can provide recommendations using
2810// the GetRecommendations (https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html)
2811// API.
2812//
2813// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2814// with awserr.Error's Code and Message methods to get detailed information about
2815// the error.
2816//
2817// See the AWS API reference guide for Amazon Personalize's
2818// API operation DescribeRecipe for usage and error information.
2819//
2820// Returned Error Types:
2821//   * InvalidInputException
2822//   Provide a valid value for the field or parameter.
2823//
2824//   * ResourceNotFoundException
2825//   Could not find the specified resource.
2826//
2827// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeRecipe
2828func (c *Personalize) DescribeRecipe(input *DescribeRecipeInput) (*DescribeRecipeOutput, error) {
2829	req, out := c.DescribeRecipeRequest(input)
2830	return out, req.Send()
2831}
2832
2833// DescribeRecipeWithContext is the same as DescribeRecipe with the addition of
2834// the ability to pass a context and additional request options.
2835//
2836// See DescribeRecipe for details on how to use this API operation.
2837//
2838// The context must be non-nil and will be used for request cancellation. If
2839// the context is nil a panic will occur. In the future the SDK may create
2840// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2841// for more information on using Contexts.
2842func (c *Personalize) DescribeRecipeWithContext(ctx aws.Context, input *DescribeRecipeInput, opts ...request.Option) (*DescribeRecipeOutput, error) {
2843	req, out := c.DescribeRecipeRequest(input)
2844	req.SetContext(ctx)
2845	req.ApplyOptions(opts...)
2846	return out, req.Send()
2847}
2848
2849const opDescribeSchema = "DescribeSchema"
2850
2851// DescribeSchemaRequest generates a "aws/request.Request" representing the
2852// client's request for the DescribeSchema operation. The "output" return
2853// value will be populated with the request's response once the request completes
2854// successfully.
2855//
2856// Use "Send" method on the returned Request to send the API call to the service.
2857// the "output" return value is not valid until after Send returns without error.
2858//
2859// See DescribeSchema for more information on using the DescribeSchema
2860// API call, and error handling.
2861//
2862// This method is useful when you want to inject custom logic or configuration
2863// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2864//
2865//
2866//    // Example sending a request using the DescribeSchemaRequest method.
2867//    req, resp := client.DescribeSchemaRequest(params)
2868//
2869//    err := req.Send()
2870//    if err == nil { // resp is now filled
2871//        fmt.Println(resp)
2872//    }
2873//
2874// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSchema
2875func (c *Personalize) DescribeSchemaRequest(input *DescribeSchemaInput) (req *request.Request, output *DescribeSchemaOutput) {
2876	op := &request.Operation{
2877		Name:       opDescribeSchema,
2878		HTTPMethod: "POST",
2879		HTTPPath:   "/",
2880	}
2881
2882	if input == nil {
2883		input = &DescribeSchemaInput{}
2884	}
2885
2886	output = &DescribeSchemaOutput{}
2887	req = c.newRequest(op, input, output)
2888	return
2889}
2890
2891// DescribeSchema API operation for Amazon Personalize.
2892//
2893// Describes a schema. For more information on schemas, see CreateSchema.
2894//
2895// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2896// with awserr.Error's Code and Message methods to get detailed information about
2897// the error.
2898//
2899// See the AWS API reference guide for Amazon Personalize's
2900// API operation DescribeSchema for usage and error information.
2901//
2902// Returned Error Types:
2903//   * InvalidInputException
2904//   Provide a valid value for the field or parameter.
2905//
2906//   * ResourceNotFoundException
2907//   Could not find the specified resource.
2908//
2909// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSchema
2910func (c *Personalize) DescribeSchema(input *DescribeSchemaInput) (*DescribeSchemaOutput, error) {
2911	req, out := c.DescribeSchemaRequest(input)
2912	return out, req.Send()
2913}
2914
2915// DescribeSchemaWithContext is the same as DescribeSchema with the addition of
2916// the ability to pass a context and additional request options.
2917//
2918// See DescribeSchema for details on how to use this API operation.
2919//
2920// The context must be non-nil and will be used for request cancellation. If
2921// the context is nil a panic will occur. In the future the SDK may create
2922// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2923// for more information on using Contexts.
2924func (c *Personalize) DescribeSchemaWithContext(ctx aws.Context, input *DescribeSchemaInput, opts ...request.Option) (*DescribeSchemaOutput, error) {
2925	req, out := c.DescribeSchemaRequest(input)
2926	req.SetContext(ctx)
2927	req.ApplyOptions(opts...)
2928	return out, req.Send()
2929}
2930
2931const opDescribeSolution = "DescribeSolution"
2932
2933// DescribeSolutionRequest generates a "aws/request.Request" representing the
2934// client's request for the DescribeSolution operation. The "output" return
2935// value will be populated with the request's response once the request completes
2936// successfully.
2937//
2938// Use "Send" method on the returned Request to send the API call to the service.
2939// the "output" return value is not valid until after Send returns without error.
2940//
2941// See DescribeSolution for more information on using the DescribeSolution
2942// API call, and error handling.
2943//
2944// This method is useful when you want to inject custom logic or configuration
2945// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2946//
2947//
2948//    // Example sending a request using the DescribeSolutionRequest method.
2949//    req, resp := client.DescribeSolutionRequest(params)
2950//
2951//    err := req.Send()
2952//    if err == nil { // resp is now filled
2953//        fmt.Println(resp)
2954//    }
2955//
2956// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolution
2957func (c *Personalize) DescribeSolutionRequest(input *DescribeSolutionInput) (req *request.Request, output *DescribeSolutionOutput) {
2958	op := &request.Operation{
2959		Name:       opDescribeSolution,
2960		HTTPMethod: "POST",
2961		HTTPPath:   "/",
2962	}
2963
2964	if input == nil {
2965		input = &DescribeSolutionInput{}
2966	}
2967
2968	output = &DescribeSolutionOutput{}
2969	req = c.newRequest(op, input, output)
2970	return
2971}
2972
2973// DescribeSolution API operation for Amazon Personalize.
2974//
2975// Describes a solution. For more information on solutions, see CreateSolution.
2976//
2977// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2978// with awserr.Error's Code and Message methods to get detailed information about
2979// the error.
2980//
2981// See the AWS API reference guide for Amazon Personalize's
2982// API operation DescribeSolution for usage and error information.
2983//
2984// Returned Error Types:
2985//   * InvalidInputException
2986//   Provide a valid value for the field or parameter.
2987//
2988//   * ResourceNotFoundException
2989//   Could not find the specified resource.
2990//
2991// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolution
2992func (c *Personalize) DescribeSolution(input *DescribeSolutionInput) (*DescribeSolutionOutput, error) {
2993	req, out := c.DescribeSolutionRequest(input)
2994	return out, req.Send()
2995}
2996
2997// DescribeSolutionWithContext is the same as DescribeSolution with the addition of
2998// the ability to pass a context and additional request options.
2999//
3000// See DescribeSolution for details on how to use this API operation.
3001//
3002// The context must be non-nil and will be used for request cancellation. If
3003// the context is nil a panic will occur. In the future the SDK may create
3004// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3005// for more information on using Contexts.
3006func (c *Personalize) DescribeSolutionWithContext(ctx aws.Context, input *DescribeSolutionInput, opts ...request.Option) (*DescribeSolutionOutput, error) {
3007	req, out := c.DescribeSolutionRequest(input)
3008	req.SetContext(ctx)
3009	req.ApplyOptions(opts...)
3010	return out, req.Send()
3011}
3012
3013const opDescribeSolutionVersion = "DescribeSolutionVersion"
3014
3015// DescribeSolutionVersionRequest generates a "aws/request.Request" representing the
3016// client's request for the DescribeSolutionVersion operation. The "output" return
3017// value will be populated with the request's response once the request completes
3018// successfully.
3019//
3020// Use "Send" method on the returned Request to send the API call to the service.
3021// the "output" return value is not valid until after Send returns without error.
3022//
3023// See DescribeSolutionVersion for more information on using the DescribeSolutionVersion
3024// API call, and error handling.
3025//
3026// This method is useful when you want to inject custom logic or configuration
3027// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3028//
3029//
3030//    // Example sending a request using the DescribeSolutionVersionRequest method.
3031//    req, resp := client.DescribeSolutionVersionRequest(params)
3032//
3033//    err := req.Send()
3034//    if err == nil { // resp is now filled
3035//        fmt.Println(resp)
3036//    }
3037//
3038// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolutionVersion
3039func (c *Personalize) DescribeSolutionVersionRequest(input *DescribeSolutionVersionInput) (req *request.Request, output *DescribeSolutionVersionOutput) {
3040	op := &request.Operation{
3041		Name:       opDescribeSolutionVersion,
3042		HTTPMethod: "POST",
3043		HTTPPath:   "/",
3044	}
3045
3046	if input == nil {
3047		input = &DescribeSolutionVersionInput{}
3048	}
3049
3050	output = &DescribeSolutionVersionOutput{}
3051	req = c.newRequest(op, input, output)
3052	return
3053}
3054
3055// DescribeSolutionVersion API operation for Amazon Personalize.
3056//
3057// Describes a specific version of a solution. For more information on solutions,
3058// see CreateSolution.
3059//
3060// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3061// with awserr.Error's Code and Message methods to get detailed information about
3062// the error.
3063//
3064// See the AWS API reference guide for Amazon Personalize's
3065// API operation DescribeSolutionVersion for usage and error information.
3066//
3067// Returned Error Types:
3068//   * InvalidInputException
3069//   Provide a valid value for the field or parameter.
3070//
3071//   * ResourceNotFoundException
3072//   Could not find the specified resource.
3073//
3074// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolutionVersion
3075func (c *Personalize) DescribeSolutionVersion(input *DescribeSolutionVersionInput) (*DescribeSolutionVersionOutput, error) {
3076	req, out := c.DescribeSolutionVersionRequest(input)
3077	return out, req.Send()
3078}
3079
3080// DescribeSolutionVersionWithContext is the same as DescribeSolutionVersion with the addition of
3081// the ability to pass a context and additional request options.
3082//
3083// See DescribeSolutionVersion for details on how to use this API operation.
3084//
3085// The context must be non-nil and will be used for request cancellation. If
3086// the context is nil a panic will occur. In the future the SDK may create
3087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3088// for more information on using Contexts.
3089func (c *Personalize) DescribeSolutionVersionWithContext(ctx aws.Context, input *DescribeSolutionVersionInput, opts ...request.Option) (*DescribeSolutionVersionOutput, error) {
3090	req, out := c.DescribeSolutionVersionRequest(input)
3091	req.SetContext(ctx)
3092	req.ApplyOptions(opts...)
3093	return out, req.Send()
3094}
3095
3096const opGetSolutionMetrics = "GetSolutionMetrics"
3097
3098// GetSolutionMetricsRequest generates a "aws/request.Request" representing the
3099// client's request for the GetSolutionMetrics operation. The "output" return
3100// value will be populated with the request's response once the request completes
3101// successfully.
3102//
3103// Use "Send" method on the returned Request to send the API call to the service.
3104// the "output" return value is not valid until after Send returns without error.
3105//
3106// See GetSolutionMetrics for more information on using the GetSolutionMetrics
3107// API call, and error handling.
3108//
3109// This method is useful when you want to inject custom logic or configuration
3110// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3111//
3112//
3113//    // Example sending a request using the GetSolutionMetricsRequest method.
3114//    req, resp := client.GetSolutionMetricsRequest(params)
3115//
3116//    err := req.Send()
3117//    if err == nil { // resp is now filled
3118//        fmt.Println(resp)
3119//    }
3120//
3121// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/GetSolutionMetrics
3122func (c *Personalize) GetSolutionMetricsRequest(input *GetSolutionMetricsInput) (req *request.Request, output *GetSolutionMetricsOutput) {
3123	op := &request.Operation{
3124		Name:       opGetSolutionMetrics,
3125		HTTPMethod: "POST",
3126		HTTPPath:   "/",
3127	}
3128
3129	if input == nil {
3130		input = &GetSolutionMetricsInput{}
3131	}
3132
3133	output = &GetSolutionMetricsOutput{}
3134	req = c.newRequest(op, input, output)
3135	return
3136}
3137
3138// GetSolutionMetrics API operation for Amazon Personalize.
3139//
3140// Gets the metrics for the specified solution version.
3141//
3142// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3143// with awserr.Error's Code and Message methods to get detailed information about
3144// the error.
3145//
3146// See the AWS API reference guide for Amazon Personalize's
3147// API operation GetSolutionMetrics for usage and error information.
3148//
3149// Returned Error Types:
3150//   * InvalidInputException
3151//   Provide a valid value for the field or parameter.
3152//
3153//   * ResourceNotFoundException
3154//   Could not find the specified resource.
3155//
3156//   * ResourceInUseException
3157//   The specified resource is in use.
3158//
3159// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/GetSolutionMetrics
3160func (c *Personalize) GetSolutionMetrics(input *GetSolutionMetricsInput) (*GetSolutionMetricsOutput, error) {
3161	req, out := c.GetSolutionMetricsRequest(input)
3162	return out, req.Send()
3163}
3164
3165// GetSolutionMetricsWithContext is the same as GetSolutionMetrics with the addition of
3166// the ability to pass a context and additional request options.
3167//
3168// See GetSolutionMetrics for details on how to use this API operation.
3169//
3170// The context must be non-nil and will be used for request cancellation. If
3171// the context is nil a panic will occur. In the future the SDK may create
3172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3173// for more information on using Contexts.
3174func (c *Personalize) GetSolutionMetricsWithContext(ctx aws.Context, input *GetSolutionMetricsInput, opts ...request.Option) (*GetSolutionMetricsOutput, error) {
3175	req, out := c.GetSolutionMetricsRequest(input)
3176	req.SetContext(ctx)
3177	req.ApplyOptions(opts...)
3178	return out, req.Send()
3179}
3180
3181const opListBatchInferenceJobs = "ListBatchInferenceJobs"
3182
3183// ListBatchInferenceJobsRequest generates a "aws/request.Request" representing the
3184// client's request for the ListBatchInferenceJobs operation. The "output" return
3185// value will be populated with the request's response once the request completes
3186// successfully.
3187//
3188// Use "Send" method on the returned Request to send the API call to the service.
3189// the "output" return value is not valid until after Send returns without error.
3190//
3191// See ListBatchInferenceJobs for more information on using the ListBatchInferenceJobs
3192// API call, and error handling.
3193//
3194// This method is useful when you want to inject custom logic or configuration
3195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3196//
3197//
3198//    // Example sending a request using the ListBatchInferenceJobsRequest method.
3199//    req, resp := client.ListBatchInferenceJobsRequest(params)
3200//
3201//    err := req.Send()
3202//    if err == nil { // resp is now filled
3203//        fmt.Println(resp)
3204//    }
3205//
3206// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListBatchInferenceJobs
3207func (c *Personalize) ListBatchInferenceJobsRequest(input *ListBatchInferenceJobsInput) (req *request.Request, output *ListBatchInferenceJobsOutput) {
3208	op := &request.Operation{
3209		Name:       opListBatchInferenceJobs,
3210		HTTPMethod: "POST",
3211		HTTPPath:   "/",
3212		Paginator: &request.Paginator{
3213			InputTokens:     []string{"nextToken"},
3214			OutputTokens:    []string{"nextToken"},
3215			LimitToken:      "maxResults",
3216			TruncationToken: "",
3217		},
3218	}
3219
3220	if input == nil {
3221		input = &ListBatchInferenceJobsInput{}
3222	}
3223
3224	output = &ListBatchInferenceJobsOutput{}
3225	req = c.newRequest(op, input, output)
3226	return
3227}
3228
3229// ListBatchInferenceJobs API operation for Amazon Personalize.
3230//
3231// Gets a list of the batch inference jobs that have been performed off of a
3232// solution version.
3233//
3234// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3235// with awserr.Error's Code and Message methods to get detailed information about
3236// the error.
3237//
3238// See the AWS API reference guide for Amazon Personalize's
3239// API operation ListBatchInferenceJobs for usage and error information.
3240//
3241// Returned Error Types:
3242//   * InvalidInputException
3243//   Provide a valid value for the field or parameter.
3244//
3245//   * InvalidNextTokenException
3246//   The token is not valid.
3247//
3248// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListBatchInferenceJobs
3249func (c *Personalize) ListBatchInferenceJobs(input *ListBatchInferenceJobsInput) (*ListBatchInferenceJobsOutput, error) {
3250	req, out := c.ListBatchInferenceJobsRequest(input)
3251	return out, req.Send()
3252}
3253
3254// ListBatchInferenceJobsWithContext is the same as ListBatchInferenceJobs with the addition of
3255// the ability to pass a context and additional request options.
3256//
3257// See ListBatchInferenceJobs for details on how to use this API operation.
3258//
3259// The context must be non-nil and will be used for request cancellation. If
3260// the context is nil a panic will occur. In the future the SDK may create
3261// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3262// for more information on using Contexts.
3263func (c *Personalize) ListBatchInferenceJobsWithContext(ctx aws.Context, input *ListBatchInferenceJobsInput, opts ...request.Option) (*ListBatchInferenceJobsOutput, error) {
3264	req, out := c.ListBatchInferenceJobsRequest(input)
3265	req.SetContext(ctx)
3266	req.ApplyOptions(opts...)
3267	return out, req.Send()
3268}
3269
3270// ListBatchInferenceJobsPages iterates over the pages of a ListBatchInferenceJobs operation,
3271// calling the "fn" function with the response data for each page. To stop
3272// iterating, return false from the fn function.
3273//
3274// See ListBatchInferenceJobs method for more information on how to use this operation.
3275//
3276// Note: This operation can generate multiple requests to a service.
3277//
3278//    // Example iterating over at most 3 pages of a ListBatchInferenceJobs operation.
3279//    pageNum := 0
3280//    err := client.ListBatchInferenceJobsPages(params,
3281//        func(page *personalize.ListBatchInferenceJobsOutput, lastPage bool) bool {
3282//            pageNum++
3283//            fmt.Println(page)
3284//            return pageNum <= 3
3285//        })
3286//
3287func (c *Personalize) ListBatchInferenceJobsPages(input *ListBatchInferenceJobsInput, fn func(*ListBatchInferenceJobsOutput, bool) bool) error {
3288	return c.ListBatchInferenceJobsPagesWithContext(aws.BackgroundContext(), input, fn)
3289}
3290
3291// ListBatchInferenceJobsPagesWithContext same as ListBatchInferenceJobsPages except
3292// it takes a Context and allows setting request options on the pages.
3293//
3294// The context must be non-nil and will be used for request cancellation. If
3295// the context is nil a panic will occur. In the future the SDK may create
3296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3297// for more information on using Contexts.
3298func (c *Personalize) ListBatchInferenceJobsPagesWithContext(ctx aws.Context, input *ListBatchInferenceJobsInput, fn func(*ListBatchInferenceJobsOutput, bool) bool, opts ...request.Option) error {
3299	p := request.Pagination{
3300		NewRequest: func() (*request.Request, error) {
3301			var inCpy *ListBatchInferenceJobsInput
3302			if input != nil {
3303				tmp := *input
3304				inCpy = &tmp
3305			}
3306			req, _ := c.ListBatchInferenceJobsRequest(inCpy)
3307			req.SetContext(ctx)
3308			req.ApplyOptions(opts...)
3309			return req, nil
3310		},
3311	}
3312
3313	for p.Next() {
3314		if !fn(p.Page().(*ListBatchInferenceJobsOutput), !p.HasNextPage()) {
3315			break
3316		}
3317	}
3318
3319	return p.Err()
3320}
3321
3322const opListCampaigns = "ListCampaigns"
3323
3324// ListCampaignsRequest generates a "aws/request.Request" representing the
3325// client's request for the ListCampaigns operation. The "output" return
3326// value will be populated with the request's response once the request completes
3327// successfully.
3328//
3329// Use "Send" method on the returned Request to send the API call to the service.
3330// the "output" return value is not valid until after Send returns without error.
3331//
3332// See ListCampaigns for more information on using the ListCampaigns
3333// API call, and error handling.
3334//
3335// This method is useful when you want to inject custom logic or configuration
3336// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3337//
3338//
3339//    // Example sending a request using the ListCampaignsRequest method.
3340//    req, resp := client.ListCampaignsRequest(params)
3341//
3342//    err := req.Send()
3343//    if err == nil { // resp is now filled
3344//        fmt.Println(resp)
3345//    }
3346//
3347// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListCampaigns
3348func (c *Personalize) ListCampaignsRequest(input *ListCampaignsInput) (req *request.Request, output *ListCampaignsOutput) {
3349	op := &request.Operation{
3350		Name:       opListCampaigns,
3351		HTTPMethod: "POST",
3352		HTTPPath:   "/",
3353		Paginator: &request.Paginator{
3354			InputTokens:     []string{"nextToken"},
3355			OutputTokens:    []string{"nextToken"},
3356			LimitToken:      "maxResults",
3357			TruncationToken: "",
3358		},
3359	}
3360
3361	if input == nil {
3362		input = &ListCampaignsInput{}
3363	}
3364
3365	output = &ListCampaignsOutput{}
3366	req = c.newRequest(op, input, output)
3367	return
3368}
3369
3370// ListCampaigns API operation for Amazon Personalize.
3371//
3372// Returns a list of campaigns that use the given solution. When a solution
3373// is not specified, all the campaigns associated with the account are listed.
3374// The response provides the properties for each campaign, including the Amazon
3375// Resource Name (ARN). For more information on campaigns, see CreateCampaign.
3376//
3377// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3378// with awserr.Error's Code and Message methods to get detailed information about
3379// the error.
3380//
3381// See the AWS API reference guide for Amazon Personalize's
3382// API operation ListCampaigns for usage and error information.
3383//
3384// Returned Error Types:
3385//   * InvalidInputException
3386//   Provide a valid value for the field or parameter.
3387//
3388//   * InvalidNextTokenException
3389//   The token is not valid.
3390//
3391// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListCampaigns
3392func (c *Personalize) ListCampaigns(input *ListCampaignsInput) (*ListCampaignsOutput, error) {
3393	req, out := c.ListCampaignsRequest(input)
3394	return out, req.Send()
3395}
3396
3397// ListCampaignsWithContext is the same as ListCampaigns with the addition of
3398// the ability to pass a context and additional request options.
3399//
3400// See ListCampaigns for details on how to use this API operation.
3401//
3402// The context must be non-nil and will be used for request cancellation. If
3403// the context is nil a panic will occur. In the future the SDK may create
3404// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3405// for more information on using Contexts.
3406func (c *Personalize) ListCampaignsWithContext(ctx aws.Context, input *ListCampaignsInput, opts ...request.Option) (*ListCampaignsOutput, error) {
3407	req, out := c.ListCampaignsRequest(input)
3408	req.SetContext(ctx)
3409	req.ApplyOptions(opts...)
3410	return out, req.Send()
3411}
3412
3413// ListCampaignsPages iterates over the pages of a ListCampaigns operation,
3414// calling the "fn" function with the response data for each page. To stop
3415// iterating, return false from the fn function.
3416//
3417// See ListCampaigns method for more information on how to use this operation.
3418//
3419// Note: This operation can generate multiple requests to a service.
3420//
3421//    // Example iterating over at most 3 pages of a ListCampaigns operation.
3422//    pageNum := 0
3423//    err := client.ListCampaignsPages(params,
3424//        func(page *personalize.ListCampaignsOutput, lastPage bool) bool {
3425//            pageNum++
3426//            fmt.Println(page)
3427//            return pageNum <= 3
3428//        })
3429//
3430func (c *Personalize) ListCampaignsPages(input *ListCampaignsInput, fn func(*ListCampaignsOutput, bool) bool) error {
3431	return c.ListCampaignsPagesWithContext(aws.BackgroundContext(), input, fn)
3432}
3433
3434// ListCampaignsPagesWithContext same as ListCampaignsPages except
3435// it takes a Context and allows setting request options on the pages.
3436//
3437// The context must be non-nil and will be used for request cancellation. If
3438// the context is nil a panic will occur. In the future the SDK may create
3439// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3440// for more information on using Contexts.
3441func (c *Personalize) ListCampaignsPagesWithContext(ctx aws.Context, input *ListCampaignsInput, fn func(*ListCampaignsOutput, bool) bool, opts ...request.Option) error {
3442	p := request.Pagination{
3443		NewRequest: func() (*request.Request, error) {
3444			var inCpy *ListCampaignsInput
3445			if input != nil {
3446				tmp := *input
3447				inCpy = &tmp
3448			}
3449			req, _ := c.ListCampaignsRequest(inCpy)
3450			req.SetContext(ctx)
3451			req.ApplyOptions(opts...)
3452			return req, nil
3453		},
3454	}
3455
3456	for p.Next() {
3457		if !fn(p.Page().(*ListCampaignsOutput), !p.HasNextPage()) {
3458			break
3459		}
3460	}
3461
3462	return p.Err()
3463}
3464
3465const opListDatasetExportJobs = "ListDatasetExportJobs"
3466
3467// ListDatasetExportJobsRequest generates a "aws/request.Request" representing the
3468// client's request for the ListDatasetExportJobs operation. The "output" return
3469// value will be populated with the request's response once the request completes
3470// successfully.
3471//
3472// Use "Send" method on the returned Request to send the API call to the service.
3473// the "output" return value is not valid until after Send returns without error.
3474//
3475// See ListDatasetExportJobs for more information on using the ListDatasetExportJobs
3476// API call, and error handling.
3477//
3478// This method is useful when you want to inject custom logic or configuration
3479// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3480//
3481//
3482//    // Example sending a request using the ListDatasetExportJobsRequest method.
3483//    req, resp := client.ListDatasetExportJobsRequest(params)
3484//
3485//    err := req.Send()
3486//    if err == nil { // resp is now filled
3487//        fmt.Println(resp)
3488//    }
3489//
3490// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetExportJobs
3491func (c *Personalize) ListDatasetExportJobsRequest(input *ListDatasetExportJobsInput) (req *request.Request, output *ListDatasetExportJobsOutput) {
3492	op := &request.Operation{
3493		Name:       opListDatasetExportJobs,
3494		HTTPMethod: "POST",
3495		HTTPPath:   "/",
3496		Paginator: &request.Paginator{
3497			InputTokens:     []string{"nextToken"},
3498			OutputTokens:    []string{"nextToken"},
3499			LimitToken:      "maxResults",
3500			TruncationToken: "",
3501		},
3502	}
3503
3504	if input == nil {
3505		input = &ListDatasetExportJobsInput{}
3506	}
3507
3508	output = &ListDatasetExportJobsOutput{}
3509	req = c.newRequest(op, input, output)
3510	return
3511}
3512
3513// ListDatasetExportJobs API operation for Amazon Personalize.
3514//
3515// Returns a list of dataset export jobs that use the given dataset. When a
3516// dataset is not specified, all the dataset export jobs associated with the
3517// account are listed. The response provides the properties for each dataset
3518// export job, including the Amazon Resource Name (ARN). For more information
3519// on dataset export jobs, see CreateDatasetExportJob. For more information
3520// on datasets, see CreateDataset.
3521//
3522// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3523// with awserr.Error's Code and Message methods to get detailed information about
3524// the error.
3525//
3526// See the AWS API reference guide for Amazon Personalize's
3527// API operation ListDatasetExportJobs for usage and error information.
3528//
3529// Returned Error Types:
3530//   * InvalidInputException
3531//   Provide a valid value for the field or parameter.
3532//
3533//   * InvalidNextTokenException
3534//   The token is not valid.
3535//
3536// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetExportJobs
3537func (c *Personalize) ListDatasetExportJobs(input *ListDatasetExportJobsInput) (*ListDatasetExportJobsOutput, error) {
3538	req, out := c.ListDatasetExportJobsRequest(input)
3539	return out, req.Send()
3540}
3541
3542// ListDatasetExportJobsWithContext is the same as ListDatasetExportJobs with the addition of
3543// the ability to pass a context and additional request options.
3544//
3545// See ListDatasetExportJobs for details on how to use this API operation.
3546//
3547// The context must be non-nil and will be used for request cancellation. If
3548// the context is nil a panic will occur. In the future the SDK may create
3549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3550// for more information on using Contexts.
3551func (c *Personalize) ListDatasetExportJobsWithContext(ctx aws.Context, input *ListDatasetExportJobsInput, opts ...request.Option) (*ListDatasetExportJobsOutput, error) {
3552	req, out := c.ListDatasetExportJobsRequest(input)
3553	req.SetContext(ctx)
3554	req.ApplyOptions(opts...)
3555	return out, req.Send()
3556}
3557
3558// ListDatasetExportJobsPages iterates over the pages of a ListDatasetExportJobs operation,
3559// calling the "fn" function with the response data for each page. To stop
3560// iterating, return false from the fn function.
3561//
3562// See ListDatasetExportJobs method for more information on how to use this operation.
3563//
3564// Note: This operation can generate multiple requests to a service.
3565//
3566//    // Example iterating over at most 3 pages of a ListDatasetExportJobs operation.
3567//    pageNum := 0
3568//    err := client.ListDatasetExportJobsPages(params,
3569//        func(page *personalize.ListDatasetExportJobsOutput, lastPage bool) bool {
3570//            pageNum++
3571//            fmt.Println(page)
3572//            return pageNum <= 3
3573//        })
3574//
3575func (c *Personalize) ListDatasetExportJobsPages(input *ListDatasetExportJobsInput, fn func(*ListDatasetExportJobsOutput, bool) bool) error {
3576	return c.ListDatasetExportJobsPagesWithContext(aws.BackgroundContext(), input, fn)
3577}
3578
3579// ListDatasetExportJobsPagesWithContext same as ListDatasetExportJobsPages except
3580// it takes a Context and allows setting request options on the pages.
3581//
3582// The context must be non-nil and will be used for request cancellation. If
3583// the context is nil a panic will occur. In the future the SDK may create
3584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3585// for more information on using Contexts.
3586func (c *Personalize) ListDatasetExportJobsPagesWithContext(ctx aws.Context, input *ListDatasetExportJobsInput, fn func(*ListDatasetExportJobsOutput, bool) bool, opts ...request.Option) error {
3587	p := request.Pagination{
3588		NewRequest: func() (*request.Request, error) {
3589			var inCpy *ListDatasetExportJobsInput
3590			if input != nil {
3591				tmp := *input
3592				inCpy = &tmp
3593			}
3594			req, _ := c.ListDatasetExportJobsRequest(inCpy)
3595			req.SetContext(ctx)
3596			req.ApplyOptions(opts...)
3597			return req, nil
3598		},
3599	}
3600
3601	for p.Next() {
3602		if !fn(p.Page().(*ListDatasetExportJobsOutput), !p.HasNextPage()) {
3603			break
3604		}
3605	}
3606
3607	return p.Err()
3608}
3609
3610const opListDatasetGroups = "ListDatasetGroups"
3611
3612// ListDatasetGroupsRequest generates a "aws/request.Request" representing the
3613// client's request for the ListDatasetGroups operation. The "output" return
3614// value will be populated with the request's response once the request completes
3615// successfully.
3616//
3617// Use "Send" method on the returned Request to send the API call to the service.
3618// the "output" return value is not valid until after Send returns without error.
3619//
3620// See ListDatasetGroups for more information on using the ListDatasetGroups
3621// API call, and error handling.
3622//
3623// This method is useful when you want to inject custom logic or configuration
3624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3625//
3626//
3627//    // Example sending a request using the ListDatasetGroupsRequest method.
3628//    req, resp := client.ListDatasetGroupsRequest(params)
3629//
3630//    err := req.Send()
3631//    if err == nil { // resp is now filled
3632//        fmt.Println(resp)
3633//    }
3634//
3635// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetGroups
3636func (c *Personalize) ListDatasetGroupsRequest(input *ListDatasetGroupsInput) (req *request.Request, output *ListDatasetGroupsOutput) {
3637	op := &request.Operation{
3638		Name:       opListDatasetGroups,
3639		HTTPMethod: "POST",
3640		HTTPPath:   "/",
3641		Paginator: &request.Paginator{
3642			InputTokens:     []string{"nextToken"},
3643			OutputTokens:    []string{"nextToken"},
3644			LimitToken:      "maxResults",
3645			TruncationToken: "",
3646		},
3647	}
3648
3649	if input == nil {
3650		input = &ListDatasetGroupsInput{}
3651	}
3652
3653	output = &ListDatasetGroupsOutput{}
3654	req = c.newRequest(op, input, output)
3655	return
3656}
3657
3658// ListDatasetGroups API operation for Amazon Personalize.
3659//
3660// Returns a list of dataset groups. The response provides the properties for
3661// each dataset group, including the Amazon Resource Name (ARN). For more information
3662// on dataset groups, see CreateDatasetGroup.
3663//
3664// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3665// with awserr.Error's Code and Message methods to get detailed information about
3666// the error.
3667//
3668// See the AWS API reference guide for Amazon Personalize's
3669// API operation ListDatasetGroups for usage and error information.
3670//
3671// Returned Error Types:
3672//   * InvalidNextTokenException
3673//   The token is not valid.
3674//
3675// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetGroups
3676func (c *Personalize) ListDatasetGroups(input *ListDatasetGroupsInput) (*ListDatasetGroupsOutput, error) {
3677	req, out := c.ListDatasetGroupsRequest(input)
3678	return out, req.Send()
3679}
3680
3681// ListDatasetGroupsWithContext is the same as ListDatasetGroups with the addition of
3682// the ability to pass a context and additional request options.
3683//
3684// See ListDatasetGroups for details on how to use this API operation.
3685//
3686// The context must be non-nil and will be used for request cancellation. If
3687// the context is nil a panic will occur. In the future the SDK may create
3688// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3689// for more information on using Contexts.
3690func (c *Personalize) ListDatasetGroupsWithContext(ctx aws.Context, input *ListDatasetGroupsInput, opts ...request.Option) (*ListDatasetGroupsOutput, error) {
3691	req, out := c.ListDatasetGroupsRequest(input)
3692	req.SetContext(ctx)
3693	req.ApplyOptions(opts...)
3694	return out, req.Send()
3695}
3696
3697// ListDatasetGroupsPages iterates over the pages of a ListDatasetGroups operation,
3698// calling the "fn" function with the response data for each page. To stop
3699// iterating, return false from the fn function.
3700//
3701// See ListDatasetGroups method for more information on how to use this operation.
3702//
3703// Note: This operation can generate multiple requests to a service.
3704//
3705//    // Example iterating over at most 3 pages of a ListDatasetGroups operation.
3706//    pageNum := 0
3707//    err := client.ListDatasetGroupsPages(params,
3708//        func(page *personalize.ListDatasetGroupsOutput, lastPage bool) bool {
3709//            pageNum++
3710//            fmt.Println(page)
3711//            return pageNum <= 3
3712//        })
3713//
3714func (c *Personalize) ListDatasetGroupsPages(input *ListDatasetGroupsInput, fn func(*ListDatasetGroupsOutput, bool) bool) error {
3715	return c.ListDatasetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
3716}
3717
3718// ListDatasetGroupsPagesWithContext same as ListDatasetGroupsPages except
3719// it takes a Context and allows setting request options on the pages.
3720//
3721// The context must be non-nil and will be used for request cancellation. If
3722// the context is nil a panic will occur. In the future the SDK may create
3723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3724// for more information on using Contexts.
3725func (c *Personalize) ListDatasetGroupsPagesWithContext(ctx aws.Context, input *ListDatasetGroupsInput, fn func(*ListDatasetGroupsOutput, bool) bool, opts ...request.Option) error {
3726	p := request.Pagination{
3727		NewRequest: func() (*request.Request, error) {
3728			var inCpy *ListDatasetGroupsInput
3729			if input != nil {
3730				tmp := *input
3731				inCpy = &tmp
3732			}
3733			req, _ := c.ListDatasetGroupsRequest(inCpy)
3734			req.SetContext(ctx)
3735			req.ApplyOptions(opts...)
3736			return req, nil
3737		},
3738	}
3739
3740	for p.Next() {
3741		if !fn(p.Page().(*ListDatasetGroupsOutput), !p.HasNextPage()) {
3742			break
3743		}
3744	}
3745
3746	return p.Err()
3747}
3748
3749const opListDatasetImportJobs = "ListDatasetImportJobs"
3750
3751// ListDatasetImportJobsRequest generates a "aws/request.Request" representing the
3752// client's request for the ListDatasetImportJobs operation. The "output" return
3753// value will be populated with the request's response once the request completes
3754// successfully.
3755//
3756// Use "Send" method on the returned Request to send the API call to the service.
3757// the "output" return value is not valid until after Send returns without error.
3758//
3759// See ListDatasetImportJobs for more information on using the ListDatasetImportJobs
3760// API call, and error handling.
3761//
3762// This method is useful when you want to inject custom logic or configuration
3763// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3764//
3765//
3766//    // Example sending a request using the ListDatasetImportJobsRequest method.
3767//    req, resp := client.ListDatasetImportJobsRequest(params)
3768//
3769//    err := req.Send()
3770//    if err == nil { // resp is now filled
3771//        fmt.Println(resp)
3772//    }
3773//
3774// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetImportJobs
3775func (c *Personalize) ListDatasetImportJobsRequest(input *ListDatasetImportJobsInput) (req *request.Request, output *ListDatasetImportJobsOutput) {
3776	op := &request.Operation{
3777		Name:       opListDatasetImportJobs,
3778		HTTPMethod: "POST",
3779		HTTPPath:   "/",
3780		Paginator: &request.Paginator{
3781			InputTokens:     []string{"nextToken"},
3782			OutputTokens:    []string{"nextToken"},
3783			LimitToken:      "maxResults",
3784			TruncationToken: "",
3785		},
3786	}
3787
3788	if input == nil {
3789		input = &ListDatasetImportJobsInput{}
3790	}
3791
3792	output = &ListDatasetImportJobsOutput{}
3793	req = c.newRequest(op, input, output)
3794	return
3795}
3796
3797// ListDatasetImportJobs API operation for Amazon Personalize.
3798//
3799// Returns a list of dataset import jobs that use the given dataset. When a
3800// dataset is not specified, all the dataset import jobs associated with the
3801// account are listed. The response provides the properties for each dataset
3802// import job, including the Amazon Resource Name (ARN). For more information
3803// on dataset import jobs, see CreateDatasetImportJob. For more information
3804// on datasets, see CreateDataset.
3805//
3806// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3807// with awserr.Error's Code and Message methods to get detailed information about
3808// the error.
3809//
3810// See the AWS API reference guide for Amazon Personalize's
3811// API operation ListDatasetImportJobs for usage and error information.
3812//
3813// Returned Error Types:
3814//   * InvalidInputException
3815//   Provide a valid value for the field or parameter.
3816//
3817//   * InvalidNextTokenException
3818//   The token is not valid.
3819//
3820// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetImportJobs
3821func (c *Personalize) ListDatasetImportJobs(input *ListDatasetImportJobsInput) (*ListDatasetImportJobsOutput, error) {
3822	req, out := c.ListDatasetImportJobsRequest(input)
3823	return out, req.Send()
3824}
3825
3826// ListDatasetImportJobsWithContext is the same as ListDatasetImportJobs with the addition of
3827// the ability to pass a context and additional request options.
3828//
3829// See ListDatasetImportJobs for details on how to use this API operation.
3830//
3831// The context must be non-nil and will be used for request cancellation. If
3832// the context is nil a panic will occur. In the future the SDK may create
3833// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3834// for more information on using Contexts.
3835func (c *Personalize) ListDatasetImportJobsWithContext(ctx aws.Context, input *ListDatasetImportJobsInput, opts ...request.Option) (*ListDatasetImportJobsOutput, error) {
3836	req, out := c.ListDatasetImportJobsRequest(input)
3837	req.SetContext(ctx)
3838	req.ApplyOptions(opts...)
3839	return out, req.Send()
3840}
3841
3842// ListDatasetImportJobsPages iterates over the pages of a ListDatasetImportJobs operation,
3843// calling the "fn" function with the response data for each page. To stop
3844// iterating, return false from the fn function.
3845//
3846// See ListDatasetImportJobs method for more information on how to use this operation.
3847//
3848// Note: This operation can generate multiple requests to a service.
3849//
3850//    // Example iterating over at most 3 pages of a ListDatasetImportJobs operation.
3851//    pageNum := 0
3852//    err := client.ListDatasetImportJobsPages(params,
3853//        func(page *personalize.ListDatasetImportJobsOutput, lastPage bool) bool {
3854//            pageNum++
3855//            fmt.Println(page)
3856//            return pageNum <= 3
3857//        })
3858//
3859func (c *Personalize) ListDatasetImportJobsPages(input *ListDatasetImportJobsInput, fn func(*ListDatasetImportJobsOutput, bool) bool) error {
3860	return c.ListDatasetImportJobsPagesWithContext(aws.BackgroundContext(), input, fn)
3861}
3862
3863// ListDatasetImportJobsPagesWithContext same as ListDatasetImportJobsPages except
3864// it takes a Context and allows setting request options on the pages.
3865//
3866// The context must be non-nil and will be used for request cancellation. If
3867// the context is nil a panic will occur. In the future the SDK may create
3868// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3869// for more information on using Contexts.
3870func (c *Personalize) ListDatasetImportJobsPagesWithContext(ctx aws.Context, input *ListDatasetImportJobsInput, fn func(*ListDatasetImportJobsOutput, bool) bool, opts ...request.Option) error {
3871	p := request.Pagination{
3872		NewRequest: func() (*request.Request, error) {
3873			var inCpy *ListDatasetImportJobsInput
3874			if input != nil {
3875				tmp := *input
3876				inCpy = &tmp
3877			}
3878			req, _ := c.ListDatasetImportJobsRequest(inCpy)
3879			req.SetContext(ctx)
3880			req.ApplyOptions(opts...)
3881			return req, nil
3882		},
3883	}
3884
3885	for p.Next() {
3886		if !fn(p.Page().(*ListDatasetImportJobsOutput), !p.HasNextPage()) {
3887			break
3888		}
3889	}
3890
3891	return p.Err()
3892}
3893
3894const opListDatasets = "ListDatasets"
3895
3896// ListDatasetsRequest generates a "aws/request.Request" representing the
3897// client's request for the ListDatasets operation. The "output" return
3898// value will be populated with the request's response once the request completes
3899// successfully.
3900//
3901// Use "Send" method on the returned Request to send the API call to the service.
3902// the "output" return value is not valid until after Send returns without error.
3903//
3904// See ListDatasets for more information on using the ListDatasets
3905// API call, and error handling.
3906//
3907// This method is useful when you want to inject custom logic or configuration
3908// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3909//
3910//
3911//    // Example sending a request using the ListDatasetsRequest method.
3912//    req, resp := client.ListDatasetsRequest(params)
3913//
3914//    err := req.Send()
3915//    if err == nil { // resp is now filled
3916//        fmt.Println(resp)
3917//    }
3918//
3919// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasets
3920func (c *Personalize) ListDatasetsRequest(input *ListDatasetsInput) (req *request.Request, output *ListDatasetsOutput) {
3921	op := &request.Operation{
3922		Name:       opListDatasets,
3923		HTTPMethod: "POST",
3924		HTTPPath:   "/",
3925		Paginator: &request.Paginator{
3926			InputTokens:     []string{"nextToken"},
3927			OutputTokens:    []string{"nextToken"},
3928			LimitToken:      "maxResults",
3929			TruncationToken: "",
3930		},
3931	}
3932
3933	if input == nil {
3934		input = &ListDatasetsInput{}
3935	}
3936
3937	output = &ListDatasetsOutput{}
3938	req = c.newRequest(op, input, output)
3939	return
3940}
3941
3942// ListDatasets API operation for Amazon Personalize.
3943//
3944// Returns the list of datasets contained in the given dataset group. The response
3945// provides the properties for each dataset, including the Amazon Resource Name
3946// (ARN). For more information on datasets, see CreateDataset.
3947//
3948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3949// with awserr.Error's Code and Message methods to get detailed information about
3950// the error.
3951//
3952// See the AWS API reference guide for Amazon Personalize's
3953// API operation ListDatasets for usage and error information.
3954//
3955// Returned Error Types:
3956//   * InvalidInputException
3957//   Provide a valid value for the field or parameter.
3958//
3959//   * InvalidNextTokenException
3960//   The token is not valid.
3961//
3962// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasets
3963func (c *Personalize) ListDatasets(input *ListDatasetsInput) (*ListDatasetsOutput, error) {
3964	req, out := c.ListDatasetsRequest(input)
3965	return out, req.Send()
3966}
3967
3968// ListDatasetsWithContext is the same as ListDatasets with the addition of
3969// the ability to pass a context and additional request options.
3970//
3971// See ListDatasets for details on how to use this API operation.
3972//
3973// The context must be non-nil and will be used for request cancellation. If
3974// the context is nil a panic will occur. In the future the SDK may create
3975// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3976// for more information on using Contexts.
3977func (c *Personalize) ListDatasetsWithContext(ctx aws.Context, input *ListDatasetsInput, opts ...request.Option) (*ListDatasetsOutput, error) {
3978	req, out := c.ListDatasetsRequest(input)
3979	req.SetContext(ctx)
3980	req.ApplyOptions(opts...)
3981	return out, req.Send()
3982}
3983
3984// ListDatasetsPages iterates over the pages of a ListDatasets operation,
3985// calling the "fn" function with the response data for each page. To stop
3986// iterating, return false from the fn function.
3987//
3988// See ListDatasets method for more information on how to use this operation.
3989//
3990// Note: This operation can generate multiple requests to a service.
3991//
3992//    // Example iterating over at most 3 pages of a ListDatasets operation.
3993//    pageNum := 0
3994//    err := client.ListDatasetsPages(params,
3995//        func(page *personalize.ListDatasetsOutput, lastPage bool) bool {
3996//            pageNum++
3997//            fmt.Println(page)
3998//            return pageNum <= 3
3999//        })
4000//
4001func (c *Personalize) ListDatasetsPages(input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool) error {
4002	return c.ListDatasetsPagesWithContext(aws.BackgroundContext(), input, fn)
4003}
4004
4005// ListDatasetsPagesWithContext same as ListDatasetsPages except
4006// it takes a Context and allows setting request options on the pages.
4007//
4008// The context must be non-nil and will be used for request cancellation. If
4009// the context is nil a panic will occur. In the future the SDK may create
4010// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4011// for more information on using Contexts.
4012func (c *Personalize) ListDatasetsPagesWithContext(ctx aws.Context, input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool, opts ...request.Option) error {
4013	p := request.Pagination{
4014		NewRequest: func() (*request.Request, error) {
4015			var inCpy *ListDatasetsInput
4016			if input != nil {
4017				tmp := *input
4018				inCpy = &tmp
4019			}
4020			req, _ := c.ListDatasetsRequest(inCpy)
4021			req.SetContext(ctx)
4022			req.ApplyOptions(opts...)
4023			return req, nil
4024		},
4025	}
4026
4027	for p.Next() {
4028		if !fn(p.Page().(*ListDatasetsOutput), !p.HasNextPage()) {
4029			break
4030		}
4031	}
4032
4033	return p.Err()
4034}
4035
4036const opListEventTrackers = "ListEventTrackers"
4037
4038// ListEventTrackersRequest generates a "aws/request.Request" representing the
4039// client's request for the ListEventTrackers operation. The "output" return
4040// value will be populated with the request's response once the request completes
4041// successfully.
4042//
4043// Use "Send" method on the returned Request to send the API call to the service.
4044// the "output" return value is not valid until after Send returns without error.
4045//
4046// See ListEventTrackers for more information on using the ListEventTrackers
4047// API call, and error handling.
4048//
4049// This method is useful when you want to inject custom logic or configuration
4050// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4051//
4052//
4053//    // Example sending a request using the ListEventTrackersRequest method.
4054//    req, resp := client.ListEventTrackersRequest(params)
4055//
4056//    err := req.Send()
4057//    if err == nil { // resp is now filled
4058//        fmt.Println(resp)
4059//    }
4060//
4061// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListEventTrackers
4062func (c *Personalize) ListEventTrackersRequest(input *ListEventTrackersInput) (req *request.Request, output *ListEventTrackersOutput) {
4063	op := &request.Operation{
4064		Name:       opListEventTrackers,
4065		HTTPMethod: "POST",
4066		HTTPPath:   "/",
4067		Paginator: &request.Paginator{
4068			InputTokens:     []string{"nextToken"},
4069			OutputTokens:    []string{"nextToken"},
4070			LimitToken:      "maxResults",
4071			TruncationToken: "",
4072		},
4073	}
4074
4075	if input == nil {
4076		input = &ListEventTrackersInput{}
4077	}
4078
4079	output = &ListEventTrackersOutput{}
4080	req = c.newRequest(op, input, output)
4081	return
4082}
4083
4084// ListEventTrackers API operation for Amazon Personalize.
4085//
4086// Returns the list of event trackers associated with the account. The response
4087// provides the properties for each event tracker, including the Amazon Resource
4088// Name (ARN) and tracking ID. For more information on event trackers, see CreateEventTracker.
4089//
4090// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4091// with awserr.Error's Code and Message methods to get detailed information about
4092// the error.
4093//
4094// See the AWS API reference guide for Amazon Personalize's
4095// API operation ListEventTrackers for usage and error information.
4096//
4097// Returned Error Types:
4098//   * InvalidInputException
4099//   Provide a valid value for the field or parameter.
4100//
4101//   * InvalidNextTokenException
4102//   The token is not valid.
4103//
4104// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListEventTrackers
4105func (c *Personalize) ListEventTrackers(input *ListEventTrackersInput) (*ListEventTrackersOutput, error) {
4106	req, out := c.ListEventTrackersRequest(input)
4107	return out, req.Send()
4108}
4109
4110// ListEventTrackersWithContext is the same as ListEventTrackers with the addition of
4111// the ability to pass a context and additional request options.
4112//
4113// See ListEventTrackers for details on how to use this API operation.
4114//
4115// The context must be non-nil and will be used for request cancellation. If
4116// the context is nil a panic will occur. In the future the SDK may create
4117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4118// for more information on using Contexts.
4119func (c *Personalize) ListEventTrackersWithContext(ctx aws.Context, input *ListEventTrackersInput, opts ...request.Option) (*ListEventTrackersOutput, error) {
4120	req, out := c.ListEventTrackersRequest(input)
4121	req.SetContext(ctx)
4122	req.ApplyOptions(opts...)
4123	return out, req.Send()
4124}
4125
4126// ListEventTrackersPages iterates over the pages of a ListEventTrackers operation,
4127// calling the "fn" function with the response data for each page. To stop
4128// iterating, return false from the fn function.
4129//
4130// See ListEventTrackers method for more information on how to use this operation.
4131//
4132// Note: This operation can generate multiple requests to a service.
4133//
4134//    // Example iterating over at most 3 pages of a ListEventTrackers operation.
4135//    pageNum := 0
4136//    err := client.ListEventTrackersPages(params,
4137//        func(page *personalize.ListEventTrackersOutput, lastPage bool) bool {
4138//            pageNum++
4139//            fmt.Println(page)
4140//            return pageNum <= 3
4141//        })
4142//
4143func (c *Personalize) ListEventTrackersPages(input *ListEventTrackersInput, fn func(*ListEventTrackersOutput, bool) bool) error {
4144	return c.ListEventTrackersPagesWithContext(aws.BackgroundContext(), input, fn)
4145}
4146
4147// ListEventTrackersPagesWithContext same as ListEventTrackersPages except
4148// it takes a Context and allows setting request options on the pages.
4149//
4150// The context must be non-nil and will be used for request cancellation. If
4151// the context is nil a panic will occur. In the future the SDK may create
4152// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4153// for more information on using Contexts.
4154func (c *Personalize) ListEventTrackersPagesWithContext(ctx aws.Context, input *ListEventTrackersInput, fn func(*ListEventTrackersOutput, bool) bool, opts ...request.Option) error {
4155	p := request.Pagination{
4156		NewRequest: func() (*request.Request, error) {
4157			var inCpy *ListEventTrackersInput
4158			if input != nil {
4159				tmp := *input
4160				inCpy = &tmp
4161			}
4162			req, _ := c.ListEventTrackersRequest(inCpy)
4163			req.SetContext(ctx)
4164			req.ApplyOptions(opts...)
4165			return req, nil
4166		},
4167	}
4168
4169	for p.Next() {
4170		if !fn(p.Page().(*ListEventTrackersOutput), !p.HasNextPage()) {
4171			break
4172		}
4173	}
4174
4175	return p.Err()
4176}
4177
4178const opListFilters = "ListFilters"
4179
4180// ListFiltersRequest generates a "aws/request.Request" representing the
4181// client's request for the ListFilters operation. The "output" return
4182// value will be populated with the request's response once the request completes
4183// successfully.
4184//
4185// Use "Send" method on the returned Request to send the API call to the service.
4186// the "output" return value is not valid until after Send returns without error.
4187//
4188// See ListFilters for more information on using the ListFilters
4189// API call, and error handling.
4190//
4191// This method is useful when you want to inject custom logic or configuration
4192// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4193//
4194//
4195//    // Example sending a request using the ListFiltersRequest method.
4196//    req, resp := client.ListFiltersRequest(params)
4197//
4198//    err := req.Send()
4199//    if err == nil { // resp is now filled
4200//        fmt.Println(resp)
4201//    }
4202//
4203// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListFilters
4204func (c *Personalize) ListFiltersRequest(input *ListFiltersInput) (req *request.Request, output *ListFiltersOutput) {
4205	op := &request.Operation{
4206		Name:       opListFilters,
4207		HTTPMethod: "POST",
4208		HTTPPath:   "/",
4209		Paginator: &request.Paginator{
4210			InputTokens:     []string{"nextToken"},
4211			OutputTokens:    []string{"nextToken"},
4212			LimitToken:      "maxResults",
4213			TruncationToken: "",
4214		},
4215	}
4216
4217	if input == nil {
4218		input = &ListFiltersInput{}
4219	}
4220
4221	output = &ListFiltersOutput{}
4222	req = c.newRequest(op, input, output)
4223	return
4224}
4225
4226// ListFilters API operation for Amazon Personalize.
4227//
4228// Lists all filters that belong to a given dataset group.
4229//
4230// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4231// with awserr.Error's Code and Message methods to get detailed information about
4232// the error.
4233//
4234// See the AWS API reference guide for Amazon Personalize's
4235// API operation ListFilters for usage and error information.
4236//
4237// Returned Error Types:
4238//   * InvalidInputException
4239//   Provide a valid value for the field or parameter.
4240//
4241//   * InvalidNextTokenException
4242//   The token is not valid.
4243//
4244// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListFilters
4245func (c *Personalize) ListFilters(input *ListFiltersInput) (*ListFiltersOutput, error) {
4246	req, out := c.ListFiltersRequest(input)
4247	return out, req.Send()
4248}
4249
4250// ListFiltersWithContext is the same as ListFilters with the addition of
4251// the ability to pass a context and additional request options.
4252//
4253// See ListFilters for details on how to use this API operation.
4254//
4255// The context must be non-nil and will be used for request cancellation. If
4256// the context is nil a panic will occur. In the future the SDK may create
4257// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4258// for more information on using Contexts.
4259func (c *Personalize) ListFiltersWithContext(ctx aws.Context, input *ListFiltersInput, opts ...request.Option) (*ListFiltersOutput, error) {
4260	req, out := c.ListFiltersRequest(input)
4261	req.SetContext(ctx)
4262	req.ApplyOptions(opts...)
4263	return out, req.Send()
4264}
4265
4266// ListFiltersPages iterates over the pages of a ListFilters operation,
4267// calling the "fn" function with the response data for each page. To stop
4268// iterating, return false from the fn function.
4269//
4270// See ListFilters method for more information on how to use this operation.
4271//
4272// Note: This operation can generate multiple requests to a service.
4273//
4274//    // Example iterating over at most 3 pages of a ListFilters operation.
4275//    pageNum := 0
4276//    err := client.ListFiltersPages(params,
4277//        func(page *personalize.ListFiltersOutput, lastPage bool) bool {
4278//            pageNum++
4279//            fmt.Println(page)
4280//            return pageNum <= 3
4281//        })
4282//
4283func (c *Personalize) ListFiltersPages(input *ListFiltersInput, fn func(*ListFiltersOutput, bool) bool) error {
4284	return c.ListFiltersPagesWithContext(aws.BackgroundContext(), input, fn)
4285}
4286
4287// ListFiltersPagesWithContext same as ListFiltersPages except
4288// it takes a Context and allows setting request options on the pages.
4289//
4290// The context must be non-nil and will be used for request cancellation. If
4291// the context is nil a panic will occur. In the future the SDK may create
4292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4293// for more information on using Contexts.
4294func (c *Personalize) ListFiltersPagesWithContext(ctx aws.Context, input *ListFiltersInput, fn func(*ListFiltersOutput, bool) bool, opts ...request.Option) error {
4295	p := request.Pagination{
4296		NewRequest: func() (*request.Request, error) {
4297			var inCpy *ListFiltersInput
4298			if input != nil {
4299				tmp := *input
4300				inCpy = &tmp
4301			}
4302			req, _ := c.ListFiltersRequest(inCpy)
4303			req.SetContext(ctx)
4304			req.ApplyOptions(opts...)
4305			return req, nil
4306		},
4307	}
4308
4309	for p.Next() {
4310		if !fn(p.Page().(*ListFiltersOutput), !p.HasNextPage()) {
4311			break
4312		}
4313	}
4314
4315	return p.Err()
4316}
4317
4318const opListRecipes = "ListRecipes"
4319
4320// ListRecipesRequest generates a "aws/request.Request" representing the
4321// client's request for the ListRecipes operation. The "output" return
4322// value will be populated with the request's response once the request completes
4323// successfully.
4324//
4325// Use "Send" method on the returned Request to send the API call to the service.
4326// the "output" return value is not valid until after Send returns without error.
4327//
4328// See ListRecipes for more information on using the ListRecipes
4329// API call, and error handling.
4330//
4331// This method is useful when you want to inject custom logic or configuration
4332// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4333//
4334//
4335//    // Example sending a request using the ListRecipesRequest method.
4336//    req, resp := client.ListRecipesRequest(params)
4337//
4338//    err := req.Send()
4339//    if err == nil { // resp is now filled
4340//        fmt.Println(resp)
4341//    }
4342//
4343// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListRecipes
4344func (c *Personalize) ListRecipesRequest(input *ListRecipesInput) (req *request.Request, output *ListRecipesOutput) {
4345	op := &request.Operation{
4346		Name:       opListRecipes,
4347		HTTPMethod: "POST",
4348		HTTPPath:   "/",
4349		Paginator: &request.Paginator{
4350			InputTokens:     []string{"nextToken"},
4351			OutputTokens:    []string{"nextToken"},
4352			LimitToken:      "maxResults",
4353			TruncationToken: "",
4354		},
4355	}
4356
4357	if input == nil {
4358		input = &ListRecipesInput{}
4359	}
4360
4361	output = &ListRecipesOutput{}
4362	req = c.newRequest(op, input, output)
4363	return
4364}
4365
4366// ListRecipes API operation for Amazon Personalize.
4367//
4368// Returns a list of available recipes. The response provides the properties
4369// for each recipe, including the recipe's Amazon Resource Name (ARN).
4370//
4371// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4372// with awserr.Error's Code and Message methods to get detailed information about
4373// the error.
4374//
4375// See the AWS API reference guide for Amazon Personalize's
4376// API operation ListRecipes for usage and error information.
4377//
4378// Returned Error Types:
4379//   * InvalidNextTokenException
4380//   The token is not valid.
4381//
4382// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListRecipes
4383func (c *Personalize) ListRecipes(input *ListRecipesInput) (*ListRecipesOutput, error) {
4384	req, out := c.ListRecipesRequest(input)
4385	return out, req.Send()
4386}
4387
4388// ListRecipesWithContext is the same as ListRecipes with the addition of
4389// the ability to pass a context and additional request options.
4390//
4391// See ListRecipes for details on how to use this API operation.
4392//
4393// The context must be non-nil and will be used for request cancellation. If
4394// the context is nil a panic will occur. In the future the SDK may create
4395// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4396// for more information on using Contexts.
4397func (c *Personalize) ListRecipesWithContext(ctx aws.Context, input *ListRecipesInput, opts ...request.Option) (*ListRecipesOutput, error) {
4398	req, out := c.ListRecipesRequest(input)
4399	req.SetContext(ctx)
4400	req.ApplyOptions(opts...)
4401	return out, req.Send()
4402}
4403
4404// ListRecipesPages iterates over the pages of a ListRecipes operation,
4405// calling the "fn" function with the response data for each page. To stop
4406// iterating, return false from the fn function.
4407//
4408// See ListRecipes method for more information on how to use this operation.
4409//
4410// Note: This operation can generate multiple requests to a service.
4411//
4412//    // Example iterating over at most 3 pages of a ListRecipes operation.
4413//    pageNum := 0
4414//    err := client.ListRecipesPages(params,
4415//        func(page *personalize.ListRecipesOutput, lastPage bool) bool {
4416//            pageNum++
4417//            fmt.Println(page)
4418//            return pageNum <= 3
4419//        })
4420//
4421func (c *Personalize) ListRecipesPages(input *ListRecipesInput, fn func(*ListRecipesOutput, bool) bool) error {
4422	return c.ListRecipesPagesWithContext(aws.BackgroundContext(), input, fn)
4423}
4424
4425// ListRecipesPagesWithContext same as ListRecipesPages except
4426// it takes a Context and allows setting request options on the pages.
4427//
4428// The context must be non-nil and will be used for request cancellation. If
4429// the context is nil a panic will occur. In the future the SDK may create
4430// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4431// for more information on using Contexts.
4432func (c *Personalize) ListRecipesPagesWithContext(ctx aws.Context, input *ListRecipesInput, fn func(*ListRecipesOutput, bool) bool, opts ...request.Option) error {
4433	p := request.Pagination{
4434		NewRequest: func() (*request.Request, error) {
4435			var inCpy *ListRecipesInput
4436			if input != nil {
4437				tmp := *input
4438				inCpy = &tmp
4439			}
4440			req, _ := c.ListRecipesRequest(inCpy)
4441			req.SetContext(ctx)
4442			req.ApplyOptions(opts...)
4443			return req, nil
4444		},
4445	}
4446
4447	for p.Next() {
4448		if !fn(p.Page().(*ListRecipesOutput), !p.HasNextPage()) {
4449			break
4450		}
4451	}
4452
4453	return p.Err()
4454}
4455
4456const opListSchemas = "ListSchemas"
4457
4458// ListSchemasRequest generates a "aws/request.Request" representing the
4459// client's request for the ListSchemas operation. The "output" return
4460// value will be populated with the request's response once the request completes
4461// successfully.
4462//
4463// Use "Send" method on the returned Request to send the API call to the service.
4464// the "output" return value is not valid until after Send returns without error.
4465//
4466// See ListSchemas for more information on using the ListSchemas
4467// API call, and error handling.
4468//
4469// This method is useful when you want to inject custom logic or configuration
4470// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4471//
4472//
4473//    // Example sending a request using the ListSchemasRequest method.
4474//    req, resp := client.ListSchemasRequest(params)
4475//
4476//    err := req.Send()
4477//    if err == nil { // resp is now filled
4478//        fmt.Println(resp)
4479//    }
4480//
4481// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSchemas
4482func (c *Personalize) ListSchemasRequest(input *ListSchemasInput) (req *request.Request, output *ListSchemasOutput) {
4483	op := &request.Operation{
4484		Name:       opListSchemas,
4485		HTTPMethod: "POST",
4486		HTTPPath:   "/",
4487		Paginator: &request.Paginator{
4488			InputTokens:     []string{"nextToken"},
4489			OutputTokens:    []string{"nextToken"},
4490			LimitToken:      "maxResults",
4491			TruncationToken: "",
4492		},
4493	}
4494
4495	if input == nil {
4496		input = &ListSchemasInput{}
4497	}
4498
4499	output = &ListSchemasOutput{}
4500	req = c.newRequest(op, input, output)
4501	return
4502}
4503
4504// ListSchemas API operation for Amazon Personalize.
4505//
4506// Returns the list of schemas associated with the account. The response provides
4507// the properties for each schema, including the Amazon Resource Name (ARN).
4508// For more information on schemas, see CreateSchema.
4509//
4510// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4511// with awserr.Error's Code and Message methods to get detailed information about
4512// the error.
4513//
4514// See the AWS API reference guide for Amazon Personalize's
4515// API operation ListSchemas for usage and error information.
4516//
4517// Returned Error Types:
4518//   * InvalidNextTokenException
4519//   The token is not valid.
4520//
4521// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSchemas
4522func (c *Personalize) ListSchemas(input *ListSchemasInput) (*ListSchemasOutput, error) {
4523	req, out := c.ListSchemasRequest(input)
4524	return out, req.Send()
4525}
4526
4527// ListSchemasWithContext is the same as ListSchemas with the addition of
4528// the ability to pass a context and additional request options.
4529//
4530// See ListSchemas for details on how to use this API operation.
4531//
4532// The context must be non-nil and will be used for request cancellation. If
4533// the context is nil a panic will occur. In the future the SDK may create
4534// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4535// for more information on using Contexts.
4536func (c *Personalize) ListSchemasWithContext(ctx aws.Context, input *ListSchemasInput, opts ...request.Option) (*ListSchemasOutput, error) {
4537	req, out := c.ListSchemasRequest(input)
4538	req.SetContext(ctx)
4539	req.ApplyOptions(opts...)
4540	return out, req.Send()
4541}
4542
4543// ListSchemasPages iterates over the pages of a ListSchemas operation,
4544// calling the "fn" function with the response data for each page. To stop
4545// iterating, return false from the fn function.
4546//
4547// See ListSchemas method for more information on how to use this operation.
4548//
4549// Note: This operation can generate multiple requests to a service.
4550//
4551//    // Example iterating over at most 3 pages of a ListSchemas operation.
4552//    pageNum := 0
4553//    err := client.ListSchemasPages(params,
4554//        func(page *personalize.ListSchemasOutput, lastPage bool) bool {
4555//            pageNum++
4556//            fmt.Println(page)
4557//            return pageNum <= 3
4558//        })
4559//
4560func (c *Personalize) ListSchemasPages(input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool) error {
4561	return c.ListSchemasPagesWithContext(aws.BackgroundContext(), input, fn)
4562}
4563
4564// ListSchemasPagesWithContext same as ListSchemasPages except
4565// it takes a Context and allows setting request options on the pages.
4566//
4567// The context must be non-nil and will be used for request cancellation. If
4568// the context is nil a panic will occur. In the future the SDK may create
4569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4570// for more information on using Contexts.
4571func (c *Personalize) ListSchemasPagesWithContext(ctx aws.Context, input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool, opts ...request.Option) error {
4572	p := request.Pagination{
4573		NewRequest: func() (*request.Request, error) {
4574			var inCpy *ListSchemasInput
4575			if input != nil {
4576				tmp := *input
4577				inCpy = &tmp
4578			}
4579			req, _ := c.ListSchemasRequest(inCpy)
4580			req.SetContext(ctx)
4581			req.ApplyOptions(opts...)
4582			return req, nil
4583		},
4584	}
4585
4586	for p.Next() {
4587		if !fn(p.Page().(*ListSchemasOutput), !p.HasNextPage()) {
4588			break
4589		}
4590	}
4591
4592	return p.Err()
4593}
4594
4595const opListSolutionVersions = "ListSolutionVersions"
4596
4597// ListSolutionVersionsRequest generates a "aws/request.Request" representing the
4598// client's request for the ListSolutionVersions operation. The "output" return
4599// value will be populated with the request's response once the request completes
4600// successfully.
4601//
4602// Use "Send" method on the returned Request to send the API call to the service.
4603// the "output" return value is not valid until after Send returns without error.
4604//
4605// See ListSolutionVersions for more information on using the ListSolutionVersions
4606// API call, and error handling.
4607//
4608// This method is useful when you want to inject custom logic or configuration
4609// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4610//
4611//
4612//    // Example sending a request using the ListSolutionVersionsRequest method.
4613//    req, resp := client.ListSolutionVersionsRequest(params)
4614//
4615//    err := req.Send()
4616//    if err == nil { // resp is now filled
4617//        fmt.Println(resp)
4618//    }
4619//
4620// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutionVersions
4621func (c *Personalize) ListSolutionVersionsRequest(input *ListSolutionVersionsInput) (req *request.Request, output *ListSolutionVersionsOutput) {
4622	op := &request.Operation{
4623		Name:       opListSolutionVersions,
4624		HTTPMethod: "POST",
4625		HTTPPath:   "/",
4626		Paginator: &request.Paginator{
4627			InputTokens:     []string{"nextToken"},
4628			OutputTokens:    []string{"nextToken"},
4629			LimitToken:      "maxResults",
4630			TruncationToken: "",
4631		},
4632	}
4633
4634	if input == nil {
4635		input = &ListSolutionVersionsInput{}
4636	}
4637
4638	output = &ListSolutionVersionsOutput{}
4639	req = c.newRequest(op, input, output)
4640	return
4641}
4642
4643// ListSolutionVersions API operation for Amazon Personalize.
4644//
4645// Returns a list of solution versions for the given solution. When a solution
4646// is not specified, all the solution versions associated with the account are
4647// listed. The response provides the properties for each solution version, including
4648// the Amazon Resource Name (ARN). For more information on solutions, see CreateSolution.
4649//
4650// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4651// with awserr.Error's Code and Message methods to get detailed information about
4652// the error.
4653//
4654// See the AWS API reference guide for Amazon Personalize's
4655// API operation ListSolutionVersions for usage and error information.
4656//
4657// Returned Error Types:
4658//   * InvalidInputException
4659//   Provide a valid value for the field or parameter.
4660//
4661//   * ResourceNotFoundException
4662//   Could not find the specified resource.
4663//
4664//   * InvalidNextTokenException
4665//   The token is not valid.
4666//
4667// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutionVersions
4668func (c *Personalize) ListSolutionVersions(input *ListSolutionVersionsInput) (*ListSolutionVersionsOutput, error) {
4669	req, out := c.ListSolutionVersionsRequest(input)
4670	return out, req.Send()
4671}
4672
4673// ListSolutionVersionsWithContext is the same as ListSolutionVersions with the addition of
4674// the ability to pass a context and additional request options.
4675//
4676// See ListSolutionVersions for details on how to use this API operation.
4677//
4678// The context must be non-nil and will be used for request cancellation. If
4679// the context is nil a panic will occur. In the future the SDK may create
4680// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4681// for more information on using Contexts.
4682func (c *Personalize) ListSolutionVersionsWithContext(ctx aws.Context, input *ListSolutionVersionsInput, opts ...request.Option) (*ListSolutionVersionsOutput, error) {
4683	req, out := c.ListSolutionVersionsRequest(input)
4684	req.SetContext(ctx)
4685	req.ApplyOptions(opts...)
4686	return out, req.Send()
4687}
4688
4689// ListSolutionVersionsPages iterates over the pages of a ListSolutionVersions operation,
4690// calling the "fn" function with the response data for each page. To stop
4691// iterating, return false from the fn function.
4692//
4693// See ListSolutionVersions method for more information on how to use this operation.
4694//
4695// Note: This operation can generate multiple requests to a service.
4696//
4697//    // Example iterating over at most 3 pages of a ListSolutionVersions operation.
4698//    pageNum := 0
4699//    err := client.ListSolutionVersionsPages(params,
4700//        func(page *personalize.ListSolutionVersionsOutput, lastPage bool) bool {
4701//            pageNum++
4702//            fmt.Println(page)
4703//            return pageNum <= 3
4704//        })
4705//
4706func (c *Personalize) ListSolutionVersionsPages(input *ListSolutionVersionsInput, fn func(*ListSolutionVersionsOutput, bool) bool) error {
4707	return c.ListSolutionVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
4708}
4709
4710// ListSolutionVersionsPagesWithContext same as ListSolutionVersionsPages except
4711// it takes a Context and allows setting request options on the pages.
4712//
4713// The context must be non-nil and will be used for request cancellation. If
4714// the context is nil a panic will occur. In the future the SDK may create
4715// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4716// for more information on using Contexts.
4717func (c *Personalize) ListSolutionVersionsPagesWithContext(ctx aws.Context, input *ListSolutionVersionsInput, fn func(*ListSolutionVersionsOutput, bool) bool, opts ...request.Option) error {
4718	p := request.Pagination{
4719		NewRequest: func() (*request.Request, error) {
4720			var inCpy *ListSolutionVersionsInput
4721			if input != nil {
4722				tmp := *input
4723				inCpy = &tmp
4724			}
4725			req, _ := c.ListSolutionVersionsRequest(inCpy)
4726			req.SetContext(ctx)
4727			req.ApplyOptions(opts...)
4728			return req, nil
4729		},
4730	}
4731
4732	for p.Next() {
4733		if !fn(p.Page().(*ListSolutionVersionsOutput), !p.HasNextPage()) {
4734			break
4735		}
4736	}
4737
4738	return p.Err()
4739}
4740
4741const opListSolutions = "ListSolutions"
4742
4743// ListSolutionsRequest generates a "aws/request.Request" representing the
4744// client's request for the ListSolutions operation. The "output" return
4745// value will be populated with the request's response once the request completes
4746// successfully.
4747//
4748// Use "Send" method on the returned Request to send the API call to the service.
4749// the "output" return value is not valid until after Send returns without error.
4750//
4751// See ListSolutions for more information on using the ListSolutions
4752// API call, and error handling.
4753//
4754// This method is useful when you want to inject custom logic or configuration
4755// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4756//
4757//
4758//    // Example sending a request using the ListSolutionsRequest method.
4759//    req, resp := client.ListSolutionsRequest(params)
4760//
4761//    err := req.Send()
4762//    if err == nil { // resp is now filled
4763//        fmt.Println(resp)
4764//    }
4765//
4766// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutions
4767func (c *Personalize) ListSolutionsRequest(input *ListSolutionsInput) (req *request.Request, output *ListSolutionsOutput) {
4768	op := &request.Operation{
4769		Name:       opListSolutions,
4770		HTTPMethod: "POST",
4771		HTTPPath:   "/",
4772		Paginator: &request.Paginator{
4773			InputTokens:     []string{"nextToken"},
4774			OutputTokens:    []string{"nextToken"},
4775			LimitToken:      "maxResults",
4776			TruncationToken: "",
4777		},
4778	}
4779
4780	if input == nil {
4781		input = &ListSolutionsInput{}
4782	}
4783
4784	output = &ListSolutionsOutput{}
4785	req = c.newRequest(op, input, output)
4786	return
4787}
4788
4789// ListSolutions API operation for Amazon Personalize.
4790//
4791// Returns a list of solutions that use the given dataset group. When a dataset
4792// group is not specified, all the solutions associated with the account are
4793// listed. The response provides the properties for each solution, including
4794// the Amazon Resource Name (ARN). For more information on solutions, see CreateSolution.
4795//
4796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4797// with awserr.Error's Code and Message methods to get detailed information about
4798// the error.
4799//
4800// See the AWS API reference guide for Amazon Personalize's
4801// API operation ListSolutions for usage and error information.
4802//
4803// Returned Error Types:
4804//   * InvalidInputException
4805//   Provide a valid value for the field or parameter.
4806//
4807//   * InvalidNextTokenException
4808//   The token is not valid.
4809//
4810// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutions
4811func (c *Personalize) ListSolutions(input *ListSolutionsInput) (*ListSolutionsOutput, error) {
4812	req, out := c.ListSolutionsRequest(input)
4813	return out, req.Send()
4814}
4815
4816// ListSolutionsWithContext is the same as ListSolutions with the addition of
4817// the ability to pass a context and additional request options.
4818//
4819// See ListSolutions for details on how to use this API operation.
4820//
4821// The context must be non-nil and will be used for request cancellation. If
4822// the context is nil a panic will occur. In the future the SDK may create
4823// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4824// for more information on using Contexts.
4825func (c *Personalize) ListSolutionsWithContext(ctx aws.Context, input *ListSolutionsInput, opts ...request.Option) (*ListSolutionsOutput, error) {
4826	req, out := c.ListSolutionsRequest(input)
4827	req.SetContext(ctx)
4828	req.ApplyOptions(opts...)
4829	return out, req.Send()
4830}
4831
4832// ListSolutionsPages iterates over the pages of a ListSolutions operation,
4833// calling the "fn" function with the response data for each page. To stop
4834// iterating, return false from the fn function.
4835//
4836// See ListSolutions method for more information on how to use this operation.
4837//
4838// Note: This operation can generate multiple requests to a service.
4839//
4840//    // Example iterating over at most 3 pages of a ListSolutions operation.
4841//    pageNum := 0
4842//    err := client.ListSolutionsPages(params,
4843//        func(page *personalize.ListSolutionsOutput, lastPage bool) bool {
4844//            pageNum++
4845//            fmt.Println(page)
4846//            return pageNum <= 3
4847//        })
4848//
4849func (c *Personalize) ListSolutionsPages(input *ListSolutionsInput, fn func(*ListSolutionsOutput, bool) bool) error {
4850	return c.ListSolutionsPagesWithContext(aws.BackgroundContext(), input, fn)
4851}
4852
4853// ListSolutionsPagesWithContext same as ListSolutionsPages except
4854// it takes a Context and allows setting request options on the pages.
4855//
4856// The context must be non-nil and will be used for request cancellation. If
4857// the context is nil a panic will occur. In the future the SDK may create
4858// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4859// for more information on using Contexts.
4860func (c *Personalize) ListSolutionsPagesWithContext(ctx aws.Context, input *ListSolutionsInput, fn func(*ListSolutionsOutput, bool) bool, opts ...request.Option) error {
4861	p := request.Pagination{
4862		NewRequest: func() (*request.Request, error) {
4863			var inCpy *ListSolutionsInput
4864			if input != nil {
4865				tmp := *input
4866				inCpy = &tmp
4867			}
4868			req, _ := c.ListSolutionsRequest(inCpy)
4869			req.SetContext(ctx)
4870			req.ApplyOptions(opts...)
4871			return req, nil
4872		},
4873	}
4874
4875	for p.Next() {
4876		if !fn(p.Page().(*ListSolutionsOutput), !p.HasNextPage()) {
4877			break
4878		}
4879	}
4880
4881	return p.Err()
4882}
4883
4884const opStopSolutionVersionCreation = "StopSolutionVersionCreation"
4885
4886// StopSolutionVersionCreationRequest generates a "aws/request.Request" representing the
4887// client's request for the StopSolutionVersionCreation operation. The "output" return
4888// value will be populated with the request's response once the request completes
4889// successfully.
4890//
4891// Use "Send" method on the returned Request to send the API call to the service.
4892// the "output" return value is not valid until after Send returns without error.
4893//
4894// See StopSolutionVersionCreation for more information on using the StopSolutionVersionCreation
4895// API call, and error handling.
4896//
4897// This method is useful when you want to inject custom logic or configuration
4898// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4899//
4900//
4901//    // Example sending a request using the StopSolutionVersionCreationRequest method.
4902//    req, resp := client.StopSolutionVersionCreationRequest(params)
4903//
4904//    err := req.Send()
4905//    if err == nil { // resp is now filled
4906//        fmt.Println(resp)
4907//    }
4908//
4909// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/StopSolutionVersionCreation
4910func (c *Personalize) StopSolutionVersionCreationRequest(input *StopSolutionVersionCreationInput) (req *request.Request, output *StopSolutionVersionCreationOutput) {
4911	op := &request.Operation{
4912		Name:       opStopSolutionVersionCreation,
4913		HTTPMethod: "POST",
4914		HTTPPath:   "/",
4915	}
4916
4917	if input == nil {
4918		input = &StopSolutionVersionCreationInput{}
4919	}
4920
4921	output = &StopSolutionVersionCreationOutput{}
4922	req = c.newRequest(op, input, output)
4923	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4924	return
4925}
4926
4927// StopSolutionVersionCreation API operation for Amazon Personalize.
4928//
4929// Stops creating a solution version that is in a state of CREATE_PENDING or
4930// CREATE IN_PROGRESS.
4931//
4932// Depending on the current state of the solution version, the solution version
4933// state changes as follows:
4934//
4935//    * CREATE_PENDING > CREATE_STOPPED or
4936//
4937//    * CREATE_IN_PROGRESS > CREATE_STOPPING > CREATE_STOPPED
4938//
4939// You are billed for all of the training completed up until you stop the solution
4940// version creation. You cannot resume creating a solution version once it has
4941// been stopped.
4942//
4943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4944// with awserr.Error's Code and Message methods to get detailed information about
4945// the error.
4946//
4947// See the AWS API reference guide for Amazon Personalize's
4948// API operation StopSolutionVersionCreation for usage and error information.
4949//
4950// Returned Error Types:
4951//   * InvalidInputException
4952//   Provide a valid value for the field or parameter.
4953//
4954//   * ResourceNotFoundException
4955//   Could not find the specified resource.
4956//
4957//   * ResourceInUseException
4958//   The specified resource is in use.
4959//
4960// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/StopSolutionVersionCreation
4961func (c *Personalize) StopSolutionVersionCreation(input *StopSolutionVersionCreationInput) (*StopSolutionVersionCreationOutput, error) {
4962	req, out := c.StopSolutionVersionCreationRequest(input)
4963	return out, req.Send()
4964}
4965
4966// StopSolutionVersionCreationWithContext is the same as StopSolutionVersionCreation with the addition of
4967// the ability to pass a context and additional request options.
4968//
4969// See StopSolutionVersionCreation for details on how to use this API operation.
4970//
4971// The context must be non-nil and will be used for request cancellation. If
4972// the context is nil a panic will occur. In the future the SDK may create
4973// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4974// for more information on using Contexts.
4975func (c *Personalize) StopSolutionVersionCreationWithContext(ctx aws.Context, input *StopSolutionVersionCreationInput, opts ...request.Option) (*StopSolutionVersionCreationOutput, error) {
4976	req, out := c.StopSolutionVersionCreationRequest(input)
4977	req.SetContext(ctx)
4978	req.ApplyOptions(opts...)
4979	return out, req.Send()
4980}
4981
4982const opUpdateCampaign = "UpdateCampaign"
4983
4984// UpdateCampaignRequest generates a "aws/request.Request" representing the
4985// client's request for the UpdateCampaign operation. The "output" return
4986// value will be populated with the request's response once the request completes
4987// successfully.
4988//
4989// Use "Send" method on the returned Request to send the API call to the service.
4990// the "output" return value is not valid until after Send returns without error.
4991//
4992// See UpdateCampaign for more information on using the UpdateCampaign
4993// API call, and error handling.
4994//
4995// This method is useful when you want to inject custom logic or configuration
4996// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4997//
4998//
4999//    // Example sending a request using the UpdateCampaignRequest method.
5000//    req, resp := client.UpdateCampaignRequest(params)
5001//
5002//    err := req.Send()
5003//    if err == nil { // resp is now filled
5004//        fmt.Println(resp)
5005//    }
5006//
5007// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/UpdateCampaign
5008func (c *Personalize) UpdateCampaignRequest(input *UpdateCampaignInput) (req *request.Request, output *UpdateCampaignOutput) {
5009	op := &request.Operation{
5010		Name:       opUpdateCampaign,
5011		HTTPMethod: "POST",
5012		HTTPPath:   "/",
5013	}
5014
5015	if input == nil {
5016		input = &UpdateCampaignInput{}
5017	}
5018
5019	output = &UpdateCampaignOutput{}
5020	req = c.newRequest(op, input, output)
5021	return
5022}
5023
5024// UpdateCampaign API operation for Amazon Personalize.
5025//
5026// Updates a campaign by either deploying a new solution or changing the value
5027// of the campaign's minProvisionedTPS parameter.
5028//
5029// To update a campaign, the campaign status must be ACTIVE or CREATE FAILED.
5030// Check the campaign status using the DescribeCampaign API.
5031//
5032// You must wait until the status of the updated campaign is ACTIVE before asking
5033// the campaign for recommendations.
5034//
5035// For more information on campaigns, see CreateCampaign.
5036//
5037// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5038// with awserr.Error's Code and Message methods to get detailed information about
5039// the error.
5040//
5041// See the AWS API reference guide for Amazon Personalize's
5042// API operation UpdateCampaign for usage and error information.
5043//
5044// Returned Error Types:
5045//   * InvalidInputException
5046//   Provide a valid value for the field or parameter.
5047//
5048//   * ResourceNotFoundException
5049//   Could not find the specified resource.
5050//
5051//   * ResourceInUseException
5052//   The specified resource is in use.
5053//
5054// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/UpdateCampaign
5055func (c *Personalize) UpdateCampaign(input *UpdateCampaignInput) (*UpdateCampaignOutput, error) {
5056	req, out := c.UpdateCampaignRequest(input)
5057	return out, req.Send()
5058}
5059
5060// UpdateCampaignWithContext is the same as UpdateCampaign with the addition of
5061// the ability to pass a context and additional request options.
5062//
5063// See UpdateCampaign for details on how to use this API operation.
5064//
5065// The context must be non-nil and will be used for request cancellation. If
5066// the context is nil a panic will occur. In the future the SDK may create
5067// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5068// for more information on using Contexts.
5069func (c *Personalize) UpdateCampaignWithContext(ctx aws.Context, input *UpdateCampaignInput, opts ...request.Option) (*UpdateCampaignOutput, error) {
5070	req, out := c.UpdateCampaignRequest(input)
5071	req.SetContext(ctx)
5072	req.ApplyOptions(opts...)
5073	return out, req.Send()
5074}
5075
5076// Describes a custom algorithm.
5077type Algorithm struct {
5078	_ struct{} `type:"structure"`
5079
5080	// The Amazon Resource Name (ARN) of the algorithm.
5081	AlgorithmArn *string `locationName:"algorithmArn" type:"string"`
5082
5083	// The URI of the Docker container for the algorithm image.
5084	AlgorithmImage *AlgorithmImage `locationName:"algorithmImage" type:"structure"`
5085
5086	// The date and time (in Unix time) that the algorithm was created.
5087	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
5088
5089	// Specifies the default hyperparameters, their ranges, and whether they are
5090	// tunable. A tunable hyperparameter can have its value determined during hyperparameter
5091	// optimization (HPO).
5092	DefaultHyperParameterRanges *DefaultHyperParameterRanges `locationName:"defaultHyperParameterRanges" type:"structure"`
5093
5094	// Specifies the default hyperparameters.
5095	DefaultHyperParameters map[string]*string `locationName:"defaultHyperParameters" type:"map"`
5096
5097	// Specifies the default maximum number of training jobs and parallel training
5098	// jobs.
5099	DefaultResourceConfig map[string]*string `locationName:"defaultResourceConfig" type:"map"`
5100
5101	// The date and time (in Unix time) that the algorithm was last updated.
5102	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
5103
5104	// The name of the algorithm.
5105	Name *string `locationName:"name" min:"1" type:"string"`
5106
5107	// The Amazon Resource Name (ARN) of the role.
5108	RoleArn *string `locationName:"roleArn" type:"string"`
5109
5110	// The training input mode.
5111	TrainingInputMode *string `locationName:"trainingInputMode" type:"string"`
5112}
5113
5114// String returns the string representation
5115func (s Algorithm) String() string {
5116	return awsutil.Prettify(s)
5117}
5118
5119// GoString returns the string representation
5120func (s Algorithm) GoString() string {
5121	return s.String()
5122}
5123
5124// SetAlgorithmArn sets the AlgorithmArn field's value.
5125func (s *Algorithm) SetAlgorithmArn(v string) *Algorithm {
5126	s.AlgorithmArn = &v
5127	return s
5128}
5129
5130// SetAlgorithmImage sets the AlgorithmImage field's value.
5131func (s *Algorithm) SetAlgorithmImage(v *AlgorithmImage) *Algorithm {
5132	s.AlgorithmImage = v
5133	return s
5134}
5135
5136// SetCreationDateTime sets the CreationDateTime field's value.
5137func (s *Algorithm) SetCreationDateTime(v time.Time) *Algorithm {
5138	s.CreationDateTime = &v
5139	return s
5140}
5141
5142// SetDefaultHyperParameterRanges sets the DefaultHyperParameterRanges field's value.
5143func (s *Algorithm) SetDefaultHyperParameterRanges(v *DefaultHyperParameterRanges) *Algorithm {
5144	s.DefaultHyperParameterRanges = v
5145	return s
5146}
5147
5148// SetDefaultHyperParameters sets the DefaultHyperParameters field's value.
5149func (s *Algorithm) SetDefaultHyperParameters(v map[string]*string) *Algorithm {
5150	s.DefaultHyperParameters = v
5151	return s
5152}
5153
5154// SetDefaultResourceConfig sets the DefaultResourceConfig field's value.
5155func (s *Algorithm) SetDefaultResourceConfig(v map[string]*string) *Algorithm {
5156	s.DefaultResourceConfig = v
5157	return s
5158}
5159
5160// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
5161func (s *Algorithm) SetLastUpdatedDateTime(v time.Time) *Algorithm {
5162	s.LastUpdatedDateTime = &v
5163	return s
5164}
5165
5166// SetName sets the Name field's value.
5167func (s *Algorithm) SetName(v string) *Algorithm {
5168	s.Name = &v
5169	return s
5170}
5171
5172// SetRoleArn sets the RoleArn field's value.
5173func (s *Algorithm) SetRoleArn(v string) *Algorithm {
5174	s.RoleArn = &v
5175	return s
5176}
5177
5178// SetTrainingInputMode sets the TrainingInputMode field's value.
5179func (s *Algorithm) SetTrainingInputMode(v string) *Algorithm {
5180	s.TrainingInputMode = &v
5181	return s
5182}
5183
5184// Describes an algorithm image.
5185type AlgorithmImage struct {
5186	_ struct{} `type:"structure"`
5187
5188	// The URI of the Docker container for the algorithm image.
5189	//
5190	// DockerURI is a required field
5191	DockerURI *string `locationName:"dockerURI" type:"string" required:"true"`
5192
5193	// The name of the algorithm image.
5194	Name *string `locationName:"name" min:"1" type:"string"`
5195}
5196
5197// String returns the string representation
5198func (s AlgorithmImage) String() string {
5199	return awsutil.Prettify(s)
5200}
5201
5202// GoString returns the string representation
5203func (s AlgorithmImage) GoString() string {
5204	return s.String()
5205}
5206
5207// SetDockerURI sets the DockerURI field's value.
5208func (s *AlgorithmImage) SetDockerURI(v string) *AlgorithmImage {
5209	s.DockerURI = &v
5210	return s
5211}
5212
5213// SetName sets the Name field's value.
5214func (s *AlgorithmImage) SetName(v string) *AlgorithmImage {
5215	s.Name = &v
5216	return s
5217}
5218
5219// When the solution performs AutoML (performAutoML is true in CreateSolution),
5220// Amazon Personalize determines which recipe, from the specified list, optimizes
5221// the given metric. Amazon Personalize then uses that recipe for the solution.
5222type AutoMLConfig struct {
5223	_ struct{} `type:"structure"`
5224
5225	// The metric to optimize.
5226	MetricName *string `locationName:"metricName" type:"string"`
5227
5228	// The list of candidate recipes.
5229	RecipeList []*string `locationName:"recipeList" type:"list"`
5230}
5231
5232// String returns the string representation
5233func (s AutoMLConfig) String() string {
5234	return awsutil.Prettify(s)
5235}
5236
5237// GoString returns the string representation
5238func (s AutoMLConfig) GoString() string {
5239	return s.String()
5240}
5241
5242// SetMetricName sets the MetricName field's value.
5243func (s *AutoMLConfig) SetMetricName(v string) *AutoMLConfig {
5244	s.MetricName = &v
5245	return s
5246}
5247
5248// SetRecipeList sets the RecipeList field's value.
5249func (s *AutoMLConfig) SetRecipeList(v []*string) *AutoMLConfig {
5250	s.RecipeList = v
5251	return s
5252}
5253
5254// When the solution performs AutoML (performAutoML is true in CreateSolution),
5255// specifies the recipe that best optimized the specified metric.
5256type AutoMLResult struct {
5257	_ struct{} `type:"structure"`
5258
5259	// The Amazon Resource Name (ARN) of the best recipe.
5260	BestRecipeArn *string `locationName:"bestRecipeArn" type:"string"`
5261}
5262
5263// String returns the string representation
5264func (s AutoMLResult) String() string {
5265	return awsutil.Prettify(s)
5266}
5267
5268// GoString returns the string representation
5269func (s AutoMLResult) GoString() string {
5270	return s.String()
5271}
5272
5273// SetBestRecipeArn sets the BestRecipeArn field's value.
5274func (s *AutoMLResult) SetBestRecipeArn(v string) *AutoMLResult {
5275	s.BestRecipeArn = &v
5276	return s
5277}
5278
5279// Contains information on a batch inference job.
5280type BatchInferenceJob struct {
5281	_ struct{} `type:"structure"`
5282
5283	// The Amazon Resource Name (ARN) of the batch inference job.
5284	BatchInferenceJobArn *string `locationName:"batchInferenceJobArn" type:"string"`
5285
5286	// A string to string map of the configuration details of a batch inference
5287	// job.
5288	BatchInferenceJobConfig *BatchInferenceJobConfig `locationName:"batchInferenceJobConfig" type:"structure"`
5289
5290	// The time at which the batch inference job was created.
5291	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
5292
5293	// If the batch inference job failed, the reason for the failure.
5294	FailureReason *string `locationName:"failureReason" type:"string"`
5295
5296	// The ARN of the filter used on the batch inference job.
5297	FilterArn *string `locationName:"filterArn" type:"string"`
5298
5299	// The Amazon S3 path that leads to the input data used to generate the batch
5300	// inference job.
5301	JobInput *BatchInferenceJobInput `locationName:"jobInput" type:"structure"`
5302
5303	// The name of the batch inference job.
5304	JobName *string `locationName:"jobName" min:"1" type:"string"`
5305
5306	// The Amazon S3 bucket that contains the output data generated by the batch
5307	// inference job.
5308	JobOutput *BatchInferenceJobOutput `locationName:"jobOutput" type:"structure"`
5309
5310	// The time at which the batch inference job was last updated.
5311	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
5312
5313	// The number of recommendations generated by the batch inference job. This
5314	// number includes the error messages generated for failed input records.
5315	NumResults *int64 `locationName:"numResults" type:"integer"`
5316
5317	// The ARN of the Amazon Identity and Access Management (IAM) role that requested
5318	// the batch inference job.
5319	RoleArn *string `locationName:"roleArn" type:"string"`
5320
5321	// The Amazon Resource Name (ARN) of the solution version from which the batch
5322	// inference job was created.
5323	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
5324
5325	// The status of the batch inference job. The status is one of the following
5326	// values:
5327	//
5328	//    * PENDING
5329	//
5330	//    * IN PROGRESS
5331	//
5332	//    * ACTIVE
5333	//
5334	//    * CREATE FAILED
5335	Status *string `locationName:"status" type:"string"`
5336}
5337
5338// String returns the string representation
5339func (s BatchInferenceJob) String() string {
5340	return awsutil.Prettify(s)
5341}
5342
5343// GoString returns the string representation
5344func (s BatchInferenceJob) GoString() string {
5345	return s.String()
5346}
5347
5348// SetBatchInferenceJobArn sets the BatchInferenceJobArn field's value.
5349func (s *BatchInferenceJob) SetBatchInferenceJobArn(v string) *BatchInferenceJob {
5350	s.BatchInferenceJobArn = &v
5351	return s
5352}
5353
5354// SetBatchInferenceJobConfig sets the BatchInferenceJobConfig field's value.
5355func (s *BatchInferenceJob) SetBatchInferenceJobConfig(v *BatchInferenceJobConfig) *BatchInferenceJob {
5356	s.BatchInferenceJobConfig = v
5357	return s
5358}
5359
5360// SetCreationDateTime sets the CreationDateTime field's value.
5361func (s *BatchInferenceJob) SetCreationDateTime(v time.Time) *BatchInferenceJob {
5362	s.CreationDateTime = &v
5363	return s
5364}
5365
5366// SetFailureReason sets the FailureReason field's value.
5367func (s *BatchInferenceJob) SetFailureReason(v string) *BatchInferenceJob {
5368	s.FailureReason = &v
5369	return s
5370}
5371
5372// SetFilterArn sets the FilterArn field's value.
5373func (s *BatchInferenceJob) SetFilterArn(v string) *BatchInferenceJob {
5374	s.FilterArn = &v
5375	return s
5376}
5377
5378// SetJobInput sets the JobInput field's value.
5379func (s *BatchInferenceJob) SetJobInput(v *BatchInferenceJobInput) *BatchInferenceJob {
5380	s.JobInput = v
5381	return s
5382}
5383
5384// SetJobName sets the JobName field's value.
5385func (s *BatchInferenceJob) SetJobName(v string) *BatchInferenceJob {
5386	s.JobName = &v
5387	return s
5388}
5389
5390// SetJobOutput sets the JobOutput field's value.
5391func (s *BatchInferenceJob) SetJobOutput(v *BatchInferenceJobOutput) *BatchInferenceJob {
5392	s.JobOutput = v
5393	return s
5394}
5395
5396// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
5397func (s *BatchInferenceJob) SetLastUpdatedDateTime(v time.Time) *BatchInferenceJob {
5398	s.LastUpdatedDateTime = &v
5399	return s
5400}
5401
5402// SetNumResults sets the NumResults field's value.
5403func (s *BatchInferenceJob) SetNumResults(v int64) *BatchInferenceJob {
5404	s.NumResults = &v
5405	return s
5406}
5407
5408// SetRoleArn sets the RoleArn field's value.
5409func (s *BatchInferenceJob) SetRoleArn(v string) *BatchInferenceJob {
5410	s.RoleArn = &v
5411	return s
5412}
5413
5414// SetSolutionVersionArn sets the SolutionVersionArn field's value.
5415func (s *BatchInferenceJob) SetSolutionVersionArn(v string) *BatchInferenceJob {
5416	s.SolutionVersionArn = &v
5417	return s
5418}
5419
5420// SetStatus sets the Status field's value.
5421func (s *BatchInferenceJob) SetStatus(v string) *BatchInferenceJob {
5422	s.Status = &v
5423	return s
5424}
5425
5426// The configuration details of a batch inference job.
5427type BatchInferenceJobConfig struct {
5428	_ struct{} `type:"structure"`
5429
5430	// A string to string map specifying the exploration configuration hyperparameters,
5431	// including explorationWeight and explorationItemAgeCutOff, you want to use
5432	// to configure the amount of item exploration Amazon Personalize uses when
5433	// recommending items. See User-Personalization (https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html).
5434	ItemExplorationConfig map[string]*string `locationName:"itemExplorationConfig" type:"map"`
5435}
5436
5437// String returns the string representation
5438func (s BatchInferenceJobConfig) String() string {
5439	return awsutil.Prettify(s)
5440}
5441
5442// GoString returns the string representation
5443func (s BatchInferenceJobConfig) GoString() string {
5444	return s.String()
5445}
5446
5447// SetItemExplorationConfig sets the ItemExplorationConfig field's value.
5448func (s *BatchInferenceJobConfig) SetItemExplorationConfig(v map[string]*string) *BatchInferenceJobConfig {
5449	s.ItemExplorationConfig = v
5450	return s
5451}
5452
5453// The input configuration of a batch inference job.
5454type BatchInferenceJobInput struct {
5455	_ struct{} `type:"structure"`
5456
5457	// The URI of the Amazon S3 location that contains your input data. The Amazon
5458	// S3 bucket must be in the same region as the API endpoint you are calling.
5459	//
5460	// S3DataSource is a required field
5461	S3DataSource *S3DataConfig `locationName:"s3DataSource" type:"structure" required:"true"`
5462}
5463
5464// String returns the string representation
5465func (s BatchInferenceJobInput) String() string {
5466	return awsutil.Prettify(s)
5467}
5468
5469// GoString returns the string representation
5470func (s BatchInferenceJobInput) GoString() string {
5471	return s.String()
5472}
5473
5474// Validate inspects the fields of the type to determine if they are valid.
5475func (s *BatchInferenceJobInput) Validate() error {
5476	invalidParams := request.ErrInvalidParams{Context: "BatchInferenceJobInput"}
5477	if s.S3DataSource == nil {
5478		invalidParams.Add(request.NewErrParamRequired("S3DataSource"))
5479	}
5480	if s.S3DataSource != nil {
5481		if err := s.S3DataSource.Validate(); err != nil {
5482			invalidParams.AddNested("S3DataSource", err.(request.ErrInvalidParams))
5483		}
5484	}
5485
5486	if invalidParams.Len() > 0 {
5487		return invalidParams
5488	}
5489	return nil
5490}
5491
5492// SetS3DataSource sets the S3DataSource field's value.
5493func (s *BatchInferenceJobInput) SetS3DataSource(v *S3DataConfig) *BatchInferenceJobInput {
5494	s.S3DataSource = v
5495	return s
5496}
5497
5498// The output configuration parameters of a batch inference job.
5499type BatchInferenceJobOutput struct {
5500	_ struct{} `type:"structure"`
5501
5502	// Information on the Amazon S3 bucket in which the batch inference job's output
5503	// is stored.
5504	//
5505	// S3DataDestination is a required field
5506	S3DataDestination *S3DataConfig `locationName:"s3DataDestination" type:"structure" required:"true"`
5507}
5508
5509// String returns the string representation
5510func (s BatchInferenceJobOutput) String() string {
5511	return awsutil.Prettify(s)
5512}
5513
5514// GoString returns the string representation
5515func (s BatchInferenceJobOutput) GoString() string {
5516	return s.String()
5517}
5518
5519// Validate inspects the fields of the type to determine if they are valid.
5520func (s *BatchInferenceJobOutput) Validate() error {
5521	invalidParams := request.ErrInvalidParams{Context: "BatchInferenceJobOutput"}
5522	if s.S3DataDestination == nil {
5523		invalidParams.Add(request.NewErrParamRequired("S3DataDestination"))
5524	}
5525	if s.S3DataDestination != nil {
5526		if err := s.S3DataDestination.Validate(); err != nil {
5527			invalidParams.AddNested("S3DataDestination", err.(request.ErrInvalidParams))
5528		}
5529	}
5530
5531	if invalidParams.Len() > 0 {
5532		return invalidParams
5533	}
5534	return nil
5535}
5536
5537// SetS3DataDestination sets the S3DataDestination field's value.
5538func (s *BatchInferenceJobOutput) SetS3DataDestination(v *S3DataConfig) *BatchInferenceJobOutput {
5539	s.S3DataDestination = v
5540	return s
5541}
5542
5543// A truncated version of the BatchInferenceJob datatype. The ListBatchInferenceJobs
5544// operation returns a list of batch inference job summaries.
5545type BatchInferenceJobSummary struct {
5546	_ struct{} `type:"structure"`
5547
5548	// The Amazon Resource Name (ARN) of the batch inference job.
5549	BatchInferenceJobArn *string `locationName:"batchInferenceJobArn" type:"string"`
5550
5551	// The time at which the batch inference job was created.
5552	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
5553
5554	// If the batch inference job failed, the reason for the failure.
5555	FailureReason *string `locationName:"failureReason" type:"string"`
5556
5557	// The name of the batch inference job.
5558	JobName *string `locationName:"jobName" min:"1" type:"string"`
5559
5560	// The time at which the batch inference job was last updated.
5561	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
5562
5563	// The ARN of the solution version used by the batch inference job.
5564	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
5565
5566	// The status of the batch inference job. The status is one of the following
5567	// values:
5568	//
5569	//    * PENDING
5570	//
5571	//    * IN PROGRESS
5572	//
5573	//    * ACTIVE
5574	//
5575	//    * CREATE FAILED
5576	Status *string `locationName:"status" type:"string"`
5577}
5578
5579// String returns the string representation
5580func (s BatchInferenceJobSummary) String() string {
5581	return awsutil.Prettify(s)
5582}
5583
5584// GoString returns the string representation
5585func (s BatchInferenceJobSummary) GoString() string {
5586	return s.String()
5587}
5588
5589// SetBatchInferenceJobArn sets the BatchInferenceJobArn field's value.
5590func (s *BatchInferenceJobSummary) SetBatchInferenceJobArn(v string) *BatchInferenceJobSummary {
5591	s.BatchInferenceJobArn = &v
5592	return s
5593}
5594
5595// SetCreationDateTime sets the CreationDateTime field's value.
5596func (s *BatchInferenceJobSummary) SetCreationDateTime(v time.Time) *BatchInferenceJobSummary {
5597	s.CreationDateTime = &v
5598	return s
5599}
5600
5601// SetFailureReason sets the FailureReason field's value.
5602func (s *BatchInferenceJobSummary) SetFailureReason(v string) *BatchInferenceJobSummary {
5603	s.FailureReason = &v
5604	return s
5605}
5606
5607// SetJobName sets the JobName field's value.
5608func (s *BatchInferenceJobSummary) SetJobName(v string) *BatchInferenceJobSummary {
5609	s.JobName = &v
5610	return s
5611}
5612
5613// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
5614func (s *BatchInferenceJobSummary) SetLastUpdatedDateTime(v time.Time) *BatchInferenceJobSummary {
5615	s.LastUpdatedDateTime = &v
5616	return s
5617}
5618
5619// SetSolutionVersionArn sets the SolutionVersionArn field's value.
5620func (s *BatchInferenceJobSummary) SetSolutionVersionArn(v string) *BatchInferenceJobSummary {
5621	s.SolutionVersionArn = &v
5622	return s
5623}
5624
5625// SetStatus sets the Status field's value.
5626func (s *BatchInferenceJobSummary) SetStatus(v string) *BatchInferenceJobSummary {
5627	s.Status = &v
5628	return s
5629}
5630
5631// Describes a deployed solution version, otherwise known as a campaign. For
5632// more information on campaigns, see CreateCampaign.
5633type Campaign struct {
5634	_ struct{} `type:"structure"`
5635
5636	// The Amazon Resource Name (ARN) of the campaign.
5637	CampaignArn *string `locationName:"campaignArn" type:"string"`
5638
5639	// The configuration details of a campaign.
5640	CampaignConfig *CampaignConfig `locationName:"campaignConfig" type:"structure"`
5641
5642	// The date and time (in Unix format) that the campaign was created.
5643	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
5644
5645	// If a campaign fails, the reason behind the failure.
5646	FailureReason *string `locationName:"failureReason" type:"string"`
5647
5648	// The date and time (in Unix format) that the campaign was last updated.
5649	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
5650
5651	// Provides a summary of the properties of a campaign update. For a complete
5652	// listing, call the DescribeCampaign API.
5653	LatestCampaignUpdate *CampaignUpdateSummary `locationName:"latestCampaignUpdate" type:"structure"`
5654
5655	// Specifies the requested minimum provisioned transactions (recommendations)
5656	// per second.
5657	MinProvisionedTPS *int64 `locationName:"minProvisionedTPS" min:"1" type:"integer"`
5658
5659	// The name of the campaign.
5660	Name *string `locationName:"name" min:"1" type:"string"`
5661
5662	// The Amazon Resource Name (ARN) of a specific version of the solution.
5663	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
5664
5665	// The status of the campaign.
5666	//
5667	// A campaign can be in one of the following states:
5668	//
5669	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
5670	//
5671	//    * DELETE PENDING > DELETE IN_PROGRESS
5672	Status *string `locationName:"status" type:"string"`
5673}
5674
5675// String returns the string representation
5676func (s Campaign) String() string {
5677	return awsutil.Prettify(s)
5678}
5679
5680// GoString returns the string representation
5681func (s Campaign) GoString() string {
5682	return s.String()
5683}
5684
5685// SetCampaignArn sets the CampaignArn field's value.
5686func (s *Campaign) SetCampaignArn(v string) *Campaign {
5687	s.CampaignArn = &v
5688	return s
5689}
5690
5691// SetCampaignConfig sets the CampaignConfig field's value.
5692func (s *Campaign) SetCampaignConfig(v *CampaignConfig) *Campaign {
5693	s.CampaignConfig = v
5694	return s
5695}
5696
5697// SetCreationDateTime sets the CreationDateTime field's value.
5698func (s *Campaign) SetCreationDateTime(v time.Time) *Campaign {
5699	s.CreationDateTime = &v
5700	return s
5701}
5702
5703// SetFailureReason sets the FailureReason field's value.
5704func (s *Campaign) SetFailureReason(v string) *Campaign {
5705	s.FailureReason = &v
5706	return s
5707}
5708
5709// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
5710func (s *Campaign) SetLastUpdatedDateTime(v time.Time) *Campaign {
5711	s.LastUpdatedDateTime = &v
5712	return s
5713}
5714
5715// SetLatestCampaignUpdate sets the LatestCampaignUpdate field's value.
5716func (s *Campaign) SetLatestCampaignUpdate(v *CampaignUpdateSummary) *Campaign {
5717	s.LatestCampaignUpdate = v
5718	return s
5719}
5720
5721// SetMinProvisionedTPS sets the MinProvisionedTPS field's value.
5722func (s *Campaign) SetMinProvisionedTPS(v int64) *Campaign {
5723	s.MinProvisionedTPS = &v
5724	return s
5725}
5726
5727// SetName sets the Name field's value.
5728func (s *Campaign) SetName(v string) *Campaign {
5729	s.Name = &v
5730	return s
5731}
5732
5733// SetSolutionVersionArn sets the SolutionVersionArn field's value.
5734func (s *Campaign) SetSolutionVersionArn(v string) *Campaign {
5735	s.SolutionVersionArn = &v
5736	return s
5737}
5738
5739// SetStatus sets the Status field's value.
5740func (s *Campaign) SetStatus(v string) *Campaign {
5741	s.Status = &v
5742	return s
5743}
5744
5745// The configuration details of a campaign.
5746type CampaignConfig struct {
5747	_ struct{} `type:"structure"`
5748
5749	// A string to string map specifying the exploration configuration hyperparameters,
5750	// including explorationWeight and explorationItemAgeCutOff, you want to use
5751	// to configure the amount of item exploration Amazon Personalize uses when
5752	// recommending items. Provide itemExplorationConfig data only if your solution
5753	// uses the User-Personalization (https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html)
5754	// recipe.
5755	ItemExplorationConfig map[string]*string `locationName:"itemExplorationConfig" type:"map"`
5756}
5757
5758// String returns the string representation
5759func (s CampaignConfig) String() string {
5760	return awsutil.Prettify(s)
5761}
5762
5763// GoString returns the string representation
5764func (s CampaignConfig) GoString() string {
5765	return s.String()
5766}
5767
5768// SetItemExplorationConfig sets the ItemExplorationConfig field's value.
5769func (s *CampaignConfig) SetItemExplorationConfig(v map[string]*string) *CampaignConfig {
5770	s.ItemExplorationConfig = v
5771	return s
5772}
5773
5774// Provides a summary of the properties of a campaign. For a complete listing,
5775// call the DescribeCampaign API.
5776type CampaignSummary struct {
5777	_ struct{} `type:"structure"`
5778
5779	// The Amazon Resource Name (ARN) of the campaign.
5780	CampaignArn *string `locationName:"campaignArn" type:"string"`
5781
5782	// The date and time (in Unix time) that the campaign was created.
5783	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
5784
5785	// If a campaign fails, the reason behind the failure.
5786	FailureReason *string `locationName:"failureReason" type:"string"`
5787
5788	// The date and time (in Unix time) that the campaign was last updated.
5789	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
5790
5791	// The name of the campaign.
5792	Name *string `locationName:"name" min:"1" type:"string"`
5793
5794	// The status of the campaign.
5795	//
5796	// A campaign can be in one of the following states:
5797	//
5798	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
5799	//
5800	//    * DELETE PENDING > DELETE IN_PROGRESS
5801	Status *string `locationName:"status" type:"string"`
5802}
5803
5804// String returns the string representation
5805func (s CampaignSummary) String() string {
5806	return awsutil.Prettify(s)
5807}
5808
5809// GoString returns the string representation
5810func (s CampaignSummary) GoString() string {
5811	return s.String()
5812}
5813
5814// SetCampaignArn sets the CampaignArn field's value.
5815func (s *CampaignSummary) SetCampaignArn(v string) *CampaignSummary {
5816	s.CampaignArn = &v
5817	return s
5818}
5819
5820// SetCreationDateTime sets the CreationDateTime field's value.
5821func (s *CampaignSummary) SetCreationDateTime(v time.Time) *CampaignSummary {
5822	s.CreationDateTime = &v
5823	return s
5824}
5825
5826// SetFailureReason sets the FailureReason field's value.
5827func (s *CampaignSummary) SetFailureReason(v string) *CampaignSummary {
5828	s.FailureReason = &v
5829	return s
5830}
5831
5832// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
5833func (s *CampaignSummary) SetLastUpdatedDateTime(v time.Time) *CampaignSummary {
5834	s.LastUpdatedDateTime = &v
5835	return s
5836}
5837
5838// SetName sets the Name field's value.
5839func (s *CampaignSummary) SetName(v string) *CampaignSummary {
5840	s.Name = &v
5841	return s
5842}
5843
5844// SetStatus sets the Status field's value.
5845func (s *CampaignSummary) SetStatus(v string) *CampaignSummary {
5846	s.Status = &v
5847	return s
5848}
5849
5850// Provides a summary of the properties of a campaign update. For a complete
5851// listing, call the DescribeCampaign API.
5852type CampaignUpdateSummary struct {
5853	_ struct{} `type:"structure"`
5854
5855	// The configuration details of a campaign.
5856	CampaignConfig *CampaignConfig `locationName:"campaignConfig" type:"structure"`
5857
5858	// The date and time (in Unix time) that the campaign update was created.
5859	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
5860
5861	// If a campaign update fails, the reason behind the failure.
5862	FailureReason *string `locationName:"failureReason" type:"string"`
5863
5864	// The date and time (in Unix time) that the campaign update was last updated.
5865	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
5866
5867	// Specifies the requested minimum provisioned transactions (recommendations)
5868	// per second that Amazon Personalize will support.
5869	MinProvisionedTPS *int64 `locationName:"minProvisionedTPS" min:"1" type:"integer"`
5870
5871	// The Amazon Resource Name (ARN) of the deployed solution version.
5872	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
5873
5874	// The status of the campaign update.
5875	//
5876	// A campaign update can be in one of the following states:
5877	//
5878	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
5879	//
5880	//    * DELETE PENDING > DELETE IN_PROGRESS
5881	Status *string `locationName:"status" type:"string"`
5882}
5883
5884// String returns the string representation
5885func (s CampaignUpdateSummary) String() string {
5886	return awsutil.Prettify(s)
5887}
5888
5889// GoString returns the string representation
5890func (s CampaignUpdateSummary) GoString() string {
5891	return s.String()
5892}
5893
5894// SetCampaignConfig sets the CampaignConfig field's value.
5895func (s *CampaignUpdateSummary) SetCampaignConfig(v *CampaignConfig) *CampaignUpdateSummary {
5896	s.CampaignConfig = v
5897	return s
5898}
5899
5900// SetCreationDateTime sets the CreationDateTime field's value.
5901func (s *CampaignUpdateSummary) SetCreationDateTime(v time.Time) *CampaignUpdateSummary {
5902	s.CreationDateTime = &v
5903	return s
5904}
5905
5906// SetFailureReason sets the FailureReason field's value.
5907func (s *CampaignUpdateSummary) SetFailureReason(v string) *CampaignUpdateSummary {
5908	s.FailureReason = &v
5909	return s
5910}
5911
5912// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
5913func (s *CampaignUpdateSummary) SetLastUpdatedDateTime(v time.Time) *CampaignUpdateSummary {
5914	s.LastUpdatedDateTime = &v
5915	return s
5916}
5917
5918// SetMinProvisionedTPS sets the MinProvisionedTPS field's value.
5919func (s *CampaignUpdateSummary) SetMinProvisionedTPS(v int64) *CampaignUpdateSummary {
5920	s.MinProvisionedTPS = &v
5921	return s
5922}
5923
5924// SetSolutionVersionArn sets the SolutionVersionArn field's value.
5925func (s *CampaignUpdateSummary) SetSolutionVersionArn(v string) *CampaignUpdateSummary {
5926	s.SolutionVersionArn = &v
5927	return s
5928}
5929
5930// SetStatus sets the Status field's value.
5931func (s *CampaignUpdateSummary) SetStatus(v string) *CampaignUpdateSummary {
5932	s.Status = &v
5933	return s
5934}
5935
5936// Provides the name and range of a categorical hyperparameter.
5937type CategoricalHyperParameterRange struct {
5938	_ struct{} `type:"structure"`
5939
5940	// The name of the hyperparameter.
5941	Name *string `locationName:"name" type:"string"`
5942
5943	// A list of the categories for the hyperparameter.
5944	Values []*string `locationName:"values" type:"list"`
5945}
5946
5947// String returns the string representation
5948func (s CategoricalHyperParameterRange) String() string {
5949	return awsutil.Prettify(s)
5950}
5951
5952// GoString returns the string representation
5953func (s CategoricalHyperParameterRange) GoString() string {
5954	return s.String()
5955}
5956
5957// SetName sets the Name field's value.
5958func (s *CategoricalHyperParameterRange) SetName(v string) *CategoricalHyperParameterRange {
5959	s.Name = &v
5960	return s
5961}
5962
5963// SetValues sets the Values field's value.
5964func (s *CategoricalHyperParameterRange) SetValues(v []*string) *CategoricalHyperParameterRange {
5965	s.Values = v
5966	return s
5967}
5968
5969// Provides the name and range of a continuous hyperparameter.
5970type ContinuousHyperParameterRange struct {
5971	_ struct{} `type:"structure"`
5972
5973	// The maximum allowable value for the hyperparameter.
5974	MaxValue *float64 `locationName:"maxValue" type:"double"`
5975
5976	// The minimum allowable value for the hyperparameter.
5977	MinValue *float64 `locationName:"minValue" type:"double"`
5978
5979	// The name of the hyperparameter.
5980	Name *string `locationName:"name" type:"string"`
5981}
5982
5983// String returns the string representation
5984func (s ContinuousHyperParameterRange) String() string {
5985	return awsutil.Prettify(s)
5986}
5987
5988// GoString returns the string representation
5989func (s ContinuousHyperParameterRange) GoString() string {
5990	return s.String()
5991}
5992
5993// Validate inspects the fields of the type to determine if they are valid.
5994func (s *ContinuousHyperParameterRange) Validate() error {
5995	invalidParams := request.ErrInvalidParams{Context: "ContinuousHyperParameterRange"}
5996	if s.MaxValue != nil && *s.MaxValue < -1e+06 {
5997		invalidParams.Add(request.NewErrParamMinValue("MaxValue", -1e+06))
5998	}
5999	if s.MinValue != nil && *s.MinValue < -1e+06 {
6000		invalidParams.Add(request.NewErrParamMinValue("MinValue", -1e+06))
6001	}
6002
6003	if invalidParams.Len() > 0 {
6004		return invalidParams
6005	}
6006	return nil
6007}
6008
6009// SetMaxValue sets the MaxValue field's value.
6010func (s *ContinuousHyperParameterRange) SetMaxValue(v float64) *ContinuousHyperParameterRange {
6011	s.MaxValue = &v
6012	return s
6013}
6014
6015// SetMinValue sets the MinValue field's value.
6016func (s *ContinuousHyperParameterRange) SetMinValue(v float64) *ContinuousHyperParameterRange {
6017	s.MinValue = &v
6018	return s
6019}
6020
6021// SetName sets the Name field's value.
6022func (s *ContinuousHyperParameterRange) SetName(v string) *ContinuousHyperParameterRange {
6023	s.Name = &v
6024	return s
6025}
6026
6027type CreateBatchInferenceJobInput struct {
6028	_ struct{} `type:"structure"`
6029
6030	// The configuration details of a batch inference job.
6031	BatchInferenceJobConfig *BatchInferenceJobConfig `locationName:"batchInferenceJobConfig" type:"structure"`
6032
6033	// The ARN of the filter to apply to the batch inference job. For more information
6034	// on using filters, see Filtering Batch Recommendations (https://docs.aws.amazon.com/personalize/latest/dg/filter-batch.html)..
6035	FilterArn *string `locationName:"filterArn" type:"string"`
6036
6037	// The Amazon S3 path that leads to the input file to base your recommendations
6038	// on. The input material must be in JSON format.
6039	//
6040	// JobInput is a required field
6041	JobInput *BatchInferenceJobInput `locationName:"jobInput" type:"structure" required:"true"`
6042
6043	// The name of the batch inference job to create.
6044	//
6045	// JobName is a required field
6046	JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"`
6047
6048	// The path to the Amazon S3 bucket where the job's output will be stored.
6049	//
6050	// JobOutput is a required field
6051	JobOutput *BatchInferenceJobOutput `locationName:"jobOutput" type:"structure" required:"true"`
6052
6053	// The number of recommendations to retreive.
6054	NumResults *int64 `locationName:"numResults" type:"integer"`
6055
6056	// The ARN of the Amazon Identity and Access Management role that has permissions
6057	// to read and write to your input and output Amazon S3 buckets respectively.
6058	//
6059	// RoleArn is a required field
6060	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
6061
6062	// The Amazon Resource Name (ARN) of the solution version that will be used
6063	// to generate the batch inference recommendations.
6064	//
6065	// SolutionVersionArn is a required field
6066	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string" required:"true"`
6067}
6068
6069// String returns the string representation
6070func (s CreateBatchInferenceJobInput) String() string {
6071	return awsutil.Prettify(s)
6072}
6073
6074// GoString returns the string representation
6075func (s CreateBatchInferenceJobInput) GoString() string {
6076	return s.String()
6077}
6078
6079// Validate inspects the fields of the type to determine if they are valid.
6080func (s *CreateBatchInferenceJobInput) Validate() error {
6081	invalidParams := request.ErrInvalidParams{Context: "CreateBatchInferenceJobInput"}
6082	if s.JobInput == nil {
6083		invalidParams.Add(request.NewErrParamRequired("JobInput"))
6084	}
6085	if s.JobName == nil {
6086		invalidParams.Add(request.NewErrParamRequired("JobName"))
6087	}
6088	if s.JobName != nil && len(*s.JobName) < 1 {
6089		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
6090	}
6091	if s.JobOutput == nil {
6092		invalidParams.Add(request.NewErrParamRequired("JobOutput"))
6093	}
6094	if s.RoleArn == nil {
6095		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
6096	}
6097	if s.SolutionVersionArn == nil {
6098		invalidParams.Add(request.NewErrParamRequired("SolutionVersionArn"))
6099	}
6100	if s.JobInput != nil {
6101		if err := s.JobInput.Validate(); err != nil {
6102			invalidParams.AddNested("JobInput", err.(request.ErrInvalidParams))
6103		}
6104	}
6105	if s.JobOutput != nil {
6106		if err := s.JobOutput.Validate(); err != nil {
6107			invalidParams.AddNested("JobOutput", err.(request.ErrInvalidParams))
6108		}
6109	}
6110
6111	if invalidParams.Len() > 0 {
6112		return invalidParams
6113	}
6114	return nil
6115}
6116
6117// SetBatchInferenceJobConfig sets the BatchInferenceJobConfig field's value.
6118func (s *CreateBatchInferenceJobInput) SetBatchInferenceJobConfig(v *BatchInferenceJobConfig) *CreateBatchInferenceJobInput {
6119	s.BatchInferenceJobConfig = v
6120	return s
6121}
6122
6123// SetFilterArn sets the FilterArn field's value.
6124func (s *CreateBatchInferenceJobInput) SetFilterArn(v string) *CreateBatchInferenceJobInput {
6125	s.FilterArn = &v
6126	return s
6127}
6128
6129// SetJobInput sets the JobInput field's value.
6130func (s *CreateBatchInferenceJobInput) SetJobInput(v *BatchInferenceJobInput) *CreateBatchInferenceJobInput {
6131	s.JobInput = v
6132	return s
6133}
6134
6135// SetJobName sets the JobName field's value.
6136func (s *CreateBatchInferenceJobInput) SetJobName(v string) *CreateBatchInferenceJobInput {
6137	s.JobName = &v
6138	return s
6139}
6140
6141// SetJobOutput sets the JobOutput field's value.
6142func (s *CreateBatchInferenceJobInput) SetJobOutput(v *BatchInferenceJobOutput) *CreateBatchInferenceJobInput {
6143	s.JobOutput = v
6144	return s
6145}
6146
6147// SetNumResults sets the NumResults field's value.
6148func (s *CreateBatchInferenceJobInput) SetNumResults(v int64) *CreateBatchInferenceJobInput {
6149	s.NumResults = &v
6150	return s
6151}
6152
6153// SetRoleArn sets the RoleArn field's value.
6154func (s *CreateBatchInferenceJobInput) SetRoleArn(v string) *CreateBatchInferenceJobInput {
6155	s.RoleArn = &v
6156	return s
6157}
6158
6159// SetSolutionVersionArn sets the SolutionVersionArn field's value.
6160func (s *CreateBatchInferenceJobInput) SetSolutionVersionArn(v string) *CreateBatchInferenceJobInput {
6161	s.SolutionVersionArn = &v
6162	return s
6163}
6164
6165type CreateBatchInferenceJobOutput struct {
6166	_ struct{} `type:"structure"`
6167
6168	// The ARN of the batch inference job.
6169	BatchInferenceJobArn *string `locationName:"batchInferenceJobArn" type:"string"`
6170}
6171
6172// String returns the string representation
6173func (s CreateBatchInferenceJobOutput) String() string {
6174	return awsutil.Prettify(s)
6175}
6176
6177// GoString returns the string representation
6178func (s CreateBatchInferenceJobOutput) GoString() string {
6179	return s.String()
6180}
6181
6182// SetBatchInferenceJobArn sets the BatchInferenceJobArn field's value.
6183func (s *CreateBatchInferenceJobOutput) SetBatchInferenceJobArn(v string) *CreateBatchInferenceJobOutput {
6184	s.BatchInferenceJobArn = &v
6185	return s
6186}
6187
6188type CreateCampaignInput struct {
6189	_ struct{} `type:"structure"`
6190
6191	// The configuration details of a campaign.
6192	CampaignConfig *CampaignConfig `locationName:"campaignConfig" type:"structure"`
6193
6194	// Specifies the requested minimum provisioned transactions (recommendations)
6195	// per second that Amazon Personalize will support.
6196	MinProvisionedTPS *int64 `locationName:"minProvisionedTPS" min:"1" type:"integer"`
6197
6198	// A name for the new campaign. The campaign name must be unique within your
6199	// account.
6200	//
6201	// Name is a required field
6202	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6203
6204	// The Amazon Resource Name (ARN) of the solution version to deploy.
6205	//
6206	// SolutionVersionArn is a required field
6207	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string" required:"true"`
6208}
6209
6210// String returns the string representation
6211func (s CreateCampaignInput) String() string {
6212	return awsutil.Prettify(s)
6213}
6214
6215// GoString returns the string representation
6216func (s CreateCampaignInput) GoString() string {
6217	return s.String()
6218}
6219
6220// Validate inspects the fields of the type to determine if they are valid.
6221func (s *CreateCampaignInput) Validate() error {
6222	invalidParams := request.ErrInvalidParams{Context: "CreateCampaignInput"}
6223	if s.MinProvisionedTPS != nil && *s.MinProvisionedTPS < 1 {
6224		invalidParams.Add(request.NewErrParamMinValue("MinProvisionedTPS", 1))
6225	}
6226	if s.Name == nil {
6227		invalidParams.Add(request.NewErrParamRequired("Name"))
6228	}
6229	if s.Name != nil && len(*s.Name) < 1 {
6230		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6231	}
6232	if s.SolutionVersionArn == nil {
6233		invalidParams.Add(request.NewErrParamRequired("SolutionVersionArn"))
6234	}
6235
6236	if invalidParams.Len() > 0 {
6237		return invalidParams
6238	}
6239	return nil
6240}
6241
6242// SetCampaignConfig sets the CampaignConfig field's value.
6243func (s *CreateCampaignInput) SetCampaignConfig(v *CampaignConfig) *CreateCampaignInput {
6244	s.CampaignConfig = v
6245	return s
6246}
6247
6248// SetMinProvisionedTPS sets the MinProvisionedTPS field's value.
6249func (s *CreateCampaignInput) SetMinProvisionedTPS(v int64) *CreateCampaignInput {
6250	s.MinProvisionedTPS = &v
6251	return s
6252}
6253
6254// SetName sets the Name field's value.
6255func (s *CreateCampaignInput) SetName(v string) *CreateCampaignInput {
6256	s.Name = &v
6257	return s
6258}
6259
6260// SetSolutionVersionArn sets the SolutionVersionArn field's value.
6261func (s *CreateCampaignInput) SetSolutionVersionArn(v string) *CreateCampaignInput {
6262	s.SolutionVersionArn = &v
6263	return s
6264}
6265
6266type CreateCampaignOutput struct {
6267	_ struct{} `type:"structure"`
6268
6269	// The Amazon Resource Name (ARN) of the campaign.
6270	CampaignArn *string `locationName:"campaignArn" type:"string"`
6271}
6272
6273// String returns the string representation
6274func (s CreateCampaignOutput) String() string {
6275	return awsutil.Prettify(s)
6276}
6277
6278// GoString returns the string representation
6279func (s CreateCampaignOutput) GoString() string {
6280	return s.String()
6281}
6282
6283// SetCampaignArn sets the CampaignArn field's value.
6284func (s *CreateCampaignOutput) SetCampaignArn(v string) *CreateCampaignOutput {
6285	s.CampaignArn = &v
6286	return s
6287}
6288
6289type CreateDatasetExportJobInput struct {
6290	_ struct{} `type:"structure"`
6291
6292	// The Amazon Resource Name (ARN) of the dataset that contains the data to export.
6293	//
6294	// DatasetArn is a required field
6295	DatasetArn *string `locationName:"datasetArn" type:"string" required:"true"`
6296
6297	// The data to export, based on how you imported the data. You can choose to
6298	// export only BULK data that you imported using a dataset import job, only
6299	// PUT data that you imported incrementally (using the console, PutEvents, PutUsers
6300	// and PutItems operations), or ALL for both types. The default value is PUT.
6301	IngestionMode *string `locationName:"ingestionMode" type:"string" enum:"IngestionMode"`
6302
6303	// The name for the dataset export job.
6304	//
6305	// JobName is a required field
6306	JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"`
6307
6308	// The path to the Amazon S3 bucket where the job's output is stored.
6309	//
6310	// JobOutput is a required field
6311	JobOutput *DatasetExportJobOutput `locationName:"jobOutput" type:"structure" required:"true"`
6312
6313	// The Amazon Resource Name (ARN) of the IAM service role that has permissions
6314	// to add data to your output Amazon S3 bucket.
6315	//
6316	// RoleArn is a required field
6317	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
6318}
6319
6320// String returns the string representation
6321func (s CreateDatasetExportJobInput) String() string {
6322	return awsutil.Prettify(s)
6323}
6324
6325// GoString returns the string representation
6326func (s CreateDatasetExportJobInput) GoString() string {
6327	return s.String()
6328}
6329
6330// Validate inspects the fields of the type to determine if they are valid.
6331func (s *CreateDatasetExportJobInput) Validate() error {
6332	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetExportJobInput"}
6333	if s.DatasetArn == nil {
6334		invalidParams.Add(request.NewErrParamRequired("DatasetArn"))
6335	}
6336	if s.JobName == nil {
6337		invalidParams.Add(request.NewErrParamRequired("JobName"))
6338	}
6339	if s.JobName != nil && len(*s.JobName) < 1 {
6340		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
6341	}
6342	if s.JobOutput == nil {
6343		invalidParams.Add(request.NewErrParamRequired("JobOutput"))
6344	}
6345	if s.RoleArn == nil {
6346		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
6347	}
6348	if s.JobOutput != nil {
6349		if err := s.JobOutput.Validate(); err != nil {
6350			invalidParams.AddNested("JobOutput", err.(request.ErrInvalidParams))
6351		}
6352	}
6353
6354	if invalidParams.Len() > 0 {
6355		return invalidParams
6356	}
6357	return nil
6358}
6359
6360// SetDatasetArn sets the DatasetArn field's value.
6361func (s *CreateDatasetExportJobInput) SetDatasetArn(v string) *CreateDatasetExportJobInput {
6362	s.DatasetArn = &v
6363	return s
6364}
6365
6366// SetIngestionMode sets the IngestionMode field's value.
6367func (s *CreateDatasetExportJobInput) SetIngestionMode(v string) *CreateDatasetExportJobInput {
6368	s.IngestionMode = &v
6369	return s
6370}
6371
6372// SetJobName sets the JobName field's value.
6373func (s *CreateDatasetExportJobInput) SetJobName(v string) *CreateDatasetExportJobInput {
6374	s.JobName = &v
6375	return s
6376}
6377
6378// SetJobOutput sets the JobOutput field's value.
6379func (s *CreateDatasetExportJobInput) SetJobOutput(v *DatasetExportJobOutput) *CreateDatasetExportJobInput {
6380	s.JobOutput = v
6381	return s
6382}
6383
6384// SetRoleArn sets the RoleArn field's value.
6385func (s *CreateDatasetExportJobInput) SetRoleArn(v string) *CreateDatasetExportJobInput {
6386	s.RoleArn = &v
6387	return s
6388}
6389
6390type CreateDatasetExportJobOutput struct {
6391	_ struct{} `type:"structure"`
6392
6393	// The Amazon Resource Name (ARN) of the dataset export job.
6394	DatasetExportJobArn *string `locationName:"datasetExportJobArn" type:"string"`
6395}
6396
6397// String returns the string representation
6398func (s CreateDatasetExportJobOutput) String() string {
6399	return awsutil.Prettify(s)
6400}
6401
6402// GoString returns the string representation
6403func (s CreateDatasetExportJobOutput) GoString() string {
6404	return s.String()
6405}
6406
6407// SetDatasetExportJobArn sets the DatasetExportJobArn field's value.
6408func (s *CreateDatasetExportJobOutput) SetDatasetExportJobArn(v string) *CreateDatasetExportJobOutput {
6409	s.DatasetExportJobArn = &v
6410	return s
6411}
6412
6413type CreateDatasetGroupInput struct {
6414	_ struct{} `type:"structure"`
6415
6416	// The Amazon Resource Name (ARN) of a Key Management Service (KMS) key used
6417	// to encrypt the datasets.
6418	KmsKeyArn *string `locationName:"kmsKeyArn" type:"string"`
6419
6420	// The name for the new dataset group.
6421	//
6422	// Name is a required field
6423	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6424
6425	// The ARN of the Identity and Access Management (IAM) role that has permissions
6426	// to access the Key Management Service (KMS) key. Supplying an IAM role is
6427	// only valid when also specifying a KMS key.
6428	RoleArn *string `locationName:"roleArn" type:"string"`
6429}
6430
6431// String returns the string representation
6432func (s CreateDatasetGroupInput) String() string {
6433	return awsutil.Prettify(s)
6434}
6435
6436// GoString returns the string representation
6437func (s CreateDatasetGroupInput) GoString() string {
6438	return s.String()
6439}
6440
6441// Validate inspects the fields of the type to determine if they are valid.
6442func (s *CreateDatasetGroupInput) Validate() error {
6443	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetGroupInput"}
6444	if s.Name == nil {
6445		invalidParams.Add(request.NewErrParamRequired("Name"))
6446	}
6447	if s.Name != nil && len(*s.Name) < 1 {
6448		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6449	}
6450
6451	if invalidParams.Len() > 0 {
6452		return invalidParams
6453	}
6454	return nil
6455}
6456
6457// SetKmsKeyArn sets the KmsKeyArn field's value.
6458func (s *CreateDatasetGroupInput) SetKmsKeyArn(v string) *CreateDatasetGroupInput {
6459	s.KmsKeyArn = &v
6460	return s
6461}
6462
6463// SetName sets the Name field's value.
6464func (s *CreateDatasetGroupInput) SetName(v string) *CreateDatasetGroupInput {
6465	s.Name = &v
6466	return s
6467}
6468
6469// SetRoleArn sets the RoleArn field's value.
6470func (s *CreateDatasetGroupInput) SetRoleArn(v string) *CreateDatasetGroupInput {
6471	s.RoleArn = &v
6472	return s
6473}
6474
6475type CreateDatasetGroupOutput struct {
6476	_ struct{} `type:"structure"`
6477
6478	// The Amazon Resource Name (ARN) of the new dataset group.
6479	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
6480}
6481
6482// String returns the string representation
6483func (s CreateDatasetGroupOutput) String() string {
6484	return awsutil.Prettify(s)
6485}
6486
6487// GoString returns the string representation
6488func (s CreateDatasetGroupOutput) GoString() string {
6489	return s.String()
6490}
6491
6492// SetDatasetGroupArn sets the DatasetGroupArn field's value.
6493func (s *CreateDatasetGroupOutput) SetDatasetGroupArn(v string) *CreateDatasetGroupOutput {
6494	s.DatasetGroupArn = &v
6495	return s
6496}
6497
6498type CreateDatasetImportJobInput struct {
6499	_ struct{} `type:"structure"`
6500
6501	// The Amazon S3 bucket that contains the training data to import.
6502	//
6503	// DataSource is a required field
6504	DataSource *DataSource `locationName:"dataSource" type:"structure" required:"true"`
6505
6506	// The ARN of the dataset that receives the imported data.
6507	//
6508	// DatasetArn is a required field
6509	DatasetArn *string `locationName:"datasetArn" type:"string" required:"true"`
6510
6511	// The name for the dataset import job.
6512	//
6513	// JobName is a required field
6514	JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"`
6515
6516	// The ARN of the IAM role that has permissions to read from the Amazon S3 data
6517	// source.
6518	//
6519	// RoleArn is a required field
6520	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
6521}
6522
6523// String returns the string representation
6524func (s CreateDatasetImportJobInput) String() string {
6525	return awsutil.Prettify(s)
6526}
6527
6528// GoString returns the string representation
6529func (s CreateDatasetImportJobInput) GoString() string {
6530	return s.String()
6531}
6532
6533// Validate inspects the fields of the type to determine if they are valid.
6534func (s *CreateDatasetImportJobInput) Validate() error {
6535	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetImportJobInput"}
6536	if s.DataSource == nil {
6537		invalidParams.Add(request.NewErrParamRequired("DataSource"))
6538	}
6539	if s.DatasetArn == nil {
6540		invalidParams.Add(request.NewErrParamRequired("DatasetArn"))
6541	}
6542	if s.JobName == nil {
6543		invalidParams.Add(request.NewErrParamRequired("JobName"))
6544	}
6545	if s.JobName != nil && len(*s.JobName) < 1 {
6546		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
6547	}
6548	if s.RoleArn == nil {
6549		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
6550	}
6551
6552	if invalidParams.Len() > 0 {
6553		return invalidParams
6554	}
6555	return nil
6556}
6557
6558// SetDataSource sets the DataSource field's value.
6559func (s *CreateDatasetImportJobInput) SetDataSource(v *DataSource) *CreateDatasetImportJobInput {
6560	s.DataSource = v
6561	return s
6562}
6563
6564// SetDatasetArn sets the DatasetArn field's value.
6565func (s *CreateDatasetImportJobInput) SetDatasetArn(v string) *CreateDatasetImportJobInput {
6566	s.DatasetArn = &v
6567	return s
6568}
6569
6570// SetJobName sets the JobName field's value.
6571func (s *CreateDatasetImportJobInput) SetJobName(v string) *CreateDatasetImportJobInput {
6572	s.JobName = &v
6573	return s
6574}
6575
6576// SetRoleArn sets the RoleArn field's value.
6577func (s *CreateDatasetImportJobInput) SetRoleArn(v string) *CreateDatasetImportJobInput {
6578	s.RoleArn = &v
6579	return s
6580}
6581
6582type CreateDatasetImportJobOutput struct {
6583	_ struct{} `type:"structure"`
6584
6585	// The ARN of the dataset import job.
6586	DatasetImportJobArn *string `locationName:"datasetImportJobArn" type:"string"`
6587}
6588
6589// String returns the string representation
6590func (s CreateDatasetImportJobOutput) String() string {
6591	return awsutil.Prettify(s)
6592}
6593
6594// GoString returns the string representation
6595func (s CreateDatasetImportJobOutput) GoString() string {
6596	return s.String()
6597}
6598
6599// SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
6600func (s *CreateDatasetImportJobOutput) SetDatasetImportJobArn(v string) *CreateDatasetImportJobOutput {
6601	s.DatasetImportJobArn = &v
6602	return s
6603}
6604
6605type CreateDatasetInput struct {
6606	_ struct{} `type:"structure"`
6607
6608	// The Amazon Resource Name (ARN) of the dataset group to add the dataset to.
6609	//
6610	// DatasetGroupArn is a required field
6611	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"`
6612
6613	// The type of dataset.
6614	//
6615	// One of the following (case insensitive) values:
6616	//
6617	//    * Interactions
6618	//
6619	//    * Items
6620	//
6621	//    * Users
6622	//
6623	// DatasetType is a required field
6624	DatasetType *string `locationName:"datasetType" type:"string" required:"true"`
6625
6626	// The name for the dataset.
6627	//
6628	// Name is a required field
6629	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6630
6631	// The ARN of the schema to associate with the dataset. The schema defines the
6632	// dataset fields.
6633	//
6634	// SchemaArn is a required field
6635	SchemaArn *string `locationName:"schemaArn" type:"string" required:"true"`
6636}
6637
6638// String returns the string representation
6639func (s CreateDatasetInput) String() string {
6640	return awsutil.Prettify(s)
6641}
6642
6643// GoString returns the string representation
6644func (s CreateDatasetInput) GoString() string {
6645	return s.String()
6646}
6647
6648// Validate inspects the fields of the type to determine if they are valid.
6649func (s *CreateDatasetInput) Validate() error {
6650	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetInput"}
6651	if s.DatasetGroupArn == nil {
6652		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
6653	}
6654	if s.DatasetType == nil {
6655		invalidParams.Add(request.NewErrParamRequired("DatasetType"))
6656	}
6657	if s.Name == nil {
6658		invalidParams.Add(request.NewErrParamRequired("Name"))
6659	}
6660	if s.Name != nil && len(*s.Name) < 1 {
6661		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6662	}
6663	if s.SchemaArn == nil {
6664		invalidParams.Add(request.NewErrParamRequired("SchemaArn"))
6665	}
6666
6667	if invalidParams.Len() > 0 {
6668		return invalidParams
6669	}
6670	return nil
6671}
6672
6673// SetDatasetGroupArn sets the DatasetGroupArn field's value.
6674func (s *CreateDatasetInput) SetDatasetGroupArn(v string) *CreateDatasetInput {
6675	s.DatasetGroupArn = &v
6676	return s
6677}
6678
6679// SetDatasetType sets the DatasetType field's value.
6680func (s *CreateDatasetInput) SetDatasetType(v string) *CreateDatasetInput {
6681	s.DatasetType = &v
6682	return s
6683}
6684
6685// SetName sets the Name field's value.
6686func (s *CreateDatasetInput) SetName(v string) *CreateDatasetInput {
6687	s.Name = &v
6688	return s
6689}
6690
6691// SetSchemaArn sets the SchemaArn field's value.
6692func (s *CreateDatasetInput) SetSchemaArn(v string) *CreateDatasetInput {
6693	s.SchemaArn = &v
6694	return s
6695}
6696
6697type CreateDatasetOutput struct {
6698	_ struct{} `type:"structure"`
6699
6700	// The ARN of the dataset.
6701	DatasetArn *string `locationName:"datasetArn" type:"string"`
6702}
6703
6704// String returns the string representation
6705func (s CreateDatasetOutput) String() string {
6706	return awsutil.Prettify(s)
6707}
6708
6709// GoString returns the string representation
6710func (s CreateDatasetOutput) GoString() string {
6711	return s.String()
6712}
6713
6714// SetDatasetArn sets the DatasetArn field's value.
6715func (s *CreateDatasetOutput) SetDatasetArn(v string) *CreateDatasetOutput {
6716	s.DatasetArn = &v
6717	return s
6718}
6719
6720type CreateEventTrackerInput struct {
6721	_ struct{} `type:"structure"`
6722
6723	// The Amazon Resource Name (ARN) of the dataset group that receives the event
6724	// data.
6725	//
6726	// DatasetGroupArn is a required field
6727	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"`
6728
6729	// The name for the event tracker.
6730	//
6731	// Name is a required field
6732	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6733}
6734
6735// String returns the string representation
6736func (s CreateEventTrackerInput) String() string {
6737	return awsutil.Prettify(s)
6738}
6739
6740// GoString returns the string representation
6741func (s CreateEventTrackerInput) GoString() string {
6742	return s.String()
6743}
6744
6745// Validate inspects the fields of the type to determine if they are valid.
6746func (s *CreateEventTrackerInput) Validate() error {
6747	invalidParams := request.ErrInvalidParams{Context: "CreateEventTrackerInput"}
6748	if s.DatasetGroupArn == nil {
6749		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
6750	}
6751	if s.Name == nil {
6752		invalidParams.Add(request.NewErrParamRequired("Name"))
6753	}
6754	if s.Name != nil && len(*s.Name) < 1 {
6755		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6756	}
6757
6758	if invalidParams.Len() > 0 {
6759		return invalidParams
6760	}
6761	return nil
6762}
6763
6764// SetDatasetGroupArn sets the DatasetGroupArn field's value.
6765func (s *CreateEventTrackerInput) SetDatasetGroupArn(v string) *CreateEventTrackerInput {
6766	s.DatasetGroupArn = &v
6767	return s
6768}
6769
6770// SetName sets the Name field's value.
6771func (s *CreateEventTrackerInput) SetName(v string) *CreateEventTrackerInput {
6772	s.Name = &v
6773	return s
6774}
6775
6776type CreateEventTrackerOutput struct {
6777	_ struct{} `type:"structure"`
6778
6779	// The ARN of the event tracker.
6780	EventTrackerArn *string `locationName:"eventTrackerArn" type:"string"`
6781
6782	// The ID of the event tracker. Include this ID in requests to the PutEvents
6783	// (https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html)
6784	// API.
6785	TrackingId *string `locationName:"trackingId" type:"string"`
6786}
6787
6788// String returns the string representation
6789func (s CreateEventTrackerOutput) String() string {
6790	return awsutil.Prettify(s)
6791}
6792
6793// GoString returns the string representation
6794func (s CreateEventTrackerOutput) GoString() string {
6795	return s.String()
6796}
6797
6798// SetEventTrackerArn sets the EventTrackerArn field's value.
6799func (s *CreateEventTrackerOutput) SetEventTrackerArn(v string) *CreateEventTrackerOutput {
6800	s.EventTrackerArn = &v
6801	return s
6802}
6803
6804// SetTrackingId sets the TrackingId field's value.
6805func (s *CreateEventTrackerOutput) SetTrackingId(v string) *CreateEventTrackerOutput {
6806	s.TrackingId = &v
6807	return s
6808}
6809
6810type CreateFilterInput struct {
6811	_ struct{} `type:"structure"`
6812
6813	// The ARN of the dataset group that the filter will belong to.
6814	//
6815	// DatasetGroupArn is a required field
6816	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"`
6817
6818	// The filter expression defines which items are included or excluded from recommendations.
6819	// Filter expression must follow specific format rules. For information about
6820	// filter expression structure and syntax, see filter-expressions.
6821	//
6822	// FilterExpression is a required field
6823	FilterExpression *string `locationName:"filterExpression" min:"1" type:"string" required:"true" sensitive:"true"`
6824
6825	// The name of the filter to create.
6826	//
6827	// Name is a required field
6828	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6829}
6830
6831// String returns the string representation
6832func (s CreateFilterInput) String() string {
6833	return awsutil.Prettify(s)
6834}
6835
6836// GoString returns the string representation
6837func (s CreateFilterInput) GoString() string {
6838	return s.String()
6839}
6840
6841// Validate inspects the fields of the type to determine if they are valid.
6842func (s *CreateFilterInput) Validate() error {
6843	invalidParams := request.ErrInvalidParams{Context: "CreateFilterInput"}
6844	if s.DatasetGroupArn == nil {
6845		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
6846	}
6847	if s.FilterExpression == nil {
6848		invalidParams.Add(request.NewErrParamRequired("FilterExpression"))
6849	}
6850	if s.FilterExpression != nil && len(*s.FilterExpression) < 1 {
6851		invalidParams.Add(request.NewErrParamMinLen("FilterExpression", 1))
6852	}
6853	if s.Name == nil {
6854		invalidParams.Add(request.NewErrParamRequired("Name"))
6855	}
6856	if s.Name != nil && len(*s.Name) < 1 {
6857		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6858	}
6859
6860	if invalidParams.Len() > 0 {
6861		return invalidParams
6862	}
6863	return nil
6864}
6865
6866// SetDatasetGroupArn sets the DatasetGroupArn field's value.
6867func (s *CreateFilterInput) SetDatasetGroupArn(v string) *CreateFilterInput {
6868	s.DatasetGroupArn = &v
6869	return s
6870}
6871
6872// SetFilterExpression sets the FilterExpression field's value.
6873func (s *CreateFilterInput) SetFilterExpression(v string) *CreateFilterInput {
6874	s.FilterExpression = &v
6875	return s
6876}
6877
6878// SetName sets the Name field's value.
6879func (s *CreateFilterInput) SetName(v string) *CreateFilterInput {
6880	s.Name = &v
6881	return s
6882}
6883
6884type CreateFilterOutput struct {
6885	_ struct{} `type:"structure"`
6886
6887	// The ARN of the new filter.
6888	FilterArn *string `locationName:"filterArn" type:"string"`
6889}
6890
6891// String returns the string representation
6892func (s CreateFilterOutput) String() string {
6893	return awsutil.Prettify(s)
6894}
6895
6896// GoString returns the string representation
6897func (s CreateFilterOutput) GoString() string {
6898	return s.String()
6899}
6900
6901// SetFilterArn sets the FilterArn field's value.
6902func (s *CreateFilterOutput) SetFilterArn(v string) *CreateFilterOutput {
6903	s.FilterArn = &v
6904	return s
6905}
6906
6907type CreateSchemaInput struct {
6908	_ struct{} `type:"structure"`
6909
6910	// The name for the schema.
6911	//
6912	// Name is a required field
6913	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6914
6915	// A schema in Avro JSON format.
6916	//
6917	// Schema is a required field
6918	Schema *string `locationName:"schema" type:"string" required:"true"`
6919}
6920
6921// String returns the string representation
6922func (s CreateSchemaInput) String() string {
6923	return awsutil.Prettify(s)
6924}
6925
6926// GoString returns the string representation
6927func (s CreateSchemaInput) GoString() string {
6928	return s.String()
6929}
6930
6931// Validate inspects the fields of the type to determine if they are valid.
6932func (s *CreateSchemaInput) Validate() error {
6933	invalidParams := request.ErrInvalidParams{Context: "CreateSchemaInput"}
6934	if s.Name == nil {
6935		invalidParams.Add(request.NewErrParamRequired("Name"))
6936	}
6937	if s.Name != nil && len(*s.Name) < 1 {
6938		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6939	}
6940	if s.Schema == nil {
6941		invalidParams.Add(request.NewErrParamRequired("Schema"))
6942	}
6943
6944	if invalidParams.Len() > 0 {
6945		return invalidParams
6946	}
6947	return nil
6948}
6949
6950// SetName sets the Name field's value.
6951func (s *CreateSchemaInput) SetName(v string) *CreateSchemaInput {
6952	s.Name = &v
6953	return s
6954}
6955
6956// SetSchema sets the Schema field's value.
6957func (s *CreateSchemaInput) SetSchema(v string) *CreateSchemaInput {
6958	s.Schema = &v
6959	return s
6960}
6961
6962type CreateSchemaOutput struct {
6963	_ struct{} `type:"structure"`
6964
6965	// The Amazon Resource Name (ARN) of the created schema.
6966	SchemaArn *string `locationName:"schemaArn" type:"string"`
6967}
6968
6969// String returns the string representation
6970func (s CreateSchemaOutput) String() string {
6971	return awsutil.Prettify(s)
6972}
6973
6974// GoString returns the string representation
6975func (s CreateSchemaOutput) GoString() string {
6976	return s.String()
6977}
6978
6979// SetSchemaArn sets the SchemaArn field's value.
6980func (s *CreateSchemaOutput) SetSchemaArn(v string) *CreateSchemaOutput {
6981	s.SchemaArn = &v
6982	return s
6983}
6984
6985type CreateSolutionInput struct {
6986	_ struct{} `type:"structure"`
6987
6988	// The Amazon Resource Name (ARN) of the dataset group that provides the training
6989	// data.
6990	//
6991	// DatasetGroupArn is a required field
6992	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"`
6993
6994	// When your have multiple event types (using an EVENT_TYPE schema field), this
6995	// parameter specifies which event type (for example, 'click' or 'like') is
6996	// used for training the model.
6997	//
6998	// If you do not provide an eventType, Amazon Personalize will use all interactions
6999	// for training with equal weight regardless of type.
7000	EventType *string `locationName:"eventType" type:"string"`
7001
7002	// The name for the solution.
7003	//
7004	// Name is a required field
7005	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7006
7007	// Whether to perform automated machine learning (AutoML). The default is false.
7008	// For this case, you must specify recipeArn.
7009	//
7010	// When set to true, Amazon Personalize analyzes your training data and selects
7011	// the optimal USER_PERSONALIZATION recipe and hyperparameters. In this case,
7012	// you must omit recipeArn. Amazon Personalize determines the optimal recipe
7013	// by running tests with different values for the hyperparameters. AutoML lengthens
7014	// the training process as compared to selecting a specific recipe.
7015	PerformAutoML *bool `locationName:"performAutoML" type:"boolean"`
7016
7017	// Whether to perform hyperparameter optimization (HPO) on the specified or
7018	// selected recipe. The default is false.
7019	//
7020	// When performing AutoML, this parameter is always true and you should not
7021	// set it to false.
7022	PerformHPO *bool `locationName:"performHPO" type:"boolean"`
7023
7024	// The ARN of the recipe to use for model training. Only specified when performAutoML
7025	// is false.
7026	RecipeArn *string `locationName:"recipeArn" type:"string"`
7027
7028	// The configuration to use with the solution. When performAutoML is set to
7029	// true, Amazon Personalize only evaluates the autoMLConfig section of the solution
7030	// configuration.
7031	//
7032	// Amazon Personalize doesn't support configuring the hpoObjective at this time.
7033	SolutionConfig *SolutionConfig `locationName:"solutionConfig" type:"structure"`
7034}
7035
7036// String returns the string representation
7037func (s CreateSolutionInput) String() string {
7038	return awsutil.Prettify(s)
7039}
7040
7041// GoString returns the string representation
7042func (s CreateSolutionInput) GoString() string {
7043	return s.String()
7044}
7045
7046// Validate inspects the fields of the type to determine if they are valid.
7047func (s *CreateSolutionInput) Validate() error {
7048	invalidParams := request.ErrInvalidParams{Context: "CreateSolutionInput"}
7049	if s.DatasetGroupArn == nil {
7050		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
7051	}
7052	if s.Name == nil {
7053		invalidParams.Add(request.NewErrParamRequired("Name"))
7054	}
7055	if s.Name != nil && len(*s.Name) < 1 {
7056		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7057	}
7058	if s.SolutionConfig != nil {
7059		if err := s.SolutionConfig.Validate(); err != nil {
7060			invalidParams.AddNested("SolutionConfig", err.(request.ErrInvalidParams))
7061		}
7062	}
7063
7064	if invalidParams.Len() > 0 {
7065		return invalidParams
7066	}
7067	return nil
7068}
7069
7070// SetDatasetGroupArn sets the DatasetGroupArn field's value.
7071func (s *CreateSolutionInput) SetDatasetGroupArn(v string) *CreateSolutionInput {
7072	s.DatasetGroupArn = &v
7073	return s
7074}
7075
7076// SetEventType sets the EventType field's value.
7077func (s *CreateSolutionInput) SetEventType(v string) *CreateSolutionInput {
7078	s.EventType = &v
7079	return s
7080}
7081
7082// SetName sets the Name field's value.
7083func (s *CreateSolutionInput) SetName(v string) *CreateSolutionInput {
7084	s.Name = &v
7085	return s
7086}
7087
7088// SetPerformAutoML sets the PerformAutoML field's value.
7089func (s *CreateSolutionInput) SetPerformAutoML(v bool) *CreateSolutionInput {
7090	s.PerformAutoML = &v
7091	return s
7092}
7093
7094// SetPerformHPO sets the PerformHPO field's value.
7095func (s *CreateSolutionInput) SetPerformHPO(v bool) *CreateSolutionInput {
7096	s.PerformHPO = &v
7097	return s
7098}
7099
7100// SetRecipeArn sets the RecipeArn field's value.
7101func (s *CreateSolutionInput) SetRecipeArn(v string) *CreateSolutionInput {
7102	s.RecipeArn = &v
7103	return s
7104}
7105
7106// SetSolutionConfig sets the SolutionConfig field's value.
7107func (s *CreateSolutionInput) SetSolutionConfig(v *SolutionConfig) *CreateSolutionInput {
7108	s.SolutionConfig = v
7109	return s
7110}
7111
7112type CreateSolutionOutput struct {
7113	_ struct{} `type:"structure"`
7114
7115	// The ARN of the solution.
7116	SolutionArn *string `locationName:"solutionArn" type:"string"`
7117}
7118
7119// String returns the string representation
7120func (s CreateSolutionOutput) String() string {
7121	return awsutil.Prettify(s)
7122}
7123
7124// GoString returns the string representation
7125func (s CreateSolutionOutput) GoString() string {
7126	return s.String()
7127}
7128
7129// SetSolutionArn sets the SolutionArn field's value.
7130func (s *CreateSolutionOutput) SetSolutionArn(v string) *CreateSolutionOutput {
7131	s.SolutionArn = &v
7132	return s
7133}
7134
7135type CreateSolutionVersionInput struct {
7136	_ struct{} `type:"structure"`
7137
7138	// The Amazon Resource Name (ARN) of the solution containing the training configuration
7139	// information.
7140	//
7141	// SolutionArn is a required field
7142	SolutionArn *string `locationName:"solutionArn" type:"string" required:"true"`
7143
7144	// The scope of training to be performed when creating the solution version.
7145	// The FULL option trains the solution version based on the entirety of the
7146	// input solution's training data, while the UPDATE option processes only the
7147	// data that has changed in comparison to the input solution. Choose UPDATE
7148	// when you want to incrementally update your solution version instead of creating
7149	// an entirely new one.
7150	//
7151	// The UPDATE option can only be used when you already have an active solution
7152	// version created from the input solution using the FULL option and the input
7153	// solution was trained with the User-Personalization (https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html)
7154	// recipe or the HRNN-Coldstart (https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-hrnn-coldstart.html)
7155	// recipe.
7156	TrainingMode *string `locationName:"trainingMode" type:"string" enum:"TrainingMode"`
7157}
7158
7159// String returns the string representation
7160func (s CreateSolutionVersionInput) String() string {
7161	return awsutil.Prettify(s)
7162}
7163
7164// GoString returns the string representation
7165func (s CreateSolutionVersionInput) GoString() string {
7166	return s.String()
7167}
7168
7169// Validate inspects the fields of the type to determine if they are valid.
7170func (s *CreateSolutionVersionInput) Validate() error {
7171	invalidParams := request.ErrInvalidParams{Context: "CreateSolutionVersionInput"}
7172	if s.SolutionArn == nil {
7173		invalidParams.Add(request.NewErrParamRequired("SolutionArn"))
7174	}
7175
7176	if invalidParams.Len() > 0 {
7177		return invalidParams
7178	}
7179	return nil
7180}
7181
7182// SetSolutionArn sets the SolutionArn field's value.
7183func (s *CreateSolutionVersionInput) SetSolutionArn(v string) *CreateSolutionVersionInput {
7184	s.SolutionArn = &v
7185	return s
7186}
7187
7188// SetTrainingMode sets the TrainingMode field's value.
7189func (s *CreateSolutionVersionInput) SetTrainingMode(v string) *CreateSolutionVersionInput {
7190	s.TrainingMode = &v
7191	return s
7192}
7193
7194type CreateSolutionVersionOutput struct {
7195	_ struct{} `type:"structure"`
7196
7197	// The ARN of the new solution version.
7198	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
7199}
7200
7201// String returns the string representation
7202func (s CreateSolutionVersionOutput) String() string {
7203	return awsutil.Prettify(s)
7204}
7205
7206// GoString returns the string representation
7207func (s CreateSolutionVersionOutput) GoString() string {
7208	return s.String()
7209}
7210
7211// SetSolutionVersionArn sets the SolutionVersionArn field's value.
7212func (s *CreateSolutionVersionOutput) SetSolutionVersionArn(v string) *CreateSolutionVersionOutput {
7213	s.SolutionVersionArn = &v
7214	return s
7215}
7216
7217// Describes the data source that contains the data to upload to a dataset.
7218type DataSource struct {
7219	_ struct{} `type:"structure"`
7220
7221	// The path to the Amazon S3 bucket where the data that you want to upload to
7222	// your dataset is stored. For example:
7223	//
7224	// s3://bucket-name/folder-name/
7225	DataLocation *string `locationName:"dataLocation" type:"string"`
7226}
7227
7228// String returns the string representation
7229func (s DataSource) String() string {
7230	return awsutil.Prettify(s)
7231}
7232
7233// GoString returns the string representation
7234func (s DataSource) GoString() string {
7235	return s.String()
7236}
7237
7238// SetDataLocation sets the DataLocation field's value.
7239func (s *DataSource) SetDataLocation(v string) *DataSource {
7240	s.DataLocation = &v
7241	return s
7242}
7243
7244// Provides metadata for a dataset.
7245type Dataset struct {
7246	_ struct{} `type:"structure"`
7247
7248	// The creation date and time (in Unix time) of the dataset.
7249	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
7250
7251	// The Amazon Resource Name (ARN) of the dataset that you want metadata for.
7252	DatasetArn *string `locationName:"datasetArn" type:"string"`
7253
7254	// The Amazon Resource Name (ARN) of the dataset group.
7255	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
7256
7257	// One of the following values:
7258	//
7259	//    * Interactions
7260	//
7261	//    * Items
7262	//
7263	//    * Users
7264	DatasetType *string `locationName:"datasetType" type:"string"`
7265
7266	// A time stamp that shows when the dataset was updated.
7267	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
7268
7269	// The name of the dataset.
7270	Name *string `locationName:"name" min:"1" type:"string"`
7271
7272	// The ARN of the associated schema.
7273	SchemaArn *string `locationName:"schemaArn" type:"string"`
7274
7275	// The status of the dataset.
7276	//
7277	// A dataset can be in one of the following states:
7278	//
7279	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
7280	//
7281	//    * DELETE PENDING > DELETE IN_PROGRESS
7282	Status *string `locationName:"status" type:"string"`
7283}
7284
7285// String returns the string representation
7286func (s Dataset) String() string {
7287	return awsutil.Prettify(s)
7288}
7289
7290// GoString returns the string representation
7291func (s Dataset) GoString() string {
7292	return s.String()
7293}
7294
7295// SetCreationDateTime sets the CreationDateTime field's value.
7296func (s *Dataset) SetCreationDateTime(v time.Time) *Dataset {
7297	s.CreationDateTime = &v
7298	return s
7299}
7300
7301// SetDatasetArn sets the DatasetArn field's value.
7302func (s *Dataset) SetDatasetArn(v string) *Dataset {
7303	s.DatasetArn = &v
7304	return s
7305}
7306
7307// SetDatasetGroupArn sets the DatasetGroupArn field's value.
7308func (s *Dataset) SetDatasetGroupArn(v string) *Dataset {
7309	s.DatasetGroupArn = &v
7310	return s
7311}
7312
7313// SetDatasetType sets the DatasetType field's value.
7314func (s *Dataset) SetDatasetType(v string) *Dataset {
7315	s.DatasetType = &v
7316	return s
7317}
7318
7319// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
7320func (s *Dataset) SetLastUpdatedDateTime(v time.Time) *Dataset {
7321	s.LastUpdatedDateTime = &v
7322	return s
7323}
7324
7325// SetName sets the Name field's value.
7326func (s *Dataset) SetName(v string) *Dataset {
7327	s.Name = &v
7328	return s
7329}
7330
7331// SetSchemaArn sets the SchemaArn field's value.
7332func (s *Dataset) SetSchemaArn(v string) *Dataset {
7333	s.SchemaArn = &v
7334	return s
7335}
7336
7337// SetStatus sets the Status field's value.
7338func (s *Dataset) SetStatus(v string) *Dataset {
7339	s.Status = &v
7340	return s
7341}
7342
7343// Describes a job that exports a dataset to an Amazon S3 bucket. For more information,
7344// see CreateDatasetExportJob.
7345//
7346// A dataset export job can be in one of the following states:
7347//
7348//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
7349type DatasetExportJob struct {
7350	_ struct{} `type:"structure"`
7351
7352	// The creation date and time (in Unix time) of the dataset export job.
7353	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
7354
7355	// The Amazon Resource Name (ARN) of the dataset to export.
7356	DatasetArn *string `locationName:"datasetArn" type:"string"`
7357
7358	// The Amazon Resource Name (ARN) of the dataset export job.
7359	DatasetExportJobArn *string `locationName:"datasetExportJobArn" type:"string"`
7360
7361	// If a dataset export job fails, provides the reason why.
7362	FailureReason *string `locationName:"failureReason" type:"string"`
7363
7364	// The data to export, based on how you imported the data. You can choose to
7365	// export BULK data that you imported using a dataset import job, PUT data that
7366	// you imported incrementally (using the console, PutEvents, PutUsers and PutItems
7367	// operations), or ALL for both types. The default value is PUT.
7368	IngestionMode *string `locationName:"ingestionMode" type:"string" enum:"IngestionMode"`
7369
7370	// The name of the export job.
7371	JobName *string `locationName:"jobName" min:"1" type:"string"`
7372
7373	// The path to the Amazon S3 bucket where the job's output is stored. For example:
7374	//
7375	// s3://bucket-name/folder-name/
7376	JobOutput *DatasetExportJobOutput `locationName:"jobOutput" type:"structure"`
7377
7378	// The date and time (in Unix time) the status of the dataset export job was
7379	// last updated.
7380	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
7381
7382	// The Amazon Resource Name (ARN) of the IAM service role that has permissions
7383	// to add data to your output Amazon S3 bucket.
7384	RoleArn *string `locationName:"roleArn" type:"string"`
7385
7386	// The status of the dataset export job.
7387	//
7388	// A dataset export job can be in one of the following states:
7389	//
7390	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
7391	Status *string `locationName:"status" type:"string"`
7392}
7393
7394// String returns the string representation
7395func (s DatasetExportJob) String() string {
7396	return awsutil.Prettify(s)
7397}
7398
7399// GoString returns the string representation
7400func (s DatasetExportJob) GoString() string {
7401	return s.String()
7402}
7403
7404// SetCreationDateTime sets the CreationDateTime field's value.
7405func (s *DatasetExportJob) SetCreationDateTime(v time.Time) *DatasetExportJob {
7406	s.CreationDateTime = &v
7407	return s
7408}
7409
7410// SetDatasetArn sets the DatasetArn field's value.
7411func (s *DatasetExportJob) SetDatasetArn(v string) *DatasetExportJob {
7412	s.DatasetArn = &v
7413	return s
7414}
7415
7416// SetDatasetExportJobArn sets the DatasetExportJobArn field's value.
7417func (s *DatasetExportJob) SetDatasetExportJobArn(v string) *DatasetExportJob {
7418	s.DatasetExportJobArn = &v
7419	return s
7420}
7421
7422// SetFailureReason sets the FailureReason field's value.
7423func (s *DatasetExportJob) SetFailureReason(v string) *DatasetExportJob {
7424	s.FailureReason = &v
7425	return s
7426}
7427
7428// SetIngestionMode sets the IngestionMode field's value.
7429func (s *DatasetExportJob) SetIngestionMode(v string) *DatasetExportJob {
7430	s.IngestionMode = &v
7431	return s
7432}
7433
7434// SetJobName sets the JobName field's value.
7435func (s *DatasetExportJob) SetJobName(v string) *DatasetExportJob {
7436	s.JobName = &v
7437	return s
7438}
7439
7440// SetJobOutput sets the JobOutput field's value.
7441func (s *DatasetExportJob) SetJobOutput(v *DatasetExportJobOutput) *DatasetExportJob {
7442	s.JobOutput = v
7443	return s
7444}
7445
7446// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
7447func (s *DatasetExportJob) SetLastUpdatedDateTime(v time.Time) *DatasetExportJob {
7448	s.LastUpdatedDateTime = &v
7449	return s
7450}
7451
7452// SetRoleArn sets the RoleArn field's value.
7453func (s *DatasetExportJob) SetRoleArn(v string) *DatasetExportJob {
7454	s.RoleArn = &v
7455	return s
7456}
7457
7458// SetStatus sets the Status field's value.
7459func (s *DatasetExportJob) SetStatus(v string) *DatasetExportJob {
7460	s.Status = &v
7461	return s
7462}
7463
7464// The output configuration parameters of a dataset export job.
7465type DatasetExportJobOutput struct {
7466	_ struct{} `type:"structure"`
7467
7468	// The configuration details of an Amazon S3 input or output bucket.
7469	//
7470	// S3DataDestination is a required field
7471	S3DataDestination *S3DataConfig `locationName:"s3DataDestination" type:"structure" required:"true"`
7472}
7473
7474// String returns the string representation
7475func (s DatasetExportJobOutput) String() string {
7476	return awsutil.Prettify(s)
7477}
7478
7479// GoString returns the string representation
7480func (s DatasetExportJobOutput) GoString() string {
7481	return s.String()
7482}
7483
7484// Validate inspects the fields of the type to determine if they are valid.
7485func (s *DatasetExportJobOutput) Validate() error {
7486	invalidParams := request.ErrInvalidParams{Context: "DatasetExportJobOutput"}
7487	if s.S3DataDestination == nil {
7488		invalidParams.Add(request.NewErrParamRequired("S3DataDestination"))
7489	}
7490	if s.S3DataDestination != nil {
7491		if err := s.S3DataDestination.Validate(); err != nil {
7492			invalidParams.AddNested("S3DataDestination", err.(request.ErrInvalidParams))
7493		}
7494	}
7495
7496	if invalidParams.Len() > 0 {
7497		return invalidParams
7498	}
7499	return nil
7500}
7501
7502// SetS3DataDestination sets the S3DataDestination field's value.
7503func (s *DatasetExportJobOutput) SetS3DataDestination(v *S3DataConfig) *DatasetExportJobOutput {
7504	s.S3DataDestination = v
7505	return s
7506}
7507
7508// Provides a summary of the properties of a dataset export job. For a complete
7509// listing, call the DescribeDatasetExportJob API.
7510type DatasetExportJobSummary struct {
7511	_ struct{} `type:"structure"`
7512
7513	// The date and time (in Unix time) that the dataset export job was created.
7514	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
7515
7516	// The Amazon Resource Name (ARN) of the dataset export job.
7517	DatasetExportJobArn *string `locationName:"datasetExportJobArn" type:"string"`
7518
7519	// If a dataset export job fails, the reason behind the failure.
7520	FailureReason *string `locationName:"failureReason" type:"string"`
7521
7522	// The name of the dataset export job.
7523	JobName *string `locationName:"jobName" min:"1" type:"string"`
7524
7525	// The date and time (in Unix time) that the dataset export job status was last
7526	// updated.
7527	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
7528
7529	// The status of the dataset export job.
7530	//
7531	// A dataset export job can be in one of the following states:
7532	//
7533	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
7534	Status *string `locationName:"status" type:"string"`
7535}
7536
7537// String returns the string representation
7538func (s DatasetExportJobSummary) String() string {
7539	return awsutil.Prettify(s)
7540}
7541
7542// GoString returns the string representation
7543func (s DatasetExportJobSummary) GoString() string {
7544	return s.String()
7545}
7546
7547// SetCreationDateTime sets the CreationDateTime field's value.
7548func (s *DatasetExportJobSummary) SetCreationDateTime(v time.Time) *DatasetExportJobSummary {
7549	s.CreationDateTime = &v
7550	return s
7551}
7552
7553// SetDatasetExportJobArn sets the DatasetExportJobArn field's value.
7554func (s *DatasetExportJobSummary) SetDatasetExportJobArn(v string) *DatasetExportJobSummary {
7555	s.DatasetExportJobArn = &v
7556	return s
7557}
7558
7559// SetFailureReason sets the FailureReason field's value.
7560func (s *DatasetExportJobSummary) SetFailureReason(v string) *DatasetExportJobSummary {
7561	s.FailureReason = &v
7562	return s
7563}
7564
7565// SetJobName sets the JobName field's value.
7566func (s *DatasetExportJobSummary) SetJobName(v string) *DatasetExportJobSummary {
7567	s.JobName = &v
7568	return s
7569}
7570
7571// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
7572func (s *DatasetExportJobSummary) SetLastUpdatedDateTime(v time.Time) *DatasetExportJobSummary {
7573	s.LastUpdatedDateTime = &v
7574	return s
7575}
7576
7577// SetStatus sets the Status field's value.
7578func (s *DatasetExportJobSummary) SetStatus(v string) *DatasetExportJobSummary {
7579	s.Status = &v
7580	return s
7581}
7582
7583// A dataset group is a collection of related datasets (Interactions, User,
7584// and Item). You create a dataset group by calling CreateDatasetGroup. You
7585// then create a dataset and add it to a dataset group by calling CreateDataset.
7586// The dataset group is used to create and train a solution by calling CreateSolution.
7587// A dataset group can contain only one of each type of dataset.
7588//
7589// You can specify an Key Management Service (KMS) key to encrypt the datasets
7590// in the group.
7591type DatasetGroup struct {
7592	_ struct{} `type:"structure"`
7593
7594	// The creation date and time (in Unix time) of the dataset group.
7595	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
7596
7597	// The Amazon Resource Name (ARN) of the dataset group.
7598	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
7599
7600	// If creating a dataset group fails, provides the reason why.
7601	FailureReason *string `locationName:"failureReason" type:"string"`
7602
7603	// The Amazon Resource Name (ARN) of the Key Management Service (KMS) key used
7604	// to encrypt the datasets.
7605	KmsKeyArn *string `locationName:"kmsKeyArn" type:"string"`
7606
7607	// The last update date and time (in Unix time) of the dataset group.
7608	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
7609
7610	// The name of the dataset group.
7611	Name *string `locationName:"name" min:"1" type:"string"`
7612
7613	// The ARN of the IAM role that has permissions to create the dataset group.
7614	RoleArn *string `locationName:"roleArn" type:"string"`
7615
7616	// The current status of the dataset group.
7617	//
7618	// A dataset group can be in one of the following states:
7619	//
7620	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
7621	//
7622	//    * DELETE PENDING
7623	Status *string `locationName:"status" type:"string"`
7624}
7625
7626// String returns the string representation
7627func (s DatasetGroup) String() string {
7628	return awsutil.Prettify(s)
7629}
7630
7631// GoString returns the string representation
7632func (s DatasetGroup) GoString() string {
7633	return s.String()
7634}
7635
7636// SetCreationDateTime sets the CreationDateTime field's value.
7637func (s *DatasetGroup) SetCreationDateTime(v time.Time) *DatasetGroup {
7638	s.CreationDateTime = &v
7639	return s
7640}
7641
7642// SetDatasetGroupArn sets the DatasetGroupArn field's value.
7643func (s *DatasetGroup) SetDatasetGroupArn(v string) *DatasetGroup {
7644	s.DatasetGroupArn = &v
7645	return s
7646}
7647
7648// SetFailureReason sets the FailureReason field's value.
7649func (s *DatasetGroup) SetFailureReason(v string) *DatasetGroup {
7650	s.FailureReason = &v
7651	return s
7652}
7653
7654// SetKmsKeyArn sets the KmsKeyArn field's value.
7655func (s *DatasetGroup) SetKmsKeyArn(v string) *DatasetGroup {
7656	s.KmsKeyArn = &v
7657	return s
7658}
7659
7660// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
7661func (s *DatasetGroup) SetLastUpdatedDateTime(v time.Time) *DatasetGroup {
7662	s.LastUpdatedDateTime = &v
7663	return s
7664}
7665
7666// SetName sets the Name field's value.
7667func (s *DatasetGroup) SetName(v string) *DatasetGroup {
7668	s.Name = &v
7669	return s
7670}
7671
7672// SetRoleArn sets the RoleArn field's value.
7673func (s *DatasetGroup) SetRoleArn(v string) *DatasetGroup {
7674	s.RoleArn = &v
7675	return s
7676}
7677
7678// SetStatus sets the Status field's value.
7679func (s *DatasetGroup) SetStatus(v string) *DatasetGroup {
7680	s.Status = &v
7681	return s
7682}
7683
7684// Provides a summary of the properties of a dataset group. For a complete listing,
7685// call the DescribeDatasetGroup API.
7686type DatasetGroupSummary struct {
7687	_ struct{} `type:"structure"`
7688
7689	// The date and time (in Unix time) that the dataset group was created.
7690	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
7691
7692	// The Amazon Resource Name (ARN) of the dataset group.
7693	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
7694
7695	// If creating a dataset group fails, the reason behind the failure.
7696	FailureReason *string `locationName:"failureReason" type:"string"`
7697
7698	// The date and time (in Unix time) that the dataset group was last updated.
7699	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
7700
7701	// The name of the dataset group.
7702	Name *string `locationName:"name" min:"1" type:"string"`
7703
7704	// The status of the dataset group.
7705	//
7706	// A dataset group can be in one of the following states:
7707	//
7708	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
7709	//
7710	//    * DELETE PENDING
7711	Status *string `locationName:"status" type:"string"`
7712}
7713
7714// String returns the string representation
7715func (s DatasetGroupSummary) String() string {
7716	return awsutil.Prettify(s)
7717}
7718
7719// GoString returns the string representation
7720func (s DatasetGroupSummary) GoString() string {
7721	return s.String()
7722}
7723
7724// SetCreationDateTime sets the CreationDateTime field's value.
7725func (s *DatasetGroupSummary) SetCreationDateTime(v time.Time) *DatasetGroupSummary {
7726	s.CreationDateTime = &v
7727	return s
7728}
7729
7730// SetDatasetGroupArn sets the DatasetGroupArn field's value.
7731func (s *DatasetGroupSummary) SetDatasetGroupArn(v string) *DatasetGroupSummary {
7732	s.DatasetGroupArn = &v
7733	return s
7734}
7735
7736// SetFailureReason sets the FailureReason field's value.
7737func (s *DatasetGroupSummary) SetFailureReason(v string) *DatasetGroupSummary {
7738	s.FailureReason = &v
7739	return s
7740}
7741
7742// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
7743func (s *DatasetGroupSummary) SetLastUpdatedDateTime(v time.Time) *DatasetGroupSummary {
7744	s.LastUpdatedDateTime = &v
7745	return s
7746}
7747
7748// SetName sets the Name field's value.
7749func (s *DatasetGroupSummary) SetName(v string) *DatasetGroupSummary {
7750	s.Name = &v
7751	return s
7752}
7753
7754// SetStatus sets the Status field's value.
7755func (s *DatasetGroupSummary) SetStatus(v string) *DatasetGroupSummary {
7756	s.Status = &v
7757	return s
7758}
7759
7760// Describes a job that imports training data from a data source (Amazon S3
7761// bucket) to an Amazon Personalize dataset. For more information, see CreateDatasetImportJob.
7762//
7763// A dataset import job can be in one of the following states:
7764//
7765//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
7766type DatasetImportJob struct {
7767	_ struct{} `type:"structure"`
7768
7769	// The creation date and time (in Unix time) of the dataset import job.
7770	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
7771
7772	// The Amazon S3 bucket that contains the training data to import.
7773	DataSource *DataSource `locationName:"dataSource" type:"structure"`
7774
7775	// The Amazon Resource Name (ARN) of the dataset that receives the imported
7776	// data.
7777	DatasetArn *string `locationName:"datasetArn" type:"string"`
7778
7779	// The ARN of the dataset import job.
7780	DatasetImportJobArn *string `locationName:"datasetImportJobArn" type:"string"`
7781
7782	// If a dataset import job fails, provides the reason why.
7783	FailureReason *string `locationName:"failureReason" type:"string"`
7784
7785	// The name of the import job.
7786	JobName *string `locationName:"jobName" min:"1" type:"string"`
7787
7788	// The date and time (in Unix time) the dataset was last updated.
7789	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
7790
7791	// The ARN of the IAM role that has permissions to read from the Amazon S3 data
7792	// source.
7793	RoleArn *string `locationName:"roleArn" type:"string"`
7794
7795	// The status of the dataset import job.
7796	//
7797	// A dataset import job can be in one of the following states:
7798	//
7799	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
7800	Status *string `locationName:"status" type:"string"`
7801}
7802
7803// String returns the string representation
7804func (s DatasetImportJob) String() string {
7805	return awsutil.Prettify(s)
7806}
7807
7808// GoString returns the string representation
7809func (s DatasetImportJob) GoString() string {
7810	return s.String()
7811}
7812
7813// SetCreationDateTime sets the CreationDateTime field's value.
7814func (s *DatasetImportJob) SetCreationDateTime(v time.Time) *DatasetImportJob {
7815	s.CreationDateTime = &v
7816	return s
7817}
7818
7819// SetDataSource sets the DataSource field's value.
7820func (s *DatasetImportJob) SetDataSource(v *DataSource) *DatasetImportJob {
7821	s.DataSource = v
7822	return s
7823}
7824
7825// SetDatasetArn sets the DatasetArn field's value.
7826func (s *DatasetImportJob) SetDatasetArn(v string) *DatasetImportJob {
7827	s.DatasetArn = &v
7828	return s
7829}
7830
7831// SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
7832func (s *DatasetImportJob) SetDatasetImportJobArn(v string) *DatasetImportJob {
7833	s.DatasetImportJobArn = &v
7834	return s
7835}
7836
7837// SetFailureReason sets the FailureReason field's value.
7838func (s *DatasetImportJob) SetFailureReason(v string) *DatasetImportJob {
7839	s.FailureReason = &v
7840	return s
7841}
7842
7843// SetJobName sets the JobName field's value.
7844func (s *DatasetImportJob) SetJobName(v string) *DatasetImportJob {
7845	s.JobName = &v
7846	return s
7847}
7848
7849// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
7850func (s *DatasetImportJob) SetLastUpdatedDateTime(v time.Time) *DatasetImportJob {
7851	s.LastUpdatedDateTime = &v
7852	return s
7853}
7854
7855// SetRoleArn sets the RoleArn field's value.
7856func (s *DatasetImportJob) SetRoleArn(v string) *DatasetImportJob {
7857	s.RoleArn = &v
7858	return s
7859}
7860
7861// SetStatus sets the Status field's value.
7862func (s *DatasetImportJob) SetStatus(v string) *DatasetImportJob {
7863	s.Status = &v
7864	return s
7865}
7866
7867// Provides a summary of the properties of a dataset import job. For a complete
7868// listing, call the DescribeDatasetImportJob API.
7869type DatasetImportJobSummary struct {
7870	_ struct{} `type:"structure"`
7871
7872	// The date and time (in Unix time) that the dataset import job was created.
7873	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
7874
7875	// The Amazon Resource Name (ARN) of the dataset import job.
7876	DatasetImportJobArn *string `locationName:"datasetImportJobArn" type:"string"`
7877
7878	// If a dataset import job fails, the reason behind the failure.
7879	FailureReason *string `locationName:"failureReason" type:"string"`
7880
7881	// The name of the dataset import job.
7882	JobName *string `locationName:"jobName" min:"1" type:"string"`
7883
7884	// The date and time (in Unix time) that the dataset import job status was last
7885	// updated.
7886	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
7887
7888	// The status of the dataset import job.
7889	//
7890	// A dataset import job can be in one of the following states:
7891	//
7892	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
7893	Status *string `locationName:"status" type:"string"`
7894}
7895
7896// String returns the string representation
7897func (s DatasetImportJobSummary) String() string {
7898	return awsutil.Prettify(s)
7899}
7900
7901// GoString returns the string representation
7902func (s DatasetImportJobSummary) GoString() string {
7903	return s.String()
7904}
7905
7906// SetCreationDateTime sets the CreationDateTime field's value.
7907func (s *DatasetImportJobSummary) SetCreationDateTime(v time.Time) *DatasetImportJobSummary {
7908	s.CreationDateTime = &v
7909	return s
7910}
7911
7912// SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
7913func (s *DatasetImportJobSummary) SetDatasetImportJobArn(v string) *DatasetImportJobSummary {
7914	s.DatasetImportJobArn = &v
7915	return s
7916}
7917
7918// SetFailureReason sets the FailureReason field's value.
7919func (s *DatasetImportJobSummary) SetFailureReason(v string) *DatasetImportJobSummary {
7920	s.FailureReason = &v
7921	return s
7922}
7923
7924// SetJobName sets the JobName field's value.
7925func (s *DatasetImportJobSummary) SetJobName(v string) *DatasetImportJobSummary {
7926	s.JobName = &v
7927	return s
7928}
7929
7930// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
7931func (s *DatasetImportJobSummary) SetLastUpdatedDateTime(v time.Time) *DatasetImportJobSummary {
7932	s.LastUpdatedDateTime = &v
7933	return s
7934}
7935
7936// SetStatus sets the Status field's value.
7937func (s *DatasetImportJobSummary) SetStatus(v string) *DatasetImportJobSummary {
7938	s.Status = &v
7939	return s
7940}
7941
7942// Describes the schema for a dataset. For more information on schemas, see
7943// CreateSchema.
7944type DatasetSchema struct {
7945	_ struct{} `type:"structure"`
7946
7947	// The date and time (in Unix time) that the schema was created.
7948	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
7949
7950	// The date and time (in Unix time) that the schema was last updated.
7951	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
7952
7953	// The name of the schema.
7954	Name *string `locationName:"name" min:"1" type:"string"`
7955
7956	// The schema.
7957	Schema *string `locationName:"schema" type:"string"`
7958
7959	// The Amazon Resource Name (ARN) of the schema.
7960	SchemaArn *string `locationName:"schemaArn" type:"string"`
7961}
7962
7963// String returns the string representation
7964func (s DatasetSchema) String() string {
7965	return awsutil.Prettify(s)
7966}
7967
7968// GoString returns the string representation
7969func (s DatasetSchema) GoString() string {
7970	return s.String()
7971}
7972
7973// SetCreationDateTime sets the CreationDateTime field's value.
7974func (s *DatasetSchema) SetCreationDateTime(v time.Time) *DatasetSchema {
7975	s.CreationDateTime = &v
7976	return s
7977}
7978
7979// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
7980func (s *DatasetSchema) SetLastUpdatedDateTime(v time.Time) *DatasetSchema {
7981	s.LastUpdatedDateTime = &v
7982	return s
7983}
7984
7985// SetName sets the Name field's value.
7986func (s *DatasetSchema) SetName(v string) *DatasetSchema {
7987	s.Name = &v
7988	return s
7989}
7990
7991// SetSchema sets the Schema field's value.
7992func (s *DatasetSchema) SetSchema(v string) *DatasetSchema {
7993	s.Schema = &v
7994	return s
7995}
7996
7997// SetSchemaArn sets the SchemaArn field's value.
7998func (s *DatasetSchema) SetSchemaArn(v string) *DatasetSchema {
7999	s.SchemaArn = &v
8000	return s
8001}
8002
8003// Provides a summary of the properties of a dataset schema. For a complete
8004// listing, call the DescribeSchema API.
8005type DatasetSchemaSummary struct {
8006	_ struct{} `type:"structure"`
8007
8008	// The date and time (in Unix time) that the schema was created.
8009	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
8010
8011	// The date and time (in Unix time) that the schema was last updated.
8012	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
8013
8014	// The name of the schema.
8015	Name *string `locationName:"name" min:"1" type:"string"`
8016
8017	// The Amazon Resource Name (ARN) of the schema.
8018	SchemaArn *string `locationName:"schemaArn" type:"string"`
8019}
8020
8021// String returns the string representation
8022func (s DatasetSchemaSummary) String() string {
8023	return awsutil.Prettify(s)
8024}
8025
8026// GoString returns the string representation
8027func (s DatasetSchemaSummary) GoString() string {
8028	return s.String()
8029}
8030
8031// SetCreationDateTime sets the CreationDateTime field's value.
8032func (s *DatasetSchemaSummary) SetCreationDateTime(v time.Time) *DatasetSchemaSummary {
8033	s.CreationDateTime = &v
8034	return s
8035}
8036
8037// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
8038func (s *DatasetSchemaSummary) SetLastUpdatedDateTime(v time.Time) *DatasetSchemaSummary {
8039	s.LastUpdatedDateTime = &v
8040	return s
8041}
8042
8043// SetName sets the Name field's value.
8044func (s *DatasetSchemaSummary) SetName(v string) *DatasetSchemaSummary {
8045	s.Name = &v
8046	return s
8047}
8048
8049// SetSchemaArn sets the SchemaArn field's value.
8050func (s *DatasetSchemaSummary) SetSchemaArn(v string) *DatasetSchemaSummary {
8051	s.SchemaArn = &v
8052	return s
8053}
8054
8055// Provides a summary of the properties of a dataset. For a complete listing,
8056// call the DescribeDataset API.
8057type DatasetSummary struct {
8058	_ struct{} `type:"structure"`
8059
8060	// The date and time (in Unix time) that the dataset was created.
8061	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
8062
8063	// The Amazon Resource Name (ARN) of the dataset.
8064	DatasetArn *string `locationName:"datasetArn" type:"string"`
8065
8066	// The dataset type. One of the following values:
8067	//
8068	//    * Interactions
8069	//
8070	//    * Items
8071	//
8072	//    * Users
8073	//
8074	//    * Event-Interactions
8075	DatasetType *string `locationName:"datasetType" type:"string"`
8076
8077	// The date and time (in Unix time) that the dataset was last updated.
8078	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
8079
8080	// The name of the dataset.
8081	Name *string `locationName:"name" min:"1" type:"string"`
8082
8083	// The status of the dataset.
8084	//
8085	// A dataset can be in one of the following states:
8086	//
8087	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
8088	//
8089	//    * DELETE PENDING > DELETE IN_PROGRESS
8090	Status *string `locationName:"status" type:"string"`
8091}
8092
8093// String returns the string representation
8094func (s DatasetSummary) String() string {
8095	return awsutil.Prettify(s)
8096}
8097
8098// GoString returns the string representation
8099func (s DatasetSummary) GoString() string {
8100	return s.String()
8101}
8102
8103// SetCreationDateTime sets the CreationDateTime field's value.
8104func (s *DatasetSummary) SetCreationDateTime(v time.Time) *DatasetSummary {
8105	s.CreationDateTime = &v
8106	return s
8107}
8108
8109// SetDatasetArn sets the DatasetArn field's value.
8110func (s *DatasetSummary) SetDatasetArn(v string) *DatasetSummary {
8111	s.DatasetArn = &v
8112	return s
8113}
8114
8115// SetDatasetType sets the DatasetType field's value.
8116func (s *DatasetSummary) SetDatasetType(v string) *DatasetSummary {
8117	s.DatasetType = &v
8118	return s
8119}
8120
8121// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
8122func (s *DatasetSummary) SetLastUpdatedDateTime(v time.Time) *DatasetSummary {
8123	s.LastUpdatedDateTime = &v
8124	return s
8125}
8126
8127// SetName sets the Name field's value.
8128func (s *DatasetSummary) SetName(v string) *DatasetSummary {
8129	s.Name = &v
8130	return s
8131}
8132
8133// SetStatus sets the Status field's value.
8134func (s *DatasetSummary) SetStatus(v string) *DatasetSummary {
8135	s.Status = &v
8136	return s
8137}
8138
8139// Provides the name and default range of a categorical hyperparameter and whether
8140// the hyperparameter is tunable. A tunable hyperparameter can have its value
8141// determined during hyperparameter optimization (HPO).
8142type DefaultCategoricalHyperParameterRange struct {
8143	_ struct{} `type:"structure"`
8144
8145	// Whether the hyperparameter is tunable.
8146	IsTunable *bool `locationName:"isTunable" type:"boolean"`
8147
8148	// The name of the hyperparameter.
8149	Name *string `locationName:"name" type:"string"`
8150
8151	// A list of the categories for the hyperparameter.
8152	Values []*string `locationName:"values" type:"list"`
8153}
8154
8155// String returns the string representation
8156func (s DefaultCategoricalHyperParameterRange) String() string {
8157	return awsutil.Prettify(s)
8158}
8159
8160// GoString returns the string representation
8161func (s DefaultCategoricalHyperParameterRange) GoString() string {
8162	return s.String()
8163}
8164
8165// SetIsTunable sets the IsTunable field's value.
8166func (s *DefaultCategoricalHyperParameterRange) SetIsTunable(v bool) *DefaultCategoricalHyperParameterRange {
8167	s.IsTunable = &v
8168	return s
8169}
8170
8171// SetName sets the Name field's value.
8172func (s *DefaultCategoricalHyperParameterRange) SetName(v string) *DefaultCategoricalHyperParameterRange {
8173	s.Name = &v
8174	return s
8175}
8176
8177// SetValues sets the Values field's value.
8178func (s *DefaultCategoricalHyperParameterRange) SetValues(v []*string) *DefaultCategoricalHyperParameterRange {
8179	s.Values = v
8180	return s
8181}
8182
8183// Provides the name and default range of a continuous hyperparameter and whether
8184// the hyperparameter is tunable. A tunable hyperparameter can have its value
8185// determined during hyperparameter optimization (HPO).
8186type DefaultContinuousHyperParameterRange struct {
8187	_ struct{} `type:"structure"`
8188
8189	// Whether the hyperparameter is tunable.
8190	IsTunable *bool `locationName:"isTunable" type:"boolean"`
8191
8192	// The maximum allowable value for the hyperparameter.
8193	MaxValue *float64 `locationName:"maxValue" type:"double"`
8194
8195	// The minimum allowable value for the hyperparameter.
8196	MinValue *float64 `locationName:"minValue" type:"double"`
8197
8198	// The name of the hyperparameter.
8199	Name *string `locationName:"name" type:"string"`
8200}
8201
8202// String returns the string representation
8203func (s DefaultContinuousHyperParameterRange) String() string {
8204	return awsutil.Prettify(s)
8205}
8206
8207// GoString returns the string representation
8208func (s DefaultContinuousHyperParameterRange) GoString() string {
8209	return s.String()
8210}
8211
8212// SetIsTunable sets the IsTunable field's value.
8213func (s *DefaultContinuousHyperParameterRange) SetIsTunable(v bool) *DefaultContinuousHyperParameterRange {
8214	s.IsTunable = &v
8215	return s
8216}
8217
8218// SetMaxValue sets the MaxValue field's value.
8219func (s *DefaultContinuousHyperParameterRange) SetMaxValue(v float64) *DefaultContinuousHyperParameterRange {
8220	s.MaxValue = &v
8221	return s
8222}
8223
8224// SetMinValue sets the MinValue field's value.
8225func (s *DefaultContinuousHyperParameterRange) SetMinValue(v float64) *DefaultContinuousHyperParameterRange {
8226	s.MinValue = &v
8227	return s
8228}
8229
8230// SetName sets the Name field's value.
8231func (s *DefaultContinuousHyperParameterRange) SetName(v string) *DefaultContinuousHyperParameterRange {
8232	s.Name = &v
8233	return s
8234}
8235
8236// Specifies the hyperparameters and their default ranges. Hyperparameters can
8237// be categorical, continuous, or integer-valued.
8238type DefaultHyperParameterRanges struct {
8239	_ struct{} `type:"structure"`
8240
8241	// The categorical hyperparameters and their default ranges.
8242	CategoricalHyperParameterRanges []*DefaultCategoricalHyperParameterRange `locationName:"categoricalHyperParameterRanges" type:"list"`
8243
8244	// The continuous hyperparameters and their default ranges.
8245	ContinuousHyperParameterRanges []*DefaultContinuousHyperParameterRange `locationName:"continuousHyperParameterRanges" type:"list"`
8246
8247	// The integer-valued hyperparameters and their default ranges.
8248	IntegerHyperParameterRanges []*DefaultIntegerHyperParameterRange `locationName:"integerHyperParameterRanges" type:"list"`
8249}
8250
8251// String returns the string representation
8252func (s DefaultHyperParameterRanges) String() string {
8253	return awsutil.Prettify(s)
8254}
8255
8256// GoString returns the string representation
8257func (s DefaultHyperParameterRanges) GoString() string {
8258	return s.String()
8259}
8260
8261// SetCategoricalHyperParameterRanges sets the CategoricalHyperParameterRanges field's value.
8262func (s *DefaultHyperParameterRanges) SetCategoricalHyperParameterRanges(v []*DefaultCategoricalHyperParameterRange) *DefaultHyperParameterRanges {
8263	s.CategoricalHyperParameterRanges = v
8264	return s
8265}
8266
8267// SetContinuousHyperParameterRanges sets the ContinuousHyperParameterRanges field's value.
8268func (s *DefaultHyperParameterRanges) SetContinuousHyperParameterRanges(v []*DefaultContinuousHyperParameterRange) *DefaultHyperParameterRanges {
8269	s.ContinuousHyperParameterRanges = v
8270	return s
8271}
8272
8273// SetIntegerHyperParameterRanges sets the IntegerHyperParameterRanges field's value.
8274func (s *DefaultHyperParameterRanges) SetIntegerHyperParameterRanges(v []*DefaultIntegerHyperParameterRange) *DefaultHyperParameterRanges {
8275	s.IntegerHyperParameterRanges = v
8276	return s
8277}
8278
8279// Provides the name and default range of a integer-valued hyperparameter and
8280// whether the hyperparameter is tunable. A tunable hyperparameter can have
8281// its value determined during hyperparameter optimization (HPO).
8282type DefaultIntegerHyperParameterRange struct {
8283	_ struct{} `type:"structure"`
8284
8285	// Indicates whether the hyperparameter is tunable.
8286	IsTunable *bool `locationName:"isTunable" type:"boolean"`
8287
8288	// The maximum allowable value for the hyperparameter.
8289	MaxValue *int64 `locationName:"maxValue" type:"integer"`
8290
8291	// The minimum allowable value for the hyperparameter.
8292	MinValue *int64 `locationName:"minValue" type:"integer"`
8293
8294	// The name of the hyperparameter.
8295	Name *string `locationName:"name" type:"string"`
8296}
8297
8298// String returns the string representation
8299func (s DefaultIntegerHyperParameterRange) String() string {
8300	return awsutil.Prettify(s)
8301}
8302
8303// GoString returns the string representation
8304func (s DefaultIntegerHyperParameterRange) GoString() string {
8305	return s.String()
8306}
8307
8308// SetIsTunable sets the IsTunable field's value.
8309func (s *DefaultIntegerHyperParameterRange) SetIsTunable(v bool) *DefaultIntegerHyperParameterRange {
8310	s.IsTunable = &v
8311	return s
8312}
8313
8314// SetMaxValue sets the MaxValue field's value.
8315func (s *DefaultIntegerHyperParameterRange) SetMaxValue(v int64) *DefaultIntegerHyperParameterRange {
8316	s.MaxValue = &v
8317	return s
8318}
8319
8320// SetMinValue sets the MinValue field's value.
8321func (s *DefaultIntegerHyperParameterRange) SetMinValue(v int64) *DefaultIntegerHyperParameterRange {
8322	s.MinValue = &v
8323	return s
8324}
8325
8326// SetName sets the Name field's value.
8327func (s *DefaultIntegerHyperParameterRange) SetName(v string) *DefaultIntegerHyperParameterRange {
8328	s.Name = &v
8329	return s
8330}
8331
8332type DeleteCampaignInput struct {
8333	_ struct{} `type:"structure"`
8334
8335	// The Amazon Resource Name (ARN) of the campaign to delete.
8336	//
8337	// CampaignArn is a required field
8338	CampaignArn *string `locationName:"campaignArn" type:"string" required:"true"`
8339}
8340
8341// String returns the string representation
8342func (s DeleteCampaignInput) String() string {
8343	return awsutil.Prettify(s)
8344}
8345
8346// GoString returns the string representation
8347func (s DeleteCampaignInput) GoString() string {
8348	return s.String()
8349}
8350
8351// Validate inspects the fields of the type to determine if they are valid.
8352func (s *DeleteCampaignInput) Validate() error {
8353	invalidParams := request.ErrInvalidParams{Context: "DeleteCampaignInput"}
8354	if s.CampaignArn == nil {
8355		invalidParams.Add(request.NewErrParamRequired("CampaignArn"))
8356	}
8357
8358	if invalidParams.Len() > 0 {
8359		return invalidParams
8360	}
8361	return nil
8362}
8363
8364// SetCampaignArn sets the CampaignArn field's value.
8365func (s *DeleteCampaignInput) SetCampaignArn(v string) *DeleteCampaignInput {
8366	s.CampaignArn = &v
8367	return s
8368}
8369
8370type DeleteCampaignOutput struct {
8371	_ struct{} `type:"structure"`
8372}
8373
8374// String returns the string representation
8375func (s DeleteCampaignOutput) String() string {
8376	return awsutil.Prettify(s)
8377}
8378
8379// GoString returns the string representation
8380func (s DeleteCampaignOutput) GoString() string {
8381	return s.String()
8382}
8383
8384type DeleteDatasetGroupInput struct {
8385	_ struct{} `type:"structure"`
8386
8387	// The ARN of the dataset group to delete.
8388	//
8389	// DatasetGroupArn is a required field
8390	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"`
8391}
8392
8393// String returns the string representation
8394func (s DeleteDatasetGroupInput) String() string {
8395	return awsutil.Prettify(s)
8396}
8397
8398// GoString returns the string representation
8399func (s DeleteDatasetGroupInput) GoString() string {
8400	return s.String()
8401}
8402
8403// Validate inspects the fields of the type to determine if they are valid.
8404func (s *DeleteDatasetGroupInput) Validate() error {
8405	invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetGroupInput"}
8406	if s.DatasetGroupArn == nil {
8407		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
8408	}
8409
8410	if invalidParams.Len() > 0 {
8411		return invalidParams
8412	}
8413	return nil
8414}
8415
8416// SetDatasetGroupArn sets the DatasetGroupArn field's value.
8417func (s *DeleteDatasetGroupInput) SetDatasetGroupArn(v string) *DeleteDatasetGroupInput {
8418	s.DatasetGroupArn = &v
8419	return s
8420}
8421
8422type DeleteDatasetGroupOutput struct {
8423	_ struct{} `type:"structure"`
8424}
8425
8426// String returns the string representation
8427func (s DeleteDatasetGroupOutput) String() string {
8428	return awsutil.Prettify(s)
8429}
8430
8431// GoString returns the string representation
8432func (s DeleteDatasetGroupOutput) GoString() string {
8433	return s.String()
8434}
8435
8436type DeleteDatasetInput struct {
8437	_ struct{} `type:"structure"`
8438
8439	// The Amazon Resource Name (ARN) of the dataset to delete.
8440	//
8441	// DatasetArn is a required field
8442	DatasetArn *string `locationName:"datasetArn" type:"string" required:"true"`
8443}
8444
8445// String returns the string representation
8446func (s DeleteDatasetInput) String() string {
8447	return awsutil.Prettify(s)
8448}
8449
8450// GoString returns the string representation
8451func (s DeleteDatasetInput) GoString() string {
8452	return s.String()
8453}
8454
8455// Validate inspects the fields of the type to determine if they are valid.
8456func (s *DeleteDatasetInput) Validate() error {
8457	invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetInput"}
8458	if s.DatasetArn == nil {
8459		invalidParams.Add(request.NewErrParamRequired("DatasetArn"))
8460	}
8461
8462	if invalidParams.Len() > 0 {
8463		return invalidParams
8464	}
8465	return nil
8466}
8467
8468// SetDatasetArn sets the DatasetArn field's value.
8469func (s *DeleteDatasetInput) SetDatasetArn(v string) *DeleteDatasetInput {
8470	s.DatasetArn = &v
8471	return s
8472}
8473
8474type DeleteDatasetOutput struct {
8475	_ struct{} `type:"structure"`
8476}
8477
8478// String returns the string representation
8479func (s DeleteDatasetOutput) String() string {
8480	return awsutil.Prettify(s)
8481}
8482
8483// GoString returns the string representation
8484func (s DeleteDatasetOutput) GoString() string {
8485	return s.String()
8486}
8487
8488type DeleteEventTrackerInput struct {
8489	_ struct{} `type:"structure"`
8490
8491	// The Amazon Resource Name (ARN) of the event tracker to delete.
8492	//
8493	// EventTrackerArn is a required field
8494	EventTrackerArn *string `locationName:"eventTrackerArn" type:"string" required:"true"`
8495}
8496
8497// String returns the string representation
8498func (s DeleteEventTrackerInput) String() string {
8499	return awsutil.Prettify(s)
8500}
8501
8502// GoString returns the string representation
8503func (s DeleteEventTrackerInput) GoString() string {
8504	return s.String()
8505}
8506
8507// Validate inspects the fields of the type to determine if they are valid.
8508func (s *DeleteEventTrackerInput) Validate() error {
8509	invalidParams := request.ErrInvalidParams{Context: "DeleteEventTrackerInput"}
8510	if s.EventTrackerArn == nil {
8511		invalidParams.Add(request.NewErrParamRequired("EventTrackerArn"))
8512	}
8513
8514	if invalidParams.Len() > 0 {
8515		return invalidParams
8516	}
8517	return nil
8518}
8519
8520// SetEventTrackerArn sets the EventTrackerArn field's value.
8521func (s *DeleteEventTrackerInput) SetEventTrackerArn(v string) *DeleteEventTrackerInput {
8522	s.EventTrackerArn = &v
8523	return s
8524}
8525
8526type DeleteEventTrackerOutput struct {
8527	_ struct{} `type:"structure"`
8528}
8529
8530// String returns the string representation
8531func (s DeleteEventTrackerOutput) String() string {
8532	return awsutil.Prettify(s)
8533}
8534
8535// GoString returns the string representation
8536func (s DeleteEventTrackerOutput) GoString() string {
8537	return s.String()
8538}
8539
8540type DeleteFilterInput struct {
8541	_ struct{} `type:"structure"`
8542
8543	// The ARN of the filter to delete.
8544	//
8545	// FilterArn is a required field
8546	FilterArn *string `locationName:"filterArn" type:"string" required:"true"`
8547}
8548
8549// String returns the string representation
8550func (s DeleteFilterInput) String() string {
8551	return awsutil.Prettify(s)
8552}
8553
8554// GoString returns the string representation
8555func (s DeleteFilterInput) GoString() string {
8556	return s.String()
8557}
8558
8559// Validate inspects the fields of the type to determine if they are valid.
8560func (s *DeleteFilterInput) Validate() error {
8561	invalidParams := request.ErrInvalidParams{Context: "DeleteFilterInput"}
8562	if s.FilterArn == nil {
8563		invalidParams.Add(request.NewErrParamRequired("FilterArn"))
8564	}
8565
8566	if invalidParams.Len() > 0 {
8567		return invalidParams
8568	}
8569	return nil
8570}
8571
8572// SetFilterArn sets the FilterArn field's value.
8573func (s *DeleteFilterInput) SetFilterArn(v string) *DeleteFilterInput {
8574	s.FilterArn = &v
8575	return s
8576}
8577
8578type DeleteFilterOutput struct {
8579	_ struct{} `type:"structure"`
8580}
8581
8582// String returns the string representation
8583func (s DeleteFilterOutput) String() string {
8584	return awsutil.Prettify(s)
8585}
8586
8587// GoString returns the string representation
8588func (s DeleteFilterOutput) GoString() string {
8589	return s.String()
8590}
8591
8592type DeleteSchemaInput struct {
8593	_ struct{} `type:"structure"`
8594
8595	// The Amazon Resource Name (ARN) of the schema to delete.
8596	//
8597	// SchemaArn is a required field
8598	SchemaArn *string `locationName:"schemaArn" type:"string" required:"true"`
8599}
8600
8601// String returns the string representation
8602func (s DeleteSchemaInput) String() string {
8603	return awsutil.Prettify(s)
8604}
8605
8606// GoString returns the string representation
8607func (s DeleteSchemaInput) GoString() string {
8608	return s.String()
8609}
8610
8611// Validate inspects the fields of the type to determine if they are valid.
8612func (s *DeleteSchemaInput) Validate() error {
8613	invalidParams := request.ErrInvalidParams{Context: "DeleteSchemaInput"}
8614	if s.SchemaArn == nil {
8615		invalidParams.Add(request.NewErrParamRequired("SchemaArn"))
8616	}
8617
8618	if invalidParams.Len() > 0 {
8619		return invalidParams
8620	}
8621	return nil
8622}
8623
8624// SetSchemaArn sets the SchemaArn field's value.
8625func (s *DeleteSchemaInput) SetSchemaArn(v string) *DeleteSchemaInput {
8626	s.SchemaArn = &v
8627	return s
8628}
8629
8630type DeleteSchemaOutput struct {
8631	_ struct{} `type:"structure"`
8632}
8633
8634// String returns the string representation
8635func (s DeleteSchemaOutput) String() string {
8636	return awsutil.Prettify(s)
8637}
8638
8639// GoString returns the string representation
8640func (s DeleteSchemaOutput) GoString() string {
8641	return s.String()
8642}
8643
8644type DeleteSolutionInput struct {
8645	_ struct{} `type:"structure"`
8646
8647	// The ARN of the solution to delete.
8648	//
8649	// SolutionArn is a required field
8650	SolutionArn *string `locationName:"solutionArn" type:"string" required:"true"`
8651}
8652
8653// String returns the string representation
8654func (s DeleteSolutionInput) String() string {
8655	return awsutil.Prettify(s)
8656}
8657
8658// GoString returns the string representation
8659func (s DeleteSolutionInput) GoString() string {
8660	return s.String()
8661}
8662
8663// Validate inspects the fields of the type to determine if they are valid.
8664func (s *DeleteSolutionInput) Validate() error {
8665	invalidParams := request.ErrInvalidParams{Context: "DeleteSolutionInput"}
8666	if s.SolutionArn == nil {
8667		invalidParams.Add(request.NewErrParamRequired("SolutionArn"))
8668	}
8669
8670	if invalidParams.Len() > 0 {
8671		return invalidParams
8672	}
8673	return nil
8674}
8675
8676// SetSolutionArn sets the SolutionArn field's value.
8677func (s *DeleteSolutionInput) SetSolutionArn(v string) *DeleteSolutionInput {
8678	s.SolutionArn = &v
8679	return s
8680}
8681
8682type DeleteSolutionOutput struct {
8683	_ struct{} `type:"structure"`
8684}
8685
8686// String returns the string representation
8687func (s DeleteSolutionOutput) String() string {
8688	return awsutil.Prettify(s)
8689}
8690
8691// GoString returns the string representation
8692func (s DeleteSolutionOutput) GoString() string {
8693	return s.String()
8694}
8695
8696type DescribeAlgorithmInput struct {
8697	_ struct{} `type:"structure"`
8698
8699	// The Amazon Resource Name (ARN) of the algorithm to describe.
8700	//
8701	// AlgorithmArn is a required field
8702	AlgorithmArn *string `locationName:"algorithmArn" type:"string" required:"true"`
8703}
8704
8705// String returns the string representation
8706func (s DescribeAlgorithmInput) String() string {
8707	return awsutil.Prettify(s)
8708}
8709
8710// GoString returns the string representation
8711func (s DescribeAlgorithmInput) GoString() string {
8712	return s.String()
8713}
8714
8715// Validate inspects the fields of the type to determine if they are valid.
8716func (s *DescribeAlgorithmInput) Validate() error {
8717	invalidParams := request.ErrInvalidParams{Context: "DescribeAlgorithmInput"}
8718	if s.AlgorithmArn == nil {
8719		invalidParams.Add(request.NewErrParamRequired("AlgorithmArn"))
8720	}
8721
8722	if invalidParams.Len() > 0 {
8723		return invalidParams
8724	}
8725	return nil
8726}
8727
8728// SetAlgorithmArn sets the AlgorithmArn field's value.
8729func (s *DescribeAlgorithmInput) SetAlgorithmArn(v string) *DescribeAlgorithmInput {
8730	s.AlgorithmArn = &v
8731	return s
8732}
8733
8734type DescribeAlgorithmOutput struct {
8735	_ struct{} `type:"structure"`
8736
8737	// A listing of the properties of the algorithm.
8738	Algorithm *Algorithm `locationName:"algorithm" type:"structure"`
8739}
8740
8741// String returns the string representation
8742func (s DescribeAlgorithmOutput) String() string {
8743	return awsutil.Prettify(s)
8744}
8745
8746// GoString returns the string representation
8747func (s DescribeAlgorithmOutput) GoString() string {
8748	return s.String()
8749}
8750
8751// SetAlgorithm sets the Algorithm field's value.
8752func (s *DescribeAlgorithmOutput) SetAlgorithm(v *Algorithm) *DescribeAlgorithmOutput {
8753	s.Algorithm = v
8754	return s
8755}
8756
8757type DescribeBatchInferenceJobInput struct {
8758	_ struct{} `type:"structure"`
8759
8760	// The ARN of the batch inference job to describe.
8761	//
8762	// BatchInferenceJobArn is a required field
8763	BatchInferenceJobArn *string `locationName:"batchInferenceJobArn" type:"string" required:"true"`
8764}
8765
8766// String returns the string representation
8767func (s DescribeBatchInferenceJobInput) String() string {
8768	return awsutil.Prettify(s)
8769}
8770
8771// GoString returns the string representation
8772func (s DescribeBatchInferenceJobInput) GoString() string {
8773	return s.String()
8774}
8775
8776// Validate inspects the fields of the type to determine if they are valid.
8777func (s *DescribeBatchInferenceJobInput) Validate() error {
8778	invalidParams := request.ErrInvalidParams{Context: "DescribeBatchInferenceJobInput"}
8779	if s.BatchInferenceJobArn == nil {
8780		invalidParams.Add(request.NewErrParamRequired("BatchInferenceJobArn"))
8781	}
8782
8783	if invalidParams.Len() > 0 {
8784		return invalidParams
8785	}
8786	return nil
8787}
8788
8789// SetBatchInferenceJobArn sets the BatchInferenceJobArn field's value.
8790func (s *DescribeBatchInferenceJobInput) SetBatchInferenceJobArn(v string) *DescribeBatchInferenceJobInput {
8791	s.BatchInferenceJobArn = &v
8792	return s
8793}
8794
8795type DescribeBatchInferenceJobOutput struct {
8796	_ struct{} `type:"structure"`
8797
8798	// Information on the specified batch inference job.
8799	BatchInferenceJob *BatchInferenceJob `locationName:"batchInferenceJob" type:"structure"`
8800}
8801
8802// String returns the string representation
8803func (s DescribeBatchInferenceJobOutput) String() string {
8804	return awsutil.Prettify(s)
8805}
8806
8807// GoString returns the string representation
8808func (s DescribeBatchInferenceJobOutput) GoString() string {
8809	return s.String()
8810}
8811
8812// SetBatchInferenceJob sets the BatchInferenceJob field's value.
8813func (s *DescribeBatchInferenceJobOutput) SetBatchInferenceJob(v *BatchInferenceJob) *DescribeBatchInferenceJobOutput {
8814	s.BatchInferenceJob = v
8815	return s
8816}
8817
8818type DescribeCampaignInput struct {
8819	_ struct{} `type:"structure"`
8820
8821	// The Amazon Resource Name (ARN) of the campaign.
8822	//
8823	// CampaignArn is a required field
8824	CampaignArn *string `locationName:"campaignArn" type:"string" required:"true"`
8825}
8826
8827// String returns the string representation
8828func (s DescribeCampaignInput) String() string {
8829	return awsutil.Prettify(s)
8830}
8831
8832// GoString returns the string representation
8833func (s DescribeCampaignInput) GoString() string {
8834	return s.String()
8835}
8836
8837// Validate inspects the fields of the type to determine if they are valid.
8838func (s *DescribeCampaignInput) Validate() error {
8839	invalidParams := request.ErrInvalidParams{Context: "DescribeCampaignInput"}
8840	if s.CampaignArn == nil {
8841		invalidParams.Add(request.NewErrParamRequired("CampaignArn"))
8842	}
8843
8844	if invalidParams.Len() > 0 {
8845		return invalidParams
8846	}
8847	return nil
8848}
8849
8850// SetCampaignArn sets the CampaignArn field's value.
8851func (s *DescribeCampaignInput) SetCampaignArn(v string) *DescribeCampaignInput {
8852	s.CampaignArn = &v
8853	return s
8854}
8855
8856type DescribeCampaignOutput struct {
8857	_ struct{} `type:"structure"`
8858
8859	// The properties of the campaign.
8860	Campaign *Campaign `locationName:"campaign" type:"structure"`
8861}
8862
8863// String returns the string representation
8864func (s DescribeCampaignOutput) String() string {
8865	return awsutil.Prettify(s)
8866}
8867
8868// GoString returns the string representation
8869func (s DescribeCampaignOutput) GoString() string {
8870	return s.String()
8871}
8872
8873// SetCampaign sets the Campaign field's value.
8874func (s *DescribeCampaignOutput) SetCampaign(v *Campaign) *DescribeCampaignOutput {
8875	s.Campaign = v
8876	return s
8877}
8878
8879type DescribeDatasetExportJobInput struct {
8880	_ struct{} `type:"structure"`
8881
8882	// The Amazon Resource Name (ARN) of the dataset export job to describe.
8883	//
8884	// DatasetExportJobArn is a required field
8885	DatasetExportJobArn *string `locationName:"datasetExportJobArn" type:"string" required:"true"`
8886}
8887
8888// String returns the string representation
8889func (s DescribeDatasetExportJobInput) String() string {
8890	return awsutil.Prettify(s)
8891}
8892
8893// GoString returns the string representation
8894func (s DescribeDatasetExportJobInput) GoString() string {
8895	return s.String()
8896}
8897
8898// Validate inspects the fields of the type to determine if they are valid.
8899func (s *DescribeDatasetExportJobInput) Validate() error {
8900	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetExportJobInput"}
8901	if s.DatasetExportJobArn == nil {
8902		invalidParams.Add(request.NewErrParamRequired("DatasetExportJobArn"))
8903	}
8904
8905	if invalidParams.Len() > 0 {
8906		return invalidParams
8907	}
8908	return nil
8909}
8910
8911// SetDatasetExportJobArn sets the DatasetExportJobArn field's value.
8912func (s *DescribeDatasetExportJobInput) SetDatasetExportJobArn(v string) *DescribeDatasetExportJobInput {
8913	s.DatasetExportJobArn = &v
8914	return s
8915}
8916
8917type DescribeDatasetExportJobOutput struct {
8918	_ struct{} `type:"structure"`
8919
8920	// Information about the dataset export job, including the status.
8921	//
8922	// The status is one of the following values:
8923	//
8924	//    * CREATE PENDING
8925	//
8926	//    * CREATE IN_PROGRESS
8927	//
8928	//    * ACTIVE
8929	//
8930	//    * CREATE FAILED
8931	DatasetExportJob *DatasetExportJob `locationName:"datasetExportJob" type:"structure"`
8932}
8933
8934// String returns the string representation
8935func (s DescribeDatasetExportJobOutput) String() string {
8936	return awsutil.Prettify(s)
8937}
8938
8939// GoString returns the string representation
8940func (s DescribeDatasetExportJobOutput) GoString() string {
8941	return s.String()
8942}
8943
8944// SetDatasetExportJob sets the DatasetExportJob field's value.
8945func (s *DescribeDatasetExportJobOutput) SetDatasetExportJob(v *DatasetExportJob) *DescribeDatasetExportJobOutput {
8946	s.DatasetExportJob = v
8947	return s
8948}
8949
8950type DescribeDatasetGroupInput struct {
8951	_ struct{} `type:"structure"`
8952
8953	// The Amazon Resource Name (ARN) of the dataset group to describe.
8954	//
8955	// DatasetGroupArn is a required field
8956	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"`
8957}
8958
8959// String returns the string representation
8960func (s DescribeDatasetGroupInput) String() string {
8961	return awsutil.Prettify(s)
8962}
8963
8964// GoString returns the string representation
8965func (s DescribeDatasetGroupInput) GoString() string {
8966	return s.String()
8967}
8968
8969// Validate inspects the fields of the type to determine if they are valid.
8970func (s *DescribeDatasetGroupInput) Validate() error {
8971	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetGroupInput"}
8972	if s.DatasetGroupArn == nil {
8973		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
8974	}
8975
8976	if invalidParams.Len() > 0 {
8977		return invalidParams
8978	}
8979	return nil
8980}
8981
8982// SetDatasetGroupArn sets the DatasetGroupArn field's value.
8983func (s *DescribeDatasetGroupInput) SetDatasetGroupArn(v string) *DescribeDatasetGroupInput {
8984	s.DatasetGroupArn = &v
8985	return s
8986}
8987
8988type DescribeDatasetGroupOutput struct {
8989	_ struct{} `type:"structure"`
8990
8991	// A listing of the dataset group's properties.
8992	DatasetGroup *DatasetGroup `locationName:"datasetGroup" type:"structure"`
8993}
8994
8995// String returns the string representation
8996func (s DescribeDatasetGroupOutput) String() string {
8997	return awsutil.Prettify(s)
8998}
8999
9000// GoString returns the string representation
9001func (s DescribeDatasetGroupOutput) GoString() string {
9002	return s.String()
9003}
9004
9005// SetDatasetGroup sets the DatasetGroup field's value.
9006func (s *DescribeDatasetGroupOutput) SetDatasetGroup(v *DatasetGroup) *DescribeDatasetGroupOutput {
9007	s.DatasetGroup = v
9008	return s
9009}
9010
9011type DescribeDatasetImportJobInput struct {
9012	_ struct{} `type:"structure"`
9013
9014	// The Amazon Resource Name (ARN) of the dataset import job to describe.
9015	//
9016	// DatasetImportJobArn is a required field
9017	DatasetImportJobArn *string `locationName:"datasetImportJobArn" type:"string" required:"true"`
9018}
9019
9020// String returns the string representation
9021func (s DescribeDatasetImportJobInput) String() string {
9022	return awsutil.Prettify(s)
9023}
9024
9025// GoString returns the string representation
9026func (s DescribeDatasetImportJobInput) GoString() string {
9027	return s.String()
9028}
9029
9030// Validate inspects the fields of the type to determine if they are valid.
9031func (s *DescribeDatasetImportJobInput) Validate() error {
9032	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetImportJobInput"}
9033	if s.DatasetImportJobArn == nil {
9034		invalidParams.Add(request.NewErrParamRequired("DatasetImportJobArn"))
9035	}
9036
9037	if invalidParams.Len() > 0 {
9038		return invalidParams
9039	}
9040	return nil
9041}
9042
9043// SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
9044func (s *DescribeDatasetImportJobInput) SetDatasetImportJobArn(v string) *DescribeDatasetImportJobInput {
9045	s.DatasetImportJobArn = &v
9046	return s
9047}
9048
9049type DescribeDatasetImportJobOutput struct {
9050	_ struct{} `type:"structure"`
9051
9052	// Information about the dataset import job, including the status.
9053	//
9054	// The status is one of the following values:
9055	//
9056	//    * CREATE PENDING
9057	//
9058	//    * CREATE IN_PROGRESS
9059	//
9060	//    * ACTIVE
9061	//
9062	//    * CREATE FAILED
9063	DatasetImportJob *DatasetImportJob `locationName:"datasetImportJob" type:"structure"`
9064}
9065
9066// String returns the string representation
9067func (s DescribeDatasetImportJobOutput) String() string {
9068	return awsutil.Prettify(s)
9069}
9070
9071// GoString returns the string representation
9072func (s DescribeDatasetImportJobOutput) GoString() string {
9073	return s.String()
9074}
9075
9076// SetDatasetImportJob sets the DatasetImportJob field's value.
9077func (s *DescribeDatasetImportJobOutput) SetDatasetImportJob(v *DatasetImportJob) *DescribeDatasetImportJobOutput {
9078	s.DatasetImportJob = v
9079	return s
9080}
9081
9082type DescribeDatasetInput struct {
9083	_ struct{} `type:"structure"`
9084
9085	// The Amazon Resource Name (ARN) of the dataset to describe.
9086	//
9087	// DatasetArn is a required field
9088	DatasetArn *string `locationName:"datasetArn" type:"string" required:"true"`
9089}
9090
9091// String returns the string representation
9092func (s DescribeDatasetInput) String() string {
9093	return awsutil.Prettify(s)
9094}
9095
9096// GoString returns the string representation
9097func (s DescribeDatasetInput) GoString() string {
9098	return s.String()
9099}
9100
9101// Validate inspects the fields of the type to determine if they are valid.
9102func (s *DescribeDatasetInput) Validate() error {
9103	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetInput"}
9104	if s.DatasetArn == nil {
9105		invalidParams.Add(request.NewErrParamRequired("DatasetArn"))
9106	}
9107
9108	if invalidParams.Len() > 0 {
9109		return invalidParams
9110	}
9111	return nil
9112}
9113
9114// SetDatasetArn sets the DatasetArn field's value.
9115func (s *DescribeDatasetInput) SetDatasetArn(v string) *DescribeDatasetInput {
9116	s.DatasetArn = &v
9117	return s
9118}
9119
9120type DescribeDatasetOutput struct {
9121	_ struct{} `type:"structure"`
9122
9123	// A listing of the dataset's properties.
9124	Dataset *Dataset `locationName:"dataset" type:"structure"`
9125}
9126
9127// String returns the string representation
9128func (s DescribeDatasetOutput) String() string {
9129	return awsutil.Prettify(s)
9130}
9131
9132// GoString returns the string representation
9133func (s DescribeDatasetOutput) GoString() string {
9134	return s.String()
9135}
9136
9137// SetDataset sets the Dataset field's value.
9138func (s *DescribeDatasetOutput) SetDataset(v *Dataset) *DescribeDatasetOutput {
9139	s.Dataset = v
9140	return s
9141}
9142
9143type DescribeEventTrackerInput struct {
9144	_ struct{} `type:"structure"`
9145
9146	// The Amazon Resource Name (ARN) of the event tracker to describe.
9147	//
9148	// EventTrackerArn is a required field
9149	EventTrackerArn *string `locationName:"eventTrackerArn" type:"string" required:"true"`
9150}
9151
9152// String returns the string representation
9153func (s DescribeEventTrackerInput) String() string {
9154	return awsutil.Prettify(s)
9155}
9156
9157// GoString returns the string representation
9158func (s DescribeEventTrackerInput) GoString() string {
9159	return s.String()
9160}
9161
9162// Validate inspects the fields of the type to determine if they are valid.
9163func (s *DescribeEventTrackerInput) Validate() error {
9164	invalidParams := request.ErrInvalidParams{Context: "DescribeEventTrackerInput"}
9165	if s.EventTrackerArn == nil {
9166		invalidParams.Add(request.NewErrParamRequired("EventTrackerArn"))
9167	}
9168
9169	if invalidParams.Len() > 0 {
9170		return invalidParams
9171	}
9172	return nil
9173}
9174
9175// SetEventTrackerArn sets the EventTrackerArn field's value.
9176func (s *DescribeEventTrackerInput) SetEventTrackerArn(v string) *DescribeEventTrackerInput {
9177	s.EventTrackerArn = &v
9178	return s
9179}
9180
9181type DescribeEventTrackerOutput struct {
9182	_ struct{} `type:"structure"`
9183
9184	// An object that describes the event tracker.
9185	EventTracker *EventTracker `locationName:"eventTracker" type:"structure"`
9186}
9187
9188// String returns the string representation
9189func (s DescribeEventTrackerOutput) String() string {
9190	return awsutil.Prettify(s)
9191}
9192
9193// GoString returns the string representation
9194func (s DescribeEventTrackerOutput) GoString() string {
9195	return s.String()
9196}
9197
9198// SetEventTracker sets the EventTracker field's value.
9199func (s *DescribeEventTrackerOutput) SetEventTracker(v *EventTracker) *DescribeEventTrackerOutput {
9200	s.EventTracker = v
9201	return s
9202}
9203
9204type DescribeFeatureTransformationInput struct {
9205	_ struct{} `type:"structure"`
9206
9207	// The Amazon Resource Name (ARN) of the feature transformation to describe.
9208	//
9209	// FeatureTransformationArn is a required field
9210	FeatureTransformationArn *string `locationName:"featureTransformationArn" type:"string" required:"true"`
9211}
9212
9213// String returns the string representation
9214func (s DescribeFeatureTransformationInput) String() string {
9215	return awsutil.Prettify(s)
9216}
9217
9218// GoString returns the string representation
9219func (s DescribeFeatureTransformationInput) GoString() string {
9220	return s.String()
9221}
9222
9223// Validate inspects the fields of the type to determine if they are valid.
9224func (s *DescribeFeatureTransformationInput) Validate() error {
9225	invalidParams := request.ErrInvalidParams{Context: "DescribeFeatureTransformationInput"}
9226	if s.FeatureTransformationArn == nil {
9227		invalidParams.Add(request.NewErrParamRequired("FeatureTransformationArn"))
9228	}
9229
9230	if invalidParams.Len() > 0 {
9231		return invalidParams
9232	}
9233	return nil
9234}
9235
9236// SetFeatureTransformationArn sets the FeatureTransformationArn field's value.
9237func (s *DescribeFeatureTransformationInput) SetFeatureTransformationArn(v string) *DescribeFeatureTransformationInput {
9238	s.FeatureTransformationArn = &v
9239	return s
9240}
9241
9242type DescribeFeatureTransformationOutput struct {
9243	_ struct{} `type:"structure"`
9244
9245	// A listing of the FeatureTransformation properties.
9246	FeatureTransformation *FeatureTransformation `locationName:"featureTransformation" type:"structure"`
9247}
9248
9249// String returns the string representation
9250func (s DescribeFeatureTransformationOutput) String() string {
9251	return awsutil.Prettify(s)
9252}
9253
9254// GoString returns the string representation
9255func (s DescribeFeatureTransformationOutput) GoString() string {
9256	return s.String()
9257}
9258
9259// SetFeatureTransformation sets the FeatureTransformation field's value.
9260func (s *DescribeFeatureTransformationOutput) SetFeatureTransformation(v *FeatureTransformation) *DescribeFeatureTransformationOutput {
9261	s.FeatureTransformation = v
9262	return s
9263}
9264
9265type DescribeFilterInput struct {
9266	_ struct{} `type:"structure"`
9267
9268	// The ARN of the filter to describe.
9269	//
9270	// FilterArn is a required field
9271	FilterArn *string `locationName:"filterArn" type:"string" required:"true"`
9272}
9273
9274// String returns the string representation
9275func (s DescribeFilterInput) String() string {
9276	return awsutil.Prettify(s)
9277}
9278
9279// GoString returns the string representation
9280func (s DescribeFilterInput) GoString() string {
9281	return s.String()
9282}
9283
9284// Validate inspects the fields of the type to determine if they are valid.
9285func (s *DescribeFilterInput) Validate() error {
9286	invalidParams := request.ErrInvalidParams{Context: "DescribeFilterInput"}
9287	if s.FilterArn == nil {
9288		invalidParams.Add(request.NewErrParamRequired("FilterArn"))
9289	}
9290
9291	if invalidParams.Len() > 0 {
9292		return invalidParams
9293	}
9294	return nil
9295}
9296
9297// SetFilterArn sets the FilterArn field's value.
9298func (s *DescribeFilterInput) SetFilterArn(v string) *DescribeFilterInput {
9299	s.FilterArn = &v
9300	return s
9301}
9302
9303type DescribeFilterOutput struct {
9304	_ struct{} `type:"structure"`
9305
9306	// The filter's details.
9307	Filter *Filter `locationName:"filter" type:"structure"`
9308}
9309
9310// String returns the string representation
9311func (s DescribeFilterOutput) String() string {
9312	return awsutil.Prettify(s)
9313}
9314
9315// GoString returns the string representation
9316func (s DescribeFilterOutput) GoString() string {
9317	return s.String()
9318}
9319
9320// SetFilter sets the Filter field's value.
9321func (s *DescribeFilterOutput) SetFilter(v *Filter) *DescribeFilterOutput {
9322	s.Filter = v
9323	return s
9324}
9325
9326type DescribeRecipeInput struct {
9327	_ struct{} `type:"structure"`
9328
9329	// The Amazon Resource Name (ARN) of the recipe to describe.
9330	//
9331	// RecipeArn is a required field
9332	RecipeArn *string `locationName:"recipeArn" type:"string" required:"true"`
9333}
9334
9335// String returns the string representation
9336func (s DescribeRecipeInput) String() string {
9337	return awsutil.Prettify(s)
9338}
9339
9340// GoString returns the string representation
9341func (s DescribeRecipeInput) GoString() string {
9342	return s.String()
9343}
9344
9345// Validate inspects the fields of the type to determine if they are valid.
9346func (s *DescribeRecipeInput) Validate() error {
9347	invalidParams := request.ErrInvalidParams{Context: "DescribeRecipeInput"}
9348	if s.RecipeArn == nil {
9349		invalidParams.Add(request.NewErrParamRequired("RecipeArn"))
9350	}
9351
9352	if invalidParams.Len() > 0 {
9353		return invalidParams
9354	}
9355	return nil
9356}
9357
9358// SetRecipeArn sets the RecipeArn field's value.
9359func (s *DescribeRecipeInput) SetRecipeArn(v string) *DescribeRecipeInput {
9360	s.RecipeArn = &v
9361	return s
9362}
9363
9364type DescribeRecipeOutput struct {
9365	_ struct{} `type:"structure"`
9366
9367	// An object that describes the recipe.
9368	Recipe *Recipe `locationName:"recipe" type:"structure"`
9369}
9370
9371// String returns the string representation
9372func (s DescribeRecipeOutput) String() string {
9373	return awsutil.Prettify(s)
9374}
9375
9376// GoString returns the string representation
9377func (s DescribeRecipeOutput) GoString() string {
9378	return s.String()
9379}
9380
9381// SetRecipe sets the Recipe field's value.
9382func (s *DescribeRecipeOutput) SetRecipe(v *Recipe) *DescribeRecipeOutput {
9383	s.Recipe = v
9384	return s
9385}
9386
9387type DescribeSchemaInput struct {
9388	_ struct{} `type:"structure"`
9389
9390	// The Amazon Resource Name (ARN) of the schema to retrieve.
9391	//
9392	// SchemaArn is a required field
9393	SchemaArn *string `locationName:"schemaArn" type:"string" required:"true"`
9394}
9395
9396// String returns the string representation
9397func (s DescribeSchemaInput) String() string {
9398	return awsutil.Prettify(s)
9399}
9400
9401// GoString returns the string representation
9402func (s DescribeSchemaInput) GoString() string {
9403	return s.String()
9404}
9405
9406// Validate inspects the fields of the type to determine if they are valid.
9407func (s *DescribeSchemaInput) Validate() error {
9408	invalidParams := request.ErrInvalidParams{Context: "DescribeSchemaInput"}
9409	if s.SchemaArn == nil {
9410		invalidParams.Add(request.NewErrParamRequired("SchemaArn"))
9411	}
9412
9413	if invalidParams.Len() > 0 {
9414		return invalidParams
9415	}
9416	return nil
9417}
9418
9419// SetSchemaArn sets the SchemaArn field's value.
9420func (s *DescribeSchemaInput) SetSchemaArn(v string) *DescribeSchemaInput {
9421	s.SchemaArn = &v
9422	return s
9423}
9424
9425type DescribeSchemaOutput struct {
9426	_ struct{} `type:"structure"`
9427
9428	// The requested schema.
9429	Schema *DatasetSchema `locationName:"schema" type:"structure"`
9430}
9431
9432// String returns the string representation
9433func (s DescribeSchemaOutput) String() string {
9434	return awsutil.Prettify(s)
9435}
9436
9437// GoString returns the string representation
9438func (s DescribeSchemaOutput) GoString() string {
9439	return s.String()
9440}
9441
9442// SetSchema sets the Schema field's value.
9443func (s *DescribeSchemaOutput) SetSchema(v *DatasetSchema) *DescribeSchemaOutput {
9444	s.Schema = v
9445	return s
9446}
9447
9448type DescribeSolutionInput struct {
9449	_ struct{} `type:"structure"`
9450
9451	// The Amazon Resource Name (ARN) of the solution to describe.
9452	//
9453	// SolutionArn is a required field
9454	SolutionArn *string `locationName:"solutionArn" type:"string" required:"true"`
9455}
9456
9457// String returns the string representation
9458func (s DescribeSolutionInput) String() string {
9459	return awsutil.Prettify(s)
9460}
9461
9462// GoString returns the string representation
9463func (s DescribeSolutionInput) GoString() string {
9464	return s.String()
9465}
9466
9467// Validate inspects the fields of the type to determine if they are valid.
9468func (s *DescribeSolutionInput) Validate() error {
9469	invalidParams := request.ErrInvalidParams{Context: "DescribeSolutionInput"}
9470	if s.SolutionArn == nil {
9471		invalidParams.Add(request.NewErrParamRequired("SolutionArn"))
9472	}
9473
9474	if invalidParams.Len() > 0 {
9475		return invalidParams
9476	}
9477	return nil
9478}
9479
9480// SetSolutionArn sets the SolutionArn field's value.
9481func (s *DescribeSolutionInput) SetSolutionArn(v string) *DescribeSolutionInput {
9482	s.SolutionArn = &v
9483	return s
9484}
9485
9486type DescribeSolutionOutput struct {
9487	_ struct{} `type:"structure"`
9488
9489	// An object that describes the solution.
9490	Solution *Solution `locationName:"solution" type:"structure"`
9491}
9492
9493// String returns the string representation
9494func (s DescribeSolutionOutput) String() string {
9495	return awsutil.Prettify(s)
9496}
9497
9498// GoString returns the string representation
9499func (s DescribeSolutionOutput) GoString() string {
9500	return s.String()
9501}
9502
9503// SetSolution sets the Solution field's value.
9504func (s *DescribeSolutionOutput) SetSolution(v *Solution) *DescribeSolutionOutput {
9505	s.Solution = v
9506	return s
9507}
9508
9509type DescribeSolutionVersionInput struct {
9510	_ struct{} `type:"structure"`
9511
9512	// The Amazon Resource Name (ARN) of the solution version.
9513	//
9514	// SolutionVersionArn is a required field
9515	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string" required:"true"`
9516}
9517
9518// String returns the string representation
9519func (s DescribeSolutionVersionInput) String() string {
9520	return awsutil.Prettify(s)
9521}
9522
9523// GoString returns the string representation
9524func (s DescribeSolutionVersionInput) GoString() string {
9525	return s.String()
9526}
9527
9528// Validate inspects the fields of the type to determine if they are valid.
9529func (s *DescribeSolutionVersionInput) Validate() error {
9530	invalidParams := request.ErrInvalidParams{Context: "DescribeSolutionVersionInput"}
9531	if s.SolutionVersionArn == nil {
9532		invalidParams.Add(request.NewErrParamRequired("SolutionVersionArn"))
9533	}
9534
9535	if invalidParams.Len() > 0 {
9536		return invalidParams
9537	}
9538	return nil
9539}
9540
9541// SetSolutionVersionArn sets the SolutionVersionArn field's value.
9542func (s *DescribeSolutionVersionInput) SetSolutionVersionArn(v string) *DescribeSolutionVersionInput {
9543	s.SolutionVersionArn = &v
9544	return s
9545}
9546
9547type DescribeSolutionVersionOutput struct {
9548	_ struct{} `type:"structure"`
9549
9550	// The solution version.
9551	SolutionVersion *SolutionVersion `locationName:"solutionVersion" type:"structure"`
9552}
9553
9554// String returns the string representation
9555func (s DescribeSolutionVersionOutput) String() string {
9556	return awsutil.Prettify(s)
9557}
9558
9559// GoString returns the string representation
9560func (s DescribeSolutionVersionOutput) GoString() string {
9561	return s.String()
9562}
9563
9564// SetSolutionVersion sets the SolutionVersion field's value.
9565func (s *DescribeSolutionVersionOutput) SetSolutionVersion(v *SolutionVersion) *DescribeSolutionVersionOutput {
9566	s.SolutionVersion = v
9567	return s
9568}
9569
9570// Provides information about an event tracker.
9571type EventTracker struct {
9572	_ struct{} `type:"structure"`
9573
9574	// The Amazon Web Services account that owns the event tracker.
9575	AccountId *string `locationName:"accountId" type:"string"`
9576
9577	// The date and time (in Unix format) that the event tracker was created.
9578	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
9579
9580	// The Amazon Resource Name (ARN) of the dataset group that receives the event
9581	// data.
9582	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
9583
9584	// The ARN of the event tracker.
9585	EventTrackerArn *string `locationName:"eventTrackerArn" type:"string"`
9586
9587	// The date and time (in Unix time) that the event tracker was last updated.
9588	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
9589
9590	// The name of the event tracker.
9591	Name *string `locationName:"name" min:"1" type:"string"`
9592
9593	// The status of the event tracker.
9594	//
9595	// An event tracker can be in one of the following states:
9596	//
9597	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
9598	//
9599	//    * DELETE PENDING > DELETE IN_PROGRESS
9600	Status *string `locationName:"status" type:"string"`
9601
9602	// The ID of the event tracker. Include this ID in requests to the PutEvents
9603	// (https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html)
9604	// API.
9605	TrackingId *string `locationName:"trackingId" type:"string"`
9606}
9607
9608// String returns the string representation
9609func (s EventTracker) String() string {
9610	return awsutil.Prettify(s)
9611}
9612
9613// GoString returns the string representation
9614func (s EventTracker) GoString() string {
9615	return s.String()
9616}
9617
9618// SetAccountId sets the AccountId field's value.
9619func (s *EventTracker) SetAccountId(v string) *EventTracker {
9620	s.AccountId = &v
9621	return s
9622}
9623
9624// SetCreationDateTime sets the CreationDateTime field's value.
9625func (s *EventTracker) SetCreationDateTime(v time.Time) *EventTracker {
9626	s.CreationDateTime = &v
9627	return s
9628}
9629
9630// SetDatasetGroupArn sets the DatasetGroupArn field's value.
9631func (s *EventTracker) SetDatasetGroupArn(v string) *EventTracker {
9632	s.DatasetGroupArn = &v
9633	return s
9634}
9635
9636// SetEventTrackerArn sets the EventTrackerArn field's value.
9637func (s *EventTracker) SetEventTrackerArn(v string) *EventTracker {
9638	s.EventTrackerArn = &v
9639	return s
9640}
9641
9642// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
9643func (s *EventTracker) SetLastUpdatedDateTime(v time.Time) *EventTracker {
9644	s.LastUpdatedDateTime = &v
9645	return s
9646}
9647
9648// SetName sets the Name field's value.
9649func (s *EventTracker) SetName(v string) *EventTracker {
9650	s.Name = &v
9651	return s
9652}
9653
9654// SetStatus sets the Status field's value.
9655func (s *EventTracker) SetStatus(v string) *EventTracker {
9656	s.Status = &v
9657	return s
9658}
9659
9660// SetTrackingId sets the TrackingId field's value.
9661func (s *EventTracker) SetTrackingId(v string) *EventTracker {
9662	s.TrackingId = &v
9663	return s
9664}
9665
9666// Provides a summary of the properties of an event tracker. For a complete
9667// listing, call the DescribeEventTracker API.
9668type EventTrackerSummary struct {
9669	_ struct{} `type:"structure"`
9670
9671	// The date and time (in Unix time) that the event tracker was created.
9672	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
9673
9674	// The Amazon Resource Name (ARN) of the event tracker.
9675	EventTrackerArn *string `locationName:"eventTrackerArn" type:"string"`
9676
9677	// The date and time (in Unix time) that the event tracker was last updated.
9678	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
9679
9680	// The name of the event tracker.
9681	Name *string `locationName:"name" min:"1" type:"string"`
9682
9683	// The status of the event tracker.
9684	//
9685	// An event tracker can be in one of the following states:
9686	//
9687	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
9688	//
9689	//    * DELETE PENDING > DELETE IN_PROGRESS
9690	Status *string `locationName:"status" type:"string"`
9691}
9692
9693// String returns the string representation
9694func (s EventTrackerSummary) String() string {
9695	return awsutil.Prettify(s)
9696}
9697
9698// GoString returns the string representation
9699func (s EventTrackerSummary) GoString() string {
9700	return s.String()
9701}
9702
9703// SetCreationDateTime sets the CreationDateTime field's value.
9704func (s *EventTrackerSummary) SetCreationDateTime(v time.Time) *EventTrackerSummary {
9705	s.CreationDateTime = &v
9706	return s
9707}
9708
9709// SetEventTrackerArn sets the EventTrackerArn field's value.
9710func (s *EventTrackerSummary) SetEventTrackerArn(v string) *EventTrackerSummary {
9711	s.EventTrackerArn = &v
9712	return s
9713}
9714
9715// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
9716func (s *EventTrackerSummary) SetLastUpdatedDateTime(v time.Time) *EventTrackerSummary {
9717	s.LastUpdatedDateTime = &v
9718	return s
9719}
9720
9721// SetName sets the Name field's value.
9722func (s *EventTrackerSummary) SetName(v string) *EventTrackerSummary {
9723	s.Name = &v
9724	return s
9725}
9726
9727// SetStatus sets the Status field's value.
9728func (s *EventTrackerSummary) SetStatus(v string) *EventTrackerSummary {
9729	s.Status = &v
9730	return s
9731}
9732
9733// Provides feature transformation information. Feature transformation is the
9734// process of modifying raw input data into a form more suitable for model training.
9735type FeatureTransformation struct {
9736	_ struct{} `type:"structure"`
9737
9738	// The creation date and time (in Unix time) of the feature transformation.
9739	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
9740
9741	// Provides the default parameters for feature transformation.
9742	DefaultParameters map[string]*string `locationName:"defaultParameters" type:"map"`
9743
9744	// The Amazon Resource Name (ARN) of the FeatureTransformation object.
9745	FeatureTransformationArn *string `locationName:"featureTransformationArn" type:"string"`
9746
9747	// The last update date and time (in Unix time) of the feature transformation.
9748	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
9749
9750	// The name of the feature transformation.
9751	Name *string `locationName:"name" min:"1" type:"string"`
9752
9753	// The status of the feature transformation.
9754	//
9755	// A feature transformation can be in one of the following states:
9756	//
9757	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
9758	Status *string `locationName:"status" type:"string"`
9759}
9760
9761// String returns the string representation
9762func (s FeatureTransformation) String() string {
9763	return awsutil.Prettify(s)
9764}
9765
9766// GoString returns the string representation
9767func (s FeatureTransformation) GoString() string {
9768	return s.String()
9769}
9770
9771// SetCreationDateTime sets the CreationDateTime field's value.
9772func (s *FeatureTransformation) SetCreationDateTime(v time.Time) *FeatureTransformation {
9773	s.CreationDateTime = &v
9774	return s
9775}
9776
9777// SetDefaultParameters sets the DefaultParameters field's value.
9778func (s *FeatureTransformation) SetDefaultParameters(v map[string]*string) *FeatureTransformation {
9779	s.DefaultParameters = v
9780	return s
9781}
9782
9783// SetFeatureTransformationArn sets the FeatureTransformationArn field's value.
9784func (s *FeatureTransformation) SetFeatureTransformationArn(v string) *FeatureTransformation {
9785	s.FeatureTransformationArn = &v
9786	return s
9787}
9788
9789// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
9790func (s *FeatureTransformation) SetLastUpdatedDateTime(v time.Time) *FeatureTransformation {
9791	s.LastUpdatedDateTime = &v
9792	return s
9793}
9794
9795// SetName sets the Name field's value.
9796func (s *FeatureTransformation) SetName(v string) *FeatureTransformation {
9797	s.Name = &v
9798	return s
9799}
9800
9801// SetStatus sets the Status field's value.
9802func (s *FeatureTransformation) SetStatus(v string) *FeatureTransformation {
9803	s.Status = &v
9804	return s
9805}
9806
9807// Contains information on a recommendation filter, including its ARN, status,
9808// and filter expression.
9809type Filter struct {
9810	_ struct{} `type:"structure"`
9811
9812	// The time at which the filter was created.
9813	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
9814
9815	// The ARN of the dataset group to which the filter belongs.
9816	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
9817
9818	// If the filter failed, the reason for its failure.
9819	FailureReason *string `locationName:"failureReason" type:"string"`
9820
9821	// The ARN of the filter.
9822	FilterArn *string `locationName:"filterArn" type:"string"`
9823
9824	// Specifies the type of item interactions to filter out of recommendation results.
9825	// The filter expression must follow specific format rules. For information
9826	// about filter expression structure and syntax, see filter-expressions.
9827	FilterExpression *string `locationName:"filterExpression" min:"1" type:"string" sensitive:"true"`
9828
9829	// The time at which the filter was last updated.
9830	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
9831
9832	// The name of the filter.
9833	Name *string `locationName:"name" min:"1" type:"string"`
9834
9835	// The status of the filter.
9836	Status *string `locationName:"status" type:"string"`
9837}
9838
9839// String returns the string representation
9840func (s Filter) String() string {
9841	return awsutil.Prettify(s)
9842}
9843
9844// GoString returns the string representation
9845func (s Filter) GoString() string {
9846	return s.String()
9847}
9848
9849// SetCreationDateTime sets the CreationDateTime field's value.
9850func (s *Filter) SetCreationDateTime(v time.Time) *Filter {
9851	s.CreationDateTime = &v
9852	return s
9853}
9854
9855// SetDatasetGroupArn sets the DatasetGroupArn field's value.
9856func (s *Filter) SetDatasetGroupArn(v string) *Filter {
9857	s.DatasetGroupArn = &v
9858	return s
9859}
9860
9861// SetFailureReason sets the FailureReason field's value.
9862func (s *Filter) SetFailureReason(v string) *Filter {
9863	s.FailureReason = &v
9864	return s
9865}
9866
9867// SetFilterArn sets the FilterArn field's value.
9868func (s *Filter) SetFilterArn(v string) *Filter {
9869	s.FilterArn = &v
9870	return s
9871}
9872
9873// SetFilterExpression sets the FilterExpression field's value.
9874func (s *Filter) SetFilterExpression(v string) *Filter {
9875	s.FilterExpression = &v
9876	return s
9877}
9878
9879// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
9880func (s *Filter) SetLastUpdatedDateTime(v time.Time) *Filter {
9881	s.LastUpdatedDateTime = &v
9882	return s
9883}
9884
9885// SetName sets the Name field's value.
9886func (s *Filter) SetName(v string) *Filter {
9887	s.Name = &v
9888	return s
9889}
9890
9891// SetStatus sets the Status field's value.
9892func (s *Filter) SetStatus(v string) *Filter {
9893	s.Status = &v
9894	return s
9895}
9896
9897// A short summary of a filter's attributes.
9898type FilterSummary struct {
9899	_ struct{} `type:"structure"`
9900
9901	// The time at which the filter was created.
9902	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
9903
9904	// The ARN of the dataset group to which the filter belongs.
9905	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
9906
9907	// If the filter failed, the reason for the failure.
9908	FailureReason *string `locationName:"failureReason" type:"string"`
9909
9910	// The ARN of the filter.
9911	FilterArn *string `locationName:"filterArn" type:"string"`
9912
9913	// The time at which the filter was last updated.
9914	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
9915
9916	// The name of the filter.
9917	Name *string `locationName:"name" min:"1" type:"string"`
9918
9919	// The status of the filter.
9920	Status *string `locationName:"status" type:"string"`
9921}
9922
9923// String returns the string representation
9924func (s FilterSummary) String() string {
9925	return awsutil.Prettify(s)
9926}
9927
9928// GoString returns the string representation
9929func (s FilterSummary) GoString() string {
9930	return s.String()
9931}
9932
9933// SetCreationDateTime sets the CreationDateTime field's value.
9934func (s *FilterSummary) SetCreationDateTime(v time.Time) *FilterSummary {
9935	s.CreationDateTime = &v
9936	return s
9937}
9938
9939// SetDatasetGroupArn sets the DatasetGroupArn field's value.
9940func (s *FilterSummary) SetDatasetGroupArn(v string) *FilterSummary {
9941	s.DatasetGroupArn = &v
9942	return s
9943}
9944
9945// SetFailureReason sets the FailureReason field's value.
9946func (s *FilterSummary) SetFailureReason(v string) *FilterSummary {
9947	s.FailureReason = &v
9948	return s
9949}
9950
9951// SetFilterArn sets the FilterArn field's value.
9952func (s *FilterSummary) SetFilterArn(v string) *FilterSummary {
9953	s.FilterArn = &v
9954	return s
9955}
9956
9957// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
9958func (s *FilterSummary) SetLastUpdatedDateTime(v time.Time) *FilterSummary {
9959	s.LastUpdatedDateTime = &v
9960	return s
9961}
9962
9963// SetName sets the Name field's value.
9964func (s *FilterSummary) SetName(v string) *FilterSummary {
9965	s.Name = &v
9966	return s
9967}
9968
9969// SetStatus sets the Status field's value.
9970func (s *FilterSummary) SetStatus(v string) *FilterSummary {
9971	s.Status = &v
9972	return s
9973}
9974
9975type GetSolutionMetricsInput struct {
9976	_ struct{} `type:"structure"`
9977
9978	// The Amazon Resource Name (ARN) of the solution version for which to get metrics.
9979	//
9980	// SolutionVersionArn is a required field
9981	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string" required:"true"`
9982}
9983
9984// String returns the string representation
9985func (s GetSolutionMetricsInput) String() string {
9986	return awsutil.Prettify(s)
9987}
9988
9989// GoString returns the string representation
9990func (s GetSolutionMetricsInput) GoString() string {
9991	return s.String()
9992}
9993
9994// Validate inspects the fields of the type to determine if they are valid.
9995func (s *GetSolutionMetricsInput) Validate() error {
9996	invalidParams := request.ErrInvalidParams{Context: "GetSolutionMetricsInput"}
9997	if s.SolutionVersionArn == nil {
9998		invalidParams.Add(request.NewErrParamRequired("SolutionVersionArn"))
9999	}
10000
10001	if invalidParams.Len() > 0 {
10002		return invalidParams
10003	}
10004	return nil
10005}
10006
10007// SetSolutionVersionArn sets the SolutionVersionArn field's value.
10008func (s *GetSolutionMetricsInput) SetSolutionVersionArn(v string) *GetSolutionMetricsInput {
10009	s.SolutionVersionArn = &v
10010	return s
10011}
10012
10013type GetSolutionMetricsOutput struct {
10014	_ struct{} `type:"structure"`
10015
10016	// The metrics for the solution version.
10017	Metrics map[string]*float64 `locationName:"metrics" type:"map"`
10018
10019	// The same solution version ARN as specified in the request.
10020	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
10021}
10022
10023// String returns the string representation
10024func (s GetSolutionMetricsOutput) String() string {
10025	return awsutil.Prettify(s)
10026}
10027
10028// GoString returns the string representation
10029func (s GetSolutionMetricsOutput) GoString() string {
10030	return s.String()
10031}
10032
10033// SetMetrics sets the Metrics field's value.
10034func (s *GetSolutionMetricsOutput) SetMetrics(v map[string]*float64) *GetSolutionMetricsOutput {
10035	s.Metrics = v
10036	return s
10037}
10038
10039// SetSolutionVersionArn sets the SolutionVersionArn field's value.
10040func (s *GetSolutionMetricsOutput) SetSolutionVersionArn(v string) *GetSolutionMetricsOutput {
10041	s.SolutionVersionArn = &v
10042	return s
10043}
10044
10045// Describes the properties for hyperparameter optimization (HPO).
10046type HPOConfig struct {
10047	_ struct{} `type:"structure"`
10048
10049	// The hyperparameters and their allowable ranges.
10050	AlgorithmHyperParameterRanges *HyperParameterRanges `locationName:"algorithmHyperParameterRanges" type:"structure"`
10051
10052	// The metric to optimize during HPO.
10053	//
10054	// Amazon Personalize doesn't support configuring the hpoObjective at this time.
10055	HpoObjective *HPOObjective `locationName:"hpoObjective" type:"structure"`
10056
10057	// Describes the resource configuration for HPO.
10058	HpoResourceConfig *HPOResourceConfig `locationName:"hpoResourceConfig" type:"structure"`
10059}
10060
10061// String returns the string representation
10062func (s HPOConfig) String() string {
10063	return awsutil.Prettify(s)
10064}
10065
10066// GoString returns the string representation
10067func (s HPOConfig) GoString() string {
10068	return s.String()
10069}
10070
10071// Validate inspects the fields of the type to determine if they are valid.
10072func (s *HPOConfig) Validate() error {
10073	invalidParams := request.ErrInvalidParams{Context: "HPOConfig"}
10074	if s.AlgorithmHyperParameterRanges != nil {
10075		if err := s.AlgorithmHyperParameterRanges.Validate(); err != nil {
10076			invalidParams.AddNested("AlgorithmHyperParameterRanges", err.(request.ErrInvalidParams))
10077		}
10078	}
10079
10080	if invalidParams.Len() > 0 {
10081		return invalidParams
10082	}
10083	return nil
10084}
10085
10086// SetAlgorithmHyperParameterRanges sets the AlgorithmHyperParameterRanges field's value.
10087func (s *HPOConfig) SetAlgorithmHyperParameterRanges(v *HyperParameterRanges) *HPOConfig {
10088	s.AlgorithmHyperParameterRanges = v
10089	return s
10090}
10091
10092// SetHpoObjective sets the HpoObjective field's value.
10093func (s *HPOConfig) SetHpoObjective(v *HPOObjective) *HPOConfig {
10094	s.HpoObjective = v
10095	return s
10096}
10097
10098// SetHpoResourceConfig sets the HpoResourceConfig field's value.
10099func (s *HPOConfig) SetHpoResourceConfig(v *HPOResourceConfig) *HPOConfig {
10100	s.HpoResourceConfig = v
10101	return s
10102}
10103
10104// The metric to optimize during hyperparameter optimization (HPO).
10105//
10106// Amazon Personalize doesn't support configuring the hpoObjective at this time.
10107type HPOObjective struct {
10108	_ struct{} `type:"structure"`
10109
10110	// The name of the metric.
10111	MetricName *string `locationName:"metricName" type:"string"`
10112
10113	// A regular expression for finding the metric in the training job logs.
10114	MetricRegex *string `locationName:"metricRegex" type:"string"`
10115
10116	// The type of the metric. Valid values are Maximize and Minimize.
10117	Type *string `locationName:"type" type:"string"`
10118}
10119
10120// String returns the string representation
10121func (s HPOObjective) String() string {
10122	return awsutil.Prettify(s)
10123}
10124
10125// GoString returns the string representation
10126func (s HPOObjective) GoString() string {
10127	return s.String()
10128}
10129
10130// SetMetricName sets the MetricName field's value.
10131func (s *HPOObjective) SetMetricName(v string) *HPOObjective {
10132	s.MetricName = &v
10133	return s
10134}
10135
10136// SetMetricRegex sets the MetricRegex field's value.
10137func (s *HPOObjective) SetMetricRegex(v string) *HPOObjective {
10138	s.MetricRegex = &v
10139	return s
10140}
10141
10142// SetType sets the Type field's value.
10143func (s *HPOObjective) SetType(v string) *HPOObjective {
10144	s.Type = &v
10145	return s
10146}
10147
10148// Describes the resource configuration for hyperparameter optimization (HPO).
10149type HPOResourceConfig struct {
10150	_ struct{} `type:"structure"`
10151
10152	// The maximum number of training jobs when you create a solution version. The
10153	// maximum value for maxNumberOfTrainingJobs is 40.
10154	MaxNumberOfTrainingJobs *string `locationName:"maxNumberOfTrainingJobs" type:"string"`
10155
10156	// The maximum number of parallel training jobs when you create a solution version.
10157	// The maximum value for maxParallelTrainingJobs is 10.
10158	MaxParallelTrainingJobs *string `locationName:"maxParallelTrainingJobs" type:"string"`
10159}
10160
10161// String returns the string representation
10162func (s HPOResourceConfig) String() string {
10163	return awsutil.Prettify(s)
10164}
10165
10166// GoString returns the string representation
10167func (s HPOResourceConfig) GoString() string {
10168	return s.String()
10169}
10170
10171// SetMaxNumberOfTrainingJobs sets the MaxNumberOfTrainingJobs field's value.
10172func (s *HPOResourceConfig) SetMaxNumberOfTrainingJobs(v string) *HPOResourceConfig {
10173	s.MaxNumberOfTrainingJobs = &v
10174	return s
10175}
10176
10177// SetMaxParallelTrainingJobs sets the MaxParallelTrainingJobs field's value.
10178func (s *HPOResourceConfig) SetMaxParallelTrainingJobs(v string) *HPOResourceConfig {
10179	s.MaxParallelTrainingJobs = &v
10180	return s
10181}
10182
10183// Specifies the hyperparameters and their ranges. Hyperparameters can be categorical,
10184// continuous, or integer-valued.
10185type HyperParameterRanges struct {
10186	_ struct{} `type:"structure"`
10187
10188	// The categorical hyperparameters and their ranges.
10189	CategoricalHyperParameterRanges []*CategoricalHyperParameterRange `locationName:"categoricalHyperParameterRanges" type:"list"`
10190
10191	// The continuous hyperparameters and their ranges.
10192	ContinuousHyperParameterRanges []*ContinuousHyperParameterRange `locationName:"continuousHyperParameterRanges" type:"list"`
10193
10194	// The integer-valued hyperparameters and their ranges.
10195	IntegerHyperParameterRanges []*IntegerHyperParameterRange `locationName:"integerHyperParameterRanges" type:"list"`
10196}
10197
10198// String returns the string representation
10199func (s HyperParameterRanges) String() string {
10200	return awsutil.Prettify(s)
10201}
10202
10203// GoString returns the string representation
10204func (s HyperParameterRanges) GoString() string {
10205	return s.String()
10206}
10207
10208// Validate inspects the fields of the type to determine if they are valid.
10209func (s *HyperParameterRanges) Validate() error {
10210	invalidParams := request.ErrInvalidParams{Context: "HyperParameterRanges"}
10211	if s.ContinuousHyperParameterRanges != nil {
10212		for i, v := range s.ContinuousHyperParameterRanges {
10213			if v == nil {
10214				continue
10215			}
10216			if err := v.Validate(); err != nil {
10217				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContinuousHyperParameterRanges", i), err.(request.ErrInvalidParams))
10218			}
10219		}
10220	}
10221	if s.IntegerHyperParameterRanges != nil {
10222		for i, v := range s.IntegerHyperParameterRanges {
10223			if v == nil {
10224				continue
10225			}
10226			if err := v.Validate(); err != nil {
10227				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "IntegerHyperParameterRanges", i), err.(request.ErrInvalidParams))
10228			}
10229		}
10230	}
10231
10232	if invalidParams.Len() > 0 {
10233		return invalidParams
10234	}
10235	return nil
10236}
10237
10238// SetCategoricalHyperParameterRanges sets the CategoricalHyperParameterRanges field's value.
10239func (s *HyperParameterRanges) SetCategoricalHyperParameterRanges(v []*CategoricalHyperParameterRange) *HyperParameterRanges {
10240	s.CategoricalHyperParameterRanges = v
10241	return s
10242}
10243
10244// SetContinuousHyperParameterRanges sets the ContinuousHyperParameterRanges field's value.
10245func (s *HyperParameterRanges) SetContinuousHyperParameterRanges(v []*ContinuousHyperParameterRange) *HyperParameterRanges {
10246	s.ContinuousHyperParameterRanges = v
10247	return s
10248}
10249
10250// SetIntegerHyperParameterRanges sets the IntegerHyperParameterRanges field's value.
10251func (s *HyperParameterRanges) SetIntegerHyperParameterRanges(v []*IntegerHyperParameterRange) *HyperParameterRanges {
10252	s.IntegerHyperParameterRanges = v
10253	return s
10254}
10255
10256// Provides the name and range of an integer-valued hyperparameter.
10257type IntegerHyperParameterRange struct {
10258	_ struct{} `type:"structure"`
10259
10260	// The maximum allowable value for the hyperparameter.
10261	MaxValue *int64 `locationName:"maxValue" type:"integer"`
10262
10263	// The minimum allowable value for the hyperparameter.
10264	MinValue *int64 `locationName:"minValue" type:"integer"`
10265
10266	// The name of the hyperparameter.
10267	Name *string `locationName:"name" type:"string"`
10268}
10269
10270// String returns the string representation
10271func (s IntegerHyperParameterRange) String() string {
10272	return awsutil.Prettify(s)
10273}
10274
10275// GoString returns the string representation
10276func (s IntegerHyperParameterRange) GoString() string {
10277	return s.String()
10278}
10279
10280// Validate inspects the fields of the type to determine if they are valid.
10281func (s *IntegerHyperParameterRange) Validate() error {
10282	invalidParams := request.ErrInvalidParams{Context: "IntegerHyperParameterRange"}
10283	if s.MinValue != nil && *s.MinValue < -1e+06 {
10284		invalidParams.Add(request.NewErrParamMinValue("MinValue", -1e+06))
10285	}
10286
10287	if invalidParams.Len() > 0 {
10288		return invalidParams
10289	}
10290	return nil
10291}
10292
10293// SetMaxValue sets the MaxValue field's value.
10294func (s *IntegerHyperParameterRange) SetMaxValue(v int64) *IntegerHyperParameterRange {
10295	s.MaxValue = &v
10296	return s
10297}
10298
10299// SetMinValue sets the MinValue field's value.
10300func (s *IntegerHyperParameterRange) SetMinValue(v int64) *IntegerHyperParameterRange {
10301	s.MinValue = &v
10302	return s
10303}
10304
10305// SetName sets the Name field's value.
10306func (s *IntegerHyperParameterRange) SetName(v string) *IntegerHyperParameterRange {
10307	s.Name = &v
10308	return s
10309}
10310
10311// Provide a valid value for the field or parameter.
10312type InvalidInputException struct {
10313	_            struct{}                  `type:"structure"`
10314	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10315
10316	Message_ *string `locationName:"message" type:"string"`
10317}
10318
10319// String returns the string representation
10320func (s InvalidInputException) String() string {
10321	return awsutil.Prettify(s)
10322}
10323
10324// GoString returns the string representation
10325func (s InvalidInputException) GoString() string {
10326	return s.String()
10327}
10328
10329func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
10330	return &InvalidInputException{
10331		RespMetadata: v,
10332	}
10333}
10334
10335// Code returns the exception type name.
10336func (s *InvalidInputException) Code() string {
10337	return "InvalidInputException"
10338}
10339
10340// Message returns the exception's message.
10341func (s *InvalidInputException) Message() string {
10342	if s.Message_ != nil {
10343		return *s.Message_
10344	}
10345	return ""
10346}
10347
10348// OrigErr always returns nil, satisfies awserr.Error interface.
10349func (s *InvalidInputException) OrigErr() error {
10350	return nil
10351}
10352
10353func (s *InvalidInputException) Error() string {
10354	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10355}
10356
10357// Status code returns the HTTP status code for the request's response error.
10358func (s *InvalidInputException) StatusCode() int {
10359	return s.RespMetadata.StatusCode
10360}
10361
10362// RequestID returns the service's response RequestID for request.
10363func (s *InvalidInputException) RequestID() string {
10364	return s.RespMetadata.RequestID
10365}
10366
10367// The token is not valid.
10368type InvalidNextTokenException struct {
10369	_            struct{}                  `type:"structure"`
10370	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10371
10372	Message_ *string `locationName:"message" type:"string"`
10373}
10374
10375// String returns the string representation
10376func (s InvalidNextTokenException) String() string {
10377	return awsutil.Prettify(s)
10378}
10379
10380// GoString returns the string representation
10381func (s InvalidNextTokenException) GoString() string {
10382	return s.String()
10383}
10384
10385func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
10386	return &InvalidNextTokenException{
10387		RespMetadata: v,
10388	}
10389}
10390
10391// Code returns the exception type name.
10392func (s *InvalidNextTokenException) Code() string {
10393	return "InvalidNextTokenException"
10394}
10395
10396// Message returns the exception's message.
10397func (s *InvalidNextTokenException) Message() string {
10398	if s.Message_ != nil {
10399		return *s.Message_
10400	}
10401	return ""
10402}
10403
10404// OrigErr always returns nil, satisfies awserr.Error interface.
10405func (s *InvalidNextTokenException) OrigErr() error {
10406	return nil
10407}
10408
10409func (s *InvalidNextTokenException) Error() string {
10410	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10411}
10412
10413// Status code returns the HTTP status code for the request's response error.
10414func (s *InvalidNextTokenException) StatusCode() int {
10415	return s.RespMetadata.StatusCode
10416}
10417
10418// RequestID returns the service's response RequestID for request.
10419func (s *InvalidNextTokenException) RequestID() string {
10420	return s.RespMetadata.RequestID
10421}
10422
10423// The limit on the number of requests per second has been exceeded.
10424type LimitExceededException struct {
10425	_            struct{}                  `type:"structure"`
10426	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10427
10428	Message_ *string `locationName:"message" type:"string"`
10429}
10430
10431// String returns the string representation
10432func (s LimitExceededException) String() string {
10433	return awsutil.Prettify(s)
10434}
10435
10436// GoString returns the string representation
10437func (s LimitExceededException) GoString() string {
10438	return s.String()
10439}
10440
10441func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
10442	return &LimitExceededException{
10443		RespMetadata: v,
10444	}
10445}
10446
10447// Code returns the exception type name.
10448func (s *LimitExceededException) Code() string {
10449	return "LimitExceededException"
10450}
10451
10452// Message returns the exception's message.
10453func (s *LimitExceededException) Message() string {
10454	if s.Message_ != nil {
10455		return *s.Message_
10456	}
10457	return ""
10458}
10459
10460// OrigErr always returns nil, satisfies awserr.Error interface.
10461func (s *LimitExceededException) OrigErr() error {
10462	return nil
10463}
10464
10465func (s *LimitExceededException) Error() string {
10466	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10467}
10468
10469// Status code returns the HTTP status code for the request's response error.
10470func (s *LimitExceededException) StatusCode() int {
10471	return s.RespMetadata.StatusCode
10472}
10473
10474// RequestID returns the service's response RequestID for request.
10475func (s *LimitExceededException) RequestID() string {
10476	return s.RespMetadata.RequestID
10477}
10478
10479type ListBatchInferenceJobsInput struct {
10480	_ struct{} `type:"structure"`
10481
10482	// The maximum number of batch inference job results to return in each page.
10483	// The default value is 100.
10484	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10485
10486	// The token to request the next page of results.
10487	NextToken *string `locationName:"nextToken" type:"string"`
10488
10489	// The Amazon Resource Name (ARN) of the solution version from which the batch
10490	// inference jobs were created.
10491	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
10492}
10493
10494// String returns the string representation
10495func (s ListBatchInferenceJobsInput) String() string {
10496	return awsutil.Prettify(s)
10497}
10498
10499// GoString returns the string representation
10500func (s ListBatchInferenceJobsInput) GoString() string {
10501	return s.String()
10502}
10503
10504// Validate inspects the fields of the type to determine if they are valid.
10505func (s *ListBatchInferenceJobsInput) Validate() error {
10506	invalidParams := request.ErrInvalidParams{Context: "ListBatchInferenceJobsInput"}
10507	if s.MaxResults != nil && *s.MaxResults < 1 {
10508		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10509	}
10510
10511	if invalidParams.Len() > 0 {
10512		return invalidParams
10513	}
10514	return nil
10515}
10516
10517// SetMaxResults sets the MaxResults field's value.
10518func (s *ListBatchInferenceJobsInput) SetMaxResults(v int64) *ListBatchInferenceJobsInput {
10519	s.MaxResults = &v
10520	return s
10521}
10522
10523// SetNextToken sets the NextToken field's value.
10524func (s *ListBatchInferenceJobsInput) SetNextToken(v string) *ListBatchInferenceJobsInput {
10525	s.NextToken = &v
10526	return s
10527}
10528
10529// SetSolutionVersionArn sets the SolutionVersionArn field's value.
10530func (s *ListBatchInferenceJobsInput) SetSolutionVersionArn(v string) *ListBatchInferenceJobsInput {
10531	s.SolutionVersionArn = &v
10532	return s
10533}
10534
10535type ListBatchInferenceJobsOutput struct {
10536	_ struct{} `type:"structure"`
10537
10538	// A list containing information on each job that is returned.
10539	BatchInferenceJobs []*BatchInferenceJobSummary `locationName:"batchInferenceJobs" type:"list"`
10540
10541	// The token to use to retrieve the next page of results. The value is null
10542	// when there are no more results to return.
10543	NextToken *string `locationName:"nextToken" type:"string"`
10544}
10545
10546// String returns the string representation
10547func (s ListBatchInferenceJobsOutput) String() string {
10548	return awsutil.Prettify(s)
10549}
10550
10551// GoString returns the string representation
10552func (s ListBatchInferenceJobsOutput) GoString() string {
10553	return s.String()
10554}
10555
10556// SetBatchInferenceJobs sets the BatchInferenceJobs field's value.
10557func (s *ListBatchInferenceJobsOutput) SetBatchInferenceJobs(v []*BatchInferenceJobSummary) *ListBatchInferenceJobsOutput {
10558	s.BatchInferenceJobs = v
10559	return s
10560}
10561
10562// SetNextToken sets the NextToken field's value.
10563func (s *ListBatchInferenceJobsOutput) SetNextToken(v string) *ListBatchInferenceJobsOutput {
10564	s.NextToken = &v
10565	return s
10566}
10567
10568type ListCampaignsInput struct {
10569	_ struct{} `type:"structure"`
10570
10571	// The maximum number of campaigns to return.
10572	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10573
10574	// A token returned from the previous call to ListCampaigns for getting the
10575	// next set of campaigns (if they exist).
10576	NextToken *string `locationName:"nextToken" type:"string"`
10577
10578	// The Amazon Resource Name (ARN) of the solution to list the campaigns for.
10579	// When a solution is not specified, all the campaigns associated with the account
10580	// are listed.
10581	SolutionArn *string `locationName:"solutionArn" type:"string"`
10582}
10583
10584// String returns the string representation
10585func (s ListCampaignsInput) String() string {
10586	return awsutil.Prettify(s)
10587}
10588
10589// GoString returns the string representation
10590func (s ListCampaignsInput) GoString() string {
10591	return s.String()
10592}
10593
10594// Validate inspects the fields of the type to determine if they are valid.
10595func (s *ListCampaignsInput) Validate() error {
10596	invalidParams := request.ErrInvalidParams{Context: "ListCampaignsInput"}
10597	if s.MaxResults != nil && *s.MaxResults < 1 {
10598		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10599	}
10600
10601	if invalidParams.Len() > 0 {
10602		return invalidParams
10603	}
10604	return nil
10605}
10606
10607// SetMaxResults sets the MaxResults field's value.
10608func (s *ListCampaignsInput) SetMaxResults(v int64) *ListCampaignsInput {
10609	s.MaxResults = &v
10610	return s
10611}
10612
10613// SetNextToken sets the NextToken field's value.
10614func (s *ListCampaignsInput) SetNextToken(v string) *ListCampaignsInput {
10615	s.NextToken = &v
10616	return s
10617}
10618
10619// SetSolutionArn sets the SolutionArn field's value.
10620func (s *ListCampaignsInput) SetSolutionArn(v string) *ListCampaignsInput {
10621	s.SolutionArn = &v
10622	return s
10623}
10624
10625type ListCampaignsOutput struct {
10626	_ struct{} `type:"structure"`
10627
10628	// A list of the campaigns.
10629	Campaigns []*CampaignSummary `locationName:"campaigns" type:"list"`
10630
10631	// A token for getting the next set of campaigns (if they exist).
10632	NextToken *string `locationName:"nextToken" type:"string"`
10633}
10634
10635// String returns the string representation
10636func (s ListCampaignsOutput) String() string {
10637	return awsutil.Prettify(s)
10638}
10639
10640// GoString returns the string representation
10641func (s ListCampaignsOutput) GoString() string {
10642	return s.String()
10643}
10644
10645// SetCampaigns sets the Campaigns field's value.
10646func (s *ListCampaignsOutput) SetCampaigns(v []*CampaignSummary) *ListCampaignsOutput {
10647	s.Campaigns = v
10648	return s
10649}
10650
10651// SetNextToken sets the NextToken field's value.
10652func (s *ListCampaignsOutput) SetNextToken(v string) *ListCampaignsOutput {
10653	s.NextToken = &v
10654	return s
10655}
10656
10657type ListDatasetExportJobsInput struct {
10658	_ struct{} `type:"structure"`
10659
10660	// The Amazon Resource Name (ARN) of the dataset to list the dataset export
10661	// jobs for.
10662	DatasetArn *string `locationName:"datasetArn" type:"string"`
10663
10664	// The maximum number of dataset export jobs to return.
10665	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10666
10667	// A token returned from the previous call to ListDatasetExportJobs for getting
10668	// the next set of dataset export jobs (if they exist).
10669	NextToken *string `locationName:"nextToken" type:"string"`
10670}
10671
10672// String returns the string representation
10673func (s ListDatasetExportJobsInput) String() string {
10674	return awsutil.Prettify(s)
10675}
10676
10677// GoString returns the string representation
10678func (s ListDatasetExportJobsInput) GoString() string {
10679	return s.String()
10680}
10681
10682// Validate inspects the fields of the type to determine if they are valid.
10683func (s *ListDatasetExportJobsInput) Validate() error {
10684	invalidParams := request.ErrInvalidParams{Context: "ListDatasetExportJobsInput"}
10685	if s.MaxResults != nil && *s.MaxResults < 1 {
10686		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10687	}
10688
10689	if invalidParams.Len() > 0 {
10690		return invalidParams
10691	}
10692	return nil
10693}
10694
10695// SetDatasetArn sets the DatasetArn field's value.
10696func (s *ListDatasetExportJobsInput) SetDatasetArn(v string) *ListDatasetExportJobsInput {
10697	s.DatasetArn = &v
10698	return s
10699}
10700
10701// SetMaxResults sets the MaxResults field's value.
10702func (s *ListDatasetExportJobsInput) SetMaxResults(v int64) *ListDatasetExportJobsInput {
10703	s.MaxResults = &v
10704	return s
10705}
10706
10707// SetNextToken sets the NextToken field's value.
10708func (s *ListDatasetExportJobsInput) SetNextToken(v string) *ListDatasetExportJobsInput {
10709	s.NextToken = &v
10710	return s
10711}
10712
10713type ListDatasetExportJobsOutput struct {
10714	_ struct{} `type:"structure"`
10715
10716	// The list of dataset export jobs.
10717	DatasetExportJobs []*DatasetExportJobSummary `locationName:"datasetExportJobs" type:"list"`
10718
10719	// A token for getting the next set of dataset export jobs (if they exist).
10720	NextToken *string `locationName:"nextToken" type:"string"`
10721}
10722
10723// String returns the string representation
10724func (s ListDatasetExportJobsOutput) String() string {
10725	return awsutil.Prettify(s)
10726}
10727
10728// GoString returns the string representation
10729func (s ListDatasetExportJobsOutput) GoString() string {
10730	return s.String()
10731}
10732
10733// SetDatasetExportJobs sets the DatasetExportJobs field's value.
10734func (s *ListDatasetExportJobsOutput) SetDatasetExportJobs(v []*DatasetExportJobSummary) *ListDatasetExportJobsOutput {
10735	s.DatasetExportJobs = v
10736	return s
10737}
10738
10739// SetNextToken sets the NextToken field's value.
10740func (s *ListDatasetExportJobsOutput) SetNextToken(v string) *ListDatasetExportJobsOutput {
10741	s.NextToken = &v
10742	return s
10743}
10744
10745type ListDatasetGroupsInput struct {
10746	_ struct{} `type:"structure"`
10747
10748	// The maximum number of dataset groups to return.
10749	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10750
10751	// A token returned from the previous call to ListDatasetGroups for getting
10752	// the next set of dataset groups (if they exist).
10753	NextToken *string `locationName:"nextToken" type:"string"`
10754}
10755
10756// String returns the string representation
10757func (s ListDatasetGroupsInput) String() string {
10758	return awsutil.Prettify(s)
10759}
10760
10761// GoString returns the string representation
10762func (s ListDatasetGroupsInput) GoString() string {
10763	return s.String()
10764}
10765
10766// Validate inspects the fields of the type to determine if they are valid.
10767func (s *ListDatasetGroupsInput) Validate() error {
10768	invalidParams := request.ErrInvalidParams{Context: "ListDatasetGroupsInput"}
10769	if s.MaxResults != nil && *s.MaxResults < 1 {
10770		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10771	}
10772
10773	if invalidParams.Len() > 0 {
10774		return invalidParams
10775	}
10776	return nil
10777}
10778
10779// SetMaxResults sets the MaxResults field's value.
10780func (s *ListDatasetGroupsInput) SetMaxResults(v int64) *ListDatasetGroupsInput {
10781	s.MaxResults = &v
10782	return s
10783}
10784
10785// SetNextToken sets the NextToken field's value.
10786func (s *ListDatasetGroupsInput) SetNextToken(v string) *ListDatasetGroupsInput {
10787	s.NextToken = &v
10788	return s
10789}
10790
10791type ListDatasetGroupsOutput struct {
10792	_ struct{} `type:"structure"`
10793
10794	// The list of your dataset groups.
10795	DatasetGroups []*DatasetGroupSummary `locationName:"datasetGroups" type:"list"`
10796
10797	// A token for getting the next set of dataset groups (if they exist).
10798	NextToken *string `locationName:"nextToken" type:"string"`
10799}
10800
10801// String returns the string representation
10802func (s ListDatasetGroupsOutput) String() string {
10803	return awsutil.Prettify(s)
10804}
10805
10806// GoString returns the string representation
10807func (s ListDatasetGroupsOutput) GoString() string {
10808	return s.String()
10809}
10810
10811// SetDatasetGroups sets the DatasetGroups field's value.
10812func (s *ListDatasetGroupsOutput) SetDatasetGroups(v []*DatasetGroupSummary) *ListDatasetGroupsOutput {
10813	s.DatasetGroups = v
10814	return s
10815}
10816
10817// SetNextToken sets the NextToken field's value.
10818func (s *ListDatasetGroupsOutput) SetNextToken(v string) *ListDatasetGroupsOutput {
10819	s.NextToken = &v
10820	return s
10821}
10822
10823type ListDatasetImportJobsInput struct {
10824	_ struct{} `type:"structure"`
10825
10826	// The Amazon Resource Name (ARN) of the dataset to list the dataset import
10827	// jobs for.
10828	DatasetArn *string `locationName:"datasetArn" type:"string"`
10829
10830	// The maximum number of dataset import jobs to return.
10831	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10832
10833	// A token returned from the previous call to ListDatasetImportJobs for getting
10834	// the next set of dataset import jobs (if they exist).
10835	NextToken *string `locationName:"nextToken" type:"string"`
10836}
10837
10838// String returns the string representation
10839func (s ListDatasetImportJobsInput) String() string {
10840	return awsutil.Prettify(s)
10841}
10842
10843// GoString returns the string representation
10844func (s ListDatasetImportJobsInput) GoString() string {
10845	return s.String()
10846}
10847
10848// Validate inspects the fields of the type to determine if they are valid.
10849func (s *ListDatasetImportJobsInput) Validate() error {
10850	invalidParams := request.ErrInvalidParams{Context: "ListDatasetImportJobsInput"}
10851	if s.MaxResults != nil && *s.MaxResults < 1 {
10852		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10853	}
10854
10855	if invalidParams.Len() > 0 {
10856		return invalidParams
10857	}
10858	return nil
10859}
10860
10861// SetDatasetArn sets the DatasetArn field's value.
10862func (s *ListDatasetImportJobsInput) SetDatasetArn(v string) *ListDatasetImportJobsInput {
10863	s.DatasetArn = &v
10864	return s
10865}
10866
10867// SetMaxResults sets the MaxResults field's value.
10868func (s *ListDatasetImportJobsInput) SetMaxResults(v int64) *ListDatasetImportJobsInput {
10869	s.MaxResults = &v
10870	return s
10871}
10872
10873// SetNextToken sets the NextToken field's value.
10874func (s *ListDatasetImportJobsInput) SetNextToken(v string) *ListDatasetImportJobsInput {
10875	s.NextToken = &v
10876	return s
10877}
10878
10879type ListDatasetImportJobsOutput struct {
10880	_ struct{} `type:"structure"`
10881
10882	// The list of dataset import jobs.
10883	DatasetImportJobs []*DatasetImportJobSummary `locationName:"datasetImportJobs" type:"list"`
10884
10885	// A token for getting the next set of dataset import jobs (if they exist).
10886	NextToken *string `locationName:"nextToken" type:"string"`
10887}
10888
10889// String returns the string representation
10890func (s ListDatasetImportJobsOutput) String() string {
10891	return awsutil.Prettify(s)
10892}
10893
10894// GoString returns the string representation
10895func (s ListDatasetImportJobsOutput) GoString() string {
10896	return s.String()
10897}
10898
10899// SetDatasetImportJobs sets the DatasetImportJobs field's value.
10900func (s *ListDatasetImportJobsOutput) SetDatasetImportJobs(v []*DatasetImportJobSummary) *ListDatasetImportJobsOutput {
10901	s.DatasetImportJobs = v
10902	return s
10903}
10904
10905// SetNextToken sets the NextToken field's value.
10906func (s *ListDatasetImportJobsOutput) SetNextToken(v string) *ListDatasetImportJobsOutput {
10907	s.NextToken = &v
10908	return s
10909}
10910
10911type ListDatasetsInput struct {
10912	_ struct{} `type:"structure"`
10913
10914	// The Amazon Resource Name (ARN) of the dataset group that contains the datasets
10915	// to list.
10916	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
10917
10918	// The maximum number of datasets to return.
10919	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10920
10921	// A token returned from the previous call to ListDatasetImportJobs for getting
10922	// the next set of dataset import jobs (if they exist).
10923	NextToken *string `locationName:"nextToken" type:"string"`
10924}
10925
10926// String returns the string representation
10927func (s ListDatasetsInput) String() string {
10928	return awsutil.Prettify(s)
10929}
10930
10931// GoString returns the string representation
10932func (s ListDatasetsInput) GoString() string {
10933	return s.String()
10934}
10935
10936// Validate inspects the fields of the type to determine if they are valid.
10937func (s *ListDatasetsInput) Validate() error {
10938	invalidParams := request.ErrInvalidParams{Context: "ListDatasetsInput"}
10939	if s.MaxResults != nil && *s.MaxResults < 1 {
10940		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10941	}
10942
10943	if invalidParams.Len() > 0 {
10944		return invalidParams
10945	}
10946	return nil
10947}
10948
10949// SetDatasetGroupArn sets the DatasetGroupArn field's value.
10950func (s *ListDatasetsInput) SetDatasetGroupArn(v string) *ListDatasetsInput {
10951	s.DatasetGroupArn = &v
10952	return s
10953}
10954
10955// SetMaxResults sets the MaxResults field's value.
10956func (s *ListDatasetsInput) SetMaxResults(v int64) *ListDatasetsInput {
10957	s.MaxResults = &v
10958	return s
10959}
10960
10961// SetNextToken sets the NextToken field's value.
10962func (s *ListDatasetsInput) SetNextToken(v string) *ListDatasetsInput {
10963	s.NextToken = &v
10964	return s
10965}
10966
10967type ListDatasetsOutput struct {
10968	_ struct{} `type:"structure"`
10969
10970	// An array of Dataset objects. Each object provides metadata information.
10971	Datasets []*DatasetSummary `locationName:"datasets" type:"list"`
10972
10973	// A token for getting the next set of datasets (if they exist).
10974	NextToken *string `locationName:"nextToken" type:"string"`
10975}
10976
10977// String returns the string representation
10978func (s ListDatasetsOutput) String() string {
10979	return awsutil.Prettify(s)
10980}
10981
10982// GoString returns the string representation
10983func (s ListDatasetsOutput) GoString() string {
10984	return s.String()
10985}
10986
10987// SetDatasets sets the Datasets field's value.
10988func (s *ListDatasetsOutput) SetDatasets(v []*DatasetSummary) *ListDatasetsOutput {
10989	s.Datasets = v
10990	return s
10991}
10992
10993// SetNextToken sets the NextToken field's value.
10994func (s *ListDatasetsOutput) SetNextToken(v string) *ListDatasetsOutput {
10995	s.NextToken = &v
10996	return s
10997}
10998
10999type ListEventTrackersInput struct {
11000	_ struct{} `type:"structure"`
11001
11002	// The ARN of a dataset group used to filter the response.
11003	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
11004
11005	// The maximum number of event trackers to return.
11006	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
11007
11008	// A token returned from the previous call to ListEventTrackers for getting
11009	// the next set of event trackers (if they exist).
11010	NextToken *string `locationName:"nextToken" type:"string"`
11011}
11012
11013// String returns the string representation
11014func (s ListEventTrackersInput) String() string {
11015	return awsutil.Prettify(s)
11016}
11017
11018// GoString returns the string representation
11019func (s ListEventTrackersInput) GoString() string {
11020	return s.String()
11021}
11022
11023// Validate inspects the fields of the type to determine if they are valid.
11024func (s *ListEventTrackersInput) Validate() error {
11025	invalidParams := request.ErrInvalidParams{Context: "ListEventTrackersInput"}
11026	if s.MaxResults != nil && *s.MaxResults < 1 {
11027		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11028	}
11029
11030	if invalidParams.Len() > 0 {
11031		return invalidParams
11032	}
11033	return nil
11034}
11035
11036// SetDatasetGroupArn sets the DatasetGroupArn field's value.
11037func (s *ListEventTrackersInput) SetDatasetGroupArn(v string) *ListEventTrackersInput {
11038	s.DatasetGroupArn = &v
11039	return s
11040}
11041
11042// SetMaxResults sets the MaxResults field's value.
11043func (s *ListEventTrackersInput) SetMaxResults(v int64) *ListEventTrackersInput {
11044	s.MaxResults = &v
11045	return s
11046}
11047
11048// SetNextToken sets the NextToken field's value.
11049func (s *ListEventTrackersInput) SetNextToken(v string) *ListEventTrackersInput {
11050	s.NextToken = &v
11051	return s
11052}
11053
11054type ListEventTrackersOutput struct {
11055	_ struct{} `type:"structure"`
11056
11057	// A list of event trackers.
11058	EventTrackers []*EventTrackerSummary `locationName:"eventTrackers" type:"list"`
11059
11060	// A token for getting the next set of event trackers (if they exist).
11061	NextToken *string `locationName:"nextToken" type:"string"`
11062}
11063
11064// String returns the string representation
11065func (s ListEventTrackersOutput) String() string {
11066	return awsutil.Prettify(s)
11067}
11068
11069// GoString returns the string representation
11070func (s ListEventTrackersOutput) GoString() string {
11071	return s.String()
11072}
11073
11074// SetEventTrackers sets the EventTrackers field's value.
11075func (s *ListEventTrackersOutput) SetEventTrackers(v []*EventTrackerSummary) *ListEventTrackersOutput {
11076	s.EventTrackers = v
11077	return s
11078}
11079
11080// SetNextToken sets the NextToken field's value.
11081func (s *ListEventTrackersOutput) SetNextToken(v string) *ListEventTrackersOutput {
11082	s.NextToken = &v
11083	return s
11084}
11085
11086type ListFiltersInput struct {
11087	_ struct{} `type:"structure"`
11088
11089	// The ARN of the dataset group that contains the filters.
11090	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
11091
11092	// The maximum number of filters to return.
11093	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
11094
11095	// A token returned from the previous call to ListFilters for getting the next
11096	// set of filters (if they exist).
11097	NextToken *string `locationName:"nextToken" type:"string"`
11098}
11099
11100// String returns the string representation
11101func (s ListFiltersInput) String() string {
11102	return awsutil.Prettify(s)
11103}
11104
11105// GoString returns the string representation
11106func (s ListFiltersInput) GoString() string {
11107	return s.String()
11108}
11109
11110// Validate inspects the fields of the type to determine if they are valid.
11111func (s *ListFiltersInput) Validate() error {
11112	invalidParams := request.ErrInvalidParams{Context: "ListFiltersInput"}
11113	if s.MaxResults != nil && *s.MaxResults < 1 {
11114		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11115	}
11116
11117	if invalidParams.Len() > 0 {
11118		return invalidParams
11119	}
11120	return nil
11121}
11122
11123// SetDatasetGroupArn sets the DatasetGroupArn field's value.
11124func (s *ListFiltersInput) SetDatasetGroupArn(v string) *ListFiltersInput {
11125	s.DatasetGroupArn = &v
11126	return s
11127}
11128
11129// SetMaxResults sets the MaxResults field's value.
11130func (s *ListFiltersInput) SetMaxResults(v int64) *ListFiltersInput {
11131	s.MaxResults = &v
11132	return s
11133}
11134
11135// SetNextToken sets the NextToken field's value.
11136func (s *ListFiltersInput) SetNextToken(v string) *ListFiltersInput {
11137	s.NextToken = &v
11138	return s
11139}
11140
11141type ListFiltersOutput struct {
11142	_ struct{} `type:"structure"`
11143
11144	// A list of returned filters.
11145	Filters []*FilterSummary `type:"list"`
11146
11147	// A token for getting the next set of filters (if they exist).
11148	NextToken *string `locationName:"nextToken" type:"string"`
11149}
11150
11151// String returns the string representation
11152func (s ListFiltersOutput) String() string {
11153	return awsutil.Prettify(s)
11154}
11155
11156// GoString returns the string representation
11157func (s ListFiltersOutput) GoString() string {
11158	return s.String()
11159}
11160
11161// SetFilters sets the Filters field's value.
11162func (s *ListFiltersOutput) SetFilters(v []*FilterSummary) *ListFiltersOutput {
11163	s.Filters = v
11164	return s
11165}
11166
11167// SetNextToken sets the NextToken field's value.
11168func (s *ListFiltersOutput) SetNextToken(v string) *ListFiltersOutput {
11169	s.NextToken = &v
11170	return s
11171}
11172
11173type ListRecipesInput struct {
11174	_ struct{} `type:"structure"`
11175
11176	// The maximum number of recipes to return.
11177	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
11178
11179	// A token returned from the previous call to ListRecipes for getting the next
11180	// set of recipes (if they exist).
11181	NextToken *string `locationName:"nextToken" type:"string"`
11182
11183	// The default is SERVICE.
11184	RecipeProvider *string `locationName:"recipeProvider" type:"string" enum:"RecipeProvider"`
11185}
11186
11187// String returns the string representation
11188func (s ListRecipesInput) String() string {
11189	return awsutil.Prettify(s)
11190}
11191
11192// GoString returns the string representation
11193func (s ListRecipesInput) GoString() string {
11194	return s.String()
11195}
11196
11197// Validate inspects the fields of the type to determine if they are valid.
11198func (s *ListRecipesInput) Validate() error {
11199	invalidParams := request.ErrInvalidParams{Context: "ListRecipesInput"}
11200	if s.MaxResults != nil && *s.MaxResults < 1 {
11201		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11202	}
11203
11204	if invalidParams.Len() > 0 {
11205		return invalidParams
11206	}
11207	return nil
11208}
11209
11210// SetMaxResults sets the MaxResults field's value.
11211func (s *ListRecipesInput) SetMaxResults(v int64) *ListRecipesInput {
11212	s.MaxResults = &v
11213	return s
11214}
11215
11216// SetNextToken sets the NextToken field's value.
11217func (s *ListRecipesInput) SetNextToken(v string) *ListRecipesInput {
11218	s.NextToken = &v
11219	return s
11220}
11221
11222// SetRecipeProvider sets the RecipeProvider field's value.
11223func (s *ListRecipesInput) SetRecipeProvider(v string) *ListRecipesInput {
11224	s.RecipeProvider = &v
11225	return s
11226}
11227
11228type ListRecipesOutput struct {
11229	_ struct{} `type:"structure"`
11230
11231	// A token for getting the next set of recipes.
11232	NextToken *string `locationName:"nextToken" type:"string"`
11233
11234	// The list of available recipes.
11235	Recipes []*RecipeSummary `locationName:"recipes" type:"list"`
11236}
11237
11238// String returns the string representation
11239func (s ListRecipesOutput) String() string {
11240	return awsutil.Prettify(s)
11241}
11242
11243// GoString returns the string representation
11244func (s ListRecipesOutput) GoString() string {
11245	return s.String()
11246}
11247
11248// SetNextToken sets the NextToken field's value.
11249func (s *ListRecipesOutput) SetNextToken(v string) *ListRecipesOutput {
11250	s.NextToken = &v
11251	return s
11252}
11253
11254// SetRecipes sets the Recipes field's value.
11255func (s *ListRecipesOutput) SetRecipes(v []*RecipeSummary) *ListRecipesOutput {
11256	s.Recipes = v
11257	return s
11258}
11259
11260type ListSchemasInput struct {
11261	_ struct{} `type:"structure"`
11262
11263	// The maximum number of schemas to return.
11264	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
11265
11266	// A token returned from the previous call to ListSchemas for getting the next
11267	// set of schemas (if they exist).
11268	NextToken *string `locationName:"nextToken" type:"string"`
11269}
11270
11271// String returns the string representation
11272func (s ListSchemasInput) String() string {
11273	return awsutil.Prettify(s)
11274}
11275
11276// GoString returns the string representation
11277func (s ListSchemasInput) GoString() string {
11278	return s.String()
11279}
11280
11281// Validate inspects the fields of the type to determine if they are valid.
11282func (s *ListSchemasInput) Validate() error {
11283	invalidParams := request.ErrInvalidParams{Context: "ListSchemasInput"}
11284	if s.MaxResults != nil && *s.MaxResults < 1 {
11285		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11286	}
11287
11288	if invalidParams.Len() > 0 {
11289		return invalidParams
11290	}
11291	return nil
11292}
11293
11294// SetMaxResults sets the MaxResults field's value.
11295func (s *ListSchemasInput) SetMaxResults(v int64) *ListSchemasInput {
11296	s.MaxResults = &v
11297	return s
11298}
11299
11300// SetNextToken sets the NextToken field's value.
11301func (s *ListSchemasInput) SetNextToken(v string) *ListSchemasInput {
11302	s.NextToken = &v
11303	return s
11304}
11305
11306type ListSchemasOutput struct {
11307	_ struct{} `type:"structure"`
11308
11309	// A token used to get the next set of schemas (if they exist).
11310	NextToken *string `locationName:"nextToken" type:"string"`
11311
11312	// A list of schemas.
11313	Schemas []*DatasetSchemaSummary `locationName:"schemas" type:"list"`
11314}
11315
11316// String returns the string representation
11317func (s ListSchemasOutput) String() string {
11318	return awsutil.Prettify(s)
11319}
11320
11321// GoString returns the string representation
11322func (s ListSchemasOutput) GoString() string {
11323	return s.String()
11324}
11325
11326// SetNextToken sets the NextToken field's value.
11327func (s *ListSchemasOutput) SetNextToken(v string) *ListSchemasOutput {
11328	s.NextToken = &v
11329	return s
11330}
11331
11332// SetSchemas sets the Schemas field's value.
11333func (s *ListSchemasOutput) SetSchemas(v []*DatasetSchemaSummary) *ListSchemasOutput {
11334	s.Schemas = v
11335	return s
11336}
11337
11338type ListSolutionVersionsInput struct {
11339	_ struct{} `type:"structure"`
11340
11341	// The maximum number of solution versions to return.
11342	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
11343
11344	// A token returned from the previous call to ListSolutionVersions for getting
11345	// the next set of solution versions (if they exist).
11346	NextToken *string `locationName:"nextToken" type:"string"`
11347
11348	// The Amazon Resource Name (ARN) of the solution.
11349	SolutionArn *string `locationName:"solutionArn" type:"string"`
11350}
11351
11352// String returns the string representation
11353func (s ListSolutionVersionsInput) String() string {
11354	return awsutil.Prettify(s)
11355}
11356
11357// GoString returns the string representation
11358func (s ListSolutionVersionsInput) GoString() string {
11359	return s.String()
11360}
11361
11362// Validate inspects the fields of the type to determine if they are valid.
11363func (s *ListSolutionVersionsInput) Validate() error {
11364	invalidParams := request.ErrInvalidParams{Context: "ListSolutionVersionsInput"}
11365	if s.MaxResults != nil && *s.MaxResults < 1 {
11366		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11367	}
11368
11369	if invalidParams.Len() > 0 {
11370		return invalidParams
11371	}
11372	return nil
11373}
11374
11375// SetMaxResults sets the MaxResults field's value.
11376func (s *ListSolutionVersionsInput) SetMaxResults(v int64) *ListSolutionVersionsInput {
11377	s.MaxResults = &v
11378	return s
11379}
11380
11381// SetNextToken sets the NextToken field's value.
11382func (s *ListSolutionVersionsInput) SetNextToken(v string) *ListSolutionVersionsInput {
11383	s.NextToken = &v
11384	return s
11385}
11386
11387// SetSolutionArn sets the SolutionArn field's value.
11388func (s *ListSolutionVersionsInput) SetSolutionArn(v string) *ListSolutionVersionsInput {
11389	s.SolutionArn = &v
11390	return s
11391}
11392
11393type ListSolutionVersionsOutput struct {
11394	_ struct{} `type:"structure"`
11395
11396	// A token for getting the next set of solution versions (if they exist).
11397	NextToken *string `locationName:"nextToken" type:"string"`
11398
11399	// A list of solution versions describing the version properties.
11400	SolutionVersions []*SolutionVersionSummary `locationName:"solutionVersions" type:"list"`
11401}
11402
11403// String returns the string representation
11404func (s ListSolutionVersionsOutput) String() string {
11405	return awsutil.Prettify(s)
11406}
11407
11408// GoString returns the string representation
11409func (s ListSolutionVersionsOutput) GoString() string {
11410	return s.String()
11411}
11412
11413// SetNextToken sets the NextToken field's value.
11414func (s *ListSolutionVersionsOutput) SetNextToken(v string) *ListSolutionVersionsOutput {
11415	s.NextToken = &v
11416	return s
11417}
11418
11419// SetSolutionVersions sets the SolutionVersions field's value.
11420func (s *ListSolutionVersionsOutput) SetSolutionVersions(v []*SolutionVersionSummary) *ListSolutionVersionsOutput {
11421	s.SolutionVersions = v
11422	return s
11423}
11424
11425type ListSolutionsInput struct {
11426	_ struct{} `type:"structure"`
11427
11428	// The Amazon Resource Name (ARN) of the dataset group.
11429	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
11430
11431	// The maximum number of solutions to return.
11432	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
11433
11434	// A token returned from the previous call to ListSolutions for getting the
11435	// next set of solutions (if they exist).
11436	NextToken *string `locationName:"nextToken" type:"string"`
11437}
11438
11439// String returns the string representation
11440func (s ListSolutionsInput) String() string {
11441	return awsutil.Prettify(s)
11442}
11443
11444// GoString returns the string representation
11445func (s ListSolutionsInput) GoString() string {
11446	return s.String()
11447}
11448
11449// Validate inspects the fields of the type to determine if they are valid.
11450func (s *ListSolutionsInput) Validate() error {
11451	invalidParams := request.ErrInvalidParams{Context: "ListSolutionsInput"}
11452	if s.MaxResults != nil && *s.MaxResults < 1 {
11453		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11454	}
11455
11456	if invalidParams.Len() > 0 {
11457		return invalidParams
11458	}
11459	return nil
11460}
11461
11462// SetDatasetGroupArn sets the DatasetGroupArn field's value.
11463func (s *ListSolutionsInput) SetDatasetGroupArn(v string) *ListSolutionsInput {
11464	s.DatasetGroupArn = &v
11465	return s
11466}
11467
11468// SetMaxResults sets the MaxResults field's value.
11469func (s *ListSolutionsInput) SetMaxResults(v int64) *ListSolutionsInput {
11470	s.MaxResults = &v
11471	return s
11472}
11473
11474// SetNextToken sets the NextToken field's value.
11475func (s *ListSolutionsInput) SetNextToken(v string) *ListSolutionsInput {
11476	s.NextToken = &v
11477	return s
11478}
11479
11480type ListSolutionsOutput struct {
11481	_ struct{} `type:"structure"`
11482
11483	// A token for getting the next set of solutions (if they exist).
11484	NextToken *string `locationName:"nextToken" type:"string"`
11485
11486	// A list of the current solutions.
11487	Solutions []*SolutionSummary `locationName:"solutions" type:"list"`
11488}
11489
11490// String returns the string representation
11491func (s ListSolutionsOutput) String() string {
11492	return awsutil.Prettify(s)
11493}
11494
11495// GoString returns the string representation
11496func (s ListSolutionsOutput) GoString() string {
11497	return s.String()
11498}
11499
11500// SetNextToken sets the NextToken field's value.
11501func (s *ListSolutionsOutput) SetNextToken(v string) *ListSolutionsOutput {
11502	s.NextToken = &v
11503	return s
11504}
11505
11506// SetSolutions sets the Solutions field's value.
11507func (s *ListSolutionsOutput) SetSolutions(v []*SolutionSummary) *ListSolutionsOutput {
11508	s.Solutions = v
11509	return s
11510}
11511
11512// Describes the additional objective for the solution, such as maximizing streaming
11513// minutes or increasing revenue. For more information see Optimizing a solution
11514// (https://docs.aws.amazon.com/personalize/latest/dg/optimizing-solution-for-objective.html).
11515type OptimizationObjective struct {
11516	_ struct{} `type:"structure"`
11517
11518	// The numerical metadata column in an Items dataset related to the optimization
11519	// objective. For example, VIDEO_LENGTH (to maximize streaming minutes), or
11520	// PRICE (to maximize revenue).
11521	ItemAttribute *string `locationName:"itemAttribute" min:"1" type:"string"`
11522
11523	// Specifies how Amazon Personalize balances the importance of your optimization
11524	// objective versus relevance.
11525	ObjectiveSensitivity *string `locationName:"objectiveSensitivity" type:"string" enum:"ObjectiveSensitivity"`
11526}
11527
11528// String returns the string representation
11529func (s OptimizationObjective) String() string {
11530	return awsutil.Prettify(s)
11531}
11532
11533// GoString returns the string representation
11534func (s OptimizationObjective) GoString() string {
11535	return s.String()
11536}
11537
11538// Validate inspects the fields of the type to determine if they are valid.
11539func (s *OptimizationObjective) Validate() error {
11540	invalidParams := request.ErrInvalidParams{Context: "OptimizationObjective"}
11541	if s.ItemAttribute != nil && len(*s.ItemAttribute) < 1 {
11542		invalidParams.Add(request.NewErrParamMinLen("ItemAttribute", 1))
11543	}
11544
11545	if invalidParams.Len() > 0 {
11546		return invalidParams
11547	}
11548	return nil
11549}
11550
11551// SetItemAttribute sets the ItemAttribute field's value.
11552func (s *OptimizationObjective) SetItemAttribute(v string) *OptimizationObjective {
11553	s.ItemAttribute = &v
11554	return s
11555}
11556
11557// SetObjectiveSensitivity sets the ObjectiveSensitivity field's value.
11558func (s *OptimizationObjective) SetObjectiveSensitivity(v string) *OptimizationObjective {
11559	s.ObjectiveSensitivity = &v
11560	return s
11561}
11562
11563// Provides information about a recipe. Each recipe provides an algorithm that
11564// Amazon Personalize uses in model training when you use the CreateSolution
11565// operation.
11566type Recipe struct {
11567	_ struct{} `type:"structure"`
11568
11569	// The Amazon Resource Name (ARN) of the algorithm that Amazon Personalize uses
11570	// to train the model.
11571	AlgorithmArn *string `locationName:"algorithmArn" type:"string"`
11572
11573	// The date and time (in Unix format) that the recipe was created.
11574	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
11575
11576	// The description of the recipe.
11577	Description *string `locationName:"description" type:"string"`
11578
11579	// The ARN of the FeatureTransformation object.
11580	FeatureTransformationArn *string `locationName:"featureTransformationArn" type:"string"`
11581
11582	// The date and time (in Unix format) that the recipe was last updated.
11583	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
11584
11585	// The name of the recipe.
11586	Name *string `locationName:"name" min:"1" type:"string"`
11587
11588	// The Amazon Resource Name (ARN) of the recipe.
11589	RecipeArn *string `locationName:"recipeArn" type:"string"`
11590
11591	// One of the following values:
11592	//
11593	//    * PERSONALIZED_RANKING
11594	//
11595	//    * RELATED_ITEMS
11596	//
11597	//    * USER_PERSONALIZATION
11598	RecipeType *string `locationName:"recipeType" type:"string"`
11599
11600	// The status of the recipe.
11601	Status *string `locationName:"status" type:"string"`
11602}
11603
11604// String returns the string representation
11605func (s Recipe) String() string {
11606	return awsutil.Prettify(s)
11607}
11608
11609// GoString returns the string representation
11610func (s Recipe) GoString() string {
11611	return s.String()
11612}
11613
11614// SetAlgorithmArn sets the AlgorithmArn field's value.
11615func (s *Recipe) SetAlgorithmArn(v string) *Recipe {
11616	s.AlgorithmArn = &v
11617	return s
11618}
11619
11620// SetCreationDateTime sets the CreationDateTime field's value.
11621func (s *Recipe) SetCreationDateTime(v time.Time) *Recipe {
11622	s.CreationDateTime = &v
11623	return s
11624}
11625
11626// SetDescription sets the Description field's value.
11627func (s *Recipe) SetDescription(v string) *Recipe {
11628	s.Description = &v
11629	return s
11630}
11631
11632// SetFeatureTransformationArn sets the FeatureTransformationArn field's value.
11633func (s *Recipe) SetFeatureTransformationArn(v string) *Recipe {
11634	s.FeatureTransformationArn = &v
11635	return s
11636}
11637
11638// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
11639func (s *Recipe) SetLastUpdatedDateTime(v time.Time) *Recipe {
11640	s.LastUpdatedDateTime = &v
11641	return s
11642}
11643
11644// SetName sets the Name field's value.
11645func (s *Recipe) SetName(v string) *Recipe {
11646	s.Name = &v
11647	return s
11648}
11649
11650// SetRecipeArn sets the RecipeArn field's value.
11651func (s *Recipe) SetRecipeArn(v string) *Recipe {
11652	s.RecipeArn = &v
11653	return s
11654}
11655
11656// SetRecipeType sets the RecipeType field's value.
11657func (s *Recipe) SetRecipeType(v string) *Recipe {
11658	s.RecipeType = &v
11659	return s
11660}
11661
11662// SetStatus sets the Status field's value.
11663func (s *Recipe) SetStatus(v string) *Recipe {
11664	s.Status = &v
11665	return s
11666}
11667
11668// Provides a summary of the properties of a recipe. For a complete listing,
11669// call the DescribeRecipe API.
11670type RecipeSummary struct {
11671	_ struct{} `type:"structure"`
11672
11673	// The date and time (in Unix time) that the recipe was created.
11674	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
11675
11676	// The date and time (in Unix time) that the recipe was last updated.
11677	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
11678
11679	// The name of the recipe.
11680	Name *string `locationName:"name" min:"1" type:"string"`
11681
11682	// The Amazon Resource Name (ARN) of the recipe.
11683	RecipeArn *string `locationName:"recipeArn" type:"string"`
11684
11685	// The status of the recipe.
11686	Status *string `locationName:"status" type:"string"`
11687}
11688
11689// String returns the string representation
11690func (s RecipeSummary) String() string {
11691	return awsutil.Prettify(s)
11692}
11693
11694// GoString returns the string representation
11695func (s RecipeSummary) GoString() string {
11696	return s.String()
11697}
11698
11699// SetCreationDateTime sets the CreationDateTime field's value.
11700func (s *RecipeSummary) SetCreationDateTime(v time.Time) *RecipeSummary {
11701	s.CreationDateTime = &v
11702	return s
11703}
11704
11705// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
11706func (s *RecipeSummary) SetLastUpdatedDateTime(v time.Time) *RecipeSummary {
11707	s.LastUpdatedDateTime = &v
11708	return s
11709}
11710
11711// SetName sets the Name field's value.
11712func (s *RecipeSummary) SetName(v string) *RecipeSummary {
11713	s.Name = &v
11714	return s
11715}
11716
11717// SetRecipeArn sets the RecipeArn field's value.
11718func (s *RecipeSummary) SetRecipeArn(v string) *RecipeSummary {
11719	s.RecipeArn = &v
11720	return s
11721}
11722
11723// SetStatus sets the Status field's value.
11724func (s *RecipeSummary) SetStatus(v string) *RecipeSummary {
11725	s.Status = &v
11726	return s
11727}
11728
11729// The specified resource already exists.
11730type ResourceAlreadyExistsException struct {
11731	_            struct{}                  `type:"structure"`
11732	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11733
11734	Message_ *string `locationName:"message" type:"string"`
11735}
11736
11737// String returns the string representation
11738func (s ResourceAlreadyExistsException) String() string {
11739	return awsutil.Prettify(s)
11740}
11741
11742// GoString returns the string representation
11743func (s ResourceAlreadyExistsException) GoString() string {
11744	return s.String()
11745}
11746
11747func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
11748	return &ResourceAlreadyExistsException{
11749		RespMetadata: v,
11750	}
11751}
11752
11753// Code returns the exception type name.
11754func (s *ResourceAlreadyExistsException) Code() string {
11755	return "ResourceAlreadyExistsException"
11756}
11757
11758// Message returns the exception's message.
11759func (s *ResourceAlreadyExistsException) Message() string {
11760	if s.Message_ != nil {
11761		return *s.Message_
11762	}
11763	return ""
11764}
11765
11766// OrigErr always returns nil, satisfies awserr.Error interface.
11767func (s *ResourceAlreadyExistsException) OrigErr() error {
11768	return nil
11769}
11770
11771func (s *ResourceAlreadyExistsException) Error() string {
11772	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11773}
11774
11775// Status code returns the HTTP status code for the request's response error.
11776func (s *ResourceAlreadyExistsException) StatusCode() int {
11777	return s.RespMetadata.StatusCode
11778}
11779
11780// RequestID returns the service's response RequestID for request.
11781func (s *ResourceAlreadyExistsException) RequestID() string {
11782	return s.RespMetadata.RequestID
11783}
11784
11785// The specified resource is in use.
11786type ResourceInUseException struct {
11787	_            struct{}                  `type:"structure"`
11788	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11789
11790	Message_ *string `locationName:"message" type:"string"`
11791}
11792
11793// String returns the string representation
11794func (s ResourceInUseException) String() string {
11795	return awsutil.Prettify(s)
11796}
11797
11798// GoString returns the string representation
11799func (s ResourceInUseException) GoString() string {
11800	return s.String()
11801}
11802
11803func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
11804	return &ResourceInUseException{
11805		RespMetadata: v,
11806	}
11807}
11808
11809// Code returns the exception type name.
11810func (s *ResourceInUseException) Code() string {
11811	return "ResourceInUseException"
11812}
11813
11814// Message returns the exception's message.
11815func (s *ResourceInUseException) Message() string {
11816	if s.Message_ != nil {
11817		return *s.Message_
11818	}
11819	return ""
11820}
11821
11822// OrigErr always returns nil, satisfies awserr.Error interface.
11823func (s *ResourceInUseException) OrigErr() error {
11824	return nil
11825}
11826
11827func (s *ResourceInUseException) Error() string {
11828	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11829}
11830
11831// Status code returns the HTTP status code for the request's response error.
11832func (s *ResourceInUseException) StatusCode() int {
11833	return s.RespMetadata.StatusCode
11834}
11835
11836// RequestID returns the service's response RequestID for request.
11837func (s *ResourceInUseException) RequestID() string {
11838	return s.RespMetadata.RequestID
11839}
11840
11841// Could not find the specified resource.
11842type ResourceNotFoundException struct {
11843	_            struct{}                  `type:"structure"`
11844	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11845
11846	Message_ *string `locationName:"message" type:"string"`
11847}
11848
11849// String returns the string representation
11850func (s ResourceNotFoundException) String() string {
11851	return awsutil.Prettify(s)
11852}
11853
11854// GoString returns the string representation
11855func (s ResourceNotFoundException) GoString() string {
11856	return s.String()
11857}
11858
11859func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
11860	return &ResourceNotFoundException{
11861		RespMetadata: v,
11862	}
11863}
11864
11865// Code returns the exception type name.
11866func (s *ResourceNotFoundException) Code() string {
11867	return "ResourceNotFoundException"
11868}
11869
11870// Message returns the exception's message.
11871func (s *ResourceNotFoundException) Message() string {
11872	if s.Message_ != nil {
11873		return *s.Message_
11874	}
11875	return ""
11876}
11877
11878// OrigErr always returns nil, satisfies awserr.Error interface.
11879func (s *ResourceNotFoundException) OrigErr() error {
11880	return nil
11881}
11882
11883func (s *ResourceNotFoundException) Error() string {
11884	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11885}
11886
11887// Status code returns the HTTP status code for the request's response error.
11888func (s *ResourceNotFoundException) StatusCode() int {
11889	return s.RespMetadata.StatusCode
11890}
11891
11892// RequestID returns the service's response RequestID for request.
11893func (s *ResourceNotFoundException) RequestID() string {
11894	return s.RespMetadata.RequestID
11895}
11896
11897// The configuration details of an Amazon S3 input or output bucket.
11898type S3DataConfig struct {
11899	_ struct{} `type:"structure"`
11900
11901	// The Amazon Resource Name (ARN) of the Key Management Service (KMS) key that
11902	// Amazon Personalize uses to encrypt or decrypt the input and output files
11903	// of a batch inference job.
11904	KmsKeyArn *string `locationName:"kmsKeyArn" type:"string"`
11905
11906	// The file path of the Amazon S3 bucket.
11907	//
11908	// Path is a required field
11909	Path *string `locationName:"path" type:"string" required:"true"`
11910}
11911
11912// String returns the string representation
11913func (s S3DataConfig) String() string {
11914	return awsutil.Prettify(s)
11915}
11916
11917// GoString returns the string representation
11918func (s S3DataConfig) GoString() string {
11919	return s.String()
11920}
11921
11922// Validate inspects the fields of the type to determine if they are valid.
11923func (s *S3DataConfig) Validate() error {
11924	invalidParams := request.ErrInvalidParams{Context: "S3DataConfig"}
11925	if s.Path == nil {
11926		invalidParams.Add(request.NewErrParamRequired("Path"))
11927	}
11928
11929	if invalidParams.Len() > 0 {
11930		return invalidParams
11931	}
11932	return nil
11933}
11934
11935// SetKmsKeyArn sets the KmsKeyArn field's value.
11936func (s *S3DataConfig) SetKmsKeyArn(v string) *S3DataConfig {
11937	s.KmsKeyArn = &v
11938	return s
11939}
11940
11941// SetPath sets the Path field's value.
11942func (s *S3DataConfig) SetPath(v string) *S3DataConfig {
11943	s.Path = &v
11944	return s
11945}
11946
11947// An object that provides information about a solution. A solution is a trained
11948// model that can be deployed as a campaign.
11949type Solution struct {
11950	_ struct{} `type:"structure"`
11951
11952	// When performAutoML is true, specifies the best recipe found.
11953	AutoMLResult *AutoMLResult `locationName:"autoMLResult" type:"structure"`
11954
11955	// The creation date and time (in Unix time) of the solution.
11956	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
11957
11958	// The Amazon Resource Name (ARN) of the dataset group that provides the training
11959	// data.
11960	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
11961
11962	// The event type (for example, 'click' or 'like') that is used for training
11963	// the model. If no eventType is provided, Amazon Personalize uses all interactions
11964	// for training with equal weight regardless of type.
11965	EventType *string `locationName:"eventType" type:"string"`
11966
11967	// The date and time (in Unix time) that the solution was last updated.
11968	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
11969
11970	// Describes the latest version of the solution, including the status and the
11971	// ARN.
11972	LatestSolutionVersion *SolutionVersionSummary `locationName:"latestSolutionVersion" type:"structure"`
11973
11974	// The name of the solution.
11975	Name *string `locationName:"name" min:"1" type:"string"`
11976
11977	// When true, Amazon Personalize performs a search for the best USER_PERSONALIZATION
11978	// recipe from the list specified in the solution configuration (recipeArn must
11979	// not be specified). When false (the default), Amazon Personalize uses recipeArn
11980	// for training.
11981	PerformAutoML *bool `locationName:"performAutoML" type:"boolean"`
11982
11983	// Whether to perform hyperparameter optimization (HPO) on the chosen recipe.
11984	// The default is false.
11985	PerformHPO *bool `locationName:"performHPO" type:"boolean"`
11986
11987	// The ARN of the recipe used to create the solution.
11988	RecipeArn *string `locationName:"recipeArn" type:"string"`
11989
11990	// The ARN of the solution.
11991	SolutionArn *string `locationName:"solutionArn" type:"string"`
11992
11993	// Describes the configuration properties for the solution.
11994	SolutionConfig *SolutionConfig `locationName:"solutionConfig" type:"structure"`
11995
11996	// The status of the solution.
11997	//
11998	// A solution can be in one of the following states:
11999	//
12000	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
12001	//
12002	//    * DELETE PENDING > DELETE IN_PROGRESS
12003	Status *string `locationName:"status" type:"string"`
12004}
12005
12006// String returns the string representation
12007func (s Solution) String() string {
12008	return awsutil.Prettify(s)
12009}
12010
12011// GoString returns the string representation
12012func (s Solution) GoString() string {
12013	return s.String()
12014}
12015
12016// SetAutoMLResult sets the AutoMLResult field's value.
12017func (s *Solution) SetAutoMLResult(v *AutoMLResult) *Solution {
12018	s.AutoMLResult = v
12019	return s
12020}
12021
12022// SetCreationDateTime sets the CreationDateTime field's value.
12023func (s *Solution) SetCreationDateTime(v time.Time) *Solution {
12024	s.CreationDateTime = &v
12025	return s
12026}
12027
12028// SetDatasetGroupArn sets the DatasetGroupArn field's value.
12029func (s *Solution) SetDatasetGroupArn(v string) *Solution {
12030	s.DatasetGroupArn = &v
12031	return s
12032}
12033
12034// SetEventType sets the EventType field's value.
12035func (s *Solution) SetEventType(v string) *Solution {
12036	s.EventType = &v
12037	return s
12038}
12039
12040// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
12041func (s *Solution) SetLastUpdatedDateTime(v time.Time) *Solution {
12042	s.LastUpdatedDateTime = &v
12043	return s
12044}
12045
12046// SetLatestSolutionVersion sets the LatestSolutionVersion field's value.
12047func (s *Solution) SetLatestSolutionVersion(v *SolutionVersionSummary) *Solution {
12048	s.LatestSolutionVersion = v
12049	return s
12050}
12051
12052// SetName sets the Name field's value.
12053func (s *Solution) SetName(v string) *Solution {
12054	s.Name = &v
12055	return s
12056}
12057
12058// SetPerformAutoML sets the PerformAutoML field's value.
12059func (s *Solution) SetPerformAutoML(v bool) *Solution {
12060	s.PerformAutoML = &v
12061	return s
12062}
12063
12064// SetPerformHPO sets the PerformHPO field's value.
12065func (s *Solution) SetPerformHPO(v bool) *Solution {
12066	s.PerformHPO = &v
12067	return s
12068}
12069
12070// SetRecipeArn sets the RecipeArn field's value.
12071func (s *Solution) SetRecipeArn(v string) *Solution {
12072	s.RecipeArn = &v
12073	return s
12074}
12075
12076// SetSolutionArn sets the SolutionArn field's value.
12077func (s *Solution) SetSolutionArn(v string) *Solution {
12078	s.SolutionArn = &v
12079	return s
12080}
12081
12082// SetSolutionConfig sets the SolutionConfig field's value.
12083func (s *Solution) SetSolutionConfig(v *SolutionConfig) *Solution {
12084	s.SolutionConfig = v
12085	return s
12086}
12087
12088// SetStatus sets the Status field's value.
12089func (s *Solution) SetStatus(v string) *Solution {
12090	s.Status = &v
12091	return s
12092}
12093
12094// Describes the configuration properties for the solution.
12095type SolutionConfig struct {
12096	_ struct{} `type:"structure"`
12097
12098	// Lists the hyperparameter names and ranges.
12099	AlgorithmHyperParameters map[string]*string `locationName:"algorithmHyperParameters" type:"map"`
12100
12101	// The AutoMLConfig object containing a list of recipes to search when AutoML
12102	// is performed.
12103	AutoMLConfig *AutoMLConfig `locationName:"autoMLConfig" type:"structure"`
12104
12105	// Only events with a value greater than or equal to this threshold are used
12106	// for training a model.
12107	EventValueThreshold *string `locationName:"eventValueThreshold" type:"string"`
12108
12109	// Lists the feature transformation parameters.
12110	FeatureTransformationParameters map[string]*string `locationName:"featureTransformationParameters" type:"map"`
12111
12112	// Describes the properties for hyperparameter optimization (HPO).
12113	HpoConfig *HPOConfig `locationName:"hpoConfig" type:"structure"`
12114
12115	// Describes the additional objective for the solution, such as maximizing streaming
12116	// minutes or increasing revenue. For more information see Optimizing a solution
12117	// (https://docs.aws.amazon.com/personalize/latest/dg/optimizing-solution-for-objective.html).
12118	OptimizationObjective *OptimizationObjective `locationName:"optimizationObjective" type:"structure"`
12119}
12120
12121// String returns the string representation
12122func (s SolutionConfig) String() string {
12123	return awsutil.Prettify(s)
12124}
12125
12126// GoString returns the string representation
12127func (s SolutionConfig) GoString() string {
12128	return s.String()
12129}
12130
12131// Validate inspects the fields of the type to determine if they are valid.
12132func (s *SolutionConfig) Validate() error {
12133	invalidParams := request.ErrInvalidParams{Context: "SolutionConfig"}
12134	if s.HpoConfig != nil {
12135		if err := s.HpoConfig.Validate(); err != nil {
12136			invalidParams.AddNested("HpoConfig", err.(request.ErrInvalidParams))
12137		}
12138	}
12139	if s.OptimizationObjective != nil {
12140		if err := s.OptimizationObjective.Validate(); err != nil {
12141			invalidParams.AddNested("OptimizationObjective", err.(request.ErrInvalidParams))
12142		}
12143	}
12144
12145	if invalidParams.Len() > 0 {
12146		return invalidParams
12147	}
12148	return nil
12149}
12150
12151// SetAlgorithmHyperParameters sets the AlgorithmHyperParameters field's value.
12152func (s *SolutionConfig) SetAlgorithmHyperParameters(v map[string]*string) *SolutionConfig {
12153	s.AlgorithmHyperParameters = v
12154	return s
12155}
12156
12157// SetAutoMLConfig sets the AutoMLConfig field's value.
12158func (s *SolutionConfig) SetAutoMLConfig(v *AutoMLConfig) *SolutionConfig {
12159	s.AutoMLConfig = v
12160	return s
12161}
12162
12163// SetEventValueThreshold sets the EventValueThreshold field's value.
12164func (s *SolutionConfig) SetEventValueThreshold(v string) *SolutionConfig {
12165	s.EventValueThreshold = &v
12166	return s
12167}
12168
12169// SetFeatureTransformationParameters sets the FeatureTransformationParameters field's value.
12170func (s *SolutionConfig) SetFeatureTransformationParameters(v map[string]*string) *SolutionConfig {
12171	s.FeatureTransformationParameters = v
12172	return s
12173}
12174
12175// SetHpoConfig sets the HpoConfig field's value.
12176func (s *SolutionConfig) SetHpoConfig(v *HPOConfig) *SolutionConfig {
12177	s.HpoConfig = v
12178	return s
12179}
12180
12181// SetOptimizationObjective sets the OptimizationObjective field's value.
12182func (s *SolutionConfig) SetOptimizationObjective(v *OptimizationObjective) *SolutionConfig {
12183	s.OptimizationObjective = v
12184	return s
12185}
12186
12187// Provides a summary of the properties of a solution. For a complete listing,
12188// call the DescribeSolution API.
12189type SolutionSummary struct {
12190	_ struct{} `type:"structure"`
12191
12192	// The date and time (in Unix time) that the solution was created.
12193	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
12194
12195	// The date and time (in Unix time) that the solution was last updated.
12196	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
12197
12198	// The name of the solution.
12199	Name *string `locationName:"name" min:"1" type:"string"`
12200
12201	// The Amazon Resource Name (ARN) of the solution.
12202	SolutionArn *string `locationName:"solutionArn" type:"string"`
12203
12204	// The status of the solution.
12205	//
12206	// A solution can be in one of the following states:
12207	//
12208	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
12209	//
12210	//    * DELETE PENDING > DELETE IN_PROGRESS
12211	Status *string `locationName:"status" type:"string"`
12212}
12213
12214// String returns the string representation
12215func (s SolutionSummary) String() string {
12216	return awsutil.Prettify(s)
12217}
12218
12219// GoString returns the string representation
12220func (s SolutionSummary) GoString() string {
12221	return s.String()
12222}
12223
12224// SetCreationDateTime sets the CreationDateTime field's value.
12225func (s *SolutionSummary) SetCreationDateTime(v time.Time) *SolutionSummary {
12226	s.CreationDateTime = &v
12227	return s
12228}
12229
12230// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
12231func (s *SolutionSummary) SetLastUpdatedDateTime(v time.Time) *SolutionSummary {
12232	s.LastUpdatedDateTime = &v
12233	return s
12234}
12235
12236// SetName sets the Name field's value.
12237func (s *SolutionSummary) SetName(v string) *SolutionSummary {
12238	s.Name = &v
12239	return s
12240}
12241
12242// SetSolutionArn sets the SolutionArn field's value.
12243func (s *SolutionSummary) SetSolutionArn(v string) *SolutionSummary {
12244	s.SolutionArn = &v
12245	return s
12246}
12247
12248// SetStatus sets the Status field's value.
12249func (s *SolutionSummary) SetStatus(v string) *SolutionSummary {
12250	s.Status = &v
12251	return s
12252}
12253
12254// An object that provides information about a specific version of a Solution.
12255type SolutionVersion struct {
12256	_ struct{} `type:"structure"`
12257
12258	// The date and time (in Unix time) that this version of the solution was created.
12259	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
12260
12261	// The Amazon Resource Name (ARN) of the dataset group providing the training
12262	// data.
12263	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
12264
12265	// The event type (for example, 'click' or 'like') that is used for training
12266	// the model.
12267	EventType *string `locationName:"eventType" type:"string"`
12268
12269	// If training a solution version fails, the reason for the failure.
12270	FailureReason *string `locationName:"failureReason" type:"string"`
12271
12272	// The date and time (in Unix time) that the solution was last updated.
12273	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
12274
12275	// When true, Amazon Personalize searches for the most optimal recipe according
12276	// to the solution configuration. When false (the default), Amazon Personalize
12277	// uses recipeArn.
12278	PerformAutoML *bool `locationName:"performAutoML" type:"boolean"`
12279
12280	// Whether to perform hyperparameter optimization (HPO) on the chosen recipe.
12281	// The default is false.
12282	PerformHPO *bool `locationName:"performHPO" type:"boolean"`
12283
12284	// The ARN of the recipe used in the solution.
12285	RecipeArn *string `locationName:"recipeArn" type:"string"`
12286
12287	// The ARN of the solution.
12288	SolutionArn *string `locationName:"solutionArn" type:"string"`
12289
12290	// Describes the configuration properties for the solution.
12291	SolutionConfig *SolutionConfig `locationName:"solutionConfig" type:"structure"`
12292
12293	// The ARN of the solution version.
12294	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
12295
12296	// The status of the solution version.
12297	//
12298	// A solution version can be in one of the following states:
12299	//
12300	//    * CREATE PENDING
12301	//
12302	//    * CREATE IN_PROGRESS
12303	//
12304	//    * ACTIVE
12305	//
12306	//    * CREATE FAILED
12307	//
12308	//    * CREATE STOPPING
12309	//
12310	//    * CREATE STOPPED
12311	Status *string `locationName:"status" type:"string"`
12312
12313	// The time used to train the model. You are billed for the time it takes to
12314	// train a model. This field is visible only after Amazon Personalize successfully
12315	// trains a model.
12316	TrainingHours *float64 `locationName:"trainingHours" type:"double"`
12317
12318	// The scope of training to be performed when creating the solution version.
12319	// The FULL option trains the solution version based on the entirety of the
12320	// input solution's training data, while the UPDATE option processes only the
12321	// data that has changed in comparison to the input solution. Choose UPDATE
12322	// when you want to incrementally update your solution version instead of creating
12323	// an entirely new one.
12324	//
12325	// The UPDATE option can only be used when you already have an active solution
12326	// version created from the input solution using the FULL option and the input
12327	// solution was trained with the User-Personalization (https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html)
12328	// recipe or the HRNN-Coldstart (https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-hrnn-coldstart.html)
12329	// recipe.
12330	TrainingMode *string `locationName:"trainingMode" type:"string" enum:"TrainingMode"`
12331
12332	// If hyperparameter optimization was performed, contains the hyperparameter
12333	// values of the best performing model.
12334	TunedHPOParams *TunedHPOParams `locationName:"tunedHPOParams" type:"structure"`
12335}
12336
12337// String returns the string representation
12338func (s SolutionVersion) String() string {
12339	return awsutil.Prettify(s)
12340}
12341
12342// GoString returns the string representation
12343func (s SolutionVersion) GoString() string {
12344	return s.String()
12345}
12346
12347// SetCreationDateTime sets the CreationDateTime field's value.
12348func (s *SolutionVersion) SetCreationDateTime(v time.Time) *SolutionVersion {
12349	s.CreationDateTime = &v
12350	return s
12351}
12352
12353// SetDatasetGroupArn sets the DatasetGroupArn field's value.
12354func (s *SolutionVersion) SetDatasetGroupArn(v string) *SolutionVersion {
12355	s.DatasetGroupArn = &v
12356	return s
12357}
12358
12359// SetEventType sets the EventType field's value.
12360func (s *SolutionVersion) SetEventType(v string) *SolutionVersion {
12361	s.EventType = &v
12362	return s
12363}
12364
12365// SetFailureReason sets the FailureReason field's value.
12366func (s *SolutionVersion) SetFailureReason(v string) *SolutionVersion {
12367	s.FailureReason = &v
12368	return s
12369}
12370
12371// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
12372func (s *SolutionVersion) SetLastUpdatedDateTime(v time.Time) *SolutionVersion {
12373	s.LastUpdatedDateTime = &v
12374	return s
12375}
12376
12377// SetPerformAutoML sets the PerformAutoML field's value.
12378func (s *SolutionVersion) SetPerformAutoML(v bool) *SolutionVersion {
12379	s.PerformAutoML = &v
12380	return s
12381}
12382
12383// SetPerformHPO sets the PerformHPO field's value.
12384func (s *SolutionVersion) SetPerformHPO(v bool) *SolutionVersion {
12385	s.PerformHPO = &v
12386	return s
12387}
12388
12389// SetRecipeArn sets the RecipeArn field's value.
12390func (s *SolutionVersion) SetRecipeArn(v string) *SolutionVersion {
12391	s.RecipeArn = &v
12392	return s
12393}
12394
12395// SetSolutionArn sets the SolutionArn field's value.
12396func (s *SolutionVersion) SetSolutionArn(v string) *SolutionVersion {
12397	s.SolutionArn = &v
12398	return s
12399}
12400
12401// SetSolutionConfig sets the SolutionConfig field's value.
12402func (s *SolutionVersion) SetSolutionConfig(v *SolutionConfig) *SolutionVersion {
12403	s.SolutionConfig = v
12404	return s
12405}
12406
12407// SetSolutionVersionArn sets the SolutionVersionArn field's value.
12408func (s *SolutionVersion) SetSolutionVersionArn(v string) *SolutionVersion {
12409	s.SolutionVersionArn = &v
12410	return s
12411}
12412
12413// SetStatus sets the Status field's value.
12414func (s *SolutionVersion) SetStatus(v string) *SolutionVersion {
12415	s.Status = &v
12416	return s
12417}
12418
12419// SetTrainingHours sets the TrainingHours field's value.
12420func (s *SolutionVersion) SetTrainingHours(v float64) *SolutionVersion {
12421	s.TrainingHours = &v
12422	return s
12423}
12424
12425// SetTrainingMode sets the TrainingMode field's value.
12426func (s *SolutionVersion) SetTrainingMode(v string) *SolutionVersion {
12427	s.TrainingMode = &v
12428	return s
12429}
12430
12431// SetTunedHPOParams sets the TunedHPOParams field's value.
12432func (s *SolutionVersion) SetTunedHPOParams(v *TunedHPOParams) *SolutionVersion {
12433	s.TunedHPOParams = v
12434	return s
12435}
12436
12437// Provides a summary of the properties of a solution version. For a complete
12438// listing, call the DescribeSolutionVersion API.
12439type SolutionVersionSummary struct {
12440	_ struct{} `type:"structure"`
12441
12442	// The date and time (in Unix time) that this version of a solution was created.
12443	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
12444
12445	// If a solution version fails, the reason behind the failure.
12446	FailureReason *string `locationName:"failureReason" type:"string"`
12447
12448	// The date and time (in Unix time) that the solution version was last updated.
12449	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
12450
12451	// The Amazon Resource Name (ARN) of the solution version.
12452	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
12453
12454	// The status of the solution version.
12455	//
12456	// A solution version can be in one of the following states:
12457	//
12458	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
12459	Status *string `locationName:"status" type:"string"`
12460}
12461
12462// String returns the string representation
12463func (s SolutionVersionSummary) String() string {
12464	return awsutil.Prettify(s)
12465}
12466
12467// GoString returns the string representation
12468func (s SolutionVersionSummary) GoString() string {
12469	return s.String()
12470}
12471
12472// SetCreationDateTime sets the CreationDateTime field's value.
12473func (s *SolutionVersionSummary) SetCreationDateTime(v time.Time) *SolutionVersionSummary {
12474	s.CreationDateTime = &v
12475	return s
12476}
12477
12478// SetFailureReason sets the FailureReason field's value.
12479func (s *SolutionVersionSummary) SetFailureReason(v string) *SolutionVersionSummary {
12480	s.FailureReason = &v
12481	return s
12482}
12483
12484// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
12485func (s *SolutionVersionSummary) SetLastUpdatedDateTime(v time.Time) *SolutionVersionSummary {
12486	s.LastUpdatedDateTime = &v
12487	return s
12488}
12489
12490// SetSolutionVersionArn sets the SolutionVersionArn field's value.
12491func (s *SolutionVersionSummary) SetSolutionVersionArn(v string) *SolutionVersionSummary {
12492	s.SolutionVersionArn = &v
12493	return s
12494}
12495
12496// SetStatus sets the Status field's value.
12497func (s *SolutionVersionSummary) SetStatus(v string) *SolutionVersionSummary {
12498	s.Status = &v
12499	return s
12500}
12501
12502type StopSolutionVersionCreationInput struct {
12503	_ struct{} `type:"structure"`
12504
12505	// The Amazon Resource Name (ARN) of the solution version you want to stop creating.
12506	//
12507	// SolutionVersionArn is a required field
12508	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string" required:"true"`
12509}
12510
12511// String returns the string representation
12512func (s StopSolutionVersionCreationInput) String() string {
12513	return awsutil.Prettify(s)
12514}
12515
12516// GoString returns the string representation
12517func (s StopSolutionVersionCreationInput) GoString() string {
12518	return s.String()
12519}
12520
12521// Validate inspects the fields of the type to determine if they are valid.
12522func (s *StopSolutionVersionCreationInput) Validate() error {
12523	invalidParams := request.ErrInvalidParams{Context: "StopSolutionVersionCreationInput"}
12524	if s.SolutionVersionArn == nil {
12525		invalidParams.Add(request.NewErrParamRequired("SolutionVersionArn"))
12526	}
12527
12528	if invalidParams.Len() > 0 {
12529		return invalidParams
12530	}
12531	return nil
12532}
12533
12534// SetSolutionVersionArn sets the SolutionVersionArn field's value.
12535func (s *StopSolutionVersionCreationInput) SetSolutionVersionArn(v string) *StopSolutionVersionCreationInput {
12536	s.SolutionVersionArn = &v
12537	return s
12538}
12539
12540type StopSolutionVersionCreationOutput struct {
12541	_ struct{} `type:"structure"`
12542}
12543
12544// String returns the string representation
12545func (s StopSolutionVersionCreationOutput) String() string {
12546	return awsutil.Prettify(s)
12547}
12548
12549// GoString returns the string representation
12550func (s StopSolutionVersionCreationOutput) GoString() string {
12551	return s.String()
12552}
12553
12554// If hyperparameter optimization (HPO) was performed, contains the hyperparameter
12555// values of the best performing model.
12556type TunedHPOParams struct {
12557	_ struct{} `type:"structure"`
12558
12559	// A list of the hyperparameter values of the best performing model.
12560	AlgorithmHyperParameters map[string]*string `locationName:"algorithmHyperParameters" type:"map"`
12561}
12562
12563// String returns the string representation
12564func (s TunedHPOParams) String() string {
12565	return awsutil.Prettify(s)
12566}
12567
12568// GoString returns the string representation
12569func (s TunedHPOParams) GoString() string {
12570	return s.String()
12571}
12572
12573// SetAlgorithmHyperParameters sets the AlgorithmHyperParameters field's value.
12574func (s *TunedHPOParams) SetAlgorithmHyperParameters(v map[string]*string) *TunedHPOParams {
12575	s.AlgorithmHyperParameters = v
12576	return s
12577}
12578
12579type UpdateCampaignInput struct {
12580	_ struct{} `type:"structure"`
12581
12582	// The Amazon Resource Name (ARN) of the campaign.
12583	//
12584	// CampaignArn is a required field
12585	CampaignArn *string `locationName:"campaignArn" type:"string" required:"true"`
12586
12587	// The configuration details of a campaign.
12588	CampaignConfig *CampaignConfig `locationName:"campaignConfig" type:"structure"`
12589
12590	// Specifies the requested minimum provisioned transactions (recommendations)
12591	// per second that Amazon Personalize will support.
12592	MinProvisionedTPS *int64 `locationName:"minProvisionedTPS" min:"1" type:"integer"`
12593
12594	// The ARN of a new solution version to deploy.
12595	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
12596}
12597
12598// String returns the string representation
12599func (s UpdateCampaignInput) String() string {
12600	return awsutil.Prettify(s)
12601}
12602
12603// GoString returns the string representation
12604func (s UpdateCampaignInput) GoString() string {
12605	return s.String()
12606}
12607
12608// Validate inspects the fields of the type to determine if they are valid.
12609func (s *UpdateCampaignInput) Validate() error {
12610	invalidParams := request.ErrInvalidParams{Context: "UpdateCampaignInput"}
12611	if s.CampaignArn == nil {
12612		invalidParams.Add(request.NewErrParamRequired("CampaignArn"))
12613	}
12614	if s.MinProvisionedTPS != nil && *s.MinProvisionedTPS < 1 {
12615		invalidParams.Add(request.NewErrParamMinValue("MinProvisionedTPS", 1))
12616	}
12617
12618	if invalidParams.Len() > 0 {
12619		return invalidParams
12620	}
12621	return nil
12622}
12623
12624// SetCampaignArn sets the CampaignArn field's value.
12625func (s *UpdateCampaignInput) SetCampaignArn(v string) *UpdateCampaignInput {
12626	s.CampaignArn = &v
12627	return s
12628}
12629
12630// SetCampaignConfig sets the CampaignConfig field's value.
12631func (s *UpdateCampaignInput) SetCampaignConfig(v *CampaignConfig) *UpdateCampaignInput {
12632	s.CampaignConfig = v
12633	return s
12634}
12635
12636// SetMinProvisionedTPS sets the MinProvisionedTPS field's value.
12637func (s *UpdateCampaignInput) SetMinProvisionedTPS(v int64) *UpdateCampaignInput {
12638	s.MinProvisionedTPS = &v
12639	return s
12640}
12641
12642// SetSolutionVersionArn sets the SolutionVersionArn field's value.
12643func (s *UpdateCampaignInput) SetSolutionVersionArn(v string) *UpdateCampaignInput {
12644	s.SolutionVersionArn = &v
12645	return s
12646}
12647
12648type UpdateCampaignOutput struct {
12649	_ struct{} `type:"structure"`
12650
12651	// The same campaign ARN as given in the request.
12652	CampaignArn *string `locationName:"campaignArn" type:"string"`
12653}
12654
12655// String returns the string representation
12656func (s UpdateCampaignOutput) String() string {
12657	return awsutil.Prettify(s)
12658}
12659
12660// GoString returns the string representation
12661func (s UpdateCampaignOutput) GoString() string {
12662	return s.String()
12663}
12664
12665// SetCampaignArn sets the CampaignArn field's value.
12666func (s *UpdateCampaignOutput) SetCampaignArn(v string) *UpdateCampaignOutput {
12667	s.CampaignArn = &v
12668	return s
12669}
12670
12671const (
12672	// IngestionModeBulk is a IngestionMode enum value
12673	IngestionModeBulk = "BULK"
12674
12675	// IngestionModePut is a IngestionMode enum value
12676	IngestionModePut = "PUT"
12677
12678	// IngestionModeAll is a IngestionMode enum value
12679	IngestionModeAll = "ALL"
12680)
12681
12682// IngestionMode_Values returns all elements of the IngestionMode enum
12683func IngestionMode_Values() []string {
12684	return []string{
12685		IngestionModeBulk,
12686		IngestionModePut,
12687		IngestionModeAll,
12688	}
12689}
12690
12691const (
12692	// ObjectiveSensitivityLow is a ObjectiveSensitivity enum value
12693	ObjectiveSensitivityLow = "LOW"
12694
12695	// ObjectiveSensitivityMedium is a ObjectiveSensitivity enum value
12696	ObjectiveSensitivityMedium = "MEDIUM"
12697
12698	// ObjectiveSensitivityHigh is a ObjectiveSensitivity enum value
12699	ObjectiveSensitivityHigh = "HIGH"
12700
12701	// ObjectiveSensitivityOff is a ObjectiveSensitivity enum value
12702	ObjectiveSensitivityOff = "OFF"
12703)
12704
12705// ObjectiveSensitivity_Values returns all elements of the ObjectiveSensitivity enum
12706func ObjectiveSensitivity_Values() []string {
12707	return []string{
12708		ObjectiveSensitivityLow,
12709		ObjectiveSensitivityMedium,
12710		ObjectiveSensitivityHigh,
12711		ObjectiveSensitivityOff,
12712	}
12713}
12714
12715const (
12716	// RecipeProviderService is a RecipeProvider enum value
12717	RecipeProviderService = "SERVICE"
12718)
12719
12720// RecipeProvider_Values returns all elements of the RecipeProvider enum
12721func RecipeProvider_Values() []string {
12722	return []string{
12723		RecipeProviderService,
12724	}
12725}
12726
12727const (
12728	// TrainingModeFull is a TrainingMode enum value
12729	TrainingModeFull = "FULL"
12730
12731	// TrainingModeUpdate is a TrainingMode enum value
12732	TrainingModeUpdate = "UPDATE"
12733)
12734
12735// TrainingMode_Values returns all elements of the TrainingMode enum
12736func TrainingMode_Values() []string {
12737	return []string{
12738		TrainingModeFull,
12739		TrainingModeUpdate,
12740	}
12741}
12742