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

Describes the configuration properties for the solution.

See * Also:

AWS * API Reference

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

Only events with a value greater than or equal to this threshold are used for * training a model.

*/ inline const Aws::String& GetEventValueThreshold() const{ return m_eventValueThreshold; } /** *

Only events with a value greater than or equal to this threshold are used for * training a model.

*/ inline bool EventValueThresholdHasBeenSet() const { return m_eventValueThresholdHasBeenSet; } /** *

Only events with a value greater than or equal to this threshold are used for * training a model.

*/ inline void SetEventValueThreshold(const Aws::String& value) { m_eventValueThresholdHasBeenSet = true; m_eventValueThreshold = value; } /** *

Only events with a value greater than or equal to this threshold are used for * training a model.

*/ inline void SetEventValueThreshold(Aws::String&& value) { m_eventValueThresholdHasBeenSet = true; m_eventValueThreshold = std::move(value); } /** *

Only events with a value greater than or equal to this threshold are used for * training a model.

*/ inline void SetEventValueThreshold(const char* value) { m_eventValueThresholdHasBeenSet = true; m_eventValueThreshold.assign(value); } /** *

Only events with a value greater than or equal to this threshold are used for * training a model.

*/ inline SolutionConfig& WithEventValueThreshold(const Aws::String& value) { SetEventValueThreshold(value); return *this;} /** *

Only events with a value greater than or equal to this threshold are used for * training a model.

*/ inline SolutionConfig& WithEventValueThreshold(Aws::String&& value) { SetEventValueThreshold(std::move(value)); return *this;} /** *

Only events with a value greater than or equal to this threshold are used for * training a model.

*/ inline SolutionConfig& WithEventValueThreshold(const char* value) { SetEventValueThreshold(value); return *this;} /** *

Describes the properties for hyperparameter optimization (HPO).

*/ inline const HPOConfig& GetHpoConfig() const{ return m_hpoConfig; } /** *

Describes the properties for hyperparameter optimization (HPO).

*/ inline bool HpoConfigHasBeenSet() const { return m_hpoConfigHasBeenSet; } /** *

Describes the properties for hyperparameter optimization (HPO).

*/ inline void SetHpoConfig(const HPOConfig& value) { m_hpoConfigHasBeenSet = true; m_hpoConfig = value; } /** *

Describes the properties for hyperparameter optimization (HPO).

*/ inline void SetHpoConfig(HPOConfig&& value) { m_hpoConfigHasBeenSet = true; m_hpoConfig = std::move(value); } /** *

Describes the properties for hyperparameter optimization (HPO).

*/ inline SolutionConfig& WithHpoConfig(const HPOConfig& value) { SetHpoConfig(value); return *this;} /** *

Describes the properties for hyperparameter optimization (HPO).

*/ inline SolutionConfig& WithHpoConfig(HPOConfig&& value) { SetHpoConfig(std::move(value)); return *this;} /** *

Lists the hyperparameter names and ranges.

*/ inline const Aws::Map& GetAlgorithmHyperParameters() const{ return m_algorithmHyperParameters; } /** *

Lists the hyperparameter names and ranges.

*/ inline bool AlgorithmHyperParametersHasBeenSet() const { return m_algorithmHyperParametersHasBeenSet; } /** *

Lists the hyperparameter names and ranges.

*/ inline void SetAlgorithmHyperParameters(const Aws::Map& value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters = value; } /** *

Lists the hyperparameter names and ranges.

*/ inline void SetAlgorithmHyperParameters(Aws::Map&& value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters = std::move(value); } /** *

Lists the hyperparameter names and ranges.

*/ inline SolutionConfig& WithAlgorithmHyperParameters(const Aws::Map& value) { SetAlgorithmHyperParameters(value); return *this;} /** *

Lists the hyperparameter names and ranges.

*/ inline SolutionConfig& WithAlgorithmHyperParameters(Aws::Map&& value) { SetAlgorithmHyperParameters(std::move(value)); return *this;} /** *

Lists the hyperparameter names and ranges.

*/ inline SolutionConfig& AddAlgorithmHyperParameters(const Aws::String& key, const Aws::String& value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters.emplace(key, value); return *this; } /** *

Lists the hyperparameter names and ranges.

*/ inline SolutionConfig& AddAlgorithmHyperParameters(Aws::String&& key, const Aws::String& value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters.emplace(std::move(key), value); return *this; } /** *

Lists the hyperparameter names and ranges.

*/ inline SolutionConfig& AddAlgorithmHyperParameters(const Aws::String& key, Aws::String&& value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters.emplace(key, std::move(value)); return *this; } /** *

Lists the hyperparameter names and ranges.

*/ inline SolutionConfig& AddAlgorithmHyperParameters(Aws::String&& key, Aws::String&& value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters.emplace(std::move(key), std::move(value)); return *this; } /** *

Lists the hyperparameter names and ranges.

*/ inline SolutionConfig& AddAlgorithmHyperParameters(const char* key, Aws::String&& value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters.emplace(key, std::move(value)); return *this; } /** *

Lists the hyperparameter names and ranges.

*/ inline SolutionConfig& AddAlgorithmHyperParameters(Aws::String&& key, const char* value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters.emplace(std::move(key), value); return *this; } /** *

Lists the hyperparameter names and ranges.

*/ inline SolutionConfig& AddAlgorithmHyperParameters(const char* key, const char* value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters.emplace(key, value); return *this; } /** *

Lists the feature transformation parameters.

*/ inline const Aws::Map& GetFeatureTransformationParameters() const{ return m_featureTransformationParameters; } /** *

Lists the feature transformation parameters.

*/ inline bool FeatureTransformationParametersHasBeenSet() const { return m_featureTransformationParametersHasBeenSet; } /** *

Lists the feature transformation parameters.

*/ inline void SetFeatureTransformationParameters(const Aws::Map& value) { m_featureTransformationParametersHasBeenSet = true; m_featureTransformationParameters = value; } /** *

Lists the feature transformation parameters.

*/ inline void SetFeatureTransformationParameters(Aws::Map&& value) { m_featureTransformationParametersHasBeenSet = true; m_featureTransformationParameters = std::move(value); } /** *

Lists the feature transformation parameters.

*/ inline SolutionConfig& WithFeatureTransformationParameters(const Aws::Map& value) { SetFeatureTransformationParameters(value); return *this;} /** *

Lists the feature transformation parameters.

*/ inline SolutionConfig& WithFeatureTransformationParameters(Aws::Map&& value) { SetFeatureTransformationParameters(std::move(value)); return *this;} /** *

Lists the feature transformation parameters.

*/ inline SolutionConfig& AddFeatureTransformationParameters(const Aws::String& key, const Aws::String& value) { m_featureTransformationParametersHasBeenSet = true; m_featureTransformationParameters.emplace(key, value); return *this; } /** *

Lists the feature transformation parameters.

*/ inline SolutionConfig& AddFeatureTransformationParameters(Aws::String&& key, const Aws::String& value) { m_featureTransformationParametersHasBeenSet = true; m_featureTransformationParameters.emplace(std::move(key), value); return *this; } /** *

Lists the feature transformation parameters.

*/ inline SolutionConfig& AddFeatureTransformationParameters(const Aws::String& key, Aws::String&& value) { m_featureTransformationParametersHasBeenSet = true; m_featureTransformationParameters.emplace(key, std::move(value)); return *this; } /** *

Lists the feature transformation parameters.

*/ inline SolutionConfig& AddFeatureTransformationParameters(Aws::String&& key, Aws::String&& value) { m_featureTransformationParametersHasBeenSet = true; m_featureTransformationParameters.emplace(std::move(key), std::move(value)); return *this; } /** *

Lists the feature transformation parameters.

*/ inline SolutionConfig& AddFeatureTransformationParameters(const char* key, Aws::String&& value) { m_featureTransformationParametersHasBeenSet = true; m_featureTransformationParameters.emplace(key, std::move(value)); return *this; } /** *

Lists the feature transformation parameters.

*/ inline SolutionConfig& AddFeatureTransformationParameters(Aws::String&& key, const char* value) { m_featureTransformationParametersHasBeenSet = true; m_featureTransformationParameters.emplace(std::move(key), value); return *this; } /** *

Lists the feature transformation parameters.

*/ inline SolutionConfig& AddFeatureTransformationParameters(const char* key, const char* value) { m_featureTransformationParametersHasBeenSet = true; m_featureTransformationParameters.emplace(key, value); return *this; } /** *

The AutoMLConfig * object containing a list of recipes to search when AutoML is performed.

*/ inline const AutoMLConfig& GetAutoMLConfig() const{ return m_autoMLConfig; } /** *

The AutoMLConfig * object containing a list of recipes to search when AutoML is performed.

*/ inline bool AutoMLConfigHasBeenSet() const { return m_autoMLConfigHasBeenSet; } /** *

The AutoMLConfig * object containing a list of recipes to search when AutoML is performed.

*/ inline void SetAutoMLConfig(const AutoMLConfig& value) { m_autoMLConfigHasBeenSet = true; m_autoMLConfig = value; } /** *

The AutoMLConfig * object containing a list of recipes to search when AutoML is performed.

*/ inline void SetAutoMLConfig(AutoMLConfig&& value) { m_autoMLConfigHasBeenSet = true; m_autoMLConfig = std::move(value); } /** *

The AutoMLConfig * object containing a list of recipes to search when AutoML is performed.

*/ inline SolutionConfig& WithAutoMLConfig(const AutoMLConfig& value) { SetAutoMLConfig(value); return *this;} /** *

The AutoMLConfig * object containing a list of recipes to search when AutoML is performed.

*/ inline SolutionConfig& WithAutoMLConfig(AutoMLConfig&& value) { SetAutoMLConfig(std::move(value)); return *this;} /** *

Describes the additional objective for the solution, such as maximizing * streaming minutes or increasing revenue. For more information see Optimizing * a solution.

*/ inline const OptimizationObjective& GetOptimizationObjective() const{ return m_optimizationObjective; } /** *

Describes the additional objective for the solution, such as maximizing * streaming minutes or increasing revenue. For more information see Optimizing * a solution.

*/ inline bool OptimizationObjectiveHasBeenSet() const { return m_optimizationObjectiveHasBeenSet; } /** *

Describes the additional objective for the solution, such as maximizing * streaming minutes or increasing revenue. For more information see Optimizing * a solution.

*/ inline void SetOptimizationObjective(const OptimizationObjective& value) { m_optimizationObjectiveHasBeenSet = true; m_optimizationObjective = value; } /** *

Describes the additional objective for the solution, such as maximizing * streaming minutes or increasing revenue. For more information see Optimizing * a solution.

*/ inline void SetOptimizationObjective(OptimizationObjective&& value) { m_optimizationObjectiveHasBeenSet = true; m_optimizationObjective = std::move(value); } /** *

Describes the additional objective for the solution, such as maximizing * streaming minutes or increasing revenue. For more information see Optimizing * a solution.

*/ inline SolutionConfig& WithOptimizationObjective(const OptimizationObjective& value) { SetOptimizationObjective(value); return *this;} /** *

Describes the additional objective for the solution, such as maximizing * streaming minutes or increasing revenue. For more information see Optimizing * a solution.

*/ inline SolutionConfig& WithOptimizationObjective(OptimizationObjective&& value) { SetOptimizationObjective(std::move(value)); return *this;} /** *

Specifies the training data configuration to use when creating a custom * solution version (trained model).

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

Specifies the training data configuration to use when creating a custom * solution version (trained model).

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

Specifies the training data configuration to use when creating a custom * solution version (trained model).

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

Specifies the training data configuration to use when creating a custom * solution version (trained model).

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

Specifies the training data configuration to use when creating a custom * solution version (trained model).

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

Specifies the training data configuration to use when creating a custom * solution version (trained model).

*/ inline SolutionConfig& WithTrainingDataConfig(TrainingDataConfig&& value) { SetTrainingDataConfig(std::move(value)); return *this;} private: Aws::String m_eventValueThreshold; bool m_eventValueThresholdHasBeenSet = false; HPOConfig m_hpoConfig; bool m_hpoConfigHasBeenSet = false; Aws::Map m_algorithmHyperParameters; bool m_algorithmHyperParametersHasBeenSet = false; Aws::Map m_featureTransformationParameters; bool m_featureTransformationParametersHasBeenSet = false; AutoMLConfig m_autoMLConfig; bool m_autoMLConfigHasBeenSet = false; OptimizationObjective m_optimizationObjective; bool m_optimizationObjectiveHasBeenSet = false; TrainingDataConfig m_trainingDataConfig; bool m_trainingDataConfigHasBeenSet = false; }; } // namespace Model } // namespace Personalize } // namespace Aws