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

The configuration details of the recommender.

See Also:

AWS * API Reference

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

Specifies the exploration configuration hyperparameters, including * explorationWeight and explorationItemAgeCutOff, you * want to use to configure the amount of item exploration Amazon Personalize uses * when recommending items. Provide itemExplorationConfig data only if * your recommenders generate personalized recommendations for a user (not popular * items or similar items).

*/ inline const Aws::Map& GetItemExplorationConfig() const{ return m_itemExplorationConfig; } /** *

Specifies the exploration configuration hyperparameters, including * explorationWeight and explorationItemAgeCutOff, you * want to use to configure the amount of item exploration Amazon Personalize uses * when recommending items. Provide itemExplorationConfig data only if * your recommenders generate personalized recommendations for a user (not popular * items or similar items).

*/ inline bool ItemExplorationConfigHasBeenSet() const { return m_itemExplorationConfigHasBeenSet; } /** *

Specifies the exploration configuration hyperparameters, including * explorationWeight and explorationItemAgeCutOff, you * want to use to configure the amount of item exploration Amazon Personalize uses * when recommending items. Provide itemExplorationConfig data only if * your recommenders generate personalized recommendations for a user (not popular * items or similar items).

*/ inline void SetItemExplorationConfig(const Aws::Map& value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig = value; } /** *

Specifies the exploration configuration hyperparameters, including * explorationWeight and explorationItemAgeCutOff, you * want to use to configure the amount of item exploration Amazon Personalize uses * when recommending items. Provide itemExplorationConfig data only if * your recommenders generate personalized recommendations for a user (not popular * items or similar items).

*/ inline void SetItemExplorationConfig(Aws::Map&& value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig = std::move(value); } /** *

Specifies the exploration configuration hyperparameters, including * explorationWeight and explorationItemAgeCutOff, you * want to use to configure the amount of item exploration Amazon Personalize uses * when recommending items. Provide itemExplorationConfig data only if * your recommenders generate personalized recommendations for a user (not popular * items or similar items).

*/ inline RecommenderConfig& WithItemExplorationConfig(const Aws::Map& value) { SetItemExplorationConfig(value); return *this;} /** *

Specifies the exploration configuration hyperparameters, including * explorationWeight and explorationItemAgeCutOff, you * want to use to configure the amount of item exploration Amazon Personalize uses * when recommending items. Provide itemExplorationConfig data only if * your recommenders generate personalized recommendations for a user (not popular * items or similar items).

*/ inline RecommenderConfig& WithItemExplorationConfig(Aws::Map&& value) { SetItemExplorationConfig(std::move(value)); return *this;} /** *

Specifies the exploration configuration hyperparameters, including * explorationWeight and explorationItemAgeCutOff, you * want to use to configure the amount of item exploration Amazon Personalize uses * when recommending items. Provide itemExplorationConfig data only if * your recommenders generate personalized recommendations for a user (not popular * items or similar items).

*/ inline RecommenderConfig& AddItemExplorationConfig(const Aws::String& key, const Aws::String& value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig.emplace(key, value); return *this; } /** *

Specifies the exploration configuration hyperparameters, including * explorationWeight and explorationItemAgeCutOff, you * want to use to configure the amount of item exploration Amazon Personalize uses * when recommending items. Provide itemExplorationConfig data only if * your recommenders generate personalized recommendations for a user (not popular * items or similar items).

*/ inline RecommenderConfig& AddItemExplorationConfig(Aws::String&& key, const Aws::String& value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig.emplace(std::move(key), value); return *this; } /** *

Specifies the exploration configuration hyperparameters, including * explorationWeight and explorationItemAgeCutOff, you * want to use to configure the amount of item exploration Amazon Personalize uses * when recommending items. Provide itemExplorationConfig data only if * your recommenders generate personalized recommendations for a user (not popular * items or similar items).

*/ inline RecommenderConfig& AddItemExplorationConfig(const Aws::String& key, Aws::String&& value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig.emplace(key, std::move(value)); return *this; } /** *

Specifies the exploration configuration hyperparameters, including * explorationWeight and explorationItemAgeCutOff, you * want to use to configure the amount of item exploration Amazon Personalize uses * when recommending items. Provide itemExplorationConfig data only if * your recommenders generate personalized recommendations for a user (not popular * items or similar items).

*/ inline RecommenderConfig& AddItemExplorationConfig(Aws::String&& key, Aws::String&& value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig.emplace(std::move(key), std::move(value)); return *this; } /** *

Specifies the exploration configuration hyperparameters, including * explorationWeight and explorationItemAgeCutOff, you * want to use to configure the amount of item exploration Amazon Personalize uses * when recommending items. Provide itemExplorationConfig data only if * your recommenders generate personalized recommendations for a user (not popular * items or similar items).

*/ inline RecommenderConfig& AddItemExplorationConfig(const char* key, Aws::String&& value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig.emplace(key, std::move(value)); return *this; } /** *

Specifies the exploration configuration hyperparameters, including * explorationWeight and explorationItemAgeCutOff, you * want to use to configure the amount of item exploration Amazon Personalize uses * when recommending items. Provide itemExplorationConfig data only if * your recommenders generate personalized recommendations for a user (not popular * items or similar items).

*/ inline RecommenderConfig& AddItemExplorationConfig(Aws::String&& key, const char* value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig.emplace(std::move(key), value); return *this; } /** *

Specifies the exploration configuration hyperparameters, including * explorationWeight and explorationItemAgeCutOff, you * want to use to configure the amount of item exploration Amazon Personalize uses * when recommending items. Provide itemExplorationConfig data only if * your recommenders generate personalized recommendations for a user (not popular * items or similar items).

*/ inline RecommenderConfig& AddItemExplorationConfig(const char* key, const char* value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig.emplace(key, value); return *this; } /** *

Specifies the requested minimum provisioned recommendation requests per * second that Amazon Personalize will support. A high * minRecommendationRequestsPerSecond will increase your bill. We * recommend starting with 1 for minRecommendationRequestsPerSecond * (the default). Track your usage using Amazon CloudWatch metrics, and increase * the minRecommendationRequestsPerSecond as necessary.

*/ inline int GetMinRecommendationRequestsPerSecond() const{ return m_minRecommendationRequestsPerSecond; } /** *

Specifies the requested minimum provisioned recommendation requests per * second that Amazon Personalize will support. A high * minRecommendationRequestsPerSecond will increase your bill. We * recommend starting with 1 for minRecommendationRequestsPerSecond * (the default). Track your usage using Amazon CloudWatch metrics, and increase * the minRecommendationRequestsPerSecond as necessary.

*/ inline bool MinRecommendationRequestsPerSecondHasBeenSet() const { return m_minRecommendationRequestsPerSecondHasBeenSet; } /** *

Specifies the requested minimum provisioned recommendation requests per * second that Amazon Personalize will support. A high * minRecommendationRequestsPerSecond will increase your bill. We * recommend starting with 1 for minRecommendationRequestsPerSecond * (the default). Track your usage using Amazon CloudWatch metrics, and increase * the minRecommendationRequestsPerSecond as necessary.

*/ inline void SetMinRecommendationRequestsPerSecond(int value) { m_minRecommendationRequestsPerSecondHasBeenSet = true; m_minRecommendationRequestsPerSecond = value; } /** *

Specifies the requested minimum provisioned recommendation requests per * second that Amazon Personalize will support. A high * minRecommendationRequestsPerSecond will increase your bill. We * recommend starting with 1 for minRecommendationRequestsPerSecond * (the default). Track your usage using Amazon CloudWatch metrics, and increase * the minRecommendationRequestsPerSecond as necessary.

*/ inline RecommenderConfig& WithMinRecommendationRequestsPerSecond(int value) { SetMinRecommendationRequestsPerSecond(value); return *this;} /** *

Specifies the training data configuration to use when creating a domain * recommender.

*/ inline const TrainingDataConfig& GetTrainingDataConfig() const{ return m_trainingDataConfig; } /** *

Specifies the training data configuration to use when creating a domain * recommender.

*/ inline bool TrainingDataConfigHasBeenSet() const { return m_trainingDataConfigHasBeenSet; } /** *

Specifies the training data configuration to use when creating a domain * recommender.

*/ inline void SetTrainingDataConfig(const TrainingDataConfig& value) { m_trainingDataConfigHasBeenSet = true; m_trainingDataConfig = value; } /** *

Specifies the training data configuration to use when creating a domain * recommender.

*/ inline void SetTrainingDataConfig(TrainingDataConfig&& value) { m_trainingDataConfigHasBeenSet = true; m_trainingDataConfig = std::move(value); } /** *

Specifies the training data configuration to use when creating a domain * recommender.

*/ inline RecommenderConfig& WithTrainingDataConfig(const TrainingDataConfig& value) { SetTrainingDataConfig(value); return *this;} /** *

Specifies the training data configuration to use when creating a domain * recommender.

*/ inline RecommenderConfig& WithTrainingDataConfig(TrainingDataConfig&& value) { SetTrainingDataConfig(std::move(value)); return *this;} private: Aws::Map m_itemExplorationConfig; bool m_itemExplorationConfigHasBeenSet = false; int m_minRecommendationRequestsPerSecond; bool m_minRecommendationRequestsPerSecondHasBeenSet = false; TrainingDataConfig m_trainingDataConfig; bool m_trainingDataConfigHasBeenSet = false; }; } // namespace Model } // namespace Personalize } // namespace Aws