/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Pinpoint { namespace Model { /** *

Specifies Amazon Pinpoint configuration settings for retrieving and * processing recommendation data from a recommender model.

See * Also:

AWS * API Reference

*/ class UpdateRecommenderConfiguration { public: AWS_PINPOINT_API UpdateRecommenderConfiguration(); AWS_PINPOINT_API UpdateRecommenderConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINT_API UpdateRecommenderConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A map of key-value pairs that defines 1-10 custom endpoint or user * attributes, depending on the value for the RecommendationProviderIdType * property. Each of these attributes temporarily stores a recommended item that's * retrieved from the recommender model and sent to an AWS Lambda function for * additional processing. Each attribute can be used as a message variable in a * message template.

In the map, the key is the name of a custom attribute * and the value is a custom display name for that attribute. The display name * appears in the Attribute finder of the template editor on the Amazon * Pinpoint console. The following restrictions apply to these names:

*
  • An attribute name must start with a letter or number and it can * contain up to 50 characters. The characters can be letters, numbers, underscores * (_), or hyphens (-). Attribute names are case sensitive and must be * unique.

  • An attribute display name must start with a letter or * number and it can contain up to 25 characters. The characters can be letters, * numbers, spaces, underscores (_), or hyphens (-).

This object * is required if the configuration invokes an AWS Lambda function * (RecommendationTransformerUri) to process recommendation data. Otherwise, don't * include this object in your request.

*/ inline const Aws::Map& GetAttributes() const{ return m_attributes; } /** *

A map of key-value pairs that defines 1-10 custom endpoint or user * attributes, depending on the value for the RecommendationProviderIdType * property. Each of these attributes temporarily stores a recommended item that's * retrieved from the recommender model and sent to an AWS Lambda function for * additional processing. Each attribute can be used as a message variable in a * message template.

In the map, the key is the name of a custom attribute * and the value is a custom display name for that attribute. The display name * appears in the Attribute finder of the template editor on the Amazon * Pinpoint console. The following restrictions apply to these names:

*
  • An attribute name must start with a letter or number and it can * contain up to 50 characters. The characters can be letters, numbers, underscores * (_), or hyphens (-). Attribute names are case sensitive and must be * unique.

  • An attribute display name must start with a letter or * number and it can contain up to 25 characters. The characters can be letters, * numbers, spaces, underscores (_), or hyphens (-).

This object * is required if the configuration invokes an AWS Lambda function * (RecommendationTransformerUri) to process recommendation data. Otherwise, don't * include this object in your request.

*/ inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *

A map of key-value pairs that defines 1-10 custom endpoint or user * attributes, depending on the value for the RecommendationProviderIdType * property. Each of these attributes temporarily stores a recommended item that's * retrieved from the recommender model and sent to an AWS Lambda function for * additional processing. Each attribute can be used as a message variable in a * message template.

In the map, the key is the name of a custom attribute * and the value is a custom display name for that attribute. The display name * appears in the Attribute finder of the template editor on the Amazon * Pinpoint console. The following restrictions apply to these names:

*
  • An attribute name must start with a letter or number and it can * contain up to 50 characters. The characters can be letters, numbers, underscores * (_), or hyphens (-). Attribute names are case sensitive and must be * unique.

  • An attribute display name must start with a letter or * number and it can contain up to 25 characters. The characters can be letters, * numbers, spaces, underscores (_), or hyphens (-).

This object * is required if the configuration invokes an AWS Lambda function * (RecommendationTransformerUri) to process recommendation data. Otherwise, don't * include this object in your request.

*/ inline void SetAttributes(const Aws::Map& value) { m_attributesHasBeenSet = true; m_attributes = value; } /** *

A map of key-value pairs that defines 1-10 custom endpoint or user * attributes, depending on the value for the RecommendationProviderIdType * property. Each of these attributes temporarily stores a recommended item that's * retrieved from the recommender model and sent to an AWS Lambda function for * additional processing. Each attribute can be used as a message variable in a * message template.

In the map, the key is the name of a custom attribute * and the value is a custom display name for that attribute. The display name * appears in the Attribute finder of the template editor on the Amazon * Pinpoint console. The following restrictions apply to these names:

*
  • An attribute name must start with a letter or number and it can * contain up to 50 characters. The characters can be letters, numbers, underscores * (_), or hyphens (-). Attribute names are case sensitive and must be * unique.

  • An attribute display name must start with a letter or * number and it can contain up to 25 characters. The characters can be letters, * numbers, spaces, underscores (_), or hyphens (-).

This object * is required if the configuration invokes an AWS Lambda function * (RecommendationTransformerUri) to process recommendation data. Otherwise, don't * include this object in your request.

*/ inline void SetAttributes(Aws::Map&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); } /** *

A map of key-value pairs that defines 1-10 custom endpoint or user * attributes, depending on the value for the RecommendationProviderIdType * property. Each of these attributes temporarily stores a recommended item that's * retrieved from the recommender model and sent to an AWS Lambda function for * additional processing. Each attribute can be used as a message variable in a * message template.

In the map, the key is the name of a custom attribute * and the value is a custom display name for that attribute. The display name * appears in the Attribute finder of the template editor on the Amazon * Pinpoint console. The following restrictions apply to these names:

*
  • An attribute name must start with a letter or number and it can * contain up to 50 characters. The characters can be letters, numbers, underscores * (_), or hyphens (-). Attribute names are case sensitive and must be * unique.

  • An attribute display name must start with a letter or * number and it can contain up to 25 characters. The characters can be letters, * numbers, spaces, underscores (_), or hyphens (-).

This object * is required if the configuration invokes an AWS Lambda function * (RecommendationTransformerUri) to process recommendation data. Otherwise, don't * include this object in your request.

*/ inline UpdateRecommenderConfiguration& WithAttributes(const Aws::Map& value) { SetAttributes(value); return *this;} /** *

A map of key-value pairs that defines 1-10 custom endpoint or user * attributes, depending on the value for the RecommendationProviderIdType * property. Each of these attributes temporarily stores a recommended item that's * retrieved from the recommender model and sent to an AWS Lambda function for * additional processing. Each attribute can be used as a message variable in a * message template.

In the map, the key is the name of a custom attribute * and the value is a custom display name for that attribute. The display name * appears in the Attribute finder of the template editor on the Amazon * Pinpoint console. The following restrictions apply to these names:

*
  • An attribute name must start with a letter or number and it can * contain up to 50 characters. The characters can be letters, numbers, underscores * (_), or hyphens (-). Attribute names are case sensitive and must be * unique.

  • An attribute display name must start with a letter or * number and it can contain up to 25 characters. The characters can be letters, * numbers, spaces, underscores (_), or hyphens (-).

This object * is required if the configuration invokes an AWS Lambda function * (RecommendationTransformerUri) to process recommendation data. Otherwise, don't * include this object in your request.

*/ inline UpdateRecommenderConfiguration& WithAttributes(Aws::Map&& value) { SetAttributes(std::move(value)); return *this;} /** *

A map of key-value pairs that defines 1-10 custom endpoint or user * attributes, depending on the value for the RecommendationProviderIdType * property. Each of these attributes temporarily stores a recommended item that's * retrieved from the recommender model and sent to an AWS Lambda function for * additional processing. Each attribute can be used as a message variable in a * message template.

In the map, the key is the name of a custom attribute * and the value is a custom display name for that attribute. The display name * appears in the Attribute finder of the template editor on the Amazon * Pinpoint console. The following restrictions apply to these names:

*
  • An attribute name must start with a letter or number and it can * contain up to 50 characters. The characters can be letters, numbers, underscores * (_), or hyphens (-). Attribute names are case sensitive and must be * unique.

  • An attribute display name must start with a letter or * number and it can contain up to 25 characters. The characters can be letters, * numbers, spaces, underscores (_), or hyphens (-).

This object * is required if the configuration invokes an AWS Lambda function * (RecommendationTransformerUri) to process recommendation data. Otherwise, don't * include this object in your request.

*/ inline UpdateRecommenderConfiguration& AddAttributes(const Aws::String& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

A map of key-value pairs that defines 1-10 custom endpoint or user * attributes, depending on the value for the RecommendationProviderIdType * property. Each of these attributes temporarily stores a recommended item that's * retrieved from the recommender model and sent to an AWS Lambda function for * additional processing. Each attribute can be used as a message variable in a * message template.

In the map, the key is the name of a custom attribute * and the value is a custom display name for that attribute. The display name * appears in the Attribute finder of the template editor on the Amazon * Pinpoint console. The following restrictions apply to these names:

*
  • An attribute name must start with a letter or number and it can * contain up to 50 characters. The characters can be letters, numbers, underscores * (_), or hyphens (-). Attribute names are case sensitive and must be * unique.

  • An attribute display name must start with a letter or * number and it can contain up to 25 characters. The characters can be letters, * numbers, spaces, underscores (_), or hyphens (-).

This object * is required if the configuration invokes an AWS Lambda function * (RecommendationTransformerUri) to process recommendation data. Otherwise, don't * include this object in your request.

*/ inline UpdateRecommenderConfiguration& AddAttributes(Aws::String&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

A map of key-value pairs that defines 1-10 custom endpoint or user * attributes, depending on the value for the RecommendationProviderIdType * property. Each of these attributes temporarily stores a recommended item that's * retrieved from the recommender model and sent to an AWS Lambda function for * additional processing. Each attribute can be used as a message variable in a * message template.

In the map, the key is the name of a custom attribute * and the value is a custom display name for that attribute. The display name * appears in the Attribute finder of the template editor on the Amazon * Pinpoint console. The following restrictions apply to these names:

*
  • An attribute name must start with a letter or number and it can * contain up to 50 characters. The characters can be letters, numbers, underscores * (_), or hyphens (-). Attribute names are case sensitive and must be * unique.

  • An attribute display name must start with a letter or * number and it can contain up to 25 characters. The characters can be letters, * numbers, spaces, underscores (_), or hyphens (-).

This object * is required if the configuration invokes an AWS Lambda function * (RecommendationTransformerUri) to process recommendation data. Otherwise, don't * include this object in your request.

*/ inline UpdateRecommenderConfiguration& AddAttributes(const Aws::String& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *

A map of key-value pairs that defines 1-10 custom endpoint or user * attributes, depending on the value for the RecommendationProviderIdType * property. Each of these attributes temporarily stores a recommended item that's * retrieved from the recommender model and sent to an AWS Lambda function for * additional processing. Each attribute can be used as a message variable in a * message template.

In the map, the key is the name of a custom attribute * and the value is a custom display name for that attribute. The display name * appears in the Attribute finder of the template editor on the Amazon * Pinpoint console. The following restrictions apply to these names:

*
  • An attribute name must start with a letter or number and it can * contain up to 50 characters. The characters can be letters, numbers, underscores * (_), or hyphens (-). Attribute names are case sensitive and must be * unique.

  • An attribute display name must start with a letter or * number and it can contain up to 25 characters. The characters can be letters, * numbers, spaces, underscores (_), or hyphens (-).

This object * is required if the configuration invokes an AWS Lambda function * (RecommendationTransformerUri) to process recommendation data. Otherwise, don't * include this object in your request.

*/ inline UpdateRecommenderConfiguration& AddAttributes(Aws::String&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; } /** *

A map of key-value pairs that defines 1-10 custom endpoint or user * attributes, depending on the value for the RecommendationProviderIdType * property. Each of these attributes temporarily stores a recommended item that's * retrieved from the recommender model and sent to an AWS Lambda function for * additional processing. Each attribute can be used as a message variable in a * message template.

In the map, the key is the name of a custom attribute * and the value is a custom display name for that attribute. The display name * appears in the Attribute finder of the template editor on the Amazon * Pinpoint console. The following restrictions apply to these names:

*
  • An attribute name must start with a letter or number and it can * contain up to 50 characters. The characters can be letters, numbers, underscores * (_), or hyphens (-). Attribute names are case sensitive and must be * unique.

  • An attribute display name must start with a letter or * number and it can contain up to 25 characters. The characters can be letters, * numbers, spaces, underscores (_), or hyphens (-).

This object * is required if the configuration invokes an AWS Lambda function * (RecommendationTransformerUri) to process recommendation data. Otherwise, don't * include this object in your request.

*/ inline UpdateRecommenderConfiguration& AddAttributes(const char* key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *

A map of key-value pairs that defines 1-10 custom endpoint or user * attributes, depending on the value for the RecommendationProviderIdType * property. Each of these attributes temporarily stores a recommended item that's * retrieved from the recommender model and sent to an AWS Lambda function for * additional processing. Each attribute can be used as a message variable in a * message template.

In the map, the key is the name of a custom attribute * and the value is a custom display name for that attribute. The display name * appears in the Attribute finder of the template editor on the Amazon * Pinpoint console. The following restrictions apply to these names:

*
  • An attribute name must start with a letter or number and it can * contain up to 50 characters. The characters can be letters, numbers, underscores * (_), or hyphens (-). Attribute names are case sensitive and must be * unique.

  • An attribute display name must start with a letter or * number and it can contain up to 25 characters. The characters can be letters, * numbers, spaces, underscores (_), or hyphens (-).

This object * is required if the configuration invokes an AWS Lambda function * (RecommendationTransformerUri) to process recommendation data. Otherwise, don't * include this object in your request.

*/ inline UpdateRecommenderConfiguration& AddAttributes(Aws::String&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

A map of key-value pairs that defines 1-10 custom endpoint or user * attributes, depending on the value for the RecommendationProviderIdType * property. Each of these attributes temporarily stores a recommended item that's * retrieved from the recommender model and sent to an AWS Lambda function for * additional processing. Each attribute can be used as a message variable in a * message template.

In the map, the key is the name of a custom attribute * and the value is a custom display name for that attribute. The display name * appears in the Attribute finder of the template editor on the Amazon * Pinpoint console. The following restrictions apply to these names:

*
  • An attribute name must start with a letter or number and it can * contain up to 50 characters. The characters can be letters, numbers, underscores * (_), or hyphens (-). Attribute names are case sensitive and must be * unique.

  • An attribute display name must start with a letter or * number and it can contain up to 25 characters. The characters can be letters, * numbers, spaces, underscores (_), or hyphens (-).

This object * is required if the configuration invokes an AWS Lambda function * (RecommendationTransformerUri) to process recommendation data. Otherwise, don't * include this object in your request.

*/ inline UpdateRecommenderConfiguration& AddAttributes(const char* key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

A custom description of the configuration for the recommender model. The * description can contain up to 128 characters. The characters can be letters, * numbers, spaces, or the following symbols: _ ; () , ‐.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A custom description of the configuration for the recommender model. The * description can contain up to 128 characters. The characters can be letters, * numbers, spaces, or the following symbols: _ ; () , ‐.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A custom description of the configuration for the recommender model. The * description can contain up to 128 characters. The characters can be letters, * numbers, spaces, or the following symbols: _ ; () , ‐.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A custom description of the configuration for the recommender model. The * description can contain up to 128 characters. The characters can be letters, * numbers, spaces, or the following symbols: _ ; () , ‐.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A custom description of the configuration for the recommender model. The * description can contain up to 128 characters. The characters can be letters, * numbers, spaces, or the following symbols: _ ; () , ‐.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A custom description of the configuration for the recommender model. The * description can contain up to 128 characters. The characters can be letters, * numbers, spaces, or the following symbols: _ ; () , ‐.

*/ inline UpdateRecommenderConfiguration& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A custom description of the configuration for the recommender model. The * description can contain up to 128 characters. The characters can be letters, * numbers, spaces, or the following symbols: _ ; () , ‐.

*/ inline UpdateRecommenderConfiguration& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A custom description of the configuration for the recommender model. The * description can contain up to 128 characters. The characters can be letters, * numbers, spaces, or the following symbols: _ ; () , ‐.

*/ inline UpdateRecommenderConfiguration& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

A custom name of the configuration for the recommender model. The name must * start with a letter or number and it can contain up to 128 characters. The * characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

A custom name of the configuration for the recommender model. The name must * start with a letter or number and it can contain up to 128 characters. The * characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

A custom name of the configuration for the recommender model. The name must * start with a letter or number and it can contain up to 128 characters. The * characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

A custom name of the configuration for the recommender model. The name must * start with a letter or number and it can contain up to 128 characters. The * characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

A custom name of the configuration for the recommender model. The name must * start with a letter or number and it can contain up to 128 characters. The * characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

A custom name of the configuration for the recommender model. The name must * start with a letter or number and it can contain up to 128 characters. The * characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

*/ inline UpdateRecommenderConfiguration& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

A custom name of the configuration for the recommender model. The name must * start with a letter or number and it can contain up to 128 characters. The * characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

*/ inline UpdateRecommenderConfiguration& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

A custom name of the configuration for the recommender model. The name must * start with a letter or number and it can contain up to 128 characters. The * characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

*/ inline UpdateRecommenderConfiguration& WithName(const char* value) { SetName(value); return *this;} /** *

The type of Amazon Pinpoint ID to associate with unique user IDs in the * recommender model. This value enables the model to use attribute and event data * that’s specific to a particular endpoint or user in an Amazon Pinpoint * application. Valid values are:

  • PINPOINT_ENDPOINT_ID - Associate * each user in the model with a particular endpoint in Amazon Pinpoint. The data * is correlated based on endpoint IDs in Amazon Pinpoint. This is the default * value.

  • PINPOINT_USER_ID - Associate each user in the model with * a particular user and endpoint in Amazon Pinpoint. The data is correlated based * on user IDs in Amazon Pinpoint. If you specify this value, an endpoint * definition in Amazon Pinpoint has to specify both a user ID (UserId) and an * endpoint ID. Otherwise, messages won’t be sent to the user's * endpoint.

*/ inline const Aws::String& GetRecommendationProviderIdType() const{ return m_recommendationProviderIdType; } /** *

The type of Amazon Pinpoint ID to associate with unique user IDs in the * recommender model. This value enables the model to use attribute and event data * that’s specific to a particular endpoint or user in an Amazon Pinpoint * application. Valid values are:

  • PINPOINT_ENDPOINT_ID - Associate * each user in the model with a particular endpoint in Amazon Pinpoint. The data * is correlated based on endpoint IDs in Amazon Pinpoint. This is the default * value.

  • PINPOINT_USER_ID - Associate each user in the model with * a particular user and endpoint in Amazon Pinpoint. The data is correlated based * on user IDs in Amazon Pinpoint. If you specify this value, an endpoint * definition in Amazon Pinpoint has to specify both a user ID (UserId) and an * endpoint ID. Otherwise, messages won’t be sent to the user's * endpoint.

*/ inline bool RecommendationProviderIdTypeHasBeenSet() const { return m_recommendationProviderIdTypeHasBeenSet; } /** *

The type of Amazon Pinpoint ID to associate with unique user IDs in the * recommender model. This value enables the model to use attribute and event data * that’s specific to a particular endpoint or user in an Amazon Pinpoint * application. Valid values are:

  • PINPOINT_ENDPOINT_ID - Associate * each user in the model with a particular endpoint in Amazon Pinpoint. The data * is correlated based on endpoint IDs in Amazon Pinpoint. This is the default * value.

  • PINPOINT_USER_ID - Associate each user in the model with * a particular user and endpoint in Amazon Pinpoint. The data is correlated based * on user IDs in Amazon Pinpoint. If you specify this value, an endpoint * definition in Amazon Pinpoint has to specify both a user ID (UserId) and an * endpoint ID. Otherwise, messages won’t be sent to the user's * endpoint.

*/ inline void SetRecommendationProviderIdType(const Aws::String& value) { m_recommendationProviderIdTypeHasBeenSet = true; m_recommendationProviderIdType = value; } /** *

The type of Amazon Pinpoint ID to associate with unique user IDs in the * recommender model. This value enables the model to use attribute and event data * that’s specific to a particular endpoint or user in an Amazon Pinpoint * application. Valid values are:

  • PINPOINT_ENDPOINT_ID - Associate * each user in the model with a particular endpoint in Amazon Pinpoint. The data * is correlated based on endpoint IDs in Amazon Pinpoint. This is the default * value.

  • PINPOINT_USER_ID - Associate each user in the model with * a particular user and endpoint in Amazon Pinpoint. The data is correlated based * on user IDs in Amazon Pinpoint. If you specify this value, an endpoint * definition in Amazon Pinpoint has to specify both a user ID (UserId) and an * endpoint ID. Otherwise, messages won’t be sent to the user's * endpoint.

*/ inline void SetRecommendationProviderIdType(Aws::String&& value) { m_recommendationProviderIdTypeHasBeenSet = true; m_recommendationProviderIdType = std::move(value); } /** *

The type of Amazon Pinpoint ID to associate with unique user IDs in the * recommender model. This value enables the model to use attribute and event data * that’s specific to a particular endpoint or user in an Amazon Pinpoint * application. Valid values are:

  • PINPOINT_ENDPOINT_ID - Associate * each user in the model with a particular endpoint in Amazon Pinpoint. The data * is correlated based on endpoint IDs in Amazon Pinpoint. This is the default * value.

  • PINPOINT_USER_ID - Associate each user in the model with * a particular user and endpoint in Amazon Pinpoint. The data is correlated based * on user IDs in Amazon Pinpoint. If you specify this value, an endpoint * definition in Amazon Pinpoint has to specify both a user ID (UserId) and an * endpoint ID. Otherwise, messages won’t be sent to the user's * endpoint.

*/ inline void SetRecommendationProviderIdType(const char* value) { m_recommendationProviderIdTypeHasBeenSet = true; m_recommendationProviderIdType.assign(value); } /** *

The type of Amazon Pinpoint ID to associate with unique user IDs in the * recommender model. This value enables the model to use attribute and event data * that’s specific to a particular endpoint or user in an Amazon Pinpoint * application. Valid values are:

  • PINPOINT_ENDPOINT_ID - Associate * each user in the model with a particular endpoint in Amazon Pinpoint. The data * is correlated based on endpoint IDs in Amazon Pinpoint. This is the default * value.

  • PINPOINT_USER_ID - Associate each user in the model with * a particular user and endpoint in Amazon Pinpoint. The data is correlated based * on user IDs in Amazon Pinpoint. If you specify this value, an endpoint * definition in Amazon Pinpoint has to specify both a user ID (UserId) and an * endpoint ID. Otherwise, messages won’t be sent to the user's * endpoint.

*/ inline UpdateRecommenderConfiguration& WithRecommendationProviderIdType(const Aws::String& value) { SetRecommendationProviderIdType(value); return *this;} /** *

The type of Amazon Pinpoint ID to associate with unique user IDs in the * recommender model. This value enables the model to use attribute and event data * that’s specific to a particular endpoint or user in an Amazon Pinpoint * application. Valid values are:

  • PINPOINT_ENDPOINT_ID - Associate * each user in the model with a particular endpoint in Amazon Pinpoint. The data * is correlated based on endpoint IDs in Amazon Pinpoint. This is the default * value.

  • PINPOINT_USER_ID - Associate each user in the model with * a particular user and endpoint in Amazon Pinpoint. The data is correlated based * on user IDs in Amazon Pinpoint. If you specify this value, an endpoint * definition in Amazon Pinpoint has to specify both a user ID (UserId) and an * endpoint ID. Otherwise, messages won’t be sent to the user's * endpoint.

*/ inline UpdateRecommenderConfiguration& WithRecommendationProviderIdType(Aws::String&& value) { SetRecommendationProviderIdType(std::move(value)); return *this;} /** *

The type of Amazon Pinpoint ID to associate with unique user IDs in the * recommender model. This value enables the model to use attribute and event data * that’s specific to a particular endpoint or user in an Amazon Pinpoint * application. Valid values are:

  • PINPOINT_ENDPOINT_ID - Associate * each user in the model with a particular endpoint in Amazon Pinpoint. The data * is correlated based on endpoint IDs in Amazon Pinpoint. This is the default * value.

  • PINPOINT_USER_ID - Associate each user in the model with * a particular user and endpoint in Amazon Pinpoint. The data is correlated based * on user IDs in Amazon Pinpoint. If you specify this value, an endpoint * definition in Amazon Pinpoint has to specify both a user ID (UserId) and an * endpoint ID. Otherwise, messages won’t be sent to the user's * endpoint.

*/ inline UpdateRecommenderConfiguration& WithRecommendationProviderIdType(const char* value) { SetRecommendationProviderIdType(value); return *this;} /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from * the recommender model.

*/ inline const Aws::String& GetRecommendationProviderRoleArn() const{ return m_recommendationProviderRoleArn; } /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from * the recommender model.

*/ inline bool RecommendationProviderRoleArnHasBeenSet() const { return m_recommendationProviderRoleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from * the recommender model.

*/ inline void SetRecommendationProviderRoleArn(const Aws::String& value) { m_recommendationProviderRoleArnHasBeenSet = true; m_recommendationProviderRoleArn = value; } /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from * the recommender model.

*/ inline void SetRecommendationProviderRoleArn(Aws::String&& value) { m_recommendationProviderRoleArnHasBeenSet = true; m_recommendationProviderRoleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from * the recommender model.

*/ inline void SetRecommendationProviderRoleArn(const char* value) { m_recommendationProviderRoleArnHasBeenSet = true; m_recommendationProviderRoleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from * the recommender model.

*/ inline UpdateRecommenderConfiguration& WithRecommendationProviderRoleArn(const Aws::String& value) { SetRecommendationProviderRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from * the recommender model.

*/ inline UpdateRecommenderConfiguration& WithRecommendationProviderRoleArn(Aws::String&& value) { SetRecommendationProviderRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from * the recommender model.

*/ inline UpdateRecommenderConfiguration& WithRecommendationProviderRoleArn(const char* value) { SetRecommendationProviderRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the recommender model to retrieve * recommendation data from. This value must match the ARN of an Amazon Personalize * campaign.

*/ inline const Aws::String& GetRecommendationProviderUri() const{ return m_recommendationProviderUri; } /** *

The Amazon Resource Name (ARN) of the recommender model to retrieve * recommendation data from. This value must match the ARN of an Amazon Personalize * campaign.

*/ inline bool RecommendationProviderUriHasBeenSet() const { return m_recommendationProviderUriHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the recommender model to retrieve * recommendation data from. This value must match the ARN of an Amazon Personalize * campaign.

*/ inline void SetRecommendationProviderUri(const Aws::String& value) { m_recommendationProviderUriHasBeenSet = true; m_recommendationProviderUri = value; } /** *

The Amazon Resource Name (ARN) of the recommender model to retrieve * recommendation data from. This value must match the ARN of an Amazon Personalize * campaign.

*/ inline void SetRecommendationProviderUri(Aws::String&& value) { m_recommendationProviderUriHasBeenSet = true; m_recommendationProviderUri = std::move(value); } /** *

The Amazon Resource Name (ARN) of the recommender model to retrieve * recommendation data from. This value must match the ARN of an Amazon Personalize * campaign.

*/ inline void SetRecommendationProviderUri(const char* value) { m_recommendationProviderUriHasBeenSet = true; m_recommendationProviderUri.assign(value); } /** *

The Amazon Resource Name (ARN) of the recommender model to retrieve * recommendation data from. This value must match the ARN of an Amazon Personalize * campaign.

*/ inline UpdateRecommenderConfiguration& WithRecommendationProviderUri(const Aws::String& value) { SetRecommendationProviderUri(value); return *this;} /** *

The Amazon Resource Name (ARN) of the recommender model to retrieve * recommendation data from. This value must match the ARN of an Amazon Personalize * campaign.

*/ inline UpdateRecommenderConfiguration& WithRecommendationProviderUri(Aws::String&& value) { SetRecommendationProviderUri(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the recommender model to retrieve * recommendation data from. This value must match the ARN of an Amazon Personalize * campaign.

*/ inline UpdateRecommenderConfiguration& WithRecommendationProviderUri(const char* value) { SetRecommendationProviderUri(value); return *this;} /** *

The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke * for additional processing of recommendation data that's retrieved from the * recommender model.

*/ inline const Aws::String& GetRecommendationTransformerUri() const{ return m_recommendationTransformerUri; } /** *

The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke * for additional processing of recommendation data that's retrieved from the * recommender model.

*/ inline bool RecommendationTransformerUriHasBeenSet() const { return m_recommendationTransformerUriHasBeenSet; } /** *

The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke * for additional processing of recommendation data that's retrieved from the * recommender model.

*/ inline void SetRecommendationTransformerUri(const Aws::String& value) { m_recommendationTransformerUriHasBeenSet = true; m_recommendationTransformerUri = value; } /** *

The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke * for additional processing of recommendation data that's retrieved from the * recommender model.

*/ inline void SetRecommendationTransformerUri(Aws::String&& value) { m_recommendationTransformerUriHasBeenSet = true; m_recommendationTransformerUri = std::move(value); } /** *

The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke * for additional processing of recommendation data that's retrieved from the * recommender model.

*/ inline void SetRecommendationTransformerUri(const char* value) { m_recommendationTransformerUriHasBeenSet = true; m_recommendationTransformerUri.assign(value); } /** *

The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke * for additional processing of recommendation data that's retrieved from the * recommender model.

*/ inline UpdateRecommenderConfiguration& WithRecommendationTransformerUri(const Aws::String& value) { SetRecommendationTransformerUri(value); return *this;} /** *

The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke * for additional processing of recommendation data that's retrieved from the * recommender model.

*/ inline UpdateRecommenderConfiguration& WithRecommendationTransformerUri(Aws::String&& value) { SetRecommendationTransformerUri(std::move(value)); return *this;} /** *

The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke * for additional processing of recommendation data that's retrieved from the * recommender model.

*/ inline UpdateRecommenderConfiguration& WithRecommendationTransformerUri(const char* value) { SetRecommendationTransformerUri(value); return *this;} /** *

A custom display name for the standard endpoint or user attribute * (RecommendationItems) that temporarily stores recommended items for each * endpoint or user, depending on the value for the RecommendationProviderIdType * property. This value is required if the configuration doesn't invoke an AWS * Lambda function (RecommendationTransformerUri) to perform additional processing * of recommendation data.

This name appears in the Attribute finder * of the template editor on the Amazon Pinpoint console. The name can contain up * to 25 characters. The characters can be letters, numbers, spaces, underscores * (_), or hyphens (-). These restrictions don't apply to attribute values.

*/ inline const Aws::String& GetRecommendationsDisplayName() const{ return m_recommendationsDisplayName; } /** *

A custom display name for the standard endpoint or user attribute * (RecommendationItems) that temporarily stores recommended items for each * endpoint or user, depending on the value for the RecommendationProviderIdType * property. This value is required if the configuration doesn't invoke an AWS * Lambda function (RecommendationTransformerUri) to perform additional processing * of recommendation data.

This name appears in the Attribute finder * of the template editor on the Amazon Pinpoint console. The name can contain up * to 25 characters. The characters can be letters, numbers, spaces, underscores * (_), or hyphens (-). These restrictions don't apply to attribute values.

*/ inline bool RecommendationsDisplayNameHasBeenSet() const { return m_recommendationsDisplayNameHasBeenSet; } /** *

A custom display name for the standard endpoint or user attribute * (RecommendationItems) that temporarily stores recommended items for each * endpoint or user, depending on the value for the RecommendationProviderIdType * property. This value is required if the configuration doesn't invoke an AWS * Lambda function (RecommendationTransformerUri) to perform additional processing * of recommendation data.

This name appears in the Attribute finder * of the template editor on the Amazon Pinpoint console. The name can contain up * to 25 characters. The characters can be letters, numbers, spaces, underscores * (_), or hyphens (-). These restrictions don't apply to attribute values.

*/ inline void SetRecommendationsDisplayName(const Aws::String& value) { m_recommendationsDisplayNameHasBeenSet = true; m_recommendationsDisplayName = value; } /** *

A custom display name for the standard endpoint or user attribute * (RecommendationItems) that temporarily stores recommended items for each * endpoint or user, depending on the value for the RecommendationProviderIdType * property. This value is required if the configuration doesn't invoke an AWS * Lambda function (RecommendationTransformerUri) to perform additional processing * of recommendation data.

This name appears in the Attribute finder * of the template editor on the Amazon Pinpoint console. The name can contain up * to 25 characters. The characters can be letters, numbers, spaces, underscores * (_), or hyphens (-). These restrictions don't apply to attribute values.

*/ inline void SetRecommendationsDisplayName(Aws::String&& value) { m_recommendationsDisplayNameHasBeenSet = true; m_recommendationsDisplayName = std::move(value); } /** *

A custom display name for the standard endpoint or user attribute * (RecommendationItems) that temporarily stores recommended items for each * endpoint or user, depending on the value for the RecommendationProviderIdType * property. This value is required if the configuration doesn't invoke an AWS * Lambda function (RecommendationTransformerUri) to perform additional processing * of recommendation data.

This name appears in the Attribute finder * of the template editor on the Amazon Pinpoint console. The name can contain up * to 25 characters. The characters can be letters, numbers, spaces, underscores * (_), or hyphens (-). These restrictions don't apply to attribute values.

*/ inline void SetRecommendationsDisplayName(const char* value) { m_recommendationsDisplayNameHasBeenSet = true; m_recommendationsDisplayName.assign(value); } /** *

A custom display name for the standard endpoint or user attribute * (RecommendationItems) that temporarily stores recommended items for each * endpoint or user, depending on the value for the RecommendationProviderIdType * property. This value is required if the configuration doesn't invoke an AWS * Lambda function (RecommendationTransformerUri) to perform additional processing * of recommendation data.

This name appears in the Attribute finder * of the template editor on the Amazon Pinpoint console. The name can contain up * to 25 characters. The characters can be letters, numbers, spaces, underscores * (_), or hyphens (-). These restrictions don't apply to attribute values.

*/ inline UpdateRecommenderConfiguration& WithRecommendationsDisplayName(const Aws::String& value) { SetRecommendationsDisplayName(value); return *this;} /** *

A custom display name for the standard endpoint or user attribute * (RecommendationItems) that temporarily stores recommended items for each * endpoint or user, depending on the value for the RecommendationProviderIdType * property. This value is required if the configuration doesn't invoke an AWS * Lambda function (RecommendationTransformerUri) to perform additional processing * of recommendation data.

This name appears in the Attribute finder * of the template editor on the Amazon Pinpoint console. The name can contain up * to 25 characters. The characters can be letters, numbers, spaces, underscores * (_), or hyphens (-). These restrictions don't apply to attribute values.

*/ inline UpdateRecommenderConfiguration& WithRecommendationsDisplayName(Aws::String&& value) { SetRecommendationsDisplayName(std::move(value)); return *this;} /** *

A custom display name for the standard endpoint or user attribute * (RecommendationItems) that temporarily stores recommended items for each * endpoint or user, depending on the value for the RecommendationProviderIdType * property. This value is required if the configuration doesn't invoke an AWS * Lambda function (RecommendationTransformerUri) to perform additional processing * of recommendation data.

This name appears in the Attribute finder * of the template editor on the Amazon Pinpoint console. The name can contain up * to 25 characters. The characters can be letters, numbers, spaces, underscores * (_), or hyphens (-). These restrictions don't apply to attribute values.

*/ inline UpdateRecommenderConfiguration& WithRecommendationsDisplayName(const char* value) { SetRecommendationsDisplayName(value); return *this;} /** *

The number of recommended items to retrieve from the model for each endpoint * or user, depending on the value for the RecommendationProviderIdType property. * This number determines how many recommended items are available for use in * message variables. The minimum value is 1. The maximum value is 5. The default * value is 5.

To use multiple recommended items and custom attributes with * message variables, you have to use an AWS Lambda function * (RecommendationTransformerUri) to perform additional processing of * recommendation data.

*/ inline int GetRecommendationsPerMessage() const{ return m_recommendationsPerMessage; } /** *

The number of recommended items to retrieve from the model for each endpoint * or user, depending on the value for the RecommendationProviderIdType property. * This number determines how many recommended items are available for use in * message variables. The minimum value is 1. The maximum value is 5. The default * value is 5.

To use multiple recommended items and custom attributes with * message variables, you have to use an AWS Lambda function * (RecommendationTransformerUri) to perform additional processing of * recommendation data.

*/ inline bool RecommendationsPerMessageHasBeenSet() const { return m_recommendationsPerMessageHasBeenSet; } /** *

The number of recommended items to retrieve from the model for each endpoint * or user, depending on the value for the RecommendationProviderIdType property. * This number determines how many recommended items are available for use in * message variables. The minimum value is 1. The maximum value is 5. The default * value is 5.

To use multiple recommended items and custom attributes with * message variables, you have to use an AWS Lambda function * (RecommendationTransformerUri) to perform additional processing of * recommendation data.

*/ inline void SetRecommendationsPerMessage(int value) { m_recommendationsPerMessageHasBeenSet = true; m_recommendationsPerMessage = value; } /** *

The number of recommended items to retrieve from the model for each endpoint * or user, depending on the value for the RecommendationProviderIdType property. * This number determines how many recommended items are available for use in * message variables. The minimum value is 1. The maximum value is 5. The default * value is 5.

To use multiple recommended items and custom attributes with * message variables, you have to use an AWS Lambda function * (RecommendationTransformerUri) to perform additional processing of * recommendation data.

*/ inline UpdateRecommenderConfiguration& WithRecommendationsPerMessage(int value) { SetRecommendationsPerMessage(value); return *this;} private: Aws::Map m_attributes; bool m_attributesHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_recommendationProviderIdType; bool m_recommendationProviderIdTypeHasBeenSet = false; Aws::String m_recommendationProviderRoleArn; bool m_recommendationProviderRoleArnHasBeenSet = false; Aws::String m_recommendationProviderUri; bool m_recommendationProviderUriHasBeenSet = false; Aws::String m_recommendationTransformerUri; bool m_recommendationTransformerUriHasBeenSet = false; Aws::String m_recommendationsDisplayName; bool m_recommendationsDisplayNameHasBeenSet = false; int m_recommendationsPerMessage; bool m_recommendationsPerMessageHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws