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