diff --git a/aws/config.go b/aws/config.go index f01d214c81d..7d1c4f8c9a4 100644 --- a/aws/config.go +++ b/aws/config.go @@ -96,6 +96,7 @@ import ( "github.com/aws/aws-sdk-go/service/neptune" "github.com/aws/aws-sdk-go/service/opsworks" "github.com/aws/aws-sdk-go/service/organizations" + "github.com/aws/aws-sdk-go/service/personalize" "github.com/aws/aws-sdk-go/service/pinpoint" "github.com/aws/aws-sdk-go/service/pricing" "github.com/aws/aws-sdk-go/service/quicksight" @@ -254,6 +255,7 @@ type AWSClient struct { opsworksconn *opsworks.OpsWorks organizationsconn *organizations.Organizations partition string + personalizeconn *personalize.Personalize pinpointconn *pinpoint.Pinpoint pricingconn *pricing.Pricing quicksightconn *quicksight.QuickSight @@ -437,6 +439,7 @@ func (c *Config) Client() (interface{}, error) { opsworksconn: opsworks.New(sess.Copy(&aws.Config{Endpoint: aws.String(c.Endpoints["opsworks"])})), organizationsconn: organizations.New(sess.Copy(&aws.Config{Endpoint: aws.String(c.Endpoints["organizations"])})), partition: partition, + personalizeconn: personalize.New(sess.Copy(&aws.Config{Endpoint: aws.String(c.Endpoints["personalize"])})), pinpointconn: pinpoint.New(sess.Copy(&aws.Config{Endpoint: aws.String(c.Endpoints["pinpoint"])})), pricingconn: pricing.New(sess.Copy(&aws.Config{Endpoint: aws.String(c.Endpoints["pricing"])})), quicksightconn: quicksight.New(sess.Copy(&aws.Config{Endpoint: aws.String(c.Endpoints["quicksight"])})), diff --git a/aws/provider.go b/aws/provider.go index 039744107f1..2cb9e29c13e 100644 --- a/aws/provider.go +++ b/aws/provider.go @@ -979,6 +979,7 @@ func init() { "neptune", "opsworks", "organizations", + "personalize", "pinpoint", "pricing", "quicksight", diff --git a/vendor/github.com/aws/aws-sdk-go/service/personalize/api.go b/vendor/github.com/aws/aws-sdk-go/service/personalize/api.go new file mode 100644 index 00000000000..d034a71d7f7 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/personalize/api.go @@ -0,0 +1,9156 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package personalize + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +const opCreateCampaign = "CreateCampaign" + +// CreateCampaignRequest generates a "aws/request.Request" representing the +// client's request for the CreateCampaign operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateCampaign for more information on using the CreateCampaign +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateCampaignRequest method. +// req, resp := client.CreateCampaignRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateCampaign +func (c *Personalize) CreateCampaignRequest(input *CreateCampaignInput) (req *request.Request, output *CreateCampaignOutput) { + op := &request.Operation{ + Name: opCreateCampaign, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateCampaignInput{} + } + + output = &CreateCampaignOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCampaign API operation for Amazon Personalize. +// +// Creates a campaign by deploying a solution version. When a client calls the +// GetRecommendations (https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html) +// and GetPersonalizedRanking (https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetPersonalizedRanking.html) +// APIs, a campaign is specified in the request. +// +// Minimum Provisioned TPS and Auto-Scaling +// +// A transaction is a single GetRecommendations or GetPersonalizedRanking call. +// Transactions per second (TPS) is the throughput and unit of billing for Amazon +// Personalize. The minimum provisioned TPS (minProvisionedTPS) specifies the +// baseline throughput provisioned by Amazon Personalize, and thus, the minimum +// billing charge. If your TPS increases beyond minProvisionedTPS, Amazon Personalize +// auto-scales the provisioned capacity up and down, but never below minProvisionedTPS, +// to maintain a 70% utilization. There's a short time delay while the capacity +// is increased that might cause loss of transactions. It's recommended to start +// with a low minProvisionedTPS, track your usage using Amazon CloudWatch metrics, +// and then increase the minProvisionedTPS as necessary. +// +// Status +// +// A campaign can be in one of the following states: +// +// * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED +// +// * DELETE PENDING > DELETE IN_PROGRESS +// +// To get the campaign status, call DescribeCampaign. +// +// Wait until the status of the campaign is ACTIVE before asking the campaign +// for recommendations. +// +// Related APIs +// +// * ListCampaigns +// +// * DescribeCampaign +// +// * UpdateCampaign +// +// * DeleteCampaign +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation CreateCampaign for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The specified resource already exists. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The limit on the number of requests per second has been exceeded. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateCampaign +func (c *Personalize) CreateCampaign(input *CreateCampaignInput) (*CreateCampaignOutput, error) { + req, out := c.CreateCampaignRequest(input) + return out, req.Send() +} + +// CreateCampaignWithContext is the same as CreateCampaign with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCampaign for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) CreateCampaignWithContext(ctx aws.Context, input *CreateCampaignInput, opts ...request.Option) (*CreateCampaignOutput, error) { + req, out := c.CreateCampaignRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDataset = "CreateDataset" + +// CreateDatasetRequest generates a "aws/request.Request" representing the +// client's request for the CreateDataset operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateDataset for more information on using the CreateDataset +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateDatasetRequest method. +// req, resp := client.CreateDatasetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDataset +func (c *Personalize) CreateDatasetRequest(input *CreateDatasetInput) (req *request.Request, output *CreateDatasetOutput) { + op := &request.Operation{ + Name: opCreateDataset, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDatasetInput{} + } + + output = &CreateDatasetOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDataset API operation for Amazon Personalize. +// +// Creates an empty dataset and adds it to the specified dataset group. Use +// CreateDatasetImportJob to import your training data to a dataset. +// +// There are three types of datasets: +// +// * Interactions +// +// * Items +// +// * Users +// +// Each dataset type has an associated schema with required field types. Only +// the Interactions dataset is required in order to train a model (also referred +// to as creating a solution). +// +// A dataset can be in one of the following states: +// +// * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED +// +// * DELETE PENDING > DELETE IN_PROGRESS +// +// To get the status of the dataset, call DescribeDataset. +// +// Related APIs +// +// * CreateDatasetGroup +// +// * ListDatasets +// +// * DescribeDataset +// +// * DeleteDataset +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation CreateDataset for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The specified resource already exists. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The limit on the number of requests per second has been exceeded. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDataset +func (c *Personalize) CreateDataset(input *CreateDatasetInput) (*CreateDatasetOutput, error) { + req, out := c.CreateDatasetRequest(input) + return out, req.Send() +} + +// CreateDatasetWithContext is the same as CreateDataset with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDataset for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) CreateDatasetWithContext(ctx aws.Context, input *CreateDatasetInput, opts ...request.Option) (*CreateDatasetOutput, error) { + req, out := c.CreateDatasetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDatasetGroup = "CreateDatasetGroup" + +// CreateDatasetGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateDatasetGroup operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateDatasetGroup for more information on using the CreateDatasetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateDatasetGroupRequest method. +// req, resp := client.CreateDatasetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetGroup +func (c *Personalize) CreateDatasetGroupRequest(input *CreateDatasetGroupInput) (req *request.Request, output *CreateDatasetGroupOutput) { + op := &request.Operation{ + Name: opCreateDatasetGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDatasetGroupInput{} + } + + output = &CreateDatasetGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDatasetGroup API operation for Amazon Personalize. +// +// Creates an empty dataset group. A dataset group contains related datasets +// that supply data for training a model. A dataset group can contain at most +// three datasets, one for each type of dataset: +// +// * Interactions +// +// * Items +// +// * Users +// +// To train a model (create a solution), a dataset group that contains an Interactions +// dataset is required. Call CreateDataset to add a dataset to the group. +// +// A dataset group can be in one of the following states: +// +// * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED +// +// * DELETE PENDING +// +// To get the status of the dataset group, call DescribeDatasetGroup. If the +// status shows as CREATE FAILED, the response includes a failureReason key, +// which describes why the creation failed. +// +// You must wait until the status of the dataset group is ACTIVE before adding +// a dataset to the group. +// +// You can specify an AWS Key Management Service (KMS) key to encrypt the datasets +// in the group. If you specify a KMS key, you must also include an AWS Identity +// and Access Management (IAM) role that has permission to access the key. +// +// APIs that require a dataset group ARN in the request +// +// * CreateDataset +// +// * CreateEventTracker +// +// * CreateSolution +// +// Related APIs +// +// * ListDatasetGroups +// +// * DescribeDatasetGroup +// +// * DeleteDatasetGroup +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation CreateDatasetGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The specified resource already exists. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The limit on the number of requests per second has been exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetGroup +func (c *Personalize) CreateDatasetGroup(input *CreateDatasetGroupInput) (*CreateDatasetGroupOutput, error) { + req, out := c.CreateDatasetGroupRequest(input) + return out, req.Send() +} + +// CreateDatasetGroupWithContext is the same as CreateDatasetGroup with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDatasetGroup for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) CreateDatasetGroupWithContext(ctx aws.Context, input *CreateDatasetGroupInput, opts ...request.Option) (*CreateDatasetGroupOutput, error) { + req, out := c.CreateDatasetGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDatasetImportJob = "CreateDatasetImportJob" + +// CreateDatasetImportJobRequest generates a "aws/request.Request" representing the +// client's request for the CreateDatasetImportJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateDatasetImportJob for more information on using the CreateDatasetImportJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateDatasetImportJobRequest method. +// req, resp := client.CreateDatasetImportJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetImportJob +func (c *Personalize) CreateDatasetImportJobRequest(input *CreateDatasetImportJobInput) (req *request.Request, output *CreateDatasetImportJobOutput) { + op := &request.Operation{ + Name: opCreateDatasetImportJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDatasetImportJobInput{} + } + + output = &CreateDatasetImportJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDatasetImportJob API operation for Amazon Personalize. +// +// Creates a job that imports training data from your data source (an Amazon +// S3 bucket) to an Amazon Personalize dataset. To allow Amazon Personalize +// to import the training data, you must specify an AWS Identity and Access +// Management (IAM) role that has permission to read from the data source. +// +// The dataset import job replaces any previous data in the dataset. +// +// Status +// +// A dataset import job can be in one of the following states: +// +// * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED +// +// To get the status of the import job, call DescribeDatasetImportJob, providing +// the Amazon Resource Name (ARN) of the dataset import job. The dataset import +// is complete when the status shows as ACTIVE. If the status shows as CREATE +// FAILED, the response includes a failureReason key, which describes why the +// job failed. +// +// Importing takes time. You must wait until the status shows as ACTIVE before +// training a model using the dataset. +// +// Related APIs +// +// * ListDatasetImportJobs +// +// * DescribeDatasetImportJob +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation CreateDatasetImportJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The specified resource already exists. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The limit on the number of requests per second has been exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetImportJob +func (c *Personalize) CreateDatasetImportJob(input *CreateDatasetImportJobInput) (*CreateDatasetImportJobOutput, error) { + req, out := c.CreateDatasetImportJobRequest(input) + return out, req.Send() +} + +// CreateDatasetImportJobWithContext is the same as CreateDatasetImportJob with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDatasetImportJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) CreateDatasetImportJobWithContext(ctx aws.Context, input *CreateDatasetImportJobInput, opts ...request.Option) (*CreateDatasetImportJobOutput, error) { + req, out := c.CreateDatasetImportJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateEventTracker = "CreateEventTracker" + +// CreateEventTrackerRequest generates a "aws/request.Request" representing the +// client's request for the CreateEventTracker operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateEventTracker for more information on using the CreateEventTracker +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateEventTrackerRequest method. +// req, resp := client.CreateEventTrackerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateEventTracker +func (c *Personalize) CreateEventTrackerRequest(input *CreateEventTrackerInput) (req *request.Request, output *CreateEventTrackerOutput) { + op := &request.Operation{ + Name: opCreateEventTracker, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateEventTrackerInput{} + } + + output = &CreateEventTrackerOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateEventTracker API operation for Amazon Personalize. +// +// Creates an event tracker that you use when sending event data to the specified +// dataset group using the PutEvents (https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html) +// API. +// +// When Amazon Personalize creates an event tracker, it also creates an event-interactions +// dataset in the dataset group associated with the event tracker. The event-interactions +// dataset stores the event data from the PutEvents call. The contents of this +// dataset are not available to the user. +// +// Only one event tracker can be associated with a dataset group. You will get +// an error if you call CreateEventTracker using the same dataset group as an +// existing event tracker. +// +// When you send event data you include your tracking ID. The tracking ID identifies +// the customer and authorizes the customer to send the data. +// +// The event tracker can be in one of the following states: +// +// * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED +// +// * DELETE PENDING > DELETE IN_PROGRESS +// +// To get the status of the event tracker, call DescribeEventTracker. +// +// The event tracker must be in the ACTIVE state before using the tracking ID. +// +// Related APIs +// +// * ListEventTrackers +// +// * DescribeEventTracker +// +// * DeleteEventTracker +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation CreateEventTracker for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The specified resource already exists. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The limit on the number of requests per second has been exceeded. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateEventTracker +func (c *Personalize) CreateEventTracker(input *CreateEventTrackerInput) (*CreateEventTrackerOutput, error) { + req, out := c.CreateEventTrackerRequest(input) + return out, req.Send() +} + +// CreateEventTrackerWithContext is the same as CreateEventTracker with the addition of +// the ability to pass a context and additional request options. +// +// See CreateEventTracker for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) CreateEventTrackerWithContext(ctx aws.Context, input *CreateEventTrackerInput, opts ...request.Option) (*CreateEventTrackerOutput, error) { + req, out := c.CreateEventTrackerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateSchema = "CreateSchema" + +// CreateSchemaRequest generates a "aws/request.Request" representing the +// client's request for the CreateSchema operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateSchema for more information on using the CreateSchema +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateSchemaRequest method. +// req, resp := client.CreateSchemaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSchema +func (c *Personalize) CreateSchemaRequest(input *CreateSchemaInput) (req *request.Request, output *CreateSchemaOutput) { + op := &request.Operation{ + Name: opCreateSchema, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateSchemaInput{} + } + + output = &CreateSchemaOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateSchema API operation for Amazon Personalize. +// +// Creates an Amazon Personalize schema from the specified schema string. The +// schema you create must be in Avro JSON format. +// +// Amazon Personalize recognizes three schema variants. Each schema is associated +// with a dataset type and has a set of required field and keywords. You specify +// a schema when you call CreateDataset. +// +// Related APIs +// +// * ListSchemas +// +// * DescribeSchema +// +// * DeleteSchema +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation CreateSchema for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The specified resource already exists. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The limit on the number of requests per second has been exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSchema +func (c *Personalize) CreateSchema(input *CreateSchemaInput) (*CreateSchemaOutput, error) { + req, out := c.CreateSchemaRequest(input) + return out, req.Send() +} + +// CreateSchemaWithContext is the same as CreateSchema with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSchema for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) CreateSchemaWithContext(ctx aws.Context, input *CreateSchemaInput, opts ...request.Option) (*CreateSchemaOutput, error) { + req, out := c.CreateSchemaRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateSolution = "CreateSolution" + +// CreateSolutionRequest generates a "aws/request.Request" representing the +// client's request for the CreateSolution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateSolution for more information on using the CreateSolution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateSolutionRequest method. +// req, resp := client.CreateSolutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolution +func (c *Personalize) CreateSolutionRequest(input *CreateSolutionInput) (req *request.Request, output *CreateSolutionOutput) { + op := &request.Operation{ + Name: opCreateSolution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateSolutionInput{} + } + + output = &CreateSolutionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateSolution API operation for Amazon Personalize. +// +// Creates the configuration for training a model. A trained model is known +// as a solution. After the configuration is created, you train the model (create +// a solution) by calling the CreateSolutionVersion operation. Every time you +// call CreateSolutionVersion, a new version of the solution is created. +// +// After creating a solution version, you check its accuracy by calling GetSolutionMetrics. +// When you are satisfied with the version, you deploy it using CreateCampaign. +// The campaign provides recommendations to a client through the GetRecommendations +// (https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html) +// API. +// +// To train a model, Amazon Personalize requires training data and a recipe. +// The training data comes from the dataset group that you provide in the request. +// A recipe specifies the training algorithm and a feature transformation. You +// can specify one of the predefined recipes provided by Amazon Personalize. +// Alternatively, you can specify performAutoML and Amazon Personalize will +// analyze your data and select the optimum USER_PERSONALIZATION recipe for +// you. +// +// Status +// +// A solution can be in one of the following states: +// +// * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED +// +// * DELETE PENDING > DELETE IN_PROGRESS +// +// To get the status of the solution, call DescribeSolution. Wait until the +// status shows as ACTIVE before calling CreateSolutionVersion. +// +// Related APIs +// +// * ListSolutions +// +// * CreateSolutionVersion +// +// * DescribeSolution +// +// * DeleteSolution +// +// * ListSolutionVersions +// +// * DescribeSolutionVersion +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation CreateSolution for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The specified resource already exists. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The limit on the number of requests per second has been exceeded. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolution +func (c *Personalize) CreateSolution(input *CreateSolutionInput) (*CreateSolutionOutput, error) { + req, out := c.CreateSolutionRequest(input) + return out, req.Send() +} + +// CreateSolutionWithContext is the same as CreateSolution with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSolution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) CreateSolutionWithContext(ctx aws.Context, input *CreateSolutionInput, opts ...request.Option) (*CreateSolutionOutput, error) { + req, out := c.CreateSolutionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateSolutionVersion = "CreateSolutionVersion" + +// CreateSolutionVersionRequest generates a "aws/request.Request" representing the +// client's request for the CreateSolutionVersion operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateSolutionVersion for more information on using the CreateSolutionVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateSolutionVersionRequest method. +// req, resp := client.CreateSolutionVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolutionVersion +func (c *Personalize) CreateSolutionVersionRequest(input *CreateSolutionVersionInput) (req *request.Request, output *CreateSolutionVersionOutput) { + op := &request.Operation{ + Name: opCreateSolutionVersion, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateSolutionVersionInput{} + } + + output = &CreateSolutionVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateSolutionVersion API operation for Amazon Personalize. +// +// Trains or retrains an active solution. A solution is created using the CreateSolution +// operation and must be in the ACTIVE state before calling CreateSolutionVersion. +// A new version of the solution is created every time you call this operation. +// +// Status +// +// A solution version can be in one of the following states: +// +// * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED +// +// To get the status of the version, call DescribeSolutionVersion. Wait until +// the status shows as ACTIVE before calling CreateCampaign. +// +// If the status shows as CREATE FAILED, the response includes a failureReason +// key, which describes why the job failed. +// +// Related APIs +// +// * ListSolutionVersions +// +// * DescribeSolutionVersion +// +// * ListSolutions +// +// * CreateSolution +// +// * DescribeSolution +// +// * DeleteSolution +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation CreateSolutionVersion for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolutionVersion +func (c *Personalize) CreateSolutionVersion(input *CreateSolutionVersionInput) (*CreateSolutionVersionOutput, error) { + req, out := c.CreateSolutionVersionRequest(input) + return out, req.Send() +} + +// CreateSolutionVersionWithContext is the same as CreateSolutionVersion with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSolutionVersion for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) CreateSolutionVersionWithContext(ctx aws.Context, input *CreateSolutionVersionInput, opts ...request.Option) (*CreateSolutionVersionOutput, error) { + req, out := c.CreateSolutionVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteCampaign = "DeleteCampaign" + +// DeleteCampaignRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCampaign operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteCampaign for more information on using the DeleteCampaign +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteCampaignRequest method. +// req, resp := client.DeleteCampaignRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteCampaign +func (c *Personalize) DeleteCampaignRequest(input *DeleteCampaignInput) (req *request.Request, output *DeleteCampaignOutput) { + op := &request.Operation{ + Name: opDeleteCampaign, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteCampaignInput{} + } + + output = &DeleteCampaignOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteCampaign API operation for Amazon Personalize. +// +// Removes a campaign by deleting the solution deployment. The solution that +// the campaign is based on is not deleted and can be redeployed when needed. +// A deleted campaign can no longer be specified in a GetRecommendations (https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html) +// request. For more information on campaigns, see CreateCampaign. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DeleteCampaign for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteCampaign +func (c *Personalize) DeleteCampaign(input *DeleteCampaignInput) (*DeleteCampaignOutput, error) { + req, out := c.DeleteCampaignRequest(input) + return out, req.Send() +} + +// DeleteCampaignWithContext is the same as DeleteCampaign with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCampaign for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DeleteCampaignWithContext(ctx aws.Context, input *DeleteCampaignInput, opts ...request.Option) (*DeleteCampaignOutput, error) { + req, out := c.DeleteCampaignRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDataset = "DeleteDataset" + +// DeleteDatasetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDataset operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteDataset for more information on using the DeleteDataset +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteDatasetRequest method. +// req, resp := client.DeleteDatasetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDataset +func (c *Personalize) DeleteDatasetRequest(input *DeleteDatasetInput) (req *request.Request, output *DeleteDatasetOutput) { + op := &request.Operation{ + Name: opDeleteDataset, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDatasetInput{} + } + + output = &DeleteDatasetOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDataset API operation for Amazon Personalize. +// +// Deletes a dataset. You can't delete a dataset if an associated DatasetImportJob +// or SolutionVersion is in the CREATE PENDING or IN PROGRESS state. For more +// information on datasets, see CreateDataset. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DeleteDataset for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDataset +func (c *Personalize) DeleteDataset(input *DeleteDatasetInput) (*DeleteDatasetOutput, error) { + req, out := c.DeleteDatasetRequest(input) + return out, req.Send() +} + +// DeleteDatasetWithContext is the same as DeleteDataset with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDataset for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DeleteDatasetWithContext(ctx aws.Context, input *DeleteDatasetInput, opts ...request.Option) (*DeleteDatasetOutput, error) { + req, out := c.DeleteDatasetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDatasetGroup = "DeleteDatasetGroup" + +// DeleteDatasetGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDatasetGroup operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteDatasetGroup for more information on using the DeleteDatasetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteDatasetGroupRequest method. +// req, resp := client.DeleteDatasetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDatasetGroup +func (c *Personalize) DeleteDatasetGroupRequest(input *DeleteDatasetGroupInput) (req *request.Request, output *DeleteDatasetGroupOutput) { + op := &request.Operation{ + Name: opDeleteDatasetGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDatasetGroupInput{} + } + + output = &DeleteDatasetGroupOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDatasetGroup API operation for Amazon Personalize. +// +// Deletes a dataset group. Before you delete a dataset group, you must delete +// the following: +// +// * All associated event trackers. +// +// * All associated solutions. +// +// * All datasets in the dataset group. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DeleteDatasetGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDatasetGroup +func (c *Personalize) DeleteDatasetGroup(input *DeleteDatasetGroupInput) (*DeleteDatasetGroupOutput, error) { + req, out := c.DeleteDatasetGroupRequest(input) + return out, req.Send() +} + +// DeleteDatasetGroupWithContext is the same as DeleteDatasetGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDatasetGroup for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DeleteDatasetGroupWithContext(ctx aws.Context, input *DeleteDatasetGroupInput, opts ...request.Option) (*DeleteDatasetGroupOutput, error) { + req, out := c.DeleteDatasetGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteEventTracker = "DeleteEventTracker" + +// DeleteEventTrackerRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEventTracker operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteEventTracker for more information on using the DeleteEventTracker +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteEventTrackerRequest method. +// req, resp := client.DeleteEventTrackerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteEventTracker +func (c *Personalize) DeleteEventTrackerRequest(input *DeleteEventTrackerInput) (req *request.Request, output *DeleteEventTrackerOutput) { + op := &request.Operation{ + Name: opDeleteEventTracker, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteEventTrackerInput{} + } + + output = &DeleteEventTrackerOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteEventTracker API operation for Amazon Personalize. +// +// Deletes the event tracker. Does not delete the event-interactions dataset +// from the associated dataset group. For more information on event trackers, +// see CreateEventTracker. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DeleteEventTracker for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteEventTracker +func (c *Personalize) DeleteEventTracker(input *DeleteEventTrackerInput) (*DeleteEventTrackerOutput, error) { + req, out := c.DeleteEventTrackerRequest(input) + return out, req.Send() +} + +// DeleteEventTrackerWithContext is the same as DeleteEventTracker with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteEventTracker for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DeleteEventTrackerWithContext(ctx aws.Context, input *DeleteEventTrackerInput, opts ...request.Option) (*DeleteEventTrackerOutput, error) { + req, out := c.DeleteEventTrackerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteSchema = "DeleteSchema" + +// DeleteSchemaRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSchema operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteSchema for more information on using the DeleteSchema +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteSchemaRequest method. +// req, resp := client.DeleteSchemaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSchema +func (c *Personalize) DeleteSchemaRequest(input *DeleteSchemaInput) (req *request.Request, output *DeleteSchemaOutput) { + op := &request.Operation{ + Name: opDeleteSchema, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteSchemaInput{} + } + + output = &DeleteSchemaOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteSchema API operation for Amazon Personalize. +// +// Deletes a schema. Before deleting a schema, you must delete all datasets +// referencing the schema. For more information on schemas, see CreateSchema. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DeleteSchema for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSchema +func (c *Personalize) DeleteSchema(input *DeleteSchemaInput) (*DeleteSchemaOutput, error) { + req, out := c.DeleteSchemaRequest(input) + return out, req.Send() +} + +// DeleteSchemaWithContext is the same as DeleteSchema with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSchema for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DeleteSchemaWithContext(ctx aws.Context, input *DeleteSchemaInput, opts ...request.Option) (*DeleteSchemaOutput, error) { + req, out := c.DeleteSchemaRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteSolution = "DeleteSolution" + +// DeleteSolutionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSolution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteSolution for more information on using the DeleteSolution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteSolutionRequest method. +// req, resp := client.DeleteSolutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSolution +func (c *Personalize) DeleteSolutionRequest(input *DeleteSolutionInput) (req *request.Request, output *DeleteSolutionOutput) { + op := &request.Operation{ + Name: opDeleteSolution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteSolutionInput{} + } + + output = &DeleteSolutionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteSolution API operation for Amazon Personalize. +// +// Deletes all versions of a solution and the Solution object itself. Before +// deleting a solution, you must delete all campaigns based on the solution. +// To determine what campaigns are using the solution, call ListCampaigns and +// supply the Amazon Resource Name (ARN) of the solution. You can't delete a +// solution if an associated SolutionVersion is in the CREATE PENDING or IN +// PROGRESS state. For more information on solutions, see CreateSolution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DeleteSolution for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSolution +func (c *Personalize) DeleteSolution(input *DeleteSolutionInput) (*DeleteSolutionOutput, error) { + req, out := c.DeleteSolutionRequest(input) + return out, req.Send() +} + +// DeleteSolutionWithContext is the same as DeleteSolution with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSolution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DeleteSolutionWithContext(ctx aws.Context, input *DeleteSolutionInput, opts ...request.Option) (*DeleteSolutionOutput, error) { + req, out := c.DeleteSolutionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeAlgorithm = "DescribeAlgorithm" + +// DescribeAlgorithmRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAlgorithm operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeAlgorithm for more information on using the DescribeAlgorithm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeAlgorithmRequest method. +// req, resp := client.DescribeAlgorithmRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeAlgorithm +func (c *Personalize) DescribeAlgorithmRequest(input *DescribeAlgorithmInput) (req *request.Request, output *DescribeAlgorithmOutput) { + op := &request.Operation{ + Name: opDescribeAlgorithm, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeAlgorithmInput{} + } + + output = &DescribeAlgorithmOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeAlgorithm API operation for Amazon Personalize. +// +// Describes the given algorithm. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DescribeAlgorithm for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeAlgorithm +func (c *Personalize) DescribeAlgorithm(input *DescribeAlgorithmInput) (*DescribeAlgorithmOutput, error) { + req, out := c.DescribeAlgorithmRequest(input) + return out, req.Send() +} + +// DescribeAlgorithmWithContext is the same as DescribeAlgorithm with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAlgorithm for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DescribeAlgorithmWithContext(ctx aws.Context, input *DescribeAlgorithmInput, opts ...request.Option) (*DescribeAlgorithmOutput, error) { + req, out := c.DescribeAlgorithmRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeCampaign = "DescribeCampaign" + +// DescribeCampaignRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCampaign operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeCampaign for more information on using the DescribeCampaign +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeCampaignRequest method. +// req, resp := client.DescribeCampaignRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeCampaign +func (c *Personalize) DescribeCampaignRequest(input *DescribeCampaignInput) (req *request.Request, output *DescribeCampaignOutput) { + op := &request.Operation{ + Name: opDescribeCampaign, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeCampaignInput{} + } + + output = &DescribeCampaignOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeCampaign API operation for Amazon Personalize. +// +// Describes the given campaign, including its status. +// +// A campaign can be in one of the following states: +// +// * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED +// +// * DELETE PENDING > DELETE IN_PROGRESS +// +// When the status is CREATE FAILED, the response includes the failureReason +// key, which describes why. +// +// For more information on campaigns, see CreateCampaign. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DescribeCampaign for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeCampaign +func (c *Personalize) DescribeCampaign(input *DescribeCampaignInput) (*DescribeCampaignOutput, error) { + req, out := c.DescribeCampaignRequest(input) + return out, req.Send() +} + +// DescribeCampaignWithContext is the same as DescribeCampaign with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeCampaign for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DescribeCampaignWithContext(ctx aws.Context, input *DescribeCampaignInput, opts ...request.Option) (*DescribeCampaignOutput, error) { + req, out := c.DescribeCampaignRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDataset = "DescribeDataset" + +// DescribeDatasetRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDataset operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeDataset for more information on using the DescribeDataset +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeDatasetRequest method. +// req, resp := client.DescribeDatasetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDataset +func (c *Personalize) DescribeDatasetRequest(input *DescribeDatasetInput) (req *request.Request, output *DescribeDatasetOutput) { + op := &request.Operation{ + Name: opDescribeDataset, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDatasetInput{} + } + + output = &DescribeDatasetOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDataset API operation for Amazon Personalize. +// +// Describes the given dataset. For more information on datasets, see CreateDataset. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DescribeDataset for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDataset +func (c *Personalize) DescribeDataset(input *DescribeDatasetInput) (*DescribeDatasetOutput, error) { + req, out := c.DescribeDatasetRequest(input) + return out, req.Send() +} + +// DescribeDatasetWithContext is the same as DescribeDataset with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDataset for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DescribeDatasetWithContext(ctx aws.Context, input *DescribeDatasetInput, opts ...request.Option) (*DescribeDatasetOutput, error) { + req, out := c.DescribeDatasetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDatasetGroup = "DescribeDatasetGroup" + +// DescribeDatasetGroupRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDatasetGroup operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeDatasetGroup for more information on using the DescribeDatasetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeDatasetGroupRequest method. +// req, resp := client.DescribeDatasetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetGroup +func (c *Personalize) DescribeDatasetGroupRequest(input *DescribeDatasetGroupInput) (req *request.Request, output *DescribeDatasetGroupOutput) { + op := &request.Operation{ + Name: opDescribeDatasetGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDatasetGroupInput{} + } + + output = &DescribeDatasetGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDatasetGroup API operation for Amazon Personalize. +// +// Describes the given dataset group. For more information on dataset groups, +// see CreateDatasetGroup. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DescribeDatasetGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetGroup +func (c *Personalize) DescribeDatasetGroup(input *DescribeDatasetGroupInput) (*DescribeDatasetGroupOutput, error) { + req, out := c.DescribeDatasetGroupRequest(input) + return out, req.Send() +} + +// DescribeDatasetGroupWithContext is the same as DescribeDatasetGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDatasetGroup for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DescribeDatasetGroupWithContext(ctx aws.Context, input *DescribeDatasetGroupInput, opts ...request.Option) (*DescribeDatasetGroupOutput, error) { + req, out := c.DescribeDatasetGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDatasetImportJob = "DescribeDatasetImportJob" + +// DescribeDatasetImportJobRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDatasetImportJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeDatasetImportJob for more information on using the DescribeDatasetImportJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeDatasetImportJobRequest method. +// req, resp := client.DescribeDatasetImportJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetImportJob +func (c *Personalize) DescribeDatasetImportJobRequest(input *DescribeDatasetImportJobInput) (req *request.Request, output *DescribeDatasetImportJobOutput) { + op := &request.Operation{ + Name: opDescribeDatasetImportJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDatasetImportJobInput{} + } + + output = &DescribeDatasetImportJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDatasetImportJob API operation for Amazon Personalize. +// +// Describes the dataset import job created by CreateDatasetImportJob, including +// the import job status. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DescribeDatasetImportJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetImportJob +func (c *Personalize) DescribeDatasetImportJob(input *DescribeDatasetImportJobInput) (*DescribeDatasetImportJobOutput, error) { + req, out := c.DescribeDatasetImportJobRequest(input) + return out, req.Send() +} + +// DescribeDatasetImportJobWithContext is the same as DescribeDatasetImportJob with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDatasetImportJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DescribeDatasetImportJobWithContext(ctx aws.Context, input *DescribeDatasetImportJobInput, opts ...request.Option) (*DescribeDatasetImportJobOutput, error) { + req, out := c.DescribeDatasetImportJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeEventTracker = "DescribeEventTracker" + +// DescribeEventTrackerRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEventTracker operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeEventTracker for more information on using the DescribeEventTracker +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeEventTrackerRequest method. +// req, resp := client.DescribeEventTrackerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeEventTracker +func (c *Personalize) DescribeEventTrackerRequest(input *DescribeEventTrackerInput) (req *request.Request, output *DescribeEventTrackerOutput) { + op := &request.Operation{ + Name: opDescribeEventTracker, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeEventTrackerInput{} + } + + output = &DescribeEventTrackerOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEventTracker API operation for Amazon Personalize. +// +// Describes an event tracker. The response includes the trackingId and status +// of the event tracker. For more information on event trackers, see CreateEventTracker. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DescribeEventTracker for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeEventTracker +func (c *Personalize) DescribeEventTracker(input *DescribeEventTrackerInput) (*DescribeEventTrackerOutput, error) { + req, out := c.DescribeEventTrackerRequest(input) + return out, req.Send() +} + +// DescribeEventTrackerWithContext is the same as DescribeEventTracker with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEventTracker for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DescribeEventTrackerWithContext(ctx aws.Context, input *DescribeEventTrackerInput, opts ...request.Option) (*DescribeEventTrackerOutput, error) { + req, out := c.DescribeEventTrackerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeFeatureTransformation = "DescribeFeatureTransformation" + +// DescribeFeatureTransformationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFeatureTransformation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeFeatureTransformation for more information on using the DescribeFeatureTransformation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeFeatureTransformationRequest method. +// req, resp := client.DescribeFeatureTransformationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFeatureTransformation +func (c *Personalize) DescribeFeatureTransformationRequest(input *DescribeFeatureTransformationInput) (req *request.Request, output *DescribeFeatureTransformationOutput) { + op := &request.Operation{ + Name: opDescribeFeatureTransformation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeFeatureTransformationInput{} + } + + output = &DescribeFeatureTransformationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFeatureTransformation API operation for Amazon Personalize. +// +// Describes the given feature transformation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DescribeFeatureTransformation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFeatureTransformation +func (c *Personalize) DescribeFeatureTransformation(input *DescribeFeatureTransformationInput) (*DescribeFeatureTransformationOutput, error) { + req, out := c.DescribeFeatureTransformationRequest(input) + return out, req.Send() +} + +// DescribeFeatureTransformationWithContext is the same as DescribeFeatureTransformation with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFeatureTransformation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DescribeFeatureTransformationWithContext(ctx aws.Context, input *DescribeFeatureTransformationInput, opts ...request.Option) (*DescribeFeatureTransformationOutput, error) { + req, out := c.DescribeFeatureTransformationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeRecipe = "DescribeRecipe" + +// DescribeRecipeRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRecipe operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeRecipe for more information on using the DescribeRecipe +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeRecipeRequest method. +// req, resp := client.DescribeRecipeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeRecipe +func (c *Personalize) DescribeRecipeRequest(input *DescribeRecipeInput) (req *request.Request, output *DescribeRecipeOutput) { + op := &request.Operation{ + Name: opDescribeRecipe, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeRecipeInput{} + } + + output = &DescribeRecipeOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeRecipe API operation for Amazon Personalize. +// +// Describes a recipe. +// +// A recipe contains three items: +// +// * An algorithm that trains a model. +// +// * Hyperparameters that govern the training. +// +// * Feature transformation information for modifying the input data before +// training. +// +// Amazon Personalize provides a set of predefined recipes. You specify a recipe +// when you create a solution with the CreateSolution API. CreateSolution trains +// a model by using the algorithm in the specified recipe and a training dataset. +// The solution, when deployed as a campaign, can provide recommendations using +// the GetRecommendations (https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html) +// API. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DescribeRecipe for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeRecipe +func (c *Personalize) DescribeRecipe(input *DescribeRecipeInput) (*DescribeRecipeOutput, error) { + req, out := c.DescribeRecipeRequest(input) + return out, req.Send() +} + +// DescribeRecipeWithContext is the same as DescribeRecipe with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeRecipe for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DescribeRecipeWithContext(ctx aws.Context, input *DescribeRecipeInput, opts ...request.Option) (*DescribeRecipeOutput, error) { + req, out := c.DescribeRecipeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeSchema = "DescribeSchema" + +// DescribeSchemaRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSchema operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeSchema for more information on using the DescribeSchema +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeSchemaRequest method. +// req, resp := client.DescribeSchemaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSchema +func (c *Personalize) DescribeSchemaRequest(input *DescribeSchemaInput) (req *request.Request, output *DescribeSchemaOutput) { + op := &request.Operation{ + Name: opDescribeSchema, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeSchemaInput{} + } + + output = &DescribeSchemaOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSchema API operation for Amazon Personalize. +// +// Describes a schema. For more information on schemas, see CreateSchema. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DescribeSchema for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSchema +func (c *Personalize) DescribeSchema(input *DescribeSchemaInput) (*DescribeSchemaOutput, error) { + req, out := c.DescribeSchemaRequest(input) + return out, req.Send() +} + +// DescribeSchemaWithContext is the same as DescribeSchema with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSchema for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DescribeSchemaWithContext(ctx aws.Context, input *DescribeSchemaInput, opts ...request.Option) (*DescribeSchemaOutput, error) { + req, out := c.DescribeSchemaRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeSolution = "DescribeSolution" + +// DescribeSolutionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSolution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeSolution for more information on using the DescribeSolution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeSolutionRequest method. +// req, resp := client.DescribeSolutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolution +func (c *Personalize) DescribeSolutionRequest(input *DescribeSolutionInput) (req *request.Request, output *DescribeSolutionOutput) { + op := &request.Operation{ + Name: opDescribeSolution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeSolutionInput{} + } + + output = &DescribeSolutionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSolution API operation for Amazon Personalize. +// +// Describes a solution. For more information on solutions, see CreateSolution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DescribeSolution for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolution +func (c *Personalize) DescribeSolution(input *DescribeSolutionInput) (*DescribeSolutionOutput, error) { + req, out := c.DescribeSolutionRequest(input) + return out, req.Send() +} + +// DescribeSolutionWithContext is the same as DescribeSolution with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSolution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DescribeSolutionWithContext(ctx aws.Context, input *DescribeSolutionInput, opts ...request.Option) (*DescribeSolutionOutput, error) { + req, out := c.DescribeSolutionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeSolutionVersion = "DescribeSolutionVersion" + +// DescribeSolutionVersionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSolutionVersion operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeSolutionVersion for more information on using the DescribeSolutionVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeSolutionVersionRequest method. +// req, resp := client.DescribeSolutionVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolutionVersion +func (c *Personalize) DescribeSolutionVersionRequest(input *DescribeSolutionVersionInput) (req *request.Request, output *DescribeSolutionVersionOutput) { + op := &request.Operation{ + Name: opDescribeSolutionVersion, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeSolutionVersionInput{} + } + + output = &DescribeSolutionVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSolutionVersion API operation for Amazon Personalize. +// +// Describes a specific version of a solution. For more information on solutions, +// see CreateSolution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DescribeSolutionVersion for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolutionVersion +func (c *Personalize) DescribeSolutionVersion(input *DescribeSolutionVersionInput) (*DescribeSolutionVersionOutput, error) { + req, out := c.DescribeSolutionVersionRequest(input) + return out, req.Send() +} + +// DescribeSolutionVersionWithContext is the same as DescribeSolutionVersion with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSolutionVersion for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DescribeSolutionVersionWithContext(ctx aws.Context, input *DescribeSolutionVersionInput, opts ...request.Option) (*DescribeSolutionVersionOutput, error) { + req, out := c.DescribeSolutionVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetSolutionMetrics = "GetSolutionMetrics" + +// GetSolutionMetricsRequest generates a "aws/request.Request" representing the +// client's request for the GetSolutionMetrics operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetSolutionMetrics for more information on using the GetSolutionMetrics +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetSolutionMetricsRequest method. +// req, resp := client.GetSolutionMetricsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/GetSolutionMetrics +func (c *Personalize) GetSolutionMetricsRequest(input *GetSolutionMetricsInput) (req *request.Request, output *GetSolutionMetricsOutput) { + op := &request.Operation{ + Name: opGetSolutionMetrics, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetSolutionMetricsInput{} + } + + output = &GetSolutionMetricsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSolutionMetrics API operation for Amazon Personalize. +// +// Gets the metrics for the specified solution version. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation GetSolutionMetrics for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/GetSolutionMetrics +func (c *Personalize) GetSolutionMetrics(input *GetSolutionMetricsInput) (*GetSolutionMetricsOutput, error) { + req, out := c.GetSolutionMetricsRequest(input) + return out, req.Send() +} + +// GetSolutionMetricsWithContext is the same as GetSolutionMetrics with the addition of +// the ability to pass a context and additional request options. +// +// See GetSolutionMetrics for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) GetSolutionMetricsWithContext(ctx aws.Context, input *GetSolutionMetricsInput, opts ...request.Option) (*GetSolutionMetricsOutput, error) { + req, out := c.GetSolutionMetricsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListCampaigns = "ListCampaigns" + +// ListCampaignsRequest generates a "aws/request.Request" representing the +// client's request for the ListCampaigns operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListCampaigns for more information on using the ListCampaigns +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListCampaignsRequest method. +// req, resp := client.ListCampaignsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListCampaigns +func (c *Personalize) ListCampaignsRequest(input *ListCampaignsInput) (req *request.Request, output *ListCampaignsOutput) { + op := &request.Operation{ + Name: opListCampaigns, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCampaignsInput{} + } + + output = &ListCampaignsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCampaigns API operation for Amazon Personalize. +// +// Returns a list of campaigns that use the given solution. When a solution +// is not specified, all the campaigns associated with the account are listed. +// The response provides the properties for each campaign, including the Amazon +// Resource Name (ARN). For more information on campaigns, see CreateCampaign. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation ListCampaigns for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The token is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListCampaigns +func (c *Personalize) ListCampaigns(input *ListCampaignsInput) (*ListCampaignsOutput, error) { + req, out := c.ListCampaignsRequest(input) + return out, req.Send() +} + +// ListCampaignsWithContext is the same as ListCampaigns with the addition of +// the ability to pass a context and additional request options. +// +// See ListCampaigns for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListCampaignsWithContext(ctx aws.Context, input *ListCampaignsInput, opts ...request.Option) (*ListCampaignsOutput, error) { + req, out := c.ListCampaignsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCampaignsPages iterates over the pages of a ListCampaigns operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCampaigns method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListCampaigns operation. +// pageNum := 0 +// err := client.ListCampaignsPages(params, +// func(page *personalize.ListCampaignsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Personalize) ListCampaignsPages(input *ListCampaignsInput, fn func(*ListCampaignsOutput, bool) bool) error { + return c.ListCampaignsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCampaignsPagesWithContext same as ListCampaignsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListCampaignsPagesWithContext(ctx aws.Context, input *ListCampaignsInput, fn func(*ListCampaignsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCampaignsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCampaignsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListCampaignsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListDatasetGroups = "ListDatasetGroups" + +// ListDatasetGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListDatasetGroups operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDatasetGroups for more information on using the ListDatasetGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDatasetGroupsRequest method. +// req, resp := client.ListDatasetGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetGroups +func (c *Personalize) ListDatasetGroupsRequest(input *ListDatasetGroupsInput) (req *request.Request, output *ListDatasetGroupsOutput) { + op := &request.Operation{ + Name: opListDatasetGroups, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDatasetGroupsInput{} + } + + output = &ListDatasetGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDatasetGroups API operation for Amazon Personalize. +// +// Returns a list of dataset groups. The response provides the properties for +// each dataset group, including the Amazon Resource Name (ARN). For more information +// on dataset groups, see CreateDatasetGroup. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation ListDatasetGroups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The token is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetGroups +func (c *Personalize) ListDatasetGroups(input *ListDatasetGroupsInput) (*ListDatasetGroupsOutput, error) { + req, out := c.ListDatasetGroupsRequest(input) + return out, req.Send() +} + +// ListDatasetGroupsWithContext is the same as ListDatasetGroups with the addition of +// the ability to pass a context and additional request options. +// +// See ListDatasetGroups for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListDatasetGroupsWithContext(ctx aws.Context, input *ListDatasetGroupsInput, opts ...request.Option) (*ListDatasetGroupsOutput, error) { + req, out := c.ListDatasetGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDatasetGroupsPages iterates over the pages of a ListDatasetGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDatasetGroups method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListDatasetGroups operation. +// pageNum := 0 +// err := client.ListDatasetGroupsPages(params, +// func(page *personalize.ListDatasetGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Personalize) ListDatasetGroupsPages(input *ListDatasetGroupsInput, fn func(*ListDatasetGroupsOutput, bool) bool) error { + return c.ListDatasetGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDatasetGroupsPagesWithContext same as ListDatasetGroupsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListDatasetGroupsPagesWithContext(ctx aws.Context, input *ListDatasetGroupsInput, fn func(*ListDatasetGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDatasetGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDatasetGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListDatasetGroupsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListDatasetImportJobs = "ListDatasetImportJobs" + +// ListDatasetImportJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListDatasetImportJobs operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDatasetImportJobs for more information on using the ListDatasetImportJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDatasetImportJobsRequest method. +// req, resp := client.ListDatasetImportJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetImportJobs +func (c *Personalize) ListDatasetImportJobsRequest(input *ListDatasetImportJobsInput) (req *request.Request, output *ListDatasetImportJobsOutput) { + op := &request.Operation{ + Name: opListDatasetImportJobs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDatasetImportJobsInput{} + } + + output = &ListDatasetImportJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDatasetImportJobs API operation for Amazon Personalize. +// +// Returns a list of dataset import jobs that use the given dataset. When a +// dataset is not specified, all the dataset import jobs associated with the +// account are listed. The response provides the properties for each dataset +// import job, including the Amazon Resource Name (ARN). For more information +// on dataset import jobs, see CreateDatasetImportJob. For more information +// on datasets, see CreateDataset. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation ListDatasetImportJobs for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The token is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetImportJobs +func (c *Personalize) ListDatasetImportJobs(input *ListDatasetImportJobsInput) (*ListDatasetImportJobsOutput, error) { + req, out := c.ListDatasetImportJobsRequest(input) + return out, req.Send() +} + +// ListDatasetImportJobsWithContext is the same as ListDatasetImportJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListDatasetImportJobs for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListDatasetImportJobsWithContext(ctx aws.Context, input *ListDatasetImportJobsInput, opts ...request.Option) (*ListDatasetImportJobsOutput, error) { + req, out := c.ListDatasetImportJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDatasetImportJobsPages iterates over the pages of a ListDatasetImportJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDatasetImportJobs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListDatasetImportJobs operation. +// pageNum := 0 +// err := client.ListDatasetImportJobsPages(params, +// func(page *personalize.ListDatasetImportJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Personalize) ListDatasetImportJobsPages(input *ListDatasetImportJobsInput, fn func(*ListDatasetImportJobsOutput, bool) bool) error { + return c.ListDatasetImportJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDatasetImportJobsPagesWithContext same as ListDatasetImportJobsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListDatasetImportJobsPagesWithContext(ctx aws.Context, input *ListDatasetImportJobsInput, fn func(*ListDatasetImportJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDatasetImportJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDatasetImportJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListDatasetImportJobsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListDatasets = "ListDatasets" + +// ListDatasetsRequest generates a "aws/request.Request" representing the +// client's request for the ListDatasets operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDatasets for more information on using the ListDatasets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDatasetsRequest method. +// req, resp := client.ListDatasetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasets +func (c *Personalize) ListDatasetsRequest(input *ListDatasetsInput) (req *request.Request, output *ListDatasetsOutput) { + op := &request.Operation{ + Name: opListDatasets, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDatasetsInput{} + } + + output = &ListDatasetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDatasets API operation for Amazon Personalize. +// +// Returns the list of datasets contained in the given dataset group. The response +// provides the properties for each dataset, including the Amazon Resource Name +// (ARN). For more information on datasets, see CreateDataset. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation ListDatasets for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The token is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasets +func (c *Personalize) ListDatasets(input *ListDatasetsInput) (*ListDatasetsOutput, error) { + req, out := c.ListDatasetsRequest(input) + return out, req.Send() +} + +// ListDatasetsWithContext is the same as ListDatasets with the addition of +// the ability to pass a context and additional request options. +// +// See ListDatasets for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListDatasetsWithContext(ctx aws.Context, input *ListDatasetsInput, opts ...request.Option) (*ListDatasetsOutput, error) { + req, out := c.ListDatasetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDatasetsPages iterates over the pages of a ListDatasets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDatasets method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListDatasets operation. +// pageNum := 0 +// err := client.ListDatasetsPages(params, +// func(page *personalize.ListDatasetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Personalize) ListDatasetsPages(input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool) error { + return c.ListDatasetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDatasetsPagesWithContext same as ListDatasetsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListDatasetsPagesWithContext(ctx aws.Context, input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDatasetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDatasetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListDatasetsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListEventTrackers = "ListEventTrackers" + +// ListEventTrackersRequest generates a "aws/request.Request" representing the +// client's request for the ListEventTrackers operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListEventTrackers for more information on using the ListEventTrackers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListEventTrackersRequest method. +// req, resp := client.ListEventTrackersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListEventTrackers +func (c *Personalize) ListEventTrackersRequest(input *ListEventTrackersInput) (req *request.Request, output *ListEventTrackersOutput) { + op := &request.Operation{ + Name: opListEventTrackers, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEventTrackersInput{} + } + + output = &ListEventTrackersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEventTrackers API operation for Amazon Personalize. +// +// Returns the list of event trackers associated with the account. The response +// provides the properties for each event tracker, including the Amazon Resource +// Name (ARN) and tracking ID. For more information on event trackers, see CreateEventTracker. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation ListEventTrackers for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The token is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListEventTrackers +func (c *Personalize) ListEventTrackers(input *ListEventTrackersInput) (*ListEventTrackersOutput, error) { + req, out := c.ListEventTrackersRequest(input) + return out, req.Send() +} + +// ListEventTrackersWithContext is the same as ListEventTrackers with the addition of +// the ability to pass a context and additional request options. +// +// See ListEventTrackers for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListEventTrackersWithContext(ctx aws.Context, input *ListEventTrackersInput, opts ...request.Option) (*ListEventTrackersOutput, error) { + req, out := c.ListEventTrackersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListEventTrackersPages iterates over the pages of a ListEventTrackers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEventTrackers method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListEventTrackers operation. +// pageNum := 0 +// err := client.ListEventTrackersPages(params, +// func(page *personalize.ListEventTrackersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Personalize) ListEventTrackersPages(input *ListEventTrackersInput, fn func(*ListEventTrackersOutput, bool) bool) error { + return c.ListEventTrackersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEventTrackersPagesWithContext same as ListEventTrackersPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListEventTrackersPagesWithContext(ctx aws.Context, input *ListEventTrackersInput, fn func(*ListEventTrackersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEventTrackersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEventTrackersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListEventTrackersOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListRecipes = "ListRecipes" + +// ListRecipesRequest generates a "aws/request.Request" representing the +// client's request for the ListRecipes operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListRecipes for more information on using the ListRecipes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListRecipesRequest method. +// req, resp := client.ListRecipesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListRecipes +func (c *Personalize) ListRecipesRequest(input *ListRecipesInput) (req *request.Request, output *ListRecipesOutput) { + op := &request.Operation{ + Name: opListRecipes, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListRecipesInput{} + } + + output = &ListRecipesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRecipes API operation for Amazon Personalize. +// +// Returns a list of available recipes. The response provides the properties +// for each recipe, including the recipe's Amazon Resource Name (ARN). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation ListRecipes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The token is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListRecipes +func (c *Personalize) ListRecipes(input *ListRecipesInput) (*ListRecipesOutput, error) { + req, out := c.ListRecipesRequest(input) + return out, req.Send() +} + +// ListRecipesWithContext is the same as ListRecipes with the addition of +// the ability to pass a context and additional request options. +// +// See ListRecipes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListRecipesWithContext(ctx aws.Context, input *ListRecipesInput, opts ...request.Option) (*ListRecipesOutput, error) { + req, out := c.ListRecipesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListRecipesPages iterates over the pages of a ListRecipes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRecipes method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListRecipes operation. +// pageNum := 0 +// err := client.ListRecipesPages(params, +// func(page *personalize.ListRecipesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Personalize) ListRecipesPages(input *ListRecipesInput, fn func(*ListRecipesOutput, bool) bool) error { + return c.ListRecipesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRecipesPagesWithContext same as ListRecipesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListRecipesPagesWithContext(ctx aws.Context, input *ListRecipesInput, fn func(*ListRecipesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRecipesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRecipesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListRecipesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListSchemas = "ListSchemas" + +// ListSchemasRequest generates a "aws/request.Request" representing the +// client's request for the ListSchemas operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListSchemas for more information on using the ListSchemas +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListSchemasRequest method. +// req, resp := client.ListSchemasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSchemas +func (c *Personalize) ListSchemasRequest(input *ListSchemasInput) (req *request.Request, output *ListSchemasOutput) { + op := &request.Operation{ + Name: opListSchemas, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSchemasInput{} + } + + output = &ListSchemasOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSchemas API operation for Amazon Personalize. +// +// Returns the list of schemas associated with the account. The response provides +// the properties for each schema, including the Amazon Resource Name (ARN). +// For more information on schemas, see CreateSchema. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation ListSchemas for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The token is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSchemas +func (c *Personalize) ListSchemas(input *ListSchemasInput) (*ListSchemasOutput, error) { + req, out := c.ListSchemasRequest(input) + return out, req.Send() +} + +// ListSchemasWithContext is the same as ListSchemas with the addition of +// the ability to pass a context and additional request options. +// +// See ListSchemas for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListSchemasWithContext(ctx aws.Context, input *ListSchemasInput, opts ...request.Option) (*ListSchemasOutput, error) { + req, out := c.ListSchemasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSchemasPages iterates over the pages of a ListSchemas operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSchemas method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListSchemas operation. +// pageNum := 0 +// err := client.ListSchemasPages(params, +// func(page *personalize.ListSchemasOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Personalize) ListSchemasPages(input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool) error { + return c.ListSchemasPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSchemasPagesWithContext same as ListSchemasPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListSchemasPagesWithContext(ctx aws.Context, input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSchemasInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSchemasRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListSchemasOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListSolutionVersions = "ListSolutionVersions" + +// ListSolutionVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListSolutionVersions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListSolutionVersions for more information on using the ListSolutionVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListSolutionVersionsRequest method. +// req, resp := client.ListSolutionVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutionVersions +func (c *Personalize) ListSolutionVersionsRequest(input *ListSolutionVersionsInput) (req *request.Request, output *ListSolutionVersionsOutput) { + op := &request.Operation{ + Name: opListSolutionVersions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSolutionVersionsInput{} + } + + output = &ListSolutionVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSolutionVersions API operation for Amazon Personalize. +// +// Returns a list of solution versions for the given solution. When a solution +// is not specified, all the solution versions associated with the account are +// listed. The response provides the properties for each solution version, including +// the Amazon Resource Name (ARN). For more information on solutions, see CreateSolution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation ListSolutionVersions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutionVersions +func (c *Personalize) ListSolutionVersions(input *ListSolutionVersionsInput) (*ListSolutionVersionsOutput, error) { + req, out := c.ListSolutionVersionsRequest(input) + return out, req.Send() +} + +// ListSolutionVersionsWithContext is the same as ListSolutionVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListSolutionVersions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListSolutionVersionsWithContext(ctx aws.Context, input *ListSolutionVersionsInput, opts ...request.Option) (*ListSolutionVersionsOutput, error) { + req, out := c.ListSolutionVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSolutionVersionsPages iterates over the pages of a ListSolutionVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSolutionVersions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListSolutionVersions operation. +// pageNum := 0 +// err := client.ListSolutionVersionsPages(params, +// func(page *personalize.ListSolutionVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Personalize) ListSolutionVersionsPages(input *ListSolutionVersionsInput, fn func(*ListSolutionVersionsOutput, bool) bool) error { + return c.ListSolutionVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSolutionVersionsPagesWithContext same as ListSolutionVersionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListSolutionVersionsPagesWithContext(ctx aws.Context, input *ListSolutionVersionsInput, fn func(*ListSolutionVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSolutionVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSolutionVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListSolutionVersionsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListSolutions = "ListSolutions" + +// ListSolutionsRequest generates a "aws/request.Request" representing the +// client's request for the ListSolutions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListSolutions for more information on using the ListSolutions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListSolutionsRequest method. +// req, resp := client.ListSolutionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutions +func (c *Personalize) ListSolutionsRequest(input *ListSolutionsInput) (req *request.Request, output *ListSolutionsOutput) { + op := &request.Operation{ + Name: opListSolutions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSolutionsInput{} + } + + output = &ListSolutionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSolutions API operation for Amazon Personalize. +// +// Returns a list of solutions that use the given dataset group. When a dataset +// group is not specified, all the solutions associated with the account are +// listed. The response provides the properties for each solution, including +// the Amazon Resource Name (ARN). For more information on solutions, see CreateSolution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation ListSolutions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The token is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutions +func (c *Personalize) ListSolutions(input *ListSolutionsInput) (*ListSolutionsOutput, error) { + req, out := c.ListSolutionsRequest(input) + return out, req.Send() +} + +// ListSolutionsWithContext is the same as ListSolutions with the addition of +// the ability to pass a context and additional request options. +// +// See ListSolutions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListSolutionsWithContext(ctx aws.Context, input *ListSolutionsInput, opts ...request.Option) (*ListSolutionsOutput, error) { + req, out := c.ListSolutionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSolutionsPages iterates over the pages of a ListSolutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSolutions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListSolutions operation. +// pageNum := 0 +// err := client.ListSolutionsPages(params, +// func(page *personalize.ListSolutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Personalize) ListSolutionsPages(input *ListSolutionsInput, fn func(*ListSolutionsOutput, bool) bool) error { + return c.ListSolutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSolutionsPagesWithContext same as ListSolutionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListSolutionsPagesWithContext(ctx aws.Context, input *ListSolutionsInput, fn func(*ListSolutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSolutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSolutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListSolutionsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opUpdateCampaign = "UpdateCampaign" + +// UpdateCampaignRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCampaign operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateCampaign for more information on using the UpdateCampaign +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateCampaignRequest method. +// req, resp := client.UpdateCampaignRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/UpdateCampaign +func (c *Personalize) UpdateCampaignRequest(input *UpdateCampaignInput) (req *request.Request, output *UpdateCampaignOutput) { + op := &request.Operation{ + Name: opUpdateCampaign, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateCampaignInput{} + } + + output = &UpdateCampaignOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCampaign API operation for Amazon Personalize. +// +// Updates a campaign by either deploying a new solution or changing the value +// of the campaign's minProvisionedTPS parameter. +// +// To update a campaign, the campaign status must be ACTIVE or CREATE FAILED. +// Check the campaign status using the DescribeCampaign API. +// +// You must wait until the status of the updated campaign is ACTIVE before asking +// the campaign for recommendations. +// +// For more information on campaigns, see CreateCampaign. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation UpdateCampaign for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// Provide a valid value for the field or parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Could not find the specified resource. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/UpdateCampaign +func (c *Personalize) UpdateCampaign(input *UpdateCampaignInput) (*UpdateCampaignOutput, error) { + req, out := c.UpdateCampaignRequest(input) + return out, req.Send() +} + +// UpdateCampaignWithContext is the same as UpdateCampaign with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCampaign for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) UpdateCampaignWithContext(ctx aws.Context, input *UpdateCampaignInput, opts ...request.Option) (*UpdateCampaignOutput, error) { + req, out := c.UpdateCampaignRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Describes a custom algorithm. +type Algorithm struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the algorithm. + AlgorithmArn *string `locationName:"algorithmArn" type:"string"` + + // The URI of the Docker container for the algorithm image. + AlgorithmImage *AlgorithmImage `locationName:"algorithmImage" type:"structure"` + + // The date and time (in Unix time) that the algorithm was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // Specifies the default hyperparameters, their ranges, and whether they are + // tunable. A tunable hyperparameter can have its value determined during hyperparameter + // optimization (HPO). + DefaultHyperParameterRanges *DefaultHyperParameterRanges `locationName:"defaultHyperParameterRanges" type:"structure"` + + // Specifies the default hyperparameters. + DefaultHyperParameters map[string]*string `locationName:"defaultHyperParameters" type:"map"` + + // Specifies the default maximum number of training jobs and parallel training + // jobs. + DefaultResourceConfig map[string]*string `locationName:"defaultResourceConfig" type:"map"` + + // The date and time (in Unix time) that the algorithm was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the algorithm. + Name *string `locationName:"name" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the role. + RoleArn *string `locationName:"roleArn" type:"string"` + + // The training input mode. + TrainingInputMode *string `locationName:"trainingInputMode" type:"string"` +} + +// String returns the string representation +func (s Algorithm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Algorithm) GoString() string { + return s.String() +} + +// SetAlgorithmArn sets the AlgorithmArn field's value. +func (s *Algorithm) SetAlgorithmArn(v string) *Algorithm { + s.AlgorithmArn = &v + return s +} + +// SetAlgorithmImage sets the AlgorithmImage field's value. +func (s *Algorithm) SetAlgorithmImage(v *AlgorithmImage) *Algorithm { + s.AlgorithmImage = v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *Algorithm) SetCreationDateTime(v time.Time) *Algorithm { + s.CreationDateTime = &v + return s +} + +// SetDefaultHyperParameterRanges sets the DefaultHyperParameterRanges field's value. +func (s *Algorithm) SetDefaultHyperParameterRanges(v *DefaultHyperParameterRanges) *Algorithm { + s.DefaultHyperParameterRanges = v + return s +} + +// SetDefaultHyperParameters sets the DefaultHyperParameters field's value. +func (s *Algorithm) SetDefaultHyperParameters(v map[string]*string) *Algorithm { + s.DefaultHyperParameters = v + return s +} + +// SetDefaultResourceConfig sets the DefaultResourceConfig field's value. +func (s *Algorithm) SetDefaultResourceConfig(v map[string]*string) *Algorithm { + s.DefaultResourceConfig = v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *Algorithm) SetLastUpdatedDateTime(v time.Time) *Algorithm { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Algorithm) SetName(v string) *Algorithm { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *Algorithm) SetRoleArn(v string) *Algorithm { + s.RoleArn = &v + return s +} + +// SetTrainingInputMode sets the TrainingInputMode field's value. +func (s *Algorithm) SetTrainingInputMode(v string) *Algorithm { + s.TrainingInputMode = &v + return s +} + +// Describes an algorithm image. +type AlgorithmImage struct { + _ struct{} `type:"structure"` + + // The URI of the Docker container for the algorithm image. + // + // DockerURI is a required field + DockerURI *string `locationName:"dockerURI" type:"string" required:"true"` + + // The name of the algorithm image. + Name *string `locationName:"name" min:"1" type:"string"` +} + +// String returns the string representation +func (s AlgorithmImage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlgorithmImage) GoString() string { + return s.String() +} + +// SetDockerURI sets the DockerURI field's value. +func (s *AlgorithmImage) SetDockerURI(v string) *AlgorithmImage { + s.DockerURI = &v + return s +} + +// SetName sets the Name field's value. +func (s *AlgorithmImage) SetName(v string) *AlgorithmImage { + s.Name = &v + return s +} + +// When the solution performs AutoML (performAutoML is true in CreateSolution), +// Amazon Personalize determines which recipe, from the specified list, optimizes +// the given metric. Amazon Personalize then uses that recipe for the solution. +type AutoMLConfig struct { + _ struct{} `type:"structure"` + + // The metric to optimize. + MetricName *string `locationName:"metricName" type:"string"` + + // The list of candidate recipes. + RecipeList []*string `locationName:"recipeList" type:"list"` +} + +// String returns the string representation +func (s AutoMLConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutoMLConfig) GoString() string { + return s.String() +} + +// SetMetricName sets the MetricName field's value. +func (s *AutoMLConfig) SetMetricName(v string) *AutoMLConfig { + s.MetricName = &v + return s +} + +// SetRecipeList sets the RecipeList field's value. +func (s *AutoMLConfig) SetRecipeList(v []*string) *AutoMLConfig { + s.RecipeList = v + return s +} + +// When the solution performs AutoML (performAutoML is true in CreateSolution), +// specifies the recipe that best optimized the specified metric. +type AutoMLResult struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the best recipe. + BestRecipeArn *string `locationName:"bestRecipeArn" type:"string"` +} + +// String returns the string representation +func (s AutoMLResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutoMLResult) GoString() string { + return s.String() +} + +// SetBestRecipeArn sets the BestRecipeArn field's value. +func (s *AutoMLResult) SetBestRecipeArn(v string) *AutoMLResult { + s.BestRecipeArn = &v + return s +} + +// Describes a deployed solution version, otherwise known as a campaign. For +// more information on campaigns, see CreateCampaign. +type Campaign struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the campaign. + CampaignArn *string `locationName:"campaignArn" type:"string"` + + // The date and time (in Unix format) that the campaign was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // If a campaign fails, the reason behind the failure. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The date and time (in Unix format) that the campaign was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // Provides a summary of the properties of a campaign update. For a complete + // listing, call the DescribeCampaign API. + LatestCampaignUpdate *CampaignUpdateSummary `locationName:"latestCampaignUpdate" type:"structure"` + + // Specifies the requested minimum provisioned transactions (recommendations) + // per second. + MinProvisionedTPS *int64 `locationName:"minProvisionedTPS" min:"1" type:"integer"` + + // The name of the campaign. + Name *string `locationName:"name" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of a specific version of the solution. + SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"` + + // The status of the campaign. + // + // A campaign can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + // + // * DELETE PENDING > DELETE IN_PROGRESS + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s Campaign) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Campaign) GoString() string { + return s.String() +} + +// SetCampaignArn sets the CampaignArn field's value. +func (s *Campaign) SetCampaignArn(v string) *Campaign { + s.CampaignArn = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *Campaign) SetCreationDateTime(v time.Time) *Campaign { + s.CreationDateTime = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *Campaign) SetFailureReason(v string) *Campaign { + s.FailureReason = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *Campaign) SetLastUpdatedDateTime(v time.Time) *Campaign { + s.LastUpdatedDateTime = &v + return s +} + +// SetLatestCampaignUpdate sets the LatestCampaignUpdate field's value. +func (s *Campaign) SetLatestCampaignUpdate(v *CampaignUpdateSummary) *Campaign { + s.LatestCampaignUpdate = v + return s +} + +// SetMinProvisionedTPS sets the MinProvisionedTPS field's value. +func (s *Campaign) SetMinProvisionedTPS(v int64) *Campaign { + s.MinProvisionedTPS = &v + return s +} + +// SetName sets the Name field's value. +func (s *Campaign) SetName(v string) *Campaign { + s.Name = &v + return s +} + +// SetSolutionVersionArn sets the SolutionVersionArn field's value. +func (s *Campaign) SetSolutionVersionArn(v string) *Campaign { + s.SolutionVersionArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Campaign) SetStatus(v string) *Campaign { + s.Status = &v + return s +} + +// Provides a summary of the properties of a campaign. For a complete listing, +// call the DescribeCampaign API. +type CampaignSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the campaign. + CampaignArn *string `locationName:"campaignArn" type:"string"` + + // The date and time (in Unix time) that the campaign was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // If a campaign fails, the reason behind the failure. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The date and time (in Unix time) that the campaign was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the campaign. + Name *string `locationName:"name" min:"1" type:"string"` + + // The status of the campaign. + // + // A campaign can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + // + // * DELETE PENDING > DELETE IN_PROGRESS + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s CampaignSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CampaignSummary) GoString() string { + return s.String() +} + +// SetCampaignArn sets the CampaignArn field's value. +func (s *CampaignSummary) SetCampaignArn(v string) *CampaignSummary { + s.CampaignArn = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *CampaignSummary) SetCreationDateTime(v time.Time) *CampaignSummary { + s.CreationDateTime = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *CampaignSummary) SetFailureReason(v string) *CampaignSummary { + s.FailureReason = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *CampaignSummary) SetLastUpdatedDateTime(v time.Time) *CampaignSummary { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *CampaignSummary) SetName(v string) *CampaignSummary { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CampaignSummary) SetStatus(v string) *CampaignSummary { + s.Status = &v + return s +} + +// Provides a summary of the properties of a campaign update. For a complete +// listing, call the DescribeCampaign API. +type CampaignUpdateSummary struct { + _ struct{} `type:"structure"` + + // The date and time (in Unix time) that the campaign update was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // If a campaign update fails, the reason behind the failure. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The date and time (in Unix time) that the campaign update was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // Specifies the requested minimum provisioned transactions (recommendations) + // per second that Amazon Personalize will support. + MinProvisionedTPS *int64 `locationName:"minProvisionedTPS" min:"1" type:"integer"` + + // The Amazon Resource Name (ARN) of the deployed solution version. + SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"` + + // The status of the campaign update. + // + // A campaign update can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + // + // * DELETE PENDING > DELETE IN_PROGRESS + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s CampaignUpdateSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CampaignUpdateSummary) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *CampaignUpdateSummary) SetCreationDateTime(v time.Time) *CampaignUpdateSummary { + s.CreationDateTime = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *CampaignUpdateSummary) SetFailureReason(v string) *CampaignUpdateSummary { + s.FailureReason = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *CampaignUpdateSummary) SetLastUpdatedDateTime(v time.Time) *CampaignUpdateSummary { + s.LastUpdatedDateTime = &v + return s +} + +// SetMinProvisionedTPS sets the MinProvisionedTPS field's value. +func (s *CampaignUpdateSummary) SetMinProvisionedTPS(v int64) *CampaignUpdateSummary { + s.MinProvisionedTPS = &v + return s +} + +// SetSolutionVersionArn sets the SolutionVersionArn field's value. +func (s *CampaignUpdateSummary) SetSolutionVersionArn(v string) *CampaignUpdateSummary { + s.SolutionVersionArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CampaignUpdateSummary) SetStatus(v string) *CampaignUpdateSummary { + s.Status = &v + return s +} + +// Provides the name and range of a categorical hyperparameter. +type CategoricalHyperParameterRange struct { + _ struct{} `type:"structure"` + + // The name of the hyperparameter. + Name *string `locationName:"name" type:"string"` + + // A list of the categories for the hyperparameter. + Values []*string `locationName:"values" type:"list"` +} + +// String returns the string representation +func (s CategoricalHyperParameterRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CategoricalHyperParameterRange) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *CategoricalHyperParameterRange) SetName(v string) *CategoricalHyperParameterRange { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *CategoricalHyperParameterRange) SetValues(v []*string) *CategoricalHyperParameterRange { + s.Values = v + return s +} + +// Provides the name and range of a continuous hyperparameter. +type ContinuousHyperParameterRange struct { + _ struct{} `type:"structure"` + + // The maximum allowable value for the hyperparameter. + MaxValue *float64 `locationName:"maxValue" type:"double"` + + // The minimum allowable value for the hyperparameter. + MinValue *float64 `locationName:"minValue" type:"double"` + + // The name of the hyperparameter. + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation +func (s ContinuousHyperParameterRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ContinuousHyperParameterRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContinuousHyperParameterRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContinuousHyperParameterRange"} + if s.MaxValue != nil && *s.MaxValue < -1e+06 { + invalidParams.Add(request.NewErrParamMinValue("MaxValue", -1e+06)) + } + if s.MinValue != nil && *s.MinValue < -1e+06 { + invalidParams.Add(request.NewErrParamMinValue("MinValue", -1e+06)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxValue sets the MaxValue field's value. +func (s *ContinuousHyperParameterRange) SetMaxValue(v float64) *ContinuousHyperParameterRange { + s.MaxValue = &v + return s +} + +// SetMinValue sets the MinValue field's value. +func (s *ContinuousHyperParameterRange) SetMinValue(v float64) *ContinuousHyperParameterRange { + s.MinValue = &v + return s +} + +// SetName sets the Name field's value. +func (s *ContinuousHyperParameterRange) SetName(v string) *ContinuousHyperParameterRange { + s.Name = &v + return s +} + +type CreateCampaignInput struct { + _ struct{} `type:"structure"` + + // Specifies the requested minimum provisioned transactions (recommendations) + // per second that Amazon Personalize will support. + // + // MinProvisionedTPS is a required field + MinProvisionedTPS *int64 `locationName:"minProvisionedTPS" min:"1" type:"integer" required:"true"` + + // A name for the new campaign. The campaign name must be unique within your + // account. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the solution version to deploy. + // + // SolutionVersionArn is a required field + SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateCampaignInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCampaignInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCampaignInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCampaignInput"} + if s.MinProvisionedTPS == nil { + invalidParams.Add(request.NewErrParamRequired("MinProvisionedTPS")) + } + if s.MinProvisionedTPS != nil && *s.MinProvisionedTPS < 1 { + invalidParams.Add(request.NewErrParamMinValue("MinProvisionedTPS", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.SolutionVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("SolutionVersionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMinProvisionedTPS sets the MinProvisionedTPS field's value. +func (s *CreateCampaignInput) SetMinProvisionedTPS(v int64) *CreateCampaignInput { + s.MinProvisionedTPS = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateCampaignInput) SetName(v string) *CreateCampaignInput { + s.Name = &v + return s +} + +// SetSolutionVersionArn sets the SolutionVersionArn field's value. +func (s *CreateCampaignInput) SetSolutionVersionArn(v string) *CreateCampaignInput { + s.SolutionVersionArn = &v + return s +} + +type CreateCampaignOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the campaign. + CampaignArn *string `locationName:"campaignArn" type:"string"` +} + +// String returns the string representation +func (s CreateCampaignOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCampaignOutput) GoString() string { + return s.String() +} + +// SetCampaignArn sets the CampaignArn field's value. +func (s *CreateCampaignOutput) SetCampaignArn(v string) *CreateCampaignOutput { + s.CampaignArn = &v + return s +} + +type CreateDatasetGroupInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of a KMS key used to encrypt the datasets. + KmsKeyArn *string `locationName:"kmsKeyArn" type:"string"` + + // The name for the new dataset group. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The ARN of the IAM role that has permissions to access the KMS key. Supplying + // an IAM role is only valid when also specifying a KMS key. + RoleArn *string `locationName:"roleArn" type:"string"` +} + +// String returns the string representation +func (s CreateDatasetGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDatasetGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDatasetGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDatasetGroupInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *CreateDatasetGroupInput) SetKmsKeyArn(v string) *CreateDatasetGroupInput { + s.KmsKeyArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDatasetGroupInput) SetName(v string) *CreateDatasetGroupInput { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateDatasetGroupInput) SetRoleArn(v string) *CreateDatasetGroupInput { + s.RoleArn = &v + return s +} + +type CreateDatasetGroupOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the new dataset group. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` +} + +// String returns the string representation +func (s CreateDatasetGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDatasetGroupOutput) GoString() string { + return s.String() +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *CreateDatasetGroupOutput) SetDatasetGroupArn(v string) *CreateDatasetGroupOutput { + s.DatasetGroupArn = &v + return s +} + +type CreateDatasetImportJobInput struct { + _ struct{} `type:"structure"` + + // The Amazon S3 bucket that contains the training data to import. + // + // DataSource is a required field + DataSource *DataSource `locationName:"dataSource" type:"structure" required:"true"` + + // The ARN of the dataset that receives the imported data. + // + // DatasetArn is a required field + DatasetArn *string `locationName:"datasetArn" type:"string" required:"true"` + + // The name for the dataset import job. + // + // JobName is a required field + JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"` + + // The ARN of the IAM role that has permissions to read from the Amazon S3 data + // source. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateDatasetImportJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDatasetImportJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDatasetImportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDatasetImportJobInput"} + if s.DataSource == nil { + invalidParams.Add(request.NewErrParamRequired("DataSource")) + } + if s.DatasetArn == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetArn")) + } + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) + } + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataSource sets the DataSource field's value. +func (s *CreateDatasetImportJobInput) SetDataSource(v *DataSource) *CreateDatasetImportJobInput { + s.DataSource = v + return s +} + +// SetDatasetArn sets the DatasetArn field's value. +func (s *CreateDatasetImportJobInput) SetDatasetArn(v string) *CreateDatasetImportJobInput { + s.DatasetArn = &v + return s +} + +// SetJobName sets the JobName field's value. +func (s *CreateDatasetImportJobInput) SetJobName(v string) *CreateDatasetImportJobInput { + s.JobName = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateDatasetImportJobInput) SetRoleArn(v string) *CreateDatasetImportJobInput { + s.RoleArn = &v + return s +} + +type CreateDatasetImportJobOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the dataset import job. + DatasetImportJobArn *string `locationName:"datasetImportJobArn" type:"string"` +} + +// String returns the string representation +func (s CreateDatasetImportJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDatasetImportJobOutput) GoString() string { + return s.String() +} + +// SetDatasetImportJobArn sets the DatasetImportJobArn field's value. +func (s *CreateDatasetImportJobOutput) SetDatasetImportJobArn(v string) *CreateDatasetImportJobOutput { + s.DatasetImportJobArn = &v + return s +} + +type CreateDatasetInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the dataset group to add the dataset to. + // + // DatasetGroupArn is a required field + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"` + + // The type of dataset. + // + // One of the following (case insensitive) values: + // + // * Interactions + // + // * Items + // + // * Users + // + // DatasetType is a required field + DatasetType *string `locationName:"datasetType" type:"string" required:"true"` + + // The name for the dataset. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The ARN of the schema to associate with the dataset. The schema defines the + // dataset fields. + // + // SchemaArn is a required field + SchemaArn *string `locationName:"schemaArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateDatasetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDatasetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDatasetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDatasetInput"} + if s.DatasetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn")) + } + if s.DatasetType == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetType")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.SchemaArn == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *CreateDatasetInput) SetDatasetGroupArn(v string) *CreateDatasetInput { + s.DatasetGroupArn = &v + return s +} + +// SetDatasetType sets the DatasetType field's value. +func (s *CreateDatasetInput) SetDatasetType(v string) *CreateDatasetInput { + s.DatasetType = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDatasetInput) SetName(v string) *CreateDatasetInput { + s.Name = &v + return s +} + +// SetSchemaArn sets the SchemaArn field's value. +func (s *CreateDatasetInput) SetSchemaArn(v string) *CreateDatasetInput { + s.SchemaArn = &v + return s +} + +type CreateDatasetOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the dataset. + DatasetArn *string `locationName:"datasetArn" type:"string"` +} + +// String returns the string representation +func (s CreateDatasetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDatasetOutput) GoString() string { + return s.String() +} + +// SetDatasetArn sets the DatasetArn field's value. +func (s *CreateDatasetOutput) SetDatasetArn(v string) *CreateDatasetOutput { + s.DatasetArn = &v + return s +} + +type CreateEventTrackerInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the dataset group that receives the event + // data. + // + // DatasetGroupArn is a required field + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"` + + // The name for the event tracker. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateEventTrackerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEventTrackerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEventTrackerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEventTrackerInput"} + if s.DatasetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *CreateEventTrackerInput) SetDatasetGroupArn(v string) *CreateEventTrackerInput { + s.DatasetGroupArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateEventTrackerInput) SetName(v string) *CreateEventTrackerInput { + s.Name = &v + return s +} + +type CreateEventTrackerOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the event tracker. + EventTrackerArn *string `locationName:"eventTrackerArn" type:"string"` + + // The ID of the event tracker. Include this ID in requests to the PutEvents + // (https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html) + // API. + TrackingId *string `locationName:"trackingId" type:"string"` +} + +// String returns the string representation +func (s CreateEventTrackerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEventTrackerOutput) GoString() string { + return s.String() +} + +// SetEventTrackerArn sets the EventTrackerArn field's value. +func (s *CreateEventTrackerOutput) SetEventTrackerArn(v string) *CreateEventTrackerOutput { + s.EventTrackerArn = &v + return s +} + +// SetTrackingId sets the TrackingId field's value. +func (s *CreateEventTrackerOutput) SetTrackingId(v string) *CreateEventTrackerOutput { + s.TrackingId = &v + return s +} + +type CreateSchemaInput struct { + _ struct{} `type:"structure"` + + // The name for the schema. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // A schema in Avro JSON format. + // + // Schema is a required field + Schema *string `locationName:"schema" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateSchemaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSchemaInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSchemaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSchemaInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Schema == nil { + invalidParams.Add(request.NewErrParamRequired("Schema")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *CreateSchemaInput) SetName(v string) *CreateSchemaInput { + s.Name = &v + return s +} + +// SetSchema sets the Schema field's value. +func (s *CreateSchemaInput) SetSchema(v string) *CreateSchemaInput { + s.Schema = &v + return s +} + +type CreateSchemaOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the created schema. + SchemaArn *string `locationName:"schemaArn" type:"string"` +} + +// String returns the string representation +func (s CreateSchemaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSchemaOutput) GoString() string { + return s.String() +} + +// SetSchemaArn sets the SchemaArn field's value. +func (s *CreateSchemaOutput) SetSchemaArn(v string) *CreateSchemaOutput { + s.SchemaArn = &v + return s +} + +type CreateSolutionInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the dataset group that provides the training + // data. + // + // DatasetGroupArn is a required field + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"` + + // When your have multiple event types (using an EVENT_TYPE schema field), this + // parameter specifies which event type (for example, 'click' or 'like') is + // used for training the model. + EventType *string `locationName:"eventType" type:"string"` + + // The name for the solution. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // Whether to perform automated machine learning (AutoML). The default is false. + // For this case, you must specify recipeArn. + // + // When set to true, Amazon Personalize analyzes your training data and selects + // the optimal USER_PERSONALIZATION recipe and hyperparameters. In this case, + // you must omit recipeArn. Amazon Personalize determines the optimal recipe + // by running tests with different values for the hyperparameters. AutoML lengthens + // the training process as compared to selecting a specific recipe. + PerformAutoML *bool `locationName:"performAutoML" type:"boolean"` + + // Whether to perform hyperparameter optimization (HPO) on the specified or + // selected recipe. The default is false. + // + // When performing AutoML, this parameter is always true and you should not + // set it to false. + PerformHPO *bool `locationName:"performHPO" type:"boolean"` + + // The ARN of the recipe to use for model training. Only specified when performAutoML + // is false. + RecipeArn *string `locationName:"recipeArn" type:"string"` + + // The configuration to use with the solution. When performAutoML is set to + // true, Amazon Personalize only evaluates the autoMLConfig section of the solution + // configuration. + SolutionConfig *SolutionConfig `locationName:"solutionConfig" type:"structure"` +} + +// String returns the string representation +func (s CreateSolutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSolutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSolutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSolutionInput"} + if s.DatasetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.SolutionConfig != nil { + if err := s.SolutionConfig.Validate(); err != nil { + invalidParams.AddNested("SolutionConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *CreateSolutionInput) SetDatasetGroupArn(v string) *CreateSolutionInput { + s.DatasetGroupArn = &v + return s +} + +// SetEventType sets the EventType field's value. +func (s *CreateSolutionInput) SetEventType(v string) *CreateSolutionInput { + s.EventType = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateSolutionInput) SetName(v string) *CreateSolutionInput { + s.Name = &v + return s +} + +// SetPerformAutoML sets the PerformAutoML field's value. +func (s *CreateSolutionInput) SetPerformAutoML(v bool) *CreateSolutionInput { + s.PerformAutoML = &v + return s +} + +// SetPerformHPO sets the PerformHPO field's value. +func (s *CreateSolutionInput) SetPerformHPO(v bool) *CreateSolutionInput { + s.PerformHPO = &v + return s +} + +// SetRecipeArn sets the RecipeArn field's value. +func (s *CreateSolutionInput) SetRecipeArn(v string) *CreateSolutionInput { + s.RecipeArn = &v + return s +} + +// SetSolutionConfig sets the SolutionConfig field's value. +func (s *CreateSolutionInput) SetSolutionConfig(v *SolutionConfig) *CreateSolutionInput { + s.SolutionConfig = v + return s +} + +type CreateSolutionOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the solution. + SolutionArn *string `locationName:"solutionArn" type:"string"` +} + +// String returns the string representation +func (s CreateSolutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSolutionOutput) GoString() string { + return s.String() +} + +// SetSolutionArn sets the SolutionArn field's value. +func (s *CreateSolutionOutput) SetSolutionArn(v string) *CreateSolutionOutput { + s.SolutionArn = &v + return s +} + +type CreateSolutionVersionInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the solution containing the training configuration + // information. + // + // SolutionArn is a required field + SolutionArn *string `locationName:"solutionArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateSolutionVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSolutionVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSolutionVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSolutionVersionInput"} + if s.SolutionArn == nil { + invalidParams.Add(request.NewErrParamRequired("SolutionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSolutionArn sets the SolutionArn field's value. +func (s *CreateSolutionVersionInput) SetSolutionArn(v string) *CreateSolutionVersionInput { + s.SolutionArn = &v + return s +} + +type CreateSolutionVersionOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the new solution version. + SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"` +} + +// String returns the string representation +func (s CreateSolutionVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSolutionVersionOutput) GoString() string { + return s.String() +} + +// SetSolutionVersionArn sets the SolutionVersionArn field's value. +func (s *CreateSolutionVersionOutput) SetSolutionVersionArn(v string) *CreateSolutionVersionOutput { + s.SolutionVersionArn = &v + return s +} + +// Describes the data source that contains the data to upload to a dataset. +type DataSource struct { + _ struct{} `type:"structure"` + + // The path to the Amazon S3 bucket where the data that you want to upload to + // your dataset is stored. For example: + // + // s3://bucket-name/training-data.csv + DataLocation *string `locationName:"dataLocation" type:"string"` +} + +// String returns the string representation +func (s DataSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSource) GoString() string { + return s.String() +} + +// SetDataLocation sets the DataLocation field's value. +func (s *DataSource) SetDataLocation(v string) *DataSource { + s.DataLocation = &v + return s +} + +// Provides metadata for a dataset. +type Dataset struct { + _ struct{} `type:"structure"` + + // The creation date and time (in Unix time) of the dataset. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the dataset that you want metadata for. + DatasetArn *string `locationName:"datasetArn" type:"string"` + + // The Amazon Resource Name (ARN) of the dataset group. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // One of the following values: + // + // * Interactions + // + // * Items + // + // * Users + DatasetType *string `locationName:"datasetType" type:"string"` + + // A time stamp that shows when the dataset was updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the dataset. + Name *string `locationName:"name" min:"1" type:"string"` + + // The ARN of the associated schema. + SchemaArn *string `locationName:"schemaArn" type:"string"` + + // The status of the dataset. + // + // A dataset can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + // + // * DELETE PENDING > DELETE IN_PROGRESS + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s Dataset) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Dataset) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *Dataset) SetCreationDateTime(v time.Time) *Dataset { + s.CreationDateTime = &v + return s +} + +// SetDatasetArn sets the DatasetArn field's value. +func (s *Dataset) SetDatasetArn(v string) *Dataset { + s.DatasetArn = &v + return s +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *Dataset) SetDatasetGroupArn(v string) *Dataset { + s.DatasetGroupArn = &v + return s +} + +// SetDatasetType sets the DatasetType field's value. +func (s *Dataset) SetDatasetType(v string) *Dataset { + s.DatasetType = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *Dataset) SetLastUpdatedDateTime(v time.Time) *Dataset { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Dataset) SetName(v string) *Dataset { + s.Name = &v + return s +} + +// SetSchemaArn sets the SchemaArn field's value. +func (s *Dataset) SetSchemaArn(v string) *Dataset { + s.SchemaArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Dataset) SetStatus(v string) *Dataset { + s.Status = &v + return s +} + +// A dataset group is a collection of related datasets (Interactions, User, +// and Item). You create a dataset group by calling CreateDatasetGroup. You +// then create a dataset and add it to a dataset group by calling CreateDataset. +// The dataset group is used to create and train a solution by calling CreateSolution. +// A dataset group can contain only one of each type of dataset. +// +// You can specify an AWS Key Management Service (KMS) key to encrypt the datasets +// in the group. +type DatasetGroup struct { + _ struct{} `type:"structure"` + + // The creation date and time (in Unix time) of the dataset group. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the dataset group. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // If creating a dataset group fails, provides the reason why. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The Amazon Resource Name (ARN) of the KMS key used to encrypt the datasets. + KmsKeyArn *string `locationName:"kmsKeyArn" type:"string"` + + // The last update date and time (in Unix time) of the dataset group. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the dataset group. + Name *string `locationName:"name" min:"1" type:"string"` + + // The ARN of the IAM role that has permissions to create the dataset group. + RoleArn *string `locationName:"roleArn" type:"string"` + + // The current status of the dataset group. + // + // A dataset group can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + // + // * DELETE PENDING + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s DatasetGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DatasetGroup) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *DatasetGroup) SetCreationDateTime(v time.Time) *DatasetGroup { + s.CreationDateTime = &v + return s +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *DatasetGroup) SetDatasetGroupArn(v string) *DatasetGroup { + s.DatasetGroupArn = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *DatasetGroup) SetFailureReason(v string) *DatasetGroup { + s.FailureReason = &v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *DatasetGroup) SetKmsKeyArn(v string) *DatasetGroup { + s.KmsKeyArn = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *DatasetGroup) SetLastUpdatedDateTime(v time.Time) *DatasetGroup { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *DatasetGroup) SetName(v string) *DatasetGroup { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DatasetGroup) SetRoleArn(v string) *DatasetGroup { + s.RoleArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DatasetGroup) SetStatus(v string) *DatasetGroup { + s.Status = &v + return s +} + +// Provides a summary of the properties of a dataset group. For a complete listing, +// call the DescribeDatasetGroup API. +type DatasetGroupSummary struct { + _ struct{} `type:"structure"` + + // The date and time (in Unix time) that the dataset group was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the dataset group. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // If creating a dataset group fails, the reason behind the failure. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The date and time (in Unix time) that the dataset group was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the dataset group. + Name *string `locationName:"name" min:"1" type:"string"` + + // The status of the dataset group. + // + // A dataset group can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + // + // * DELETE PENDING + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s DatasetGroupSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DatasetGroupSummary) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *DatasetGroupSummary) SetCreationDateTime(v time.Time) *DatasetGroupSummary { + s.CreationDateTime = &v + return s +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *DatasetGroupSummary) SetDatasetGroupArn(v string) *DatasetGroupSummary { + s.DatasetGroupArn = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *DatasetGroupSummary) SetFailureReason(v string) *DatasetGroupSummary { + s.FailureReason = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *DatasetGroupSummary) SetLastUpdatedDateTime(v time.Time) *DatasetGroupSummary { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *DatasetGroupSummary) SetName(v string) *DatasetGroupSummary { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DatasetGroupSummary) SetStatus(v string) *DatasetGroupSummary { + s.Status = &v + return s +} + +// Describes a job that imports training data from a data source (Amazon S3 +// bucket) to an Amazon Personalize dataset. For more information, see CreateDatasetImportJob. +// +// A dataset import job can be in one of the following states: +// +// * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED +type DatasetImportJob struct { + _ struct{} `type:"structure"` + + // The creation date and time (in Unix time) of the dataset import job. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The Amazon S3 bucket that contains the training data to import. + DataSource *DataSource `locationName:"dataSource" type:"structure"` + + // The Amazon Resource Name (ARN) of the dataset that receives the imported + // data. + DatasetArn *string `locationName:"datasetArn" type:"string"` + + // The ARN of the dataset import job. + DatasetImportJobArn *string `locationName:"datasetImportJobArn" type:"string"` + + // If a dataset import job fails, provides the reason why. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The name of the import job. + JobName *string `locationName:"jobName" min:"1" type:"string"` + + // The date and time (in Unix time) the dataset was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The ARN of the AWS Identity and Access Management (IAM) role that has permissions + // to read from the Amazon S3 data source. + RoleArn *string `locationName:"roleArn" type:"string"` + + // The status of the dataset import job. + // + // A dataset import job can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s DatasetImportJob) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DatasetImportJob) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *DatasetImportJob) SetCreationDateTime(v time.Time) *DatasetImportJob { + s.CreationDateTime = &v + return s +} + +// SetDataSource sets the DataSource field's value. +func (s *DatasetImportJob) SetDataSource(v *DataSource) *DatasetImportJob { + s.DataSource = v + return s +} + +// SetDatasetArn sets the DatasetArn field's value. +func (s *DatasetImportJob) SetDatasetArn(v string) *DatasetImportJob { + s.DatasetArn = &v + return s +} + +// SetDatasetImportJobArn sets the DatasetImportJobArn field's value. +func (s *DatasetImportJob) SetDatasetImportJobArn(v string) *DatasetImportJob { + s.DatasetImportJobArn = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *DatasetImportJob) SetFailureReason(v string) *DatasetImportJob { + s.FailureReason = &v + return s +} + +// SetJobName sets the JobName field's value. +func (s *DatasetImportJob) SetJobName(v string) *DatasetImportJob { + s.JobName = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *DatasetImportJob) SetLastUpdatedDateTime(v time.Time) *DatasetImportJob { + s.LastUpdatedDateTime = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DatasetImportJob) SetRoleArn(v string) *DatasetImportJob { + s.RoleArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DatasetImportJob) SetStatus(v string) *DatasetImportJob { + s.Status = &v + return s +} + +// Provides a summary of the properties of a dataset import job. For a complete +// listing, call the DescribeDatasetImportJob API. +type DatasetImportJobSummary struct { + _ struct{} `type:"structure"` + + // The date and time (in Unix time) that the dataset import job was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the dataset import job. + DatasetImportJobArn *string `locationName:"datasetImportJobArn" type:"string"` + + // If a dataset import job fails, the reason behind the failure. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The name of the dataset import job. + JobName *string `locationName:"jobName" min:"1" type:"string"` + + // The date and time (in Unix time) that the dataset was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The status of the dataset import job. + // + // A dataset import job can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s DatasetImportJobSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DatasetImportJobSummary) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *DatasetImportJobSummary) SetCreationDateTime(v time.Time) *DatasetImportJobSummary { + s.CreationDateTime = &v + return s +} + +// SetDatasetImportJobArn sets the DatasetImportJobArn field's value. +func (s *DatasetImportJobSummary) SetDatasetImportJobArn(v string) *DatasetImportJobSummary { + s.DatasetImportJobArn = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *DatasetImportJobSummary) SetFailureReason(v string) *DatasetImportJobSummary { + s.FailureReason = &v + return s +} + +// SetJobName sets the JobName field's value. +func (s *DatasetImportJobSummary) SetJobName(v string) *DatasetImportJobSummary { + s.JobName = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *DatasetImportJobSummary) SetLastUpdatedDateTime(v time.Time) *DatasetImportJobSummary { + s.LastUpdatedDateTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DatasetImportJobSummary) SetStatus(v string) *DatasetImportJobSummary { + s.Status = &v + return s +} + +// Describes the schema for a dataset. For more information on schemas, see +// CreateSchema. +type DatasetSchema struct { + _ struct{} `type:"structure"` + + // The date and time (in Unix time) that the schema was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The date and time (in Unix time) that the schema was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the schema. + Name *string `locationName:"name" min:"1" type:"string"` + + // The schema. + Schema *string `locationName:"schema" type:"string"` + + // The Amazon Resource Name (ARN) of the schema. + SchemaArn *string `locationName:"schemaArn" type:"string"` +} + +// String returns the string representation +func (s DatasetSchema) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DatasetSchema) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *DatasetSchema) SetCreationDateTime(v time.Time) *DatasetSchema { + s.CreationDateTime = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *DatasetSchema) SetLastUpdatedDateTime(v time.Time) *DatasetSchema { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *DatasetSchema) SetName(v string) *DatasetSchema { + s.Name = &v + return s +} + +// SetSchema sets the Schema field's value. +func (s *DatasetSchema) SetSchema(v string) *DatasetSchema { + s.Schema = &v + return s +} + +// SetSchemaArn sets the SchemaArn field's value. +func (s *DatasetSchema) SetSchemaArn(v string) *DatasetSchema { + s.SchemaArn = &v + return s +} + +// Provides a summary of the properties of a dataset schema. For a complete +// listing, call the DescribeSchema API. +type DatasetSchemaSummary struct { + _ struct{} `type:"structure"` + + // The date and time (in Unix time) that the schema was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The date and time (in Unix time) that the schema was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the schema. + Name *string `locationName:"name" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the schema. + SchemaArn *string `locationName:"schemaArn" type:"string"` +} + +// String returns the string representation +func (s DatasetSchemaSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DatasetSchemaSummary) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *DatasetSchemaSummary) SetCreationDateTime(v time.Time) *DatasetSchemaSummary { + s.CreationDateTime = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *DatasetSchemaSummary) SetLastUpdatedDateTime(v time.Time) *DatasetSchemaSummary { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *DatasetSchemaSummary) SetName(v string) *DatasetSchemaSummary { + s.Name = &v + return s +} + +// SetSchemaArn sets the SchemaArn field's value. +func (s *DatasetSchemaSummary) SetSchemaArn(v string) *DatasetSchemaSummary { + s.SchemaArn = &v + return s +} + +// Provides a summary of the properties of a dataset. For a complete listing, +// call the DescribeDataset API. +type DatasetSummary struct { + _ struct{} `type:"structure"` + + // The date and time (in Unix time) that the dataset was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the dataset. + DatasetArn *string `locationName:"datasetArn" type:"string"` + + // The dataset type. One of the following values: + // + // * Interactions + // + // * Items + // + // * Users + // + // * Event-Interactions + DatasetType *string `locationName:"datasetType" type:"string"` + + // The date and time (in Unix time) that the dataset was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the dataset. + Name *string `locationName:"name" min:"1" type:"string"` + + // The status of the dataset. + // + // A dataset can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + // + // * DELETE PENDING > DELETE IN_PROGRESS + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s DatasetSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DatasetSummary) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *DatasetSummary) SetCreationDateTime(v time.Time) *DatasetSummary { + s.CreationDateTime = &v + return s +} + +// SetDatasetArn sets the DatasetArn field's value. +func (s *DatasetSummary) SetDatasetArn(v string) *DatasetSummary { + s.DatasetArn = &v + return s +} + +// SetDatasetType sets the DatasetType field's value. +func (s *DatasetSummary) SetDatasetType(v string) *DatasetSummary { + s.DatasetType = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *DatasetSummary) SetLastUpdatedDateTime(v time.Time) *DatasetSummary { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *DatasetSummary) SetName(v string) *DatasetSummary { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DatasetSummary) SetStatus(v string) *DatasetSummary { + s.Status = &v + return s +} + +// Provides the name and default range of a categorical hyperparameter and whether +// the hyperparameter is tunable. A tunable hyperparameter can have its value +// determined during hyperparameter optimization (HPO). +type DefaultCategoricalHyperParameterRange struct { + _ struct{} `type:"structure"` + + // Whether the hyperparameter is tunable. + IsTunable *bool `locationName:"isTunable" type:"boolean"` + + // The name of the hyperparameter. + Name *string `locationName:"name" type:"string"` + + // A list of the categories for the hyperparameter. + Values []*string `locationName:"values" type:"list"` +} + +// String returns the string representation +func (s DefaultCategoricalHyperParameterRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefaultCategoricalHyperParameterRange) GoString() string { + return s.String() +} + +// SetIsTunable sets the IsTunable field's value. +func (s *DefaultCategoricalHyperParameterRange) SetIsTunable(v bool) *DefaultCategoricalHyperParameterRange { + s.IsTunable = &v + return s +} + +// SetName sets the Name field's value. +func (s *DefaultCategoricalHyperParameterRange) SetName(v string) *DefaultCategoricalHyperParameterRange { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *DefaultCategoricalHyperParameterRange) SetValues(v []*string) *DefaultCategoricalHyperParameterRange { + s.Values = v + return s +} + +// Provides the name and default range of a continuous hyperparameter and whether +// the hyperparameter is tunable. A tunable hyperparameter can have its value +// determined during hyperparameter optimization (HPO). +type DefaultContinuousHyperParameterRange struct { + _ struct{} `type:"structure"` + + // Whether the hyperparameter is tunable. + IsTunable *bool `locationName:"isTunable" type:"boolean"` + + // The maximum allowable value for the hyperparameter. + MaxValue *float64 `locationName:"maxValue" type:"double"` + + // The minimum allowable value for the hyperparameter. + MinValue *float64 `locationName:"minValue" type:"double"` + + // The name of the hyperparameter. + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation +func (s DefaultContinuousHyperParameterRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefaultContinuousHyperParameterRange) GoString() string { + return s.String() +} + +// SetIsTunable sets the IsTunable field's value. +func (s *DefaultContinuousHyperParameterRange) SetIsTunable(v bool) *DefaultContinuousHyperParameterRange { + s.IsTunable = &v + return s +} + +// SetMaxValue sets the MaxValue field's value. +func (s *DefaultContinuousHyperParameterRange) SetMaxValue(v float64) *DefaultContinuousHyperParameterRange { + s.MaxValue = &v + return s +} + +// SetMinValue sets the MinValue field's value. +func (s *DefaultContinuousHyperParameterRange) SetMinValue(v float64) *DefaultContinuousHyperParameterRange { + s.MinValue = &v + return s +} + +// SetName sets the Name field's value. +func (s *DefaultContinuousHyperParameterRange) SetName(v string) *DefaultContinuousHyperParameterRange { + s.Name = &v + return s +} + +// Specifies the hyperparameters and their default ranges. Hyperparameters can +// be categorical, continuous, or integer-valued. +type DefaultHyperParameterRanges struct { + _ struct{} `type:"structure"` + + // The categorical hyperparameters and their default ranges. + CategoricalHyperParameterRanges []*DefaultCategoricalHyperParameterRange `locationName:"categoricalHyperParameterRanges" type:"list"` + + // The continuous hyperparameters and their default ranges. + ContinuousHyperParameterRanges []*DefaultContinuousHyperParameterRange `locationName:"continuousHyperParameterRanges" type:"list"` + + // The integer-valued hyperparameters and their default ranges. + IntegerHyperParameterRanges []*DefaultIntegerHyperParameterRange `locationName:"integerHyperParameterRanges" type:"list"` +} + +// String returns the string representation +func (s DefaultHyperParameterRanges) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefaultHyperParameterRanges) GoString() string { + return s.String() +} + +// SetCategoricalHyperParameterRanges sets the CategoricalHyperParameterRanges field's value. +func (s *DefaultHyperParameterRanges) SetCategoricalHyperParameterRanges(v []*DefaultCategoricalHyperParameterRange) *DefaultHyperParameterRanges { + s.CategoricalHyperParameterRanges = v + return s +} + +// SetContinuousHyperParameterRanges sets the ContinuousHyperParameterRanges field's value. +func (s *DefaultHyperParameterRanges) SetContinuousHyperParameterRanges(v []*DefaultContinuousHyperParameterRange) *DefaultHyperParameterRanges { + s.ContinuousHyperParameterRanges = v + return s +} + +// SetIntegerHyperParameterRanges sets the IntegerHyperParameterRanges field's value. +func (s *DefaultHyperParameterRanges) SetIntegerHyperParameterRanges(v []*DefaultIntegerHyperParameterRange) *DefaultHyperParameterRanges { + s.IntegerHyperParameterRanges = v + return s +} + +// Provides the name and default range of a integer-valued hyperparameter and +// whether the hyperparameter is tunable. A tunable hyperparameter can have +// its value determined during hyperparameter optimization (HPO). +type DefaultIntegerHyperParameterRange struct { + _ struct{} `type:"structure"` + + // Indicates whether the hyperparameter is tunable. + IsTunable *bool `locationName:"isTunable" type:"boolean"` + + // The maximum allowable value for the hyperparameter. + MaxValue *int64 `locationName:"maxValue" type:"integer"` + + // The minimum allowable value for the hyperparameter. + MinValue *int64 `locationName:"minValue" type:"integer"` + + // The name of the hyperparameter. + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation +func (s DefaultIntegerHyperParameterRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefaultIntegerHyperParameterRange) GoString() string { + return s.String() +} + +// SetIsTunable sets the IsTunable field's value. +func (s *DefaultIntegerHyperParameterRange) SetIsTunable(v bool) *DefaultIntegerHyperParameterRange { + s.IsTunable = &v + return s +} + +// SetMaxValue sets the MaxValue field's value. +func (s *DefaultIntegerHyperParameterRange) SetMaxValue(v int64) *DefaultIntegerHyperParameterRange { + s.MaxValue = &v + return s +} + +// SetMinValue sets the MinValue field's value. +func (s *DefaultIntegerHyperParameterRange) SetMinValue(v int64) *DefaultIntegerHyperParameterRange { + s.MinValue = &v + return s +} + +// SetName sets the Name field's value. +func (s *DefaultIntegerHyperParameterRange) SetName(v string) *DefaultIntegerHyperParameterRange { + s.Name = &v + return s +} + +type DeleteCampaignInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the campaign to delete. + // + // CampaignArn is a required field + CampaignArn *string `locationName:"campaignArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteCampaignInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCampaignInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCampaignInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCampaignInput"} + if s.CampaignArn == nil { + invalidParams.Add(request.NewErrParamRequired("CampaignArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCampaignArn sets the CampaignArn field's value. +func (s *DeleteCampaignInput) SetCampaignArn(v string) *DeleteCampaignInput { + s.CampaignArn = &v + return s +} + +type DeleteCampaignOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteCampaignOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCampaignOutput) GoString() string { + return s.String() +} + +type DeleteDatasetGroupInput struct { + _ struct{} `type:"structure"` + + // The ARN of the dataset group to delete. + // + // DatasetGroupArn is a required field + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDatasetGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDatasetGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDatasetGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetGroupInput"} + if s.DatasetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *DeleteDatasetGroupInput) SetDatasetGroupArn(v string) *DeleteDatasetGroupInput { + s.DatasetGroupArn = &v + return s +} + +type DeleteDatasetGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDatasetGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDatasetGroupOutput) GoString() string { + return s.String() +} + +type DeleteDatasetInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the dataset to delete. + // + // DatasetArn is a required field + DatasetArn *string `locationName:"datasetArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDatasetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDatasetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDatasetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetInput"} + if s.DatasetArn == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetArn sets the DatasetArn field's value. +func (s *DeleteDatasetInput) SetDatasetArn(v string) *DeleteDatasetInput { + s.DatasetArn = &v + return s +} + +type DeleteDatasetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDatasetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDatasetOutput) GoString() string { + return s.String() +} + +type DeleteEventTrackerInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the event tracker to delete. + // + // EventTrackerArn is a required field + EventTrackerArn *string `locationName:"eventTrackerArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteEventTrackerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEventTrackerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEventTrackerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEventTrackerInput"} + if s.EventTrackerArn == nil { + invalidParams.Add(request.NewErrParamRequired("EventTrackerArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEventTrackerArn sets the EventTrackerArn field's value. +func (s *DeleteEventTrackerInput) SetEventTrackerArn(v string) *DeleteEventTrackerInput { + s.EventTrackerArn = &v + return s +} + +type DeleteEventTrackerOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteEventTrackerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEventTrackerOutput) GoString() string { + return s.String() +} + +type DeleteSchemaInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the schema to delete. + // + // SchemaArn is a required field + SchemaArn *string `locationName:"schemaArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteSchemaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSchemaInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSchemaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSchemaInput"} + if s.SchemaArn == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSchemaArn sets the SchemaArn field's value. +func (s *DeleteSchemaInput) SetSchemaArn(v string) *DeleteSchemaInput { + s.SchemaArn = &v + return s +} + +type DeleteSchemaOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteSchemaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSchemaOutput) GoString() string { + return s.String() +} + +type DeleteSolutionInput struct { + _ struct{} `type:"structure"` + + // The ARN of the solution to delete. + // + // SolutionArn is a required field + SolutionArn *string `locationName:"solutionArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteSolutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSolutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSolutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSolutionInput"} + if s.SolutionArn == nil { + invalidParams.Add(request.NewErrParamRequired("SolutionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSolutionArn sets the SolutionArn field's value. +func (s *DeleteSolutionInput) SetSolutionArn(v string) *DeleteSolutionInput { + s.SolutionArn = &v + return s +} + +type DeleteSolutionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteSolutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSolutionOutput) GoString() string { + return s.String() +} + +type DescribeAlgorithmInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the algorithm to describe. + // + // AlgorithmArn is a required field + AlgorithmArn *string `locationName:"algorithmArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeAlgorithmInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAlgorithmInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAlgorithmInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAlgorithmInput"} + if s.AlgorithmArn == nil { + invalidParams.Add(request.NewErrParamRequired("AlgorithmArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlgorithmArn sets the AlgorithmArn field's value. +func (s *DescribeAlgorithmInput) SetAlgorithmArn(v string) *DescribeAlgorithmInput { + s.AlgorithmArn = &v + return s +} + +type DescribeAlgorithmOutput struct { + _ struct{} `type:"structure"` + + // A listing of the properties of the algorithm. + Algorithm *Algorithm `locationName:"algorithm" type:"structure"` +} + +// String returns the string representation +func (s DescribeAlgorithmOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAlgorithmOutput) GoString() string { + return s.String() +} + +// SetAlgorithm sets the Algorithm field's value. +func (s *DescribeAlgorithmOutput) SetAlgorithm(v *Algorithm) *DescribeAlgorithmOutput { + s.Algorithm = v + return s +} + +type DescribeCampaignInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the campaign. + // + // CampaignArn is a required field + CampaignArn *string `locationName:"campaignArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeCampaignInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCampaignInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCampaignInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCampaignInput"} + if s.CampaignArn == nil { + invalidParams.Add(request.NewErrParamRequired("CampaignArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCampaignArn sets the CampaignArn field's value. +func (s *DescribeCampaignInput) SetCampaignArn(v string) *DescribeCampaignInput { + s.CampaignArn = &v + return s +} + +type DescribeCampaignOutput struct { + _ struct{} `type:"structure"` + + // The properties of the campaign. + Campaign *Campaign `locationName:"campaign" type:"structure"` +} + +// String returns the string representation +func (s DescribeCampaignOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCampaignOutput) GoString() string { + return s.String() +} + +// SetCampaign sets the Campaign field's value. +func (s *DescribeCampaignOutput) SetCampaign(v *Campaign) *DescribeCampaignOutput { + s.Campaign = v + return s +} + +type DescribeDatasetGroupInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the dataset group to describe. + // + // DatasetGroupArn is a required field + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDatasetGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDatasetGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDatasetGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetGroupInput"} + if s.DatasetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *DescribeDatasetGroupInput) SetDatasetGroupArn(v string) *DescribeDatasetGroupInput { + s.DatasetGroupArn = &v + return s +} + +type DescribeDatasetGroupOutput struct { + _ struct{} `type:"structure"` + + // A listing of the dataset group's properties. + DatasetGroup *DatasetGroup `locationName:"datasetGroup" type:"structure"` +} + +// String returns the string representation +func (s DescribeDatasetGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDatasetGroupOutput) GoString() string { + return s.String() +} + +// SetDatasetGroup sets the DatasetGroup field's value. +func (s *DescribeDatasetGroupOutput) SetDatasetGroup(v *DatasetGroup) *DescribeDatasetGroupOutput { + s.DatasetGroup = v + return s +} + +type DescribeDatasetImportJobInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the dataset import job to describe. + // + // DatasetImportJobArn is a required field + DatasetImportJobArn *string `locationName:"datasetImportJobArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDatasetImportJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDatasetImportJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDatasetImportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetImportJobInput"} + if s.DatasetImportJobArn == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetImportJobArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetImportJobArn sets the DatasetImportJobArn field's value. +func (s *DescribeDatasetImportJobInput) SetDatasetImportJobArn(v string) *DescribeDatasetImportJobInput { + s.DatasetImportJobArn = &v + return s +} + +type DescribeDatasetImportJobOutput struct { + _ struct{} `type:"structure"` + + // Information about the dataset import job, including the status. + // + // The status is one of the following values: + // + // * CREATE PENDING + // + // * CREATE IN_PROGRESS + // + // * ACTIVE + // + // * CREATE FAILED + DatasetImportJob *DatasetImportJob `locationName:"datasetImportJob" type:"structure"` +} + +// String returns the string representation +func (s DescribeDatasetImportJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDatasetImportJobOutput) GoString() string { + return s.String() +} + +// SetDatasetImportJob sets the DatasetImportJob field's value. +func (s *DescribeDatasetImportJobOutput) SetDatasetImportJob(v *DatasetImportJob) *DescribeDatasetImportJobOutput { + s.DatasetImportJob = v + return s +} + +type DescribeDatasetInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the dataset to describe. + // + // DatasetArn is a required field + DatasetArn *string `locationName:"datasetArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDatasetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDatasetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDatasetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetInput"} + if s.DatasetArn == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetArn sets the DatasetArn field's value. +func (s *DescribeDatasetInput) SetDatasetArn(v string) *DescribeDatasetInput { + s.DatasetArn = &v + return s +} + +type DescribeDatasetOutput struct { + _ struct{} `type:"structure"` + + // A listing of the dataset's properties. + Dataset *Dataset `locationName:"dataset" type:"structure"` +} + +// String returns the string representation +func (s DescribeDatasetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDatasetOutput) GoString() string { + return s.String() +} + +// SetDataset sets the Dataset field's value. +func (s *DescribeDatasetOutput) SetDataset(v *Dataset) *DescribeDatasetOutput { + s.Dataset = v + return s +} + +type DescribeEventTrackerInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the event tracker to describe. + // + // EventTrackerArn is a required field + EventTrackerArn *string `locationName:"eventTrackerArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeEventTrackerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEventTrackerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeEventTrackerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEventTrackerInput"} + if s.EventTrackerArn == nil { + invalidParams.Add(request.NewErrParamRequired("EventTrackerArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEventTrackerArn sets the EventTrackerArn field's value. +func (s *DescribeEventTrackerInput) SetEventTrackerArn(v string) *DescribeEventTrackerInput { + s.EventTrackerArn = &v + return s +} + +type DescribeEventTrackerOutput struct { + _ struct{} `type:"structure"` + + // An object that describes the event tracker. + EventTracker *EventTracker `locationName:"eventTracker" type:"structure"` +} + +// String returns the string representation +func (s DescribeEventTrackerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEventTrackerOutput) GoString() string { + return s.String() +} + +// SetEventTracker sets the EventTracker field's value. +func (s *DescribeEventTrackerOutput) SetEventTracker(v *EventTracker) *DescribeEventTrackerOutput { + s.EventTracker = v + return s +} + +type DescribeFeatureTransformationInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the feature transformation to describe. + // + // FeatureTransformationArn is a required field + FeatureTransformationArn *string `locationName:"featureTransformationArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeFeatureTransformationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFeatureTransformationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeFeatureTransformationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFeatureTransformationInput"} + if s.FeatureTransformationArn == nil { + invalidParams.Add(request.NewErrParamRequired("FeatureTransformationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFeatureTransformationArn sets the FeatureTransformationArn field's value. +func (s *DescribeFeatureTransformationInput) SetFeatureTransformationArn(v string) *DescribeFeatureTransformationInput { + s.FeatureTransformationArn = &v + return s +} + +type DescribeFeatureTransformationOutput struct { + _ struct{} `type:"structure"` + + // A listing of the FeatureTransformation properties. + FeatureTransformation *FeatureTransformation `locationName:"featureTransformation" type:"structure"` +} + +// String returns the string representation +func (s DescribeFeatureTransformationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFeatureTransformationOutput) GoString() string { + return s.String() +} + +// SetFeatureTransformation sets the FeatureTransformation field's value. +func (s *DescribeFeatureTransformationOutput) SetFeatureTransformation(v *FeatureTransformation) *DescribeFeatureTransformationOutput { + s.FeatureTransformation = v + return s +} + +type DescribeRecipeInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the recipe to describe. + // + // RecipeArn is a required field + RecipeArn *string `locationName:"recipeArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeRecipeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeRecipeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeRecipeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeRecipeInput"} + if s.RecipeArn == nil { + invalidParams.Add(request.NewErrParamRequired("RecipeArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecipeArn sets the RecipeArn field's value. +func (s *DescribeRecipeInput) SetRecipeArn(v string) *DescribeRecipeInput { + s.RecipeArn = &v + return s +} + +type DescribeRecipeOutput struct { + _ struct{} `type:"structure"` + + // An object that describes the recipe. + Recipe *Recipe `locationName:"recipe" type:"structure"` +} + +// String returns the string representation +func (s DescribeRecipeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeRecipeOutput) GoString() string { + return s.String() +} + +// SetRecipe sets the Recipe field's value. +func (s *DescribeRecipeOutput) SetRecipe(v *Recipe) *DescribeRecipeOutput { + s.Recipe = v + return s +} + +type DescribeSchemaInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the schema to retrieve. + // + // SchemaArn is a required field + SchemaArn *string `locationName:"schemaArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeSchemaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSchemaInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSchemaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSchemaInput"} + if s.SchemaArn == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSchemaArn sets the SchemaArn field's value. +func (s *DescribeSchemaInput) SetSchemaArn(v string) *DescribeSchemaInput { + s.SchemaArn = &v + return s +} + +type DescribeSchemaOutput struct { + _ struct{} `type:"structure"` + + // The requested schema. + Schema *DatasetSchema `locationName:"schema" type:"structure"` +} + +// String returns the string representation +func (s DescribeSchemaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSchemaOutput) GoString() string { + return s.String() +} + +// SetSchema sets the Schema field's value. +func (s *DescribeSchemaOutput) SetSchema(v *DatasetSchema) *DescribeSchemaOutput { + s.Schema = v + return s +} + +type DescribeSolutionInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the solution to describe. + // + // SolutionArn is a required field + SolutionArn *string `locationName:"solutionArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeSolutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSolutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSolutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSolutionInput"} + if s.SolutionArn == nil { + invalidParams.Add(request.NewErrParamRequired("SolutionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSolutionArn sets the SolutionArn field's value. +func (s *DescribeSolutionInput) SetSolutionArn(v string) *DescribeSolutionInput { + s.SolutionArn = &v + return s +} + +type DescribeSolutionOutput struct { + _ struct{} `type:"structure"` + + // An object that describes the solution. + Solution *Solution `locationName:"solution" type:"structure"` +} + +// String returns the string representation +func (s DescribeSolutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSolutionOutput) GoString() string { + return s.String() +} + +// SetSolution sets the Solution field's value. +func (s *DescribeSolutionOutput) SetSolution(v *Solution) *DescribeSolutionOutput { + s.Solution = v + return s +} + +type DescribeSolutionVersionInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the solution version. + // + // SolutionVersionArn is a required field + SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeSolutionVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSolutionVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSolutionVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSolutionVersionInput"} + if s.SolutionVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("SolutionVersionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSolutionVersionArn sets the SolutionVersionArn field's value. +func (s *DescribeSolutionVersionInput) SetSolutionVersionArn(v string) *DescribeSolutionVersionInput { + s.SolutionVersionArn = &v + return s +} + +type DescribeSolutionVersionOutput struct { + _ struct{} `type:"structure"` + + // The solution version. + SolutionVersion *SolutionVersion `locationName:"solutionVersion" type:"structure"` +} + +// String returns the string representation +func (s DescribeSolutionVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSolutionVersionOutput) GoString() string { + return s.String() +} + +// SetSolutionVersion sets the SolutionVersion field's value. +func (s *DescribeSolutionVersionOutput) SetSolutionVersion(v *SolutionVersion) *DescribeSolutionVersionOutput { + s.SolutionVersion = v + return s +} + +// Provides information about an event tracker. +type EventTracker struct { + _ struct{} `type:"structure"` + + // The Amazon AWS account that owns the event tracker. + AccountId *string `locationName:"accountId" type:"string"` + + // The date and time (in Unix format) that the event tracker was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the dataset group that receives the event + // data. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // The ARN of the event tracker. + EventTrackerArn *string `locationName:"eventTrackerArn" type:"string"` + + // The date and time (in Unix time) that the event tracker was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the event tracker. + Name *string `locationName:"name" min:"1" type:"string"` + + // The status of the event tracker. + // + // An event tracker can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + // + // * DELETE PENDING > DELETE IN_PROGRESS + Status *string `locationName:"status" type:"string"` + + // The ID of the event tracker. Include this ID in requests to the PutEvents + // (https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html) + // API. + TrackingId *string `locationName:"trackingId" type:"string"` +} + +// String returns the string representation +func (s EventTracker) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EventTracker) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *EventTracker) SetAccountId(v string) *EventTracker { + s.AccountId = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *EventTracker) SetCreationDateTime(v time.Time) *EventTracker { + s.CreationDateTime = &v + return s +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *EventTracker) SetDatasetGroupArn(v string) *EventTracker { + s.DatasetGroupArn = &v + return s +} + +// SetEventTrackerArn sets the EventTrackerArn field's value. +func (s *EventTracker) SetEventTrackerArn(v string) *EventTracker { + s.EventTrackerArn = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *EventTracker) SetLastUpdatedDateTime(v time.Time) *EventTracker { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *EventTracker) SetName(v string) *EventTracker { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *EventTracker) SetStatus(v string) *EventTracker { + s.Status = &v + return s +} + +// SetTrackingId sets the TrackingId field's value. +func (s *EventTracker) SetTrackingId(v string) *EventTracker { + s.TrackingId = &v + return s +} + +// Provides a summary of the properties of an event tracker. For a complete +// listing, call the DescribeEventTracker API. +type EventTrackerSummary struct { + _ struct{} `type:"structure"` + + // The date and time (in Unix time) that the event tracker was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the event tracker. + EventTrackerArn *string `locationName:"eventTrackerArn" type:"string"` + + // The date and time (in Unix time) that the event tracker was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the event tracker. + Name *string `locationName:"name" min:"1" type:"string"` + + // The status of the event tracker. + // + // An event tracker can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + // + // * DELETE PENDING > DELETE IN_PROGRESS + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s EventTrackerSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EventTrackerSummary) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *EventTrackerSummary) SetCreationDateTime(v time.Time) *EventTrackerSummary { + s.CreationDateTime = &v + return s +} + +// SetEventTrackerArn sets the EventTrackerArn field's value. +func (s *EventTrackerSummary) SetEventTrackerArn(v string) *EventTrackerSummary { + s.EventTrackerArn = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *EventTrackerSummary) SetLastUpdatedDateTime(v time.Time) *EventTrackerSummary { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *EventTrackerSummary) SetName(v string) *EventTrackerSummary { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *EventTrackerSummary) SetStatus(v string) *EventTrackerSummary { + s.Status = &v + return s +} + +// Provides feature transformation information. Feature transformation is the +// process of modifying raw input data into a form more suitable for model training. +type FeatureTransformation struct { + _ struct{} `type:"structure"` + + // The creation date and time (in Unix time) of the feature transformation. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // Provides the default parameters for feature transformation. + DefaultParameters map[string]*string `locationName:"defaultParameters" type:"map"` + + // The Amazon Resource Name (ARN) of the FeatureTransformation object. + FeatureTransformationArn *string `locationName:"featureTransformationArn" type:"string"` + + // The last update date and time (in Unix time) of the feature transformation. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the feature transformation. + Name *string `locationName:"name" min:"1" type:"string"` + + // The status of the feature transformation. + // + // A feature transformation can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s FeatureTransformation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FeatureTransformation) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *FeatureTransformation) SetCreationDateTime(v time.Time) *FeatureTransformation { + s.CreationDateTime = &v + return s +} + +// SetDefaultParameters sets the DefaultParameters field's value. +func (s *FeatureTransformation) SetDefaultParameters(v map[string]*string) *FeatureTransformation { + s.DefaultParameters = v + return s +} + +// SetFeatureTransformationArn sets the FeatureTransformationArn field's value. +func (s *FeatureTransformation) SetFeatureTransformationArn(v string) *FeatureTransformation { + s.FeatureTransformationArn = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *FeatureTransformation) SetLastUpdatedDateTime(v time.Time) *FeatureTransformation { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *FeatureTransformation) SetName(v string) *FeatureTransformation { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *FeatureTransformation) SetStatus(v string) *FeatureTransformation { + s.Status = &v + return s +} + +type GetSolutionMetricsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the solution version for which to get metrics. + // + // SolutionVersionArn is a required field + SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetSolutionMetricsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSolutionMetricsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSolutionMetricsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSolutionMetricsInput"} + if s.SolutionVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("SolutionVersionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSolutionVersionArn sets the SolutionVersionArn field's value. +func (s *GetSolutionMetricsInput) SetSolutionVersionArn(v string) *GetSolutionMetricsInput { + s.SolutionVersionArn = &v + return s +} + +type GetSolutionMetricsOutput struct { + _ struct{} `type:"structure"` + + // The metrics for the solution version. + Metrics map[string]*float64 `locationName:"metrics" type:"map"` + + // The same solution version ARN as specified in the request. + SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"` +} + +// String returns the string representation +func (s GetSolutionMetricsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSolutionMetricsOutput) GoString() string { + return s.String() +} + +// SetMetrics sets the Metrics field's value. +func (s *GetSolutionMetricsOutput) SetMetrics(v map[string]*float64) *GetSolutionMetricsOutput { + s.Metrics = v + return s +} + +// SetSolutionVersionArn sets the SolutionVersionArn field's value. +func (s *GetSolutionMetricsOutput) SetSolutionVersionArn(v string) *GetSolutionMetricsOutput { + s.SolutionVersionArn = &v + return s +} + +// Describes the properties for hyperparameter optimization (HPO). For use with +// the bring-your-own-recipe feature. Do not use for Amazon Personalize native +// recipes. +type HPOConfig struct { + _ struct{} `type:"structure"` + + // The hyperparameters and their allowable ranges. + AlgorithmHyperParameterRanges *HyperParameterRanges `locationName:"algorithmHyperParameterRanges" type:"structure"` + + // The metric to optimize during HPO. + HpoObjective *HPOObjective `locationName:"hpoObjective" type:"structure"` + + // Describes the resource configuration for HPO. + HpoResourceConfig *HPOResourceConfig `locationName:"hpoResourceConfig" type:"structure"` +} + +// String returns the string representation +func (s HPOConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HPOConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HPOConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HPOConfig"} + if s.AlgorithmHyperParameterRanges != nil { + if err := s.AlgorithmHyperParameterRanges.Validate(); err != nil { + invalidParams.AddNested("AlgorithmHyperParameterRanges", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlgorithmHyperParameterRanges sets the AlgorithmHyperParameterRanges field's value. +func (s *HPOConfig) SetAlgorithmHyperParameterRanges(v *HyperParameterRanges) *HPOConfig { + s.AlgorithmHyperParameterRanges = v + return s +} + +// SetHpoObjective sets the HpoObjective field's value. +func (s *HPOConfig) SetHpoObjective(v *HPOObjective) *HPOConfig { + s.HpoObjective = v + return s +} + +// SetHpoResourceConfig sets the HpoResourceConfig field's value. +func (s *HPOConfig) SetHpoResourceConfig(v *HPOResourceConfig) *HPOConfig { + s.HpoResourceConfig = v + return s +} + +// The metric to optimize during hyperparameter optimization (HPO). +type HPOObjective struct { + _ struct{} `type:"structure"` + + // The name of the metric. + MetricName *string `locationName:"metricName" type:"string"` + + // A regular expression for finding the metric in the training job logs. + MetricRegex *string `locationName:"metricRegex" type:"string"` + + // The data type of the metric. + Type *string `locationName:"type" type:"string"` +} + +// String returns the string representation +func (s HPOObjective) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HPOObjective) GoString() string { + return s.String() +} + +// SetMetricName sets the MetricName field's value. +func (s *HPOObjective) SetMetricName(v string) *HPOObjective { + s.MetricName = &v + return s +} + +// SetMetricRegex sets the MetricRegex field's value. +func (s *HPOObjective) SetMetricRegex(v string) *HPOObjective { + s.MetricRegex = &v + return s +} + +// SetType sets the Type field's value. +func (s *HPOObjective) SetType(v string) *HPOObjective { + s.Type = &v + return s +} + +// Describes the resource configuration for hyperparameter optimization (HPO). +type HPOResourceConfig struct { + _ struct{} `type:"structure"` + + // The maximum number of training jobs. + MaxNumberOfTrainingJobs *string `locationName:"maxNumberOfTrainingJobs" type:"string"` + + // The maximum number of parallel training jobs. + MaxParallelTrainingJobs *string `locationName:"maxParallelTrainingJobs" type:"string"` +} + +// String returns the string representation +func (s HPOResourceConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HPOResourceConfig) GoString() string { + return s.String() +} + +// SetMaxNumberOfTrainingJobs sets the MaxNumberOfTrainingJobs field's value. +func (s *HPOResourceConfig) SetMaxNumberOfTrainingJobs(v string) *HPOResourceConfig { + s.MaxNumberOfTrainingJobs = &v + return s +} + +// SetMaxParallelTrainingJobs sets the MaxParallelTrainingJobs field's value. +func (s *HPOResourceConfig) SetMaxParallelTrainingJobs(v string) *HPOResourceConfig { + s.MaxParallelTrainingJobs = &v + return s +} + +// Specifies the hyperparameters and their ranges. Hyperparameters can be categorical, +// continuous, or integer-valued. +type HyperParameterRanges struct { + _ struct{} `type:"structure"` + + // The categorical hyperparameters and their ranges. + CategoricalHyperParameterRanges []*CategoricalHyperParameterRange `locationName:"categoricalHyperParameterRanges" type:"list"` + + // The continuous hyperparameters and their ranges. + ContinuousHyperParameterRanges []*ContinuousHyperParameterRange `locationName:"continuousHyperParameterRanges" type:"list"` + + // The integer-valued hyperparameters and their ranges. + IntegerHyperParameterRanges []*IntegerHyperParameterRange `locationName:"integerHyperParameterRanges" type:"list"` +} + +// String returns the string representation +func (s HyperParameterRanges) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HyperParameterRanges) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HyperParameterRanges) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HyperParameterRanges"} + if s.ContinuousHyperParameterRanges != nil { + for i, v := range s.ContinuousHyperParameterRanges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContinuousHyperParameterRanges", i), err.(request.ErrInvalidParams)) + } + } + } + if s.IntegerHyperParameterRanges != nil { + for i, v := range s.IntegerHyperParameterRanges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "IntegerHyperParameterRanges", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCategoricalHyperParameterRanges sets the CategoricalHyperParameterRanges field's value. +func (s *HyperParameterRanges) SetCategoricalHyperParameterRanges(v []*CategoricalHyperParameterRange) *HyperParameterRanges { + s.CategoricalHyperParameterRanges = v + return s +} + +// SetContinuousHyperParameterRanges sets the ContinuousHyperParameterRanges field's value. +func (s *HyperParameterRanges) SetContinuousHyperParameterRanges(v []*ContinuousHyperParameterRange) *HyperParameterRanges { + s.ContinuousHyperParameterRanges = v + return s +} + +// SetIntegerHyperParameterRanges sets the IntegerHyperParameterRanges field's value. +func (s *HyperParameterRanges) SetIntegerHyperParameterRanges(v []*IntegerHyperParameterRange) *HyperParameterRanges { + s.IntegerHyperParameterRanges = v + return s +} + +// Provides the name and range of an integer-valued hyperparameter. +type IntegerHyperParameterRange struct { + _ struct{} `type:"structure"` + + // The maximum allowable value for the hyperparameter. + MaxValue *int64 `locationName:"maxValue" type:"integer"` + + // The minimum allowable value for the hyperparameter. + MinValue *int64 `locationName:"minValue" type:"integer"` + + // The name of the hyperparameter. + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation +func (s IntegerHyperParameterRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IntegerHyperParameterRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IntegerHyperParameterRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IntegerHyperParameterRange"} + if s.MinValue != nil && *s.MinValue < -1e+06 { + invalidParams.Add(request.NewErrParamMinValue("MinValue", -1e+06)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxValue sets the MaxValue field's value. +func (s *IntegerHyperParameterRange) SetMaxValue(v int64) *IntegerHyperParameterRange { + s.MaxValue = &v + return s +} + +// SetMinValue sets the MinValue field's value. +func (s *IntegerHyperParameterRange) SetMinValue(v int64) *IntegerHyperParameterRange { + s.MinValue = &v + return s +} + +// SetName sets the Name field's value. +func (s *IntegerHyperParameterRange) SetName(v string) *IntegerHyperParameterRange { + s.Name = &v + return s +} + +type ListCampaignsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of campaigns to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token returned from the previous call to ListCampaigns for getting the + // next set of campaigns (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` + + // The Amazon Resource Name (ARN) of the solution to list the campaigns for. + // When a solution is not specified, all the campaigns associated with the account + // are listed. + SolutionArn *string `locationName:"solutionArn" type:"string"` +} + +// String returns the string representation +func (s ListCampaignsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCampaignsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCampaignsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCampaignsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListCampaignsInput) SetMaxResults(v int64) *ListCampaignsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCampaignsInput) SetNextToken(v string) *ListCampaignsInput { + s.NextToken = &v + return s +} + +// SetSolutionArn sets the SolutionArn field's value. +func (s *ListCampaignsInput) SetSolutionArn(v string) *ListCampaignsInput { + s.SolutionArn = &v + return s +} + +type ListCampaignsOutput struct { + _ struct{} `type:"structure"` + + // A list of the campaigns. + Campaigns []*CampaignSummary `locationName:"campaigns" type:"list"` + + // A token for getting the next set of campaigns (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListCampaignsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCampaignsOutput) GoString() string { + return s.String() +} + +// SetCampaigns sets the Campaigns field's value. +func (s *ListCampaignsOutput) SetCampaigns(v []*CampaignSummary) *ListCampaignsOutput { + s.Campaigns = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCampaignsOutput) SetNextToken(v string) *ListCampaignsOutput { + s.NextToken = &v + return s +} + +type ListDatasetGroupsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of dataset groups to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token returned from the previous call to ListDatasetGroups for getting + // the next set of dataset groups (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListDatasetGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDatasetGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDatasetGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDatasetGroupsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDatasetGroupsInput) SetMaxResults(v int64) *ListDatasetGroupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDatasetGroupsInput) SetNextToken(v string) *ListDatasetGroupsInput { + s.NextToken = &v + return s +} + +type ListDatasetGroupsOutput struct { + _ struct{} `type:"structure"` + + // The list of your dataset groups. + DatasetGroups []*DatasetGroupSummary `locationName:"datasetGroups" type:"list"` + + // A token for getting the next set of dataset groups (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListDatasetGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDatasetGroupsOutput) GoString() string { + return s.String() +} + +// SetDatasetGroups sets the DatasetGroups field's value. +func (s *ListDatasetGroupsOutput) SetDatasetGroups(v []*DatasetGroupSummary) *ListDatasetGroupsOutput { + s.DatasetGroups = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDatasetGroupsOutput) SetNextToken(v string) *ListDatasetGroupsOutput { + s.NextToken = &v + return s +} + +type ListDatasetImportJobsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the dataset to list the dataset import + // jobs for. + DatasetArn *string `locationName:"datasetArn" type:"string"` + + // The maximum number of dataset import jobs to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token returned from the previous call to ListDatasetImportJobs for getting + // the next set of dataset import jobs (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListDatasetImportJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDatasetImportJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDatasetImportJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDatasetImportJobsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetArn sets the DatasetArn field's value. +func (s *ListDatasetImportJobsInput) SetDatasetArn(v string) *ListDatasetImportJobsInput { + s.DatasetArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDatasetImportJobsInput) SetMaxResults(v int64) *ListDatasetImportJobsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDatasetImportJobsInput) SetNextToken(v string) *ListDatasetImportJobsInput { + s.NextToken = &v + return s +} + +type ListDatasetImportJobsOutput struct { + _ struct{} `type:"structure"` + + // The list of dataset import jobs. + DatasetImportJobs []*DatasetImportJobSummary `locationName:"datasetImportJobs" type:"list"` + + // A token for getting the next set of dataset import jobs (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListDatasetImportJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDatasetImportJobsOutput) GoString() string { + return s.String() +} + +// SetDatasetImportJobs sets the DatasetImportJobs field's value. +func (s *ListDatasetImportJobsOutput) SetDatasetImportJobs(v []*DatasetImportJobSummary) *ListDatasetImportJobsOutput { + s.DatasetImportJobs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDatasetImportJobsOutput) SetNextToken(v string) *ListDatasetImportJobsOutput { + s.NextToken = &v + return s +} + +type ListDatasetsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the dataset group that contains the datasets + // to list. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // The maximum number of datasets to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token returned from the previous call to ListDatasetImportJobs for getting + // the next set of dataset import jobs (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListDatasetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDatasetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDatasetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDatasetsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *ListDatasetsInput) SetDatasetGroupArn(v string) *ListDatasetsInput { + s.DatasetGroupArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDatasetsInput) SetMaxResults(v int64) *ListDatasetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDatasetsInput) SetNextToken(v string) *ListDatasetsInput { + s.NextToken = &v + return s +} + +type ListDatasetsOutput struct { + _ struct{} `type:"structure"` + + // An array of Dataset objects. Each object provides metadata information. + Datasets []*DatasetSummary `locationName:"datasets" type:"list"` + + // A token for getting the next set of datasets (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListDatasetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDatasetsOutput) GoString() string { + return s.String() +} + +// SetDatasets sets the Datasets field's value. +func (s *ListDatasetsOutput) SetDatasets(v []*DatasetSummary) *ListDatasetsOutput { + s.Datasets = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDatasetsOutput) SetNextToken(v string) *ListDatasetsOutput { + s.NextToken = &v + return s +} + +type ListEventTrackersInput struct { + _ struct{} `type:"structure"` + + // The ARN of a dataset group used to filter the response. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // The maximum number of event trackers to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token returned from the previous call to ListEventTrackers for getting + // the next set of event trackers (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListEventTrackersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEventTrackersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEventTrackersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEventTrackersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *ListEventTrackersInput) SetDatasetGroupArn(v string) *ListEventTrackersInput { + s.DatasetGroupArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListEventTrackersInput) SetMaxResults(v int64) *ListEventTrackersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEventTrackersInput) SetNextToken(v string) *ListEventTrackersInput { + s.NextToken = &v + return s +} + +type ListEventTrackersOutput struct { + _ struct{} `type:"structure"` + + // A list of event trackers. + EventTrackers []*EventTrackerSummary `locationName:"eventTrackers" type:"list"` + + // A token for getting the next set of event trackers (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListEventTrackersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEventTrackersOutput) GoString() string { + return s.String() +} + +// SetEventTrackers sets the EventTrackers field's value. +func (s *ListEventTrackersOutput) SetEventTrackers(v []*EventTrackerSummary) *ListEventTrackersOutput { + s.EventTrackers = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEventTrackersOutput) SetNextToken(v string) *ListEventTrackersOutput { + s.NextToken = &v + return s +} + +type ListRecipesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of recipes to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token returned from the previous call to ListRecipes for getting the next + // set of recipes (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` + + // The default is SERVICE. + RecipeProvider *string `locationName:"recipeProvider" type:"string" enum:"RecipeProvider"` +} + +// String returns the string representation +func (s ListRecipesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRecipesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListRecipesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRecipesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListRecipesInput) SetMaxResults(v int64) *ListRecipesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRecipesInput) SetNextToken(v string) *ListRecipesInput { + s.NextToken = &v + return s +} + +// SetRecipeProvider sets the RecipeProvider field's value. +func (s *ListRecipesInput) SetRecipeProvider(v string) *ListRecipesInput { + s.RecipeProvider = &v + return s +} + +type ListRecipesOutput struct { + _ struct{} `type:"structure"` + + // A token for getting the next set of recipes. + NextToken *string `locationName:"nextToken" type:"string"` + + // The list of available recipes. + Recipes []*RecipeSummary `locationName:"recipes" type:"list"` +} + +// String returns the string representation +func (s ListRecipesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRecipesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRecipesOutput) SetNextToken(v string) *ListRecipesOutput { + s.NextToken = &v + return s +} + +// SetRecipes sets the Recipes field's value. +func (s *ListRecipesOutput) SetRecipes(v []*RecipeSummary) *ListRecipesOutput { + s.Recipes = v + return s +} + +type ListSchemasInput struct { + _ struct{} `type:"structure"` + + // The maximum number of schemas to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token returned from the previous call to ListSchemas for getting the next + // set of schemas (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListSchemasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSchemasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSchemasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSchemasInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListSchemasInput) SetMaxResults(v int64) *ListSchemasInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSchemasInput) SetNextToken(v string) *ListSchemasInput { + s.NextToken = &v + return s +} + +type ListSchemasOutput struct { + _ struct{} `type:"structure"` + + // A token used to get the next set of schemas (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` + + // A list of schemas. + Schemas []*DatasetSchemaSummary `locationName:"schemas" type:"list"` +} + +// String returns the string representation +func (s ListSchemasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSchemasOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSchemasOutput) SetNextToken(v string) *ListSchemasOutput { + s.NextToken = &v + return s +} + +// SetSchemas sets the Schemas field's value. +func (s *ListSchemasOutput) SetSchemas(v []*DatasetSchemaSummary) *ListSchemasOutput { + s.Schemas = v + return s +} + +type ListSolutionVersionsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of solution versions to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token returned from the previous call to ListSolutionVersions for getting + // the next set of solution versions (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` + + // The Amazon Resource Name (ARN) of the solution. + SolutionArn *string `locationName:"solutionArn" type:"string"` +} + +// String returns the string representation +func (s ListSolutionVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSolutionVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSolutionVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSolutionVersionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListSolutionVersionsInput) SetMaxResults(v int64) *ListSolutionVersionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSolutionVersionsInput) SetNextToken(v string) *ListSolutionVersionsInput { + s.NextToken = &v + return s +} + +// SetSolutionArn sets the SolutionArn field's value. +func (s *ListSolutionVersionsInput) SetSolutionArn(v string) *ListSolutionVersionsInput { + s.SolutionArn = &v + return s +} + +type ListSolutionVersionsOutput struct { + _ struct{} `type:"structure"` + + // A token for getting the next set of solution versions (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` + + // A list of solution versions describing the version properties. + SolutionVersions []*SolutionVersionSummary `locationName:"solutionVersions" type:"list"` +} + +// String returns the string representation +func (s ListSolutionVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSolutionVersionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSolutionVersionsOutput) SetNextToken(v string) *ListSolutionVersionsOutput { + s.NextToken = &v + return s +} + +// SetSolutionVersions sets the SolutionVersions field's value. +func (s *ListSolutionVersionsOutput) SetSolutionVersions(v []*SolutionVersionSummary) *ListSolutionVersionsOutput { + s.SolutionVersions = v + return s +} + +type ListSolutionsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the dataset group. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // The maximum number of solutions to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token returned from the previous call to ListSolutions for getting the + // next set of solutions (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListSolutionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSolutionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSolutionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSolutionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *ListSolutionsInput) SetDatasetGroupArn(v string) *ListSolutionsInput { + s.DatasetGroupArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListSolutionsInput) SetMaxResults(v int64) *ListSolutionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSolutionsInput) SetNextToken(v string) *ListSolutionsInput { + s.NextToken = &v + return s +} + +type ListSolutionsOutput struct { + _ struct{} `type:"structure"` + + // A token for getting the next set of solutions (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` + + // A list of the current solutions. + Solutions []*SolutionSummary `locationName:"solutions" type:"list"` +} + +// String returns the string representation +func (s ListSolutionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSolutionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSolutionsOutput) SetNextToken(v string) *ListSolutionsOutput { + s.NextToken = &v + return s +} + +// SetSolutions sets the Solutions field's value. +func (s *ListSolutionsOutput) SetSolutions(v []*SolutionSummary) *ListSolutionsOutput { + s.Solutions = v + return s +} + +// Provides information about a recipe. Each recipe provides an algorithm that +// Amazon Personalize uses in model training when you use the CreateSolution +// operation. +type Recipe struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the algorithm that Amazon Personalize uses + // to train the model. + AlgorithmArn *string `locationName:"algorithmArn" type:"string"` + + // The date and time (in Unix format) that the recipe was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The description of the recipe. + Description *string `locationName:"description" type:"string"` + + // The ARN of the FeatureTransformation object. + FeatureTransformationArn *string `locationName:"featureTransformationArn" type:"string"` + + // The date and time (in Unix format) that the recipe was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the recipe. + Name *string `locationName:"name" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the recipe. + RecipeArn *string `locationName:"recipeArn" type:"string"` + + // One of the following values: + // + // * PERSONALIZED_RANKING + // + // * RELATED_ITEMS + // + // * USER_PERSONALIZATION + RecipeType *string `locationName:"recipeType" type:"string"` + + // The status of the recipe. + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s Recipe) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Recipe) GoString() string { + return s.String() +} + +// SetAlgorithmArn sets the AlgorithmArn field's value. +func (s *Recipe) SetAlgorithmArn(v string) *Recipe { + s.AlgorithmArn = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *Recipe) SetCreationDateTime(v time.Time) *Recipe { + s.CreationDateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Recipe) SetDescription(v string) *Recipe { + s.Description = &v + return s +} + +// SetFeatureTransformationArn sets the FeatureTransformationArn field's value. +func (s *Recipe) SetFeatureTransformationArn(v string) *Recipe { + s.FeatureTransformationArn = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *Recipe) SetLastUpdatedDateTime(v time.Time) *Recipe { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Recipe) SetName(v string) *Recipe { + s.Name = &v + return s +} + +// SetRecipeArn sets the RecipeArn field's value. +func (s *Recipe) SetRecipeArn(v string) *Recipe { + s.RecipeArn = &v + return s +} + +// SetRecipeType sets the RecipeType field's value. +func (s *Recipe) SetRecipeType(v string) *Recipe { + s.RecipeType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Recipe) SetStatus(v string) *Recipe { + s.Status = &v + return s +} + +// Provides a summary of the properties of a recipe. For a complete listing, +// call the DescribeRecipe API. +type RecipeSummary struct { + _ struct{} `type:"structure"` + + // The date and time (in Unix time) that the recipe was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The date and time (in Unix time) that the recipe was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the recipe. + Name *string `locationName:"name" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the recipe. + RecipeArn *string `locationName:"recipeArn" type:"string"` + + // The status of the recipe. + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s RecipeSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RecipeSummary) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *RecipeSummary) SetCreationDateTime(v time.Time) *RecipeSummary { + s.CreationDateTime = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *RecipeSummary) SetLastUpdatedDateTime(v time.Time) *RecipeSummary { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *RecipeSummary) SetName(v string) *RecipeSummary { + s.Name = &v + return s +} + +// SetRecipeArn sets the RecipeArn field's value. +func (s *RecipeSummary) SetRecipeArn(v string) *RecipeSummary { + s.RecipeArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *RecipeSummary) SetStatus(v string) *RecipeSummary { + s.Status = &v + return s +} + +// An object that provides information about a solution. A solution is a trained +// model that can be deployed as a campaign. +type Solution struct { + _ struct{} `type:"structure"` + + // When performAutoML is true, specifies the best recipe found. + AutoMLResult *AutoMLResult `locationName:"autoMLResult" type:"structure"` + + // The creation date and time (in Unix time) of the solution. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the dataset group that provides the training + // data. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // The event type (for example, 'click' or 'like') that is used for training + // the model. + EventType *string `locationName:"eventType" type:"string"` + + // The date and time (in Unix time) that the solution was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // Describes the latest version of the solution, including the status and the + // ARN. + LatestSolutionVersion *SolutionVersionSummary `locationName:"latestSolutionVersion" type:"structure"` + + // The name of the solution. + Name *string `locationName:"name" min:"1" type:"string"` + + // When true, Amazon Personalize performs a search for the best USER_PERSONALIZATION + // recipe from the list specified in the solution configuration (recipeArn must + // not be specified). When false (the default), Amazon Personalize uses recipeArn + // for training. + PerformAutoML *bool `locationName:"performAutoML" type:"boolean"` + + // Whether to perform hyperparameter optimization (HPO) on the chosen recipe. + // The default is false. + PerformHPO *bool `locationName:"performHPO" type:"boolean"` + + // The ARN of the recipe used to create the solution. + RecipeArn *string `locationName:"recipeArn" type:"string"` + + // The ARN of the solution. + SolutionArn *string `locationName:"solutionArn" type:"string"` + + // Describes the configuration properties for the solution. + SolutionConfig *SolutionConfig `locationName:"solutionConfig" type:"structure"` + + // The status of the solution. + // + // A solution can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + // + // * DELETE PENDING > DELETE IN_PROGRESS + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s Solution) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Solution) GoString() string { + return s.String() +} + +// SetAutoMLResult sets the AutoMLResult field's value. +func (s *Solution) SetAutoMLResult(v *AutoMLResult) *Solution { + s.AutoMLResult = v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *Solution) SetCreationDateTime(v time.Time) *Solution { + s.CreationDateTime = &v + return s +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *Solution) SetDatasetGroupArn(v string) *Solution { + s.DatasetGroupArn = &v + return s +} + +// SetEventType sets the EventType field's value. +func (s *Solution) SetEventType(v string) *Solution { + s.EventType = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *Solution) SetLastUpdatedDateTime(v time.Time) *Solution { + s.LastUpdatedDateTime = &v + return s +} + +// SetLatestSolutionVersion sets the LatestSolutionVersion field's value. +func (s *Solution) SetLatestSolutionVersion(v *SolutionVersionSummary) *Solution { + s.LatestSolutionVersion = v + return s +} + +// SetName sets the Name field's value. +func (s *Solution) SetName(v string) *Solution { + s.Name = &v + return s +} + +// SetPerformAutoML sets the PerformAutoML field's value. +func (s *Solution) SetPerformAutoML(v bool) *Solution { + s.PerformAutoML = &v + return s +} + +// SetPerformHPO sets the PerformHPO field's value. +func (s *Solution) SetPerformHPO(v bool) *Solution { + s.PerformHPO = &v + return s +} + +// SetRecipeArn sets the RecipeArn field's value. +func (s *Solution) SetRecipeArn(v string) *Solution { + s.RecipeArn = &v + return s +} + +// SetSolutionArn sets the SolutionArn field's value. +func (s *Solution) SetSolutionArn(v string) *Solution { + s.SolutionArn = &v + return s +} + +// SetSolutionConfig sets the SolutionConfig field's value. +func (s *Solution) SetSolutionConfig(v *SolutionConfig) *Solution { + s.SolutionConfig = v + return s +} + +// SetStatus sets the Status field's value. +func (s *Solution) SetStatus(v string) *Solution { + s.Status = &v + return s +} + +// Describes the configuration properties for the solution. +type SolutionConfig struct { + _ struct{} `type:"structure"` + + // Lists the hyperparameter names and ranges. + AlgorithmHyperParameters map[string]*string `locationName:"algorithmHyperParameters" type:"map"` + + // The AutoMLConfig object containing a list of recipes to search when AutoML + // is performed. + AutoMLConfig *AutoMLConfig `locationName:"autoMLConfig" type:"structure"` + + // Only events with a value greater than or equal to this threshold are used + // for training a model. + EventValueThreshold *string `locationName:"eventValueThreshold" type:"string"` + + // Lists the feature transformation parameters. + FeatureTransformationParameters map[string]*string `locationName:"featureTransformationParameters" type:"map"` + + // Describes the properties for hyperparameter optimization (HPO). For use with + // the bring-your-own-recipe feature. Not used with Amazon Personalize predefined + // recipes. + HpoConfig *HPOConfig `locationName:"hpoConfig" type:"structure"` +} + +// String returns the string representation +func (s SolutionConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SolutionConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SolutionConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SolutionConfig"} + if s.HpoConfig != nil { + if err := s.HpoConfig.Validate(); err != nil { + invalidParams.AddNested("HpoConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlgorithmHyperParameters sets the AlgorithmHyperParameters field's value. +func (s *SolutionConfig) SetAlgorithmHyperParameters(v map[string]*string) *SolutionConfig { + s.AlgorithmHyperParameters = v + return s +} + +// SetAutoMLConfig sets the AutoMLConfig field's value. +func (s *SolutionConfig) SetAutoMLConfig(v *AutoMLConfig) *SolutionConfig { + s.AutoMLConfig = v + return s +} + +// SetEventValueThreshold sets the EventValueThreshold field's value. +func (s *SolutionConfig) SetEventValueThreshold(v string) *SolutionConfig { + s.EventValueThreshold = &v + return s +} + +// SetFeatureTransformationParameters sets the FeatureTransformationParameters field's value. +func (s *SolutionConfig) SetFeatureTransformationParameters(v map[string]*string) *SolutionConfig { + s.FeatureTransformationParameters = v + return s +} + +// SetHpoConfig sets the HpoConfig field's value. +func (s *SolutionConfig) SetHpoConfig(v *HPOConfig) *SolutionConfig { + s.HpoConfig = v + return s +} + +// Provides a summary of the properties of a solution. For a complete listing, +// call the DescribeSolution API. +type SolutionSummary struct { + _ struct{} `type:"structure"` + + // The date and time (in Unix time) that the solution was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The date and time (in Unix time) that the solution was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the solution. + Name *string `locationName:"name" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the solution. + SolutionArn *string `locationName:"solutionArn" type:"string"` + + // The status of the solution. + // + // A solution can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + // + // * DELETE PENDING > DELETE IN_PROGRESS + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s SolutionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SolutionSummary) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *SolutionSummary) SetCreationDateTime(v time.Time) *SolutionSummary { + s.CreationDateTime = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *SolutionSummary) SetLastUpdatedDateTime(v time.Time) *SolutionSummary { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *SolutionSummary) SetName(v string) *SolutionSummary { + s.Name = &v + return s +} + +// SetSolutionArn sets the SolutionArn field's value. +func (s *SolutionSummary) SetSolutionArn(v string) *SolutionSummary { + s.SolutionArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *SolutionSummary) SetStatus(v string) *SolutionSummary { + s.Status = &v + return s +} + +// An object that provides information about a specific version of a Solution. +type SolutionVersion struct { + _ struct{} `type:"structure"` + + // The date and time (in Unix time) that this version of the solution was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the dataset group providing the training + // data. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // The event type (for example, 'click' or 'like') that is used for training + // the model. + EventType *string `locationName:"eventType" type:"string"` + + // If training a solution version fails, the reason behind the failure. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The date and time (in Unix time) that the solution was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // When true, Amazon Personalize performs a search for the most optimal recipe + // according to the solution configuration. When false (the default), Amazon + // Personalize uses recipeArn. + PerformAutoML *bool `locationName:"performAutoML" type:"boolean"` + + // Whether to perform hyperparameter optimization (HPO) on the chosen recipe. + // The default is false. + PerformHPO *bool `locationName:"performHPO" type:"boolean"` + + // The ARN of the recipe used in the solution. + RecipeArn *string `locationName:"recipeArn" type:"string"` + + // The ARN of the solution. + SolutionArn *string `locationName:"solutionArn" type:"string"` + + // Describes the configuration properties for the solution. + SolutionConfig *SolutionConfig `locationName:"solutionConfig" type:"structure"` + + // The ARN of the solution version. + SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"` + + // The status of the solution version. + // + // A solution version can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s SolutionVersion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SolutionVersion) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *SolutionVersion) SetCreationDateTime(v time.Time) *SolutionVersion { + s.CreationDateTime = &v + return s +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *SolutionVersion) SetDatasetGroupArn(v string) *SolutionVersion { + s.DatasetGroupArn = &v + return s +} + +// SetEventType sets the EventType field's value. +func (s *SolutionVersion) SetEventType(v string) *SolutionVersion { + s.EventType = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *SolutionVersion) SetFailureReason(v string) *SolutionVersion { + s.FailureReason = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *SolutionVersion) SetLastUpdatedDateTime(v time.Time) *SolutionVersion { + s.LastUpdatedDateTime = &v + return s +} + +// SetPerformAutoML sets the PerformAutoML field's value. +func (s *SolutionVersion) SetPerformAutoML(v bool) *SolutionVersion { + s.PerformAutoML = &v + return s +} + +// SetPerformHPO sets the PerformHPO field's value. +func (s *SolutionVersion) SetPerformHPO(v bool) *SolutionVersion { + s.PerformHPO = &v + return s +} + +// SetRecipeArn sets the RecipeArn field's value. +func (s *SolutionVersion) SetRecipeArn(v string) *SolutionVersion { + s.RecipeArn = &v + return s +} + +// SetSolutionArn sets the SolutionArn field's value. +func (s *SolutionVersion) SetSolutionArn(v string) *SolutionVersion { + s.SolutionArn = &v + return s +} + +// SetSolutionConfig sets the SolutionConfig field's value. +func (s *SolutionVersion) SetSolutionConfig(v *SolutionConfig) *SolutionVersion { + s.SolutionConfig = v + return s +} + +// SetSolutionVersionArn sets the SolutionVersionArn field's value. +func (s *SolutionVersion) SetSolutionVersionArn(v string) *SolutionVersion { + s.SolutionVersionArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *SolutionVersion) SetStatus(v string) *SolutionVersion { + s.Status = &v + return s +} + +// Provides a summary of the properties of a solution version. For a complete +// listing, call the DescribeSolutionVersion API. +type SolutionVersionSummary struct { + _ struct{} `type:"structure"` + + // The date and time (in Unix time) that this version of a solution was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // If a solution version fails, the reason behind the failure. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The date and time (in Unix time) that the solution version was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the solution version. + SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"` + + // The status of the solution version. + // + // A solution version can be in one of the following states: + // + // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s SolutionVersionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SolutionVersionSummary) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *SolutionVersionSummary) SetCreationDateTime(v time.Time) *SolutionVersionSummary { + s.CreationDateTime = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *SolutionVersionSummary) SetFailureReason(v string) *SolutionVersionSummary { + s.FailureReason = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *SolutionVersionSummary) SetLastUpdatedDateTime(v time.Time) *SolutionVersionSummary { + s.LastUpdatedDateTime = &v + return s +} + +// SetSolutionVersionArn sets the SolutionVersionArn field's value. +func (s *SolutionVersionSummary) SetSolutionVersionArn(v string) *SolutionVersionSummary { + s.SolutionVersionArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *SolutionVersionSummary) SetStatus(v string) *SolutionVersionSummary { + s.Status = &v + return s +} + +type UpdateCampaignInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the campaign. + // + // CampaignArn is a required field + CampaignArn *string `locationName:"campaignArn" type:"string" required:"true"` + + // Specifies the requested minimum provisioned transactions (recommendations) + // per second that Amazon Personalize will support. + MinProvisionedTPS *int64 `locationName:"minProvisionedTPS" min:"1" type:"integer"` + + // The ARN of a new solution version to deploy. + SolutionVersionArn *string `locationName:"solutionVersionArn" type:"string"` +} + +// String returns the string representation +func (s UpdateCampaignInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCampaignInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCampaignInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCampaignInput"} + if s.CampaignArn == nil { + invalidParams.Add(request.NewErrParamRequired("CampaignArn")) + } + if s.MinProvisionedTPS != nil && *s.MinProvisionedTPS < 1 { + invalidParams.Add(request.NewErrParamMinValue("MinProvisionedTPS", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCampaignArn sets the CampaignArn field's value. +func (s *UpdateCampaignInput) SetCampaignArn(v string) *UpdateCampaignInput { + s.CampaignArn = &v + return s +} + +// SetMinProvisionedTPS sets the MinProvisionedTPS field's value. +func (s *UpdateCampaignInput) SetMinProvisionedTPS(v int64) *UpdateCampaignInput { + s.MinProvisionedTPS = &v + return s +} + +// SetSolutionVersionArn sets the SolutionVersionArn field's value. +func (s *UpdateCampaignInput) SetSolutionVersionArn(v string) *UpdateCampaignInput { + s.SolutionVersionArn = &v + return s +} + +type UpdateCampaignOutput struct { + _ struct{} `type:"structure"` + + // The same campaign ARN as given in the request. + CampaignArn *string `locationName:"campaignArn" type:"string"` +} + +// String returns the string representation +func (s UpdateCampaignOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCampaignOutput) GoString() string { + return s.String() +} + +// SetCampaignArn sets the CampaignArn field's value. +func (s *UpdateCampaignOutput) SetCampaignArn(v string) *UpdateCampaignOutput { + s.CampaignArn = &v + return s +} + +const ( + // RecipeProviderService is a RecipeProvider enum value + RecipeProviderService = "SERVICE" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/personalize/doc.go b/vendor/github.com/aws/aws-sdk-go/service/personalize/doc.go new file mode 100644 index 00000000000..5ed3cd2b582 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/personalize/doc.go @@ -0,0 +1,29 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package personalize provides the client and types for making API +// requests to Amazon Personalize. +// +// Amazon Personalize is a machine learning service that makes it easy to add +// individualized recommendations to customers. +// +// See https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22 for more information on this service. +// +// See personalize package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/personalize/ +// +// Using the Client +// +// To contact Amazon Personalize with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the Amazon Personalize client Personalize for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/personalize/#New +package personalize diff --git a/vendor/github.com/aws/aws-sdk-go/service/personalize/errors.go b/vendor/github.com/aws/aws-sdk-go/service/personalize/errors.go new file mode 100644 index 00000000000..9511bd051a9 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/personalize/errors.go @@ -0,0 +1,42 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package personalize + +const ( + + // ErrCodeInvalidInputException for service response error code + // "InvalidInputException". + // + // Provide a valid value for the field or parameter. + ErrCodeInvalidInputException = "InvalidInputException" + + // ErrCodeInvalidNextTokenException for service response error code + // "InvalidNextTokenException". + // + // The token is not valid. + ErrCodeInvalidNextTokenException = "InvalidNextTokenException" + + // ErrCodeLimitExceededException for service response error code + // "LimitExceededException". + // + // The limit on the number of requests per second has been exceeded. + ErrCodeLimitExceededException = "LimitExceededException" + + // ErrCodeResourceAlreadyExistsException for service response error code + // "ResourceAlreadyExistsException". + // + // The specified resource already exists. + ErrCodeResourceAlreadyExistsException = "ResourceAlreadyExistsException" + + // ErrCodeResourceInUseException for service response error code + // "ResourceInUseException". + // + // The specified resource is in use. + ErrCodeResourceInUseException = "ResourceInUseException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // Could not find the specified resource. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/personalize/service.go b/vendor/github.com/aws/aws-sdk-go/service/personalize/service.go new file mode 100644 index 00000000000..4b1ff03e3de --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/personalize/service.go @@ -0,0 +1,100 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package personalize + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +// Personalize provides the API operation methods for making requests to +// Amazon Personalize. See this package's package overview docs +// for details on the service. +// +// Personalize methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type Personalize struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "Personalize" // Name of service. + EndpointsID = "personalize" // ID to lookup a service endpoint with. + ServiceID = "Personalize" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the Personalize client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// // Create a Personalize client from just a session. +// svc := personalize.New(mySession) +// +// // Create a Personalize client with additional configuration +// svc := personalize.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *Personalize { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "personalize" + } + return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *Personalize { + svc := &Personalize{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2018-05-22", + JSONVersion: "1.1", + TargetPrefix: "AmazonPersonalize", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(jsonrpc.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a Personalize operation and runs any +// custom request initialization. +func (c *Personalize) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/vendor/modules.txt b/vendor/modules.txt index bc94ebe4e59..1c1924140c2 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -117,6 +117,7 @@ github.com/aws/aws-sdk-go/service/mq github.com/aws/aws-sdk-go/service/neptune github.com/aws/aws-sdk-go/service/opsworks github.com/aws/aws-sdk-go/service/organizations +github.com/aws/aws-sdk-go/service/personalize github.com/aws/aws-sdk-go/service/pinpoint github.com/aws/aws-sdk-go/service/pricing github.com/aws/aws-sdk-go/service/quicksight diff --git a/website/docs/guides/custom-service-endpoints.html.md b/website/docs/guides/custom-service-endpoints.html.md index 54321251d4f..28040f20c23 100644 --- a/website/docs/guides/custom-service-endpoints.html.md +++ b/website/docs/guides/custom-service-endpoints.html.md @@ -132,6 +132,7 @@ The Terraform AWS Provider allows the following endpoints to be customized: - `neptune` - `opsworks` - `organizations` +- `personalize` - `pinpoint` - `pricing` - `quicksight`