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. If your TPS increases beyond minProvisionedTPS, Amazon Personalize
165// auto-scales the provisioned capacity up and down, but never below minProvisionedTPS,
166// to maintain a 70% utilization. There's a short time delay while the capacity
167// is increased that might cause loss of transactions. It's recommended to start
168// with a low minProvisionedTPS, track your usage using Amazon CloudWatch metrics,
169// and then increase the minProvisionedTPS as necessary.
170//
171// Status
172//
173// A campaign can be in one of the following states:
174//
175//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
176//
177//    * DELETE PENDING > DELETE IN_PROGRESS
178//
179// To get the campaign status, call DescribeCampaign.
180//
181// Wait until the status of the campaign is ACTIVE before asking the campaign
182// for recommendations.
183//
184// Related APIs
185//
186//    * ListCampaigns
187//
188//    * DescribeCampaign
189//
190//    * UpdateCampaign
191//
192//    * DeleteCampaign
193//
194// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
195// with awserr.Error's Code and Message methods to get detailed information about
196// the error.
197//
198// See the AWS API reference guide for Amazon Personalize's
199// API operation CreateCampaign for usage and error information.
200//
201// Returned Error Types:
202//   * InvalidInputException
203//   Provide a valid value for the field or parameter.
204//
205//   * ResourceNotFoundException
206//   Could not find the specified resource.
207//
208//   * ResourceAlreadyExistsException
209//   The specified resource already exists.
210//
211//   * LimitExceededException
212//   The limit on the number of requests per second has been exceeded.
213//
214//   * ResourceInUseException
215//   The specified resource is in use.
216//
217// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateCampaign
218func (c *Personalize) CreateCampaign(input *CreateCampaignInput) (*CreateCampaignOutput, error) {
219	req, out := c.CreateCampaignRequest(input)
220	return out, req.Send()
221}
222
223// CreateCampaignWithContext is the same as CreateCampaign with the addition of
224// the ability to pass a context and additional request options.
225//
226// See CreateCampaign for details on how to use this API operation.
227//
228// The context must be non-nil and will be used for request cancellation. If
229// the context is nil a panic will occur. In the future the SDK may create
230// sub-contexts for http.Requests. See https://golang.org/pkg/context/
231// for more information on using Contexts.
232func (c *Personalize) CreateCampaignWithContext(ctx aws.Context, input *CreateCampaignInput, opts ...request.Option) (*CreateCampaignOutput, error) {
233	req, out := c.CreateCampaignRequest(input)
234	req.SetContext(ctx)
235	req.ApplyOptions(opts...)
236	return out, req.Send()
237}
238
239const opCreateDataset = "CreateDataset"
240
241// CreateDatasetRequest generates a "aws/request.Request" representing the
242// client's request for the CreateDataset operation. The "output" return
243// value will be populated with the request's response once the request completes
244// successfully.
245//
246// Use "Send" method on the returned Request to send the API call to the service.
247// the "output" return value is not valid until after Send returns without error.
248//
249// See CreateDataset for more information on using the CreateDataset
250// API call, and error handling.
251//
252// This method is useful when you want to inject custom logic or configuration
253// into the SDK's request lifecycle. Such as custom headers, or retry logic.
254//
255//
256//    // Example sending a request using the CreateDatasetRequest method.
257//    req, resp := client.CreateDatasetRequest(params)
258//
259//    err := req.Send()
260//    if err == nil { // resp is now filled
261//        fmt.Println(resp)
262//    }
263//
264// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDataset
265func (c *Personalize) CreateDatasetRequest(input *CreateDatasetInput) (req *request.Request, output *CreateDatasetOutput) {
266	op := &request.Operation{
267		Name:       opCreateDataset,
268		HTTPMethod: "POST",
269		HTTPPath:   "/",
270	}
271
272	if input == nil {
273		input = &CreateDatasetInput{}
274	}
275
276	output = &CreateDatasetOutput{}
277	req = c.newRequest(op, input, output)
278	return
279}
280
281// CreateDataset API operation for Amazon Personalize.
282//
283// Creates an empty dataset and adds it to the specified dataset group. Use
284// CreateDatasetImportJob to import your training data to a dataset.
285//
286// There are three types of datasets:
287//
288//    * Interactions
289//
290//    * Items
291//
292//    * Users
293//
294// Each dataset type has an associated schema with required field types. Only
295// the Interactions dataset is required in order to train a model (also referred
296// to as creating a solution).
297//
298// A dataset can be in one of the following states:
299//
300//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
301//
302//    * DELETE PENDING > DELETE IN_PROGRESS
303//
304// To get the status of the dataset, call DescribeDataset.
305//
306// Related APIs
307//
308//    * CreateDatasetGroup
309//
310//    * ListDatasets
311//
312//    * DescribeDataset
313//
314//    * DeleteDataset
315//
316// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
317// with awserr.Error's Code and Message methods to get detailed information about
318// the error.
319//
320// See the AWS API reference guide for Amazon Personalize's
321// API operation CreateDataset for usage and error information.
322//
323// Returned Error Types:
324//   * InvalidInputException
325//   Provide a valid value for the field or parameter.
326//
327//   * ResourceNotFoundException
328//   Could not find the specified resource.
329//
330//   * ResourceAlreadyExistsException
331//   The specified resource already exists.
332//
333//   * LimitExceededException
334//   The limit on the number of requests per second has been exceeded.
335//
336//   * ResourceInUseException
337//   The specified resource is in use.
338//
339// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDataset
340func (c *Personalize) CreateDataset(input *CreateDatasetInput) (*CreateDatasetOutput, error) {
341	req, out := c.CreateDatasetRequest(input)
342	return out, req.Send()
343}
344
345// CreateDatasetWithContext is the same as CreateDataset with the addition of
346// the ability to pass a context and additional request options.
347//
348// See CreateDataset for details on how to use this API operation.
349//
350// The context must be non-nil and will be used for request cancellation. If
351// the context is nil a panic will occur. In the future the SDK may create
352// sub-contexts for http.Requests. See https://golang.org/pkg/context/
353// for more information on using Contexts.
354func (c *Personalize) CreateDatasetWithContext(ctx aws.Context, input *CreateDatasetInput, opts ...request.Option) (*CreateDatasetOutput, error) {
355	req, out := c.CreateDatasetRequest(input)
356	req.SetContext(ctx)
357	req.ApplyOptions(opts...)
358	return out, req.Send()
359}
360
361const opCreateDatasetGroup = "CreateDatasetGroup"
362
363// CreateDatasetGroupRequest generates a "aws/request.Request" representing the
364// client's request for the CreateDatasetGroup operation. The "output" return
365// value will be populated with the request's response once the request completes
366// successfully.
367//
368// Use "Send" method on the returned Request to send the API call to the service.
369// the "output" return value is not valid until after Send returns without error.
370//
371// See CreateDatasetGroup for more information on using the CreateDatasetGroup
372// API call, and error handling.
373//
374// This method is useful when you want to inject custom logic or configuration
375// into the SDK's request lifecycle. Such as custom headers, or retry logic.
376//
377//
378//    // Example sending a request using the CreateDatasetGroupRequest method.
379//    req, resp := client.CreateDatasetGroupRequest(params)
380//
381//    err := req.Send()
382//    if err == nil { // resp is now filled
383//        fmt.Println(resp)
384//    }
385//
386// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetGroup
387func (c *Personalize) CreateDatasetGroupRequest(input *CreateDatasetGroupInput) (req *request.Request, output *CreateDatasetGroupOutput) {
388	op := &request.Operation{
389		Name:       opCreateDatasetGroup,
390		HTTPMethod: "POST",
391		HTTPPath:   "/",
392	}
393
394	if input == nil {
395		input = &CreateDatasetGroupInput{}
396	}
397
398	output = &CreateDatasetGroupOutput{}
399	req = c.newRequest(op, input, output)
400	return
401}
402
403// CreateDatasetGroup API operation for Amazon Personalize.
404//
405// Creates an empty dataset group. A dataset group contains related datasets
406// that supply data for training a model. A dataset group can contain at most
407// three datasets, one for each type of dataset:
408//
409//    * Interactions
410//
411//    * Items
412//
413//    * Users
414//
415// To train a model (create a solution), a dataset group that contains an Interactions
416// dataset is required. Call CreateDataset to add a dataset to the group.
417//
418// A dataset group can be in one of the following states:
419//
420//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
421//
422//    * DELETE PENDING
423//
424// To get the status of the dataset group, call DescribeDatasetGroup. If the
425// status shows as CREATE FAILED, the response includes a failureReason key,
426// which describes why the creation failed.
427//
428// You must wait until the status of the dataset group is ACTIVE before adding
429// a dataset to the group.
430//
431// You can specify an AWS Key Management Service (KMS) key to encrypt the datasets
432// in the group. If you specify a KMS key, you must also include an AWS Identity
433// and Access Management (IAM) role that has permission to access the key.
434//
435// APIs that require a dataset group ARN in the request
436//
437//    * CreateDataset
438//
439//    * CreateEventTracker
440//
441//    * CreateSolution
442//
443// Related APIs
444//
445//    * ListDatasetGroups
446//
447//    * DescribeDatasetGroup
448//
449//    * DeleteDatasetGroup
450//
451// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
452// with awserr.Error's Code and Message methods to get detailed information about
453// the error.
454//
455// See the AWS API reference guide for Amazon Personalize's
456// API operation CreateDatasetGroup for usage and error information.
457//
458// Returned Error Types:
459//   * InvalidInputException
460//   Provide a valid value for the field or parameter.
461//
462//   * ResourceAlreadyExistsException
463//   The specified resource already exists.
464//
465//   * LimitExceededException
466//   The limit on the number of requests per second has been exceeded.
467//
468// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetGroup
469func (c *Personalize) CreateDatasetGroup(input *CreateDatasetGroupInput) (*CreateDatasetGroupOutput, error) {
470	req, out := c.CreateDatasetGroupRequest(input)
471	return out, req.Send()
472}
473
474// CreateDatasetGroupWithContext is the same as CreateDatasetGroup with the addition of
475// the ability to pass a context and additional request options.
476//
477// See CreateDatasetGroup for details on how to use this API operation.
478//
479// The context must be non-nil and will be used for request cancellation. If
480// the context is nil a panic will occur. In the future the SDK may create
481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
482// for more information on using Contexts.
483func (c *Personalize) CreateDatasetGroupWithContext(ctx aws.Context, input *CreateDatasetGroupInput, opts ...request.Option) (*CreateDatasetGroupOutput, error) {
484	req, out := c.CreateDatasetGroupRequest(input)
485	req.SetContext(ctx)
486	req.ApplyOptions(opts...)
487	return out, req.Send()
488}
489
490const opCreateDatasetImportJob = "CreateDatasetImportJob"
491
492// CreateDatasetImportJobRequest generates a "aws/request.Request" representing the
493// client's request for the CreateDatasetImportJob operation. The "output" return
494// value will be populated with the request's response once the request completes
495// successfully.
496//
497// Use "Send" method on the returned Request to send the API call to the service.
498// the "output" return value is not valid until after Send returns without error.
499//
500// See CreateDatasetImportJob for more information on using the CreateDatasetImportJob
501// API call, and error handling.
502//
503// This method is useful when you want to inject custom logic or configuration
504// into the SDK's request lifecycle. Such as custom headers, or retry logic.
505//
506//
507//    // Example sending a request using the CreateDatasetImportJobRequest method.
508//    req, resp := client.CreateDatasetImportJobRequest(params)
509//
510//    err := req.Send()
511//    if err == nil { // resp is now filled
512//        fmt.Println(resp)
513//    }
514//
515// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetImportJob
516func (c *Personalize) CreateDatasetImportJobRequest(input *CreateDatasetImportJobInput) (req *request.Request, output *CreateDatasetImportJobOutput) {
517	op := &request.Operation{
518		Name:       opCreateDatasetImportJob,
519		HTTPMethod: "POST",
520		HTTPPath:   "/",
521	}
522
523	if input == nil {
524		input = &CreateDatasetImportJobInput{}
525	}
526
527	output = &CreateDatasetImportJobOutput{}
528	req = c.newRequest(op, input, output)
529	return
530}
531
532// CreateDatasetImportJob API operation for Amazon Personalize.
533//
534// Creates a job that imports training data from your data source (an Amazon
535// S3 bucket) to an Amazon Personalize dataset. To allow Amazon Personalize
536// to import the training data, you must specify an AWS Identity and Access
537// Management (IAM) role that has permission to read from the data source, as
538// Amazon Personalize makes a copy of your data and processes it in an internal
539// AWS system.
540//
541// The dataset import job replaces any previous data in the dataset.
542//
543// Status
544//
545// A dataset import job can be in one of the following states:
546//
547//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
548//
549// To get the status of the import job, call DescribeDatasetImportJob, providing
550// the Amazon Resource Name (ARN) of the dataset import job. The dataset import
551// is complete when the status shows as ACTIVE. If the status shows as CREATE
552// FAILED, the response includes a failureReason key, which describes why the
553// job failed.
554//
555// Importing takes time. You must wait until the status shows as ACTIVE before
556// training a model using the dataset.
557//
558// Related APIs
559//
560//    * ListDatasetImportJobs
561//
562//    * DescribeDatasetImportJob
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 CreateDatasetImportJob for usage and error information.
570//
571// Returned Error Types:
572//   * InvalidInputException
573//   Provide a valid value for the field or parameter.
574//
575//   * ResourceNotFoundException
576//   Could not find the specified resource.
577//
578//   * ResourceAlreadyExistsException
579//   The specified resource already exists.
580//
581//   * LimitExceededException
582//   The limit on the number of requests per second has been exceeded.
583//
584//   * ResourceInUseException
585//   The specified resource is in use.
586//
587// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetImportJob
588func (c *Personalize) CreateDatasetImportJob(input *CreateDatasetImportJobInput) (*CreateDatasetImportJobOutput, error) {
589	req, out := c.CreateDatasetImportJobRequest(input)
590	return out, req.Send()
591}
592
593// CreateDatasetImportJobWithContext is the same as CreateDatasetImportJob with the addition of
594// the ability to pass a context and additional request options.
595//
596// See CreateDatasetImportJob for details on how to use this API operation.
597//
598// The context must be non-nil and will be used for request cancellation. If
599// the context is nil a panic will occur. In the future the SDK may create
600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
601// for more information on using Contexts.
602func (c *Personalize) CreateDatasetImportJobWithContext(ctx aws.Context, input *CreateDatasetImportJobInput, opts ...request.Option) (*CreateDatasetImportJobOutput, error) {
603	req, out := c.CreateDatasetImportJobRequest(input)
604	req.SetContext(ctx)
605	req.ApplyOptions(opts...)
606	return out, req.Send()
607}
608
609const opCreateEventTracker = "CreateEventTracker"
610
611// CreateEventTrackerRequest generates a "aws/request.Request" representing the
612// client's request for the CreateEventTracker operation. The "output" return
613// value will be populated with the request's response once the request completes
614// successfully.
615//
616// Use "Send" method on the returned Request to send the API call to the service.
617// the "output" return value is not valid until after Send returns without error.
618//
619// See CreateEventTracker for more information on using the CreateEventTracker
620// API call, and error handling.
621//
622// This method is useful when you want to inject custom logic or configuration
623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
624//
625//
626//    // Example sending a request using the CreateEventTrackerRequest method.
627//    req, resp := client.CreateEventTrackerRequest(params)
628//
629//    err := req.Send()
630//    if err == nil { // resp is now filled
631//        fmt.Println(resp)
632//    }
633//
634// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateEventTracker
635func (c *Personalize) CreateEventTrackerRequest(input *CreateEventTrackerInput) (req *request.Request, output *CreateEventTrackerOutput) {
636	op := &request.Operation{
637		Name:       opCreateEventTracker,
638		HTTPMethod: "POST",
639		HTTPPath:   "/",
640	}
641
642	if input == nil {
643		input = &CreateEventTrackerInput{}
644	}
645
646	output = &CreateEventTrackerOutput{}
647	req = c.newRequest(op, input, output)
648	return
649}
650
651// CreateEventTracker API operation for Amazon Personalize.
652//
653// Creates an event tracker that you use when sending event data to the specified
654// dataset group using the PutEvents (https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html)
655// API.
656//
657// When Amazon Personalize creates an event tracker, it also creates an event-interactions
658// dataset in the dataset group associated with the event tracker. The event-interactions
659// dataset stores the event data from the PutEvents call. The contents of this
660// dataset are not available to the user.
661//
662// Only one event tracker can be associated with a dataset group. You will get
663// an error if you call CreateEventTracker using the same dataset group as an
664// existing event tracker.
665//
666// When you send event data you include your tracking ID. The tracking ID identifies
667// the customer and authorizes the customer to send the data.
668//
669// The event tracker can be in one of the following states:
670//
671//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
672//
673//    * DELETE PENDING > DELETE IN_PROGRESS
674//
675// To get the status of the event tracker, call DescribeEventTracker.
676//
677// The event tracker must be in the ACTIVE state before using the tracking ID.
678//
679// Related APIs
680//
681//    * ListEventTrackers
682//
683//    * DescribeEventTracker
684//
685//    * DeleteEventTracker
686//
687// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
688// with awserr.Error's Code and Message methods to get detailed information about
689// the error.
690//
691// See the AWS API reference guide for Amazon Personalize's
692// API operation CreateEventTracker for usage and error information.
693//
694// Returned Error Types:
695//   * InvalidInputException
696//   Provide a valid value for the field or parameter.
697//
698//   * ResourceAlreadyExistsException
699//   The specified resource already exists.
700//
701//   * ResourceNotFoundException
702//   Could not find the specified resource.
703//
704//   * LimitExceededException
705//   The limit on the number of requests per second has been exceeded.
706//
707//   * ResourceInUseException
708//   The specified resource is in use.
709//
710// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateEventTracker
711func (c *Personalize) CreateEventTracker(input *CreateEventTrackerInput) (*CreateEventTrackerOutput, error) {
712	req, out := c.CreateEventTrackerRequest(input)
713	return out, req.Send()
714}
715
716// CreateEventTrackerWithContext is the same as CreateEventTracker with the addition of
717// the ability to pass a context and additional request options.
718//
719// See CreateEventTracker for details on how to use this API operation.
720//
721// The context must be non-nil and will be used for request cancellation. If
722// the context is nil a panic will occur. In the future the SDK may create
723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
724// for more information on using Contexts.
725func (c *Personalize) CreateEventTrackerWithContext(ctx aws.Context, input *CreateEventTrackerInput, opts ...request.Option) (*CreateEventTrackerOutput, error) {
726	req, out := c.CreateEventTrackerRequest(input)
727	req.SetContext(ctx)
728	req.ApplyOptions(opts...)
729	return out, req.Send()
730}
731
732const opCreateFilter = "CreateFilter"
733
734// CreateFilterRequest generates a "aws/request.Request" representing the
735// client's request for the CreateFilter operation. The "output" return
736// value will be populated with the request's response once the request completes
737// successfully.
738//
739// Use "Send" method on the returned Request to send the API call to the service.
740// the "output" return value is not valid until after Send returns without error.
741//
742// See CreateFilter for more information on using the CreateFilter
743// API call, and error handling.
744//
745// This method is useful when you want to inject custom logic or configuration
746// into the SDK's request lifecycle. Such as custom headers, or retry logic.
747//
748//
749//    // Example sending a request using the CreateFilterRequest method.
750//    req, resp := client.CreateFilterRequest(params)
751//
752//    err := req.Send()
753//    if err == nil { // resp is now filled
754//        fmt.Println(resp)
755//    }
756//
757// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateFilter
758func (c *Personalize) CreateFilterRequest(input *CreateFilterInput) (req *request.Request, output *CreateFilterOutput) {
759	op := &request.Operation{
760		Name:       opCreateFilter,
761		HTTPMethod: "POST",
762		HTTPPath:   "/",
763	}
764
765	if input == nil {
766		input = &CreateFilterInput{}
767	}
768
769	output = &CreateFilterOutput{}
770	req = c.newRequest(op, input, output)
771	return
772}
773
774// CreateFilter API operation for Amazon Personalize.
775//
776// Creates a recommendation filter. For more information, see Using Filters
777// with Amazon Personalize (https://docs.aws.amazon.com/personalize/latest/dg/filters.html).
778//
779// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
780// with awserr.Error's Code and Message methods to get detailed information about
781// the error.
782//
783// See the AWS API reference guide for Amazon Personalize's
784// API operation CreateFilter for usage and error information.
785//
786// Returned Error Types:
787//   * InvalidInputException
788//   Provide a valid value for the field or parameter.
789//
790//   * ResourceAlreadyExistsException
791//   The specified resource already exists.
792//
793//   * ResourceNotFoundException
794//   Could not find the specified resource.
795//
796//   * LimitExceededException
797//   The limit on the number of requests per second has been exceeded.
798//
799// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateFilter
800func (c *Personalize) CreateFilter(input *CreateFilterInput) (*CreateFilterOutput, error) {
801	req, out := c.CreateFilterRequest(input)
802	return out, req.Send()
803}
804
805// CreateFilterWithContext is the same as CreateFilter with the addition of
806// the ability to pass a context and additional request options.
807//
808// See CreateFilter for details on how to use this API operation.
809//
810// The context must be non-nil and will be used for request cancellation. If
811// the context is nil a panic will occur. In the future the SDK may create
812// sub-contexts for http.Requests. See https://golang.org/pkg/context/
813// for more information on using Contexts.
814func (c *Personalize) CreateFilterWithContext(ctx aws.Context, input *CreateFilterInput, opts ...request.Option) (*CreateFilterOutput, error) {
815	req, out := c.CreateFilterRequest(input)
816	req.SetContext(ctx)
817	req.ApplyOptions(opts...)
818	return out, req.Send()
819}
820
821const opCreateSchema = "CreateSchema"
822
823// CreateSchemaRequest generates a "aws/request.Request" representing the
824// client's request for the CreateSchema operation. The "output" return
825// value will be populated with the request's response once the request completes
826// successfully.
827//
828// Use "Send" method on the returned Request to send the API call to the service.
829// the "output" return value is not valid until after Send returns without error.
830//
831// See CreateSchema for more information on using the CreateSchema
832// API call, and error handling.
833//
834// This method is useful when you want to inject custom logic or configuration
835// into the SDK's request lifecycle. Such as custom headers, or retry logic.
836//
837//
838//    // Example sending a request using the CreateSchemaRequest method.
839//    req, resp := client.CreateSchemaRequest(params)
840//
841//    err := req.Send()
842//    if err == nil { // resp is now filled
843//        fmt.Println(resp)
844//    }
845//
846// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSchema
847func (c *Personalize) CreateSchemaRequest(input *CreateSchemaInput) (req *request.Request, output *CreateSchemaOutput) {
848	op := &request.Operation{
849		Name:       opCreateSchema,
850		HTTPMethod: "POST",
851		HTTPPath:   "/",
852	}
853
854	if input == nil {
855		input = &CreateSchemaInput{}
856	}
857
858	output = &CreateSchemaOutput{}
859	req = c.newRequest(op, input, output)
860	return
861}
862
863// CreateSchema API operation for Amazon Personalize.
864//
865// Creates an Amazon Personalize schema from the specified schema string. The
866// schema you create must be in Avro JSON format.
867//
868// Amazon Personalize recognizes three schema variants. Each schema is associated
869// with a dataset type and has a set of required field and keywords. You specify
870// a schema when you call CreateDataset.
871//
872// Related APIs
873//
874//    * ListSchemas
875//
876//    * DescribeSchema
877//
878//    * DeleteSchema
879//
880// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
881// with awserr.Error's Code and Message methods to get detailed information about
882// the error.
883//
884// See the AWS API reference guide for Amazon Personalize's
885// API operation CreateSchema for usage and error information.
886//
887// Returned Error Types:
888//   * InvalidInputException
889//   Provide a valid value for the field or parameter.
890//
891//   * ResourceAlreadyExistsException
892//   The specified resource already exists.
893//
894//   * LimitExceededException
895//   The limit on the number of requests per second has been exceeded.
896//
897// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSchema
898func (c *Personalize) CreateSchema(input *CreateSchemaInput) (*CreateSchemaOutput, error) {
899	req, out := c.CreateSchemaRequest(input)
900	return out, req.Send()
901}
902
903// CreateSchemaWithContext is the same as CreateSchema with the addition of
904// the ability to pass a context and additional request options.
905//
906// See CreateSchema for details on how to use this API operation.
907//
908// The context must be non-nil and will be used for request cancellation. If
909// the context is nil a panic will occur. In the future the SDK may create
910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
911// for more information on using Contexts.
912func (c *Personalize) CreateSchemaWithContext(ctx aws.Context, input *CreateSchemaInput, opts ...request.Option) (*CreateSchemaOutput, error) {
913	req, out := c.CreateSchemaRequest(input)
914	req.SetContext(ctx)
915	req.ApplyOptions(opts...)
916	return out, req.Send()
917}
918
919const opCreateSolution = "CreateSolution"
920
921// CreateSolutionRequest generates a "aws/request.Request" representing the
922// client's request for the CreateSolution operation. The "output" return
923// value will be populated with the request's response once the request completes
924// successfully.
925//
926// Use "Send" method on the returned Request to send the API call to the service.
927// the "output" return value is not valid until after Send returns without error.
928//
929// See CreateSolution for more information on using the CreateSolution
930// API call, and error handling.
931//
932// This method is useful when you want to inject custom logic or configuration
933// into the SDK's request lifecycle. Such as custom headers, or retry logic.
934//
935//
936//    // Example sending a request using the CreateSolutionRequest method.
937//    req, resp := client.CreateSolutionRequest(params)
938//
939//    err := req.Send()
940//    if err == nil { // resp is now filled
941//        fmt.Println(resp)
942//    }
943//
944// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolution
945func (c *Personalize) CreateSolutionRequest(input *CreateSolutionInput) (req *request.Request, output *CreateSolutionOutput) {
946	op := &request.Operation{
947		Name:       opCreateSolution,
948		HTTPMethod: "POST",
949		HTTPPath:   "/",
950	}
951
952	if input == nil {
953		input = &CreateSolutionInput{}
954	}
955
956	output = &CreateSolutionOutput{}
957	req = c.newRequest(op, input, output)
958	return
959}
960
961// CreateSolution API operation for Amazon Personalize.
962//
963// Creates the configuration for training a model. A trained model is known
964// as a solution. After the configuration is created, you train the model (create
965// a solution) by calling the CreateSolutionVersion operation. Every time you
966// call CreateSolutionVersion, a new version of the solution is created.
967//
968// After creating a solution version, you check its accuracy by calling GetSolutionMetrics.
969// When you are satisfied with the version, you deploy it using CreateCampaign.
970// The campaign provides recommendations to a client through the GetRecommendations
971// (https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html)
972// API.
973//
974// To train a model, Amazon Personalize requires training data and a recipe.
975// The training data comes from the dataset group that you provide in the request.
976// A recipe specifies the training algorithm and a feature transformation. You
977// can specify one of the predefined recipes provided by Amazon Personalize.
978// Alternatively, you can specify performAutoML and Amazon Personalize will
979// analyze your data and select the optimum USER_PERSONALIZATION recipe for
980// you.
981//
982// Status
983//
984// A solution can be in one of the following states:
985//
986//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
987//
988//    * DELETE PENDING > DELETE IN_PROGRESS
989//
990// To get the status of the solution, call DescribeSolution. Wait until the
991// status shows as ACTIVE before calling CreateSolutionVersion.
992//
993// Related APIs
994//
995//    * ListSolutions
996//
997//    * CreateSolutionVersion
998//
999//    * DescribeSolution
1000//
1001//    * DeleteSolution
1002//
1003//    * ListSolutionVersions
1004//
1005//    * DescribeSolutionVersion
1006//
1007// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1008// with awserr.Error's Code and Message methods to get detailed information about
1009// the error.
1010//
1011// See the AWS API reference guide for Amazon Personalize's
1012// API operation CreateSolution for usage and error information.
1013//
1014// Returned Error Types:
1015//   * InvalidInputException
1016//   Provide a valid value for the field or parameter.
1017//
1018//   * ResourceAlreadyExistsException
1019//   The specified resource already exists.
1020//
1021//   * ResourceNotFoundException
1022//   Could not find the specified resource.
1023//
1024//   * LimitExceededException
1025//   The limit on the number of requests per second has been exceeded.
1026//
1027//   * ResourceInUseException
1028//   The specified resource is in use.
1029//
1030// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolution
1031func (c *Personalize) CreateSolution(input *CreateSolutionInput) (*CreateSolutionOutput, error) {
1032	req, out := c.CreateSolutionRequest(input)
1033	return out, req.Send()
1034}
1035
1036// CreateSolutionWithContext is the same as CreateSolution with the addition of
1037// the ability to pass a context and additional request options.
1038//
1039// See CreateSolution for details on how to use this API operation.
1040//
1041// The context must be non-nil and will be used for request cancellation. If
1042// the context is nil a panic will occur. In the future the SDK may create
1043// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1044// for more information on using Contexts.
1045func (c *Personalize) CreateSolutionWithContext(ctx aws.Context, input *CreateSolutionInput, opts ...request.Option) (*CreateSolutionOutput, error) {
1046	req, out := c.CreateSolutionRequest(input)
1047	req.SetContext(ctx)
1048	req.ApplyOptions(opts...)
1049	return out, req.Send()
1050}
1051
1052const opCreateSolutionVersion = "CreateSolutionVersion"
1053
1054// CreateSolutionVersionRequest generates a "aws/request.Request" representing the
1055// client's request for the CreateSolutionVersion operation. The "output" return
1056// value will be populated with the request's response once the request completes
1057// successfully.
1058//
1059// Use "Send" method on the returned Request to send the API call to the service.
1060// the "output" return value is not valid until after Send returns without error.
1061//
1062// See CreateSolutionVersion for more information on using the CreateSolutionVersion
1063// API call, and error handling.
1064//
1065// This method is useful when you want to inject custom logic or configuration
1066// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1067//
1068//
1069//    // Example sending a request using the CreateSolutionVersionRequest method.
1070//    req, resp := client.CreateSolutionVersionRequest(params)
1071//
1072//    err := req.Send()
1073//    if err == nil { // resp is now filled
1074//        fmt.Println(resp)
1075//    }
1076//
1077// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolutionVersion
1078func (c *Personalize) CreateSolutionVersionRequest(input *CreateSolutionVersionInput) (req *request.Request, output *CreateSolutionVersionOutput) {
1079	op := &request.Operation{
1080		Name:       opCreateSolutionVersion,
1081		HTTPMethod: "POST",
1082		HTTPPath:   "/",
1083	}
1084
1085	if input == nil {
1086		input = &CreateSolutionVersionInput{}
1087	}
1088
1089	output = &CreateSolutionVersionOutput{}
1090	req = c.newRequest(op, input, output)
1091	return
1092}
1093
1094// CreateSolutionVersion API operation for Amazon Personalize.
1095//
1096// Trains or retrains an active solution. A solution is created using the CreateSolution
1097// operation and must be in the ACTIVE state before calling CreateSolutionVersion.
1098// A new version of the solution is created every time you call this operation.
1099//
1100// Status
1101//
1102// A solution version can be in one of the following states:
1103//
1104//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
1105//
1106// To get the status of the version, call DescribeSolutionVersion. Wait until
1107// the status shows as ACTIVE before calling CreateCampaign.
1108//
1109// If the status shows as CREATE FAILED, the response includes a failureReason
1110// key, which describes why the job failed.
1111//
1112// Related APIs
1113//
1114//    * ListSolutionVersions
1115//
1116//    * DescribeSolutionVersion
1117//
1118//    * ListSolutions
1119//
1120//    * CreateSolution
1121//
1122//    * DescribeSolution
1123//
1124//    * DeleteSolution
1125//
1126// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1127// with awserr.Error's Code and Message methods to get detailed information about
1128// the error.
1129//
1130// See the AWS API reference guide for Amazon Personalize's
1131// API operation CreateSolutionVersion for usage and error information.
1132//
1133// Returned Error Types:
1134//   * InvalidInputException
1135//   Provide a valid value for the field or parameter.
1136//
1137//   * ResourceNotFoundException
1138//   Could not find the specified resource.
1139//
1140//   * LimitExceededException
1141//   The limit on the number of requests per second has been exceeded.
1142//
1143//   * ResourceInUseException
1144//   The specified resource is in use.
1145//
1146// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolutionVersion
1147func (c *Personalize) CreateSolutionVersion(input *CreateSolutionVersionInput) (*CreateSolutionVersionOutput, error) {
1148	req, out := c.CreateSolutionVersionRequest(input)
1149	return out, req.Send()
1150}
1151
1152// CreateSolutionVersionWithContext is the same as CreateSolutionVersion with the addition of
1153// the ability to pass a context and additional request options.
1154//
1155// See CreateSolutionVersion for details on how to use this API operation.
1156//
1157// The context must be non-nil and will be used for request cancellation. If
1158// the context is nil a panic will occur. In the future the SDK may create
1159// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1160// for more information on using Contexts.
1161func (c *Personalize) CreateSolutionVersionWithContext(ctx aws.Context, input *CreateSolutionVersionInput, opts ...request.Option) (*CreateSolutionVersionOutput, error) {
1162	req, out := c.CreateSolutionVersionRequest(input)
1163	req.SetContext(ctx)
1164	req.ApplyOptions(opts...)
1165	return out, req.Send()
1166}
1167
1168const opDeleteCampaign = "DeleteCampaign"
1169
1170// DeleteCampaignRequest generates a "aws/request.Request" representing the
1171// client's request for the DeleteCampaign operation. The "output" return
1172// value will be populated with the request's response once the request completes
1173// successfully.
1174//
1175// Use "Send" method on the returned Request to send the API call to the service.
1176// the "output" return value is not valid until after Send returns without error.
1177//
1178// See DeleteCampaign for more information on using the DeleteCampaign
1179// API call, and error handling.
1180//
1181// This method is useful when you want to inject custom logic or configuration
1182// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1183//
1184//
1185//    // Example sending a request using the DeleteCampaignRequest method.
1186//    req, resp := client.DeleteCampaignRequest(params)
1187//
1188//    err := req.Send()
1189//    if err == nil { // resp is now filled
1190//        fmt.Println(resp)
1191//    }
1192//
1193// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteCampaign
1194func (c *Personalize) DeleteCampaignRequest(input *DeleteCampaignInput) (req *request.Request, output *DeleteCampaignOutput) {
1195	op := &request.Operation{
1196		Name:       opDeleteCampaign,
1197		HTTPMethod: "POST",
1198		HTTPPath:   "/",
1199	}
1200
1201	if input == nil {
1202		input = &DeleteCampaignInput{}
1203	}
1204
1205	output = &DeleteCampaignOutput{}
1206	req = c.newRequest(op, input, output)
1207	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1208	return
1209}
1210
1211// DeleteCampaign API operation for Amazon Personalize.
1212//
1213// Removes a campaign by deleting the solution deployment. The solution that
1214// the campaign is based on is not deleted and can be redeployed when needed.
1215// A deleted campaign can no longer be specified in a GetRecommendations (https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html)
1216// request. For more information on campaigns, see CreateCampaign.
1217//
1218// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1219// with awserr.Error's Code and Message methods to get detailed information about
1220// the error.
1221//
1222// See the AWS API reference guide for Amazon Personalize's
1223// API operation DeleteCampaign for usage and error information.
1224//
1225// Returned Error Types:
1226//   * InvalidInputException
1227//   Provide a valid value for the field or parameter.
1228//
1229//   * ResourceNotFoundException
1230//   Could not find the specified resource.
1231//
1232//   * ResourceInUseException
1233//   The specified resource is in use.
1234//
1235// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteCampaign
1236func (c *Personalize) DeleteCampaign(input *DeleteCampaignInput) (*DeleteCampaignOutput, error) {
1237	req, out := c.DeleteCampaignRequest(input)
1238	return out, req.Send()
1239}
1240
1241// DeleteCampaignWithContext is the same as DeleteCampaign with the addition of
1242// the ability to pass a context and additional request options.
1243//
1244// See DeleteCampaign for details on how to use this API operation.
1245//
1246// The context must be non-nil and will be used for request cancellation. If
1247// the context is nil a panic will occur. In the future the SDK may create
1248// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1249// for more information on using Contexts.
1250func (c *Personalize) DeleteCampaignWithContext(ctx aws.Context, input *DeleteCampaignInput, opts ...request.Option) (*DeleteCampaignOutput, error) {
1251	req, out := c.DeleteCampaignRequest(input)
1252	req.SetContext(ctx)
1253	req.ApplyOptions(opts...)
1254	return out, req.Send()
1255}
1256
1257const opDeleteDataset = "DeleteDataset"
1258
1259// DeleteDatasetRequest generates a "aws/request.Request" representing the
1260// client's request for the DeleteDataset operation. The "output" return
1261// value will be populated with the request's response once the request completes
1262// successfully.
1263//
1264// Use "Send" method on the returned Request to send the API call to the service.
1265// the "output" return value is not valid until after Send returns without error.
1266//
1267// See DeleteDataset for more information on using the DeleteDataset
1268// API call, and error handling.
1269//
1270// This method is useful when you want to inject custom logic or configuration
1271// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1272//
1273//
1274//    // Example sending a request using the DeleteDatasetRequest method.
1275//    req, resp := client.DeleteDatasetRequest(params)
1276//
1277//    err := req.Send()
1278//    if err == nil { // resp is now filled
1279//        fmt.Println(resp)
1280//    }
1281//
1282// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDataset
1283func (c *Personalize) DeleteDatasetRequest(input *DeleteDatasetInput) (req *request.Request, output *DeleteDatasetOutput) {
1284	op := &request.Operation{
1285		Name:       opDeleteDataset,
1286		HTTPMethod: "POST",
1287		HTTPPath:   "/",
1288	}
1289
1290	if input == nil {
1291		input = &DeleteDatasetInput{}
1292	}
1293
1294	output = &DeleteDatasetOutput{}
1295	req = c.newRequest(op, input, output)
1296	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1297	return
1298}
1299
1300// DeleteDataset API operation for Amazon Personalize.
1301//
1302// Deletes a dataset. You can't delete a dataset if an associated DatasetImportJob
1303// or SolutionVersion is in the CREATE PENDING or IN PROGRESS state. For more
1304// information on datasets, see CreateDataset.
1305//
1306// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1307// with awserr.Error's Code and Message methods to get detailed information about
1308// the error.
1309//
1310// See the AWS API reference guide for Amazon Personalize's
1311// API operation DeleteDataset for usage and error information.
1312//
1313// Returned Error Types:
1314//   * InvalidInputException
1315//   Provide a valid value for the field or parameter.
1316//
1317//   * ResourceNotFoundException
1318//   Could not find the specified resource.
1319//
1320//   * ResourceInUseException
1321//   The specified resource is in use.
1322//
1323// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDataset
1324func (c *Personalize) DeleteDataset(input *DeleteDatasetInput) (*DeleteDatasetOutput, error) {
1325	req, out := c.DeleteDatasetRequest(input)
1326	return out, req.Send()
1327}
1328
1329// DeleteDatasetWithContext is the same as DeleteDataset with the addition of
1330// the ability to pass a context and additional request options.
1331//
1332// See DeleteDataset for details on how to use this API operation.
1333//
1334// The context must be non-nil and will be used for request cancellation. If
1335// the context is nil a panic will occur. In the future the SDK may create
1336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1337// for more information on using Contexts.
1338func (c *Personalize) DeleteDatasetWithContext(ctx aws.Context, input *DeleteDatasetInput, opts ...request.Option) (*DeleteDatasetOutput, error) {
1339	req, out := c.DeleteDatasetRequest(input)
1340	req.SetContext(ctx)
1341	req.ApplyOptions(opts...)
1342	return out, req.Send()
1343}
1344
1345const opDeleteDatasetGroup = "DeleteDatasetGroup"
1346
1347// DeleteDatasetGroupRequest generates a "aws/request.Request" representing the
1348// client's request for the DeleteDatasetGroup operation. The "output" return
1349// value will be populated with the request's response once the request completes
1350// successfully.
1351//
1352// Use "Send" method on the returned Request to send the API call to the service.
1353// the "output" return value is not valid until after Send returns without error.
1354//
1355// See DeleteDatasetGroup for more information on using the DeleteDatasetGroup
1356// API call, and error handling.
1357//
1358// This method is useful when you want to inject custom logic or configuration
1359// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1360//
1361//
1362//    // Example sending a request using the DeleteDatasetGroupRequest method.
1363//    req, resp := client.DeleteDatasetGroupRequest(params)
1364//
1365//    err := req.Send()
1366//    if err == nil { // resp is now filled
1367//        fmt.Println(resp)
1368//    }
1369//
1370// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDatasetGroup
1371func (c *Personalize) DeleteDatasetGroupRequest(input *DeleteDatasetGroupInput) (req *request.Request, output *DeleteDatasetGroupOutput) {
1372	op := &request.Operation{
1373		Name:       opDeleteDatasetGroup,
1374		HTTPMethod: "POST",
1375		HTTPPath:   "/",
1376	}
1377
1378	if input == nil {
1379		input = &DeleteDatasetGroupInput{}
1380	}
1381
1382	output = &DeleteDatasetGroupOutput{}
1383	req = c.newRequest(op, input, output)
1384	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1385	return
1386}
1387
1388// DeleteDatasetGroup API operation for Amazon Personalize.
1389//
1390// Deletes a dataset group. Before you delete a dataset group, you must delete
1391// the following:
1392//
1393//    * All associated event trackers.
1394//
1395//    * All associated solutions.
1396//
1397//    * All datasets in the dataset group.
1398//
1399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1400// with awserr.Error's Code and Message methods to get detailed information about
1401// the error.
1402//
1403// See the AWS API reference guide for Amazon Personalize's
1404// API operation DeleteDatasetGroup for usage and error information.
1405//
1406// Returned Error Types:
1407//   * InvalidInputException
1408//   Provide a valid value for the field or parameter.
1409//
1410//   * ResourceNotFoundException
1411//   Could not find the specified resource.
1412//
1413//   * ResourceInUseException
1414//   The specified resource is in use.
1415//
1416// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDatasetGroup
1417func (c *Personalize) DeleteDatasetGroup(input *DeleteDatasetGroupInput) (*DeleteDatasetGroupOutput, error) {
1418	req, out := c.DeleteDatasetGroupRequest(input)
1419	return out, req.Send()
1420}
1421
1422// DeleteDatasetGroupWithContext is the same as DeleteDatasetGroup with the addition of
1423// the ability to pass a context and additional request options.
1424//
1425// See DeleteDatasetGroup for details on how to use this API operation.
1426//
1427// The context must be non-nil and will be used for request cancellation. If
1428// the context is nil a panic will occur. In the future the SDK may create
1429// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1430// for more information on using Contexts.
1431func (c *Personalize) DeleteDatasetGroupWithContext(ctx aws.Context, input *DeleteDatasetGroupInput, opts ...request.Option) (*DeleteDatasetGroupOutput, error) {
1432	req, out := c.DeleteDatasetGroupRequest(input)
1433	req.SetContext(ctx)
1434	req.ApplyOptions(opts...)
1435	return out, req.Send()
1436}
1437
1438const opDeleteEventTracker = "DeleteEventTracker"
1439
1440// DeleteEventTrackerRequest generates a "aws/request.Request" representing the
1441// client's request for the DeleteEventTracker operation. The "output" return
1442// value will be populated with the request's response once the request completes
1443// successfully.
1444//
1445// Use "Send" method on the returned Request to send the API call to the service.
1446// the "output" return value is not valid until after Send returns without error.
1447//
1448// See DeleteEventTracker for more information on using the DeleteEventTracker
1449// API call, and error handling.
1450//
1451// This method is useful when you want to inject custom logic or configuration
1452// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1453//
1454//
1455//    // Example sending a request using the DeleteEventTrackerRequest method.
1456//    req, resp := client.DeleteEventTrackerRequest(params)
1457//
1458//    err := req.Send()
1459//    if err == nil { // resp is now filled
1460//        fmt.Println(resp)
1461//    }
1462//
1463// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteEventTracker
1464func (c *Personalize) DeleteEventTrackerRequest(input *DeleteEventTrackerInput) (req *request.Request, output *DeleteEventTrackerOutput) {
1465	op := &request.Operation{
1466		Name:       opDeleteEventTracker,
1467		HTTPMethod: "POST",
1468		HTTPPath:   "/",
1469	}
1470
1471	if input == nil {
1472		input = &DeleteEventTrackerInput{}
1473	}
1474
1475	output = &DeleteEventTrackerOutput{}
1476	req = c.newRequest(op, input, output)
1477	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1478	return
1479}
1480
1481// DeleteEventTracker API operation for Amazon Personalize.
1482//
1483// Deletes the event tracker. Does not delete the event-interactions dataset
1484// from the associated dataset group. For more information on event trackers,
1485// see CreateEventTracker.
1486//
1487// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1488// with awserr.Error's Code and Message methods to get detailed information about
1489// the error.
1490//
1491// See the AWS API reference guide for Amazon Personalize's
1492// API operation DeleteEventTracker for usage and error information.
1493//
1494// Returned Error Types:
1495//   * InvalidInputException
1496//   Provide a valid value for the field or parameter.
1497//
1498//   * ResourceNotFoundException
1499//   Could not find the specified resource.
1500//
1501//   * ResourceInUseException
1502//   The specified resource is in use.
1503//
1504// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteEventTracker
1505func (c *Personalize) DeleteEventTracker(input *DeleteEventTrackerInput) (*DeleteEventTrackerOutput, error) {
1506	req, out := c.DeleteEventTrackerRequest(input)
1507	return out, req.Send()
1508}
1509
1510// DeleteEventTrackerWithContext is the same as DeleteEventTracker with the addition of
1511// the ability to pass a context and additional request options.
1512//
1513// See DeleteEventTracker for details on how to use this API operation.
1514//
1515// The context must be non-nil and will be used for request cancellation. If
1516// the context is nil a panic will occur. In the future the SDK may create
1517// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1518// for more information on using Contexts.
1519func (c *Personalize) DeleteEventTrackerWithContext(ctx aws.Context, input *DeleteEventTrackerInput, opts ...request.Option) (*DeleteEventTrackerOutput, error) {
1520	req, out := c.DeleteEventTrackerRequest(input)
1521	req.SetContext(ctx)
1522	req.ApplyOptions(opts...)
1523	return out, req.Send()
1524}
1525
1526const opDeleteFilter = "DeleteFilter"
1527
1528// DeleteFilterRequest generates a "aws/request.Request" representing the
1529// client's request for the DeleteFilter operation. The "output" return
1530// value will be populated with the request's response once the request completes
1531// successfully.
1532//
1533// Use "Send" method on the returned Request to send the API call to the service.
1534// the "output" return value is not valid until after Send returns without error.
1535//
1536// See DeleteFilter for more information on using the DeleteFilter
1537// API call, and error handling.
1538//
1539// This method is useful when you want to inject custom logic or configuration
1540// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1541//
1542//
1543//    // Example sending a request using the DeleteFilterRequest method.
1544//    req, resp := client.DeleteFilterRequest(params)
1545//
1546//    err := req.Send()
1547//    if err == nil { // resp is now filled
1548//        fmt.Println(resp)
1549//    }
1550//
1551// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteFilter
1552func (c *Personalize) DeleteFilterRequest(input *DeleteFilterInput) (req *request.Request, output *DeleteFilterOutput) {
1553	op := &request.Operation{
1554		Name:       opDeleteFilter,
1555		HTTPMethod: "POST",
1556		HTTPPath:   "/",
1557	}
1558
1559	if input == nil {
1560		input = &DeleteFilterInput{}
1561	}
1562
1563	output = &DeleteFilterOutput{}
1564	req = c.newRequest(op, input, output)
1565	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1566	return
1567}
1568
1569// DeleteFilter API operation for Amazon Personalize.
1570//
1571// Deletes a filter.
1572//
1573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1574// with awserr.Error's Code and Message methods to get detailed information about
1575// the error.
1576//
1577// See the AWS API reference guide for Amazon Personalize's
1578// API operation DeleteFilter for usage and error information.
1579//
1580// Returned Error Types:
1581//   * InvalidInputException
1582//   Provide a valid value for the field or parameter.
1583//
1584//   * ResourceNotFoundException
1585//   Could not find the specified resource.
1586//
1587//   * ResourceInUseException
1588//   The specified resource is in use.
1589//
1590// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteFilter
1591func (c *Personalize) DeleteFilter(input *DeleteFilterInput) (*DeleteFilterOutput, error) {
1592	req, out := c.DeleteFilterRequest(input)
1593	return out, req.Send()
1594}
1595
1596// DeleteFilterWithContext is the same as DeleteFilter with the addition of
1597// the ability to pass a context and additional request options.
1598//
1599// See DeleteFilter for details on how to use this API operation.
1600//
1601// The context must be non-nil and will be used for request cancellation. If
1602// the context is nil a panic will occur. In the future the SDK may create
1603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1604// for more information on using Contexts.
1605func (c *Personalize) DeleteFilterWithContext(ctx aws.Context, input *DeleteFilterInput, opts ...request.Option) (*DeleteFilterOutput, error) {
1606	req, out := c.DeleteFilterRequest(input)
1607	req.SetContext(ctx)
1608	req.ApplyOptions(opts...)
1609	return out, req.Send()
1610}
1611
1612const opDeleteSchema = "DeleteSchema"
1613
1614// DeleteSchemaRequest generates a "aws/request.Request" representing the
1615// client's request for the DeleteSchema operation. The "output" return
1616// value will be populated with the request's response once the request completes
1617// successfully.
1618//
1619// Use "Send" method on the returned Request to send the API call to the service.
1620// the "output" return value is not valid until after Send returns without error.
1621//
1622// See DeleteSchema for more information on using the DeleteSchema
1623// API call, and error handling.
1624//
1625// This method is useful when you want to inject custom logic or configuration
1626// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1627//
1628//
1629//    // Example sending a request using the DeleteSchemaRequest method.
1630//    req, resp := client.DeleteSchemaRequest(params)
1631//
1632//    err := req.Send()
1633//    if err == nil { // resp is now filled
1634//        fmt.Println(resp)
1635//    }
1636//
1637// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSchema
1638func (c *Personalize) DeleteSchemaRequest(input *DeleteSchemaInput) (req *request.Request, output *DeleteSchemaOutput) {
1639	op := &request.Operation{
1640		Name:       opDeleteSchema,
1641		HTTPMethod: "POST",
1642		HTTPPath:   "/",
1643	}
1644
1645	if input == nil {
1646		input = &DeleteSchemaInput{}
1647	}
1648
1649	output = &DeleteSchemaOutput{}
1650	req = c.newRequest(op, input, output)
1651	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1652	return
1653}
1654
1655// DeleteSchema API operation for Amazon Personalize.
1656//
1657// Deletes a schema. Before deleting a schema, you must delete all datasets
1658// referencing the schema. For more information on schemas, see CreateSchema.
1659//
1660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1661// with awserr.Error's Code and Message methods to get detailed information about
1662// the error.
1663//
1664// See the AWS API reference guide for Amazon Personalize's
1665// API operation DeleteSchema for usage and error information.
1666//
1667// Returned Error Types:
1668//   * InvalidInputException
1669//   Provide a valid value for the field or parameter.
1670//
1671//   * ResourceNotFoundException
1672//   Could not find the specified resource.
1673//
1674//   * ResourceInUseException
1675//   The specified resource is in use.
1676//
1677// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSchema
1678func (c *Personalize) DeleteSchema(input *DeleteSchemaInput) (*DeleteSchemaOutput, error) {
1679	req, out := c.DeleteSchemaRequest(input)
1680	return out, req.Send()
1681}
1682
1683// DeleteSchemaWithContext is the same as DeleteSchema with the addition of
1684// the ability to pass a context and additional request options.
1685//
1686// See DeleteSchema for details on how to use this API operation.
1687//
1688// The context must be non-nil and will be used for request cancellation. If
1689// the context is nil a panic will occur. In the future the SDK may create
1690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1691// for more information on using Contexts.
1692func (c *Personalize) DeleteSchemaWithContext(ctx aws.Context, input *DeleteSchemaInput, opts ...request.Option) (*DeleteSchemaOutput, error) {
1693	req, out := c.DeleteSchemaRequest(input)
1694	req.SetContext(ctx)
1695	req.ApplyOptions(opts...)
1696	return out, req.Send()
1697}
1698
1699const opDeleteSolution = "DeleteSolution"
1700
1701// DeleteSolutionRequest generates a "aws/request.Request" representing the
1702// client's request for the DeleteSolution operation. The "output" return
1703// value will be populated with the request's response once the request completes
1704// successfully.
1705//
1706// Use "Send" method on the returned Request to send the API call to the service.
1707// the "output" return value is not valid until after Send returns without error.
1708//
1709// See DeleteSolution for more information on using the DeleteSolution
1710// API call, and error handling.
1711//
1712// This method is useful when you want to inject custom logic or configuration
1713// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1714//
1715//
1716//    // Example sending a request using the DeleteSolutionRequest method.
1717//    req, resp := client.DeleteSolutionRequest(params)
1718//
1719//    err := req.Send()
1720//    if err == nil { // resp is now filled
1721//        fmt.Println(resp)
1722//    }
1723//
1724// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSolution
1725func (c *Personalize) DeleteSolutionRequest(input *DeleteSolutionInput) (req *request.Request, output *DeleteSolutionOutput) {
1726	op := &request.Operation{
1727		Name:       opDeleteSolution,
1728		HTTPMethod: "POST",
1729		HTTPPath:   "/",
1730	}
1731
1732	if input == nil {
1733		input = &DeleteSolutionInput{}
1734	}
1735
1736	output = &DeleteSolutionOutput{}
1737	req = c.newRequest(op, input, output)
1738	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1739	return
1740}
1741
1742// DeleteSolution API operation for Amazon Personalize.
1743//
1744// Deletes all versions of a solution and the Solution object itself. Before
1745// deleting a solution, you must delete all campaigns based on the solution.
1746// To determine what campaigns are using the solution, call ListCampaigns and
1747// supply the Amazon Resource Name (ARN) of the solution. You can't delete a
1748// solution if an associated SolutionVersion is in the CREATE PENDING or IN
1749// PROGRESS state. For more information on solutions, see CreateSolution.
1750//
1751// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1752// with awserr.Error's Code and Message methods to get detailed information about
1753// the error.
1754//
1755// See the AWS API reference guide for Amazon Personalize's
1756// API operation DeleteSolution for usage and error information.
1757//
1758// Returned Error Types:
1759//   * InvalidInputException
1760//   Provide a valid value for the field or parameter.
1761//
1762//   * ResourceNotFoundException
1763//   Could not find the specified resource.
1764//
1765//   * ResourceInUseException
1766//   The specified resource is in use.
1767//
1768// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSolution
1769func (c *Personalize) DeleteSolution(input *DeleteSolutionInput) (*DeleteSolutionOutput, error) {
1770	req, out := c.DeleteSolutionRequest(input)
1771	return out, req.Send()
1772}
1773
1774// DeleteSolutionWithContext is the same as DeleteSolution with the addition of
1775// the ability to pass a context and additional request options.
1776//
1777// See DeleteSolution for details on how to use this API operation.
1778//
1779// The context must be non-nil and will be used for request cancellation. If
1780// the context is nil a panic will occur. In the future the SDK may create
1781// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1782// for more information on using Contexts.
1783func (c *Personalize) DeleteSolutionWithContext(ctx aws.Context, input *DeleteSolutionInput, opts ...request.Option) (*DeleteSolutionOutput, error) {
1784	req, out := c.DeleteSolutionRequest(input)
1785	req.SetContext(ctx)
1786	req.ApplyOptions(opts...)
1787	return out, req.Send()
1788}
1789
1790const opDescribeAlgorithm = "DescribeAlgorithm"
1791
1792// DescribeAlgorithmRequest generates a "aws/request.Request" representing the
1793// client's request for the DescribeAlgorithm operation. The "output" return
1794// value will be populated with the request's response once the request completes
1795// successfully.
1796//
1797// Use "Send" method on the returned Request to send the API call to the service.
1798// the "output" return value is not valid until after Send returns without error.
1799//
1800// See DescribeAlgorithm for more information on using the DescribeAlgorithm
1801// API call, and error handling.
1802//
1803// This method is useful when you want to inject custom logic or configuration
1804// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1805//
1806//
1807//    // Example sending a request using the DescribeAlgorithmRequest method.
1808//    req, resp := client.DescribeAlgorithmRequest(params)
1809//
1810//    err := req.Send()
1811//    if err == nil { // resp is now filled
1812//        fmt.Println(resp)
1813//    }
1814//
1815// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeAlgorithm
1816func (c *Personalize) DescribeAlgorithmRequest(input *DescribeAlgorithmInput) (req *request.Request, output *DescribeAlgorithmOutput) {
1817	op := &request.Operation{
1818		Name:       opDescribeAlgorithm,
1819		HTTPMethod: "POST",
1820		HTTPPath:   "/",
1821	}
1822
1823	if input == nil {
1824		input = &DescribeAlgorithmInput{}
1825	}
1826
1827	output = &DescribeAlgorithmOutput{}
1828	req = c.newRequest(op, input, output)
1829	return
1830}
1831
1832// DescribeAlgorithm API operation for Amazon Personalize.
1833//
1834// Describes the given algorithm.
1835//
1836// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1837// with awserr.Error's Code and Message methods to get detailed information about
1838// the error.
1839//
1840// See the AWS API reference guide for Amazon Personalize's
1841// API operation DescribeAlgorithm for usage and error information.
1842//
1843// Returned Error Types:
1844//   * InvalidInputException
1845//   Provide a valid value for the field or parameter.
1846//
1847//   * ResourceNotFoundException
1848//   Could not find the specified resource.
1849//
1850// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeAlgorithm
1851func (c *Personalize) DescribeAlgorithm(input *DescribeAlgorithmInput) (*DescribeAlgorithmOutput, error) {
1852	req, out := c.DescribeAlgorithmRequest(input)
1853	return out, req.Send()
1854}
1855
1856// DescribeAlgorithmWithContext is the same as DescribeAlgorithm with the addition of
1857// the ability to pass a context and additional request options.
1858//
1859// See DescribeAlgorithm for details on how to use this API operation.
1860//
1861// The context must be non-nil and will be used for request cancellation. If
1862// the context is nil a panic will occur. In the future the SDK may create
1863// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1864// for more information on using Contexts.
1865func (c *Personalize) DescribeAlgorithmWithContext(ctx aws.Context, input *DescribeAlgorithmInput, opts ...request.Option) (*DescribeAlgorithmOutput, error) {
1866	req, out := c.DescribeAlgorithmRequest(input)
1867	req.SetContext(ctx)
1868	req.ApplyOptions(opts...)
1869	return out, req.Send()
1870}
1871
1872const opDescribeBatchInferenceJob = "DescribeBatchInferenceJob"
1873
1874// DescribeBatchInferenceJobRequest generates a "aws/request.Request" representing the
1875// client's request for the DescribeBatchInferenceJob operation. The "output" return
1876// value will be populated with the request's response once the request completes
1877// successfully.
1878//
1879// Use "Send" method on the returned Request to send the API call to the service.
1880// the "output" return value is not valid until after Send returns without error.
1881//
1882// See DescribeBatchInferenceJob for more information on using the DescribeBatchInferenceJob
1883// API call, and error handling.
1884//
1885// This method is useful when you want to inject custom logic or configuration
1886// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1887//
1888//
1889//    // Example sending a request using the DescribeBatchInferenceJobRequest method.
1890//    req, resp := client.DescribeBatchInferenceJobRequest(params)
1891//
1892//    err := req.Send()
1893//    if err == nil { // resp is now filled
1894//        fmt.Println(resp)
1895//    }
1896//
1897// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeBatchInferenceJob
1898func (c *Personalize) DescribeBatchInferenceJobRequest(input *DescribeBatchInferenceJobInput) (req *request.Request, output *DescribeBatchInferenceJobOutput) {
1899	op := &request.Operation{
1900		Name:       opDescribeBatchInferenceJob,
1901		HTTPMethod: "POST",
1902		HTTPPath:   "/",
1903	}
1904
1905	if input == nil {
1906		input = &DescribeBatchInferenceJobInput{}
1907	}
1908
1909	output = &DescribeBatchInferenceJobOutput{}
1910	req = c.newRequest(op, input, output)
1911	return
1912}
1913
1914// DescribeBatchInferenceJob API operation for Amazon Personalize.
1915//
1916// Gets the properties of a batch inference job including name, Amazon Resource
1917// Name (ARN), status, input and output configurations, and the ARN of the solution
1918// version used to generate the recommendations.
1919//
1920// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1921// with awserr.Error's Code and Message methods to get detailed information about
1922// the error.
1923//
1924// See the AWS API reference guide for Amazon Personalize's
1925// API operation DescribeBatchInferenceJob for usage and error information.
1926//
1927// Returned Error Types:
1928//   * InvalidInputException
1929//   Provide a valid value for the field or parameter.
1930//
1931//   * ResourceNotFoundException
1932//   Could not find the specified resource.
1933//
1934// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeBatchInferenceJob
1935func (c *Personalize) DescribeBatchInferenceJob(input *DescribeBatchInferenceJobInput) (*DescribeBatchInferenceJobOutput, error) {
1936	req, out := c.DescribeBatchInferenceJobRequest(input)
1937	return out, req.Send()
1938}
1939
1940// DescribeBatchInferenceJobWithContext is the same as DescribeBatchInferenceJob with the addition of
1941// the ability to pass a context and additional request options.
1942//
1943// See DescribeBatchInferenceJob for details on how to use this API operation.
1944//
1945// The context must be non-nil and will be used for request cancellation. If
1946// the context is nil a panic will occur. In the future the SDK may create
1947// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1948// for more information on using Contexts.
1949func (c *Personalize) DescribeBatchInferenceJobWithContext(ctx aws.Context, input *DescribeBatchInferenceJobInput, opts ...request.Option) (*DescribeBatchInferenceJobOutput, error) {
1950	req, out := c.DescribeBatchInferenceJobRequest(input)
1951	req.SetContext(ctx)
1952	req.ApplyOptions(opts...)
1953	return out, req.Send()
1954}
1955
1956const opDescribeCampaign = "DescribeCampaign"
1957
1958// DescribeCampaignRequest generates a "aws/request.Request" representing the
1959// client's request for the DescribeCampaign operation. The "output" return
1960// value will be populated with the request's response once the request completes
1961// successfully.
1962//
1963// Use "Send" method on the returned Request to send the API call to the service.
1964// the "output" return value is not valid until after Send returns without error.
1965//
1966// See DescribeCampaign for more information on using the DescribeCampaign
1967// API call, and error handling.
1968//
1969// This method is useful when you want to inject custom logic or configuration
1970// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1971//
1972//
1973//    // Example sending a request using the DescribeCampaignRequest method.
1974//    req, resp := client.DescribeCampaignRequest(params)
1975//
1976//    err := req.Send()
1977//    if err == nil { // resp is now filled
1978//        fmt.Println(resp)
1979//    }
1980//
1981// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeCampaign
1982func (c *Personalize) DescribeCampaignRequest(input *DescribeCampaignInput) (req *request.Request, output *DescribeCampaignOutput) {
1983	op := &request.Operation{
1984		Name:       opDescribeCampaign,
1985		HTTPMethod: "POST",
1986		HTTPPath:   "/",
1987	}
1988
1989	if input == nil {
1990		input = &DescribeCampaignInput{}
1991	}
1992
1993	output = &DescribeCampaignOutput{}
1994	req = c.newRequest(op, input, output)
1995	return
1996}
1997
1998// DescribeCampaign API operation for Amazon Personalize.
1999//
2000// Describes the given campaign, including its status.
2001//
2002// A campaign can be in one of the following states:
2003//
2004//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
2005//
2006//    * DELETE PENDING > DELETE IN_PROGRESS
2007//
2008// When the status is CREATE FAILED, the response includes the failureReason
2009// key, which describes why.
2010//
2011// For more information on campaigns, see CreateCampaign.
2012//
2013// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2014// with awserr.Error's Code and Message methods to get detailed information about
2015// the error.
2016//
2017// See the AWS API reference guide for Amazon Personalize's
2018// API operation DescribeCampaign for usage and error information.
2019//
2020// Returned Error Types:
2021//   * InvalidInputException
2022//   Provide a valid value for the field or parameter.
2023//
2024//   * ResourceNotFoundException
2025//   Could not find the specified resource.
2026//
2027// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeCampaign
2028func (c *Personalize) DescribeCampaign(input *DescribeCampaignInput) (*DescribeCampaignOutput, error) {
2029	req, out := c.DescribeCampaignRequest(input)
2030	return out, req.Send()
2031}
2032
2033// DescribeCampaignWithContext is the same as DescribeCampaign with the addition of
2034// the ability to pass a context and additional request options.
2035//
2036// See DescribeCampaign for details on how to use this API operation.
2037//
2038// The context must be non-nil and will be used for request cancellation. If
2039// the context is nil a panic will occur. In the future the SDK may create
2040// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2041// for more information on using Contexts.
2042func (c *Personalize) DescribeCampaignWithContext(ctx aws.Context, input *DescribeCampaignInput, opts ...request.Option) (*DescribeCampaignOutput, error) {
2043	req, out := c.DescribeCampaignRequest(input)
2044	req.SetContext(ctx)
2045	req.ApplyOptions(opts...)
2046	return out, req.Send()
2047}
2048
2049const opDescribeDataset = "DescribeDataset"
2050
2051// DescribeDatasetRequest generates a "aws/request.Request" representing the
2052// client's request for the DescribeDataset operation. The "output" return
2053// value will be populated with the request's response once the request completes
2054// successfully.
2055//
2056// Use "Send" method on the returned Request to send the API call to the service.
2057// the "output" return value is not valid until after Send returns without error.
2058//
2059// See DescribeDataset for more information on using the DescribeDataset
2060// API call, and error handling.
2061//
2062// This method is useful when you want to inject custom logic or configuration
2063// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2064//
2065//
2066//    // Example sending a request using the DescribeDatasetRequest method.
2067//    req, resp := client.DescribeDatasetRequest(params)
2068//
2069//    err := req.Send()
2070//    if err == nil { // resp is now filled
2071//        fmt.Println(resp)
2072//    }
2073//
2074// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDataset
2075func (c *Personalize) DescribeDatasetRequest(input *DescribeDatasetInput) (req *request.Request, output *DescribeDatasetOutput) {
2076	op := &request.Operation{
2077		Name:       opDescribeDataset,
2078		HTTPMethod: "POST",
2079		HTTPPath:   "/",
2080	}
2081
2082	if input == nil {
2083		input = &DescribeDatasetInput{}
2084	}
2085
2086	output = &DescribeDatasetOutput{}
2087	req = c.newRequest(op, input, output)
2088	return
2089}
2090
2091// DescribeDataset API operation for Amazon Personalize.
2092//
2093// Describes the given dataset. For more information on datasets, see CreateDataset.
2094//
2095// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2096// with awserr.Error's Code and Message methods to get detailed information about
2097// the error.
2098//
2099// See the AWS API reference guide for Amazon Personalize's
2100// API operation DescribeDataset for usage and error information.
2101//
2102// Returned Error Types:
2103//   * InvalidInputException
2104//   Provide a valid value for the field or parameter.
2105//
2106//   * ResourceNotFoundException
2107//   Could not find the specified resource.
2108//
2109// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDataset
2110func (c *Personalize) DescribeDataset(input *DescribeDatasetInput) (*DescribeDatasetOutput, error) {
2111	req, out := c.DescribeDatasetRequest(input)
2112	return out, req.Send()
2113}
2114
2115// DescribeDatasetWithContext is the same as DescribeDataset with the addition of
2116// the ability to pass a context and additional request options.
2117//
2118// See DescribeDataset for details on how to use this API operation.
2119//
2120// The context must be non-nil and will be used for request cancellation. If
2121// the context is nil a panic will occur. In the future the SDK may create
2122// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2123// for more information on using Contexts.
2124func (c *Personalize) DescribeDatasetWithContext(ctx aws.Context, input *DescribeDatasetInput, opts ...request.Option) (*DescribeDatasetOutput, error) {
2125	req, out := c.DescribeDatasetRequest(input)
2126	req.SetContext(ctx)
2127	req.ApplyOptions(opts...)
2128	return out, req.Send()
2129}
2130
2131const opDescribeDatasetGroup = "DescribeDatasetGroup"
2132
2133// DescribeDatasetGroupRequest generates a "aws/request.Request" representing the
2134// client's request for the DescribeDatasetGroup operation. The "output" return
2135// value will be populated with the request's response once the request completes
2136// successfully.
2137//
2138// Use "Send" method on the returned Request to send the API call to the service.
2139// the "output" return value is not valid until after Send returns without error.
2140//
2141// See DescribeDatasetGroup for more information on using the DescribeDatasetGroup
2142// API call, and error handling.
2143//
2144// This method is useful when you want to inject custom logic or configuration
2145// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2146//
2147//
2148//    // Example sending a request using the DescribeDatasetGroupRequest method.
2149//    req, resp := client.DescribeDatasetGroupRequest(params)
2150//
2151//    err := req.Send()
2152//    if err == nil { // resp is now filled
2153//        fmt.Println(resp)
2154//    }
2155//
2156// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetGroup
2157func (c *Personalize) DescribeDatasetGroupRequest(input *DescribeDatasetGroupInput) (req *request.Request, output *DescribeDatasetGroupOutput) {
2158	op := &request.Operation{
2159		Name:       opDescribeDatasetGroup,
2160		HTTPMethod: "POST",
2161		HTTPPath:   "/",
2162	}
2163
2164	if input == nil {
2165		input = &DescribeDatasetGroupInput{}
2166	}
2167
2168	output = &DescribeDatasetGroupOutput{}
2169	req = c.newRequest(op, input, output)
2170	return
2171}
2172
2173// DescribeDatasetGroup API operation for Amazon Personalize.
2174//
2175// Describes the given dataset group. For more information on dataset groups,
2176// see CreateDatasetGroup.
2177//
2178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2179// with awserr.Error's Code and Message methods to get detailed information about
2180// the error.
2181//
2182// See the AWS API reference guide for Amazon Personalize's
2183// API operation DescribeDatasetGroup for usage and error information.
2184//
2185// Returned Error Types:
2186//   * InvalidInputException
2187//   Provide a valid value for the field or parameter.
2188//
2189//   * ResourceNotFoundException
2190//   Could not find the specified resource.
2191//
2192// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetGroup
2193func (c *Personalize) DescribeDatasetGroup(input *DescribeDatasetGroupInput) (*DescribeDatasetGroupOutput, error) {
2194	req, out := c.DescribeDatasetGroupRequest(input)
2195	return out, req.Send()
2196}
2197
2198// DescribeDatasetGroupWithContext is the same as DescribeDatasetGroup with the addition of
2199// the ability to pass a context and additional request options.
2200//
2201// See DescribeDatasetGroup for details on how to use this API operation.
2202//
2203// The context must be non-nil and will be used for request cancellation. If
2204// the context is nil a panic will occur. In the future the SDK may create
2205// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2206// for more information on using Contexts.
2207func (c *Personalize) DescribeDatasetGroupWithContext(ctx aws.Context, input *DescribeDatasetGroupInput, opts ...request.Option) (*DescribeDatasetGroupOutput, error) {
2208	req, out := c.DescribeDatasetGroupRequest(input)
2209	req.SetContext(ctx)
2210	req.ApplyOptions(opts...)
2211	return out, req.Send()
2212}
2213
2214const opDescribeDatasetImportJob = "DescribeDatasetImportJob"
2215
2216// DescribeDatasetImportJobRequest generates a "aws/request.Request" representing the
2217// client's request for the DescribeDatasetImportJob operation. The "output" return
2218// value will be populated with the request's response once the request completes
2219// successfully.
2220//
2221// Use "Send" method on the returned Request to send the API call to the service.
2222// the "output" return value is not valid until after Send returns without error.
2223//
2224// See DescribeDatasetImportJob for more information on using the DescribeDatasetImportJob
2225// API call, and error handling.
2226//
2227// This method is useful when you want to inject custom logic or configuration
2228// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2229//
2230//
2231//    // Example sending a request using the DescribeDatasetImportJobRequest method.
2232//    req, resp := client.DescribeDatasetImportJobRequest(params)
2233//
2234//    err := req.Send()
2235//    if err == nil { // resp is now filled
2236//        fmt.Println(resp)
2237//    }
2238//
2239// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetImportJob
2240func (c *Personalize) DescribeDatasetImportJobRequest(input *DescribeDatasetImportJobInput) (req *request.Request, output *DescribeDatasetImportJobOutput) {
2241	op := &request.Operation{
2242		Name:       opDescribeDatasetImportJob,
2243		HTTPMethod: "POST",
2244		HTTPPath:   "/",
2245	}
2246
2247	if input == nil {
2248		input = &DescribeDatasetImportJobInput{}
2249	}
2250
2251	output = &DescribeDatasetImportJobOutput{}
2252	req = c.newRequest(op, input, output)
2253	return
2254}
2255
2256// DescribeDatasetImportJob API operation for Amazon Personalize.
2257//
2258// Describes the dataset import job created by CreateDatasetImportJob, including
2259// the import job status.
2260//
2261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2262// with awserr.Error's Code and Message methods to get detailed information about
2263// the error.
2264//
2265// See the AWS API reference guide for Amazon Personalize's
2266// API operation DescribeDatasetImportJob for usage and error information.
2267//
2268// Returned Error Types:
2269//   * InvalidInputException
2270//   Provide a valid value for the field or parameter.
2271//
2272//   * ResourceNotFoundException
2273//   Could not find the specified resource.
2274//
2275// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetImportJob
2276func (c *Personalize) DescribeDatasetImportJob(input *DescribeDatasetImportJobInput) (*DescribeDatasetImportJobOutput, error) {
2277	req, out := c.DescribeDatasetImportJobRequest(input)
2278	return out, req.Send()
2279}
2280
2281// DescribeDatasetImportJobWithContext is the same as DescribeDatasetImportJob with the addition of
2282// the ability to pass a context and additional request options.
2283//
2284// See DescribeDatasetImportJob for details on how to use this API operation.
2285//
2286// The context must be non-nil and will be used for request cancellation. If
2287// the context is nil a panic will occur. In the future the SDK may create
2288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2289// for more information on using Contexts.
2290func (c *Personalize) DescribeDatasetImportJobWithContext(ctx aws.Context, input *DescribeDatasetImportJobInput, opts ...request.Option) (*DescribeDatasetImportJobOutput, error) {
2291	req, out := c.DescribeDatasetImportJobRequest(input)
2292	req.SetContext(ctx)
2293	req.ApplyOptions(opts...)
2294	return out, req.Send()
2295}
2296
2297const opDescribeEventTracker = "DescribeEventTracker"
2298
2299// DescribeEventTrackerRequest generates a "aws/request.Request" representing the
2300// client's request for the DescribeEventTracker operation. The "output" return
2301// value will be populated with the request's response once the request completes
2302// successfully.
2303//
2304// Use "Send" method on the returned Request to send the API call to the service.
2305// the "output" return value is not valid until after Send returns without error.
2306//
2307// See DescribeEventTracker for more information on using the DescribeEventTracker
2308// API call, and error handling.
2309//
2310// This method is useful when you want to inject custom logic or configuration
2311// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2312//
2313//
2314//    // Example sending a request using the DescribeEventTrackerRequest method.
2315//    req, resp := client.DescribeEventTrackerRequest(params)
2316//
2317//    err := req.Send()
2318//    if err == nil { // resp is now filled
2319//        fmt.Println(resp)
2320//    }
2321//
2322// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeEventTracker
2323func (c *Personalize) DescribeEventTrackerRequest(input *DescribeEventTrackerInput) (req *request.Request, output *DescribeEventTrackerOutput) {
2324	op := &request.Operation{
2325		Name:       opDescribeEventTracker,
2326		HTTPMethod: "POST",
2327		HTTPPath:   "/",
2328	}
2329
2330	if input == nil {
2331		input = &DescribeEventTrackerInput{}
2332	}
2333
2334	output = &DescribeEventTrackerOutput{}
2335	req = c.newRequest(op, input, output)
2336	return
2337}
2338
2339// DescribeEventTracker API operation for Amazon Personalize.
2340//
2341// Describes an event tracker. The response includes the trackingId and status
2342// of the event tracker. For more information on event trackers, see CreateEventTracker.
2343//
2344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2345// with awserr.Error's Code and Message methods to get detailed information about
2346// the error.
2347//
2348// See the AWS API reference guide for Amazon Personalize's
2349// API operation DescribeEventTracker for usage and error information.
2350//
2351// Returned Error Types:
2352//   * InvalidInputException
2353//   Provide a valid value for the field or parameter.
2354//
2355//   * ResourceNotFoundException
2356//   Could not find the specified resource.
2357//
2358// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeEventTracker
2359func (c *Personalize) DescribeEventTracker(input *DescribeEventTrackerInput) (*DescribeEventTrackerOutput, error) {
2360	req, out := c.DescribeEventTrackerRequest(input)
2361	return out, req.Send()
2362}
2363
2364// DescribeEventTrackerWithContext is the same as DescribeEventTracker with the addition of
2365// the ability to pass a context and additional request options.
2366//
2367// See DescribeEventTracker for details on how to use this API operation.
2368//
2369// The context must be non-nil and will be used for request cancellation. If
2370// the context is nil a panic will occur. In the future the SDK may create
2371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2372// for more information on using Contexts.
2373func (c *Personalize) DescribeEventTrackerWithContext(ctx aws.Context, input *DescribeEventTrackerInput, opts ...request.Option) (*DescribeEventTrackerOutput, error) {
2374	req, out := c.DescribeEventTrackerRequest(input)
2375	req.SetContext(ctx)
2376	req.ApplyOptions(opts...)
2377	return out, req.Send()
2378}
2379
2380const opDescribeFeatureTransformation = "DescribeFeatureTransformation"
2381
2382// DescribeFeatureTransformationRequest generates a "aws/request.Request" representing the
2383// client's request for the DescribeFeatureTransformation operation. The "output" return
2384// value will be populated with the request's response once the request completes
2385// successfully.
2386//
2387// Use "Send" method on the returned Request to send the API call to the service.
2388// the "output" return value is not valid until after Send returns without error.
2389//
2390// See DescribeFeatureTransformation for more information on using the DescribeFeatureTransformation
2391// API call, and error handling.
2392//
2393// This method is useful when you want to inject custom logic or configuration
2394// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2395//
2396//
2397//    // Example sending a request using the DescribeFeatureTransformationRequest method.
2398//    req, resp := client.DescribeFeatureTransformationRequest(params)
2399//
2400//    err := req.Send()
2401//    if err == nil { // resp is now filled
2402//        fmt.Println(resp)
2403//    }
2404//
2405// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFeatureTransformation
2406func (c *Personalize) DescribeFeatureTransformationRequest(input *DescribeFeatureTransformationInput) (req *request.Request, output *DescribeFeatureTransformationOutput) {
2407	op := &request.Operation{
2408		Name:       opDescribeFeatureTransformation,
2409		HTTPMethod: "POST",
2410		HTTPPath:   "/",
2411	}
2412
2413	if input == nil {
2414		input = &DescribeFeatureTransformationInput{}
2415	}
2416
2417	output = &DescribeFeatureTransformationOutput{}
2418	req = c.newRequest(op, input, output)
2419	return
2420}
2421
2422// DescribeFeatureTransformation API operation for Amazon Personalize.
2423//
2424// Describes the given feature transformation.
2425//
2426// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2427// with awserr.Error's Code and Message methods to get detailed information about
2428// the error.
2429//
2430// See the AWS API reference guide for Amazon Personalize's
2431// API operation DescribeFeatureTransformation for usage and error information.
2432//
2433// Returned Error Types:
2434//   * InvalidInputException
2435//   Provide a valid value for the field or parameter.
2436//
2437//   * ResourceNotFoundException
2438//   Could not find the specified resource.
2439//
2440// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFeatureTransformation
2441func (c *Personalize) DescribeFeatureTransformation(input *DescribeFeatureTransformationInput) (*DescribeFeatureTransformationOutput, error) {
2442	req, out := c.DescribeFeatureTransformationRequest(input)
2443	return out, req.Send()
2444}
2445
2446// DescribeFeatureTransformationWithContext is the same as DescribeFeatureTransformation with the addition of
2447// the ability to pass a context and additional request options.
2448//
2449// See DescribeFeatureTransformation for details on how to use this API operation.
2450//
2451// The context must be non-nil and will be used for request cancellation. If
2452// the context is nil a panic will occur. In the future the SDK may create
2453// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2454// for more information on using Contexts.
2455func (c *Personalize) DescribeFeatureTransformationWithContext(ctx aws.Context, input *DescribeFeatureTransformationInput, opts ...request.Option) (*DescribeFeatureTransformationOutput, error) {
2456	req, out := c.DescribeFeatureTransformationRequest(input)
2457	req.SetContext(ctx)
2458	req.ApplyOptions(opts...)
2459	return out, req.Send()
2460}
2461
2462const opDescribeFilter = "DescribeFilter"
2463
2464// DescribeFilterRequest generates a "aws/request.Request" representing the
2465// client's request for the DescribeFilter operation. The "output" return
2466// value will be populated with the request's response once the request completes
2467// successfully.
2468//
2469// Use "Send" method on the returned Request to send the API call to the service.
2470// the "output" return value is not valid until after Send returns without error.
2471//
2472// See DescribeFilter for more information on using the DescribeFilter
2473// API call, and error handling.
2474//
2475// This method is useful when you want to inject custom logic or configuration
2476// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2477//
2478//
2479//    // Example sending a request using the DescribeFilterRequest method.
2480//    req, resp := client.DescribeFilterRequest(params)
2481//
2482//    err := req.Send()
2483//    if err == nil { // resp is now filled
2484//        fmt.Println(resp)
2485//    }
2486//
2487// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFilter
2488func (c *Personalize) DescribeFilterRequest(input *DescribeFilterInput) (req *request.Request, output *DescribeFilterOutput) {
2489	op := &request.Operation{
2490		Name:       opDescribeFilter,
2491		HTTPMethod: "POST",
2492		HTTPPath:   "/",
2493	}
2494
2495	if input == nil {
2496		input = &DescribeFilterInput{}
2497	}
2498
2499	output = &DescribeFilterOutput{}
2500	req = c.newRequest(op, input, output)
2501	return
2502}
2503
2504// DescribeFilter API operation for Amazon Personalize.
2505//
2506// Describes a filter's properties.
2507//
2508// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2509// with awserr.Error's Code and Message methods to get detailed information about
2510// the error.
2511//
2512// See the AWS API reference guide for Amazon Personalize's
2513// API operation DescribeFilter for usage and error information.
2514//
2515// Returned Error Types:
2516//   * InvalidInputException
2517//   Provide a valid value for the field or parameter.
2518//
2519//   * ResourceNotFoundException
2520//   Could not find the specified resource.
2521//
2522// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFilter
2523func (c *Personalize) DescribeFilter(input *DescribeFilterInput) (*DescribeFilterOutput, error) {
2524	req, out := c.DescribeFilterRequest(input)
2525	return out, req.Send()
2526}
2527
2528// DescribeFilterWithContext is the same as DescribeFilter with the addition of
2529// the ability to pass a context and additional request options.
2530//
2531// See DescribeFilter for details on how to use this API operation.
2532//
2533// The context must be non-nil and will be used for request cancellation. If
2534// the context is nil a panic will occur. In the future the SDK may create
2535// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2536// for more information on using Contexts.
2537func (c *Personalize) DescribeFilterWithContext(ctx aws.Context, input *DescribeFilterInput, opts ...request.Option) (*DescribeFilterOutput, error) {
2538	req, out := c.DescribeFilterRequest(input)
2539	req.SetContext(ctx)
2540	req.ApplyOptions(opts...)
2541	return out, req.Send()
2542}
2543
2544const opDescribeRecipe = "DescribeRecipe"
2545
2546// DescribeRecipeRequest generates a "aws/request.Request" representing the
2547// client's request for the DescribeRecipe operation. The "output" return
2548// value will be populated with the request's response once the request completes
2549// successfully.
2550//
2551// Use "Send" method on the returned Request to send the API call to the service.
2552// the "output" return value is not valid until after Send returns without error.
2553//
2554// See DescribeRecipe for more information on using the DescribeRecipe
2555// API call, and error handling.
2556//
2557// This method is useful when you want to inject custom logic or configuration
2558// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2559//
2560//
2561//    // Example sending a request using the DescribeRecipeRequest method.
2562//    req, resp := client.DescribeRecipeRequest(params)
2563//
2564//    err := req.Send()
2565//    if err == nil { // resp is now filled
2566//        fmt.Println(resp)
2567//    }
2568//
2569// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeRecipe
2570func (c *Personalize) DescribeRecipeRequest(input *DescribeRecipeInput) (req *request.Request, output *DescribeRecipeOutput) {
2571	op := &request.Operation{
2572		Name:       opDescribeRecipe,
2573		HTTPMethod: "POST",
2574		HTTPPath:   "/",
2575	}
2576
2577	if input == nil {
2578		input = &DescribeRecipeInput{}
2579	}
2580
2581	output = &DescribeRecipeOutput{}
2582	req = c.newRequest(op, input, output)
2583	return
2584}
2585
2586// DescribeRecipe API operation for Amazon Personalize.
2587//
2588// Describes a recipe.
2589//
2590// A recipe contains three items:
2591//
2592//    * An algorithm that trains a model.
2593//
2594//    * Hyperparameters that govern the training.
2595//
2596//    * Feature transformation information for modifying the input data before
2597//    training.
2598//
2599// Amazon Personalize provides a set of predefined recipes. You specify a recipe
2600// when you create a solution with the CreateSolution API. CreateSolution trains
2601// a model by using the algorithm in the specified recipe and a training dataset.
2602// The solution, when deployed as a campaign, can provide recommendations using
2603// the GetRecommendations (https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html)
2604// API.
2605//
2606// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2607// with awserr.Error's Code and Message methods to get detailed information about
2608// the error.
2609//
2610// See the AWS API reference guide for Amazon Personalize's
2611// API operation DescribeRecipe for usage and error information.
2612//
2613// Returned Error Types:
2614//   * InvalidInputException
2615//   Provide a valid value for the field or parameter.
2616//
2617//   * ResourceNotFoundException
2618//   Could not find the specified resource.
2619//
2620// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeRecipe
2621func (c *Personalize) DescribeRecipe(input *DescribeRecipeInput) (*DescribeRecipeOutput, error) {
2622	req, out := c.DescribeRecipeRequest(input)
2623	return out, req.Send()
2624}
2625
2626// DescribeRecipeWithContext is the same as DescribeRecipe with the addition of
2627// the ability to pass a context and additional request options.
2628//
2629// See DescribeRecipe for details on how to use this API operation.
2630//
2631// The context must be non-nil and will be used for request cancellation. If
2632// the context is nil a panic will occur. In the future the SDK may create
2633// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2634// for more information on using Contexts.
2635func (c *Personalize) DescribeRecipeWithContext(ctx aws.Context, input *DescribeRecipeInput, opts ...request.Option) (*DescribeRecipeOutput, error) {
2636	req, out := c.DescribeRecipeRequest(input)
2637	req.SetContext(ctx)
2638	req.ApplyOptions(opts...)
2639	return out, req.Send()
2640}
2641
2642const opDescribeSchema = "DescribeSchema"
2643
2644// DescribeSchemaRequest generates a "aws/request.Request" representing the
2645// client's request for the DescribeSchema operation. The "output" return
2646// value will be populated with the request's response once the request completes
2647// successfully.
2648//
2649// Use "Send" method on the returned Request to send the API call to the service.
2650// the "output" return value is not valid until after Send returns without error.
2651//
2652// See DescribeSchema for more information on using the DescribeSchema
2653// API call, and error handling.
2654//
2655// This method is useful when you want to inject custom logic or configuration
2656// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2657//
2658//
2659//    // Example sending a request using the DescribeSchemaRequest method.
2660//    req, resp := client.DescribeSchemaRequest(params)
2661//
2662//    err := req.Send()
2663//    if err == nil { // resp is now filled
2664//        fmt.Println(resp)
2665//    }
2666//
2667// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSchema
2668func (c *Personalize) DescribeSchemaRequest(input *DescribeSchemaInput) (req *request.Request, output *DescribeSchemaOutput) {
2669	op := &request.Operation{
2670		Name:       opDescribeSchema,
2671		HTTPMethod: "POST",
2672		HTTPPath:   "/",
2673	}
2674
2675	if input == nil {
2676		input = &DescribeSchemaInput{}
2677	}
2678
2679	output = &DescribeSchemaOutput{}
2680	req = c.newRequest(op, input, output)
2681	return
2682}
2683
2684// DescribeSchema API operation for Amazon Personalize.
2685//
2686// Describes a schema. For more information on schemas, see CreateSchema.
2687//
2688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2689// with awserr.Error's Code and Message methods to get detailed information about
2690// the error.
2691//
2692// See the AWS API reference guide for Amazon Personalize's
2693// API operation DescribeSchema for usage and error information.
2694//
2695// Returned Error Types:
2696//   * InvalidInputException
2697//   Provide a valid value for the field or parameter.
2698//
2699//   * ResourceNotFoundException
2700//   Could not find the specified resource.
2701//
2702// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSchema
2703func (c *Personalize) DescribeSchema(input *DescribeSchemaInput) (*DescribeSchemaOutput, error) {
2704	req, out := c.DescribeSchemaRequest(input)
2705	return out, req.Send()
2706}
2707
2708// DescribeSchemaWithContext is the same as DescribeSchema with the addition of
2709// the ability to pass a context and additional request options.
2710//
2711// See DescribeSchema for details on how to use this API operation.
2712//
2713// The context must be non-nil and will be used for request cancellation. If
2714// the context is nil a panic will occur. In the future the SDK may create
2715// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2716// for more information on using Contexts.
2717func (c *Personalize) DescribeSchemaWithContext(ctx aws.Context, input *DescribeSchemaInput, opts ...request.Option) (*DescribeSchemaOutput, error) {
2718	req, out := c.DescribeSchemaRequest(input)
2719	req.SetContext(ctx)
2720	req.ApplyOptions(opts...)
2721	return out, req.Send()
2722}
2723
2724const opDescribeSolution = "DescribeSolution"
2725
2726// DescribeSolutionRequest generates a "aws/request.Request" representing the
2727// client's request for the DescribeSolution operation. The "output" return
2728// value will be populated with the request's response once the request completes
2729// successfully.
2730//
2731// Use "Send" method on the returned Request to send the API call to the service.
2732// the "output" return value is not valid until after Send returns without error.
2733//
2734// See DescribeSolution for more information on using the DescribeSolution
2735// API call, and error handling.
2736//
2737// This method is useful when you want to inject custom logic or configuration
2738// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2739//
2740//
2741//    // Example sending a request using the DescribeSolutionRequest method.
2742//    req, resp := client.DescribeSolutionRequest(params)
2743//
2744//    err := req.Send()
2745//    if err == nil { // resp is now filled
2746//        fmt.Println(resp)
2747//    }
2748//
2749// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolution
2750func (c *Personalize) DescribeSolutionRequest(input *DescribeSolutionInput) (req *request.Request, output *DescribeSolutionOutput) {
2751	op := &request.Operation{
2752		Name:       opDescribeSolution,
2753		HTTPMethod: "POST",
2754		HTTPPath:   "/",
2755	}
2756
2757	if input == nil {
2758		input = &DescribeSolutionInput{}
2759	}
2760
2761	output = &DescribeSolutionOutput{}
2762	req = c.newRequest(op, input, output)
2763	return
2764}
2765
2766// DescribeSolution API operation for Amazon Personalize.
2767//
2768// Describes a solution. For more information on solutions, see CreateSolution.
2769//
2770// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2771// with awserr.Error's Code and Message methods to get detailed information about
2772// the error.
2773//
2774// See the AWS API reference guide for Amazon Personalize's
2775// API operation DescribeSolution for usage and error information.
2776//
2777// Returned Error Types:
2778//   * InvalidInputException
2779//   Provide a valid value for the field or parameter.
2780//
2781//   * ResourceNotFoundException
2782//   Could not find the specified resource.
2783//
2784// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolution
2785func (c *Personalize) DescribeSolution(input *DescribeSolutionInput) (*DescribeSolutionOutput, error) {
2786	req, out := c.DescribeSolutionRequest(input)
2787	return out, req.Send()
2788}
2789
2790// DescribeSolutionWithContext is the same as DescribeSolution with the addition of
2791// the ability to pass a context and additional request options.
2792//
2793// See DescribeSolution for details on how to use this API operation.
2794//
2795// The context must be non-nil and will be used for request cancellation. If
2796// the context is nil a panic will occur. In the future the SDK may create
2797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2798// for more information on using Contexts.
2799func (c *Personalize) DescribeSolutionWithContext(ctx aws.Context, input *DescribeSolutionInput, opts ...request.Option) (*DescribeSolutionOutput, error) {
2800	req, out := c.DescribeSolutionRequest(input)
2801	req.SetContext(ctx)
2802	req.ApplyOptions(opts...)
2803	return out, req.Send()
2804}
2805
2806const opDescribeSolutionVersion = "DescribeSolutionVersion"
2807
2808// DescribeSolutionVersionRequest generates a "aws/request.Request" representing the
2809// client's request for the DescribeSolutionVersion operation. The "output" return
2810// value will be populated with the request's response once the request completes
2811// successfully.
2812//
2813// Use "Send" method on the returned Request to send the API call to the service.
2814// the "output" return value is not valid until after Send returns without error.
2815//
2816// See DescribeSolutionVersion for more information on using the DescribeSolutionVersion
2817// API call, and error handling.
2818//
2819// This method is useful when you want to inject custom logic or configuration
2820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2821//
2822//
2823//    // Example sending a request using the DescribeSolutionVersionRequest method.
2824//    req, resp := client.DescribeSolutionVersionRequest(params)
2825//
2826//    err := req.Send()
2827//    if err == nil { // resp is now filled
2828//        fmt.Println(resp)
2829//    }
2830//
2831// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolutionVersion
2832func (c *Personalize) DescribeSolutionVersionRequest(input *DescribeSolutionVersionInput) (req *request.Request, output *DescribeSolutionVersionOutput) {
2833	op := &request.Operation{
2834		Name:       opDescribeSolutionVersion,
2835		HTTPMethod: "POST",
2836		HTTPPath:   "/",
2837	}
2838
2839	if input == nil {
2840		input = &DescribeSolutionVersionInput{}
2841	}
2842
2843	output = &DescribeSolutionVersionOutput{}
2844	req = c.newRequest(op, input, output)
2845	return
2846}
2847
2848// DescribeSolutionVersion API operation for Amazon Personalize.
2849//
2850// Describes a specific version of a solution. For more information on solutions,
2851// see CreateSolution.
2852//
2853// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2854// with awserr.Error's Code and Message methods to get detailed information about
2855// the error.
2856//
2857// See the AWS API reference guide for Amazon Personalize's
2858// API operation DescribeSolutionVersion for usage and error information.
2859//
2860// Returned Error Types:
2861//   * InvalidInputException
2862//   Provide a valid value for the field or parameter.
2863//
2864//   * ResourceNotFoundException
2865//   Could not find the specified resource.
2866//
2867// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolutionVersion
2868func (c *Personalize) DescribeSolutionVersion(input *DescribeSolutionVersionInput) (*DescribeSolutionVersionOutput, error) {
2869	req, out := c.DescribeSolutionVersionRequest(input)
2870	return out, req.Send()
2871}
2872
2873// DescribeSolutionVersionWithContext is the same as DescribeSolutionVersion with the addition of
2874// the ability to pass a context and additional request options.
2875//
2876// See DescribeSolutionVersion for details on how to use this API operation.
2877//
2878// The context must be non-nil and will be used for request cancellation. If
2879// the context is nil a panic will occur. In the future the SDK may create
2880// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2881// for more information on using Contexts.
2882func (c *Personalize) DescribeSolutionVersionWithContext(ctx aws.Context, input *DescribeSolutionVersionInput, opts ...request.Option) (*DescribeSolutionVersionOutput, error) {
2883	req, out := c.DescribeSolutionVersionRequest(input)
2884	req.SetContext(ctx)
2885	req.ApplyOptions(opts...)
2886	return out, req.Send()
2887}
2888
2889const opGetSolutionMetrics = "GetSolutionMetrics"
2890
2891// GetSolutionMetricsRequest generates a "aws/request.Request" representing the
2892// client's request for the GetSolutionMetrics operation. The "output" return
2893// value will be populated with the request's response once the request completes
2894// successfully.
2895//
2896// Use "Send" method on the returned Request to send the API call to the service.
2897// the "output" return value is not valid until after Send returns without error.
2898//
2899// See GetSolutionMetrics for more information on using the GetSolutionMetrics
2900// API call, and error handling.
2901//
2902// This method is useful when you want to inject custom logic or configuration
2903// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2904//
2905//
2906//    // Example sending a request using the GetSolutionMetricsRequest method.
2907//    req, resp := client.GetSolutionMetricsRequest(params)
2908//
2909//    err := req.Send()
2910//    if err == nil { // resp is now filled
2911//        fmt.Println(resp)
2912//    }
2913//
2914// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/GetSolutionMetrics
2915func (c *Personalize) GetSolutionMetricsRequest(input *GetSolutionMetricsInput) (req *request.Request, output *GetSolutionMetricsOutput) {
2916	op := &request.Operation{
2917		Name:       opGetSolutionMetrics,
2918		HTTPMethod: "POST",
2919		HTTPPath:   "/",
2920	}
2921
2922	if input == nil {
2923		input = &GetSolutionMetricsInput{}
2924	}
2925
2926	output = &GetSolutionMetricsOutput{}
2927	req = c.newRequest(op, input, output)
2928	return
2929}
2930
2931// GetSolutionMetrics API operation for Amazon Personalize.
2932//
2933// Gets the metrics for the specified solution version.
2934//
2935// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2936// with awserr.Error's Code and Message methods to get detailed information about
2937// the error.
2938//
2939// See the AWS API reference guide for Amazon Personalize's
2940// API operation GetSolutionMetrics for usage and error information.
2941//
2942// Returned Error Types:
2943//   * InvalidInputException
2944//   Provide a valid value for the field or parameter.
2945//
2946//   * ResourceNotFoundException
2947//   Could not find the specified resource.
2948//
2949//   * ResourceInUseException
2950//   The specified resource is in use.
2951//
2952// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/GetSolutionMetrics
2953func (c *Personalize) GetSolutionMetrics(input *GetSolutionMetricsInput) (*GetSolutionMetricsOutput, error) {
2954	req, out := c.GetSolutionMetricsRequest(input)
2955	return out, req.Send()
2956}
2957
2958// GetSolutionMetricsWithContext is the same as GetSolutionMetrics with the addition of
2959// the ability to pass a context and additional request options.
2960//
2961// See GetSolutionMetrics for details on how to use this API operation.
2962//
2963// The context must be non-nil and will be used for request cancellation. If
2964// the context is nil a panic will occur. In the future the SDK may create
2965// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2966// for more information on using Contexts.
2967func (c *Personalize) GetSolutionMetricsWithContext(ctx aws.Context, input *GetSolutionMetricsInput, opts ...request.Option) (*GetSolutionMetricsOutput, error) {
2968	req, out := c.GetSolutionMetricsRequest(input)
2969	req.SetContext(ctx)
2970	req.ApplyOptions(opts...)
2971	return out, req.Send()
2972}
2973
2974const opListBatchInferenceJobs = "ListBatchInferenceJobs"
2975
2976// ListBatchInferenceJobsRequest generates a "aws/request.Request" representing the
2977// client's request for the ListBatchInferenceJobs operation. The "output" return
2978// value will be populated with the request's response once the request completes
2979// successfully.
2980//
2981// Use "Send" method on the returned Request to send the API call to the service.
2982// the "output" return value is not valid until after Send returns without error.
2983//
2984// See ListBatchInferenceJobs for more information on using the ListBatchInferenceJobs
2985// API call, and error handling.
2986//
2987// This method is useful when you want to inject custom logic or configuration
2988// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2989//
2990//
2991//    // Example sending a request using the ListBatchInferenceJobsRequest method.
2992//    req, resp := client.ListBatchInferenceJobsRequest(params)
2993//
2994//    err := req.Send()
2995//    if err == nil { // resp is now filled
2996//        fmt.Println(resp)
2997//    }
2998//
2999// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListBatchInferenceJobs
3000func (c *Personalize) ListBatchInferenceJobsRequest(input *ListBatchInferenceJobsInput) (req *request.Request, output *ListBatchInferenceJobsOutput) {
3001	op := &request.Operation{
3002		Name:       opListBatchInferenceJobs,
3003		HTTPMethod: "POST",
3004		HTTPPath:   "/",
3005		Paginator: &request.Paginator{
3006			InputTokens:     []string{"nextToken"},
3007			OutputTokens:    []string{"nextToken"},
3008			LimitToken:      "maxResults",
3009			TruncationToken: "",
3010		},
3011	}
3012
3013	if input == nil {
3014		input = &ListBatchInferenceJobsInput{}
3015	}
3016
3017	output = &ListBatchInferenceJobsOutput{}
3018	req = c.newRequest(op, input, output)
3019	return
3020}
3021
3022// ListBatchInferenceJobs API operation for Amazon Personalize.
3023//
3024// Gets a list of the batch inference jobs that have been performed off of a
3025// solution version.
3026//
3027// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3028// with awserr.Error's Code and Message methods to get detailed information about
3029// the error.
3030//
3031// See the AWS API reference guide for Amazon Personalize's
3032// API operation ListBatchInferenceJobs for usage and error information.
3033//
3034// Returned Error Types:
3035//   * InvalidInputException
3036//   Provide a valid value for the field or parameter.
3037//
3038//   * InvalidNextTokenException
3039//   The token is not valid.
3040//
3041// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListBatchInferenceJobs
3042func (c *Personalize) ListBatchInferenceJobs(input *ListBatchInferenceJobsInput) (*ListBatchInferenceJobsOutput, error) {
3043	req, out := c.ListBatchInferenceJobsRequest(input)
3044	return out, req.Send()
3045}
3046
3047// ListBatchInferenceJobsWithContext is the same as ListBatchInferenceJobs with the addition of
3048// the ability to pass a context and additional request options.
3049//
3050// See ListBatchInferenceJobs for details on how to use this API operation.
3051//
3052// The context must be non-nil and will be used for request cancellation. If
3053// the context is nil a panic will occur. In the future the SDK may create
3054// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3055// for more information on using Contexts.
3056func (c *Personalize) ListBatchInferenceJobsWithContext(ctx aws.Context, input *ListBatchInferenceJobsInput, opts ...request.Option) (*ListBatchInferenceJobsOutput, error) {
3057	req, out := c.ListBatchInferenceJobsRequest(input)
3058	req.SetContext(ctx)
3059	req.ApplyOptions(opts...)
3060	return out, req.Send()
3061}
3062
3063// ListBatchInferenceJobsPages iterates over the pages of a ListBatchInferenceJobs operation,
3064// calling the "fn" function with the response data for each page. To stop
3065// iterating, return false from the fn function.
3066//
3067// See ListBatchInferenceJobs method for more information on how to use this operation.
3068//
3069// Note: This operation can generate multiple requests to a service.
3070//
3071//    // Example iterating over at most 3 pages of a ListBatchInferenceJobs operation.
3072//    pageNum := 0
3073//    err := client.ListBatchInferenceJobsPages(params,
3074//        func(page *personalize.ListBatchInferenceJobsOutput, lastPage bool) bool {
3075//            pageNum++
3076//            fmt.Println(page)
3077//            return pageNum <= 3
3078//        })
3079//
3080func (c *Personalize) ListBatchInferenceJobsPages(input *ListBatchInferenceJobsInput, fn func(*ListBatchInferenceJobsOutput, bool) bool) error {
3081	return c.ListBatchInferenceJobsPagesWithContext(aws.BackgroundContext(), input, fn)
3082}
3083
3084// ListBatchInferenceJobsPagesWithContext same as ListBatchInferenceJobsPages except
3085// it takes a Context and allows setting request options on the pages.
3086//
3087// The context must be non-nil and will be used for request cancellation. If
3088// the context is nil a panic will occur. In the future the SDK may create
3089// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3090// for more information on using Contexts.
3091func (c *Personalize) ListBatchInferenceJobsPagesWithContext(ctx aws.Context, input *ListBatchInferenceJobsInput, fn func(*ListBatchInferenceJobsOutput, bool) bool, opts ...request.Option) error {
3092	p := request.Pagination{
3093		NewRequest: func() (*request.Request, error) {
3094			var inCpy *ListBatchInferenceJobsInput
3095			if input != nil {
3096				tmp := *input
3097				inCpy = &tmp
3098			}
3099			req, _ := c.ListBatchInferenceJobsRequest(inCpy)
3100			req.SetContext(ctx)
3101			req.ApplyOptions(opts...)
3102			return req, nil
3103		},
3104	}
3105
3106	for p.Next() {
3107		if !fn(p.Page().(*ListBatchInferenceJobsOutput), !p.HasNextPage()) {
3108			break
3109		}
3110	}
3111
3112	return p.Err()
3113}
3114
3115const opListCampaigns = "ListCampaigns"
3116
3117// ListCampaignsRequest generates a "aws/request.Request" representing the
3118// client's request for the ListCampaigns operation. The "output" return
3119// value will be populated with the request's response once the request completes
3120// successfully.
3121//
3122// Use "Send" method on the returned Request to send the API call to the service.
3123// the "output" return value is not valid until after Send returns without error.
3124//
3125// See ListCampaigns for more information on using the ListCampaigns
3126// API call, and error handling.
3127//
3128// This method is useful when you want to inject custom logic or configuration
3129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3130//
3131//
3132//    // Example sending a request using the ListCampaignsRequest method.
3133//    req, resp := client.ListCampaignsRequest(params)
3134//
3135//    err := req.Send()
3136//    if err == nil { // resp is now filled
3137//        fmt.Println(resp)
3138//    }
3139//
3140// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListCampaigns
3141func (c *Personalize) ListCampaignsRequest(input *ListCampaignsInput) (req *request.Request, output *ListCampaignsOutput) {
3142	op := &request.Operation{
3143		Name:       opListCampaigns,
3144		HTTPMethod: "POST",
3145		HTTPPath:   "/",
3146		Paginator: &request.Paginator{
3147			InputTokens:     []string{"nextToken"},
3148			OutputTokens:    []string{"nextToken"},
3149			LimitToken:      "maxResults",
3150			TruncationToken: "",
3151		},
3152	}
3153
3154	if input == nil {
3155		input = &ListCampaignsInput{}
3156	}
3157
3158	output = &ListCampaignsOutput{}
3159	req = c.newRequest(op, input, output)
3160	return
3161}
3162
3163// ListCampaigns API operation for Amazon Personalize.
3164//
3165// Returns a list of campaigns that use the given solution. When a solution
3166// is not specified, all the campaigns associated with the account are listed.
3167// The response provides the properties for each campaign, including the Amazon
3168// Resource Name (ARN). For more information on campaigns, see CreateCampaign.
3169//
3170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3171// with awserr.Error's Code and Message methods to get detailed information about
3172// the error.
3173//
3174// See the AWS API reference guide for Amazon Personalize's
3175// API operation ListCampaigns for usage and error information.
3176//
3177// Returned Error Types:
3178//   * InvalidInputException
3179//   Provide a valid value for the field or parameter.
3180//
3181//   * InvalidNextTokenException
3182//   The token is not valid.
3183//
3184// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListCampaigns
3185func (c *Personalize) ListCampaigns(input *ListCampaignsInput) (*ListCampaignsOutput, error) {
3186	req, out := c.ListCampaignsRequest(input)
3187	return out, req.Send()
3188}
3189
3190// ListCampaignsWithContext is the same as ListCampaigns with the addition of
3191// the ability to pass a context and additional request options.
3192//
3193// See ListCampaigns for details on how to use this API operation.
3194//
3195// The context must be non-nil and will be used for request cancellation. If
3196// the context is nil a panic will occur. In the future the SDK may create
3197// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3198// for more information on using Contexts.
3199func (c *Personalize) ListCampaignsWithContext(ctx aws.Context, input *ListCampaignsInput, opts ...request.Option) (*ListCampaignsOutput, error) {
3200	req, out := c.ListCampaignsRequest(input)
3201	req.SetContext(ctx)
3202	req.ApplyOptions(opts...)
3203	return out, req.Send()
3204}
3205
3206// ListCampaignsPages iterates over the pages of a ListCampaigns operation,
3207// calling the "fn" function with the response data for each page. To stop
3208// iterating, return false from the fn function.
3209//
3210// See ListCampaigns method for more information on how to use this operation.
3211//
3212// Note: This operation can generate multiple requests to a service.
3213//
3214//    // Example iterating over at most 3 pages of a ListCampaigns operation.
3215//    pageNum := 0
3216//    err := client.ListCampaignsPages(params,
3217//        func(page *personalize.ListCampaignsOutput, lastPage bool) bool {
3218//            pageNum++
3219//            fmt.Println(page)
3220//            return pageNum <= 3
3221//        })
3222//
3223func (c *Personalize) ListCampaignsPages(input *ListCampaignsInput, fn func(*ListCampaignsOutput, bool) bool) error {
3224	return c.ListCampaignsPagesWithContext(aws.BackgroundContext(), input, fn)
3225}
3226
3227// ListCampaignsPagesWithContext same as ListCampaignsPages except
3228// it takes a Context and allows setting request options on the pages.
3229//
3230// The context must be non-nil and will be used for request cancellation. If
3231// the context is nil a panic will occur. In the future the SDK may create
3232// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3233// for more information on using Contexts.
3234func (c *Personalize) ListCampaignsPagesWithContext(ctx aws.Context, input *ListCampaignsInput, fn func(*ListCampaignsOutput, bool) bool, opts ...request.Option) error {
3235	p := request.Pagination{
3236		NewRequest: func() (*request.Request, error) {
3237			var inCpy *ListCampaignsInput
3238			if input != nil {
3239				tmp := *input
3240				inCpy = &tmp
3241			}
3242			req, _ := c.ListCampaignsRequest(inCpy)
3243			req.SetContext(ctx)
3244			req.ApplyOptions(opts...)
3245			return req, nil
3246		},
3247	}
3248
3249	for p.Next() {
3250		if !fn(p.Page().(*ListCampaignsOutput), !p.HasNextPage()) {
3251			break
3252		}
3253	}
3254
3255	return p.Err()
3256}
3257
3258const opListDatasetGroups = "ListDatasetGroups"
3259
3260// ListDatasetGroupsRequest generates a "aws/request.Request" representing the
3261// client's request for the ListDatasetGroups operation. The "output" return
3262// value will be populated with the request's response once the request completes
3263// successfully.
3264//
3265// Use "Send" method on the returned Request to send the API call to the service.
3266// the "output" return value is not valid until after Send returns without error.
3267//
3268// See ListDatasetGroups for more information on using the ListDatasetGroups
3269// API call, and error handling.
3270//
3271// This method is useful when you want to inject custom logic or configuration
3272// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3273//
3274//
3275//    // Example sending a request using the ListDatasetGroupsRequest method.
3276//    req, resp := client.ListDatasetGroupsRequest(params)
3277//
3278//    err := req.Send()
3279//    if err == nil { // resp is now filled
3280//        fmt.Println(resp)
3281//    }
3282//
3283// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetGroups
3284func (c *Personalize) ListDatasetGroupsRequest(input *ListDatasetGroupsInput) (req *request.Request, output *ListDatasetGroupsOutput) {
3285	op := &request.Operation{
3286		Name:       opListDatasetGroups,
3287		HTTPMethod: "POST",
3288		HTTPPath:   "/",
3289		Paginator: &request.Paginator{
3290			InputTokens:     []string{"nextToken"},
3291			OutputTokens:    []string{"nextToken"},
3292			LimitToken:      "maxResults",
3293			TruncationToken: "",
3294		},
3295	}
3296
3297	if input == nil {
3298		input = &ListDatasetGroupsInput{}
3299	}
3300
3301	output = &ListDatasetGroupsOutput{}
3302	req = c.newRequest(op, input, output)
3303	return
3304}
3305
3306// ListDatasetGroups API operation for Amazon Personalize.
3307//
3308// Returns a list of dataset groups. The response provides the properties for
3309// each dataset group, including the Amazon Resource Name (ARN). For more information
3310// on dataset groups, see CreateDatasetGroup.
3311//
3312// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3313// with awserr.Error's Code and Message methods to get detailed information about
3314// the error.
3315//
3316// See the AWS API reference guide for Amazon Personalize's
3317// API operation ListDatasetGroups for usage and error information.
3318//
3319// Returned Error Types:
3320//   * InvalidNextTokenException
3321//   The token is not valid.
3322//
3323// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetGroups
3324func (c *Personalize) ListDatasetGroups(input *ListDatasetGroupsInput) (*ListDatasetGroupsOutput, error) {
3325	req, out := c.ListDatasetGroupsRequest(input)
3326	return out, req.Send()
3327}
3328
3329// ListDatasetGroupsWithContext is the same as ListDatasetGroups with the addition of
3330// the ability to pass a context and additional request options.
3331//
3332// See ListDatasetGroups for details on how to use this API operation.
3333//
3334// The context must be non-nil and will be used for request cancellation. If
3335// the context is nil a panic will occur. In the future the SDK may create
3336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3337// for more information on using Contexts.
3338func (c *Personalize) ListDatasetGroupsWithContext(ctx aws.Context, input *ListDatasetGroupsInput, opts ...request.Option) (*ListDatasetGroupsOutput, error) {
3339	req, out := c.ListDatasetGroupsRequest(input)
3340	req.SetContext(ctx)
3341	req.ApplyOptions(opts...)
3342	return out, req.Send()
3343}
3344
3345// ListDatasetGroupsPages iterates over the pages of a ListDatasetGroups operation,
3346// calling the "fn" function with the response data for each page. To stop
3347// iterating, return false from the fn function.
3348//
3349// See ListDatasetGroups method for more information on how to use this operation.
3350//
3351// Note: This operation can generate multiple requests to a service.
3352//
3353//    // Example iterating over at most 3 pages of a ListDatasetGroups operation.
3354//    pageNum := 0
3355//    err := client.ListDatasetGroupsPages(params,
3356//        func(page *personalize.ListDatasetGroupsOutput, lastPage bool) bool {
3357//            pageNum++
3358//            fmt.Println(page)
3359//            return pageNum <= 3
3360//        })
3361//
3362func (c *Personalize) ListDatasetGroupsPages(input *ListDatasetGroupsInput, fn func(*ListDatasetGroupsOutput, bool) bool) error {
3363	return c.ListDatasetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
3364}
3365
3366// ListDatasetGroupsPagesWithContext same as ListDatasetGroupsPages except
3367// it takes a Context and allows setting request options on the pages.
3368//
3369// The context must be non-nil and will be used for request cancellation. If
3370// the context is nil a panic will occur. In the future the SDK may create
3371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3372// for more information on using Contexts.
3373func (c *Personalize) ListDatasetGroupsPagesWithContext(ctx aws.Context, input *ListDatasetGroupsInput, fn func(*ListDatasetGroupsOutput, bool) bool, opts ...request.Option) error {
3374	p := request.Pagination{
3375		NewRequest: func() (*request.Request, error) {
3376			var inCpy *ListDatasetGroupsInput
3377			if input != nil {
3378				tmp := *input
3379				inCpy = &tmp
3380			}
3381			req, _ := c.ListDatasetGroupsRequest(inCpy)
3382			req.SetContext(ctx)
3383			req.ApplyOptions(opts...)
3384			return req, nil
3385		},
3386	}
3387
3388	for p.Next() {
3389		if !fn(p.Page().(*ListDatasetGroupsOutput), !p.HasNextPage()) {
3390			break
3391		}
3392	}
3393
3394	return p.Err()
3395}
3396
3397const opListDatasetImportJobs = "ListDatasetImportJobs"
3398
3399// ListDatasetImportJobsRequest generates a "aws/request.Request" representing the
3400// client's request for the ListDatasetImportJobs operation. The "output" return
3401// value will be populated with the request's response once the request completes
3402// successfully.
3403//
3404// Use "Send" method on the returned Request to send the API call to the service.
3405// the "output" return value is not valid until after Send returns without error.
3406//
3407// See ListDatasetImportJobs for more information on using the ListDatasetImportJobs
3408// API call, and error handling.
3409//
3410// This method is useful when you want to inject custom logic or configuration
3411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3412//
3413//
3414//    // Example sending a request using the ListDatasetImportJobsRequest method.
3415//    req, resp := client.ListDatasetImportJobsRequest(params)
3416//
3417//    err := req.Send()
3418//    if err == nil { // resp is now filled
3419//        fmt.Println(resp)
3420//    }
3421//
3422// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetImportJobs
3423func (c *Personalize) ListDatasetImportJobsRequest(input *ListDatasetImportJobsInput) (req *request.Request, output *ListDatasetImportJobsOutput) {
3424	op := &request.Operation{
3425		Name:       opListDatasetImportJobs,
3426		HTTPMethod: "POST",
3427		HTTPPath:   "/",
3428		Paginator: &request.Paginator{
3429			InputTokens:     []string{"nextToken"},
3430			OutputTokens:    []string{"nextToken"},
3431			LimitToken:      "maxResults",
3432			TruncationToken: "",
3433		},
3434	}
3435
3436	if input == nil {
3437		input = &ListDatasetImportJobsInput{}
3438	}
3439
3440	output = &ListDatasetImportJobsOutput{}
3441	req = c.newRequest(op, input, output)
3442	return
3443}
3444
3445// ListDatasetImportJobs API operation for Amazon Personalize.
3446//
3447// Returns a list of dataset import jobs that use the given dataset. When a
3448// dataset is not specified, all the dataset import jobs associated with the
3449// account are listed. The response provides the properties for each dataset
3450// import job, including the Amazon Resource Name (ARN). For more information
3451// on dataset import jobs, see CreateDatasetImportJob. For more information
3452// on datasets, see CreateDataset.
3453//
3454// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3455// with awserr.Error's Code and Message methods to get detailed information about
3456// the error.
3457//
3458// See the AWS API reference guide for Amazon Personalize's
3459// API operation ListDatasetImportJobs for usage and error information.
3460//
3461// Returned Error Types:
3462//   * InvalidInputException
3463//   Provide a valid value for the field or parameter.
3464//
3465//   * InvalidNextTokenException
3466//   The token is not valid.
3467//
3468// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetImportJobs
3469func (c *Personalize) ListDatasetImportJobs(input *ListDatasetImportJobsInput) (*ListDatasetImportJobsOutput, error) {
3470	req, out := c.ListDatasetImportJobsRequest(input)
3471	return out, req.Send()
3472}
3473
3474// ListDatasetImportJobsWithContext is the same as ListDatasetImportJobs with the addition of
3475// the ability to pass a context and additional request options.
3476//
3477// See ListDatasetImportJobs for details on how to use this API operation.
3478//
3479// The context must be non-nil and will be used for request cancellation. If
3480// the context is nil a panic will occur. In the future the SDK may create
3481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3482// for more information on using Contexts.
3483func (c *Personalize) ListDatasetImportJobsWithContext(ctx aws.Context, input *ListDatasetImportJobsInput, opts ...request.Option) (*ListDatasetImportJobsOutput, error) {
3484	req, out := c.ListDatasetImportJobsRequest(input)
3485	req.SetContext(ctx)
3486	req.ApplyOptions(opts...)
3487	return out, req.Send()
3488}
3489
3490// ListDatasetImportJobsPages iterates over the pages of a ListDatasetImportJobs operation,
3491// calling the "fn" function with the response data for each page. To stop
3492// iterating, return false from the fn function.
3493//
3494// See ListDatasetImportJobs method for more information on how to use this operation.
3495//
3496// Note: This operation can generate multiple requests to a service.
3497//
3498//    // Example iterating over at most 3 pages of a ListDatasetImportJobs operation.
3499//    pageNum := 0
3500//    err := client.ListDatasetImportJobsPages(params,
3501//        func(page *personalize.ListDatasetImportJobsOutput, lastPage bool) bool {
3502//            pageNum++
3503//            fmt.Println(page)
3504//            return pageNum <= 3
3505//        })
3506//
3507func (c *Personalize) ListDatasetImportJobsPages(input *ListDatasetImportJobsInput, fn func(*ListDatasetImportJobsOutput, bool) bool) error {
3508	return c.ListDatasetImportJobsPagesWithContext(aws.BackgroundContext(), input, fn)
3509}
3510
3511// ListDatasetImportJobsPagesWithContext same as ListDatasetImportJobsPages except
3512// it takes a Context and allows setting request options on the pages.
3513//
3514// The context must be non-nil and will be used for request cancellation. If
3515// the context is nil a panic will occur. In the future the SDK may create
3516// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3517// for more information on using Contexts.
3518func (c *Personalize) ListDatasetImportJobsPagesWithContext(ctx aws.Context, input *ListDatasetImportJobsInput, fn func(*ListDatasetImportJobsOutput, bool) bool, opts ...request.Option) error {
3519	p := request.Pagination{
3520		NewRequest: func() (*request.Request, error) {
3521			var inCpy *ListDatasetImportJobsInput
3522			if input != nil {
3523				tmp := *input
3524				inCpy = &tmp
3525			}
3526			req, _ := c.ListDatasetImportJobsRequest(inCpy)
3527			req.SetContext(ctx)
3528			req.ApplyOptions(opts...)
3529			return req, nil
3530		},
3531	}
3532
3533	for p.Next() {
3534		if !fn(p.Page().(*ListDatasetImportJobsOutput), !p.HasNextPage()) {
3535			break
3536		}
3537	}
3538
3539	return p.Err()
3540}
3541
3542const opListDatasets = "ListDatasets"
3543
3544// ListDatasetsRequest generates a "aws/request.Request" representing the
3545// client's request for the ListDatasets operation. The "output" return
3546// value will be populated with the request's response once the request completes
3547// successfully.
3548//
3549// Use "Send" method on the returned Request to send the API call to the service.
3550// the "output" return value is not valid until after Send returns without error.
3551//
3552// See ListDatasets for more information on using the ListDatasets
3553// API call, and error handling.
3554//
3555// This method is useful when you want to inject custom logic or configuration
3556// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3557//
3558//
3559//    // Example sending a request using the ListDatasetsRequest method.
3560//    req, resp := client.ListDatasetsRequest(params)
3561//
3562//    err := req.Send()
3563//    if err == nil { // resp is now filled
3564//        fmt.Println(resp)
3565//    }
3566//
3567// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasets
3568func (c *Personalize) ListDatasetsRequest(input *ListDatasetsInput) (req *request.Request, output *ListDatasetsOutput) {
3569	op := &request.Operation{
3570		Name:       opListDatasets,
3571		HTTPMethod: "POST",
3572		HTTPPath:   "/",
3573		Paginator: &request.Paginator{
3574			InputTokens:     []string{"nextToken"},
3575			OutputTokens:    []string{"nextToken"},
3576			LimitToken:      "maxResults",
3577			TruncationToken: "",
3578		},
3579	}
3580
3581	if input == nil {
3582		input = &ListDatasetsInput{}
3583	}
3584
3585	output = &ListDatasetsOutput{}
3586	req = c.newRequest(op, input, output)
3587	return
3588}
3589
3590// ListDatasets API operation for Amazon Personalize.
3591//
3592// Returns the list of datasets contained in the given dataset group. The response
3593// provides the properties for each dataset, including the Amazon Resource Name
3594// (ARN). For more information on datasets, see CreateDataset.
3595//
3596// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3597// with awserr.Error's Code and Message methods to get detailed information about
3598// the error.
3599//
3600// See the AWS API reference guide for Amazon Personalize's
3601// API operation ListDatasets for usage and error information.
3602//
3603// Returned Error Types:
3604//   * InvalidInputException
3605//   Provide a valid value for the field or parameter.
3606//
3607//   * InvalidNextTokenException
3608//   The token is not valid.
3609//
3610// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasets
3611func (c *Personalize) ListDatasets(input *ListDatasetsInput) (*ListDatasetsOutput, error) {
3612	req, out := c.ListDatasetsRequest(input)
3613	return out, req.Send()
3614}
3615
3616// ListDatasetsWithContext is the same as ListDatasets with the addition of
3617// the ability to pass a context and additional request options.
3618//
3619// See ListDatasets for details on how to use this API operation.
3620//
3621// The context must be non-nil and will be used for request cancellation. If
3622// the context is nil a panic will occur. In the future the SDK may create
3623// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3624// for more information on using Contexts.
3625func (c *Personalize) ListDatasetsWithContext(ctx aws.Context, input *ListDatasetsInput, opts ...request.Option) (*ListDatasetsOutput, error) {
3626	req, out := c.ListDatasetsRequest(input)
3627	req.SetContext(ctx)
3628	req.ApplyOptions(opts...)
3629	return out, req.Send()
3630}
3631
3632// ListDatasetsPages iterates over the pages of a ListDatasets operation,
3633// calling the "fn" function with the response data for each page. To stop
3634// iterating, return false from the fn function.
3635//
3636// See ListDatasets method for more information on how to use this operation.
3637//
3638// Note: This operation can generate multiple requests to a service.
3639//
3640//    // Example iterating over at most 3 pages of a ListDatasets operation.
3641//    pageNum := 0
3642//    err := client.ListDatasetsPages(params,
3643//        func(page *personalize.ListDatasetsOutput, lastPage bool) bool {
3644//            pageNum++
3645//            fmt.Println(page)
3646//            return pageNum <= 3
3647//        })
3648//
3649func (c *Personalize) ListDatasetsPages(input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool) error {
3650	return c.ListDatasetsPagesWithContext(aws.BackgroundContext(), input, fn)
3651}
3652
3653// ListDatasetsPagesWithContext same as ListDatasetsPages except
3654// it takes a Context and allows setting request options on the pages.
3655//
3656// The context must be non-nil and will be used for request cancellation. If
3657// the context is nil a panic will occur. In the future the SDK may create
3658// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3659// for more information on using Contexts.
3660func (c *Personalize) ListDatasetsPagesWithContext(ctx aws.Context, input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool, opts ...request.Option) error {
3661	p := request.Pagination{
3662		NewRequest: func() (*request.Request, error) {
3663			var inCpy *ListDatasetsInput
3664			if input != nil {
3665				tmp := *input
3666				inCpy = &tmp
3667			}
3668			req, _ := c.ListDatasetsRequest(inCpy)
3669			req.SetContext(ctx)
3670			req.ApplyOptions(opts...)
3671			return req, nil
3672		},
3673	}
3674
3675	for p.Next() {
3676		if !fn(p.Page().(*ListDatasetsOutput), !p.HasNextPage()) {
3677			break
3678		}
3679	}
3680
3681	return p.Err()
3682}
3683
3684const opListEventTrackers = "ListEventTrackers"
3685
3686// ListEventTrackersRequest generates a "aws/request.Request" representing the
3687// client's request for the ListEventTrackers operation. The "output" return
3688// value will be populated with the request's response once the request completes
3689// successfully.
3690//
3691// Use "Send" method on the returned Request to send the API call to the service.
3692// the "output" return value is not valid until after Send returns without error.
3693//
3694// See ListEventTrackers for more information on using the ListEventTrackers
3695// API call, and error handling.
3696//
3697// This method is useful when you want to inject custom logic or configuration
3698// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3699//
3700//
3701//    // Example sending a request using the ListEventTrackersRequest method.
3702//    req, resp := client.ListEventTrackersRequest(params)
3703//
3704//    err := req.Send()
3705//    if err == nil { // resp is now filled
3706//        fmt.Println(resp)
3707//    }
3708//
3709// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListEventTrackers
3710func (c *Personalize) ListEventTrackersRequest(input *ListEventTrackersInput) (req *request.Request, output *ListEventTrackersOutput) {
3711	op := &request.Operation{
3712		Name:       opListEventTrackers,
3713		HTTPMethod: "POST",
3714		HTTPPath:   "/",
3715		Paginator: &request.Paginator{
3716			InputTokens:     []string{"nextToken"},
3717			OutputTokens:    []string{"nextToken"},
3718			LimitToken:      "maxResults",
3719			TruncationToken: "",
3720		},
3721	}
3722
3723	if input == nil {
3724		input = &ListEventTrackersInput{}
3725	}
3726
3727	output = &ListEventTrackersOutput{}
3728	req = c.newRequest(op, input, output)
3729	return
3730}
3731
3732// ListEventTrackers API operation for Amazon Personalize.
3733//
3734// Returns the list of event trackers associated with the account. The response
3735// provides the properties for each event tracker, including the Amazon Resource
3736// Name (ARN) and tracking ID. For more information on event trackers, see CreateEventTracker.
3737//
3738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3739// with awserr.Error's Code and Message methods to get detailed information about
3740// the error.
3741//
3742// See the AWS API reference guide for Amazon Personalize's
3743// API operation ListEventTrackers for usage and error information.
3744//
3745// Returned Error Types:
3746//   * InvalidInputException
3747//   Provide a valid value for the field or parameter.
3748//
3749//   * InvalidNextTokenException
3750//   The token is not valid.
3751//
3752// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListEventTrackers
3753func (c *Personalize) ListEventTrackers(input *ListEventTrackersInput) (*ListEventTrackersOutput, error) {
3754	req, out := c.ListEventTrackersRequest(input)
3755	return out, req.Send()
3756}
3757
3758// ListEventTrackersWithContext is the same as ListEventTrackers with the addition of
3759// the ability to pass a context and additional request options.
3760//
3761// See ListEventTrackers for details on how to use this API operation.
3762//
3763// The context must be non-nil and will be used for request cancellation. If
3764// the context is nil a panic will occur. In the future the SDK may create
3765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3766// for more information on using Contexts.
3767func (c *Personalize) ListEventTrackersWithContext(ctx aws.Context, input *ListEventTrackersInput, opts ...request.Option) (*ListEventTrackersOutput, error) {
3768	req, out := c.ListEventTrackersRequest(input)
3769	req.SetContext(ctx)
3770	req.ApplyOptions(opts...)
3771	return out, req.Send()
3772}
3773
3774// ListEventTrackersPages iterates over the pages of a ListEventTrackers operation,
3775// calling the "fn" function with the response data for each page. To stop
3776// iterating, return false from the fn function.
3777//
3778// See ListEventTrackers method for more information on how to use this operation.
3779//
3780// Note: This operation can generate multiple requests to a service.
3781//
3782//    // Example iterating over at most 3 pages of a ListEventTrackers operation.
3783//    pageNum := 0
3784//    err := client.ListEventTrackersPages(params,
3785//        func(page *personalize.ListEventTrackersOutput, lastPage bool) bool {
3786//            pageNum++
3787//            fmt.Println(page)
3788//            return pageNum <= 3
3789//        })
3790//
3791func (c *Personalize) ListEventTrackersPages(input *ListEventTrackersInput, fn func(*ListEventTrackersOutput, bool) bool) error {
3792	return c.ListEventTrackersPagesWithContext(aws.BackgroundContext(), input, fn)
3793}
3794
3795// ListEventTrackersPagesWithContext same as ListEventTrackersPages except
3796// it takes a Context and allows setting request options on the pages.
3797//
3798// The context must be non-nil and will be used for request cancellation. If
3799// the context is nil a panic will occur. In the future the SDK may create
3800// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3801// for more information on using Contexts.
3802func (c *Personalize) ListEventTrackersPagesWithContext(ctx aws.Context, input *ListEventTrackersInput, fn func(*ListEventTrackersOutput, bool) bool, opts ...request.Option) error {
3803	p := request.Pagination{
3804		NewRequest: func() (*request.Request, error) {
3805			var inCpy *ListEventTrackersInput
3806			if input != nil {
3807				tmp := *input
3808				inCpy = &tmp
3809			}
3810			req, _ := c.ListEventTrackersRequest(inCpy)
3811			req.SetContext(ctx)
3812			req.ApplyOptions(opts...)
3813			return req, nil
3814		},
3815	}
3816
3817	for p.Next() {
3818		if !fn(p.Page().(*ListEventTrackersOutput), !p.HasNextPage()) {
3819			break
3820		}
3821	}
3822
3823	return p.Err()
3824}
3825
3826const opListFilters = "ListFilters"
3827
3828// ListFiltersRequest generates a "aws/request.Request" representing the
3829// client's request for the ListFilters operation. The "output" return
3830// value will be populated with the request's response once the request completes
3831// successfully.
3832//
3833// Use "Send" method on the returned Request to send the API call to the service.
3834// the "output" return value is not valid until after Send returns without error.
3835//
3836// See ListFilters for more information on using the ListFilters
3837// API call, and error handling.
3838//
3839// This method is useful when you want to inject custom logic or configuration
3840// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3841//
3842//
3843//    // Example sending a request using the ListFiltersRequest method.
3844//    req, resp := client.ListFiltersRequest(params)
3845//
3846//    err := req.Send()
3847//    if err == nil { // resp is now filled
3848//        fmt.Println(resp)
3849//    }
3850//
3851// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListFilters
3852func (c *Personalize) ListFiltersRequest(input *ListFiltersInput) (req *request.Request, output *ListFiltersOutput) {
3853	op := &request.Operation{
3854		Name:       opListFilters,
3855		HTTPMethod: "POST",
3856		HTTPPath:   "/",
3857	}
3858
3859	if input == nil {
3860		input = &ListFiltersInput{}
3861	}
3862
3863	output = &ListFiltersOutput{}
3864	req = c.newRequest(op, input, output)
3865	return
3866}
3867
3868// ListFilters API operation for Amazon Personalize.
3869//
3870// Lists all filters that belong to a given dataset group.
3871//
3872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3873// with awserr.Error's Code and Message methods to get detailed information about
3874// the error.
3875//
3876// See the AWS API reference guide for Amazon Personalize's
3877// API operation ListFilters for usage and error information.
3878//
3879// Returned Error Types:
3880//   * InvalidInputException
3881//   Provide a valid value for the field or parameter.
3882//
3883//   * InvalidNextTokenException
3884//   The token is not valid.
3885//
3886// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListFilters
3887func (c *Personalize) ListFilters(input *ListFiltersInput) (*ListFiltersOutput, error) {
3888	req, out := c.ListFiltersRequest(input)
3889	return out, req.Send()
3890}
3891
3892// ListFiltersWithContext is the same as ListFilters with the addition of
3893// the ability to pass a context and additional request options.
3894//
3895// See ListFilters for details on how to use this API operation.
3896//
3897// The context must be non-nil and will be used for request cancellation. If
3898// the context is nil a panic will occur. In the future the SDK may create
3899// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3900// for more information on using Contexts.
3901func (c *Personalize) ListFiltersWithContext(ctx aws.Context, input *ListFiltersInput, opts ...request.Option) (*ListFiltersOutput, error) {
3902	req, out := c.ListFiltersRequest(input)
3903	req.SetContext(ctx)
3904	req.ApplyOptions(opts...)
3905	return out, req.Send()
3906}
3907
3908const opListRecipes = "ListRecipes"
3909
3910// ListRecipesRequest generates a "aws/request.Request" representing the
3911// client's request for the ListRecipes operation. The "output" return
3912// value will be populated with the request's response once the request completes
3913// successfully.
3914//
3915// Use "Send" method on the returned Request to send the API call to the service.
3916// the "output" return value is not valid until after Send returns without error.
3917//
3918// See ListRecipes for more information on using the ListRecipes
3919// API call, and error handling.
3920//
3921// This method is useful when you want to inject custom logic or configuration
3922// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3923//
3924//
3925//    // Example sending a request using the ListRecipesRequest method.
3926//    req, resp := client.ListRecipesRequest(params)
3927//
3928//    err := req.Send()
3929//    if err == nil { // resp is now filled
3930//        fmt.Println(resp)
3931//    }
3932//
3933// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListRecipes
3934func (c *Personalize) ListRecipesRequest(input *ListRecipesInput) (req *request.Request, output *ListRecipesOutput) {
3935	op := &request.Operation{
3936		Name:       opListRecipes,
3937		HTTPMethod: "POST",
3938		HTTPPath:   "/",
3939		Paginator: &request.Paginator{
3940			InputTokens:     []string{"nextToken"},
3941			OutputTokens:    []string{"nextToken"},
3942			LimitToken:      "maxResults",
3943			TruncationToken: "",
3944		},
3945	}
3946
3947	if input == nil {
3948		input = &ListRecipesInput{}
3949	}
3950
3951	output = &ListRecipesOutput{}
3952	req = c.newRequest(op, input, output)
3953	return
3954}
3955
3956// ListRecipes API operation for Amazon Personalize.
3957//
3958// Returns a list of available recipes. The response provides the properties
3959// for each recipe, including the recipe's Amazon Resource Name (ARN).
3960//
3961// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3962// with awserr.Error's Code and Message methods to get detailed information about
3963// the error.
3964//
3965// See the AWS API reference guide for Amazon Personalize's
3966// API operation ListRecipes for usage and error information.
3967//
3968// Returned Error Types:
3969//   * InvalidNextTokenException
3970//   The token is not valid.
3971//
3972// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListRecipes
3973func (c *Personalize) ListRecipes(input *ListRecipesInput) (*ListRecipesOutput, error) {
3974	req, out := c.ListRecipesRequest(input)
3975	return out, req.Send()
3976}
3977
3978// ListRecipesWithContext is the same as ListRecipes with the addition of
3979// the ability to pass a context and additional request options.
3980//
3981// See ListRecipes for details on how to use this API operation.
3982//
3983// The context must be non-nil and will be used for request cancellation. If
3984// the context is nil a panic will occur. In the future the SDK may create
3985// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3986// for more information on using Contexts.
3987func (c *Personalize) ListRecipesWithContext(ctx aws.Context, input *ListRecipesInput, opts ...request.Option) (*ListRecipesOutput, error) {
3988	req, out := c.ListRecipesRequest(input)
3989	req.SetContext(ctx)
3990	req.ApplyOptions(opts...)
3991	return out, req.Send()
3992}
3993
3994// ListRecipesPages iterates over the pages of a ListRecipes operation,
3995// calling the "fn" function with the response data for each page. To stop
3996// iterating, return false from the fn function.
3997//
3998// See ListRecipes method for more information on how to use this operation.
3999//
4000// Note: This operation can generate multiple requests to a service.
4001//
4002//    // Example iterating over at most 3 pages of a ListRecipes operation.
4003//    pageNum := 0
4004//    err := client.ListRecipesPages(params,
4005//        func(page *personalize.ListRecipesOutput, lastPage bool) bool {
4006//            pageNum++
4007//            fmt.Println(page)
4008//            return pageNum <= 3
4009//        })
4010//
4011func (c *Personalize) ListRecipesPages(input *ListRecipesInput, fn func(*ListRecipesOutput, bool) bool) error {
4012	return c.ListRecipesPagesWithContext(aws.BackgroundContext(), input, fn)
4013}
4014
4015// ListRecipesPagesWithContext same as ListRecipesPages except
4016// it takes a Context and allows setting request options on the pages.
4017//
4018// The context must be non-nil and will be used for request cancellation. If
4019// the context is nil a panic will occur. In the future the SDK may create
4020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4021// for more information on using Contexts.
4022func (c *Personalize) ListRecipesPagesWithContext(ctx aws.Context, input *ListRecipesInput, fn func(*ListRecipesOutput, bool) bool, opts ...request.Option) error {
4023	p := request.Pagination{
4024		NewRequest: func() (*request.Request, error) {
4025			var inCpy *ListRecipesInput
4026			if input != nil {
4027				tmp := *input
4028				inCpy = &tmp
4029			}
4030			req, _ := c.ListRecipesRequest(inCpy)
4031			req.SetContext(ctx)
4032			req.ApplyOptions(opts...)
4033			return req, nil
4034		},
4035	}
4036
4037	for p.Next() {
4038		if !fn(p.Page().(*ListRecipesOutput), !p.HasNextPage()) {
4039			break
4040		}
4041	}
4042
4043	return p.Err()
4044}
4045
4046const opListSchemas = "ListSchemas"
4047
4048// ListSchemasRequest generates a "aws/request.Request" representing the
4049// client's request for the ListSchemas operation. The "output" return
4050// value will be populated with the request's response once the request completes
4051// successfully.
4052//
4053// Use "Send" method on the returned Request to send the API call to the service.
4054// the "output" return value is not valid until after Send returns without error.
4055//
4056// See ListSchemas for more information on using the ListSchemas
4057// API call, and error handling.
4058//
4059// This method is useful when you want to inject custom logic or configuration
4060// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4061//
4062//
4063//    // Example sending a request using the ListSchemasRequest method.
4064//    req, resp := client.ListSchemasRequest(params)
4065//
4066//    err := req.Send()
4067//    if err == nil { // resp is now filled
4068//        fmt.Println(resp)
4069//    }
4070//
4071// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSchemas
4072func (c *Personalize) ListSchemasRequest(input *ListSchemasInput) (req *request.Request, output *ListSchemasOutput) {
4073	op := &request.Operation{
4074		Name:       opListSchemas,
4075		HTTPMethod: "POST",
4076		HTTPPath:   "/",
4077		Paginator: &request.Paginator{
4078			InputTokens:     []string{"nextToken"},
4079			OutputTokens:    []string{"nextToken"},
4080			LimitToken:      "maxResults",
4081			TruncationToken: "",
4082		},
4083	}
4084
4085	if input == nil {
4086		input = &ListSchemasInput{}
4087	}
4088
4089	output = &ListSchemasOutput{}
4090	req = c.newRequest(op, input, output)
4091	return
4092}
4093
4094// ListSchemas API operation for Amazon Personalize.
4095//
4096// Returns the list of schemas associated with the account. The response provides
4097// the properties for each schema, including the Amazon Resource Name (ARN).
4098// For more information on schemas, see CreateSchema.
4099//
4100// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4101// with awserr.Error's Code and Message methods to get detailed information about
4102// the error.
4103//
4104// See the AWS API reference guide for Amazon Personalize's
4105// API operation ListSchemas for usage and error information.
4106//
4107// Returned Error Types:
4108//   * InvalidNextTokenException
4109//   The token is not valid.
4110//
4111// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSchemas
4112func (c *Personalize) ListSchemas(input *ListSchemasInput) (*ListSchemasOutput, error) {
4113	req, out := c.ListSchemasRequest(input)
4114	return out, req.Send()
4115}
4116
4117// ListSchemasWithContext is the same as ListSchemas with the addition of
4118// the ability to pass a context and additional request options.
4119//
4120// See ListSchemas for details on how to use this API operation.
4121//
4122// The context must be non-nil and will be used for request cancellation. If
4123// the context is nil a panic will occur. In the future the SDK may create
4124// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4125// for more information on using Contexts.
4126func (c *Personalize) ListSchemasWithContext(ctx aws.Context, input *ListSchemasInput, opts ...request.Option) (*ListSchemasOutput, error) {
4127	req, out := c.ListSchemasRequest(input)
4128	req.SetContext(ctx)
4129	req.ApplyOptions(opts...)
4130	return out, req.Send()
4131}
4132
4133// ListSchemasPages iterates over the pages of a ListSchemas operation,
4134// calling the "fn" function with the response data for each page. To stop
4135// iterating, return false from the fn function.
4136//
4137// See ListSchemas method for more information on how to use this operation.
4138//
4139// Note: This operation can generate multiple requests to a service.
4140//
4141//    // Example iterating over at most 3 pages of a ListSchemas operation.
4142//    pageNum := 0
4143//    err := client.ListSchemasPages(params,
4144//        func(page *personalize.ListSchemasOutput, lastPage bool) bool {
4145//            pageNum++
4146//            fmt.Println(page)
4147//            return pageNum <= 3
4148//        })
4149//
4150func (c *Personalize) ListSchemasPages(input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool) error {
4151	return c.ListSchemasPagesWithContext(aws.BackgroundContext(), input, fn)
4152}
4153
4154// ListSchemasPagesWithContext same as ListSchemasPages except
4155// it takes a Context and allows setting request options on the pages.
4156//
4157// The context must be non-nil and will be used for request cancellation. If
4158// the context is nil a panic will occur. In the future the SDK may create
4159// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4160// for more information on using Contexts.
4161func (c *Personalize) ListSchemasPagesWithContext(ctx aws.Context, input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool, opts ...request.Option) error {
4162	p := request.Pagination{
4163		NewRequest: func() (*request.Request, error) {
4164			var inCpy *ListSchemasInput
4165			if input != nil {
4166				tmp := *input
4167				inCpy = &tmp
4168			}
4169			req, _ := c.ListSchemasRequest(inCpy)
4170			req.SetContext(ctx)
4171			req.ApplyOptions(opts...)
4172			return req, nil
4173		},
4174	}
4175
4176	for p.Next() {
4177		if !fn(p.Page().(*ListSchemasOutput), !p.HasNextPage()) {
4178			break
4179		}
4180	}
4181
4182	return p.Err()
4183}
4184
4185const opListSolutionVersions = "ListSolutionVersions"
4186
4187// ListSolutionVersionsRequest generates a "aws/request.Request" representing the
4188// client's request for the ListSolutionVersions operation. The "output" return
4189// value will be populated with the request's response once the request completes
4190// successfully.
4191//
4192// Use "Send" method on the returned Request to send the API call to the service.
4193// the "output" return value is not valid until after Send returns without error.
4194//
4195// See ListSolutionVersions for more information on using the ListSolutionVersions
4196// API call, and error handling.
4197//
4198// This method is useful when you want to inject custom logic or configuration
4199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4200//
4201//
4202//    // Example sending a request using the ListSolutionVersionsRequest method.
4203//    req, resp := client.ListSolutionVersionsRequest(params)
4204//
4205//    err := req.Send()
4206//    if err == nil { // resp is now filled
4207//        fmt.Println(resp)
4208//    }
4209//
4210// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutionVersions
4211func (c *Personalize) ListSolutionVersionsRequest(input *ListSolutionVersionsInput) (req *request.Request, output *ListSolutionVersionsOutput) {
4212	op := &request.Operation{
4213		Name:       opListSolutionVersions,
4214		HTTPMethod: "POST",
4215		HTTPPath:   "/",
4216		Paginator: &request.Paginator{
4217			InputTokens:     []string{"nextToken"},
4218			OutputTokens:    []string{"nextToken"},
4219			LimitToken:      "maxResults",
4220			TruncationToken: "",
4221		},
4222	}
4223
4224	if input == nil {
4225		input = &ListSolutionVersionsInput{}
4226	}
4227
4228	output = &ListSolutionVersionsOutput{}
4229	req = c.newRequest(op, input, output)
4230	return
4231}
4232
4233// ListSolutionVersions API operation for Amazon Personalize.
4234//
4235// Returns a list of solution versions for the given solution. When a solution
4236// is not specified, all the solution versions associated with the account are
4237// listed. The response provides the properties for each solution version, including
4238// the Amazon Resource Name (ARN). For more information on solutions, see CreateSolution.
4239//
4240// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4241// with awserr.Error's Code and Message methods to get detailed information about
4242// the error.
4243//
4244// See the AWS API reference guide for Amazon Personalize's
4245// API operation ListSolutionVersions for usage and error information.
4246//
4247// Returned Error Types:
4248//   * InvalidInputException
4249//   Provide a valid value for the field or parameter.
4250//
4251//   * ResourceNotFoundException
4252//   Could not find the specified resource.
4253//
4254//   * InvalidNextTokenException
4255//   The token is not valid.
4256//
4257// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutionVersions
4258func (c *Personalize) ListSolutionVersions(input *ListSolutionVersionsInput) (*ListSolutionVersionsOutput, error) {
4259	req, out := c.ListSolutionVersionsRequest(input)
4260	return out, req.Send()
4261}
4262
4263// ListSolutionVersionsWithContext is the same as ListSolutionVersions with the addition of
4264// the ability to pass a context and additional request options.
4265//
4266// See ListSolutionVersions for details on how to use this API operation.
4267//
4268// The context must be non-nil and will be used for request cancellation. If
4269// the context is nil a panic will occur. In the future the SDK may create
4270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4271// for more information on using Contexts.
4272func (c *Personalize) ListSolutionVersionsWithContext(ctx aws.Context, input *ListSolutionVersionsInput, opts ...request.Option) (*ListSolutionVersionsOutput, error) {
4273	req, out := c.ListSolutionVersionsRequest(input)
4274	req.SetContext(ctx)
4275	req.ApplyOptions(opts...)
4276	return out, req.Send()
4277}
4278
4279// ListSolutionVersionsPages iterates over the pages of a ListSolutionVersions operation,
4280// calling the "fn" function with the response data for each page. To stop
4281// iterating, return false from the fn function.
4282//
4283// See ListSolutionVersions method for more information on how to use this operation.
4284//
4285// Note: This operation can generate multiple requests to a service.
4286//
4287//    // Example iterating over at most 3 pages of a ListSolutionVersions operation.
4288//    pageNum := 0
4289//    err := client.ListSolutionVersionsPages(params,
4290//        func(page *personalize.ListSolutionVersionsOutput, lastPage bool) bool {
4291//            pageNum++
4292//            fmt.Println(page)
4293//            return pageNum <= 3
4294//        })
4295//
4296func (c *Personalize) ListSolutionVersionsPages(input *ListSolutionVersionsInput, fn func(*ListSolutionVersionsOutput, bool) bool) error {
4297	return c.ListSolutionVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
4298}
4299
4300// ListSolutionVersionsPagesWithContext same as ListSolutionVersionsPages except
4301// it takes a Context and allows setting request options on the pages.
4302//
4303// The context must be non-nil and will be used for request cancellation. If
4304// the context is nil a panic will occur. In the future the SDK may create
4305// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4306// for more information on using Contexts.
4307func (c *Personalize) ListSolutionVersionsPagesWithContext(ctx aws.Context, input *ListSolutionVersionsInput, fn func(*ListSolutionVersionsOutput, bool) bool, opts ...request.Option) error {
4308	p := request.Pagination{
4309		NewRequest: func() (*request.Request, error) {
4310			var inCpy *ListSolutionVersionsInput
4311			if input != nil {
4312				tmp := *input
4313				inCpy = &tmp
4314			}
4315			req, _ := c.ListSolutionVersionsRequest(inCpy)
4316			req.SetContext(ctx)
4317			req.ApplyOptions(opts...)
4318			return req, nil
4319		},
4320	}
4321
4322	for p.Next() {
4323		if !fn(p.Page().(*ListSolutionVersionsOutput), !p.HasNextPage()) {
4324			break
4325		}
4326	}
4327
4328	return p.Err()
4329}
4330
4331const opListSolutions = "ListSolutions"
4332
4333// ListSolutionsRequest generates a "aws/request.Request" representing the
4334// client's request for the ListSolutions operation. The "output" return
4335// value will be populated with the request's response once the request completes
4336// successfully.
4337//
4338// Use "Send" method on the returned Request to send the API call to the service.
4339// the "output" return value is not valid until after Send returns without error.
4340//
4341// See ListSolutions for more information on using the ListSolutions
4342// API call, and error handling.
4343//
4344// This method is useful when you want to inject custom logic or configuration
4345// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4346//
4347//
4348//    // Example sending a request using the ListSolutionsRequest method.
4349//    req, resp := client.ListSolutionsRequest(params)
4350//
4351//    err := req.Send()
4352//    if err == nil { // resp is now filled
4353//        fmt.Println(resp)
4354//    }
4355//
4356// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutions
4357func (c *Personalize) ListSolutionsRequest(input *ListSolutionsInput) (req *request.Request, output *ListSolutionsOutput) {
4358	op := &request.Operation{
4359		Name:       opListSolutions,
4360		HTTPMethod: "POST",
4361		HTTPPath:   "/",
4362		Paginator: &request.Paginator{
4363			InputTokens:     []string{"nextToken"},
4364			OutputTokens:    []string{"nextToken"},
4365			LimitToken:      "maxResults",
4366			TruncationToken: "",
4367		},
4368	}
4369
4370	if input == nil {
4371		input = &ListSolutionsInput{}
4372	}
4373
4374	output = &ListSolutionsOutput{}
4375	req = c.newRequest(op, input, output)
4376	return
4377}
4378
4379// ListSolutions API operation for Amazon Personalize.
4380//
4381// Returns a list of solutions that use the given dataset group. When a dataset
4382// group is not specified, all the solutions associated with the account are
4383// listed. The response provides the properties for each solution, including
4384// the Amazon Resource Name (ARN). For more information on solutions, see CreateSolution.
4385//
4386// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4387// with awserr.Error's Code and Message methods to get detailed information about
4388// the error.
4389//
4390// See the AWS API reference guide for Amazon Personalize's
4391// API operation ListSolutions for usage and error information.
4392//
4393// Returned Error Types:
4394//   * InvalidInputException
4395//   Provide a valid value for the field or parameter.
4396//
4397//   * InvalidNextTokenException
4398//   The token is not valid.
4399//
4400// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutions
4401func (c *Personalize) ListSolutions(input *ListSolutionsInput) (*ListSolutionsOutput, error) {
4402	req, out := c.ListSolutionsRequest(input)
4403	return out, req.Send()
4404}
4405
4406// ListSolutionsWithContext is the same as ListSolutions with the addition of
4407// the ability to pass a context and additional request options.
4408//
4409// See ListSolutions for details on how to use this API operation.
4410//
4411// The context must be non-nil and will be used for request cancellation. If
4412// the context is nil a panic will occur. In the future the SDK may create
4413// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4414// for more information on using Contexts.
4415func (c *Personalize) ListSolutionsWithContext(ctx aws.Context, input *ListSolutionsInput, opts ...request.Option) (*ListSolutionsOutput, error) {
4416	req, out := c.ListSolutionsRequest(input)
4417	req.SetContext(ctx)
4418	req.ApplyOptions(opts...)
4419	return out, req.Send()
4420}
4421
4422// ListSolutionsPages iterates over the pages of a ListSolutions operation,
4423// calling the "fn" function with the response data for each page. To stop
4424// iterating, return false from the fn function.
4425//
4426// See ListSolutions method for more information on how to use this operation.
4427//
4428// Note: This operation can generate multiple requests to a service.
4429//
4430//    // Example iterating over at most 3 pages of a ListSolutions operation.
4431//    pageNum := 0
4432//    err := client.ListSolutionsPages(params,
4433//        func(page *personalize.ListSolutionsOutput, lastPage bool) bool {
4434//            pageNum++
4435//            fmt.Println(page)
4436//            return pageNum <= 3
4437//        })
4438//
4439func (c *Personalize) ListSolutionsPages(input *ListSolutionsInput, fn func(*ListSolutionsOutput, bool) bool) error {
4440	return c.ListSolutionsPagesWithContext(aws.BackgroundContext(), input, fn)
4441}
4442
4443// ListSolutionsPagesWithContext same as ListSolutionsPages except
4444// it takes a Context and allows setting request options on the pages.
4445//
4446// The context must be non-nil and will be used for request cancellation. If
4447// the context is nil a panic will occur. In the future the SDK may create
4448// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4449// for more information on using Contexts.
4450func (c *Personalize) ListSolutionsPagesWithContext(ctx aws.Context, input *ListSolutionsInput, fn func(*ListSolutionsOutput, bool) bool, opts ...request.Option) error {
4451	p := request.Pagination{
4452		NewRequest: func() (*request.Request, error) {
4453			var inCpy *ListSolutionsInput
4454			if input != nil {
4455				tmp := *input
4456				inCpy = &tmp
4457			}
4458			req, _ := c.ListSolutionsRequest(inCpy)
4459			req.SetContext(ctx)
4460			req.ApplyOptions(opts...)
4461			return req, nil
4462		},
4463	}
4464
4465	for p.Next() {
4466		if !fn(p.Page().(*ListSolutionsOutput), !p.HasNextPage()) {
4467			break
4468		}
4469	}
4470
4471	return p.Err()
4472}
4473
4474const opUpdateCampaign = "UpdateCampaign"
4475
4476// UpdateCampaignRequest generates a "aws/request.Request" representing the
4477// client's request for the UpdateCampaign operation. The "output" return
4478// value will be populated with the request's response once the request completes
4479// successfully.
4480//
4481// Use "Send" method on the returned Request to send the API call to the service.
4482// the "output" return value is not valid until after Send returns without error.
4483//
4484// See UpdateCampaign for more information on using the UpdateCampaign
4485// API call, and error handling.
4486//
4487// This method is useful when you want to inject custom logic or configuration
4488// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4489//
4490//
4491//    // Example sending a request using the UpdateCampaignRequest method.
4492//    req, resp := client.UpdateCampaignRequest(params)
4493//
4494//    err := req.Send()
4495//    if err == nil { // resp is now filled
4496//        fmt.Println(resp)
4497//    }
4498//
4499// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/UpdateCampaign
4500func (c *Personalize) UpdateCampaignRequest(input *UpdateCampaignInput) (req *request.Request, output *UpdateCampaignOutput) {
4501	op := &request.Operation{
4502		Name:       opUpdateCampaign,
4503		HTTPMethod: "POST",
4504		HTTPPath:   "/",
4505	}
4506
4507	if input == nil {
4508		input = &UpdateCampaignInput{}
4509	}
4510
4511	output = &UpdateCampaignOutput{}
4512	req = c.newRequest(op, input, output)
4513	return
4514}
4515
4516// UpdateCampaign API operation for Amazon Personalize.
4517//
4518// Updates a campaign by either deploying a new solution or changing the value
4519// of the campaign's minProvisionedTPS parameter.
4520//
4521// To update a campaign, the campaign status must be ACTIVE or CREATE FAILED.
4522// Check the campaign status using the DescribeCampaign API.
4523//
4524// You must wait until the status of the updated campaign is ACTIVE before asking
4525// the campaign for recommendations.
4526//
4527// For more information on campaigns, see CreateCampaign.
4528//
4529// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4530// with awserr.Error's Code and Message methods to get detailed information about
4531// the error.
4532//
4533// See the AWS API reference guide for Amazon Personalize's
4534// API operation UpdateCampaign for usage and error information.
4535//
4536// Returned Error Types:
4537//   * InvalidInputException
4538//   Provide a valid value for the field or parameter.
4539//
4540//   * ResourceNotFoundException
4541//   Could not find the specified resource.
4542//
4543//   * ResourceInUseException
4544//   The specified resource is in use.
4545//
4546// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/UpdateCampaign
4547func (c *Personalize) UpdateCampaign(input *UpdateCampaignInput) (*UpdateCampaignOutput, error) {
4548	req, out := c.UpdateCampaignRequest(input)
4549	return out, req.Send()
4550}
4551
4552// UpdateCampaignWithContext is the same as UpdateCampaign with the addition of
4553// the ability to pass a context and additional request options.
4554//
4555// See UpdateCampaign for details on how to use this API operation.
4556//
4557// The context must be non-nil and will be used for request cancellation. If
4558// the context is nil a panic will occur. In the future the SDK may create
4559// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4560// for more information on using Contexts.
4561func (c *Personalize) UpdateCampaignWithContext(ctx aws.Context, input *UpdateCampaignInput, opts ...request.Option) (*UpdateCampaignOutput, error) {
4562	req, out := c.UpdateCampaignRequest(input)
4563	req.SetContext(ctx)
4564	req.ApplyOptions(opts...)
4565	return out, req.Send()
4566}
4567
4568// Describes a custom algorithm.
4569type Algorithm struct {
4570	_ struct{} `type:"structure"`
4571
4572	// The Amazon Resource Name (ARN) of the algorithm.
4573	AlgorithmArn *string `locationName:"algorithmArn" type:"string"`
4574
4575	// The URI of the Docker container for the algorithm image.
4576	AlgorithmImage *AlgorithmImage `locationName:"algorithmImage" type:"structure"`
4577
4578	// The date and time (in Unix time) that the algorithm was created.
4579	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
4580
4581	// Specifies the default hyperparameters, their ranges, and whether they are
4582	// tunable. A tunable hyperparameter can have its value determined during hyperparameter
4583	// optimization (HPO).
4584	DefaultHyperParameterRanges *DefaultHyperParameterRanges `locationName:"defaultHyperParameterRanges" type:"structure"`
4585
4586	// Specifies the default hyperparameters.
4587	DefaultHyperParameters map[string]*string `locationName:"defaultHyperParameters" type:"map"`
4588
4589	// Specifies the default maximum number of training jobs and parallel training
4590	// jobs.
4591	DefaultResourceConfig map[string]*string `locationName:"defaultResourceConfig" type:"map"`
4592
4593	// The date and time (in Unix time) that the algorithm was last updated.
4594	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
4595
4596	// The name of the algorithm.
4597	Name *string `locationName:"name" min:"1" type:"string"`
4598
4599	// The Amazon Resource Name (ARN) of the role.
4600	RoleArn *string `locationName:"roleArn" type:"string"`
4601
4602	// The training input mode.
4603	TrainingInputMode *string `locationName:"trainingInputMode" type:"string"`
4604}
4605
4606// String returns the string representation
4607func (s Algorithm) String() string {
4608	return awsutil.Prettify(s)
4609}
4610
4611// GoString returns the string representation
4612func (s Algorithm) GoString() string {
4613	return s.String()
4614}
4615
4616// SetAlgorithmArn sets the AlgorithmArn field's value.
4617func (s *Algorithm) SetAlgorithmArn(v string) *Algorithm {
4618	s.AlgorithmArn = &v
4619	return s
4620}
4621
4622// SetAlgorithmImage sets the AlgorithmImage field's value.
4623func (s *Algorithm) SetAlgorithmImage(v *AlgorithmImage) *Algorithm {
4624	s.AlgorithmImage = v
4625	return s
4626}
4627
4628// SetCreationDateTime sets the CreationDateTime field's value.
4629func (s *Algorithm) SetCreationDateTime(v time.Time) *Algorithm {
4630	s.CreationDateTime = &v
4631	return s
4632}
4633
4634// SetDefaultHyperParameterRanges sets the DefaultHyperParameterRanges field's value.
4635func (s *Algorithm) SetDefaultHyperParameterRanges(v *DefaultHyperParameterRanges) *Algorithm {
4636	s.DefaultHyperParameterRanges = v
4637	return s
4638}
4639
4640// SetDefaultHyperParameters sets the DefaultHyperParameters field's value.
4641func (s *Algorithm) SetDefaultHyperParameters(v map[string]*string) *Algorithm {
4642	s.DefaultHyperParameters = v
4643	return s
4644}
4645
4646// SetDefaultResourceConfig sets the DefaultResourceConfig field's value.
4647func (s *Algorithm) SetDefaultResourceConfig(v map[string]*string) *Algorithm {
4648	s.DefaultResourceConfig = v
4649	return s
4650}
4651
4652// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
4653func (s *Algorithm) SetLastUpdatedDateTime(v time.Time) *Algorithm {
4654	s.LastUpdatedDateTime = &v
4655	return s
4656}
4657
4658// SetName sets the Name field's value.
4659func (s *Algorithm) SetName(v string) *Algorithm {
4660	s.Name = &v
4661	return s
4662}
4663
4664// SetRoleArn sets the RoleArn field's value.
4665func (s *Algorithm) SetRoleArn(v string) *Algorithm {
4666	s.RoleArn = &v
4667	return s
4668}
4669
4670// SetTrainingInputMode sets the TrainingInputMode field's value.
4671func (s *Algorithm) SetTrainingInputMode(v string) *Algorithm {
4672	s.TrainingInputMode = &v
4673	return s
4674}
4675
4676// Describes an algorithm image.
4677type AlgorithmImage struct {
4678	_ struct{} `type:"structure"`
4679
4680	// The URI of the Docker container for the algorithm image.
4681	//
4682	// DockerURI is a required field
4683	DockerURI *string `locationName:"dockerURI" type:"string" required:"true"`
4684
4685	// The name of the algorithm image.
4686	Name *string `locationName:"name" min:"1" type:"string"`
4687}
4688
4689// String returns the string representation
4690func (s AlgorithmImage) String() string {
4691	return awsutil.Prettify(s)
4692}
4693
4694// GoString returns the string representation
4695func (s AlgorithmImage) GoString() string {
4696	return s.String()
4697}
4698
4699// SetDockerURI sets the DockerURI field's value.
4700func (s *AlgorithmImage) SetDockerURI(v string) *AlgorithmImage {
4701	s.DockerURI = &v
4702	return s
4703}
4704
4705// SetName sets the Name field's value.
4706func (s *AlgorithmImage) SetName(v string) *AlgorithmImage {
4707	s.Name = &v
4708	return s
4709}
4710
4711// When the solution performs AutoML (performAutoML is true in CreateSolution),
4712// Amazon Personalize determines which recipe, from the specified list, optimizes
4713// the given metric. Amazon Personalize then uses that recipe for the solution.
4714type AutoMLConfig struct {
4715	_ struct{} `type:"structure"`
4716
4717	// The metric to optimize.
4718	MetricName *string `locationName:"metricName" type:"string"`
4719
4720	// The list of candidate recipes.
4721	RecipeList []*string `locationName:"recipeList" type:"list"`
4722}
4723
4724// String returns the string representation
4725func (s AutoMLConfig) String() string {
4726	return awsutil.Prettify(s)
4727}
4728
4729// GoString returns the string representation
4730func (s AutoMLConfig) GoString() string {
4731	return s.String()
4732}
4733
4734// SetMetricName sets the MetricName field's value.
4735func (s *AutoMLConfig) SetMetricName(v string) *AutoMLConfig {
4736	s.MetricName = &v
4737	return s
4738}
4739
4740// SetRecipeList sets the RecipeList field's value.
4741func (s *AutoMLConfig) SetRecipeList(v []*string) *AutoMLConfig {
4742	s.RecipeList = v
4743	return s
4744}
4745
4746// When the solution performs AutoML (performAutoML is true in CreateSolution),
4747// specifies the recipe that best optimized the specified metric.
4748type AutoMLResult struct {
4749	_ struct{} `type:"structure"`
4750
4751	// The Amazon Resource Name (ARN) of the best recipe.
4752	BestRecipeArn *string `locationName:"bestRecipeArn" type:"string"`
4753}
4754
4755// String returns the string representation
4756func (s AutoMLResult) String() string {
4757	return awsutil.Prettify(s)
4758}
4759
4760// GoString returns the string representation
4761func (s AutoMLResult) GoString() string {
4762	return s.String()
4763}
4764
4765// SetBestRecipeArn sets the BestRecipeArn field's value.
4766func (s *AutoMLResult) SetBestRecipeArn(v string) *AutoMLResult {
4767	s.BestRecipeArn = &v
4768	return s
4769}
4770
4771// Contains information on a batch inference job.
4772type BatchInferenceJob struct {
4773	_ struct{} `type:"structure"`
4774
4775	// The Amazon Resource Name (ARN) of the batch inference job.
4776	BatchInferenceJobArn *string `locationName:"batchInferenceJobArn" type:"string"`
4777
4778	// A string to string map of the configuration details of a batch inference
4779	// job.
4780	BatchInferenceJobConfig *BatchInferenceJobConfig `locationName:"batchInferenceJobConfig" type:"structure"`
4781
4782	// The time at which the batch inference job was created.
4783	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
4784
4785	// If the batch inference job failed, the reason for the failure.
4786	FailureReason *string `locationName:"failureReason" type:"string"`
4787
4788	// The ARN of the filter used on the batch inference job.
4789	FilterArn *string `locationName:"filterArn" type:"string"`
4790
4791	// The Amazon S3 path that leads to the input data used to generate the batch
4792	// inference job.
4793	JobInput *BatchInferenceJobInput `locationName:"jobInput" type:"structure"`
4794
4795	// The name of the batch inference job.
4796	JobName *string `locationName:"jobName" min:"1" type:"string"`
4797
4798	// The Amazon S3 bucket that contains the output data generated by the batch
4799	// inference job.
4800	JobOutput *BatchInferenceJobOutput `locationName:"jobOutput" type:"structure"`
4801
4802	// The time at which the batch inference job was last updated.
4803	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
4804
4805	// The number of recommendations generated by the batch inference job. This
4806	// number includes the error messages generated for failed input records.
4807	NumResults *int64 `locationName:"numResults" type:"integer"`
4808
4809	// The ARN of the Amazon Identity and Access Management (IAM) role that requested
4810	// the batch inference job.
4811	RoleArn *string `locationName:"roleArn" type:"string"`
4812
4813	// The Amazon Resource Name (ARN) of the solution version from which the batch
4814	// inference job was created.
4815	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
4816
4817	// The status of the batch inference job. The status is one of the following
4818	// values:
4819	//
4820	//    * PENDING
4821	//
4822	//    * IN PROGRESS
4823	//
4824	//    * ACTIVE
4825	//
4826	//    * CREATE FAILED
4827	Status *string `locationName:"status" type:"string"`
4828}
4829
4830// String returns the string representation
4831func (s BatchInferenceJob) String() string {
4832	return awsutil.Prettify(s)
4833}
4834
4835// GoString returns the string representation
4836func (s BatchInferenceJob) GoString() string {
4837	return s.String()
4838}
4839
4840// SetBatchInferenceJobArn sets the BatchInferenceJobArn field's value.
4841func (s *BatchInferenceJob) SetBatchInferenceJobArn(v string) *BatchInferenceJob {
4842	s.BatchInferenceJobArn = &v
4843	return s
4844}
4845
4846// SetBatchInferenceJobConfig sets the BatchInferenceJobConfig field's value.
4847func (s *BatchInferenceJob) SetBatchInferenceJobConfig(v *BatchInferenceJobConfig) *BatchInferenceJob {
4848	s.BatchInferenceJobConfig = v
4849	return s
4850}
4851
4852// SetCreationDateTime sets the CreationDateTime field's value.
4853func (s *BatchInferenceJob) SetCreationDateTime(v time.Time) *BatchInferenceJob {
4854	s.CreationDateTime = &v
4855	return s
4856}
4857
4858// SetFailureReason sets the FailureReason field's value.
4859func (s *BatchInferenceJob) SetFailureReason(v string) *BatchInferenceJob {
4860	s.FailureReason = &v
4861	return s
4862}
4863
4864// SetFilterArn sets the FilterArn field's value.
4865func (s *BatchInferenceJob) SetFilterArn(v string) *BatchInferenceJob {
4866	s.FilterArn = &v
4867	return s
4868}
4869
4870// SetJobInput sets the JobInput field's value.
4871func (s *BatchInferenceJob) SetJobInput(v *BatchInferenceJobInput) *BatchInferenceJob {
4872	s.JobInput = v
4873	return s
4874}
4875
4876// SetJobName sets the JobName field's value.
4877func (s *BatchInferenceJob) SetJobName(v string) *BatchInferenceJob {
4878	s.JobName = &v
4879	return s
4880}
4881
4882// SetJobOutput sets the JobOutput field's value.
4883func (s *BatchInferenceJob) SetJobOutput(v *BatchInferenceJobOutput) *BatchInferenceJob {
4884	s.JobOutput = v
4885	return s
4886}
4887
4888// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
4889func (s *BatchInferenceJob) SetLastUpdatedDateTime(v time.Time) *BatchInferenceJob {
4890	s.LastUpdatedDateTime = &v
4891	return s
4892}
4893
4894// SetNumResults sets the NumResults field's value.
4895func (s *BatchInferenceJob) SetNumResults(v int64) *BatchInferenceJob {
4896	s.NumResults = &v
4897	return s
4898}
4899
4900// SetRoleArn sets the RoleArn field's value.
4901func (s *BatchInferenceJob) SetRoleArn(v string) *BatchInferenceJob {
4902	s.RoleArn = &v
4903	return s
4904}
4905
4906// SetSolutionVersionArn sets the SolutionVersionArn field's value.
4907func (s *BatchInferenceJob) SetSolutionVersionArn(v string) *BatchInferenceJob {
4908	s.SolutionVersionArn = &v
4909	return s
4910}
4911
4912// SetStatus sets the Status field's value.
4913func (s *BatchInferenceJob) SetStatus(v string) *BatchInferenceJob {
4914	s.Status = &v
4915	return s
4916}
4917
4918// The configuration details of a batch inference job.
4919type BatchInferenceJobConfig struct {
4920	_ struct{} `type:"structure"`
4921
4922	// A string to string map specifying the inference hyperparameters you wish
4923	// to use for hyperparameter optimization. See customizing-solution-config-hpo.
4924	ItemExplorationConfig map[string]*string `locationName:"itemExplorationConfig" type:"map"`
4925}
4926
4927// String returns the string representation
4928func (s BatchInferenceJobConfig) String() string {
4929	return awsutil.Prettify(s)
4930}
4931
4932// GoString returns the string representation
4933func (s BatchInferenceJobConfig) GoString() string {
4934	return s.String()
4935}
4936
4937// SetItemExplorationConfig sets the ItemExplorationConfig field's value.
4938func (s *BatchInferenceJobConfig) SetItemExplorationConfig(v map[string]*string) *BatchInferenceJobConfig {
4939	s.ItemExplorationConfig = v
4940	return s
4941}
4942
4943// The input configuration of a batch inference job.
4944type BatchInferenceJobInput struct {
4945	_ struct{} `type:"structure"`
4946
4947	// The URI of the Amazon S3 location that contains your input data. The Amazon
4948	// S3 bucket must be in the same region as the API endpoint you are calling.
4949	//
4950	// S3DataSource is a required field
4951	S3DataSource *S3DataConfig `locationName:"s3DataSource" type:"structure" required:"true"`
4952}
4953
4954// String returns the string representation
4955func (s BatchInferenceJobInput) String() string {
4956	return awsutil.Prettify(s)
4957}
4958
4959// GoString returns the string representation
4960func (s BatchInferenceJobInput) GoString() string {
4961	return s.String()
4962}
4963
4964// Validate inspects the fields of the type to determine if they are valid.
4965func (s *BatchInferenceJobInput) Validate() error {
4966	invalidParams := request.ErrInvalidParams{Context: "BatchInferenceJobInput"}
4967	if s.S3DataSource == nil {
4968		invalidParams.Add(request.NewErrParamRequired("S3DataSource"))
4969	}
4970	if s.S3DataSource != nil {
4971		if err := s.S3DataSource.Validate(); err != nil {
4972			invalidParams.AddNested("S3DataSource", err.(request.ErrInvalidParams))
4973		}
4974	}
4975
4976	if invalidParams.Len() > 0 {
4977		return invalidParams
4978	}
4979	return nil
4980}
4981
4982// SetS3DataSource sets the S3DataSource field's value.
4983func (s *BatchInferenceJobInput) SetS3DataSource(v *S3DataConfig) *BatchInferenceJobInput {
4984	s.S3DataSource = v
4985	return s
4986}
4987
4988// The output configuration parameters of a batch inference job.
4989type BatchInferenceJobOutput struct {
4990	_ struct{} `type:"structure"`
4991
4992	// Information on the Amazon S3 bucket in which the batch inference job's output
4993	// is stored.
4994	//
4995	// S3DataDestination is a required field
4996	S3DataDestination *S3DataConfig `locationName:"s3DataDestination" type:"structure" required:"true"`
4997}
4998
4999// String returns the string representation
5000func (s BatchInferenceJobOutput) String() string {
5001	return awsutil.Prettify(s)
5002}
5003
5004// GoString returns the string representation
5005func (s BatchInferenceJobOutput) GoString() string {
5006	return s.String()
5007}
5008
5009// Validate inspects the fields of the type to determine if they are valid.
5010func (s *BatchInferenceJobOutput) Validate() error {
5011	invalidParams := request.ErrInvalidParams{Context: "BatchInferenceJobOutput"}
5012	if s.S3DataDestination == nil {
5013		invalidParams.Add(request.NewErrParamRequired("S3DataDestination"))
5014	}
5015	if s.S3DataDestination != nil {
5016		if err := s.S3DataDestination.Validate(); err != nil {
5017			invalidParams.AddNested("S3DataDestination", err.(request.ErrInvalidParams))
5018		}
5019	}
5020
5021	if invalidParams.Len() > 0 {
5022		return invalidParams
5023	}
5024	return nil
5025}
5026
5027// SetS3DataDestination sets the S3DataDestination field's value.
5028func (s *BatchInferenceJobOutput) SetS3DataDestination(v *S3DataConfig) *BatchInferenceJobOutput {
5029	s.S3DataDestination = v
5030	return s
5031}
5032
5033// A truncated version of the BatchInferenceJob datatype. The ListBatchInferenceJobs
5034// operation returns a list of batch inference job summaries.
5035type BatchInferenceJobSummary struct {
5036	_ struct{} `type:"structure"`
5037
5038	// The Amazon Resource Name (ARN) of the batch inference job.
5039	BatchInferenceJobArn *string `locationName:"batchInferenceJobArn" type:"string"`
5040
5041	// The time at which the batch inference job was created.
5042	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
5043
5044	// If the batch inference job failed, the reason for the failure.
5045	FailureReason *string `locationName:"failureReason" type:"string"`
5046
5047	// The name of the batch inference job.
5048	JobName *string `locationName:"jobName" min:"1" type:"string"`
5049
5050	// The time at which the batch inference job was last updated.
5051	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
5052
5053	// The ARN of the solution version used by the batch inference job.
5054	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
5055
5056	// The status of the batch inference job. The status is one of the following
5057	// values:
5058	//
5059	//    * PENDING
5060	//
5061	//    * IN PROGRESS
5062	//
5063	//    * ACTIVE
5064	//
5065	//    * CREATE FAILED
5066	Status *string `locationName:"status" type:"string"`
5067}
5068
5069// String returns the string representation
5070func (s BatchInferenceJobSummary) String() string {
5071	return awsutil.Prettify(s)
5072}
5073
5074// GoString returns the string representation
5075func (s BatchInferenceJobSummary) GoString() string {
5076	return s.String()
5077}
5078
5079// SetBatchInferenceJobArn sets the BatchInferenceJobArn field's value.
5080func (s *BatchInferenceJobSummary) SetBatchInferenceJobArn(v string) *BatchInferenceJobSummary {
5081	s.BatchInferenceJobArn = &v
5082	return s
5083}
5084
5085// SetCreationDateTime sets the CreationDateTime field's value.
5086func (s *BatchInferenceJobSummary) SetCreationDateTime(v time.Time) *BatchInferenceJobSummary {
5087	s.CreationDateTime = &v
5088	return s
5089}
5090
5091// SetFailureReason sets the FailureReason field's value.
5092func (s *BatchInferenceJobSummary) SetFailureReason(v string) *BatchInferenceJobSummary {
5093	s.FailureReason = &v
5094	return s
5095}
5096
5097// SetJobName sets the JobName field's value.
5098func (s *BatchInferenceJobSummary) SetJobName(v string) *BatchInferenceJobSummary {
5099	s.JobName = &v
5100	return s
5101}
5102
5103// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
5104func (s *BatchInferenceJobSummary) SetLastUpdatedDateTime(v time.Time) *BatchInferenceJobSummary {
5105	s.LastUpdatedDateTime = &v
5106	return s
5107}
5108
5109// SetSolutionVersionArn sets the SolutionVersionArn field's value.
5110func (s *BatchInferenceJobSummary) SetSolutionVersionArn(v string) *BatchInferenceJobSummary {
5111	s.SolutionVersionArn = &v
5112	return s
5113}
5114
5115// SetStatus sets the Status field's value.
5116func (s *BatchInferenceJobSummary) SetStatus(v string) *BatchInferenceJobSummary {
5117	s.Status = &v
5118	return s
5119}
5120
5121// Describes a deployed solution version, otherwise known as a campaign. For
5122// more information on campaigns, see CreateCampaign.
5123type Campaign struct {
5124	_ struct{} `type:"structure"`
5125
5126	// The Amazon Resource Name (ARN) of the campaign.
5127	CampaignArn *string `locationName:"campaignArn" type:"string"`
5128
5129	// The configuration details of a campaign.
5130	CampaignConfig *CampaignConfig `locationName:"campaignConfig" type:"structure"`
5131
5132	// The date and time (in Unix format) that the campaign was created.
5133	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
5134
5135	// If a campaign fails, the reason behind the failure.
5136	FailureReason *string `locationName:"failureReason" type:"string"`
5137
5138	// The date and time (in Unix format) that the campaign was last updated.
5139	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
5140
5141	// Provides a summary of the properties of a campaign update. For a complete
5142	// listing, call the DescribeCampaign API.
5143	LatestCampaignUpdate *CampaignUpdateSummary `locationName:"latestCampaignUpdate" type:"structure"`
5144
5145	// Specifies the requested minimum provisioned transactions (recommendations)
5146	// per second.
5147	MinProvisionedTPS *int64 `locationName:"minProvisionedTPS" min:"1" type:"integer"`
5148
5149	// The name of the campaign.
5150	Name *string `locationName:"name" min:"1" type:"string"`
5151
5152	// The Amazon Resource Name (ARN) of a specific version of the solution.
5153	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
5154
5155	// The status of the campaign.
5156	//
5157	// A campaign can be in one of the following states:
5158	//
5159	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
5160	//
5161	//    * DELETE PENDING > DELETE IN_PROGRESS
5162	Status *string `locationName:"status" type:"string"`
5163}
5164
5165// String returns the string representation
5166func (s Campaign) String() string {
5167	return awsutil.Prettify(s)
5168}
5169
5170// GoString returns the string representation
5171func (s Campaign) GoString() string {
5172	return s.String()
5173}
5174
5175// SetCampaignArn sets the CampaignArn field's value.
5176func (s *Campaign) SetCampaignArn(v string) *Campaign {
5177	s.CampaignArn = &v
5178	return s
5179}
5180
5181// SetCampaignConfig sets the CampaignConfig field's value.
5182func (s *Campaign) SetCampaignConfig(v *CampaignConfig) *Campaign {
5183	s.CampaignConfig = v
5184	return s
5185}
5186
5187// SetCreationDateTime sets the CreationDateTime field's value.
5188func (s *Campaign) SetCreationDateTime(v time.Time) *Campaign {
5189	s.CreationDateTime = &v
5190	return s
5191}
5192
5193// SetFailureReason sets the FailureReason field's value.
5194func (s *Campaign) SetFailureReason(v string) *Campaign {
5195	s.FailureReason = &v
5196	return s
5197}
5198
5199// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
5200func (s *Campaign) SetLastUpdatedDateTime(v time.Time) *Campaign {
5201	s.LastUpdatedDateTime = &v
5202	return s
5203}
5204
5205// SetLatestCampaignUpdate sets the LatestCampaignUpdate field's value.
5206func (s *Campaign) SetLatestCampaignUpdate(v *CampaignUpdateSummary) *Campaign {
5207	s.LatestCampaignUpdate = v
5208	return s
5209}
5210
5211// SetMinProvisionedTPS sets the MinProvisionedTPS field's value.
5212func (s *Campaign) SetMinProvisionedTPS(v int64) *Campaign {
5213	s.MinProvisionedTPS = &v
5214	return s
5215}
5216
5217// SetName sets the Name field's value.
5218func (s *Campaign) SetName(v string) *Campaign {
5219	s.Name = &v
5220	return s
5221}
5222
5223// SetSolutionVersionArn sets the SolutionVersionArn field's value.
5224func (s *Campaign) SetSolutionVersionArn(v string) *Campaign {
5225	s.SolutionVersionArn = &v
5226	return s
5227}
5228
5229// SetStatus sets the Status field's value.
5230func (s *Campaign) SetStatus(v string) *Campaign {
5231	s.Status = &v
5232	return s
5233}
5234
5235// The configuration details of a campaign.
5236type CampaignConfig struct {
5237	_ struct{} `type:"structure"`
5238
5239	// A string to string map specifying the inference hyperparameters you wish
5240	// to use for hyperparameter optimization. See customizing-solution-config-hpo.
5241	ItemExplorationConfig map[string]*string `locationName:"itemExplorationConfig" type:"map"`
5242}
5243
5244// String returns the string representation
5245func (s CampaignConfig) String() string {
5246	return awsutil.Prettify(s)
5247}
5248
5249// GoString returns the string representation
5250func (s CampaignConfig) GoString() string {
5251	return s.String()
5252}
5253
5254// SetItemExplorationConfig sets the ItemExplorationConfig field's value.
5255func (s *CampaignConfig) SetItemExplorationConfig(v map[string]*string) *CampaignConfig {
5256	s.ItemExplorationConfig = v
5257	return s
5258}
5259
5260// Provides a summary of the properties of a campaign. For a complete listing,
5261// call the DescribeCampaign API.
5262type CampaignSummary struct {
5263	_ struct{} `type:"structure"`
5264
5265	// The Amazon Resource Name (ARN) of the campaign.
5266	CampaignArn *string `locationName:"campaignArn" type:"string"`
5267
5268	// The date and time (in Unix time) that the campaign was created.
5269	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
5270
5271	// If a campaign fails, the reason behind the failure.
5272	FailureReason *string `locationName:"failureReason" type:"string"`
5273
5274	// The date and time (in Unix time) that the campaign was last updated.
5275	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
5276
5277	// The name of the campaign.
5278	Name *string `locationName:"name" min:"1" type:"string"`
5279
5280	// The status of the campaign.
5281	//
5282	// A campaign can be in one of the following states:
5283	//
5284	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
5285	//
5286	//    * DELETE PENDING > DELETE IN_PROGRESS
5287	Status *string `locationName:"status" type:"string"`
5288}
5289
5290// String returns the string representation
5291func (s CampaignSummary) String() string {
5292	return awsutil.Prettify(s)
5293}
5294
5295// GoString returns the string representation
5296func (s CampaignSummary) GoString() string {
5297	return s.String()
5298}
5299
5300// SetCampaignArn sets the CampaignArn field's value.
5301func (s *CampaignSummary) SetCampaignArn(v string) *CampaignSummary {
5302	s.CampaignArn = &v
5303	return s
5304}
5305
5306// SetCreationDateTime sets the CreationDateTime field's value.
5307func (s *CampaignSummary) SetCreationDateTime(v time.Time) *CampaignSummary {
5308	s.CreationDateTime = &v
5309	return s
5310}
5311
5312// SetFailureReason sets the FailureReason field's value.
5313func (s *CampaignSummary) SetFailureReason(v string) *CampaignSummary {
5314	s.FailureReason = &v
5315	return s
5316}
5317
5318// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
5319func (s *CampaignSummary) SetLastUpdatedDateTime(v time.Time) *CampaignSummary {
5320	s.LastUpdatedDateTime = &v
5321	return s
5322}
5323
5324// SetName sets the Name field's value.
5325func (s *CampaignSummary) SetName(v string) *CampaignSummary {
5326	s.Name = &v
5327	return s
5328}
5329
5330// SetStatus sets the Status field's value.
5331func (s *CampaignSummary) SetStatus(v string) *CampaignSummary {
5332	s.Status = &v
5333	return s
5334}
5335
5336// Provides a summary of the properties of a campaign update. For a complete
5337// listing, call the DescribeCampaign API.
5338type CampaignUpdateSummary struct {
5339	_ struct{} `type:"structure"`
5340
5341	// The configuration details of a campaign.
5342	CampaignConfig *CampaignConfig `locationName:"campaignConfig" type:"structure"`
5343
5344	// The date and time (in Unix time) that the campaign update was created.
5345	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
5346
5347	// If a campaign update fails, the reason behind the failure.
5348	FailureReason *string `locationName:"failureReason" type:"string"`
5349
5350	// The date and time (in Unix time) that the campaign update was last updated.
5351	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
5352
5353	// Specifies the requested minimum provisioned transactions (recommendations)
5354	// per second that Amazon Personalize will support.
5355	MinProvisionedTPS *int64 `locationName:"minProvisionedTPS" min:"1" type:"integer"`
5356
5357	// The Amazon Resource Name (ARN) of the deployed solution version.
5358	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
5359
5360	// The status of the campaign update.
5361	//
5362	// A campaign update can be in one of the following states:
5363	//
5364	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
5365	//
5366	//    * DELETE PENDING > DELETE IN_PROGRESS
5367	Status *string `locationName:"status" type:"string"`
5368}
5369
5370// String returns the string representation
5371func (s CampaignUpdateSummary) String() string {
5372	return awsutil.Prettify(s)
5373}
5374
5375// GoString returns the string representation
5376func (s CampaignUpdateSummary) GoString() string {
5377	return s.String()
5378}
5379
5380// SetCampaignConfig sets the CampaignConfig field's value.
5381func (s *CampaignUpdateSummary) SetCampaignConfig(v *CampaignConfig) *CampaignUpdateSummary {
5382	s.CampaignConfig = v
5383	return s
5384}
5385
5386// SetCreationDateTime sets the CreationDateTime field's value.
5387func (s *CampaignUpdateSummary) SetCreationDateTime(v time.Time) *CampaignUpdateSummary {
5388	s.CreationDateTime = &v
5389	return s
5390}
5391
5392// SetFailureReason sets the FailureReason field's value.
5393func (s *CampaignUpdateSummary) SetFailureReason(v string) *CampaignUpdateSummary {
5394	s.FailureReason = &v
5395	return s
5396}
5397
5398// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
5399func (s *CampaignUpdateSummary) SetLastUpdatedDateTime(v time.Time) *CampaignUpdateSummary {
5400	s.LastUpdatedDateTime = &v
5401	return s
5402}
5403
5404// SetMinProvisionedTPS sets the MinProvisionedTPS field's value.
5405func (s *CampaignUpdateSummary) SetMinProvisionedTPS(v int64) *CampaignUpdateSummary {
5406	s.MinProvisionedTPS = &v
5407	return s
5408}
5409
5410// SetSolutionVersionArn sets the SolutionVersionArn field's value.
5411func (s *CampaignUpdateSummary) SetSolutionVersionArn(v string) *CampaignUpdateSummary {
5412	s.SolutionVersionArn = &v
5413	return s
5414}
5415
5416// SetStatus sets the Status field's value.
5417func (s *CampaignUpdateSummary) SetStatus(v string) *CampaignUpdateSummary {
5418	s.Status = &v
5419	return s
5420}
5421
5422// Provides the name and range of a categorical hyperparameter.
5423type CategoricalHyperParameterRange struct {
5424	_ struct{} `type:"structure"`
5425
5426	// The name of the hyperparameter.
5427	Name *string `locationName:"name" type:"string"`
5428
5429	// A list of the categories for the hyperparameter.
5430	Values []*string `locationName:"values" type:"list"`
5431}
5432
5433// String returns the string representation
5434func (s CategoricalHyperParameterRange) String() string {
5435	return awsutil.Prettify(s)
5436}
5437
5438// GoString returns the string representation
5439func (s CategoricalHyperParameterRange) GoString() string {
5440	return s.String()
5441}
5442
5443// SetName sets the Name field's value.
5444func (s *CategoricalHyperParameterRange) SetName(v string) *CategoricalHyperParameterRange {
5445	s.Name = &v
5446	return s
5447}
5448
5449// SetValues sets the Values field's value.
5450func (s *CategoricalHyperParameterRange) SetValues(v []*string) *CategoricalHyperParameterRange {
5451	s.Values = v
5452	return s
5453}
5454
5455// Provides the name and range of a continuous hyperparameter.
5456type ContinuousHyperParameterRange struct {
5457	_ struct{} `type:"structure"`
5458
5459	// The maximum allowable value for the hyperparameter.
5460	MaxValue *float64 `locationName:"maxValue" type:"double"`
5461
5462	// The minimum allowable value for the hyperparameter.
5463	MinValue *float64 `locationName:"minValue" type:"double"`
5464
5465	// The name of the hyperparameter.
5466	Name *string `locationName:"name" type:"string"`
5467}
5468
5469// String returns the string representation
5470func (s ContinuousHyperParameterRange) String() string {
5471	return awsutil.Prettify(s)
5472}
5473
5474// GoString returns the string representation
5475func (s ContinuousHyperParameterRange) GoString() string {
5476	return s.String()
5477}
5478
5479// Validate inspects the fields of the type to determine if they are valid.
5480func (s *ContinuousHyperParameterRange) Validate() error {
5481	invalidParams := request.ErrInvalidParams{Context: "ContinuousHyperParameterRange"}
5482	if s.MaxValue != nil && *s.MaxValue < -1e+06 {
5483		invalidParams.Add(request.NewErrParamMinValue("MaxValue", -1e+06))
5484	}
5485	if s.MinValue != nil && *s.MinValue < -1e+06 {
5486		invalidParams.Add(request.NewErrParamMinValue("MinValue", -1e+06))
5487	}
5488
5489	if invalidParams.Len() > 0 {
5490		return invalidParams
5491	}
5492	return nil
5493}
5494
5495// SetMaxValue sets the MaxValue field's value.
5496func (s *ContinuousHyperParameterRange) SetMaxValue(v float64) *ContinuousHyperParameterRange {
5497	s.MaxValue = &v
5498	return s
5499}
5500
5501// SetMinValue sets the MinValue field's value.
5502func (s *ContinuousHyperParameterRange) SetMinValue(v float64) *ContinuousHyperParameterRange {
5503	s.MinValue = &v
5504	return s
5505}
5506
5507// SetName sets the Name field's value.
5508func (s *ContinuousHyperParameterRange) SetName(v string) *ContinuousHyperParameterRange {
5509	s.Name = &v
5510	return s
5511}
5512
5513type CreateBatchInferenceJobInput struct {
5514	_ struct{} `type:"structure"`
5515
5516	// The configuration details of a batch inference job.
5517	BatchInferenceJobConfig *BatchInferenceJobConfig `locationName:"batchInferenceJobConfig" type:"structure"`
5518
5519	// The ARN of the filter to apply to the batch inference job. For more information
5520	// on using filters, see Using Filters with Amazon Personalize.
5521	FilterArn *string `locationName:"filterArn" type:"string"`
5522
5523	// The Amazon S3 path that leads to the input file to base your recommendations
5524	// on. The input material must be in JSON format.
5525	//
5526	// JobInput is a required field
5527	JobInput *BatchInferenceJobInput `locationName:"jobInput" type:"structure" required:"true"`
5528
5529	// The name of the batch inference job to create.
5530	//
5531	// JobName is a required field
5532	JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"`
5533
5534	// The path to the Amazon S3 bucket where the job's output will be stored.
5535	//
5536	// JobOutput is a required field
5537	JobOutput *BatchInferenceJobOutput `locationName:"jobOutput" type:"structure" required:"true"`
5538
5539	// The number of recommendations to retreive.
5540	NumResults *int64 `locationName:"numResults" type:"integer"`
5541
5542	// The ARN of the Amazon Identity and Access Management role that has permissions
5543	// to read and write to your input and out Amazon S3 buckets respectively.
5544	//
5545	// RoleArn is a required field
5546	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
5547
5548	// The Amazon Resource Name (ARN) of the solution version that will be used
5549	// to generate the batch inference recommendations.
5550	//
5551	// SolutionVersionArn is a required field
5552	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string" required:"true"`
5553}
5554
5555// String returns the string representation
5556func (s CreateBatchInferenceJobInput) String() string {
5557	return awsutil.Prettify(s)
5558}
5559
5560// GoString returns the string representation
5561func (s CreateBatchInferenceJobInput) GoString() string {
5562	return s.String()
5563}
5564
5565// Validate inspects the fields of the type to determine if they are valid.
5566func (s *CreateBatchInferenceJobInput) Validate() error {
5567	invalidParams := request.ErrInvalidParams{Context: "CreateBatchInferenceJobInput"}
5568	if s.JobInput == nil {
5569		invalidParams.Add(request.NewErrParamRequired("JobInput"))
5570	}
5571	if s.JobName == nil {
5572		invalidParams.Add(request.NewErrParamRequired("JobName"))
5573	}
5574	if s.JobName != nil && len(*s.JobName) < 1 {
5575		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
5576	}
5577	if s.JobOutput == nil {
5578		invalidParams.Add(request.NewErrParamRequired("JobOutput"))
5579	}
5580	if s.RoleArn == nil {
5581		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
5582	}
5583	if s.SolutionVersionArn == nil {
5584		invalidParams.Add(request.NewErrParamRequired("SolutionVersionArn"))
5585	}
5586	if s.JobInput != nil {
5587		if err := s.JobInput.Validate(); err != nil {
5588			invalidParams.AddNested("JobInput", err.(request.ErrInvalidParams))
5589		}
5590	}
5591	if s.JobOutput != nil {
5592		if err := s.JobOutput.Validate(); err != nil {
5593			invalidParams.AddNested("JobOutput", err.(request.ErrInvalidParams))
5594		}
5595	}
5596
5597	if invalidParams.Len() > 0 {
5598		return invalidParams
5599	}
5600	return nil
5601}
5602
5603// SetBatchInferenceJobConfig sets the BatchInferenceJobConfig field's value.
5604func (s *CreateBatchInferenceJobInput) SetBatchInferenceJobConfig(v *BatchInferenceJobConfig) *CreateBatchInferenceJobInput {
5605	s.BatchInferenceJobConfig = v
5606	return s
5607}
5608
5609// SetFilterArn sets the FilterArn field's value.
5610func (s *CreateBatchInferenceJobInput) SetFilterArn(v string) *CreateBatchInferenceJobInput {
5611	s.FilterArn = &v
5612	return s
5613}
5614
5615// SetJobInput sets the JobInput field's value.
5616func (s *CreateBatchInferenceJobInput) SetJobInput(v *BatchInferenceJobInput) *CreateBatchInferenceJobInput {
5617	s.JobInput = v
5618	return s
5619}
5620
5621// SetJobName sets the JobName field's value.
5622func (s *CreateBatchInferenceJobInput) SetJobName(v string) *CreateBatchInferenceJobInput {
5623	s.JobName = &v
5624	return s
5625}
5626
5627// SetJobOutput sets the JobOutput field's value.
5628func (s *CreateBatchInferenceJobInput) SetJobOutput(v *BatchInferenceJobOutput) *CreateBatchInferenceJobInput {
5629	s.JobOutput = v
5630	return s
5631}
5632
5633// SetNumResults sets the NumResults field's value.
5634func (s *CreateBatchInferenceJobInput) SetNumResults(v int64) *CreateBatchInferenceJobInput {
5635	s.NumResults = &v
5636	return s
5637}
5638
5639// SetRoleArn sets the RoleArn field's value.
5640func (s *CreateBatchInferenceJobInput) SetRoleArn(v string) *CreateBatchInferenceJobInput {
5641	s.RoleArn = &v
5642	return s
5643}
5644
5645// SetSolutionVersionArn sets the SolutionVersionArn field's value.
5646func (s *CreateBatchInferenceJobInput) SetSolutionVersionArn(v string) *CreateBatchInferenceJobInput {
5647	s.SolutionVersionArn = &v
5648	return s
5649}
5650
5651type CreateBatchInferenceJobOutput struct {
5652	_ struct{} `type:"structure"`
5653
5654	// The ARN of the batch inference job.
5655	BatchInferenceJobArn *string `locationName:"batchInferenceJobArn" type:"string"`
5656}
5657
5658// String returns the string representation
5659func (s CreateBatchInferenceJobOutput) String() string {
5660	return awsutil.Prettify(s)
5661}
5662
5663// GoString returns the string representation
5664func (s CreateBatchInferenceJobOutput) GoString() string {
5665	return s.String()
5666}
5667
5668// SetBatchInferenceJobArn sets the BatchInferenceJobArn field's value.
5669func (s *CreateBatchInferenceJobOutput) SetBatchInferenceJobArn(v string) *CreateBatchInferenceJobOutput {
5670	s.BatchInferenceJobArn = &v
5671	return s
5672}
5673
5674type CreateCampaignInput struct {
5675	_ struct{} `type:"structure"`
5676
5677	// The configuration details of a campaign.
5678	CampaignConfig *CampaignConfig `locationName:"campaignConfig" type:"structure"`
5679
5680	// Specifies the requested minimum provisioned transactions (recommendations)
5681	// per second that Amazon Personalize will support.
5682	//
5683	// MinProvisionedTPS is a required field
5684	MinProvisionedTPS *int64 `locationName:"minProvisionedTPS" min:"1" type:"integer" required:"true"`
5685
5686	// A name for the new campaign. The campaign name must be unique within your
5687	// account.
5688	//
5689	// Name is a required field
5690	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5691
5692	// The Amazon Resource Name (ARN) of the solution version to deploy.
5693	//
5694	// SolutionVersionArn is a required field
5695	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string" required:"true"`
5696}
5697
5698// String returns the string representation
5699func (s CreateCampaignInput) String() string {
5700	return awsutil.Prettify(s)
5701}
5702
5703// GoString returns the string representation
5704func (s CreateCampaignInput) GoString() string {
5705	return s.String()
5706}
5707
5708// Validate inspects the fields of the type to determine if they are valid.
5709func (s *CreateCampaignInput) Validate() error {
5710	invalidParams := request.ErrInvalidParams{Context: "CreateCampaignInput"}
5711	if s.MinProvisionedTPS == nil {
5712		invalidParams.Add(request.NewErrParamRequired("MinProvisionedTPS"))
5713	}
5714	if s.MinProvisionedTPS != nil && *s.MinProvisionedTPS < 1 {
5715		invalidParams.Add(request.NewErrParamMinValue("MinProvisionedTPS", 1))
5716	}
5717	if s.Name == nil {
5718		invalidParams.Add(request.NewErrParamRequired("Name"))
5719	}
5720	if s.Name != nil && len(*s.Name) < 1 {
5721		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5722	}
5723	if s.SolutionVersionArn == nil {
5724		invalidParams.Add(request.NewErrParamRequired("SolutionVersionArn"))
5725	}
5726
5727	if invalidParams.Len() > 0 {
5728		return invalidParams
5729	}
5730	return nil
5731}
5732
5733// SetCampaignConfig sets the CampaignConfig field's value.
5734func (s *CreateCampaignInput) SetCampaignConfig(v *CampaignConfig) *CreateCampaignInput {
5735	s.CampaignConfig = v
5736	return s
5737}
5738
5739// SetMinProvisionedTPS sets the MinProvisionedTPS field's value.
5740func (s *CreateCampaignInput) SetMinProvisionedTPS(v int64) *CreateCampaignInput {
5741	s.MinProvisionedTPS = &v
5742	return s
5743}
5744
5745// SetName sets the Name field's value.
5746func (s *CreateCampaignInput) SetName(v string) *CreateCampaignInput {
5747	s.Name = &v
5748	return s
5749}
5750
5751// SetSolutionVersionArn sets the SolutionVersionArn field's value.
5752func (s *CreateCampaignInput) SetSolutionVersionArn(v string) *CreateCampaignInput {
5753	s.SolutionVersionArn = &v
5754	return s
5755}
5756
5757type CreateCampaignOutput struct {
5758	_ struct{} `type:"structure"`
5759
5760	// The Amazon Resource Name (ARN) of the campaign.
5761	CampaignArn *string `locationName:"campaignArn" type:"string"`
5762}
5763
5764// String returns the string representation
5765func (s CreateCampaignOutput) String() string {
5766	return awsutil.Prettify(s)
5767}
5768
5769// GoString returns the string representation
5770func (s CreateCampaignOutput) GoString() string {
5771	return s.String()
5772}
5773
5774// SetCampaignArn sets the CampaignArn field's value.
5775func (s *CreateCampaignOutput) SetCampaignArn(v string) *CreateCampaignOutput {
5776	s.CampaignArn = &v
5777	return s
5778}
5779
5780type CreateDatasetGroupInput struct {
5781	_ struct{} `type:"structure"`
5782
5783	// The Amazon Resource Name (ARN) of a KMS key used to encrypt the datasets.
5784	KmsKeyArn *string `locationName:"kmsKeyArn" type:"string"`
5785
5786	// The name for the new dataset group.
5787	//
5788	// Name is a required field
5789	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5790
5791	// The ARN of the IAM role that has permissions to access the KMS key. Supplying
5792	// an IAM role is only valid when also specifying a KMS key.
5793	RoleArn *string `locationName:"roleArn" type:"string"`
5794}
5795
5796// String returns the string representation
5797func (s CreateDatasetGroupInput) String() string {
5798	return awsutil.Prettify(s)
5799}
5800
5801// GoString returns the string representation
5802func (s CreateDatasetGroupInput) GoString() string {
5803	return s.String()
5804}
5805
5806// Validate inspects the fields of the type to determine if they are valid.
5807func (s *CreateDatasetGroupInput) Validate() error {
5808	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetGroupInput"}
5809	if s.Name == nil {
5810		invalidParams.Add(request.NewErrParamRequired("Name"))
5811	}
5812	if s.Name != nil && len(*s.Name) < 1 {
5813		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5814	}
5815
5816	if invalidParams.Len() > 0 {
5817		return invalidParams
5818	}
5819	return nil
5820}
5821
5822// SetKmsKeyArn sets the KmsKeyArn field's value.
5823func (s *CreateDatasetGroupInput) SetKmsKeyArn(v string) *CreateDatasetGroupInput {
5824	s.KmsKeyArn = &v
5825	return s
5826}
5827
5828// SetName sets the Name field's value.
5829func (s *CreateDatasetGroupInput) SetName(v string) *CreateDatasetGroupInput {
5830	s.Name = &v
5831	return s
5832}
5833
5834// SetRoleArn sets the RoleArn field's value.
5835func (s *CreateDatasetGroupInput) SetRoleArn(v string) *CreateDatasetGroupInput {
5836	s.RoleArn = &v
5837	return s
5838}
5839
5840type CreateDatasetGroupOutput struct {
5841	_ struct{} `type:"structure"`
5842
5843	// The Amazon Resource Name (ARN) of the new dataset group.
5844	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
5845}
5846
5847// String returns the string representation
5848func (s CreateDatasetGroupOutput) String() string {
5849	return awsutil.Prettify(s)
5850}
5851
5852// GoString returns the string representation
5853func (s CreateDatasetGroupOutput) GoString() string {
5854	return s.String()
5855}
5856
5857// SetDatasetGroupArn sets the DatasetGroupArn field's value.
5858func (s *CreateDatasetGroupOutput) SetDatasetGroupArn(v string) *CreateDatasetGroupOutput {
5859	s.DatasetGroupArn = &v
5860	return s
5861}
5862
5863type CreateDatasetImportJobInput struct {
5864	_ struct{} `type:"structure"`
5865
5866	// The Amazon S3 bucket that contains the training data to import.
5867	//
5868	// DataSource is a required field
5869	DataSource *DataSource `locationName:"dataSource" type:"structure" required:"true"`
5870
5871	// The ARN of the dataset that receives the imported data.
5872	//
5873	// DatasetArn is a required field
5874	DatasetArn *string `locationName:"datasetArn" type:"string" required:"true"`
5875
5876	// The name for the dataset import job.
5877	//
5878	// JobName is a required field
5879	JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"`
5880
5881	// The ARN of the IAM role that has permissions to read from the Amazon S3 data
5882	// source.
5883	//
5884	// RoleArn is a required field
5885	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
5886}
5887
5888// String returns the string representation
5889func (s CreateDatasetImportJobInput) String() string {
5890	return awsutil.Prettify(s)
5891}
5892
5893// GoString returns the string representation
5894func (s CreateDatasetImportJobInput) GoString() string {
5895	return s.String()
5896}
5897
5898// Validate inspects the fields of the type to determine if they are valid.
5899func (s *CreateDatasetImportJobInput) Validate() error {
5900	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetImportJobInput"}
5901	if s.DataSource == nil {
5902		invalidParams.Add(request.NewErrParamRequired("DataSource"))
5903	}
5904	if s.DatasetArn == nil {
5905		invalidParams.Add(request.NewErrParamRequired("DatasetArn"))
5906	}
5907	if s.JobName == nil {
5908		invalidParams.Add(request.NewErrParamRequired("JobName"))
5909	}
5910	if s.JobName != nil && len(*s.JobName) < 1 {
5911		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
5912	}
5913	if s.RoleArn == nil {
5914		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
5915	}
5916
5917	if invalidParams.Len() > 0 {
5918		return invalidParams
5919	}
5920	return nil
5921}
5922
5923// SetDataSource sets the DataSource field's value.
5924func (s *CreateDatasetImportJobInput) SetDataSource(v *DataSource) *CreateDatasetImportJobInput {
5925	s.DataSource = v
5926	return s
5927}
5928
5929// SetDatasetArn sets the DatasetArn field's value.
5930func (s *CreateDatasetImportJobInput) SetDatasetArn(v string) *CreateDatasetImportJobInput {
5931	s.DatasetArn = &v
5932	return s
5933}
5934
5935// SetJobName sets the JobName field's value.
5936func (s *CreateDatasetImportJobInput) SetJobName(v string) *CreateDatasetImportJobInput {
5937	s.JobName = &v
5938	return s
5939}
5940
5941// SetRoleArn sets the RoleArn field's value.
5942func (s *CreateDatasetImportJobInput) SetRoleArn(v string) *CreateDatasetImportJobInput {
5943	s.RoleArn = &v
5944	return s
5945}
5946
5947type CreateDatasetImportJobOutput struct {
5948	_ struct{} `type:"structure"`
5949
5950	// The ARN of the dataset import job.
5951	DatasetImportJobArn *string `locationName:"datasetImportJobArn" type:"string"`
5952}
5953
5954// String returns the string representation
5955func (s CreateDatasetImportJobOutput) String() string {
5956	return awsutil.Prettify(s)
5957}
5958
5959// GoString returns the string representation
5960func (s CreateDatasetImportJobOutput) GoString() string {
5961	return s.String()
5962}
5963
5964// SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
5965func (s *CreateDatasetImportJobOutput) SetDatasetImportJobArn(v string) *CreateDatasetImportJobOutput {
5966	s.DatasetImportJobArn = &v
5967	return s
5968}
5969
5970type CreateDatasetInput struct {
5971	_ struct{} `type:"structure"`
5972
5973	// The Amazon Resource Name (ARN) of the dataset group to add the dataset to.
5974	//
5975	// DatasetGroupArn is a required field
5976	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"`
5977
5978	// The type of dataset.
5979	//
5980	// One of the following (case insensitive) values:
5981	//
5982	//    * Interactions
5983	//
5984	//    * Items
5985	//
5986	//    * Users
5987	//
5988	// DatasetType is a required field
5989	DatasetType *string `locationName:"datasetType" type:"string" required:"true"`
5990
5991	// The name for the dataset.
5992	//
5993	// Name is a required field
5994	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5995
5996	// The ARN of the schema to associate with the dataset. The schema defines the
5997	// dataset fields.
5998	//
5999	// SchemaArn is a required field
6000	SchemaArn *string `locationName:"schemaArn" type:"string" required:"true"`
6001}
6002
6003// String returns the string representation
6004func (s CreateDatasetInput) String() string {
6005	return awsutil.Prettify(s)
6006}
6007
6008// GoString returns the string representation
6009func (s CreateDatasetInput) GoString() string {
6010	return s.String()
6011}
6012
6013// Validate inspects the fields of the type to determine if they are valid.
6014func (s *CreateDatasetInput) Validate() error {
6015	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetInput"}
6016	if s.DatasetGroupArn == nil {
6017		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
6018	}
6019	if s.DatasetType == nil {
6020		invalidParams.Add(request.NewErrParamRequired("DatasetType"))
6021	}
6022	if s.Name == nil {
6023		invalidParams.Add(request.NewErrParamRequired("Name"))
6024	}
6025	if s.Name != nil && len(*s.Name) < 1 {
6026		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6027	}
6028	if s.SchemaArn == nil {
6029		invalidParams.Add(request.NewErrParamRequired("SchemaArn"))
6030	}
6031
6032	if invalidParams.Len() > 0 {
6033		return invalidParams
6034	}
6035	return nil
6036}
6037
6038// SetDatasetGroupArn sets the DatasetGroupArn field's value.
6039func (s *CreateDatasetInput) SetDatasetGroupArn(v string) *CreateDatasetInput {
6040	s.DatasetGroupArn = &v
6041	return s
6042}
6043
6044// SetDatasetType sets the DatasetType field's value.
6045func (s *CreateDatasetInput) SetDatasetType(v string) *CreateDatasetInput {
6046	s.DatasetType = &v
6047	return s
6048}
6049
6050// SetName sets the Name field's value.
6051func (s *CreateDatasetInput) SetName(v string) *CreateDatasetInput {
6052	s.Name = &v
6053	return s
6054}
6055
6056// SetSchemaArn sets the SchemaArn field's value.
6057func (s *CreateDatasetInput) SetSchemaArn(v string) *CreateDatasetInput {
6058	s.SchemaArn = &v
6059	return s
6060}
6061
6062type CreateDatasetOutput struct {
6063	_ struct{} `type:"structure"`
6064
6065	// The ARN of the dataset.
6066	DatasetArn *string `locationName:"datasetArn" type:"string"`
6067}
6068
6069// String returns the string representation
6070func (s CreateDatasetOutput) String() string {
6071	return awsutil.Prettify(s)
6072}
6073
6074// GoString returns the string representation
6075func (s CreateDatasetOutput) GoString() string {
6076	return s.String()
6077}
6078
6079// SetDatasetArn sets the DatasetArn field's value.
6080func (s *CreateDatasetOutput) SetDatasetArn(v string) *CreateDatasetOutput {
6081	s.DatasetArn = &v
6082	return s
6083}
6084
6085type CreateEventTrackerInput struct {
6086	_ struct{} `type:"structure"`
6087
6088	// The Amazon Resource Name (ARN) of the dataset group that receives the event
6089	// data.
6090	//
6091	// DatasetGroupArn is a required field
6092	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"`
6093
6094	// The name for the event tracker.
6095	//
6096	// Name is a required field
6097	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6098}
6099
6100// String returns the string representation
6101func (s CreateEventTrackerInput) String() string {
6102	return awsutil.Prettify(s)
6103}
6104
6105// GoString returns the string representation
6106func (s CreateEventTrackerInput) GoString() string {
6107	return s.String()
6108}
6109
6110// Validate inspects the fields of the type to determine if they are valid.
6111func (s *CreateEventTrackerInput) Validate() error {
6112	invalidParams := request.ErrInvalidParams{Context: "CreateEventTrackerInput"}
6113	if s.DatasetGroupArn == nil {
6114		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
6115	}
6116	if s.Name == nil {
6117		invalidParams.Add(request.NewErrParamRequired("Name"))
6118	}
6119	if s.Name != nil && len(*s.Name) < 1 {
6120		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6121	}
6122
6123	if invalidParams.Len() > 0 {
6124		return invalidParams
6125	}
6126	return nil
6127}
6128
6129// SetDatasetGroupArn sets the DatasetGroupArn field's value.
6130func (s *CreateEventTrackerInput) SetDatasetGroupArn(v string) *CreateEventTrackerInput {
6131	s.DatasetGroupArn = &v
6132	return s
6133}
6134
6135// SetName sets the Name field's value.
6136func (s *CreateEventTrackerInput) SetName(v string) *CreateEventTrackerInput {
6137	s.Name = &v
6138	return s
6139}
6140
6141type CreateEventTrackerOutput struct {
6142	_ struct{} `type:"structure"`
6143
6144	// The ARN of the event tracker.
6145	EventTrackerArn *string `locationName:"eventTrackerArn" type:"string"`
6146
6147	// The ID of the event tracker. Include this ID in requests to the PutEvents
6148	// (https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html)
6149	// API.
6150	TrackingId *string `locationName:"trackingId" type:"string"`
6151}
6152
6153// String returns the string representation
6154func (s CreateEventTrackerOutput) String() string {
6155	return awsutil.Prettify(s)
6156}
6157
6158// GoString returns the string representation
6159func (s CreateEventTrackerOutput) GoString() string {
6160	return s.String()
6161}
6162
6163// SetEventTrackerArn sets the EventTrackerArn field's value.
6164func (s *CreateEventTrackerOutput) SetEventTrackerArn(v string) *CreateEventTrackerOutput {
6165	s.EventTrackerArn = &v
6166	return s
6167}
6168
6169// SetTrackingId sets the TrackingId field's value.
6170func (s *CreateEventTrackerOutput) SetTrackingId(v string) *CreateEventTrackerOutput {
6171	s.TrackingId = &v
6172	return s
6173}
6174
6175type CreateFilterInput struct {
6176	_ struct{} `type:"structure"`
6177
6178	// The ARN of the dataset group that the filter will belong to.
6179	//
6180	// DatasetGroupArn is a required field
6181	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"`
6182
6183	// The filter expression that designates the interaction types that the filter
6184	// will filter out. A filter expression must follow the following format:
6185	//
6186	// EXCLUDE itemId WHERE INTERACTIONS.event_type in ("EVENT_TYPE")
6187	//
6188	// Where "EVENT_TYPE" is the type of event to filter out. To filter out all
6189	// items with any interactions history, set "*" as the EVENT_TYPE. For more
6190	// information, see Using Filters with Amazon Personalize (https://docs.aws.amazon.com/personalize/latest/dg/filters.html).
6191	//
6192	// FilterExpression is a required field
6193	FilterExpression *string `locationName:"filterExpression" min:"1" type:"string" required:"true" sensitive:"true"`
6194
6195	// The name of the filter to create.
6196	//
6197	// Name is a required field
6198	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6199}
6200
6201// String returns the string representation
6202func (s CreateFilterInput) String() string {
6203	return awsutil.Prettify(s)
6204}
6205
6206// GoString returns the string representation
6207func (s CreateFilterInput) GoString() string {
6208	return s.String()
6209}
6210
6211// Validate inspects the fields of the type to determine if they are valid.
6212func (s *CreateFilterInput) Validate() error {
6213	invalidParams := request.ErrInvalidParams{Context: "CreateFilterInput"}
6214	if s.DatasetGroupArn == nil {
6215		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
6216	}
6217	if s.FilterExpression == nil {
6218		invalidParams.Add(request.NewErrParamRequired("FilterExpression"))
6219	}
6220	if s.FilterExpression != nil && len(*s.FilterExpression) < 1 {
6221		invalidParams.Add(request.NewErrParamMinLen("FilterExpression", 1))
6222	}
6223	if s.Name == nil {
6224		invalidParams.Add(request.NewErrParamRequired("Name"))
6225	}
6226	if s.Name != nil && len(*s.Name) < 1 {
6227		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6228	}
6229
6230	if invalidParams.Len() > 0 {
6231		return invalidParams
6232	}
6233	return nil
6234}
6235
6236// SetDatasetGroupArn sets the DatasetGroupArn field's value.
6237func (s *CreateFilterInput) SetDatasetGroupArn(v string) *CreateFilterInput {
6238	s.DatasetGroupArn = &v
6239	return s
6240}
6241
6242// SetFilterExpression sets the FilterExpression field's value.
6243func (s *CreateFilterInput) SetFilterExpression(v string) *CreateFilterInput {
6244	s.FilterExpression = &v
6245	return s
6246}
6247
6248// SetName sets the Name field's value.
6249func (s *CreateFilterInput) SetName(v string) *CreateFilterInput {
6250	s.Name = &v
6251	return s
6252}
6253
6254type CreateFilterOutput struct {
6255	_ struct{} `type:"structure"`
6256
6257	// The ARN of the new filter.
6258	FilterArn *string `locationName:"filterArn" type:"string"`
6259}
6260
6261// String returns the string representation
6262func (s CreateFilterOutput) String() string {
6263	return awsutil.Prettify(s)
6264}
6265
6266// GoString returns the string representation
6267func (s CreateFilterOutput) GoString() string {
6268	return s.String()
6269}
6270
6271// SetFilterArn sets the FilterArn field's value.
6272func (s *CreateFilterOutput) SetFilterArn(v string) *CreateFilterOutput {
6273	s.FilterArn = &v
6274	return s
6275}
6276
6277type CreateSchemaInput struct {
6278	_ struct{} `type:"structure"`
6279
6280	// The name for the schema.
6281	//
6282	// Name is a required field
6283	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6284
6285	// A schema in Avro JSON format.
6286	//
6287	// Schema is a required field
6288	Schema *string `locationName:"schema" type:"string" required:"true"`
6289}
6290
6291// String returns the string representation
6292func (s CreateSchemaInput) String() string {
6293	return awsutil.Prettify(s)
6294}
6295
6296// GoString returns the string representation
6297func (s CreateSchemaInput) GoString() string {
6298	return s.String()
6299}
6300
6301// Validate inspects the fields of the type to determine if they are valid.
6302func (s *CreateSchemaInput) Validate() error {
6303	invalidParams := request.ErrInvalidParams{Context: "CreateSchemaInput"}
6304	if s.Name == nil {
6305		invalidParams.Add(request.NewErrParamRequired("Name"))
6306	}
6307	if s.Name != nil && len(*s.Name) < 1 {
6308		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6309	}
6310	if s.Schema == nil {
6311		invalidParams.Add(request.NewErrParamRequired("Schema"))
6312	}
6313
6314	if invalidParams.Len() > 0 {
6315		return invalidParams
6316	}
6317	return nil
6318}
6319
6320// SetName sets the Name field's value.
6321func (s *CreateSchemaInput) SetName(v string) *CreateSchemaInput {
6322	s.Name = &v
6323	return s
6324}
6325
6326// SetSchema sets the Schema field's value.
6327func (s *CreateSchemaInput) SetSchema(v string) *CreateSchemaInput {
6328	s.Schema = &v
6329	return s
6330}
6331
6332type CreateSchemaOutput struct {
6333	_ struct{} `type:"structure"`
6334
6335	// The Amazon Resource Name (ARN) of the created schema.
6336	SchemaArn *string `locationName:"schemaArn" type:"string"`
6337}
6338
6339// String returns the string representation
6340func (s CreateSchemaOutput) String() string {
6341	return awsutil.Prettify(s)
6342}
6343
6344// GoString returns the string representation
6345func (s CreateSchemaOutput) GoString() string {
6346	return s.String()
6347}
6348
6349// SetSchemaArn sets the SchemaArn field's value.
6350func (s *CreateSchemaOutput) SetSchemaArn(v string) *CreateSchemaOutput {
6351	s.SchemaArn = &v
6352	return s
6353}
6354
6355type CreateSolutionInput struct {
6356	_ struct{} `type:"structure"`
6357
6358	// The Amazon Resource Name (ARN) of the dataset group that provides the training
6359	// data.
6360	//
6361	// DatasetGroupArn is a required field
6362	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"`
6363
6364	// When your have multiple event types (using an EVENT_TYPE schema field), this
6365	// parameter specifies which event type (for example, 'click' or 'like') is
6366	// used for training the model.
6367	EventType *string `locationName:"eventType" type:"string"`
6368
6369	// The name for the solution.
6370	//
6371	// Name is a required field
6372	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6373
6374	// Whether to perform automated machine learning (AutoML). The default is false.
6375	// For this case, you must specify recipeArn.
6376	//
6377	// When set to true, Amazon Personalize analyzes your training data and selects
6378	// the optimal USER_PERSONALIZATION recipe and hyperparameters. In this case,
6379	// you must omit recipeArn. Amazon Personalize determines the optimal recipe
6380	// by running tests with different values for the hyperparameters. AutoML lengthens
6381	// the training process as compared to selecting a specific recipe.
6382	PerformAutoML *bool `locationName:"performAutoML" type:"boolean"`
6383
6384	// Whether to perform hyperparameter optimization (HPO) on the specified or
6385	// selected recipe. The default is false.
6386	//
6387	// When performing AutoML, this parameter is always true and you should not
6388	// set it to false.
6389	PerformHPO *bool `locationName:"performHPO" type:"boolean"`
6390
6391	// The ARN of the recipe to use for model training. Only specified when performAutoML
6392	// is false.
6393	RecipeArn *string `locationName:"recipeArn" type:"string"`
6394
6395	// The configuration to use with the solution. When performAutoML is set to
6396	// true, Amazon Personalize only evaluates the autoMLConfig section of the solution
6397	// configuration.
6398	SolutionConfig *SolutionConfig `locationName:"solutionConfig" type:"structure"`
6399}
6400
6401// String returns the string representation
6402func (s CreateSolutionInput) String() string {
6403	return awsutil.Prettify(s)
6404}
6405
6406// GoString returns the string representation
6407func (s CreateSolutionInput) GoString() string {
6408	return s.String()
6409}
6410
6411// Validate inspects the fields of the type to determine if they are valid.
6412func (s *CreateSolutionInput) Validate() error {
6413	invalidParams := request.ErrInvalidParams{Context: "CreateSolutionInput"}
6414	if s.DatasetGroupArn == nil {
6415		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
6416	}
6417	if s.Name == nil {
6418		invalidParams.Add(request.NewErrParamRequired("Name"))
6419	}
6420	if s.Name != nil && len(*s.Name) < 1 {
6421		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6422	}
6423	if s.SolutionConfig != nil {
6424		if err := s.SolutionConfig.Validate(); err != nil {
6425			invalidParams.AddNested("SolutionConfig", err.(request.ErrInvalidParams))
6426		}
6427	}
6428
6429	if invalidParams.Len() > 0 {
6430		return invalidParams
6431	}
6432	return nil
6433}
6434
6435// SetDatasetGroupArn sets the DatasetGroupArn field's value.
6436func (s *CreateSolutionInput) SetDatasetGroupArn(v string) *CreateSolutionInput {
6437	s.DatasetGroupArn = &v
6438	return s
6439}
6440
6441// SetEventType sets the EventType field's value.
6442func (s *CreateSolutionInput) SetEventType(v string) *CreateSolutionInput {
6443	s.EventType = &v
6444	return s
6445}
6446
6447// SetName sets the Name field's value.
6448func (s *CreateSolutionInput) SetName(v string) *CreateSolutionInput {
6449	s.Name = &v
6450	return s
6451}
6452
6453// SetPerformAutoML sets the PerformAutoML field's value.
6454func (s *CreateSolutionInput) SetPerformAutoML(v bool) *CreateSolutionInput {
6455	s.PerformAutoML = &v
6456	return s
6457}
6458
6459// SetPerformHPO sets the PerformHPO field's value.
6460func (s *CreateSolutionInput) SetPerformHPO(v bool) *CreateSolutionInput {
6461	s.PerformHPO = &v
6462	return s
6463}
6464
6465// SetRecipeArn sets the RecipeArn field's value.
6466func (s *CreateSolutionInput) SetRecipeArn(v string) *CreateSolutionInput {
6467	s.RecipeArn = &v
6468	return s
6469}
6470
6471// SetSolutionConfig sets the SolutionConfig field's value.
6472func (s *CreateSolutionInput) SetSolutionConfig(v *SolutionConfig) *CreateSolutionInput {
6473	s.SolutionConfig = v
6474	return s
6475}
6476
6477type CreateSolutionOutput struct {
6478	_ struct{} `type:"structure"`
6479
6480	// The ARN of the solution.
6481	SolutionArn *string `locationName:"solutionArn" type:"string"`
6482}
6483
6484// String returns the string representation
6485func (s CreateSolutionOutput) String() string {
6486	return awsutil.Prettify(s)
6487}
6488
6489// GoString returns the string representation
6490func (s CreateSolutionOutput) GoString() string {
6491	return s.String()
6492}
6493
6494// SetSolutionArn sets the SolutionArn field's value.
6495func (s *CreateSolutionOutput) SetSolutionArn(v string) *CreateSolutionOutput {
6496	s.SolutionArn = &v
6497	return s
6498}
6499
6500type CreateSolutionVersionInput struct {
6501	_ struct{} `type:"structure"`
6502
6503	// The Amazon Resource Name (ARN) of the solution containing the training configuration
6504	// information.
6505	//
6506	// SolutionArn is a required field
6507	SolutionArn *string `locationName:"solutionArn" type:"string" required:"true"`
6508
6509	// The scope of training to be performed when creating the solution version.
6510	// The FULL option trains the solution version based on the entirety of the
6511	// input solution's training data, while the UPDATE option processes only the
6512	// data that has changed in comparison to the input solution. Choose UPDATE
6513	// when you want to incrementally update your solution version instead of creating
6514	// an entirely new one.
6515	//
6516	// The UPDATE option can only be used when you already have an active solution
6517	// version created from the input solution using the FULL option and the input
6518	// solution was trained with the native-recipe-hrnn-coldstart recipe.
6519	TrainingMode *string `locationName:"trainingMode" type:"string" enum:"TrainingMode"`
6520}
6521
6522// String returns the string representation
6523func (s CreateSolutionVersionInput) String() string {
6524	return awsutil.Prettify(s)
6525}
6526
6527// GoString returns the string representation
6528func (s CreateSolutionVersionInput) GoString() string {
6529	return s.String()
6530}
6531
6532// Validate inspects the fields of the type to determine if they are valid.
6533func (s *CreateSolutionVersionInput) Validate() error {
6534	invalidParams := request.ErrInvalidParams{Context: "CreateSolutionVersionInput"}
6535	if s.SolutionArn == nil {
6536		invalidParams.Add(request.NewErrParamRequired("SolutionArn"))
6537	}
6538
6539	if invalidParams.Len() > 0 {
6540		return invalidParams
6541	}
6542	return nil
6543}
6544
6545// SetSolutionArn sets the SolutionArn field's value.
6546func (s *CreateSolutionVersionInput) SetSolutionArn(v string) *CreateSolutionVersionInput {
6547	s.SolutionArn = &v
6548	return s
6549}
6550
6551// SetTrainingMode sets the TrainingMode field's value.
6552func (s *CreateSolutionVersionInput) SetTrainingMode(v string) *CreateSolutionVersionInput {
6553	s.TrainingMode = &v
6554	return s
6555}
6556
6557type CreateSolutionVersionOutput struct {
6558	_ struct{} `type:"structure"`
6559
6560	// The ARN of the new solution version.
6561	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
6562}
6563
6564// String returns the string representation
6565func (s CreateSolutionVersionOutput) String() string {
6566	return awsutil.Prettify(s)
6567}
6568
6569// GoString returns the string representation
6570func (s CreateSolutionVersionOutput) GoString() string {
6571	return s.String()
6572}
6573
6574// SetSolutionVersionArn sets the SolutionVersionArn field's value.
6575func (s *CreateSolutionVersionOutput) SetSolutionVersionArn(v string) *CreateSolutionVersionOutput {
6576	s.SolutionVersionArn = &v
6577	return s
6578}
6579
6580// Describes the data source that contains the data to upload to a dataset.
6581type DataSource struct {
6582	_ struct{} `type:"structure"`
6583
6584	// The path to the Amazon S3 bucket where the data that you want to upload to
6585	// your dataset is stored. For example:
6586	//
6587	// s3://bucket-name/training-data.csv
6588	DataLocation *string `locationName:"dataLocation" type:"string"`
6589}
6590
6591// String returns the string representation
6592func (s DataSource) String() string {
6593	return awsutil.Prettify(s)
6594}
6595
6596// GoString returns the string representation
6597func (s DataSource) GoString() string {
6598	return s.String()
6599}
6600
6601// SetDataLocation sets the DataLocation field's value.
6602func (s *DataSource) SetDataLocation(v string) *DataSource {
6603	s.DataLocation = &v
6604	return s
6605}
6606
6607// Provides metadata for a dataset.
6608type Dataset struct {
6609	_ struct{} `type:"structure"`
6610
6611	// The creation date and time (in Unix time) of the dataset.
6612	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
6613
6614	// The Amazon Resource Name (ARN) of the dataset that you want metadata for.
6615	DatasetArn *string `locationName:"datasetArn" type:"string"`
6616
6617	// The Amazon Resource Name (ARN) of the dataset group.
6618	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
6619
6620	// One of the following values:
6621	//
6622	//    * Interactions
6623	//
6624	//    * Items
6625	//
6626	//    * Users
6627	DatasetType *string `locationName:"datasetType" type:"string"`
6628
6629	// A time stamp that shows when the dataset was updated.
6630	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
6631
6632	// The name of the dataset.
6633	Name *string `locationName:"name" min:"1" type:"string"`
6634
6635	// The ARN of the associated schema.
6636	SchemaArn *string `locationName:"schemaArn" type:"string"`
6637
6638	// The status of the dataset.
6639	//
6640	// A dataset can be in one of the following states:
6641	//
6642	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
6643	//
6644	//    * DELETE PENDING > DELETE IN_PROGRESS
6645	Status *string `locationName:"status" type:"string"`
6646}
6647
6648// String returns the string representation
6649func (s Dataset) String() string {
6650	return awsutil.Prettify(s)
6651}
6652
6653// GoString returns the string representation
6654func (s Dataset) GoString() string {
6655	return s.String()
6656}
6657
6658// SetCreationDateTime sets the CreationDateTime field's value.
6659func (s *Dataset) SetCreationDateTime(v time.Time) *Dataset {
6660	s.CreationDateTime = &v
6661	return s
6662}
6663
6664// SetDatasetArn sets the DatasetArn field's value.
6665func (s *Dataset) SetDatasetArn(v string) *Dataset {
6666	s.DatasetArn = &v
6667	return s
6668}
6669
6670// SetDatasetGroupArn sets the DatasetGroupArn field's value.
6671func (s *Dataset) SetDatasetGroupArn(v string) *Dataset {
6672	s.DatasetGroupArn = &v
6673	return s
6674}
6675
6676// SetDatasetType sets the DatasetType field's value.
6677func (s *Dataset) SetDatasetType(v string) *Dataset {
6678	s.DatasetType = &v
6679	return s
6680}
6681
6682// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
6683func (s *Dataset) SetLastUpdatedDateTime(v time.Time) *Dataset {
6684	s.LastUpdatedDateTime = &v
6685	return s
6686}
6687
6688// SetName sets the Name field's value.
6689func (s *Dataset) SetName(v string) *Dataset {
6690	s.Name = &v
6691	return s
6692}
6693
6694// SetSchemaArn sets the SchemaArn field's value.
6695func (s *Dataset) SetSchemaArn(v string) *Dataset {
6696	s.SchemaArn = &v
6697	return s
6698}
6699
6700// SetStatus sets the Status field's value.
6701func (s *Dataset) SetStatus(v string) *Dataset {
6702	s.Status = &v
6703	return s
6704}
6705
6706// A dataset group is a collection of related datasets (Interactions, User,
6707// and Item). You create a dataset group by calling CreateDatasetGroup. You
6708// then create a dataset and add it to a dataset group by calling CreateDataset.
6709// The dataset group is used to create and train a solution by calling CreateSolution.
6710// A dataset group can contain only one of each type of dataset.
6711//
6712// You can specify an AWS Key Management Service (KMS) key to encrypt the datasets
6713// in the group.
6714type DatasetGroup struct {
6715	_ struct{} `type:"structure"`
6716
6717	// The creation date and time (in Unix time) of the dataset group.
6718	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
6719
6720	// The Amazon Resource Name (ARN) of the dataset group.
6721	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
6722
6723	// If creating a dataset group fails, provides the reason why.
6724	FailureReason *string `locationName:"failureReason" type:"string"`
6725
6726	// The Amazon Resource Name (ARN) of the KMS key used to encrypt the datasets.
6727	KmsKeyArn *string `locationName:"kmsKeyArn" type:"string"`
6728
6729	// The last update date and time (in Unix time) of the dataset group.
6730	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
6731
6732	// The name of the dataset group.
6733	Name *string `locationName:"name" min:"1" type:"string"`
6734
6735	// The ARN of the IAM role that has permissions to create the dataset group.
6736	RoleArn *string `locationName:"roleArn" type:"string"`
6737
6738	// The current status of the dataset group.
6739	//
6740	// A dataset group can be in one of the following states:
6741	//
6742	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
6743	//
6744	//    * DELETE PENDING
6745	Status *string `locationName:"status" type:"string"`
6746}
6747
6748// String returns the string representation
6749func (s DatasetGroup) String() string {
6750	return awsutil.Prettify(s)
6751}
6752
6753// GoString returns the string representation
6754func (s DatasetGroup) GoString() string {
6755	return s.String()
6756}
6757
6758// SetCreationDateTime sets the CreationDateTime field's value.
6759func (s *DatasetGroup) SetCreationDateTime(v time.Time) *DatasetGroup {
6760	s.CreationDateTime = &v
6761	return s
6762}
6763
6764// SetDatasetGroupArn sets the DatasetGroupArn field's value.
6765func (s *DatasetGroup) SetDatasetGroupArn(v string) *DatasetGroup {
6766	s.DatasetGroupArn = &v
6767	return s
6768}
6769
6770// SetFailureReason sets the FailureReason field's value.
6771func (s *DatasetGroup) SetFailureReason(v string) *DatasetGroup {
6772	s.FailureReason = &v
6773	return s
6774}
6775
6776// SetKmsKeyArn sets the KmsKeyArn field's value.
6777func (s *DatasetGroup) SetKmsKeyArn(v string) *DatasetGroup {
6778	s.KmsKeyArn = &v
6779	return s
6780}
6781
6782// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
6783func (s *DatasetGroup) SetLastUpdatedDateTime(v time.Time) *DatasetGroup {
6784	s.LastUpdatedDateTime = &v
6785	return s
6786}
6787
6788// SetName sets the Name field's value.
6789func (s *DatasetGroup) SetName(v string) *DatasetGroup {
6790	s.Name = &v
6791	return s
6792}
6793
6794// SetRoleArn sets the RoleArn field's value.
6795func (s *DatasetGroup) SetRoleArn(v string) *DatasetGroup {
6796	s.RoleArn = &v
6797	return s
6798}
6799
6800// SetStatus sets the Status field's value.
6801func (s *DatasetGroup) SetStatus(v string) *DatasetGroup {
6802	s.Status = &v
6803	return s
6804}
6805
6806// Provides a summary of the properties of a dataset group. For a complete listing,
6807// call the DescribeDatasetGroup API.
6808type DatasetGroupSummary struct {
6809	_ struct{} `type:"structure"`
6810
6811	// The date and time (in Unix time) that the dataset group was created.
6812	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
6813
6814	// The Amazon Resource Name (ARN) of the dataset group.
6815	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
6816
6817	// If creating a dataset group fails, the reason behind the failure.
6818	FailureReason *string `locationName:"failureReason" type:"string"`
6819
6820	// The date and time (in Unix time) that the dataset group was last updated.
6821	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
6822
6823	// The name of the dataset group.
6824	Name *string `locationName:"name" min:"1" type:"string"`
6825
6826	// The status of the dataset group.
6827	//
6828	// A dataset group can be in one of the following states:
6829	//
6830	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
6831	//
6832	//    * DELETE PENDING
6833	Status *string `locationName:"status" type:"string"`
6834}
6835
6836// String returns the string representation
6837func (s DatasetGroupSummary) String() string {
6838	return awsutil.Prettify(s)
6839}
6840
6841// GoString returns the string representation
6842func (s DatasetGroupSummary) GoString() string {
6843	return s.String()
6844}
6845
6846// SetCreationDateTime sets the CreationDateTime field's value.
6847func (s *DatasetGroupSummary) SetCreationDateTime(v time.Time) *DatasetGroupSummary {
6848	s.CreationDateTime = &v
6849	return s
6850}
6851
6852// SetDatasetGroupArn sets the DatasetGroupArn field's value.
6853func (s *DatasetGroupSummary) SetDatasetGroupArn(v string) *DatasetGroupSummary {
6854	s.DatasetGroupArn = &v
6855	return s
6856}
6857
6858// SetFailureReason sets the FailureReason field's value.
6859func (s *DatasetGroupSummary) SetFailureReason(v string) *DatasetGroupSummary {
6860	s.FailureReason = &v
6861	return s
6862}
6863
6864// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
6865func (s *DatasetGroupSummary) SetLastUpdatedDateTime(v time.Time) *DatasetGroupSummary {
6866	s.LastUpdatedDateTime = &v
6867	return s
6868}
6869
6870// SetName sets the Name field's value.
6871func (s *DatasetGroupSummary) SetName(v string) *DatasetGroupSummary {
6872	s.Name = &v
6873	return s
6874}
6875
6876// SetStatus sets the Status field's value.
6877func (s *DatasetGroupSummary) SetStatus(v string) *DatasetGroupSummary {
6878	s.Status = &v
6879	return s
6880}
6881
6882// Describes a job that imports training data from a data source (Amazon S3
6883// bucket) to an Amazon Personalize dataset. For more information, see CreateDatasetImportJob.
6884//
6885// A dataset import job can be in one of the following states:
6886//
6887//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
6888type DatasetImportJob struct {
6889	_ struct{} `type:"structure"`
6890
6891	// The creation date and time (in Unix time) of the dataset import job.
6892	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
6893
6894	// The Amazon S3 bucket that contains the training data to import.
6895	DataSource *DataSource `locationName:"dataSource" type:"structure"`
6896
6897	// The Amazon Resource Name (ARN) of the dataset that receives the imported
6898	// data.
6899	DatasetArn *string `locationName:"datasetArn" type:"string"`
6900
6901	// The ARN of the dataset import job.
6902	DatasetImportJobArn *string `locationName:"datasetImportJobArn" type:"string"`
6903
6904	// If a dataset import job fails, provides the reason why.
6905	FailureReason *string `locationName:"failureReason" type:"string"`
6906
6907	// The name of the import job.
6908	JobName *string `locationName:"jobName" min:"1" type:"string"`
6909
6910	// The date and time (in Unix time) the dataset was last updated.
6911	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
6912
6913	// The ARN of the AWS Identity and Access Management (IAM) role that has permissions
6914	// to read from the Amazon S3 data source.
6915	RoleArn *string `locationName:"roleArn" type:"string"`
6916
6917	// The status of the dataset import job.
6918	//
6919	// A dataset import job can be in one of the following states:
6920	//
6921	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
6922	Status *string `locationName:"status" type:"string"`
6923}
6924
6925// String returns the string representation
6926func (s DatasetImportJob) String() string {
6927	return awsutil.Prettify(s)
6928}
6929
6930// GoString returns the string representation
6931func (s DatasetImportJob) GoString() string {
6932	return s.String()
6933}
6934
6935// SetCreationDateTime sets the CreationDateTime field's value.
6936func (s *DatasetImportJob) SetCreationDateTime(v time.Time) *DatasetImportJob {
6937	s.CreationDateTime = &v
6938	return s
6939}
6940
6941// SetDataSource sets the DataSource field's value.
6942func (s *DatasetImportJob) SetDataSource(v *DataSource) *DatasetImportJob {
6943	s.DataSource = v
6944	return s
6945}
6946
6947// SetDatasetArn sets the DatasetArn field's value.
6948func (s *DatasetImportJob) SetDatasetArn(v string) *DatasetImportJob {
6949	s.DatasetArn = &v
6950	return s
6951}
6952
6953// SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
6954func (s *DatasetImportJob) SetDatasetImportJobArn(v string) *DatasetImportJob {
6955	s.DatasetImportJobArn = &v
6956	return s
6957}
6958
6959// SetFailureReason sets the FailureReason field's value.
6960func (s *DatasetImportJob) SetFailureReason(v string) *DatasetImportJob {
6961	s.FailureReason = &v
6962	return s
6963}
6964
6965// SetJobName sets the JobName field's value.
6966func (s *DatasetImportJob) SetJobName(v string) *DatasetImportJob {
6967	s.JobName = &v
6968	return s
6969}
6970
6971// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
6972func (s *DatasetImportJob) SetLastUpdatedDateTime(v time.Time) *DatasetImportJob {
6973	s.LastUpdatedDateTime = &v
6974	return s
6975}
6976
6977// SetRoleArn sets the RoleArn field's value.
6978func (s *DatasetImportJob) SetRoleArn(v string) *DatasetImportJob {
6979	s.RoleArn = &v
6980	return s
6981}
6982
6983// SetStatus sets the Status field's value.
6984func (s *DatasetImportJob) SetStatus(v string) *DatasetImportJob {
6985	s.Status = &v
6986	return s
6987}
6988
6989// Provides a summary of the properties of a dataset import job. For a complete
6990// listing, call the DescribeDatasetImportJob API.
6991type DatasetImportJobSummary struct {
6992	_ struct{} `type:"structure"`
6993
6994	// The date and time (in Unix time) that the dataset import job was created.
6995	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
6996
6997	// The Amazon Resource Name (ARN) of the dataset import job.
6998	DatasetImportJobArn *string `locationName:"datasetImportJobArn" type:"string"`
6999
7000	// If a dataset import job fails, the reason behind the failure.
7001	FailureReason *string `locationName:"failureReason" type:"string"`
7002
7003	// The name of the dataset import job.
7004	JobName *string `locationName:"jobName" min:"1" type:"string"`
7005
7006	// The date and time (in Unix time) that the dataset was last updated.
7007	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
7008
7009	// The status of the dataset import job.
7010	//
7011	// A dataset import job can be in one of the following states:
7012	//
7013	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
7014	Status *string `locationName:"status" type:"string"`
7015}
7016
7017// String returns the string representation
7018func (s DatasetImportJobSummary) String() string {
7019	return awsutil.Prettify(s)
7020}
7021
7022// GoString returns the string representation
7023func (s DatasetImportJobSummary) GoString() string {
7024	return s.String()
7025}
7026
7027// SetCreationDateTime sets the CreationDateTime field's value.
7028func (s *DatasetImportJobSummary) SetCreationDateTime(v time.Time) *DatasetImportJobSummary {
7029	s.CreationDateTime = &v
7030	return s
7031}
7032
7033// SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
7034func (s *DatasetImportJobSummary) SetDatasetImportJobArn(v string) *DatasetImportJobSummary {
7035	s.DatasetImportJobArn = &v
7036	return s
7037}
7038
7039// SetFailureReason sets the FailureReason field's value.
7040func (s *DatasetImportJobSummary) SetFailureReason(v string) *DatasetImportJobSummary {
7041	s.FailureReason = &v
7042	return s
7043}
7044
7045// SetJobName sets the JobName field's value.
7046func (s *DatasetImportJobSummary) SetJobName(v string) *DatasetImportJobSummary {
7047	s.JobName = &v
7048	return s
7049}
7050
7051// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
7052func (s *DatasetImportJobSummary) SetLastUpdatedDateTime(v time.Time) *DatasetImportJobSummary {
7053	s.LastUpdatedDateTime = &v
7054	return s
7055}
7056
7057// SetStatus sets the Status field's value.
7058func (s *DatasetImportJobSummary) SetStatus(v string) *DatasetImportJobSummary {
7059	s.Status = &v
7060	return s
7061}
7062
7063// Describes the schema for a dataset. For more information on schemas, see
7064// CreateSchema.
7065type DatasetSchema struct {
7066	_ struct{} `type:"structure"`
7067
7068	// The date and time (in Unix time) that the schema was created.
7069	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
7070
7071	// The date and time (in Unix time) that the schema was last updated.
7072	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
7073
7074	// The name of the schema.
7075	Name *string `locationName:"name" min:"1" type:"string"`
7076
7077	// The schema.
7078	Schema *string `locationName:"schema" type:"string"`
7079
7080	// The Amazon Resource Name (ARN) of the schema.
7081	SchemaArn *string `locationName:"schemaArn" type:"string"`
7082}
7083
7084// String returns the string representation
7085func (s DatasetSchema) String() string {
7086	return awsutil.Prettify(s)
7087}
7088
7089// GoString returns the string representation
7090func (s DatasetSchema) GoString() string {
7091	return s.String()
7092}
7093
7094// SetCreationDateTime sets the CreationDateTime field's value.
7095func (s *DatasetSchema) SetCreationDateTime(v time.Time) *DatasetSchema {
7096	s.CreationDateTime = &v
7097	return s
7098}
7099
7100// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
7101func (s *DatasetSchema) SetLastUpdatedDateTime(v time.Time) *DatasetSchema {
7102	s.LastUpdatedDateTime = &v
7103	return s
7104}
7105
7106// SetName sets the Name field's value.
7107func (s *DatasetSchema) SetName(v string) *DatasetSchema {
7108	s.Name = &v
7109	return s
7110}
7111
7112// SetSchema sets the Schema field's value.
7113func (s *DatasetSchema) SetSchema(v string) *DatasetSchema {
7114	s.Schema = &v
7115	return s
7116}
7117
7118// SetSchemaArn sets the SchemaArn field's value.
7119func (s *DatasetSchema) SetSchemaArn(v string) *DatasetSchema {
7120	s.SchemaArn = &v
7121	return s
7122}
7123
7124// Provides a summary of the properties of a dataset schema. For a complete
7125// listing, call the DescribeSchema API.
7126type DatasetSchemaSummary struct {
7127	_ struct{} `type:"structure"`
7128
7129	// The date and time (in Unix time) that the schema was created.
7130	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
7131
7132	// The date and time (in Unix time) that the schema was last updated.
7133	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
7134
7135	// The name of the schema.
7136	Name *string `locationName:"name" min:"1" type:"string"`
7137
7138	// The Amazon Resource Name (ARN) of the schema.
7139	SchemaArn *string `locationName:"schemaArn" type:"string"`
7140}
7141
7142// String returns the string representation
7143func (s DatasetSchemaSummary) String() string {
7144	return awsutil.Prettify(s)
7145}
7146
7147// GoString returns the string representation
7148func (s DatasetSchemaSummary) GoString() string {
7149	return s.String()
7150}
7151
7152// SetCreationDateTime sets the CreationDateTime field's value.
7153func (s *DatasetSchemaSummary) SetCreationDateTime(v time.Time) *DatasetSchemaSummary {
7154	s.CreationDateTime = &v
7155	return s
7156}
7157
7158// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
7159func (s *DatasetSchemaSummary) SetLastUpdatedDateTime(v time.Time) *DatasetSchemaSummary {
7160	s.LastUpdatedDateTime = &v
7161	return s
7162}
7163
7164// SetName sets the Name field's value.
7165func (s *DatasetSchemaSummary) SetName(v string) *DatasetSchemaSummary {
7166	s.Name = &v
7167	return s
7168}
7169
7170// SetSchemaArn sets the SchemaArn field's value.
7171func (s *DatasetSchemaSummary) SetSchemaArn(v string) *DatasetSchemaSummary {
7172	s.SchemaArn = &v
7173	return s
7174}
7175
7176// Provides a summary of the properties of a dataset. For a complete listing,
7177// call the DescribeDataset API.
7178type DatasetSummary struct {
7179	_ struct{} `type:"structure"`
7180
7181	// The date and time (in Unix time) that the dataset was created.
7182	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
7183
7184	// The Amazon Resource Name (ARN) of the dataset.
7185	DatasetArn *string `locationName:"datasetArn" type:"string"`
7186
7187	// The dataset type. One of the following values:
7188	//
7189	//    * Interactions
7190	//
7191	//    * Items
7192	//
7193	//    * Users
7194	//
7195	//    * Event-Interactions
7196	DatasetType *string `locationName:"datasetType" type:"string"`
7197
7198	// The date and time (in Unix time) that the dataset was last updated.
7199	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
7200
7201	// The name of the dataset.
7202	Name *string `locationName:"name" min:"1" type:"string"`
7203
7204	// The status of the dataset.
7205	//
7206	// A dataset can be in one of the following states:
7207	//
7208	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
7209	//
7210	//    * DELETE PENDING > DELETE IN_PROGRESS
7211	Status *string `locationName:"status" type:"string"`
7212}
7213
7214// String returns the string representation
7215func (s DatasetSummary) String() string {
7216	return awsutil.Prettify(s)
7217}
7218
7219// GoString returns the string representation
7220func (s DatasetSummary) GoString() string {
7221	return s.String()
7222}
7223
7224// SetCreationDateTime sets the CreationDateTime field's value.
7225func (s *DatasetSummary) SetCreationDateTime(v time.Time) *DatasetSummary {
7226	s.CreationDateTime = &v
7227	return s
7228}
7229
7230// SetDatasetArn sets the DatasetArn field's value.
7231func (s *DatasetSummary) SetDatasetArn(v string) *DatasetSummary {
7232	s.DatasetArn = &v
7233	return s
7234}
7235
7236// SetDatasetType sets the DatasetType field's value.
7237func (s *DatasetSummary) SetDatasetType(v string) *DatasetSummary {
7238	s.DatasetType = &v
7239	return s
7240}
7241
7242// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
7243func (s *DatasetSummary) SetLastUpdatedDateTime(v time.Time) *DatasetSummary {
7244	s.LastUpdatedDateTime = &v
7245	return s
7246}
7247
7248// SetName sets the Name field's value.
7249func (s *DatasetSummary) SetName(v string) *DatasetSummary {
7250	s.Name = &v
7251	return s
7252}
7253
7254// SetStatus sets the Status field's value.
7255func (s *DatasetSummary) SetStatus(v string) *DatasetSummary {
7256	s.Status = &v
7257	return s
7258}
7259
7260// Provides the name and default range of a categorical hyperparameter and whether
7261// the hyperparameter is tunable. A tunable hyperparameter can have its value
7262// determined during hyperparameter optimization (HPO).
7263type DefaultCategoricalHyperParameterRange struct {
7264	_ struct{} `type:"structure"`
7265
7266	// Whether the hyperparameter is tunable.
7267	IsTunable *bool `locationName:"isTunable" type:"boolean"`
7268
7269	// The name of the hyperparameter.
7270	Name *string `locationName:"name" type:"string"`
7271
7272	// A list of the categories for the hyperparameter.
7273	Values []*string `locationName:"values" type:"list"`
7274}
7275
7276// String returns the string representation
7277func (s DefaultCategoricalHyperParameterRange) String() string {
7278	return awsutil.Prettify(s)
7279}
7280
7281// GoString returns the string representation
7282func (s DefaultCategoricalHyperParameterRange) GoString() string {
7283	return s.String()
7284}
7285
7286// SetIsTunable sets the IsTunable field's value.
7287func (s *DefaultCategoricalHyperParameterRange) SetIsTunable(v bool) *DefaultCategoricalHyperParameterRange {
7288	s.IsTunable = &v
7289	return s
7290}
7291
7292// SetName sets the Name field's value.
7293func (s *DefaultCategoricalHyperParameterRange) SetName(v string) *DefaultCategoricalHyperParameterRange {
7294	s.Name = &v
7295	return s
7296}
7297
7298// SetValues sets the Values field's value.
7299func (s *DefaultCategoricalHyperParameterRange) SetValues(v []*string) *DefaultCategoricalHyperParameterRange {
7300	s.Values = v
7301	return s
7302}
7303
7304// Provides the name and default range of a continuous hyperparameter and whether
7305// the hyperparameter is tunable. A tunable hyperparameter can have its value
7306// determined during hyperparameter optimization (HPO).
7307type DefaultContinuousHyperParameterRange struct {
7308	_ struct{} `type:"structure"`
7309
7310	// Whether the hyperparameter is tunable.
7311	IsTunable *bool `locationName:"isTunable" type:"boolean"`
7312
7313	// The maximum allowable value for the hyperparameter.
7314	MaxValue *float64 `locationName:"maxValue" type:"double"`
7315
7316	// The minimum allowable value for the hyperparameter.
7317	MinValue *float64 `locationName:"minValue" type:"double"`
7318
7319	// The name of the hyperparameter.
7320	Name *string `locationName:"name" type:"string"`
7321}
7322
7323// String returns the string representation
7324func (s DefaultContinuousHyperParameterRange) String() string {
7325	return awsutil.Prettify(s)
7326}
7327
7328// GoString returns the string representation
7329func (s DefaultContinuousHyperParameterRange) GoString() string {
7330	return s.String()
7331}
7332
7333// SetIsTunable sets the IsTunable field's value.
7334func (s *DefaultContinuousHyperParameterRange) SetIsTunable(v bool) *DefaultContinuousHyperParameterRange {
7335	s.IsTunable = &v
7336	return s
7337}
7338
7339// SetMaxValue sets the MaxValue field's value.
7340func (s *DefaultContinuousHyperParameterRange) SetMaxValue(v float64) *DefaultContinuousHyperParameterRange {
7341	s.MaxValue = &v
7342	return s
7343}
7344
7345// SetMinValue sets the MinValue field's value.
7346func (s *DefaultContinuousHyperParameterRange) SetMinValue(v float64) *DefaultContinuousHyperParameterRange {
7347	s.MinValue = &v
7348	return s
7349}
7350
7351// SetName sets the Name field's value.
7352func (s *DefaultContinuousHyperParameterRange) SetName(v string) *DefaultContinuousHyperParameterRange {
7353	s.Name = &v
7354	return s
7355}
7356
7357// Specifies the hyperparameters and their default ranges. Hyperparameters can
7358// be categorical, continuous, or integer-valued.
7359type DefaultHyperParameterRanges struct {
7360	_ struct{} `type:"structure"`
7361
7362	// The categorical hyperparameters and their default ranges.
7363	CategoricalHyperParameterRanges []*DefaultCategoricalHyperParameterRange `locationName:"categoricalHyperParameterRanges" type:"list"`
7364
7365	// The continuous hyperparameters and their default ranges.
7366	ContinuousHyperParameterRanges []*DefaultContinuousHyperParameterRange `locationName:"continuousHyperParameterRanges" type:"list"`
7367
7368	// The integer-valued hyperparameters and their default ranges.
7369	IntegerHyperParameterRanges []*DefaultIntegerHyperParameterRange `locationName:"integerHyperParameterRanges" type:"list"`
7370}
7371
7372// String returns the string representation
7373func (s DefaultHyperParameterRanges) String() string {
7374	return awsutil.Prettify(s)
7375}
7376
7377// GoString returns the string representation
7378func (s DefaultHyperParameterRanges) GoString() string {
7379	return s.String()
7380}
7381
7382// SetCategoricalHyperParameterRanges sets the CategoricalHyperParameterRanges field's value.
7383func (s *DefaultHyperParameterRanges) SetCategoricalHyperParameterRanges(v []*DefaultCategoricalHyperParameterRange) *DefaultHyperParameterRanges {
7384	s.CategoricalHyperParameterRanges = v
7385	return s
7386}
7387
7388// SetContinuousHyperParameterRanges sets the ContinuousHyperParameterRanges field's value.
7389func (s *DefaultHyperParameterRanges) SetContinuousHyperParameterRanges(v []*DefaultContinuousHyperParameterRange) *DefaultHyperParameterRanges {
7390	s.ContinuousHyperParameterRanges = v
7391	return s
7392}
7393
7394// SetIntegerHyperParameterRanges sets the IntegerHyperParameterRanges field's value.
7395func (s *DefaultHyperParameterRanges) SetIntegerHyperParameterRanges(v []*DefaultIntegerHyperParameterRange) *DefaultHyperParameterRanges {
7396	s.IntegerHyperParameterRanges = v
7397	return s
7398}
7399
7400// Provides the name and default range of a integer-valued hyperparameter and
7401// whether the hyperparameter is tunable. A tunable hyperparameter can have
7402// its value determined during hyperparameter optimization (HPO).
7403type DefaultIntegerHyperParameterRange struct {
7404	_ struct{} `type:"structure"`
7405
7406	// Indicates whether the hyperparameter is tunable.
7407	IsTunable *bool `locationName:"isTunable" type:"boolean"`
7408
7409	// The maximum allowable value for the hyperparameter.
7410	MaxValue *int64 `locationName:"maxValue" type:"integer"`
7411
7412	// The minimum allowable value for the hyperparameter.
7413	MinValue *int64 `locationName:"minValue" type:"integer"`
7414
7415	// The name of the hyperparameter.
7416	Name *string `locationName:"name" type:"string"`
7417}
7418
7419// String returns the string representation
7420func (s DefaultIntegerHyperParameterRange) String() string {
7421	return awsutil.Prettify(s)
7422}
7423
7424// GoString returns the string representation
7425func (s DefaultIntegerHyperParameterRange) GoString() string {
7426	return s.String()
7427}
7428
7429// SetIsTunable sets the IsTunable field's value.
7430func (s *DefaultIntegerHyperParameterRange) SetIsTunable(v bool) *DefaultIntegerHyperParameterRange {
7431	s.IsTunable = &v
7432	return s
7433}
7434
7435// SetMaxValue sets the MaxValue field's value.
7436func (s *DefaultIntegerHyperParameterRange) SetMaxValue(v int64) *DefaultIntegerHyperParameterRange {
7437	s.MaxValue = &v
7438	return s
7439}
7440
7441// SetMinValue sets the MinValue field's value.
7442func (s *DefaultIntegerHyperParameterRange) SetMinValue(v int64) *DefaultIntegerHyperParameterRange {
7443	s.MinValue = &v
7444	return s
7445}
7446
7447// SetName sets the Name field's value.
7448func (s *DefaultIntegerHyperParameterRange) SetName(v string) *DefaultIntegerHyperParameterRange {
7449	s.Name = &v
7450	return s
7451}
7452
7453type DeleteCampaignInput struct {
7454	_ struct{} `type:"structure"`
7455
7456	// The Amazon Resource Name (ARN) of the campaign to delete.
7457	//
7458	// CampaignArn is a required field
7459	CampaignArn *string `locationName:"campaignArn" type:"string" required:"true"`
7460}
7461
7462// String returns the string representation
7463func (s DeleteCampaignInput) String() string {
7464	return awsutil.Prettify(s)
7465}
7466
7467// GoString returns the string representation
7468func (s DeleteCampaignInput) GoString() string {
7469	return s.String()
7470}
7471
7472// Validate inspects the fields of the type to determine if they are valid.
7473func (s *DeleteCampaignInput) Validate() error {
7474	invalidParams := request.ErrInvalidParams{Context: "DeleteCampaignInput"}
7475	if s.CampaignArn == nil {
7476		invalidParams.Add(request.NewErrParamRequired("CampaignArn"))
7477	}
7478
7479	if invalidParams.Len() > 0 {
7480		return invalidParams
7481	}
7482	return nil
7483}
7484
7485// SetCampaignArn sets the CampaignArn field's value.
7486func (s *DeleteCampaignInput) SetCampaignArn(v string) *DeleteCampaignInput {
7487	s.CampaignArn = &v
7488	return s
7489}
7490
7491type DeleteCampaignOutput struct {
7492	_ struct{} `type:"structure"`
7493}
7494
7495// String returns the string representation
7496func (s DeleteCampaignOutput) String() string {
7497	return awsutil.Prettify(s)
7498}
7499
7500// GoString returns the string representation
7501func (s DeleteCampaignOutput) GoString() string {
7502	return s.String()
7503}
7504
7505type DeleteDatasetGroupInput struct {
7506	_ struct{} `type:"structure"`
7507
7508	// The ARN of the dataset group to delete.
7509	//
7510	// DatasetGroupArn is a required field
7511	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"`
7512}
7513
7514// String returns the string representation
7515func (s DeleteDatasetGroupInput) String() string {
7516	return awsutil.Prettify(s)
7517}
7518
7519// GoString returns the string representation
7520func (s DeleteDatasetGroupInput) GoString() string {
7521	return s.String()
7522}
7523
7524// Validate inspects the fields of the type to determine if they are valid.
7525func (s *DeleteDatasetGroupInput) Validate() error {
7526	invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetGroupInput"}
7527	if s.DatasetGroupArn == nil {
7528		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
7529	}
7530
7531	if invalidParams.Len() > 0 {
7532		return invalidParams
7533	}
7534	return nil
7535}
7536
7537// SetDatasetGroupArn sets the DatasetGroupArn field's value.
7538func (s *DeleteDatasetGroupInput) SetDatasetGroupArn(v string) *DeleteDatasetGroupInput {
7539	s.DatasetGroupArn = &v
7540	return s
7541}
7542
7543type DeleteDatasetGroupOutput struct {
7544	_ struct{} `type:"structure"`
7545}
7546
7547// String returns the string representation
7548func (s DeleteDatasetGroupOutput) String() string {
7549	return awsutil.Prettify(s)
7550}
7551
7552// GoString returns the string representation
7553func (s DeleteDatasetGroupOutput) GoString() string {
7554	return s.String()
7555}
7556
7557type DeleteDatasetInput struct {
7558	_ struct{} `type:"structure"`
7559
7560	// The Amazon Resource Name (ARN) of the dataset to delete.
7561	//
7562	// DatasetArn is a required field
7563	DatasetArn *string `locationName:"datasetArn" type:"string" required:"true"`
7564}
7565
7566// String returns the string representation
7567func (s DeleteDatasetInput) String() string {
7568	return awsutil.Prettify(s)
7569}
7570
7571// GoString returns the string representation
7572func (s DeleteDatasetInput) GoString() string {
7573	return s.String()
7574}
7575
7576// Validate inspects the fields of the type to determine if they are valid.
7577func (s *DeleteDatasetInput) Validate() error {
7578	invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetInput"}
7579	if s.DatasetArn == nil {
7580		invalidParams.Add(request.NewErrParamRequired("DatasetArn"))
7581	}
7582
7583	if invalidParams.Len() > 0 {
7584		return invalidParams
7585	}
7586	return nil
7587}
7588
7589// SetDatasetArn sets the DatasetArn field's value.
7590func (s *DeleteDatasetInput) SetDatasetArn(v string) *DeleteDatasetInput {
7591	s.DatasetArn = &v
7592	return s
7593}
7594
7595type DeleteDatasetOutput struct {
7596	_ struct{} `type:"structure"`
7597}
7598
7599// String returns the string representation
7600func (s DeleteDatasetOutput) String() string {
7601	return awsutil.Prettify(s)
7602}
7603
7604// GoString returns the string representation
7605func (s DeleteDatasetOutput) GoString() string {
7606	return s.String()
7607}
7608
7609type DeleteEventTrackerInput struct {
7610	_ struct{} `type:"structure"`
7611
7612	// The Amazon Resource Name (ARN) of the event tracker to delete.
7613	//
7614	// EventTrackerArn is a required field
7615	EventTrackerArn *string `locationName:"eventTrackerArn" type:"string" required:"true"`
7616}
7617
7618// String returns the string representation
7619func (s DeleteEventTrackerInput) String() string {
7620	return awsutil.Prettify(s)
7621}
7622
7623// GoString returns the string representation
7624func (s DeleteEventTrackerInput) GoString() string {
7625	return s.String()
7626}
7627
7628// Validate inspects the fields of the type to determine if they are valid.
7629func (s *DeleteEventTrackerInput) Validate() error {
7630	invalidParams := request.ErrInvalidParams{Context: "DeleteEventTrackerInput"}
7631	if s.EventTrackerArn == nil {
7632		invalidParams.Add(request.NewErrParamRequired("EventTrackerArn"))
7633	}
7634
7635	if invalidParams.Len() > 0 {
7636		return invalidParams
7637	}
7638	return nil
7639}
7640
7641// SetEventTrackerArn sets the EventTrackerArn field's value.
7642func (s *DeleteEventTrackerInput) SetEventTrackerArn(v string) *DeleteEventTrackerInput {
7643	s.EventTrackerArn = &v
7644	return s
7645}
7646
7647type DeleteEventTrackerOutput struct {
7648	_ struct{} `type:"structure"`
7649}
7650
7651// String returns the string representation
7652func (s DeleteEventTrackerOutput) String() string {
7653	return awsutil.Prettify(s)
7654}
7655
7656// GoString returns the string representation
7657func (s DeleteEventTrackerOutput) GoString() string {
7658	return s.String()
7659}
7660
7661type DeleteFilterInput struct {
7662	_ struct{} `type:"structure"`
7663
7664	// The ARN of the filter to delete.
7665	//
7666	// FilterArn is a required field
7667	FilterArn *string `locationName:"filterArn" type:"string" required:"true"`
7668}
7669
7670// String returns the string representation
7671func (s DeleteFilterInput) String() string {
7672	return awsutil.Prettify(s)
7673}
7674
7675// GoString returns the string representation
7676func (s DeleteFilterInput) GoString() string {
7677	return s.String()
7678}
7679
7680// Validate inspects the fields of the type to determine if they are valid.
7681func (s *DeleteFilterInput) Validate() error {
7682	invalidParams := request.ErrInvalidParams{Context: "DeleteFilterInput"}
7683	if s.FilterArn == nil {
7684		invalidParams.Add(request.NewErrParamRequired("FilterArn"))
7685	}
7686
7687	if invalidParams.Len() > 0 {
7688		return invalidParams
7689	}
7690	return nil
7691}
7692
7693// SetFilterArn sets the FilterArn field's value.
7694func (s *DeleteFilterInput) SetFilterArn(v string) *DeleteFilterInput {
7695	s.FilterArn = &v
7696	return s
7697}
7698
7699type DeleteFilterOutput struct {
7700	_ struct{} `type:"structure"`
7701}
7702
7703// String returns the string representation
7704func (s DeleteFilterOutput) String() string {
7705	return awsutil.Prettify(s)
7706}
7707
7708// GoString returns the string representation
7709func (s DeleteFilterOutput) GoString() string {
7710	return s.String()
7711}
7712
7713type DeleteSchemaInput struct {
7714	_ struct{} `type:"structure"`
7715
7716	// The Amazon Resource Name (ARN) of the schema to delete.
7717	//
7718	// SchemaArn is a required field
7719	SchemaArn *string `locationName:"schemaArn" type:"string" required:"true"`
7720}
7721
7722// String returns the string representation
7723func (s DeleteSchemaInput) String() string {
7724	return awsutil.Prettify(s)
7725}
7726
7727// GoString returns the string representation
7728func (s DeleteSchemaInput) GoString() string {
7729	return s.String()
7730}
7731
7732// Validate inspects the fields of the type to determine if they are valid.
7733func (s *DeleteSchemaInput) Validate() error {
7734	invalidParams := request.ErrInvalidParams{Context: "DeleteSchemaInput"}
7735	if s.SchemaArn == nil {
7736		invalidParams.Add(request.NewErrParamRequired("SchemaArn"))
7737	}
7738
7739	if invalidParams.Len() > 0 {
7740		return invalidParams
7741	}
7742	return nil
7743}
7744
7745// SetSchemaArn sets the SchemaArn field's value.
7746func (s *DeleteSchemaInput) SetSchemaArn(v string) *DeleteSchemaInput {
7747	s.SchemaArn = &v
7748	return s
7749}
7750
7751type DeleteSchemaOutput struct {
7752	_ struct{} `type:"structure"`
7753}
7754
7755// String returns the string representation
7756func (s DeleteSchemaOutput) String() string {
7757	return awsutil.Prettify(s)
7758}
7759
7760// GoString returns the string representation
7761func (s DeleteSchemaOutput) GoString() string {
7762	return s.String()
7763}
7764
7765type DeleteSolutionInput struct {
7766	_ struct{} `type:"structure"`
7767
7768	// The ARN of the solution to delete.
7769	//
7770	// SolutionArn is a required field
7771	SolutionArn *string `locationName:"solutionArn" type:"string" required:"true"`
7772}
7773
7774// String returns the string representation
7775func (s DeleteSolutionInput) String() string {
7776	return awsutil.Prettify(s)
7777}
7778
7779// GoString returns the string representation
7780func (s DeleteSolutionInput) GoString() string {
7781	return s.String()
7782}
7783
7784// Validate inspects the fields of the type to determine if they are valid.
7785func (s *DeleteSolutionInput) Validate() error {
7786	invalidParams := request.ErrInvalidParams{Context: "DeleteSolutionInput"}
7787	if s.SolutionArn == nil {
7788		invalidParams.Add(request.NewErrParamRequired("SolutionArn"))
7789	}
7790
7791	if invalidParams.Len() > 0 {
7792		return invalidParams
7793	}
7794	return nil
7795}
7796
7797// SetSolutionArn sets the SolutionArn field's value.
7798func (s *DeleteSolutionInput) SetSolutionArn(v string) *DeleteSolutionInput {
7799	s.SolutionArn = &v
7800	return s
7801}
7802
7803type DeleteSolutionOutput struct {
7804	_ struct{} `type:"structure"`
7805}
7806
7807// String returns the string representation
7808func (s DeleteSolutionOutput) String() string {
7809	return awsutil.Prettify(s)
7810}
7811
7812// GoString returns the string representation
7813func (s DeleteSolutionOutput) GoString() string {
7814	return s.String()
7815}
7816
7817type DescribeAlgorithmInput struct {
7818	_ struct{} `type:"structure"`
7819
7820	// The Amazon Resource Name (ARN) of the algorithm to describe.
7821	//
7822	// AlgorithmArn is a required field
7823	AlgorithmArn *string `locationName:"algorithmArn" type:"string" required:"true"`
7824}
7825
7826// String returns the string representation
7827func (s DescribeAlgorithmInput) String() string {
7828	return awsutil.Prettify(s)
7829}
7830
7831// GoString returns the string representation
7832func (s DescribeAlgorithmInput) GoString() string {
7833	return s.String()
7834}
7835
7836// Validate inspects the fields of the type to determine if they are valid.
7837func (s *DescribeAlgorithmInput) Validate() error {
7838	invalidParams := request.ErrInvalidParams{Context: "DescribeAlgorithmInput"}
7839	if s.AlgorithmArn == nil {
7840		invalidParams.Add(request.NewErrParamRequired("AlgorithmArn"))
7841	}
7842
7843	if invalidParams.Len() > 0 {
7844		return invalidParams
7845	}
7846	return nil
7847}
7848
7849// SetAlgorithmArn sets the AlgorithmArn field's value.
7850func (s *DescribeAlgorithmInput) SetAlgorithmArn(v string) *DescribeAlgorithmInput {
7851	s.AlgorithmArn = &v
7852	return s
7853}
7854
7855type DescribeAlgorithmOutput struct {
7856	_ struct{} `type:"structure"`
7857
7858	// A listing of the properties of the algorithm.
7859	Algorithm *Algorithm `locationName:"algorithm" type:"structure"`
7860}
7861
7862// String returns the string representation
7863func (s DescribeAlgorithmOutput) String() string {
7864	return awsutil.Prettify(s)
7865}
7866
7867// GoString returns the string representation
7868func (s DescribeAlgorithmOutput) GoString() string {
7869	return s.String()
7870}
7871
7872// SetAlgorithm sets the Algorithm field's value.
7873func (s *DescribeAlgorithmOutput) SetAlgorithm(v *Algorithm) *DescribeAlgorithmOutput {
7874	s.Algorithm = v
7875	return s
7876}
7877
7878type DescribeBatchInferenceJobInput struct {
7879	_ struct{} `type:"structure"`
7880
7881	// The ARN of the batch inference job to describe.
7882	//
7883	// BatchInferenceJobArn is a required field
7884	BatchInferenceJobArn *string `locationName:"batchInferenceJobArn" type:"string" required:"true"`
7885}
7886
7887// String returns the string representation
7888func (s DescribeBatchInferenceJobInput) String() string {
7889	return awsutil.Prettify(s)
7890}
7891
7892// GoString returns the string representation
7893func (s DescribeBatchInferenceJobInput) GoString() string {
7894	return s.String()
7895}
7896
7897// Validate inspects the fields of the type to determine if they are valid.
7898func (s *DescribeBatchInferenceJobInput) Validate() error {
7899	invalidParams := request.ErrInvalidParams{Context: "DescribeBatchInferenceJobInput"}
7900	if s.BatchInferenceJobArn == nil {
7901		invalidParams.Add(request.NewErrParamRequired("BatchInferenceJobArn"))
7902	}
7903
7904	if invalidParams.Len() > 0 {
7905		return invalidParams
7906	}
7907	return nil
7908}
7909
7910// SetBatchInferenceJobArn sets the BatchInferenceJobArn field's value.
7911func (s *DescribeBatchInferenceJobInput) SetBatchInferenceJobArn(v string) *DescribeBatchInferenceJobInput {
7912	s.BatchInferenceJobArn = &v
7913	return s
7914}
7915
7916type DescribeBatchInferenceJobOutput struct {
7917	_ struct{} `type:"structure"`
7918
7919	// Information on the specified batch inference job.
7920	BatchInferenceJob *BatchInferenceJob `locationName:"batchInferenceJob" type:"structure"`
7921}
7922
7923// String returns the string representation
7924func (s DescribeBatchInferenceJobOutput) String() string {
7925	return awsutil.Prettify(s)
7926}
7927
7928// GoString returns the string representation
7929func (s DescribeBatchInferenceJobOutput) GoString() string {
7930	return s.String()
7931}
7932
7933// SetBatchInferenceJob sets the BatchInferenceJob field's value.
7934func (s *DescribeBatchInferenceJobOutput) SetBatchInferenceJob(v *BatchInferenceJob) *DescribeBatchInferenceJobOutput {
7935	s.BatchInferenceJob = v
7936	return s
7937}
7938
7939type DescribeCampaignInput struct {
7940	_ struct{} `type:"structure"`
7941
7942	// The Amazon Resource Name (ARN) of the campaign.
7943	//
7944	// CampaignArn is a required field
7945	CampaignArn *string `locationName:"campaignArn" type:"string" required:"true"`
7946}
7947
7948// String returns the string representation
7949func (s DescribeCampaignInput) String() string {
7950	return awsutil.Prettify(s)
7951}
7952
7953// GoString returns the string representation
7954func (s DescribeCampaignInput) GoString() string {
7955	return s.String()
7956}
7957
7958// Validate inspects the fields of the type to determine if they are valid.
7959func (s *DescribeCampaignInput) Validate() error {
7960	invalidParams := request.ErrInvalidParams{Context: "DescribeCampaignInput"}
7961	if s.CampaignArn == nil {
7962		invalidParams.Add(request.NewErrParamRequired("CampaignArn"))
7963	}
7964
7965	if invalidParams.Len() > 0 {
7966		return invalidParams
7967	}
7968	return nil
7969}
7970
7971// SetCampaignArn sets the CampaignArn field's value.
7972func (s *DescribeCampaignInput) SetCampaignArn(v string) *DescribeCampaignInput {
7973	s.CampaignArn = &v
7974	return s
7975}
7976
7977type DescribeCampaignOutput struct {
7978	_ struct{} `type:"structure"`
7979
7980	// The properties of the campaign.
7981	Campaign *Campaign `locationName:"campaign" type:"structure"`
7982}
7983
7984// String returns the string representation
7985func (s DescribeCampaignOutput) String() string {
7986	return awsutil.Prettify(s)
7987}
7988
7989// GoString returns the string representation
7990func (s DescribeCampaignOutput) GoString() string {
7991	return s.String()
7992}
7993
7994// SetCampaign sets the Campaign field's value.
7995func (s *DescribeCampaignOutput) SetCampaign(v *Campaign) *DescribeCampaignOutput {
7996	s.Campaign = v
7997	return s
7998}
7999
8000type DescribeDatasetGroupInput struct {
8001	_ struct{} `type:"structure"`
8002
8003	// The Amazon Resource Name (ARN) of the dataset group to describe.
8004	//
8005	// DatasetGroupArn is a required field
8006	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"`
8007}
8008
8009// String returns the string representation
8010func (s DescribeDatasetGroupInput) String() string {
8011	return awsutil.Prettify(s)
8012}
8013
8014// GoString returns the string representation
8015func (s DescribeDatasetGroupInput) GoString() string {
8016	return s.String()
8017}
8018
8019// Validate inspects the fields of the type to determine if they are valid.
8020func (s *DescribeDatasetGroupInput) Validate() error {
8021	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetGroupInput"}
8022	if s.DatasetGroupArn == nil {
8023		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
8024	}
8025
8026	if invalidParams.Len() > 0 {
8027		return invalidParams
8028	}
8029	return nil
8030}
8031
8032// SetDatasetGroupArn sets the DatasetGroupArn field's value.
8033func (s *DescribeDatasetGroupInput) SetDatasetGroupArn(v string) *DescribeDatasetGroupInput {
8034	s.DatasetGroupArn = &v
8035	return s
8036}
8037
8038type DescribeDatasetGroupOutput struct {
8039	_ struct{} `type:"structure"`
8040
8041	// A listing of the dataset group's properties.
8042	DatasetGroup *DatasetGroup `locationName:"datasetGroup" type:"structure"`
8043}
8044
8045// String returns the string representation
8046func (s DescribeDatasetGroupOutput) String() string {
8047	return awsutil.Prettify(s)
8048}
8049
8050// GoString returns the string representation
8051func (s DescribeDatasetGroupOutput) GoString() string {
8052	return s.String()
8053}
8054
8055// SetDatasetGroup sets the DatasetGroup field's value.
8056func (s *DescribeDatasetGroupOutput) SetDatasetGroup(v *DatasetGroup) *DescribeDatasetGroupOutput {
8057	s.DatasetGroup = v
8058	return s
8059}
8060
8061type DescribeDatasetImportJobInput struct {
8062	_ struct{} `type:"structure"`
8063
8064	// The Amazon Resource Name (ARN) of the dataset import job to describe.
8065	//
8066	// DatasetImportJobArn is a required field
8067	DatasetImportJobArn *string `locationName:"datasetImportJobArn" type:"string" required:"true"`
8068}
8069
8070// String returns the string representation
8071func (s DescribeDatasetImportJobInput) String() string {
8072	return awsutil.Prettify(s)
8073}
8074
8075// GoString returns the string representation
8076func (s DescribeDatasetImportJobInput) GoString() string {
8077	return s.String()
8078}
8079
8080// Validate inspects the fields of the type to determine if they are valid.
8081func (s *DescribeDatasetImportJobInput) Validate() error {
8082	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetImportJobInput"}
8083	if s.DatasetImportJobArn == nil {
8084		invalidParams.Add(request.NewErrParamRequired("DatasetImportJobArn"))
8085	}
8086
8087	if invalidParams.Len() > 0 {
8088		return invalidParams
8089	}
8090	return nil
8091}
8092
8093// SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
8094func (s *DescribeDatasetImportJobInput) SetDatasetImportJobArn(v string) *DescribeDatasetImportJobInput {
8095	s.DatasetImportJobArn = &v
8096	return s
8097}
8098
8099type DescribeDatasetImportJobOutput struct {
8100	_ struct{} `type:"structure"`
8101
8102	// Information about the dataset import job, including the status.
8103	//
8104	// The status is one of the following values:
8105	//
8106	//    * CREATE PENDING
8107	//
8108	//    * CREATE IN_PROGRESS
8109	//
8110	//    * ACTIVE
8111	//
8112	//    * CREATE FAILED
8113	DatasetImportJob *DatasetImportJob `locationName:"datasetImportJob" type:"structure"`
8114}
8115
8116// String returns the string representation
8117func (s DescribeDatasetImportJobOutput) String() string {
8118	return awsutil.Prettify(s)
8119}
8120
8121// GoString returns the string representation
8122func (s DescribeDatasetImportJobOutput) GoString() string {
8123	return s.String()
8124}
8125
8126// SetDatasetImportJob sets the DatasetImportJob field's value.
8127func (s *DescribeDatasetImportJobOutput) SetDatasetImportJob(v *DatasetImportJob) *DescribeDatasetImportJobOutput {
8128	s.DatasetImportJob = v
8129	return s
8130}
8131
8132type DescribeDatasetInput struct {
8133	_ struct{} `type:"structure"`
8134
8135	// The Amazon Resource Name (ARN) of the dataset to describe.
8136	//
8137	// DatasetArn is a required field
8138	DatasetArn *string `locationName:"datasetArn" type:"string" required:"true"`
8139}
8140
8141// String returns the string representation
8142func (s DescribeDatasetInput) String() string {
8143	return awsutil.Prettify(s)
8144}
8145
8146// GoString returns the string representation
8147func (s DescribeDatasetInput) GoString() string {
8148	return s.String()
8149}
8150
8151// Validate inspects the fields of the type to determine if they are valid.
8152func (s *DescribeDatasetInput) Validate() error {
8153	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetInput"}
8154	if s.DatasetArn == nil {
8155		invalidParams.Add(request.NewErrParamRequired("DatasetArn"))
8156	}
8157
8158	if invalidParams.Len() > 0 {
8159		return invalidParams
8160	}
8161	return nil
8162}
8163
8164// SetDatasetArn sets the DatasetArn field's value.
8165func (s *DescribeDatasetInput) SetDatasetArn(v string) *DescribeDatasetInput {
8166	s.DatasetArn = &v
8167	return s
8168}
8169
8170type DescribeDatasetOutput struct {
8171	_ struct{} `type:"structure"`
8172
8173	// A listing of the dataset's properties.
8174	Dataset *Dataset `locationName:"dataset" type:"structure"`
8175}
8176
8177// String returns the string representation
8178func (s DescribeDatasetOutput) String() string {
8179	return awsutil.Prettify(s)
8180}
8181
8182// GoString returns the string representation
8183func (s DescribeDatasetOutput) GoString() string {
8184	return s.String()
8185}
8186
8187// SetDataset sets the Dataset field's value.
8188func (s *DescribeDatasetOutput) SetDataset(v *Dataset) *DescribeDatasetOutput {
8189	s.Dataset = v
8190	return s
8191}
8192
8193type DescribeEventTrackerInput struct {
8194	_ struct{} `type:"structure"`
8195
8196	// The Amazon Resource Name (ARN) of the event tracker to describe.
8197	//
8198	// EventTrackerArn is a required field
8199	EventTrackerArn *string `locationName:"eventTrackerArn" type:"string" required:"true"`
8200}
8201
8202// String returns the string representation
8203func (s DescribeEventTrackerInput) String() string {
8204	return awsutil.Prettify(s)
8205}
8206
8207// GoString returns the string representation
8208func (s DescribeEventTrackerInput) GoString() string {
8209	return s.String()
8210}
8211
8212// Validate inspects the fields of the type to determine if they are valid.
8213func (s *DescribeEventTrackerInput) Validate() error {
8214	invalidParams := request.ErrInvalidParams{Context: "DescribeEventTrackerInput"}
8215	if s.EventTrackerArn == nil {
8216		invalidParams.Add(request.NewErrParamRequired("EventTrackerArn"))
8217	}
8218
8219	if invalidParams.Len() > 0 {
8220		return invalidParams
8221	}
8222	return nil
8223}
8224
8225// SetEventTrackerArn sets the EventTrackerArn field's value.
8226func (s *DescribeEventTrackerInput) SetEventTrackerArn(v string) *DescribeEventTrackerInput {
8227	s.EventTrackerArn = &v
8228	return s
8229}
8230
8231type DescribeEventTrackerOutput struct {
8232	_ struct{} `type:"structure"`
8233
8234	// An object that describes the event tracker.
8235	EventTracker *EventTracker `locationName:"eventTracker" type:"structure"`
8236}
8237
8238// String returns the string representation
8239func (s DescribeEventTrackerOutput) String() string {
8240	return awsutil.Prettify(s)
8241}
8242
8243// GoString returns the string representation
8244func (s DescribeEventTrackerOutput) GoString() string {
8245	return s.String()
8246}
8247
8248// SetEventTracker sets the EventTracker field's value.
8249func (s *DescribeEventTrackerOutput) SetEventTracker(v *EventTracker) *DescribeEventTrackerOutput {
8250	s.EventTracker = v
8251	return s
8252}
8253
8254type DescribeFeatureTransformationInput struct {
8255	_ struct{} `type:"structure"`
8256
8257	// The Amazon Resource Name (ARN) of the feature transformation to describe.
8258	//
8259	// FeatureTransformationArn is a required field
8260	FeatureTransformationArn *string `locationName:"featureTransformationArn" type:"string" required:"true"`
8261}
8262
8263// String returns the string representation
8264func (s DescribeFeatureTransformationInput) String() string {
8265	return awsutil.Prettify(s)
8266}
8267
8268// GoString returns the string representation
8269func (s DescribeFeatureTransformationInput) GoString() string {
8270	return s.String()
8271}
8272
8273// Validate inspects the fields of the type to determine if they are valid.
8274func (s *DescribeFeatureTransformationInput) Validate() error {
8275	invalidParams := request.ErrInvalidParams{Context: "DescribeFeatureTransformationInput"}
8276	if s.FeatureTransformationArn == nil {
8277		invalidParams.Add(request.NewErrParamRequired("FeatureTransformationArn"))
8278	}
8279
8280	if invalidParams.Len() > 0 {
8281		return invalidParams
8282	}
8283	return nil
8284}
8285
8286// SetFeatureTransformationArn sets the FeatureTransformationArn field's value.
8287func (s *DescribeFeatureTransformationInput) SetFeatureTransformationArn(v string) *DescribeFeatureTransformationInput {
8288	s.FeatureTransformationArn = &v
8289	return s
8290}
8291
8292type DescribeFeatureTransformationOutput struct {
8293	_ struct{} `type:"structure"`
8294
8295	// A listing of the FeatureTransformation properties.
8296	FeatureTransformation *FeatureTransformation `locationName:"featureTransformation" type:"structure"`
8297}
8298
8299// String returns the string representation
8300func (s DescribeFeatureTransformationOutput) String() string {
8301	return awsutil.Prettify(s)
8302}
8303
8304// GoString returns the string representation
8305func (s DescribeFeatureTransformationOutput) GoString() string {
8306	return s.String()
8307}
8308
8309// SetFeatureTransformation sets the FeatureTransformation field's value.
8310func (s *DescribeFeatureTransformationOutput) SetFeatureTransformation(v *FeatureTransformation) *DescribeFeatureTransformationOutput {
8311	s.FeatureTransformation = v
8312	return s
8313}
8314
8315type DescribeFilterInput struct {
8316	_ struct{} `type:"structure"`
8317
8318	// The ARN of the filter to describe.
8319	//
8320	// FilterArn is a required field
8321	FilterArn *string `locationName:"filterArn" type:"string" required:"true"`
8322}
8323
8324// String returns the string representation
8325func (s DescribeFilterInput) String() string {
8326	return awsutil.Prettify(s)
8327}
8328
8329// GoString returns the string representation
8330func (s DescribeFilterInput) GoString() string {
8331	return s.String()
8332}
8333
8334// Validate inspects the fields of the type to determine if they are valid.
8335func (s *DescribeFilterInput) Validate() error {
8336	invalidParams := request.ErrInvalidParams{Context: "DescribeFilterInput"}
8337	if s.FilterArn == nil {
8338		invalidParams.Add(request.NewErrParamRequired("FilterArn"))
8339	}
8340
8341	if invalidParams.Len() > 0 {
8342		return invalidParams
8343	}
8344	return nil
8345}
8346
8347// SetFilterArn sets the FilterArn field's value.
8348func (s *DescribeFilterInput) SetFilterArn(v string) *DescribeFilterInput {
8349	s.FilterArn = &v
8350	return s
8351}
8352
8353type DescribeFilterOutput struct {
8354	_ struct{} `type:"structure"`
8355
8356	// The filter's details.
8357	Filter *Filter `locationName:"filter" type:"structure"`
8358}
8359
8360// String returns the string representation
8361func (s DescribeFilterOutput) String() string {
8362	return awsutil.Prettify(s)
8363}
8364
8365// GoString returns the string representation
8366func (s DescribeFilterOutput) GoString() string {
8367	return s.String()
8368}
8369
8370// SetFilter sets the Filter field's value.
8371func (s *DescribeFilterOutput) SetFilter(v *Filter) *DescribeFilterOutput {
8372	s.Filter = v
8373	return s
8374}
8375
8376type DescribeRecipeInput struct {
8377	_ struct{} `type:"structure"`
8378
8379	// The Amazon Resource Name (ARN) of the recipe to describe.
8380	//
8381	// RecipeArn is a required field
8382	RecipeArn *string `locationName:"recipeArn" type:"string" required:"true"`
8383}
8384
8385// String returns the string representation
8386func (s DescribeRecipeInput) String() string {
8387	return awsutil.Prettify(s)
8388}
8389
8390// GoString returns the string representation
8391func (s DescribeRecipeInput) GoString() string {
8392	return s.String()
8393}
8394
8395// Validate inspects the fields of the type to determine if they are valid.
8396func (s *DescribeRecipeInput) Validate() error {
8397	invalidParams := request.ErrInvalidParams{Context: "DescribeRecipeInput"}
8398	if s.RecipeArn == nil {
8399		invalidParams.Add(request.NewErrParamRequired("RecipeArn"))
8400	}
8401
8402	if invalidParams.Len() > 0 {
8403		return invalidParams
8404	}
8405	return nil
8406}
8407
8408// SetRecipeArn sets the RecipeArn field's value.
8409func (s *DescribeRecipeInput) SetRecipeArn(v string) *DescribeRecipeInput {
8410	s.RecipeArn = &v
8411	return s
8412}
8413
8414type DescribeRecipeOutput struct {
8415	_ struct{} `type:"structure"`
8416
8417	// An object that describes the recipe.
8418	Recipe *Recipe `locationName:"recipe" type:"structure"`
8419}
8420
8421// String returns the string representation
8422func (s DescribeRecipeOutput) String() string {
8423	return awsutil.Prettify(s)
8424}
8425
8426// GoString returns the string representation
8427func (s DescribeRecipeOutput) GoString() string {
8428	return s.String()
8429}
8430
8431// SetRecipe sets the Recipe field's value.
8432func (s *DescribeRecipeOutput) SetRecipe(v *Recipe) *DescribeRecipeOutput {
8433	s.Recipe = v
8434	return s
8435}
8436
8437type DescribeSchemaInput struct {
8438	_ struct{} `type:"structure"`
8439
8440	// The Amazon Resource Name (ARN) of the schema to retrieve.
8441	//
8442	// SchemaArn is a required field
8443	SchemaArn *string `locationName:"schemaArn" type:"string" required:"true"`
8444}
8445
8446// String returns the string representation
8447func (s DescribeSchemaInput) String() string {
8448	return awsutil.Prettify(s)
8449}
8450
8451// GoString returns the string representation
8452func (s DescribeSchemaInput) GoString() string {
8453	return s.String()
8454}
8455
8456// Validate inspects the fields of the type to determine if they are valid.
8457func (s *DescribeSchemaInput) Validate() error {
8458	invalidParams := request.ErrInvalidParams{Context: "DescribeSchemaInput"}
8459	if s.SchemaArn == nil {
8460		invalidParams.Add(request.NewErrParamRequired("SchemaArn"))
8461	}
8462
8463	if invalidParams.Len() > 0 {
8464		return invalidParams
8465	}
8466	return nil
8467}
8468
8469// SetSchemaArn sets the SchemaArn field's value.
8470func (s *DescribeSchemaInput) SetSchemaArn(v string) *DescribeSchemaInput {
8471	s.SchemaArn = &v
8472	return s
8473}
8474
8475type DescribeSchemaOutput struct {
8476	_ struct{} `type:"structure"`
8477
8478	// The requested schema.
8479	Schema *DatasetSchema `locationName:"schema" type:"structure"`
8480}
8481
8482// String returns the string representation
8483func (s DescribeSchemaOutput) String() string {
8484	return awsutil.Prettify(s)
8485}
8486
8487// GoString returns the string representation
8488func (s DescribeSchemaOutput) GoString() string {
8489	return s.String()
8490}
8491
8492// SetSchema sets the Schema field's value.
8493func (s *DescribeSchemaOutput) SetSchema(v *DatasetSchema) *DescribeSchemaOutput {
8494	s.Schema = v
8495	return s
8496}
8497
8498type DescribeSolutionInput struct {
8499	_ struct{} `type:"structure"`
8500
8501	// The Amazon Resource Name (ARN) of the solution to describe.
8502	//
8503	// SolutionArn is a required field
8504	SolutionArn *string `locationName:"solutionArn" type:"string" required:"true"`
8505}
8506
8507// String returns the string representation
8508func (s DescribeSolutionInput) String() string {
8509	return awsutil.Prettify(s)
8510}
8511
8512// GoString returns the string representation
8513func (s DescribeSolutionInput) GoString() string {
8514	return s.String()
8515}
8516
8517// Validate inspects the fields of the type to determine if they are valid.
8518func (s *DescribeSolutionInput) Validate() error {
8519	invalidParams := request.ErrInvalidParams{Context: "DescribeSolutionInput"}
8520	if s.SolutionArn == nil {
8521		invalidParams.Add(request.NewErrParamRequired("SolutionArn"))
8522	}
8523
8524	if invalidParams.Len() > 0 {
8525		return invalidParams
8526	}
8527	return nil
8528}
8529
8530// SetSolutionArn sets the SolutionArn field's value.
8531func (s *DescribeSolutionInput) SetSolutionArn(v string) *DescribeSolutionInput {
8532	s.SolutionArn = &v
8533	return s
8534}
8535
8536type DescribeSolutionOutput struct {
8537	_ struct{} `type:"structure"`
8538
8539	// An object that describes the solution.
8540	Solution *Solution `locationName:"solution" type:"structure"`
8541}
8542
8543// String returns the string representation
8544func (s DescribeSolutionOutput) String() string {
8545	return awsutil.Prettify(s)
8546}
8547
8548// GoString returns the string representation
8549func (s DescribeSolutionOutput) GoString() string {
8550	return s.String()
8551}
8552
8553// SetSolution sets the Solution field's value.
8554func (s *DescribeSolutionOutput) SetSolution(v *Solution) *DescribeSolutionOutput {
8555	s.Solution = v
8556	return s
8557}
8558
8559type DescribeSolutionVersionInput struct {
8560	_ struct{} `type:"structure"`
8561
8562	// The Amazon Resource Name (ARN) of the solution version.
8563	//
8564	// SolutionVersionArn is a required field
8565	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string" required:"true"`
8566}
8567
8568// String returns the string representation
8569func (s DescribeSolutionVersionInput) String() string {
8570	return awsutil.Prettify(s)
8571}
8572
8573// GoString returns the string representation
8574func (s DescribeSolutionVersionInput) GoString() string {
8575	return s.String()
8576}
8577
8578// Validate inspects the fields of the type to determine if they are valid.
8579func (s *DescribeSolutionVersionInput) Validate() error {
8580	invalidParams := request.ErrInvalidParams{Context: "DescribeSolutionVersionInput"}
8581	if s.SolutionVersionArn == nil {
8582		invalidParams.Add(request.NewErrParamRequired("SolutionVersionArn"))
8583	}
8584
8585	if invalidParams.Len() > 0 {
8586		return invalidParams
8587	}
8588	return nil
8589}
8590
8591// SetSolutionVersionArn sets the SolutionVersionArn field's value.
8592func (s *DescribeSolutionVersionInput) SetSolutionVersionArn(v string) *DescribeSolutionVersionInput {
8593	s.SolutionVersionArn = &v
8594	return s
8595}
8596
8597type DescribeSolutionVersionOutput struct {
8598	_ struct{} `type:"structure"`
8599
8600	// The solution version.
8601	SolutionVersion *SolutionVersion `locationName:"solutionVersion" type:"structure"`
8602}
8603
8604// String returns the string representation
8605func (s DescribeSolutionVersionOutput) String() string {
8606	return awsutil.Prettify(s)
8607}
8608
8609// GoString returns the string representation
8610func (s DescribeSolutionVersionOutput) GoString() string {
8611	return s.String()
8612}
8613
8614// SetSolutionVersion sets the SolutionVersion field's value.
8615func (s *DescribeSolutionVersionOutput) SetSolutionVersion(v *SolutionVersion) *DescribeSolutionVersionOutput {
8616	s.SolutionVersion = v
8617	return s
8618}
8619
8620// Provides information about an event tracker.
8621type EventTracker struct {
8622	_ struct{} `type:"structure"`
8623
8624	// The Amazon AWS account that owns the event tracker.
8625	AccountId *string `locationName:"accountId" type:"string"`
8626
8627	// The date and time (in Unix format) that the event tracker was created.
8628	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
8629
8630	// The Amazon Resource Name (ARN) of the dataset group that receives the event
8631	// data.
8632	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
8633
8634	// The ARN of the event tracker.
8635	EventTrackerArn *string `locationName:"eventTrackerArn" type:"string"`
8636
8637	// The date and time (in Unix time) that the event tracker was last updated.
8638	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
8639
8640	// The name of the event tracker.
8641	Name *string `locationName:"name" min:"1" type:"string"`
8642
8643	// The status of the event tracker.
8644	//
8645	// An event tracker can be in one of the following states:
8646	//
8647	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
8648	//
8649	//    * DELETE PENDING > DELETE IN_PROGRESS
8650	Status *string `locationName:"status" type:"string"`
8651
8652	// The ID of the event tracker. Include this ID in requests to the PutEvents
8653	// (https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html)
8654	// API.
8655	TrackingId *string `locationName:"trackingId" type:"string"`
8656}
8657
8658// String returns the string representation
8659func (s EventTracker) String() string {
8660	return awsutil.Prettify(s)
8661}
8662
8663// GoString returns the string representation
8664func (s EventTracker) GoString() string {
8665	return s.String()
8666}
8667
8668// SetAccountId sets the AccountId field's value.
8669func (s *EventTracker) SetAccountId(v string) *EventTracker {
8670	s.AccountId = &v
8671	return s
8672}
8673
8674// SetCreationDateTime sets the CreationDateTime field's value.
8675func (s *EventTracker) SetCreationDateTime(v time.Time) *EventTracker {
8676	s.CreationDateTime = &v
8677	return s
8678}
8679
8680// SetDatasetGroupArn sets the DatasetGroupArn field's value.
8681func (s *EventTracker) SetDatasetGroupArn(v string) *EventTracker {
8682	s.DatasetGroupArn = &v
8683	return s
8684}
8685
8686// SetEventTrackerArn sets the EventTrackerArn field's value.
8687func (s *EventTracker) SetEventTrackerArn(v string) *EventTracker {
8688	s.EventTrackerArn = &v
8689	return s
8690}
8691
8692// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
8693func (s *EventTracker) SetLastUpdatedDateTime(v time.Time) *EventTracker {
8694	s.LastUpdatedDateTime = &v
8695	return s
8696}
8697
8698// SetName sets the Name field's value.
8699func (s *EventTracker) SetName(v string) *EventTracker {
8700	s.Name = &v
8701	return s
8702}
8703
8704// SetStatus sets the Status field's value.
8705func (s *EventTracker) SetStatus(v string) *EventTracker {
8706	s.Status = &v
8707	return s
8708}
8709
8710// SetTrackingId sets the TrackingId field's value.
8711func (s *EventTracker) SetTrackingId(v string) *EventTracker {
8712	s.TrackingId = &v
8713	return s
8714}
8715
8716// Provides a summary of the properties of an event tracker. For a complete
8717// listing, call the DescribeEventTracker API.
8718type EventTrackerSummary struct {
8719	_ struct{} `type:"structure"`
8720
8721	// The date and time (in Unix time) that the event tracker was created.
8722	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
8723
8724	// The Amazon Resource Name (ARN) of the event tracker.
8725	EventTrackerArn *string `locationName:"eventTrackerArn" type:"string"`
8726
8727	// The date and time (in Unix time) that the event tracker was last updated.
8728	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
8729
8730	// The name of the event tracker.
8731	Name *string `locationName:"name" min:"1" type:"string"`
8732
8733	// The status of the event tracker.
8734	//
8735	// An event tracker can be in one of the following states:
8736	//
8737	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
8738	//
8739	//    * DELETE PENDING > DELETE IN_PROGRESS
8740	Status *string `locationName:"status" type:"string"`
8741}
8742
8743// String returns the string representation
8744func (s EventTrackerSummary) String() string {
8745	return awsutil.Prettify(s)
8746}
8747
8748// GoString returns the string representation
8749func (s EventTrackerSummary) GoString() string {
8750	return s.String()
8751}
8752
8753// SetCreationDateTime sets the CreationDateTime field's value.
8754func (s *EventTrackerSummary) SetCreationDateTime(v time.Time) *EventTrackerSummary {
8755	s.CreationDateTime = &v
8756	return s
8757}
8758
8759// SetEventTrackerArn sets the EventTrackerArn field's value.
8760func (s *EventTrackerSummary) SetEventTrackerArn(v string) *EventTrackerSummary {
8761	s.EventTrackerArn = &v
8762	return s
8763}
8764
8765// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
8766func (s *EventTrackerSummary) SetLastUpdatedDateTime(v time.Time) *EventTrackerSummary {
8767	s.LastUpdatedDateTime = &v
8768	return s
8769}
8770
8771// SetName sets the Name field's value.
8772func (s *EventTrackerSummary) SetName(v string) *EventTrackerSummary {
8773	s.Name = &v
8774	return s
8775}
8776
8777// SetStatus sets the Status field's value.
8778func (s *EventTrackerSummary) SetStatus(v string) *EventTrackerSummary {
8779	s.Status = &v
8780	return s
8781}
8782
8783// Provides feature transformation information. Feature transformation is the
8784// process of modifying raw input data into a form more suitable for model training.
8785type FeatureTransformation struct {
8786	_ struct{} `type:"structure"`
8787
8788	// The creation date and time (in Unix time) of the feature transformation.
8789	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
8790
8791	// Provides the default parameters for feature transformation.
8792	DefaultParameters map[string]*string `locationName:"defaultParameters" type:"map"`
8793
8794	// The Amazon Resource Name (ARN) of the FeatureTransformation object.
8795	FeatureTransformationArn *string `locationName:"featureTransformationArn" type:"string"`
8796
8797	// The last update date and time (in Unix time) of the feature transformation.
8798	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
8799
8800	// The name of the feature transformation.
8801	Name *string `locationName:"name" min:"1" type:"string"`
8802
8803	// The status of the feature transformation.
8804	//
8805	// A feature transformation can be in one of the following states:
8806	//
8807	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
8808	Status *string `locationName:"status" type:"string"`
8809}
8810
8811// String returns the string representation
8812func (s FeatureTransformation) String() string {
8813	return awsutil.Prettify(s)
8814}
8815
8816// GoString returns the string representation
8817func (s FeatureTransformation) GoString() string {
8818	return s.String()
8819}
8820
8821// SetCreationDateTime sets the CreationDateTime field's value.
8822func (s *FeatureTransformation) SetCreationDateTime(v time.Time) *FeatureTransformation {
8823	s.CreationDateTime = &v
8824	return s
8825}
8826
8827// SetDefaultParameters sets the DefaultParameters field's value.
8828func (s *FeatureTransformation) SetDefaultParameters(v map[string]*string) *FeatureTransformation {
8829	s.DefaultParameters = v
8830	return s
8831}
8832
8833// SetFeatureTransformationArn sets the FeatureTransformationArn field's value.
8834func (s *FeatureTransformation) SetFeatureTransformationArn(v string) *FeatureTransformation {
8835	s.FeatureTransformationArn = &v
8836	return s
8837}
8838
8839// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
8840func (s *FeatureTransformation) SetLastUpdatedDateTime(v time.Time) *FeatureTransformation {
8841	s.LastUpdatedDateTime = &v
8842	return s
8843}
8844
8845// SetName sets the Name field's value.
8846func (s *FeatureTransformation) SetName(v string) *FeatureTransformation {
8847	s.Name = &v
8848	return s
8849}
8850
8851// SetStatus sets the Status field's value.
8852func (s *FeatureTransformation) SetStatus(v string) *FeatureTransformation {
8853	s.Status = &v
8854	return s
8855}
8856
8857// Contains information on a recommendation filter, including its ARN, status,
8858// and filter expression.
8859type Filter struct {
8860	_ struct{} `type:"structure"`
8861
8862	// The time at which the filter was created.
8863	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
8864
8865	// The ARN of the dataset group to which the filter belongs.
8866	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
8867
8868	// If the filter failed, the reason for its failure.
8869	FailureReason *string `locationName:"failureReason" type:"string"`
8870
8871	// The ARN of the filter.
8872	FilterArn *string `locationName:"filterArn" type:"string"`
8873
8874	// Specifies the type of item interactions to filter out of recommendation results.
8875	// The filter expression must follow the following format:
8876	//
8877	// EXCLUDE itemId WHERE INTERACTIONS.event_type in ("EVENT_TYPE")
8878	//
8879	// Where "EVENT_TYPE" is the type of event to filter out. For more information,
8880	// see Using Filters with Amazon Personalize (https://docs.aws.amazon.com/personalize/latest/dg/filters.html).
8881	FilterExpression *string `locationName:"filterExpression" min:"1" type:"string" sensitive:"true"`
8882
8883	// The time at which the filter was last updated.
8884	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
8885
8886	// The name of the filter.
8887	Name *string `locationName:"name" min:"1" type:"string"`
8888
8889	// The status of the filter.
8890	Status *string `locationName:"status" type:"string"`
8891}
8892
8893// String returns the string representation
8894func (s Filter) String() string {
8895	return awsutil.Prettify(s)
8896}
8897
8898// GoString returns the string representation
8899func (s Filter) GoString() string {
8900	return s.String()
8901}
8902
8903// SetCreationDateTime sets the CreationDateTime field's value.
8904func (s *Filter) SetCreationDateTime(v time.Time) *Filter {
8905	s.CreationDateTime = &v
8906	return s
8907}
8908
8909// SetDatasetGroupArn sets the DatasetGroupArn field's value.
8910func (s *Filter) SetDatasetGroupArn(v string) *Filter {
8911	s.DatasetGroupArn = &v
8912	return s
8913}
8914
8915// SetFailureReason sets the FailureReason field's value.
8916func (s *Filter) SetFailureReason(v string) *Filter {
8917	s.FailureReason = &v
8918	return s
8919}
8920
8921// SetFilterArn sets the FilterArn field's value.
8922func (s *Filter) SetFilterArn(v string) *Filter {
8923	s.FilterArn = &v
8924	return s
8925}
8926
8927// SetFilterExpression sets the FilterExpression field's value.
8928func (s *Filter) SetFilterExpression(v string) *Filter {
8929	s.FilterExpression = &v
8930	return s
8931}
8932
8933// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
8934func (s *Filter) SetLastUpdatedDateTime(v time.Time) *Filter {
8935	s.LastUpdatedDateTime = &v
8936	return s
8937}
8938
8939// SetName sets the Name field's value.
8940func (s *Filter) SetName(v string) *Filter {
8941	s.Name = &v
8942	return s
8943}
8944
8945// SetStatus sets the Status field's value.
8946func (s *Filter) SetStatus(v string) *Filter {
8947	s.Status = &v
8948	return s
8949}
8950
8951// A short summary of a filter's attributes.
8952type FilterSummary struct {
8953	_ struct{} `type:"structure"`
8954
8955	// The time at which the filter was created.
8956	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
8957
8958	// The ARN of the dataset group to which the filter belongs.
8959	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
8960
8961	// If the filter failed, the reason for the failure.
8962	FailureReason *string `locationName:"failureReason" type:"string"`
8963
8964	// The ARN of the filter.
8965	FilterArn *string `locationName:"filterArn" type:"string"`
8966
8967	// The time at which the filter was last updated.
8968	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
8969
8970	// The name of the filter.
8971	Name *string `locationName:"name" min:"1" type:"string"`
8972
8973	// The status of the filter.
8974	Status *string `locationName:"status" type:"string"`
8975}
8976
8977// String returns the string representation
8978func (s FilterSummary) String() string {
8979	return awsutil.Prettify(s)
8980}
8981
8982// GoString returns the string representation
8983func (s FilterSummary) GoString() string {
8984	return s.String()
8985}
8986
8987// SetCreationDateTime sets the CreationDateTime field's value.
8988func (s *FilterSummary) SetCreationDateTime(v time.Time) *FilterSummary {
8989	s.CreationDateTime = &v
8990	return s
8991}
8992
8993// SetDatasetGroupArn sets the DatasetGroupArn field's value.
8994func (s *FilterSummary) SetDatasetGroupArn(v string) *FilterSummary {
8995	s.DatasetGroupArn = &v
8996	return s
8997}
8998
8999// SetFailureReason sets the FailureReason field's value.
9000func (s *FilterSummary) SetFailureReason(v string) *FilterSummary {
9001	s.FailureReason = &v
9002	return s
9003}
9004
9005// SetFilterArn sets the FilterArn field's value.
9006func (s *FilterSummary) SetFilterArn(v string) *FilterSummary {
9007	s.FilterArn = &v
9008	return s
9009}
9010
9011// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
9012func (s *FilterSummary) SetLastUpdatedDateTime(v time.Time) *FilterSummary {
9013	s.LastUpdatedDateTime = &v
9014	return s
9015}
9016
9017// SetName sets the Name field's value.
9018func (s *FilterSummary) SetName(v string) *FilterSummary {
9019	s.Name = &v
9020	return s
9021}
9022
9023// SetStatus sets the Status field's value.
9024func (s *FilterSummary) SetStatus(v string) *FilterSummary {
9025	s.Status = &v
9026	return s
9027}
9028
9029type GetSolutionMetricsInput struct {
9030	_ struct{} `type:"structure"`
9031
9032	// The Amazon Resource Name (ARN) of the solution version for which to get metrics.
9033	//
9034	// SolutionVersionArn is a required field
9035	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string" required:"true"`
9036}
9037
9038// String returns the string representation
9039func (s GetSolutionMetricsInput) String() string {
9040	return awsutil.Prettify(s)
9041}
9042
9043// GoString returns the string representation
9044func (s GetSolutionMetricsInput) GoString() string {
9045	return s.String()
9046}
9047
9048// Validate inspects the fields of the type to determine if they are valid.
9049func (s *GetSolutionMetricsInput) Validate() error {
9050	invalidParams := request.ErrInvalidParams{Context: "GetSolutionMetricsInput"}
9051	if s.SolutionVersionArn == nil {
9052		invalidParams.Add(request.NewErrParamRequired("SolutionVersionArn"))
9053	}
9054
9055	if invalidParams.Len() > 0 {
9056		return invalidParams
9057	}
9058	return nil
9059}
9060
9061// SetSolutionVersionArn sets the SolutionVersionArn field's value.
9062func (s *GetSolutionMetricsInput) SetSolutionVersionArn(v string) *GetSolutionMetricsInput {
9063	s.SolutionVersionArn = &v
9064	return s
9065}
9066
9067type GetSolutionMetricsOutput struct {
9068	_ struct{} `type:"structure"`
9069
9070	// The metrics for the solution version.
9071	Metrics map[string]*float64 `locationName:"metrics" type:"map"`
9072
9073	// The same solution version ARN as specified in the request.
9074	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
9075}
9076
9077// String returns the string representation
9078func (s GetSolutionMetricsOutput) String() string {
9079	return awsutil.Prettify(s)
9080}
9081
9082// GoString returns the string representation
9083func (s GetSolutionMetricsOutput) GoString() string {
9084	return s.String()
9085}
9086
9087// SetMetrics sets the Metrics field's value.
9088func (s *GetSolutionMetricsOutput) SetMetrics(v map[string]*float64) *GetSolutionMetricsOutput {
9089	s.Metrics = v
9090	return s
9091}
9092
9093// SetSolutionVersionArn sets the SolutionVersionArn field's value.
9094func (s *GetSolutionMetricsOutput) SetSolutionVersionArn(v string) *GetSolutionMetricsOutput {
9095	s.SolutionVersionArn = &v
9096	return s
9097}
9098
9099// Describes the properties for hyperparameter optimization (HPO). For use with
9100// the bring-your-own-recipe feature. Do not use for Amazon Personalize native
9101// recipes.
9102type HPOConfig struct {
9103	_ struct{} `type:"structure"`
9104
9105	// The hyperparameters and their allowable ranges.
9106	AlgorithmHyperParameterRanges *HyperParameterRanges `locationName:"algorithmHyperParameterRanges" type:"structure"`
9107
9108	// The metric to optimize during HPO.
9109	HpoObjective *HPOObjective `locationName:"hpoObjective" type:"structure"`
9110
9111	// Describes the resource configuration for HPO.
9112	HpoResourceConfig *HPOResourceConfig `locationName:"hpoResourceConfig" type:"structure"`
9113}
9114
9115// String returns the string representation
9116func (s HPOConfig) String() string {
9117	return awsutil.Prettify(s)
9118}
9119
9120// GoString returns the string representation
9121func (s HPOConfig) GoString() string {
9122	return s.String()
9123}
9124
9125// Validate inspects the fields of the type to determine if they are valid.
9126func (s *HPOConfig) Validate() error {
9127	invalidParams := request.ErrInvalidParams{Context: "HPOConfig"}
9128	if s.AlgorithmHyperParameterRanges != nil {
9129		if err := s.AlgorithmHyperParameterRanges.Validate(); err != nil {
9130			invalidParams.AddNested("AlgorithmHyperParameterRanges", err.(request.ErrInvalidParams))
9131		}
9132	}
9133
9134	if invalidParams.Len() > 0 {
9135		return invalidParams
9136	}
9137	return nil
9138}
9139
9140// SetAlgorithmHyperParameterRanges sets the AlgorithmHyperParameterRanges field's value.
9141func (s *HPOConfig) SetAlgorithmHyperParameterRanges(v *HyperParameterRanges) *HPOConfig {
9142	s.AlgorithmHyperParameterRanges = v
9143	return s
9144}
9145
9146// SetHpoObjective sets the HpoObjective field's value.
9147func (s *HPOConfig) SetHpoObjective(v *HPOObjective) *HPOConfig {
9148	s.HpoObjective = v
9149	return s
9150}
9151
9152// SetHpoResourceConfig sets the HpoResourceConfig field's value.
9153func (s *HPOConfig) SetHpoResourceConfig(v *HPOResourceConfig) *HPOConfig {
9154	s.HpoResourceConfig = v
9155	return s
9156}
9157
9158// The metric to optimize during hyperparameter optimization (HPO).
9159type HPOObjective struct {
9160	_ struct{} `type:"structure"`
9161
9162	// The name of the metric.
9163	MetricName *string `locationName:"metricName" type:"string"`
9164
9165	// A regular expression for finding the metric in the training job logs.
9166	MetricRegex *string `locationName:"metricRegex" type:"string"`
9167
9168	// The type of the metric. Valid values are Maximize and Minimize.
9169	Type *string `locationName:"type" type:"string"`
9170}
9171
9172// String returns the string representation
9173func (s HPOObjective) String() string {
9174	return awsutil.Prettify(s)
9175}
9176
9177// GoString returns the string representation
9178func (s HPOObjective) GoString() string {
9179	return s.String()
9180}
9181
9182// SetMetricName sets the MetricName field's value.
9183func (s *HPOObjective) SetMetricName(v string) *HPOObjective {
9184	s.MetricName = &v
9185	return s
9186}
9187
9188// SetMetricRegex sets the MetricRegex field's value.
9189func (s *HPOObjective) SetMetricRegex(v string) *HPOObjective {
9190	s.MetricRegex = &v
9191	return s
9192}
9193
9194// SetType sets the Type field's value.
9195func (s *HPOObjective) SetType(v string) *HPOObjective {
9196	s.Type = &v
9197	return s
9198}
9199
9200// Describes the resource configuration for hyperparameter optimization (HPO).
9201type HPOResourceConfig struct {
9202	_ struct{} `type:"structure"`
9203
9204	// The maximum number of training jobs when you create a solution version. The
9205	// maximum value for maxNumberOfTrainingJobs is 40.
9206	MaxNumberOfTrainingJobs *string `locationName:"maxNumberOfTrainingJobs" type:"string"`
9207
9208	// The maximum number of parallel training jobs when you create a solution version.
9209	// The maximum value for maxParallelTrainingJobs is 10.
9210	MaxParallelTrainingJobs *string `locationName:"maxParallelTrainingJobs" type:"string"`
9211}
9212
9213// String returns the string representation
9214func (s HPOResourceConfig) String() string {
9215	return awsutil.Prettify(s)
9216}
9217
9218// GoString returns the string representation
9219func (s HPOResourceConfig) GoString() string {
9220	return s.String()
9221}
9222
9223// SetMaxNumberOfTrainingJobs sets the MaxNumberOfTrainingJobs field's value.
9224func (s *HPOResourceConfig) SetMaxNumberOfTrainingJobs(v string) *HPOResourceConfig {
9225	s.MaxNumberOfTrainingJobs = &v
9226	return s
9227}
9228
9229// SetMaxParallelTrainingJobs sets the MaxParallelTrainingJobs field's value.
9230func (s *HPOResourceConfig) SetMaxParallelTrainingJobs(v string) *HPOResourceConfig {
9231	s.MaxParallelTrainingJobs = &v
9232	return s
9233}
9234
9235// Specifies the hyperparameters and their ranges. Hyperparameters can be categorical,
9236// continuous, or integer-valued.
9237type HyperParameterRanges struct {
9238	_ struct{} `type:"structure"`
9239
9240	// The categorical hyperparameters and their ranges.
9241	CategoricalHyperParameterRanges []*CategoricalHyperParameterRange `locationName:"categoricalHyperParameterRanges" type:"list"`
9242
9243	// The continuous hyperparameters and their ranges.
9244	ContinuousHyperParameterRanges []*ContinuousHyperParameterRange `locationName:"continuousHyperParameterRanges" type:"list"`
9245
9246	// The integer-valued hyperparameters and their ranges.
9247	IntegerHyperParameterRanges []*IntegerHyperParameterRange `locationName:"integerHyperParameterRanges" type:"list"`
9248}
9249
9250// String returns the string representation
9251func (s HyperParameterRanges) String() string {
9252	return awsutil.Prettify(s)
9253}
9254
9255// GoString returns the string representation
9256func (s HyperParameterRanges) GoString() string {
9257	return s.String()
9258}
9259
9260// Validate inspects the fields of the type to determine if they are valid.
9261func (s *HyperParameterRanges) Validate() error {
9262	invalidParams := request.ErrInvalidParams{Context: "HyperParameterRanges"}
9263	if s.ContinuousHyperParameterRanges != nil {
9264		for i, v := range s.ContinuousHyperParameterRanges {
9265			if v == nil {
9266				continue
9267			}
9268			if err := v.Validate(); err != nil {
9269				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContinuousHyperParameterRanges", i), err.(request.ErrInvalidParams))
9270			}
9271		}
9272	}
9273	if s.IntegerHyperParameterRanges != nil {
9274		for i, v := range s.IntegerHyperParameterRanges {
9275			if v == nil {
9276				continue
9277			}
9278			if err := v.Validate(); err != nil {
9279				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "IntegerHyperParameterRanges", i), err.(request.ErrInvalidParams))
9280			}
9281		}
9282	}
9283
9284	if invalidParams.Len() > 0 {
9285		return invalidParams
9286	}
9287	return nil
9288}
9289
9290// SetCategoricalHyperParameterRanges sets the CategoricalHyperParameterRanges field's value.
9291func (s *HyperParameterRanges) SetCategoricalHyperParameterRanges(v []*CategoricalHyperParameterRange) *HyperParameterRanges {
9292	s.CategoricalHyperParameterRanges = v
9293	return s
9294}
9295
9296// SetContinuousHyperParameterRanges sets the ContinuousHyperParameterRanges field's value.
9297func (s *HyperParameterRanges) SetContinuousHyperParameterRanges(v []*ContinuousHyperParameterRange) *HyperParameterRanges {
9298	s.ContinuousHyperParameterRanges = v
9299	return s
9300}
9301
9302// SetIntegerHyperParameterRanges sets the IntegerHyperParameterRanges field's value.
9303func (s *HyperParameterRanges) SetIntegerHyperParameterRanges(v []*IntegerHyperParameterRange) *HyperParameterRanges {
9304	s.IntegerHyperParameterRanges = v
9305	return s
9306}
9307
9308// Provides the name and range of an integer-valued hyperparameter.
9309type IntegerHyperParameterRange struct {
9310	_ struct{} `type:"structure"`
9311
9312	// The maximum allowable value for the hyperparameter.
9313	MaxValue *int64 `locationName:"maxValue" type:"integer"`
9314
9315	// The minimum allowable value for the hyperparameter.
9316	MinValue *int64 `locationName:"minValue" type:"integer"`
9317
9318	// The name of the hyperparameter.
9319	Name *string `locationName:"name" type:"string"`
9320}
9321
9322// String returns the string representation
9323func (s IntegerHyperParameterRange) String() string {
9324	return awsutil.Prettify(s)
9325}
9326
9327// GoString returns the string representation
9328func (s IntegerHyperParameterRange) GoString() string {
9329	return s.String()
9330}
9331
9332// Validate inspects the fields of the type to determine if they are valid.
9333func (s *IntegerHyperParameterRange) Validate() error {
9334	invalidParams := request.ErrInvalidParams{Context: "IntegerHyperParameterRange"}
9335	if s.MinValue != nil && *s.MinValue < -1e+06 {
9336		invalidParams.Add(request.NewErrParamMinValue("MinValue", -1e+06))
9337	}
9338
9339	if invalidParams.Len() > 0 {
9340		return invalidParams
9341	}
9342	return nil
9343}
9344
9345// SetMaxValue sets the MaxValue field's value.
9346func (s *IntegerHyperParameterRange) SetMaxValue(v int64) *IntegerHyperParameterRange {
9347	s.MaxValue = &v
9348	return s
9349}
9350
9351// SetMinValue sets the MinValue field's value.
9352func (s *IntegerHyperParameterRange) SetMinValue(v int64) *IntegerHyperParameterRange {
9353	s.MinValue = &v
9354	return s
9355}
9356
9357// SetName sets the Name field's value.
9358func (s *IntegerHyperParameterRange) SetName(v string) *IntegerHyperParameterRange {
9359	s.Name = &v
9360	return s
9361}
9362
9363// Provide a valid value for the field or parameter.
9364type InvalidInputException struct {
9365	_            struct{}                  `type:"structure"`
9366	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9367
9368	Message_ *string `locationName:"message" type:"string"`
9369}
9370
9371// String returns the string representation
9372func (s InvalidInputException) String() string {
9373	return awsutil.Prettify(s)
9374}
9375
9376// GoString returns the string representation
9377func (s InvalidInputException) GoString() string {
9378	return s.String()
9379}
9380
9381func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
9382	return &InvalidInputException{
9383		RespMetadata: v,
9384	}
9385}
9386
9387// Code returns the exception type name.
9388func (s *InvalidInputException) Code() string {
9389	return "InvalidInputException"
9390}
9391
9392// Message returns the exception's message.
9393func (s *InvalidInputException) Message() string {
9394	if s.Message_ != nil {
9395		return *s.Message_
9396	}
9397	return ""
9398}
9399
9400// OrigErr always returns nil, satisfies awserr.Error interface.
9401func (s *InvalidInputException) OrigErr() error {
9402	return nil
9403}
9404
9405func (s *InvalidInputException) Error() string {
9406	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9407}
9408
9409// Status code returns the HTTP status code for the request's response error.
9410func (s *InvalidInputException) StatusCode() int {
9411	return s.RespMetadata.StatusCode
9412}
9413
9414// RequestID returns the service's response RequestID for request.
9415func (s *InvalidInputException) RequestID() string {
9416	return s.RespMetadata.RequestID
9417}
9418
9419// The token is not valid.
9420type InvalidNextTokenException struct {
9421	_            struct{}                  `type:"structure"`
9422	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9423
9424	Message_ *string `locationName:"message" type:"string"`
9425}
9426
9427// String returns the string representation
9428func (s InvalidNextTokenException) String() string {
9429	return awsutil.Prettify(s)
9430}
9431
9432// GoString returns the string representation
9433func (s InvalidNextTokenException) GoString() string {
9434	return s.String()
9435}
9436
9437func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
9438	return &InvalidNextTokenException{
9439		RespMetadata: v,
9440	}
9441}
9442
9443// Code returns the exception type name.
9444func (s *InvalidNextTokenException) Code() string {
9445	return "InvalidNextTokenException"
9446}
9447
9448// Message returns the exception's message.
9449func (s *InvalidNextTokenException) Message() string {
9450	if s.Message_ != nil {
9451		return *s.Message_
9452	}
9453	return ""
9454}
9455
9456// OrigErr always returns nil, satisfies awserr.Error interface.
9457func (s *InvalidNextTokenException) OrigErr() error {
9458	return nil
9459}
9460
9461func (s *InvalidNextTokenException) Error() string {
9462	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9463}
9464
9465// Status code returns the HTTP status code for the request's response error.
9466func (s *InvalidNextTokenException) StatusCode() int {
9467	return s.RespMetadata.StatusCode
9468}
9469
9470// RequestID returns the service's response RequestID for request.
9471func (s *InvalidNextTokenException) RequestID() string {
9472	return s.RespMetadata.RequestID
9473}
9474
9475// The limit on the number of requests per second has been exceeded.
9476type LimitExceededException struct {
9477	_            struct{}                  `type:"structure"`
9478	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9479
9480	Message_ *string `locationName:"message" type:"string"`
9481}
9482
9483// String returns the string representation
9484func (s LimitExceededException) String() string {
9485	return awsutil.Prettify(s)
9486}
9487
9488// GoString returns the string representation
9489func (s LimitExceededException) GoString() string {
9490	return s.String()
9491}
9492
9493func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
9494	return &LimitExceededException{
9495		RespMetadata: v,
9496	}
9497}
9498
9499// Code returns the exception type name.
9500func (s *LimitExceededException) Code() string {
9501	return "LimitExceededException"
9502}
9503
9504// Message returns the exception's message.
9505func (s *LimitExceededException) Message() string {
9506	if s.Message_ != nil {
9507		return *s.Message_
9508	}
9509	return ""
9510}
9511
9512// OrigErr always returns nil, satisfies awserr.Error interface.
9513func (s *LimitExceededException) OrigErr() error {
9514	return nil
9515}
9516
9517func (s *LimitExceededException) Error() string {
9518	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9519}
9520
9521// Status code returns the HTTP status code for the request's response error.
9522func (s *LimitExceededException) StatusCode() int {
9523	return s.RespMetadata.StatusCode
9524}
9525
9526// RequestID returns the service's response RequestID for request.
9527func (s *LimitExceededException) RequestID() string {
9528	return s.RespMetadata.RequestID
9529}
9530
9531type ListBatchInferenceJobsInput struct {
9532	_ struct{} `type:"structure"`
9533
9534	// The maximum number of batch inference job results to return in each page.
9535	// The default value is 100.
9536	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
9537
9538	// The token to request the next page of results.
9539	NextToken *string `locationName:"nextToken" type:"string"`
9540
9541	// The Amazon Resource Name (ARN) of the solution version from which the batch
9542	// inference jobs were created.
9543	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
9544}
9545
9546// String returns the string representation
9547func (s ListBatchInferenceJobsInput) String() string {
9548	return awsutil.Prettify(s)
9549}
9550
9551// GoString returns the string representation
9552func (s ListBatchInferenceJobsInput) GoString() string {
9553	return s.String()
9554}
9555
9556// Validate inspects the fields of the type to determine if they are valid.
9557func (s *ListBatchInferenceJobsInput) Validate() error {
9558	invalidParams := request.ErrInvalidParams{Context: "ListBatchInferenceJobsInput"}
9559	if s.MaxResults != nil && *s.MaxResults < 1 {
9560		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9561	}
9562
9563	if invalidParams.Len() > 0 {
9564		return invalidParams
9565	}
9566	return nil
9567}
9568
9569// SetMaxResults sets the MaxResults field's value.
9570func (s *ListBatchInferenceJobsInput) SetMaxResults(v int64) *ListBatchInferenceJobsInput {
9571	s.MaxResults = &v
9572	return s
9573}
9574
9575// SetNextToken sets the NextToken field's value.
9576func (s *ListBatchInferenceJobsInput) SetNextToken(v string) *ListBatchInferenceJobsInput {
9577	s.NextToken = &v
9578	return s
9579}
9580
9581// SetSolutionVersionArn sets the SolutionVersionArn field's value.
9582func (s *ListBatchInferenceJobsInput) SetSolutionVersionArn(v string) *ListBatchInferenceJobsInput {
9583	s.SolutionVersionArn = &v
9584	return s
9585}
9586
9587type ListBatchInferenceJobsOutput struct {
9588	_ struct{} `type:"structure"`
9589
9590	// A list containing information on each job that is returned.
9591	BatchInferenceJobs []*BatchInferenceJobSummary `locationName:"batchInferenceJobs" type:"list"`
9592
9593	// The token to use to retreive the next page of results. The value is null
9594	// when there are no more results to return.
9595	NextToken *string `locationName:"nextToken" type:"string"`
9596}
9597
9598// String returns the string representation
9599func (s ListBatchInferenceJobsOutput) String() string {
9600	return awsutil.Prettify(s)
9601}
9602
9603// GoString returns the string representation
9604func (s ListBatchInferenceJobsOutput) GoString() string {
9605	return s.String()
9606}
9607
9608// SetBatchInferenceJobs sets the BatchInferenceJobs field's value.
9609func (s *ListBatchInferenceJobsOutput) SetBatchInferenceJobs(v []*BatchInferenceJobSummary) *ListBatchInferenceJobsOutput {
9610	s.BatchInferenceJobs = v
9611	return s
9612}
9613
9614// SetNextToken sets the NextToken field's value.
9615func (s *ListBatchInferenceJobsOutput) SetNextToken(v string) *ListBatchInferenceJobsOutput {
9616	s.NextToken = &v
9617	return s
9618}
9619
9620type ListCampaignsInput struct {
9621	_ struct{} `type:"structure"`
9622
9623	// The maximum number of campaigns to return.
9624	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
9625
9626	// A token returned from the previous call to ListCampaigns for getting the
9627	// next set of campaigns (if they exist).
9628	NextToken *string `locationName:"nextToken" type:"string"`
9629
9630	// The Amazon Resource Name (ARN) of the solution to list the campaigns for.
9631	// When a solution is not specified, all the campaigns associated with the account
9632	// are listed.
9633	SolutionArn *string `locationName:"solutionArn" type:"string"`
9634}
9635
9636// String returns the string representation
9637func (s ListCampaignsInput) String() string {
9638	return awsutil.Prettify(s)
9639}
9640
9641// GoString returns the string representation
9642func (s ListCampaignsInput) GoString() string {
9643	return s.String()
9644}
9645
9646// Validate inspects the fields of the type to determine if they are valid.
9647func (s *ListCampaignsInput) Validate() error {
9648	invalidParams := request.ErrInvalidParams{Context: "ListCampaignsInput"}
9649	if s.MaxResults != nil && *s.MaxResults < 1 {
9650		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9651	}
9652
9653	if invalidParams.Len() > 0 {
9654		return invalidParams
9655	}
9656	return nil
9657}
9658
9659// SetMaxResults sets the MaxResults field's value.
9660func (s *ListCampaignsInput) SetMaxResults(v int64) *ListCampaignsInput {
9661	s.MaxResults = &v
9662	return s
9663}
9664
9665// SetNextToken sets the NextToken field's value.
9666func (s *ListCampaignsInput) SetNextToken(v string) *ListCampaignsInput {
9667	s.NextToken = &v
9668	return s
9669}
9670
9671// SetSolutionArn sets the SolutionArn field's value.
9672func (s *ListCampaignsInput) SetSolutionArn(v string) *ListCampaignsInput {
9673	s.SolutionArn = &v
9674	return s
9675}
9676
9677type ListCampaignsOutput struct {
9678	_ struct{} `type:"structure"`
9679
9680	// A list of the campaigns.
9681	Campaigns []*CampaignSummary `locationName:"campaigns" type:"list"`
9682
9683	// A token for getting the next set of campaigns (if they exist).
9684	NextToken *string `locationName:"nextToken" type:"string"`
9685}
9686
9687// String returns the string representation
9688func (s ListCampaignsOutput) String() string {
9689	return awsutil.Prettify(s)
9690}
9691
9692// GoString returns the string representation
9693func (s ListCampaignsOutput) GoString() string {
9694	return s.String()
9695}
9696
9697// SetCampaigns sets the Campaigns field's value.
9698func (s *ListCampaignsOutput) SetCampaigns(v []*CampaignSummary) *ListCampaignsOutput {
9699	s.Campaigns = v
9700	return s
9701}
9702
9703// SetNextToken sets the NextToken field's value.
9704func (s *ListCampaignsOutput) SetNextToken(v string) *ListCampaignsOutput {
9705	s.NextToken = &v
9706	return s
9707}
9708
9709type ListDatasetGroupsInput struct {
9710	_ struct{} `type:"structure"`
9711
9712	// The maximum number of dataset groups to return.
9713	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
9714
9715	// A token returned from the previous call to ListDatasetGroups for getting
9716	// the next set of dataset groups (if they exist).
9717	NextToken *string `locationName:"nextToken" type:"string"`
9718}
9719
9720// String returns the string representation
9721func (s ListDatasetGroupsInput) String() string {
9722	return awsutil.Prettify(s)
9723}
9724
9725// GoString returns the string representation
9726func (s ListDatasetGroupsInput) GoString() string {
9727	return s.String()
9728}
9729
9730// Validate inspects the fields of the type to determine if they are valid.
9731func (s *ListDatasetGroupsInput) Validate() error {
9732	invalidParams := request.ErrInvalidParams{Context: "ListDatasetGroupsInput"}
9733	if s.MaxResults != nil && *s.MaxResults < 1 {
9734		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9735	}
9736
9737	if invalidParams.Len() > 0 {
9738		return invalidParams
9739	}
9740	return nil
9741}
9742
9743// SetMaxResults sets the MaxResults field's value.
9744func (s *ListDatasetGroupsInput) SetMaxResults(v int64) *ListDatasetGroupsInput {
9745	s.MaxResults = &v
9746	return s
9747}
9748
9749// SetNextToken sets the NextToken field's value.
9750func (s *ListDatasetGroupsInput) SetNextToken(v string) *ListDatasetGroupsInput {
9751	s.NextToken = &v
9752	return s
9753}
9754
9755type ListDatasetGroupsOutput struct {
9756	_ struct{} `type:"structure"`
9757
9758	// The list of your dataset groups.
9759	DatasetGroups []*DatasetGroupSummary `locationName:"datasetGroups" type:"list"`
9760
9761	// A token for getting the next set of dataset groups (if they exist).
9762	NextToken *string `locationName:"nextToken" type:"string"`
9763}
9764
9765// String returns the string representation
9766func (s ListDatasetGroupsOutput) String() string {
9767	return awsutil.Prettify(s)
9768}
9769
9770// GoString returns the string representation
9771func (s ListDatasetGroupsOutput) GoString() string {
9772	return s.String()
9773}
9774
9775// SetDatasetGroups sets the DatasetGroups field's value.
9776func (s *ListDatasetGroupsOutput) SetDatasetGroups(v []*DatasetGroupSummary) *ListDatasetGroupsOutput {
9777	s.DatasetGroups = v
9778	return s
9779}
9780
9781// SetNextToken sets the NextToken field's value.
9782func (s *ListDatasetGroupsOutput) SetNextToken(v string) *ListDatasetGroupsOutput {
9783	s.NextToken = &v
9784	return s
9785}
9786
9787type ListDatasetImportJobsInput struct {
9788	_ struct{} `type:"structure"`
9789
9790	// The Amazon Resource Name (ARN) of the dataset to list the dataset import
9791	// jobs for.
9792	DatasetArn *string `locationName:"datasetArn" type:"string"`
9793
9794	// The maximum number of dataset import jobs to return.
9795	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
9796
9797	// A token returned from the previous call to ListDatasetImportJobs for getting
9798	// the next set of dataset import jobs (if they exist).
9799	NextToken *string `locationName:"nextToken" type:"string"`
9800}
9801
9802// String returns the string representation
9803func (s ListDatasetImportJobsInput) String() string {
9804	return awsutil.Prettify(s)
9805}
9806
9807// GoString returns the string representation
9808func (s ListDatasetImportJobsInput) GoString() string {
9809	return s.String()
9810}
9811
9812// Validate inspects the fields of the type to determine if they are valid.
9813func (s *ListDatasetImportJobsInput) Validate() error {
9814	invalidParams := request.ErrInvalidParams{Context: "ListDatasetImportJobsInput"}
9815	if s.MaxResults != nil && *s.MaxResults < 1 {
9816		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9817	}
9818
9819	if invalidParams.Len() > 0 {
9820		return invalidParams
9821	}
9822	return nil
9823}
9824
9825// SetDatasetArn sets the DatasetArn field's value.
9826func (s *ListDatasetImportJobsInput) SetDatasetArn(v string) *ListDatasetImportJobsInput {
9827	s.DatasetArn = &v
9828	return s
9829}
9830
9831// SetMaxResults sets the MaxResults field's value.
9832func (s *ListDatasetImportJobsInput) SetMaxResults(v int64) *ListDatasetImportJobsInput {
9833	s.MaxResults = &v
9834	return s
9835}
9836
9837// SetNextToken sets the NextToken field's value.
9838func (s *ListDatasetImportJobsInput) SetNextToken(v string) *ListDatasetImportJobsInput {
9839	s.NextToken = &v
9840	return s
9841}
9842
9843type ListDatasetImportJobsOutput struct {
9844	_ struct{} `type:"structure"`
9845
9846	// The list of dataset import jobs.
9847	DatasetImportJobs []*DatasetImportJobSummary `locationName:"datasetImportJobs" type:"list"`
9848
9849	// A token for getting the next set of dataset import jobs (if they exist).
9850	NextToken *string `locationName:"nextToken" type:"string"`
9851}
9852
9853// String returns the string representation
9854func (s ListDatasetImportJobsOutput) String() string {
9855	return awsutil.Prettify(s)
9856}
9857
9858// GoString returns the string representation
9859func (s ListDatasetImportJobsOutput) GoString() string {
9860	return s.String()
9861}
9862
9863// SetDatasetImportJobs sets the DatasetImportJobs field's value.
9864func (s *ListDatasetImportJobsOutput) SetDatasetImportJobs(v []*DatasetImportJobSummary) *ListDatasetImportJobsOutput {
9865	s.DatasetImportJobs = v
9866	return s
9867}
9868
9869// SetNextToken sets the NextToken field's value.
9870func (s *ListDatasetImportJobsOutput) SetNextToken(v string) *ListDatasetImportJobsOutput {
9871	s.NextToken = &v
9872	return s
9873}
9874
9875type ListDatasetsInput struct {
9876	_ struct{} `type:"structure"`
9877
9878	// The Amazon Resource Name (ARN) of the dataset group that contains the datasets
9879	// to list.
9880	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
9881
9882	// The maximum number of datasets to return.
9883	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
9884
9885	// A token returned from the previous call to ListDatasetImportJobs for getting
9886	// the next set of dataset import jobs (if they exist).
9887	NextToken *string `locationName:"nextToken" type:"string"`
9888}
9889
9890// String returns the string representation
9891func (s ListDatasetsInput) String() string {
9892	return awsutil.Prettify(s)
9893}
9894
9895// GoString returns the string representation
9896func (s ListDatasetsInput) GoString() string {
9897	return s.String()
9898}
9899
9900// Validate inspects the fields of the type to determine if they are valid.
9901func (s *ListDatasetsInput) Validate() error {
9902	invalidParams := request.ErrInvalidParams{Context: "ListDatasetsInput"}
9903	if s.MaxResults != nil && *s.MaxResults < 1 {
9904		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9905	}
9906
9907	if invalidParams.Len() > 0 {
9908		return invalidParams
9909	}
9910	return nil
9911}
9912
9913// SetDatasetGroupArn sets the DatasetGroupArn field's value.
9914func (s *ListDatasetsInput) SetDatasetGroupArn(v string) *ListDatasetsInput {
9915	s.DatasetGroupArn = &v
9916	return s
9917}
9918
9919// SetMaxResults sets the MaxResults field's value.
9920func (s *ListDatasetsInput) SetMaxResults(v int64) *ListDatasetsInput {
9921	s.MaxResults = &v
9922	return s
9923}
9924
9925// SetNextToken sets the NextToken field's value.
9926func (s *ListDatasetsInput) SetNextToken(v string) *ListDatasetsInput {
9927	s.NextToken = &v
9928	return s
9929}
9930
9931type ListDatasetsOutput struct {
9932	_ struct{} `type:"structure"`
9933
9934	// An array of Dataset objects. Each object provides metadata information.
9935	Datasets []*DatasetSummary `locationName:"datasets" type:"list"`
9936
9937	// A token for getting the next set of datasets (if they exist).
9938	NextToken *string `locationName:"nextToken" type:"string"`
9939}
9940
9941// String returns the string representation
9942func (s ListDatasetsOutput) String() string {
9943	return awsutil.Prettify(s)
9944}
9945
9946// GoString returns the string representation
9947func (s ListDatasetsOutput) GoString() string {
9948	return s.String()
9949}
9950
9951// SetDatasets sets the Datasets field's value.
9952func (s *ListDatasetsOutput) SetDatasets(v []*DatasetSummary) *ListDatasetsOutput {
9953	s.Datasets = v
9954	return s
9955}
9956
9957// SetNextToken sets the NextToken field's value.
9958func (s *ListDatasetsOutput) SetNextToken(v string) *ListDatasetsOutput {
9959	s.NextToken = &v
9960	return s
9961}
9962
9963type ListEventTrackersInput struct {
9964	_ struct{} `type:"structure"`
9965
9966	// The ARN of a dataset group used to filter the response.
9967	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
9968
9969	// The maximum number of event trackers to return.
9970	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
9971
9972	// A token returned from the previous call to ListEventTrackers for getting
9973	// the next set of event trackers (if they exist).
9974	NextToken *string `locationName:"nextToken" type:"string"`
9975}
9976
9977// String returns the string representation
9978func (s ListEventTrackersInput) String() string {
9979	return awsutil.Prettify(s)
9980}
9981
9982// GoString returns the string representation
9983func (s ListEventTrackersInput) GoString() string {
9984	return s.String()
9985}
9986
9987// Validate inspects the fields of the type to determine if they are valid.
9988func (s *ListEventTrackersInput) Validate() error {
9989	invalidParams := request.ErrInvalidParams{Context: "ListEventTrackersInput"}
9990	if s.MaxResults != nil && *s.MaxResults < 1 {
9991		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9992	}
9993
9994	if invalidParams.Len() > 0 {
9995		return invalidParams
9996	}
9997	return nil
9998}
9999
10000// SetDatasetGroupArn sets the DatasetGroupArn field's value.
10001func (s *ListEventTrackersInput) SetDatasetGroupArn(v string) *ListEventTrackersInput {
10002	s.DatasetGroupArn = &v
10003	return s
10004}
10005
10006// SetMaxResults sets the MaxResults field's value.
10007func (s *ListEventTrackersInput) SetMaxResults(v int64) *ListEventTrackersInput {
10008	s.MaxResults = &v
10009	return s
10010}
10011
10012// SetNextToken sets the NextToken field's value.
10013func (s *ListEventTrackersInput) SetNextToken(v string) *ListEventTrackersInput {
10014	s.NextToken = &v
10015	return s
10016}
10017
10018type ListEventTrackersOutput struct {
10019	_ struct{} `type:"structure"`
10020
10021	// A list of event trackers.
10022	EventTrackers []*EventTrackerSummary `locationName:"eventTrackers" type:"list"`
10023
10024	// A token for getting the next set of event trackers (if they exist).
10025	NextToken *string `locationName:"nextToken" type:"string"`
10026}
10027
10028// String returns the string representation
10029func (s ListEventTrackersOutput) String() string {
10030	return awsutil.Prettify(s)
10031}
10032
10033// GoString returns the string representation
10034func (s ListEventTrackersOutput) GoString() string {
10035	return s.String()
10036}
10037
10038// SetEventTrackers sets the EventTrackers field's value.
10039func (s *ListEventTrackersOutput) SetEventTrackers(v []*EventTrackerSummary) *ListEventTrackersOutput {
10040	s.EventTrackers = v
10041	return s
10042}
10043
10044// SetNextToken sets the NextToken field's value.
10045func (s *ListEventTrackersOutput) SetNextToken(v string) *ListEventTrackersOutput {
10046	s.NextToken = &v
10047	return s
10048}
10049
10050type ListFiltersInput struct {
10051	_ struct{} `type:"structure"`
10052
10053	// The ARN of the dataset group that contains the filters.
10054	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
10055
10056	// The maximum number of filters to return.
10057	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10058
10059	// A token returned from the previous call to ListFilters for getting the next
10060	// set of filters (if they exist).
10061	NextToken *string `locationName:"nextToken" type:"string"`
10062}
10063
10064// String returns the string representation
10065func (s ListFiltersInput) String() string {
10066	return awsutil.Prettify(s)
10067}
10068
10069// GoString returns the string representation
10070func (s ListFiltersInput) GoString() string {
10071	return s.String()
10072}
10073
10074// Validate inspects the fields of the type to determine if they are valid.
10075func (s *ListFiltersInput) Validate() error {
10076	invalidParams := request.ErrInvalidParams{Context: "ListFiltersInput"}
10077	if s.MaxResults != nil && *s.MaxResults < 1 {
10078		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10079	}
10080
10081	if invalidParams.Len() > 0 {
10082		return invalidParams
10083	}
10084	return nil
10085}
10086
10087// SetDatasetGroupArn sets the DatasetGroupArn field's value.
10088func (s *ListFiltersInput) SetDatasetGroupArn(v string) *ListFiltersInput {
10089	s.DatasetGroupArn = &v
10090	return s
10091}
10092
10093// SetMaxResults sets the MaxResults field's value.
10094func (s *ListFiltersInput) SetMaxResults(v int64) *ListFiltersInput {
10095	s.MaxResults = &v
10096	return s
10097}
10098
10099// SetNextToken sets the NextToken field's value.
10100func (s *ListFiltersInput) SetNextToken(v string) *ListFiltersInput {
10101	s.NextToken = &v
10102	return s
10103}
10104
10105type ListFiltersOutput struct {
10106	_ struct{} `type:"structure"`
10107
10108	// A list of returned filters.
10109	Filters []*FilterSummary `type:"list"`
10110
10111	// A token for getting the next set of filters (if they exist).
10112	NextToken *string `locationName:"nextToken" type:"string"`
10113}
10114
10115// String returns the string representation
10116func (s ListFiltersOutput) String() string {
10117	return awsutil.Prettify(s)
10118}
10119
10120// GoString returns the string representation
10121func (s ListFiltersOutput) GoString() string {
10122	return s.String()
10123}
10124
10125// SetFilters sets the Filters field's value.
10126func (s *ListFiltersOutput) SetFilters(v []*FilterSummary) *ListFiltersOutput {
10127	s.Filters = v
10128	return s
10129}
10130
10131// SetNextToken sets the NextToken field's value.
10132func (s *ListFiltersOutput) SetNextToken(v string) *ListFiltersOutput {
10133	s.NextToken = &v
10134	return s
10135}
10136
10137type ListRecipesInput struct {
10138	_ struct{} `type:"structure"`
10139
10140	// The maximum number of recipes to return.
10141	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10142
10143	// A token returned from the previous call to ListRecipes for getting the next
10144	// set of recipes (if they exist).
10145	NextToken *string `locationName:"nextToken" type:"string"`
10146
10147	// The default is SERVICE.
10148	RecipeProvider *string `locationName:"recipeProvider" type:"string" enum:"RecipeProvider"`
10149}
10150
10151// String returns the string representation
10152func (s ListRecipesInput) String() string {
10153	return awsutil.Prettify(s)
10154}
10155
10156// GoString returns the string representation
10157func (s ListRecipesInput) GoString() string {
10158	return s.String()
10159}
10160
10161// Validate inspects the fields of the type to determine if they are valid.
10162func (s *ListRecipesInput) Validate() error {
10163	invalidParams := request.ErrInvalidParams{Context: "ListRecipesInput"}
10164	if s.MaxResults != nil && *s.MaxResults < 1 {
10165		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10166	}
10167
10168	if invalidParams.Len() > 0 {
10169		return invalidParams
10170	}
10171	return nil
10172}
10173
10174// SetMaxResults sets the MaxResults field's value.
10175func (s *ListRecipesInput) SetMaxResults(v int64) *ListRecipesInput {
10176	s.MaxResults = &v
10177	return s
10178}
10179
10180// SetNextToken sets the NextToken field's value.
10181func (s *ListRecipesInput) SetNextToken(v string) *ListRecipesInput {
10182	s.NextToken = &v
10183	return s
10184}
10185
10186// SetRecipeProvider sets the RecipeProvider field's value.
10187func (s *ListRecipesInput) SetRecipeProvider(v string) *ListRecipesInput {
10188	s.RecipeProvider = &v
10189	return s
10190}
10191
10192type ListRecipesOutput struct {
10193	_ struct{} `type:"structure"`
10194
10195	// A token for getting the next set of recipes.
10196	NextToken *string `locationName:"nextToken" type:"string"`
10197
10198	// The list of available recipes.
10199	Recipes []*RecipeSummary `locationName:"recipes" type:"list"`
10200}
10201
10202// String returns the string representation
10203func (s ListRecipesOutput) String() string {
10204	return awsutil.Prettify(s)
10205}
10206
10207// GoString returns the string representation
10208func (s ListRecipesOutput) GoString() string {
10209	return s.String()
10210}
10211
10212// SetNextToken sets the NextToken field's value.
10213func (s *ListRecipesOutput) SetNextToken(v string) *ListRecipesOutput {
10214	s.NextToken = &v
10215	return s
10216}
10217
10218// SetRecipes sets the Recipes field's value.
10219func (s *ListRecipesOutput) SetRecipes(v []*RecipeSummary) *ListRecipesOutput {
10220	s.Recipes = v
10221	return s
10222}
10223
10224type ListSchemasInput struct {
10225	_ struct{} `type:"structure"`
10226
10227	// The maximum number of schemas to return.
10228	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10229
10230	// A token returned from the previous call to ListSchemas for getting the next
10231	// set of schemas (if they exist).
10232	NextToken *string `locationName:"nextToken" type:"string"`
10233}
10234
10235// String returns the string representation
10236func (s ListSchemasInput) String() string {
10237	return awsutil.Prettify(s)
10238}
10239
10240// GoString returns the string representation
10241func (s ListSchemasInput) GoString() string {
10242	return s.String()
10243}
10244
10245// Validate inspects the fields of the type to determine if they are valid.
10246func (s *ListSchemasInput) Validate() error {
10247	invalidParams := request.ErrInvalidParams{Context: "ListSchemasInput"}
10248	if s.MaxResults != nil && *s.MaxResults < 1 {
10249		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10250	}
10251
10252	if invalidParams.Len() > 0 {
10253		return invalidParams
10254	}
10255	return nil
10256}
10257
10258// SetMaxResults sets the MaxResults field's value.
10259func (s *ListSchemasInput) SetMaxResults(v int64) *ListSchemasInput {
10260	s.MaxResults = &v
10261	return s
10262}
10263
10264// SetNextToken sets the NextToken field's value.
10265func (s *ListSchemasInput) SetNextToken(v string) *ListSchemasInput {
10266	s.NextToken = &v
10267	return s
10268}
10269
10270type ListSchemasOutput struct {
10271	_ struct{} `type:"structure"`
10272
10273	// A token used to get the next set of schemas (if they exist).
10274	NextToken *string `locationName:"nextToken" type:"string"`
10275
10276	// A list of schemas.
10277	Schemas []*DatasetSchemaSummary `locationName:"schemas" type:"list"`
10278}
10279
10280// String returns the string representation
10281func (s ListSchemasOutput) String() string {
10282	return awsutil.Prettify(s)
10283}
10284
10285// GoString returns the string representation
10286func (s ListSchemasOutput) GoString() string {
10287	return s.String()
10288}
10289
10290// SetNextToken sets the NextToken field's value.
10291func (s *ListSchemasOutput) SetNextToken(v string) *ListSchemasOutput {
10292	s.NextToken = &v
10293	return s
10294}
10295
10296// SetSchemas sets the Schemas field's value.
10297func (s *ListSchemasOutput) SetSchemas(v []*DatasetSchemaSummary) *ListSchemasOutput {
10298	s.Schemas = v
10299	return s
10300}
10301
10302type ListSolutionVersionsInput struct {
10303	_ struct{} `type:"structure"`
10304
10305	// The maximum number of solution versions to return.
10306	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10307
10308	// A token returned from the previous call to ListSolutionVersions for getting
10309	// the next set of solution versions (if they exist).
10310	NextToken *string `locationName:"nextToken" type:"string"`
10311
10312	// The Amazon Resource Name (ARN) of the solution.
10313	SolutionArn *string `locationName:"solutionArn" type:"string"`
10314}
10315
10316// String returns the string representation
10317func (s ListSolutionVersionsInput) String() string {
10318	return awsutil.Prettify(s)
10319}
10320
10321// GoString returns the string representation
10322func (s ListSolutionVersionsInput) GoString() string {
10323	return s.String()
10324}
10325
10326// Validate inspects the fields of the type to determine if they are valid.
10327func (s *ListSolutionVersionsInput) Validate() error {
10328	invalidParams := request.ErrInvalidParams{Context: "ListSolutionVersionsInput"}
10329	if s.MaxResults != nil && *s.MaxResults < 1 {
10330		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10331	}
10332
10333	if invalidParams.Len() > 0 {
10334		return invalidParams
10335	}
10336	return nil
10337}
10338
10339// SetMaxResults sets the MaxResults field's value.
10340func (s *ListSolutionVersionsInput) SetMaxResults(v int64) *ListSolutionVersionsInput {
10341	s.MaxResults = &v
10342	return s
10343}
10344
10345// SetNextToken sets the NextToken field's value.
10346func (s *ListSolutionVersionsInput) SetNextToken(v string) *ListSolutionVersionsInput {
10347	s.NextToken = &v
10348	return s
10349}
10350
10351// SetSolutionArn sets the SolutionArn field's value.
10352func (s *ListSolutionVersionsInput) SetSolutionArn(v string) *ListSolutionVersionsInput {
10353	s.SolutionArn = &v
10354	return s
10355}
10356
10357type ListSolutionVersionsOutput struct {
10358	_ struct{} `type:"structure"`
10359
10360	// A token for getting the next set of solution versions (if they exist).
10361	NextToken *string `locationName:"nextToken" type:"string"`
10362
10363	// A list of solution versions describing the version properties.
10364	SolutionVersions []*SolutionVersionSummary `locationName:"solutionVersions" type:"list"`
10365}
10366
10367// String returns the string representation
10368func (s ListSolutionVersionsOutput) String() string {
10369	return awsutil.Prettify(s)
10370}
10371
10372// GoString returns the string representation
10373func (s ListSolutionVersionsOutput) GoString() string {
10374	return s.String()
10375}
10376
10377// SetNextToken sets the NextToken field's value.
10378func (s *ListSolutionVersionsOutput) SetNextToken(v string) *ListSolutionVersionsOutput {
10379	s.NextToken = &v
10380	return s
10381}
10382
10383// SetSolutionVersions sets the SolutionVersions field's value.
10384func (s *ListSolutionVersionsOutput) SetSolutionVersions(v []*SolutionVersionSummary) *ListSolutionVersionsOutput {
10385	s.SolutionVersions = v
10386	return s
10387}
10388
10389type ListSolutionsInput struct {
10390	_ struct{} `type:"structure"`
10391
10392	// The Amazon Resource Name (ARN) of the dataset group.
10393	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
10394
10395	// The maximum number of solutions to return.
10396	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10397
10398	// A token returned from the previous call to ListSolutions for getting the
10399	// next set of solutions (if they exist).
10400	NextToken *string `locationName:"nextToken" type:"string"`
10401}
10402
10403// String returns the string representation
10404func (s ListSolutionsInput) String() string {
10405	return awsutil.Prettify(s)
10406}
10407
10408// GoString returns the string representation
10409func (s ListSolutionsInput) GoString() string {
10410	return s.String()
10411}
10412
10413// Validate inspects the fields of the type to determine if they are valid.
10414func (s *ListSolutionsInput) Validate() error {
10415	invalidParams := request.ErrInvalidParams{Context: "ListSolutionsInput"}
10416	if s.MaxResults != nil && *s.MaxResults < 1 {
10417		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10418	}
10419
10420	if invalidParams.Len() > 0 {
10421		return invalidParams
10422	}
10423	return nil
10424}
10425
10426// SetDatasetGroupArn sets the DatasetGroupArn field's value.
10427func (s *ListSolutionsInput) SetDatasetGroupArn(v string) *ListSolutionsInput {
10428	s.DatasetGroupArn = &v
10429	return s
10430}
10431
10432// SetMaxResults sets the MaxResults field's value.
10433func (s *ListSolutionsInput) SetMaxResults(v int64) *ListSolutionsInput {
10434	s.MaxResults = &v
10435	return s
10436}
10437
10438// SetNextToken sets the NextToken field's value.
10439func (s *ListSolutionsInput) SetNextToken(v string) *ListSolutionsInput {
10440	s.NextToken = &v
10441	return s
10442}
10443
10444type ListSolutionsOutput struct {
10445	_ struct{} `type:"structure"`
10446
10447	// A token for getting the next set of solutions (if they exist).
10448	NextToken *string `locationName:"nextToken" type:"string"`
10449
10450	// A list of the current solutions.
10451	Solutions []*SolutionSummary `locationName:"solutions" type:"list"`
10452}
10453
10454// String returns the string representation
10455func (s ListSolutionsOutput) String() string {
10456	return awsutil.Prettify(s)
10457}
10458
10459// GoString returns the string representation
10460func (s ListSolutionsOutput) GoString() string {
10461	return s.String()
10462}
10463
10464// SetNextToken sets the NextToken field's value.
10465func (s *ListSolutionsOutput) SetNextToken(v string) *ListSolutionsOutput {
10466	s.NextToken = &v
10467	return s
10468}
10469
10470// SetSolutions sets the Solutions field's value.
10471func (s *ListSolutionsOutput) SetSolutions(v []*SolutionSummary) *ListSolutionsOutput {
10472	s.Solutions = v
10473	return s
10474}
10475
10476// Provides information about a recipe. Each recipe provides an algorithm that
10477// Amazon Personalize uses in model training when you use the CreateSolution
10478// operation.
10479type Recipe struct {
10480	_ struct{} `type:"structure"`
10481
10482	// The Amazon Resource Name (ARN) of the algorithm that Amazon Personalize uses
10483	// to train the model.
10484	AlgorithmArn *string `locationName:"algorithmArn" type:"string"`
10485
10486	// The date and time (in Unix format) that the recipe was created.
10487	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
10488
10489	// The description of the recipe.
10490	Description *string `locationName:"description" type:"string"`
10491
10492	// The ARN of the FeatureTransformation object.
10493	FeatureTransformationArn *string `locationName:"featureTransformationArn" type:"string"`
10494
10495	// The date and time (in Unix format) that the recipe was last updated.
10496	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
10497
10498	// The name of the recipe.
10499	Name *string `locationName:"name" min:"1" type:"string"`
10500
10501	// The Amazon Resource Name (ARN) of the recipe.
10502	RecipeArn *string `locationName:"recipeArn" type:"string"`
10503
10504	// One of the following values:
10505	//
10506	//    * PERSONALIZED_RANKING
10507	//
10508	//    * RELATED_ITEMS
10509	//
10510	//    * USER_PERSONALIZATION
10511	RecipeType *string `locationName:"recipeType" type:"string"`
10512
10513	// The status of the recipe.
10514	Status *string `locationName:"status" type:"string"`
10515}
10516
10517// String returns the string representation
10518func (s Recipe) String() string {
10519	return awsutil.Prettify(s)
10520}
10521
10522// GoString returns the string representation
10523func (s Recipe) GoString() string {
10524	return s.String()
10525}
10526
10527// SetAlgorithmArn sets the AlgorithmArn field's value.
10528func (s *Recipe) SetAlgorithmArn(v string) *Recipe {
10529	s.AlgorithmArn = &v
10530	return s
10531}
10532
10533// SetCreationDateTime sets the CreationDateTime field's value.
10534func (s *Recipe) SetCreationDateTime(v time.Time) *Recipe {
10535	s.CreationDateTime = &v
10536	return s
10537}
10538
10539// SetDescription sets the Description field's value.
10540func (s *Recipe) SetDescription(v string) *Recipe {
10541	s.Description = &v
10542	return s
10543}
10544
10545// SetFeatureTransformationArn sets the FeatureTransformationArn field's value.
10546func (s *Recipe) SetFeatureTransformationArn(v string) *Recipe {
10547	s.FeatureTransformationArn = &v
10548	return s
10549}
10550
10551// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
10552func (s *Recipe) SetLastUpdatedDateTime(v time.Time) *Recipe {
10553	s.LastUpdatedDateTime = &v
10554	return s
10555}
10556
10557// SetName sets the Name field's value.
10558func (s *Recipe) SetName(v string) *Recipe {
10559	s.Name = &v
10560	return s
10561}
10562
10563// SetRecipeArn sets the RecipeArn field's value.
10564func (s *Recipe) SetRecipeArn(v string) *Recipe {
10565	s.RecipeArn = &v
10566	return s
10567}
10568
10569// SetRecipeType sets the RecipeType field's value.
10570func (s *Recipe) SetRecipeType(v string) *Recipe {
10571	s.RecipeType = &v
10572	return s
10573}
10574
10575// SetStatus sets the Status field's value.
10576func (s *Recipe) SetStatus(v string) *Recipe {
10577	s.Status = &v
10578	return s
10579}
10580
10581// Provides a summary of the properties of a recipe. For a complete listing,
10582// call the DescribeRecipe API.
10583type RecipeSummary struct {
10584	_ struct{} `type:"structure"`
10585
10586	// The date and time (in Unix time) that the recipe was created.
10587	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
10588
10589	// The date and time (in Unix time) that the recipe was last updated.
10590	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
10591
10592	// The name of the recipe.
10593	Name *string `locationName:"name" min:"1" type:"string"`
10594
10595	// The Amazon Resource Name (ARN) of the recipe.
10596	RecipeArn *string `locationName:"recipeArn" type:"string"`
10597
10598	// The status of the recipe.
10599	Status *string `locationName:"status" type:"string"`
10600}
10601
10602// String returns the string representation
10603func (s RecipeSummary) String() string {
10604	return awsutil.Prettify(s)
10605}
10606
10607// GoString returns the string representation
10608func (s RecipeSummary) GoString() string {
10609	return s.String()
10610}
10611
10612// SetCreationDateTime sets the CreationDateTime field's value.
10613func (s *RecipeSummary) SetCreationDateTime(v time.Time) *RecipeSummary {
10614	s.CreationDateTime = &v
10615	return s
10616}
10617
10618// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
10619func (s *RecipeSummary) SetLastUpdatedDateTime(v time.Time) *RecipeSummary {
10620	s.LastUpdatedDateTime = &v
10621	return s
10622}
10623
10624// SetName sets the Name field's value.
10625func (s *RecipeSummary) SetName(v string) *RecipeSummary {
10626	s.Name = &v
10627	return s
10628}
10629
10630// SetRecipeArn sets the RecipeArn field's value.
10631func (s *RecipeSummary) SetRecipeArn(v string) *RecipeSummary {
10632	s.RecipeArn = &v
10633	return s
10634}
10635
10636// SetStatus sets the Status field's value.
10637func (s *RecipeSummary) SetStatus(v string) *RecipeSummary {
10638	s.Status = &v
10639	return s
10640}
10641
10642// The specified resource already exists.
10643type ResourceAlreadyExistsException struct {
10644	_            struct{}                  `type:"structure"`
10645	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10646
10647	Message_ *string `locationName:"message" type:"string"`
10648}
10649
10650// String returns the string representation
10651func (s ResourceAlreadyExistsException) String() string {
10652	return awsutil.Prettify(s)
10653}
10654
10655// GoString returns the string representation
10656func (s ResourceAlreadyExistsException) GoString() string {
10657	return s.String()
10658}
10659
10660func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
10661	return &ResourceAlreadyExistsException{
10662		RespMetadata: v,
10663	}
10664}
10665
10666// Code returns the exception type name.
10667func (s *ResourceAlreadyExistsException) Code() string {
10668	return "ResourceAlreadyExistsException"
10669}
10670
10671// Message returns the exception's message.
10672func (s *ResourceAlreadyExistsException) Message() string {
10673	if s.Message_ != nil {
10674		return *s.Message_
10675	}
10676	return ""
10677}
10678
10679// OrigErr always returns nil, satisfies awserr.Error interface.
10680func (s *ResourceAlreadyExistsException) OrigErr() error {
10681	return nil
10682}
10683
10684func (s *ResourceAlreadyExistsException) Error() string {
10685	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10686}
10687
10688// Status code returns the HTTP status code for the request's response error.
10689func (s *ResourceAlreadyExistsException) StatusCode() int {
10690	return s.RespMetadata.StatusCode
10691}
10692
10693// RequestID returns the service's response RequestID for request.
10694func (s *ResourceAlreadyExistsException) RequestID() string {
10695	return s.RespMetadata.RequestID
10696}
10697
10698// The specified resource is in use.
10699type ResourceInUseException struct {
10700	_            struct{}                  `type:"structure"`
10701	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10702
10703	Message_ *string `locationName:"message" type:"string"`
10704}
10705
10706// String returns the string representation
10707func (s ResourceInUseException) String() string {
10708	return awsutil.Prettify(s)
10709}
10710
10711// GoString returns the string representation
10712func (s ResourceInUseException) GoString() string {
10713	return s.String()
10714}
10715
10716func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
10717	return &ResourceInUseException{
10718		RespMetadata: v,
10719	}
10720}
10721
10722// Code returns the exception type name.
10723func (s *ResourceInUseException) Code() string {
10724	return "ResourceInUseException"
10725}
10726
10727// Message returns the exception's message.
10728func (s *ResourceInUseException) Message() string {
10729	if s.Message_ != nil {
10730		return *s.Message_
10731	}
10732	return ""
10733}
10734
10735// OrigErr always returns nil, satisfies awserr.Error interface.
10736func (s *ResourceInUseException) OrigErr() error {
10737	return nil
10738}
10739
10740func (s *ResourceInUseException) Error() string {
10741	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10742}
10743
10744// Status code returns the HTTP status code for the request's response error.
10745func (s *ResourceInUseException) StatusCode() int {
10746	return s.RespMetadata.StatusCode
10747}
10748
10749// RequestID returns the service's response RequestID for request.
10750func (s *ResourceInUseException) RequestID() string {
10751	return s.RespMetadata.RequestID
10752}
10753
10754// Could not find the specified resource.
10755type ResourceNotFoundException struct {
10756	_            struct{}                  `type:"structure"`
10757	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10758
10759	Message_ *string `locationName:"message" type:"string"`
10760}
10761
10762// String returns the string representation
10763func (s ResourceNotFoundException) String() string {
10764	return awsutil.Prettify(s)
10765}
10766
10767// GoString returns the string representation
10768func (s ResourceNotFoundException) GoString() string {
10769	return s.String()
10770}
10771
10772func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
10773	return &ResourceNotFoundException{
10774		RespMetadata: v,
10775	}
10776}
10777
10778// Code returns the exception type name.
10779func (s *ResourceNotFoundException) Code() string {
10780	return "ResourceNotFoundException"
10781}
10782
10783// Message returns the exception's message.
10784func (s *ResourceNotFoundException) Message() string {
10785	if s.Message_ != nil {
10786		return *s.Message_
10787	}
10788	return ""
10789}
10790
10791// OrigErr always returns nil, satisfies awserr.Error interface.
10792func (s *ResourceNotFoundException) OrigErr() error {
10793	return nil
10794}
10795
10796func (s *ResourceNotFoundException) Error() string {
10797	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10798}
10799
10800// Status code returns the HTTP status code for the request's response error.
10801func (s *ResourceNotFoundException) StatusCode() int {
10802	return s.RespMetadata.StatusCode
10803}
10804
10805// RequestID returns the service's response RequestID for request.
10806func (s *ResourceNotFoundException) RequestID() string {
10807	return s.RespMetadata.RequestID
10808}
10809
10810// The configuration details of an Amazon S3 input or output bucket.
10811type S3DataConfig struct {
10812	_ struct{} `type:"structure"`
10813
10814	// The Amazon Resource Name (ARN) of the Amazon Key Management Service (KMS)
10815	// key that Amazon Personalize uses to encrypt or decrypt the input and output
10816	// files of a batch inference job.
10817	KmsKeyArn *string `locationName:"kmsKeyArn" type:"string"`
10818
10819	// The file path of the Amazon S3 bucket.
10820	//
10821	// Path is a required field
10822	Path *string `locationName:"path" type:"string" required:"true"`
10823}
10824
10825// String returns the string representation
10826func (s S3DataConfig) String() string {
10827	return awsutil.Prettify(s)
10828}
10829
10830// GoString returns the string representation
10831func (s S3DataConfig) GoString() string {
10832	return s.String()
10833}
10834
10835// Validate inspects the fields of the type to determine if they are valid.
10836func (s *S3DataConfig) Validate() error {
10837	invalidParams := request.ErrInvalidParams{Context: "S3DataConfig"}
10838	if s.Path == nil {
10839		invalidParams.Add(request.NewErrParamRequired("Path"))
10840	}
10841
10842	if invalidParams.Len() > 0 {
10843		return invalidParams
10844	}
10845	return nil
10846}
10847
10848// SetKmsKeyArn sets the KmsKeyArn field's value.
10849func (s *S3DataConfig) SetKmsKeyArn(v string) *S3DataConfig {
10850	s.KmsKeyArn = &v
10851	return s
10852}
10853
10854// SetPath sets the Path field's value.
10855func (s *S3DataConfig) SetPath(v string) *S3DataConfig {
10856	s.Path = &v
10857	return s
10858}
10859
10860// An object that provides information about a solution. A solution is a trained
10861// model that can be deployed as a campaign.
10862type Solution struct {
10863	_ struct{} `type:"structure"`
10864
10865	// When performAutoML is true, specifies the best recipe found.
10866	AutoMLResult *AutoMLResult `locationName:"autoMLResult" type:"structure"`
10867
10868	// The creation date and time (in Unix time) of the solution.
10869	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
10870
10871	// The Amazon Resource Name (ARN) of the dataset group that provides the training
10872	// data.
10873	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
10874
10875	// The event type (for example, 'click' or 'like') that is used for training
10876	// the model.
10877	EventType *string `locationName:"eventType" type:"string"`
10878
10879	// The date and time (in Unix time) that the solution was last updated.
10880	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
10881
10882	// Describes the latest version of the solution, including the status and the
10883	// ARN.
10884	LatestSolutionVersion *SolutionVersionSummary `locationName:"latestSolutionVersion" type:"structure"`
10885
10886	// The name of the solution.
10887	Name *string `locationName:"name" min:"1" type:"string"`
10888
10889	// When true, Amazon Personalize performs a search for the best USER_PERSONALIZATION
10890	// recipe from the list specified in the solution configuration (recipeArn must
10891	// not be specified). When false (the default), Amazon Personalize uses recipeArn
10892	// for training.
10893	PerformAutoML *bool `locationName:"performAutoML" type:"boolean"`
10894
10895	// Whether to perform hyperparameter optimization (HPO) on the chosen recipe.
10896	// The default is false.
10897	PerformHPO *bool `locationName:"performHPO" type:"boolean"`
10898
10899	// The ARN of the recipe used to create the solution.
10900	RecipeArn *string `locationName:"recipeArn" type:"string"`
10901
10902	// The ARN of the solution.
10903	SolutionArn *string `locationName:"solutionArn" type:"string"`
10904
10905	// Describes the configuration properties for the solution.
10906	SolutionConfig *SolutionConfig `locationName:"solutionConfig" type:"structure"`
10907
10908	// The status of the solution.
10909	//
10910	// A solution can be in one of the following states:
10911	//
10912	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
10913	//
10914	//    * DELETE PENDING > DELETE IN_PROGRESS
10915	Status *string `locationName:"status" type:"string"`
10916}
10917
10918// String returns the string representation
10919func (s Solution) String() string {
10920	return awsutil.Prettify(s)
10921}
10922
10923// GoString returns the string representation
10924func (s Solution) GoString() string {
10925	return s.String()
10926}
10927
10928// SetAutoMLResult sets the AutoMLResult field's value.
10929func (s *Solution) SetAutoMLResult(v *AutoMLResult) *Solution {
10930	s.AutoMLResult = v
10931	return s
10932}
10933
10934// SetCreationDateTime sets the CreationDateTime field's value.
10935func (s *Solution) SetCreationDateTime(v time.Time) *Solution {
10936	s.CreationDateTime = &v
10937	return s
10938}
10939
10940// SetDatasetGroupArn sets the DatasetGroupArn field's value.
10941func (s *Solution) SetDatasetGroupArn(v string) *Solution {
10942	s.DatasetGroupArn = &v
10943	return s
10944}
10945
10946// SetEventType sets the EventType field's value.
10947func (s *Solution) SetEventType(v string) *Solution {
10948	s.EventType = &v
10949	return s
10950}
10951
10952// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
10953func (s *Solution) SetLastUpdatedDateTime(v time.Time) *Solution {
10954	s.LastUpdatedDateTime = &v
10955	return s
10956}
10957
10958// SetLatestSolutionVersion sets the LatestSolutionVersion field's value.
10959func (s *Solution) SetLatestSolutionVersion(v *SolutionVersionSummary) *Solution {
10960	s.LatestSolutionVersion = v
10961	return s
10962}
10963
10964// SetName sets the Name field's value.
10965func (s *Solution) SetName(v string) *Solution {
10966	s.Name = &v
10967	return s
10968}
10969
10970// SetPerformAutoML sets the PerformAutoML field's value.
10971func (s *Solution) SetPerformAutoML(v bool) *Solution {
10972	s.PerformAutoML = &v
10973	return s
10974}
10975
10976// SetPerformHPO sets the PerformHPO field's value.
10977func (s *Solution) SetPerformHPO(v bool) *Solution {
10978	s.PerformHPO = &v
10979	return s
10980}
10981
10982// SetRecipeArn sets the RecipeArn field's value.
10983func (s *Solution) SetRecipeArn(v string) *Solution {
10984	s.RecipeArn = &v
10985	return s
10986}
10987
10988// SetSolutionArn sets the SolutionArn field's value.
10989func (s *Solution) SetSolutionArn(v string) *Solution {
10990	s.SolutionArn = &v
10991	return s
10992}
10993
10994// SetSolutionConfig sets the SolutionConfig field's value.
10995func (s *Solution) SetSolutionConfig(v *SolutionConfig) *Solution {
10996	s.SolutionConfig = v
10997	return s
10998}
10999
11000// SetStatus sets the Status field's value.
11001func (s *Solution) SetStatus(v string) *Solution {
11002	s.Status = &v
11003	return s
11004}
11005
11006// Describes the configuration properties for the solution.
11007type SolutionConfig struct {
11008	_ struct{} `type:"structure"`
11009
11010	// Lists the hyperparameter names and ranges.
11011	AlgorithmHyperParameters map[string]*string `locationName:"algorithmHyperParameters" type:"map"`
11012
11013	// The AutoMLConfig object containing a list of recipes to search when AutoML
11014	// is performed.
11015	AutoMLConfig *AutoMLConfig `locationName:"autoMLConfig" type:"structure"`
11016
11017	// Only events with a value greater than or equal to this threshold are used
11018	// for training a model.
11019	EventValueThreshold *string `locationName:"eventValueThreshold" type:"string"`
11020
11021	// Lists the feature transformation parameters.
11022	FeatureTransformationParameters map[string]*string `locationName:"featureTransformationParameters" type:"map"`
11023
11024	// Describes the properties for hyperparameter optimization (HPO).
11025	HpoConfig *HPOConfig `locationName:"hpoConfig" type:"structure"`
11026}
11027
11028// String returns the string representation
11029func (s SolutionConfig) String() string {
11030	return awsutil.Prettify(s)
11031}
11032
11033// GoString returns the string representation
11034func (s SolutionConfig) GoString() string {
11035	return s.String()
11036}
11037
11038// Validate inspects the fields of the type to determine if they are valid.
11039func (s *SolutionConfig) Validate() error {
11040	invalidParams := request.ErrInvalidParams{Context: "SolutionConfig"}
11041	if s.HpoConfig != nil {
11042		if err := s.HpoConfig.Validate(); err != nil {
11043			invalidParams.AddNested("HpoConfig", err.(request.ErrInvalidParams))
11044		}
11045	}
11046
11047	if invalidParams.Len() > 0 {
11048		return invalidParams
11049	}
11050	return nil
11051}
11052
11053// SetAlgorithmHyperParameters sets the AlgorithmHyperParameters field's value.
11054func (s *SolutionConfig) SetAlgorithmHyperParameters(v map[string]*string) *SolutionConfig {
11055	s.AlgorithmHyperParameters = v
11056	return s
11057}
11058
11059// SetAutoMLConfig sets the AutoMLConfig field's value.
11060func (s *SolutionConfig) SetAutoMLConfig(v *AutoMLConfig) *SolutionConfig {
11061	s.AutoMLConfig = v
11062	return s
11063}
11064
11065// SetEventValueThreshold sets the EventValueThreshold field's value.
11066func (s *SolutionConfig) SetEventValueThreshold(v string) *SolutionConfig {
11067	s.EventValueThreshold = &v
11068	return s
11069}
11070
11071// SetFeatureTransformationParameters sets the FeatureTransformationParameters field's value.
11072func (s *SolutionConfig) SetFeatureTransformationParameters(v map[string]*string) *SolutionConfig {
11073	s.FeatureTransformationParameters = v
11074	return s
11075}
11076
11077// SetHpoConfig sets the HpoConfig field's value.
11078func (s *SolutionConfig) SetHpoConfig(v *HPOConfig) *SolutionConfig {
11079	s.HpoConfig = v
11080	return s
11081}
11082
11083// Provides a summary of the properties of a solution. For a complete listing,
11084// call the DescribeSolution API.
11085type SolutionSummary struct {
11086	_ struct{} `type:"structure"`
11087
11088	// The date and time (in Unix time) that the solution was created.
11089	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
11090
11091	// The date and time (in Unix time) that the solution was last updated.
11092	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
11093
11094	// The name of the solution.
11095	Name *string `locationName:"name" min:"1" type:"string"`
11096
11097	// The Amazon Resource Name (ARN) of the solution.
11098	SolutionArn *string `locationName:"solutionArn" type:"string"`
11099
11100	// The status of the solution.
11101	//
11102	// A solution can be in one of the following states:
11103	//
11104	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
11105	//
11106	//    * DELETE PENDING > DELETE IN_PROGRESS
11107	Status *string `locationName:"status" type:"string"`
11108}
11109
11110// String returns the string representation
11111func (s SolutionSummary) String() string {
11112	return awsutil.Prettify(s)
11113}
11114
11115// GoString returns the string representation
11116func (s SolutionSummary) GoString() string {
11117	return s.String()
11118}
11119
11120// SetCreationDateTime sets the CreationDateTime field's value.
11121func (s *SolutionSummary) SetCreationDateTime(v time.Time) *SolutionSummary {
11122	s.CreationDateTime = &v
11123	return s
11124}
11125
11126// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
11127func (s *SolutionSummary) SetLastUpdatedDateTime(v time.Time) *SolutionSummary {
11128	s.LastUpdatedDateTime = &v
11129	return s
11130}
11131
11132// SetName sets the Name field's value.
11133func (s *SolutionSummary) SetName(v string) *SolutionSummary {
11134	s.Name = &v
11135	return s
11136}
11137
11138// SetSolutionArn sets the SolutionArn field's value.
11139func (s *SolutionSummary) SetSolutionArn(v string) *SolutionSummary {
11140	s.SolutionArn = &v
11141	return s
11142}
11143
11144// SetStatus sets the Status field's value.
11145func (s *SolutionSummary) SetStatus(v string) *SolutionSummary {
11146	s.Status = &v
11147	return s
11148}
11149
11150// An object that provides information about a specific version of a Solution.
11151type SolutionVersion struct {
11152	_ struct{} `type:"structure"`
11153
11154	// The date and time (in Unix time) that this version of the solution was created.
11155	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
11156
11157	// The Amazon Resource Name (ARN) of the dataset group providing the training
11158	// data.
11159	DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"`
11160
11161	// The event type (for example, 'click' or 'like') that is used for training
11162	// the model.
11163	EventType *string `locationName:"eventType" type:"string"`
11164
11165	// If training a solution version fails, the reason for the failure.
11166	FailureReason *string `locationName:"failureReason" type:"string"`
11167
11168	// The date and time (in Unix time) that the solution was last updated.
11169	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
11170
11171	// When true, Amazon Personalize searches for the most optimal recipe according
11172	// to the solution configuration. When false (the default), Amazon Personalize
11173	// uses recipeArn.
11174	PerformAutoML *bool `locationName:"performAutoML" type:"boolean"`
11175
11176	// Whether to perform hyperparameter optimization (HPO) on the chosen recipe.
11177	// The default is false.
11178	PerformHPO *bool `locationName:"performHPO" type:"boolean"`
11179
11180	// The ARN of the recipe used in the solution.
11181	RecipeArn *string `locationName:"recipeArn" type:"string"`
11182
11183	// The ARN of the solution.
11184	SolutionArn *string `locationName:"solutionArn" type:"string"`
11185
11186	// Describes the configuration properties for the solution.
11187	SolutionConfig *SolutionConfig `locationName:"solutionConfig" type:"structure"`
11188
11189	// The ARN of the solution version.
11190	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
11191
11192	// The status of the solution version.
11193	//
11194	// A solution version can be in one of the following states:
11195	//
11196	//    * CREATE PENDING
11197	//
11198	//    * CREATE IN_PROGRESS
11199	//
11200	//    * ACTIVE
11201	//
11202	//    * CREATE FAILED
11203	Status *string `locationName:"status" type:"string"`
11204
11205	// The time used to train the model. You are billed for the time it takes to
11206	// train a model. This field is visible only after Amazon Personalize successfully
11207	// trains a model.
11208	TrainingHours *float64 `locationName:"trainingHours" type:"double"`
11209
11210	// The scope of training used to create the solution version. The FULL option
11211	// trains the solution version based on the entirety of the input solution's
11212	// training data, while the UPDATE option processes only the training data that
11213	// has changed since the creation of the last solution version. Choose UPDATE
11214	// when you want to start recommending items added to the dataset without retraining
11215	// the model.
11216	//
11217	// The UPDATE option can only be used after you've created a solution version
11218	// with the FULL option and the training solution uses the native-recipe-hrnn-coldstart.
11219	TrainingMode *string `locationName:"trainingMode" type:"string" enum:"TrainingMode"`
11220
11221	// If hyperparameter optimization was performed, contains the hyperparameter
11222	// values of the best performing model.
11223	TunedHPOParams *TunedHPOParams `locationName:"tunedHPOParams" type:"structure"`
11224}
11225
11226// String returns the string representation
11227func (s SolutionVersion) String() string {
11228	return awsutil.Prettify(s)
11229}
11230
11231// GoString returns the string representation
11232func (s SolutionVersion) GoString() string {
11233	return s.String()
11234}
11235
11236// SetCreationDateTime sets the CreationDateTime field's value.
11237func (s *SolutionVersion) SetCreationDateTime(v time.Time) *SolutionVersion {
11238	s.CreationDateTime = &v
11239	return s
11240}
11241
11242// SetDatasetGroupArn sets the DatasetGroupArn field's value.
11243func (s *SolutionVersion) SetDatasetGroupArn(v string) *SolutionVersion {
11244	s.DatasetGroupArn = &v
11245	return s
11246}
11247
11248// SetEventType sets the EventType field's value.
11249func (s *SolutionVersion) SetEventType(v string) *SolutionVersion {
11250	s.EventType = &v
11251	return s
11252}
11253
11254// SetFailureReason sets the FailureReason field's value.
11255func (s *SolutionVersion) SetFailureReason(v string) *SolutionVersion {
11256	s.FailureReason = &v
11257	return s
11258}
11259
11260// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
11261func (s *SolutionVersion) SetLastUpdatedDateTime(v time.Time) *SolutionVersion {
11262	s.LastUpdatedDateTime = &v
11263	return s
11264}
11265
11266// SetPerformAutoML sets the PerformAutoML field's value.
11267func (s *SolutionVersion) SetPerformAutoML(v bool) *SolutionVersion {
11268	s.PerformAutoML = &v
11269	return s
11270}
11271
11272// SetPerformHPO sets the PerformHPO field's value.
11273func (s *SolutionVersion) SetPerformHPO(v bool) *SolutionVersion {
11274	s.PerformHPO = &v
11275	return s
11276}
11277
11278// SetRecipeArn sets the RecipeArn field's value.
11279func (s *SolutionVersion) SetRecipeArn(v string) *SolutionVersion {
11280	s.RecipeArn = &v
11281	return s
11282}
11283
11284// SetSolutionArn sets the SolutionArn field's value.
11285func (s *SolutionVersion) SetSolutionArn(v string) *SolutionVersion {
11286	s.SolutionArn = &v
11287	return s
11288}
11289
11290// SetSolutionConfig sets the SolutionConfig field's value.
11291func (s *SolutionVersion) SetSolutionConfig(v *SolutionConfig) *SolutionVersion {
11292	s.SolutionConfig = v
11293	return s
11294}
11295
11296// SetSolutionVersionArn sets the SolutionVersionArn field's value.
11297func (s *SolutionVersion) SetSolutionVersionArn(v string) *SolutionVersion {
11298	s.SolutionVersionArn = &v
11299	return s
11300}
11301
11302// SetStatus sets the Status field's value.
11303func (s *SolutionVersion) SetStatus(v string) *SolutionVersion {
11304	s.Status = &v
11305	return s
11306}
11307
11308// SetTrainingHours sets the TrainingHours field's value.
11309func (s *SolutionVersion) SetTrainingHours(v float64) *SolutionVersion {
11310	s.TrainingHours = &v
11311	return s
11312}
11313
11314// SetTrainingMode sets the TrainingMode field's value.
11315func (s *SolutionVersion) SetTrainingMode(v string) *SolutionVersion {
11316	s.TrainingMode = &v
11317	return s
11318}
11319
11320// SetTunedHPOParams sets the TunedHPOParams field's value.
11321func (s *SolutionVersion) SetTunedHPOParams(v *TunedHPOParams) *SolutionVersion {
11322	s.TunedHPOParams = v
11323	return s
11324}
11325
11326// Provides a summary of the properties of a solution version. For a complete
11327// listing, call the DescribeSolutionVersion API.
11328type SolutionVersionSummary struct {
11329	_ struct{} `type:"structure"`
11330
11331	// The date and time (in Unix time) that this version of a solution was created.
11332	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
11333
11334	// If a solution version fails, the reason behind the failure.
11335	FailureReason *string `locationName:"failureReason" type:"string"`
11336
11337	// The date and time (in Unix time) that the solution version was last updated.
11338	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
11339
11340	// The Amazon Resource Name (ARN) of the solution version.
11341	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
11342
11343	// The status of the solution version.
11344	//
11345	// A solution version can be in one of the following states:
11346	//
11347	//    * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
11348	Status *string `locationName:"status" type:"string"`
11349}
11350
11351// String returns the string representation
11352func (s SolutionVersionSummary) String() string {
11353	return awsutil.Prettify(s)
11354}
11355
11356// GoString returns the string representation
11357func (s SolutionVersionSummary) GoString() string {
11358	return s.String()
11359}
11360
11361// SetCreationDateTime sets the CreationDateTime field's value.
11362func (s *SolutionVersionSummary) SetCreationDateTime(v time.Time) *SolutionVersionSummary {
11363	s.CreationDateTime = &v
11364	return s
11365}
11366
11367// SetFailureReason sets the FailureReason field's value.
11368func (s *SolutionVersionSummary) SetFailureReason(v string) *SolutionVersionSummary {
11369	s.FailureReason = &v
11370	return s
11371}
11372
11373// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
11374func (s *SolutionVersionSummary) SetLastUpdatedDateTime(v time.Time) *SolutionVersionSummary {
11375	s.LastUpdatedDateTime = &v
11376	return s
11377}
11378
11379// SetSolutionVersionArn sets the SolutionVersionArn field's value.
11380func (s *SolutionVersionSummary) SetSolutionVersionArn(v string) *SolutionVersionSummary {
11381	s.SolutionVersionArn = &v
11382	return s
11383}
11384
11385// SetStatus sets the Status field's value.
11386func (s *SolutionVersionSummary) SetStatus(v string) *SolutionVersionSummary {
11387	s.Status = &v
11388	return s
11389}
11390
11391// If hyperparameter optimization (HPO) was performed, contains the hyperparameter
11392// values of the best performing model.
11393type TunedHPOParams struct {
11394	_ struct{} `type:"structure"`
11395
11396	// A list of the hyperparameter values of the best performing model.
11397	AlgorithmHyperParameters map[string]*string `locationName:"algorithmHyperParameters" type:"map"`
11398}
11399
11400// String returns the string representation
11401func (s TunedHPOParams) String() string {
11402	return awsutil.Prettify(s)
11403}
11404
11405// GoString returns the string representation
11406func (s TunedHPOParams) GoString() string {
11407	return s.String()
11408}
11409
11410// SetAlgorithmHyperParameters sets the AlgorithmHyperParameters field's value.
11411func (s *TunedHPOParams) SetAlgorithmHyperParameters(v map[string]*string) *TunedHPOParams {
11412	s.AlgorithmHyperParameters = v
11413	return s
11414}
11415
11416type UpdateCampaignInput struct {
11417	_ struct{} `type:"structure"`
11418
11419	// The Amazon Resource Name (ARN) of the campaign.
11420	//
11421	// CampaignArn is a required field
11422	CampaignArn *string `locationName:"campaignArn" type:"string" required:"true"`
11423
11424	// The configuration details of a campaign.
11425	CampaignConfig *CampaignConfig `locationName:"campaignConfig" type:"structure"`
11426
11427	// Specifies the requested minimum provisioned transactions (recommendations)
11428	// per second that Amazon Personalize will support.
11429	MinProvisionedTPS *int64 `locationName:"minProvisionedTPS" min:"1" type:"integer"`
11430
11431	// The ARN of a new solution version to deploy.
11432	SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"`
11433}
11434
11435// String returns the string representation
11436func (s UpdateCampaignInput) String() string {
11437	return awsutil.Prettify(s)
11438}
11439
11440// GoString returns the string representation
11441func (s UpdateCampaignInput) GoString() string {
11442	return s.String()
11443}
11444
11445// Validate inspects the fields of the type to determine if they are valid.
11446func (s *UpdateCampaignInput) Validate() error {
11447	invalidParams := request.ErrInvalidParams{Context: "UpdateCampaignInput"}
11448	if s.CampaignArn == nil {
11449		invalidParams.Add(request.NewErrParamRequired("CampaignArn"))
11450	}
11451	if s.MinProvisionedTPS != nil && *s.MinProvisionedTPS < 1 {
11452		invalidParams.Add(request.NewErrParamMinValue("MinProvisionedTPS", 1))
11453	}
11454
11455	if invalidParams.Len() > 0 {
11456		return invalidParams
11457	}
11458	return nil
11459}
11460
11461// SetCampaignArn sets the CampaignArn field's value.
11462func (s *UpdateCampaignInput) SetCampaignArn(v string) *UpdateCampaignInput {
11463	s.CampaignArn = &v
11464	return s
11465}
11466
11467// SetCampaignConfig sets the CampaignConfig field's value.
11468func (s *UpdateCampaignInput) SetCampaignConfig(v *CampaignConfig) *UpdateCampaignInput {
11469	s.CampaignConfig = v
11470	return s
11471}
11472
11473// SetMinProvisionedTPS sets the MinProvisionedTPS field's value.
11474func (s *UpdateCampaignInput) SetMinProvisionedTPS(v int64) *UpdateCampaignInput {
11475	s.MinProvisionedTPS = &v
11476	return s
11477}
11478
11479// SetSolutionVersionArn sets the SolutionVersionArn field's value.
11480func (s *UpdateCampaignInput) SetSolutionVersionArn(v string) *UpdateCampaignInput {
11481	s.SolutionVersionArn = &v
11482	return s
11483}
11484
11485type UpdateCampaignOutput struct {
11486	_ struct{} `type:"structure"`
11487
11488	// The same campaign ARN as given in the request.
11489	CampaignArn *string `locationName:"campaignArn" type:"string"`
11490}
11491
11492// String returns the string representation
11493func (s UpdateCampaignOutput) String() string {
11494	return awsutil.Prettify(s)
11495}
11496
11497// GoString returns the string representation
11498func (s UpdateCampaignOutput) GoString() string {
11499	return s.String()
11500}
11501
11502// SetCampaignArn sets the CampaignArn field's value.
11503func (s *UpdateCampaignOutput) SetCampaignArn(v string) *UpdateCampaignOutput {
11504	s.CampaignArn = &v
11505	return s
11506}
11507
11508const (
11509	// RecipeProviderService is a RecipeProvider enum value
11510	RecipeProviderService = "SERVICE"
11511)
11512
11513// RecipeProvider_Values returns all elements of the RecipeProvider enum
11514func RecipeProvider_Values() []string {
11515	return []string{
11516		RecipeProviderService,
11517	}
11518}
11519
11520const (
11521	// TrainingModeFull is a TrainingMode enum value
11522	TrainingModeFull = "FULL"
11523
11524	// TrainingModeUpdate is a TrainingMode enum value
11525	TrainingModeUpdate = "UPDATE"
11526)
11527
11528// TrainingMode_Values returns all elements of the TrainingMode enum
11529func TrainingMode_Values() []string {
11530	return []string{
11531		TrainingModeFull,
11532		TrainingModeUpdate,
11533	}
11534}
11535