/** * 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 #include #include #include #include #include #include namespace Aws { namespace ForecastService { namespace Model { /** */ class CreatePredictorRequest : public ForecastServiceRequest { public: AWS_FORECASTSERVICE_API CreatePredictorRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreatePredictor"; } AWS_FORECASTSERVICE_API Aws::String SerializePayload() const override; AWS_FORECASTSERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A name for the predictor.

*/ inline const Aws::String& GetPredictorName() const{ return m_predictorName; } /** *

A name for the predictor.

*/ inline bool PredictorNameHasBeenSet() const { return m_predictorNameHasBeenSet; } /** *

A name for the predictor.

*/ inline void SetPredictorName(const Aws::String& value) { m_predictorNameHasBeenSet = true; m_predictorName = value; } /** *

A name for the predictor.

*/ inline void SetPredictorName(Aws::String&& value) { m_predictorNameHasBeenSet = true; m_predictorName = std::move(value); } /** *

A name for the predictor.

*/ inline void SetPredictorName(const char* value) { m_predictorNameHasBeenSet = true; m_predictorName.assign(value); } /** *

A name for the predictor.

*/ inline CreatePredictorRequest& WithPredictorName(const Aws::String& value) { SetPredictorName(value); return *this;} /** *

A name for the predictor.

*/ inline CreatePredictorRequest& WithPredictorName(Aws::String&& value) { SetPredictorName(std::move(value)); return *this;} /** *

A name for the predictor.

*/ inline CreatePredictorRequest& WithPredictorName(const char* value) { SetPredictorName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the algorithm to use for model training. * Required if PerformAutoML is not set to true.

Supported algorithms:

  • * arn:aws:forecast:::algorithm/ARIMA

  • * arn:aws:forecast:::algorithm/CNN-QR

  • * arn:aws:forecast:::algorithm/Deep_AR_Plus

  • * arn:aws:forecast:::algorithm/ETS

  • * arn:aws:forecast:::algorithm/NPTS

  • * arn:aws:forecast:::algorithm/Prophet

*/ inline const Aws::String& GetAlgorithmArn() const{ return m_algorithmArn; } /** *

The Amazon Resource Name (ARN) of the algorithm to use for model training. * Required if PerformAutoML is not set to true.

Supported algorithms:

  • * arn:aws:forecast:::algorithm/ARIMA

  • * arn:aws:forecast:::algorithm/CNN-QR

  • * arn:aws:forecast:::algorithm/Deep_AR_Plus

  • * arn:aws:forecast:::algorithm/ETS

  • * arn:aws:forecast:::algorithm/NPTS

  • * arn:aws:forecast:::algorithm/Prophet

*/ inline bool AlgorithmArnHasBeenSet() const { return m_algorithmArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the algorithm to use for model training. * Required if PerformAutoML is not set to true.

Supported algorithms:

  • * arn:aws:forecast:::algorithm/ARIMA

  • * arn:aws:forecast:::algorithm/CNN-QR

  • * arn:aws:forecast:::algorithm/Deep_AR_Plus

  • * arn:aws:forecast:::algorithm/ETS

  • * arn:aws:forecast:::algorithm/NPTS

  • * arn:aws:forecast:::algorithm/Prophet

*/ inline void SetAlgorithmArn(const Aws::String& value) { m_algorithmArnHasBeenSet = true; m_algorithmArn = value; } /** *

The Amazon Resource Name (ARN) of the algorithm to use for model training. * Required if PerformAutoML is not set to true.

Supported algorithms:

  • * arn:aws:forecast:::algorithm/ARIMA

  • * arn:aws:forecast:::algorithm/CNN-QR

  • * arn:aws:forecast:::algorithm/Deep_AR_Plus

  • * arn:aws:forecast:::algorithm/ETS

  • * arn:aws:forecast:::algorithm/NPTS

  • * arn:aws:forecast:::algorithm/Prophet

*/ inline void SetAlgorithmArn(Aws::String&& value) { m_algorithmArnHasBeenSet = true; m_algorithmArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the algorithm to use for model training. * Required if PerformAutoML is not set to true.

Supported algorithms:

  • * arn:aws:forecast:::algorithm/ARIMA

  • * arn:aws:forecast:::algorithm/CNN-QR

  • * arn:aws:forecast:::algorithm/Deep_AR_Plus

  • * arn:aws:forecast:::algorithm/ETS

  • * arn:aws:forecast:::algorithm/NPTS

  • * arn:aws:forecast:::algorithm/Prophet

*/ inline void SetAlgorithmArn(const char* value) { m_algorithmArnHasBeenSet = true; m_algorithmArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the algorithm to use for model training. * Required if PerformAutoML is not set to true.

Supported algorithms:

  • * arn:aws:forecast:::algorithm/ARIMA

  • * arn:aws:forecast:::algorithm/CNN-QR

  • * arn:aws:forecast:::algorithm/Deep_AR_Plus

  • * arn:aws:forecast:::algorithm/ETS

  • * arn:aws:forecast:::algorithm/NPTS

  • * arn:aws:forecast:::algorithm/Prophet

*/ inline CreatePredictorRequest& WithAlgorithmArn(const Aws::String& value) { SetAlgorithmArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the algorithm to use for model training. * Required if PerformAutoML is not set to true.

Supported algorithms:

  • * arn:aws:forecast:::algorithm/ARIMA

  • * arn:aws:forecast:::algorithm/CNN-QR

  • * arn:aws:forecast:::algorithm/Deep_AR_Plus

  • * arn:aws:forecast:::algorithm/ETS

  • * arn:aws:forecast:::algorithm/NPTS

  • * arn:aws:forecast:::algorithm/Prophet

*/ inline CreatePredictorRequest& WithAlgorithmArn(Aws::String&& value) { SetAlgorithmArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the algorithm to use for model training. * Required if PerformAutoML is not set to true.

Supported algorithms:

  • * arn:aws:forecast:::algorithm/ARIMA

  • * arn:aws:forecast:::algorithm/CNN-QR

  • * arn:aws:forecast:::algorithm/Deep_AR_Plus

  • * arn:aws:forecast:::algorithm/ETS

  • * arn:aws:forecast:::algorithm/NPTS

  • * arn:aws:forecast:::algorithm/Prophet

*/ inline CreatePredictorRequest& WithAlgorithmArn(const char* value) { SetAlgorithmArn(value); return *this;} /** *

Specifies the number of time-steps that the model is trained to predict. The * forecast horizon is also called the prediction length.

For example, if * you configure a dataset for daily data collection (using the * DataFrequency parameter of the CreateDataset operation) and * set the forecast horizon to 10, the model returns predictions for 10 days.

*

The maximum forecast horizon is the lesser of 500 time-steps or 1/3 of the * TARGET_TIME_SERIES dataset length.

*/ inline int GetForecastHorizon() const{ return m_forecastHorizon; } /** *

Specifies the number of time-steps that the model is trained to predict. The * forecast horizon is also called the prediction length.

For example, if * you configure a dataset for daily data collection (using the * DataFrequency parameter of the CreateDataset operation) and * set the forecast horizon to 10, the model returns predictions for 10 days.

*

The maximum forecast horizon is the lesser of 500 time-steps or 1/3 of the * TARGET_TIME_SERIES dataset length.

*/ inline bool ForecastHorizonHasBeenSet() const { return m_forecastHorizonHasBeenSet; } /** *

Specifies the number of time-steps that the model is trained to predict. The * forecast horizon is also called the prediction length.

For example, if * you configure a dataset for daily data collection (using the * DataFrequency parameter of the CreateDataset operation) and * set the forecast horizon to 10, the model returns predictions for 10 days.

*

The maximum forecast horizon is the lesser of 500 time-steps or 1/3 of the * TARGET_TIME_SERIES dataset length.

*/ inline void SetForecastHorizon(int value) { m_forecastHorizonHasBeenSet = true; m_forecastHorizon = value; } /** *

Specifies the number of time-steps that the model is trained to predict. The * forecast horizon is also called the prediction length.

For example, if * you configure a dataset for daily data collection (using the * DataFrequency parameter of the CreateDataset operation) and * set the forecast horizon to 10, the model returns predictions for 10 days.

*

The maximum forecast horizon is the lesser of 500 time-steps or 1/3 of the * TARGET_TIME_SERIES dataset length.

*/ inline CreatePredictorRequest& WithForecastHorizon(int value) { SetForecastHorizon(value); return *this;} /** *

Specifies the forecast types used to train a predictor. You can specify up to * five forecast types. Forecast types can be quantiles from 0.01 to 0.99, by * increments of 0.01 or higher. You can also specify the mean forecast with * mean.

The default value is ["0.10", "0.50", * "0.9"].

*/ inline const Aws::Vector& GetForecastTypes() const{ return m_forecastTypes; } /** *

Specifies the forecast types used to train a predictor. You can specify up to * five forecast types. Forecast types can be quantiles from 0.01 to 0.99, by * increments of 0.01 or higher. You can also specify the mean forecast with * mean.

The default value is ["0.10", "0.50", * "0.9"].

*/ inline bool ForecastTypesHasBeenSet() const { return m_forecastTypesHasBeenSet; } /** *

Specifies the forecast types used to train a predictor. You can specify up to * five forecast types. Forecast types can be quantiles from 0.01 to 0.99, by * increments of 0.01 or higher. You can also specify the mean forecast with * mean.

The default value is ["0.10", "0.50", * "0.9"].

*/ inline void SetForecastTypes(const Aws::Vector& value) { m_forecastTypesHasBeenSet = true; m_forecastTypes = value; } /** *

Specifies the forecast types used to train a predictor. You can specify up to * five forecast types. Forecast types can be quantiles from 0.01 to 0.99, by * increments of 0.01 or higher. You can also specify the mean forecast with * mean.

The default value is ["0.10", "0.50", * "0.9"].

*/ inline void SetForecastTypes(Aws::Vector&& value) { m_forecastTypesHasBeenSet = true; m_forecastTypes = std::move(value); } /** *

Specifies the forecast types used to train a predictor. You can specify up to * five forecast types. Forecast types can be quantiles from 0.01 to 0.99, by * increments of 0.01 or higher. You can also specify the mean forecast with * mean.

The default value is ["0.10", "0.50", * "0.9"].

*/ inline CreatePredictorRequest& WithForecastTypes(const Aws::Vector& value) { SetForecastTypes(value); return *this;} /** *

Specifies the forecast types used to train a predictor. You can specify up to * five forecast types. Forecast types can be quantiles from 0.01 to 0.99, by * increments of 0.01 or higher. You can also specify the mean forecast with * mean.

The default value is ["0.10", "0.50", * "0.9"].

*/ inline CreatePredictorRequest& WithForecastTypes(Aws::Vector&& value) { SetForecastTypes(std::move(value)); return *this;} /** *

Specifies the forecast types used to train a predictor. You can specify up to * five forecast types. Forecast types can be quantiles from 0.01 to 0.99, by * increments of 0.01 or higher. You can also specify the mean forecast with * mean.

The default value is ["0.10", "0.50", * "0.9"].

*/ inline CreatePredictorRequest& AddForecastTypes(const Aws::String& value) { m_forecastTypesHasBeenSet = true; m_forecastTypes.push_back(value); return *this; } /** *

Specifies the forecast types used to train a predictor. You can specify up to * five forecast types. Forecast types can be quantiles from 0.01 to 0.99, by * increments of 0.01 or higher. You can also specify the mean forecast with * mean.

The default value is ["0.10", "0.50", * "0.9"].

*/ inline CreatePredictorRequest& AddForecastTypes(Aws::String&& value) { m_forecastTypesHasBeenSet = true; m_forecastTypes.push_back(std::move(value)); return *this; } /** *

Specifies the forecast types used to train a predictor. You can specify up to * five forecast types. Forecast types can be quantiles from 0.01 to 0.99, by * increments of 0.01 or higher. You can also specify the mean forecast with * mean.

The default value is ["0.10", "0.50", * "0.9"].

*/ inline CreatePredictorRequest& AddForecastTypes(const char* value) { m_forecastTypesHasBeenSet = true; m_forecastTypes.push_back(value); return *this; } /** *

Whether to perform AutoML. When Amazon Forecast performs AutoML, it evaluates * the algorithms it provides and chooses the best algorithm and configuration for * your training dataset.

The default value is false. In this * case, you are required to specify an algorithm.

Set * PerformAutoML to true to have Amazon Forecast perform * AutoML. This is a good option if you aren't sure which algorithm is suitable for * your training data. In this case, PerformHPO must be false.

*/ inline bool GetPerformAutoML() const{ return m_performAutoML; } /** *

Whether to perform AutoML. When Amazon Forecast performs AutoML, it evaluates * the algorithms it provides and chooses the best algorithm and configuration for * your training dataset.

The default value is false. In this * case, you are required to specify an algorithm.

Set * PerformAutoML to true to have Amazon Forecast perform * AutoML. This is a good option if you aren't sure which algorithm is suitable for * your training data. In this case, PerformHPO must be false.

*/ inline bool PerformAutoMLHasBeenSet() const { return m_performAutoMLHasBeenSet; } /** *

Whether to perform AutoML. When Amazon Forecast performs AutoML, it evaluates * the algorithms it provides and chooses the best algorithm and configuration for * your training dataset.

The default value is false. In this * case, you are required to specify an algorithm.

Set * PerformAutoML to true to have Amazon Forecast perform * AutoML. This is a good option if you aren't sure which algorithm is suitable for * your training data. In this case, PerformHPO must be false.

*/ inline void SetPerformAutoML(bool value) { m_performAutoMLHasBeenSet = true; m_performAutoML = value; } /** *

Whether to perform AutoML. When Amazon Forecast performs AutoML, it evaluates * the algorithms it provides and chooses the best algorithm and configuration for * your training dataset.

The default value is false. In this * case, you are required to specify an algorithm.

Set * PerformAutoML to true to have Amazon Forecast perform * AutoML. This is a good option if you aren't sure which algorithm is suitable for * your training data. In this case, PerformHPO must be false.

*/ inline CreatePredictorRequest& WithPerformAutoML(bool value) { SetPerformAutoML(value); return *this;} /** *

The LatencyOptimized AutoML override strategy is only * available in private beta. Contact Amazon Web Services Support or your account * manager to learn more about access privileges.

Used to overide * the default AutoML strategy, which is to optimize predictor accuracy. To apply * an AutoML strategy that minimizes training time, use * LatencyOptimized.

This parameter is only valid for * predictors trained using AutoML.

*/ inline const AutoMLOverrideStrategy& GetAutoMLOverrideStrategy() const{ return m_autoMLOverrideStrategy; } /** *

The LatencyOptimized AutoML override strategy is only * available in private beta. Contact Amazon Web Services Support or your account * manager to learn more about access privileges.

Used to overide * the default AutoML strategy, which is to optimize predictor accuracy. To apply * an AutoML strategy that minimizes training time, use * LatencyOptimized.

This parameter is only valid for * predictors trained using AutoML.

*/ inline bool AutoMLOverrideStrategyHasBeenSet() const { return m_autoMLOverrideStrategyHasBeenSet; } /** *

The LatencyOptimized AutoML override strategy is only * available in private beta. Contact Amazon Web Services Support or your account * manager to learn more about access privileges.

Used to overide * the default AutoML strategy, which is to optimize predictor accuracy. To apply * an AutoML strategy that minimizes training time, use * LatencyOptimized.

This parameter is only valid for * predictors trained using AutoML.

*/ inline void SetAutoMLOverrideStrategy(const AutoMLOverrideStrategy& value) { m_autoMLOverrideStrategyHasBeenSet = true; m_autoMLOverrideStrategy = value; } /** *

The LatencyOptimized AutoML override strategy is only * available in private beta. Contact Amazon Web Services Support or your account * manager to learn more about access privileges.

Used to overide * the default AutoML strategy, which is to optimize predictor accuracy. To apply * an AutoML strategy that minimizes training time, use * LatencyOptimized.

This parameter is only valid for * predictors trained using AutoML.

*/ inline void SetAutoMLOverrideStrategy(AutoMLOverrideStrategy&& value) { m_autoMLOverrideStrategyHasBeenSet = true; m_autoMLOverrideStrategy = std::move(value); } /** *

The LatencyOptimized AutoML override strategy is only * available in private beta. Contact Amazon Web Services Support or your account * manager to learn more about access privileges.

Used to overide * the default AutoML strategy, which is to optimize predictor accuracy. To apply * an AutoML strategy that minimizes training time, use * LatencyOptimized.

This parameter is only valid for * predictors trained using AutoML.

*/ inline CreatePredictorRequest& WithAutoMLOverrideStrategy(const AutoMLOverrideStrategy& value) { SetAutoMLOverrideStrategy(value); return *this;} /** *

The LatencyOptimized AutoML override strategy is only * available in private beta. Contact Amazon Web Services Support or your account * manager to learn more about access privileges.

Used to overide * the default AutoML strategy, which is to optimize predictor accuracy. To apply * an AutoML strategy that minimizes training time, use * LatencyOptimized.

This parameter is only valid for * predictors trained using AutoML.

*/ inline CreatePredictorRequest& WithAutoMLOverrideStrategy(AutoMLOverrideStrategy&& value) { SetAutoMLOverrideStrategy(std::move(value)); return *this;} /** *

Whether to perform hyperparameter optimization (HPO). HPO finds optimal * hyperparameter values for your training data. The process of performing HPO is * known as running a hyperparameter tuning job.

The default value is * false. In this case, Amazon Forecast uses default hyperparameter * values from the chosen algorithm.

To override the default values, set * PerformHPO to true and, optionally, supply the * HyperParameterTuningJobConfig object. The tuning job specifies a metric * to optimize, which hyperparameters participate in tuning, and the valid range * for each tunable hyperparameter. In this case, you are required to specify an * algorithm and PerformAutoML must be false.

The following * algorithms support HPO:

  • DeepAR+

  • CNN-QR

    *
*/ inline bool GetPerformHPO() const{ return m_performHPO; } /** *

Whether to perform hyperparameter optimization (HPO). HPO finds optimal * hyperparameter values for your training data. The process of performing HPO is * known as running a hyperparameter tuning job.

The default value is * false. In this case, Amazon Forecast uses default hyperparameter * values from the chosen algorithm.

To override the default values, set * PerformHPO to true and, optionally, supply the * HyperParameterTuningJobConfig object. The tuning job specifies a metric * to optimize, which hyperparameters participate in tuning, and the valid range * for each tunable hyperparameter. In this case, you are required to specify an * algorithm and PerformAutoML must be false.

The following * algorithms support HPO:

  • DeepAR+

  • CNN-QR

    *
*/ inline bool PerformHPOHasBeenSet() const { return m_performHPOHasBeenSet; } /** *

Whether to perform hyperparameter optimization (HPO). HPO finds optimal * hyperparameter values for your training data. The process of performing HPO is * known as running a hyperparameter tuning job.

The default value is * false. In this case, Amazon Forecast uses default hyperparameter * values from the chosen algorithm.

To override the default values, set * PerformHPO to true and, optionally, supply the * HyperParameterTuningJobConfig object. The tuning job specifies a metric * to optimize, which hyperparameters participate in tuning, and the valid range * for each tunable hyperparameter. In this case, you are required to specify an * algorithm and PerformAutoML must be false.

The following * algorithms support HPO:

  • DeepAR+

  • CNN-QR

    *
*/ inline void SetPerformHPO(bool value) { m_performHPOHasBeenSet = true; m_performHPO = value; } /** *

Whether to perform hyperparameter optimization (HPO). HPO finds optimal * hyperparameter values for your training data. The process of performing HPO is * known as running a hyperparameter tuning job.

The default value is * false. In this case, Amazon Forecast uses default hyperparameter * values from the chosen algorithm.

To override the default values, set * PerformHPO to true and, optionally, supply the * HyperParameterTuningJobConfig object. The tuning job specifies a metric * to optimize, which hyperparameters participate in tuning, and the valid range * for each tunable hyperparameter. In this case, you are required to specify an * algorithm and PerformAutoML must be false.

The following * algorithms support HPO:

  • DeepAR+

  • CNN-QR

    *
*/ inline CreatePredictorRequest& WithPerformHPO(bool value) { SetPerformHPO(value); return *this;} /** *

The hyperparameters to override for model training. The hyperparameters that * you can override are listed in the individual algorithms. For the list of * supported algorithms, see aws-forecast-choosing-recipes.

*/ inline const Aws::Map& GetTrainingParameters() const{ return m_trainingParameters; } /** *

The hyperparameters to override for model training. The hyperparameters that * you can override are listed in the individual algorithms. For the list of * supported algorithms, see aws-forecast-choosing-recipes.

*/ inline bool TrainingParametersHasBeenSet() const { return m_trainingParametersHasBeenSet; } /** *

The hyperparameters to override for model training. The hyperparameters that * you can override are listed in the individual algorithms. For the list of * supported algorithms, see aws-forecast-choosing-recipes.

*/ inline void SetTrainingParameters(const Aws::Map& value) { m_trainingParametersHasBeenSet = true; m_trainingParameters = value; } /** *

The hyperparameters to override for model training. The hyperparameters that * you can override are listed in the individual algorithms. For the list of * supported algorithms, see aws-forecast-choosing-recipes.

*/ inline void SetTrainingParameters(Aws::Map&& value) { m_trainingParametersHasBeenSet = true; m_trainingParameters = std::move(value); } /** *

The hyperparameters to override for model training. The hyperparameters that * you can override are listed in the individual algorithms. For the list of * supported algorithms, see aws-forecast-choosing-recipes.

*/ inline CreatePredictorRequest& WithTrainingParameters(const Aws::Map& value) { SetTrainingParameters(value); return *this;} /** *

The hyperparameters to override for model training. The hyperparameters that * you can override are listed in the individual algorithms. For the list of * supported algorithms, see aws-forecast-choosing-recipes.

*/ inline CreatePredictorRequest& WithTrainingParameters(Aws::Map&& value) { SetTrainingParameters(std::move(value)); return *this;} /** *

The hyperparameters to override for model training. The hyperparameters that * you can override are listed in the individual algorithms. For the list of * supported algorithms, see aws-forecast-choosing-recipes.

*/ inline CreatePredictorRequest& AddTrainingParameters(const Aws::String& key, const Aws::String& value) { m_trainingParametersHasBeenSet = true; m_trainingParameters.emplace(key, value); return *this; } /** *

The hyperparameters to override for model training. The hyperparameters that * you can override are listed in the individual algorithms. For the list of * supported algorithms, see aws-forecast-choosing-recipes.

*/ inline CreatePredictorRequest& AddTrainingParameters(Aws::String&& key, const Aws::String& value) { m_trainingParametersHasBeenSet = true; m_trainingParameters.emplace(std::move(key), value); return *this; } /** *

The hyperparameters to override for model training. The hyperparameters that * you can override are listed in the individual algorithms. For the list of * supported algorithms, see aws-forecast-choosing-recipes.

*/ inline CreatePredictorRequest& AddTrainingParameters(const Aws::String& key, Aws::String&& value) { m_trainingParametersHasBeenSet = true; m_trainingParameters.emplace(key, std::move(value)); return *this; } /** *

The hyperparameters to override for model training. The hyperparameters that * you can override are listed in the individual algorithms. For the list of * supported algorithms, see aws-forecast-choosing-recipes.

*/ inline CreatePredictorRequest& AddTrainingParameters(Aws::String&& key, Aws::String&& value) { m_trainingParametersHasBeenSet = true; m_trainingParameters.emplace(std::move(key), std::move(value)); return *this; } /** *

The hyperparameters to override for model training. The hyperparameters that * you can override are listed in the individual algorithms. For the list of * supported algorithms, see aws-forecast-choosing-recipes.

*/ inline CreatePredictorRequest& AddTrainingParameters(const char* key, Aws::String&& value) { m_trainingParametersHasBeenSet = true; m_trainingParameters.emplace(key, std::move(value)); return *this; } /** *

The hyperparameters to override for model training. The hyperparameters that * you can override are listed in the individual algorithms. For the list of * supported algorithms, see aws-forecast-choosing-recipes.

*/ inline CreatePredictorRequest& AddTrainingParameters(Aws::String&& key, const char* value) { m_trainingParametersHasBeenSet = true; m_trainingParameters.emplace(std::move(key), value); return *this; } /** *

The hyperparameters to override for model training. The hyperparameters that * you can override are listed in the individual algorithms. For the list of * supported algorithms, see aws-forecast-choosing-recipes.

*/ inline CreatePredictorRequest& AddTrainingParameters(const char* key, const char* value) { m_trainingParametersHasBeenSet = true; m_trainingParameters.emplace(key, value); return *this; } /** *

Used to override the default evaluation parameters of the specified * algorithm. Amazon Forecast evaluates a predictor by splitting a dataset into * training data and testing data. The evaluation parameters define how to perform * the split and the number of iterations.

*/ inline const EvaluationParameters& GetEvaluationParameters() const{ return m_evaluationParameters; } /** *

Used to override the default evaluation parameters of the specified * algorithm. Amazon Forecast evaluates a predictor by splitting a dataset into * training data and testing data. The evaluation parameters define how to perform * the split and the number of iterations.

*/ inline bool EvaluationParametersHasBeenSet() const { return m_evaluationParametersHasBeenSet; } /** *

Used to override the default evaluation parameters of the specified * algorithm. Amazon Forecast evaluates a predictor by splitting a dataset into * training data and testing data. The evaluation parameters define how to perform * the split and the number of iterations.

*/ inline void SetEvaluationParameters(const EvaluationParameters& value) { m_evaluationParametersHasBeenSet = true; m_evaluationParameters = value; } /** *

Used to override the default evaluation parameters of the specified * algorithm. Amazon Forecast evaluates a predictor by splitting a dataset into * training data and testing data. The evaluation parameters define how to perform * the split and the number of iterations.

*/ inline void SetEvaluationParameters(EvaluationParameters&& value) { m_evaluationParametersHasBeenSet = true; m_evaluationParameters = std::move(value); } /** *

Used to override the default evaluation parameters of the specified * algorithm. Amazon Forecast evaluates a predictor by splitting a dataset into * training data and testing data. The evaluation parameters define how to perform * the split and the number of iterations.

*/ inline CreatePredictorRequest& WithEvaluationParameters(const EvaluationParameters& value) { SetEvaluationParameters(value); return *this;} /** *

Used to override the default evaluation parameters of the specified * algorithm. Amazon Forecast evaluates a predictor by splitting a dataset into * training data and testing data. The evaluation parameters define how to perform * the split and the number of iterations.

*/ inline CreatePredictorRequest& WithEvaluationParameters(EvaluationParameters&& value) { SetEvaluationParameters(std::move(value)); return *this;} /** *

Provides hyperparameter override values for the algorithm. If you don't * provide this parameter, Amazon Forecast uses default values. The individual * algorithms specify which hyperparameters support hyperparameter optimization * (HPO). For more information, see aws-forecast-choosing-recipes.

If * you included the HPOConfig object, you must set * PerformHPO to true.

*/ inline const HyperParameterTuningJobConfig& GetHPOConfig() const{ return m_hPOConfig; } /** *

Provides hyperparameter override values for the algorithm. If you don't * provide this parameter, Amazon Forecast uses default values. The individual * algorithms specify which hyperparameters support hyperparameter optimization * (HPO). For more information, see aws-forecast-choosing-recipes.

If * you included the HPOConfig object, you must set * PerformHPO to true.

*/ inline bool HPOConfigHasBeenSet() const { return m_hPOConfigHasBeenSet; } /** *

Provides hyperparameter override values for the algorithm. If you don't * provide this parameter, Amazon Forecast uses default values. The individual * algorithms specify which hyperparameters support hyperparameter optimization * (HPO). For more information, see aws-forecast-choosing-recipes.

If * you included the HPOConfig object, you must set * PerformHPO to true.

*/ inline void SetHPOConfig(const HyperParameterTuningJobConfig& value) { m_hPOConfigHasBeenSet = true; m_hPOConfig = value; } /** *

Provides hyperparameter override values for the algorithm. If you don't * provide this parameter, Amazon Forecast uses default values. The individual * algorithms specify which hyperparameters support hyperparameter optimization * (HPO). For more information, see aws-forecast-choosing-recipes.

If * you included the HPOConfig object, you must set * PerformHPO to true.

*/ inline void SetHPOConfig(HyperParameterTuningJobConfig&& value) { m_hPOConfigHasBeenSet = true; m_hPOConfig = std::move(value); } /** *

Provides hyperparameter override values for the algorithm. If you don't * provide this parameter, Amazon Forecast uses default values. The individual * algorithms specify which hyperparameters support hyperparameter optimization * (HPO). For more information, see aws-forecast-choosing-recipes.

If * you included the HPOConfig object, you must set * PerformHPO to true.

*/ inline CreatePredictorRequest& WithHPOConfig(const HyperParameterTuningJobConfig& value) { SetHPOConfig(value); return *this;} /** *

Provides hyperparameter override values for the algorithm. If you don't * provide this parameter, Amazon Forecast uses default values. The individual * algorithms specify which hyperparameters support hyperparameter optimization * (HPO). For more information, see aws-forecast-choosing-recipes.

If * you included the HPOConfig object, you must set * PerformHPO to true.

*/ inline CreatePredictorRequest& WithHPOConfig(HyperParameterTuningJobConfig&& value) { SetHPOConfig(std::move(value)); return *this;} /** *

Describes the dataset group that contains the data to use to train the * predictor.

*/ inline const InputDataConfig& GetInputDataConfig() const{ return m_inputDataConfig; } /** *

Describes the dataset group that contains the data to use to train the * predictor.

*/ inline bool InputDataConfigHasBeenSet() const { return m_inputDataConfigHasBeenSet; } /** *

Describes the dataset group that contains the data to use to train the * predictor.

*/ inline void SetInputDataConfig(const InputDataConfig& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig = value; } /** *

Describes the dataset group that contains the data to use to train the * predictor.

*/ inline void SetInputDataConfig(InputDataConfig&& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig = std::move(value); } /** *

Describes the dataset group that contains the data to use to train the * predictor.

*/ inline CreatePredictorRequest& WithInputDataConfig(const InputDataConfig& value) { SetInputDataConfig(value); return *this;} /** *

Describes the dataset group that contains the data to use to train the * predictor.

*/ inline CreatePredictorRequest& WithInputDataConfig(InputDataConfig&& value) { SetInputDataConfig(std::move(value)); return *this;} /** *

The featurization configuration.

*/ inline const FeaturizationConfig& GetFeaturizationConfig() const{ return m_featurizationConfig; } /** *

The featurization configuration.

*/ inline bool FeaturizationConfigHasBeenSet() const { return m_featurizationConfigHasBeenSet; } /** *

The featurization configuration.

*/ inline void SetFeaturizationConfig(const FeaturizationConfig& value) { m_featurizationConfigHasBeenSet = true; m_featurizationConfig = value; } /** *

The featurization configuration.

*/ inline void SetFeaturizationConfig(FeaturizationConfig&& value) { m_featurizationConfigHasBeenSet = true; m_featurizationConfig = std::move(value); } /** *

The featurization configuration.

*/ inline CreatePredictorRequest& WithFeaturizationConfig(const FeaturizationConfig& value) { SetFeaturizationConfig(value); return *this;} /** *

The featurization configuration.

*/ inline CreatePredictorRequest& WithFeaturizationConfig(FeaturizationConfig&& value) { SetFeaturizationConfig(std::move(value)); return *this;} /** *

An Key Management Service (KMS) key and the Identity and Access Management * (IAM) role that Amazon Forecast can assume to access the key.

*/ inline const EncryptionConfig& GetEncryptionConfig() const{ return m_encryptionConfig; } /** *

An Key Management Service (KMS) key and the Identity and Access Management * (IAM) role that Amazon Forecast can assume to access the key.

*/ inline bool EncryptionConfigHasBeenSet() const { return m_encryptionConfigHasBeenSet; } /** *

An Key Management Service (KMS) key and the Identity and Access Management * (IAM) role that Amazon Forecast can assume to access the key.

*/ inline void SetEncryptionConfig(const EncryptionConfig& value) { m_encryptionConfigHasBeenSet = true; m_encryptionConfig = value; } /** *

An Key Management Service (KMS) key and the Identity and Access Management * (IAM) role that Amazon Forecast can assume to access the key.

*/ inline void SetEncryptionConfig(EncryptionConfig&& value) { m_encryptionConfigHasBeenSet = true; m_encryptionConfig = std::move(value); } /** *

An Key Management Service (KMS) key and the Identity and Access Management * (IAM) role that Amazon Forecast can assume to access the key.

*/ inline CreatePredictorRequest& WithEncryptionConfig(const EncryptionConfig& value) { SetEncryptionConfig(value); return *this;} /** *

An Key Management Service (KMS) key and the Identity and Access Management * (IAM) role that Amazon Forecast can assume to access the key.

*/ inline CreatePredictorRequest& WithEncryptionConfig(EncryptionConfig&& value) { SetEncryptionConfig(std::move(value)); return *this;} /** *

The optional metadata that you apply to the predictor to help you categorize * and organize them. Each tag consists of a key and an optional value, both of * which you define.

The following basic restrictions apply to tags:

*
  • Maximum number of tags per resource - 50.

  • For * each resource, each tag key must be unique, and each tag key can have only one * value.

  • Maximum key length - 128 Unicode characters in * UTF-8.

  • Maximum value length - 256 Unicode characters in * UTF-8.

  • If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.

  • *
  • Tag keys and values are case sensitive.

  • Do not use * aws:, AWS:, or any upper or lowercase combination of * such as a prefix for keys as it is reserved for Amazon Web Services use. You * cannot edit or delete tag keys with this prefix. Values can have this prefix. If * a tag value has aws as its prefix but the key does not, then * Forecast considers it to be a user tag and will count against the limit of 50 * tags. Tags with only the key prefix of aws do not count against * your tags per resource limit.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The optional metadata that you apply to the predictor to help you categorize * and organize them. Each tag consists of a key and an optional value, both of * which you define.

The following basic restrictions apply to tags:

*
  • Maximum number of tags per resource - 50.

  • For * each resource, each tag key must be unique, and each tag key can have only one * value.

  • Maximum key length - 128 Unicode characters in * UTF-8.

  • Maximum value length - 256 Unicode characters in * UTF-8.

  • If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.

  • *
  • Tag keys and values are case sensitive.

  • Do not use * aws:, AWS:, or any upper or lowercase combination of * such as a prefix for keys as it is reserved for Amazon Web Services use. You * cannot edit or delete tag keys with this prefix. Values can have this prefix. If * a tag value has aws as its prefix but the key does not, then * Forecast considers it to be a user tag and will count against the limit of 50 * tags. Tags with only the key prefix of aws do not count against * your tags per resource limit.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The optional metadata that you apply to the predictor to help you categorize * and organize them. Each tag consists of a key and an optional value, both of * which you define.

The following basic restrictions apply to tags:

*
  • Maximum number of tags per resource - 50.

  • For * each resource, each tag key must be unique, and each tag key can have only one * value.

  • Maximum key length - 128 Unicode characters in * UTF-8.

  • Maximum value length - 256 Unicode characters in * UTF-8.

  • If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.

  • *
  • Tag keys and values are case sensitive.

  • Do not use * aws:, AWS:, or any upper or lowercase combination of * such as a prefix for keys as it is reserved for Amazon Web Services use. You * cannot edit or delete tag keys with this prefix. Values can have this prefix. If * a tag value has aws as its prefix but the key does not, then * Forecast considers it to be a user tag and will count against the limit of 50 * tags. Tags with only the key prefix of aws do not count against * your tags per resource limit.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The optional metadata that you apply to the predictor to help you categorize * and organize them. Each tag consists of a key and an optional value, both of * which you define.

The following basic restrictions apply to tags:

*
  • Maximum number of tags per resource - 50.

  • For * each resource, each tag key must be unique, and each tag key can have only one * value.

  • Maximum key length - 128 Unicode characters in * UTF-8.

  • Maximum value length - 256 Unicode characters in * UTF-8.

  • If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.

  • *
  • Tag keys and values are case sensitive.

  • Do not use * aws:, AWS:, or any upper or lowercase combination of * such as a prefix for keys as it is reserved for Amazon Web Services use. You * cannot edit or delete tag keys with this prefix. Values can have this prefix. If * a tag value has aws as its prefix but the key does not, then * Forecast considers it to be a user tag and will count against the limit of 50 * tags. Tags with only the key prefix of aws do not count against * your tags per resource limit.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The optional metadata that you apply to the predictor to help you categorize * and organize them. Each tag consists of a key and an optional value, both of * which you define.

The following basic restrictions apply to tags:

*
  • Maximum number of tags per resource - 50.

  • For * each resource, each tag key must be unique, and each tag key can have only one * value.

  • Maximum key length - 128 Unicode characters in * UTF-8.

  • Maximum value length - 256 Unicode characters in * UTF-8.

  • If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.

  • *
  • Tag keys and values are case sensitive.

  • Do not use * aws:, AWS:, or any upper or lowercase combination of * such as a prefix for keys as it is reserved for Amazon Web Services use. You * cannot edit or delete tag keys with this prefix. Values can have this prefix. If * a tag value has aws as its prefix but the key does not, then * Forecast considers it to be a user tag and will count against the limit of 50 * tags. Tags with only the key prefix of aws do not count against * your tags per resource limit.

*/ inline CreatePredictorRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The optional metadata that you apply to the predictor to help you categorize * and organize them. Each tag consists of a key and an optional value, both of * which you define.

The following basic restrictions apply to tags:

*
  • Maximum number of tags per resource - 50.

  • For * each resource, each tag key must be unique, and each tag key can have only one * value.

  • Maximum key length - 128 Unicode characters in * UTF-8.

  • Maximum value length - 256 Unicode characters in * UTF-8.

  • If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.

  • *
  • Tag keys and values are case sensitive.

  • Do not use * aws:, AWS:, or any upper or lowercase combination of * such as a prefix for keys as it is reserved for Amazon Web Services use. You * cannot edit or delete tag keys with this prefix. Values can have this prefix. If * a tag value has aws as its prefix but the key does not, then * Forecast considers it to be a user tag and will count against the limit of 50 * tags. Tags with only the key prefix of aws do not count against * your tags per resource limit.

*/ inline CreatePredictorRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The optional metadata that you apply to the predictor to help you categorize * and organize them. Each tag consists of a key and an optional value, both of * which you define.

The following basic restrictions apply to tags:

*
  • Maximum number of tags per resource - 50.

  • For * each resource, each tag key must be unique, and each tag key can have only one * value.

  • Maximum key length - 128 Unicode characters in * UTF-8.

  • Maximum value length - 256 Unicode characters in * UTF-8.

  • If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.

  • *
  • Tag keys and values are case sensitive.

  • Do not use * aws:, AWS:, or any upper or lowercase combination of * such as a prefix for keys as it is reserved for Amazon Web Services use. You * cannot edit or delete tag keys with this prefix. Values can have this prefix. If * a tag value has aws as its prefix but the key does not, then * Forecast considers it to be a user tag and will count against the limit of 50 * tags. Tags with only the key prefix of aws do not count against * your tags per resource limit.

*/ inline CreatePredictorRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The optional metadata that you apply to the predictor to help you categorize * and organize them. Each tag consists of a key and an optional value, both of * which you define.

The following basic restrictions apply to tags:

*
  • Maximum number of tags per resource - 50.

  • For * each resource, each tag key must be unique, and each tag key can have only one * value.

  • Maximum key length - 128 Unicode characters in * UTF-8.

  • Maximum value length - 256 Unicode characters in * UTF-8.

  • If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.

  • *
  • Tag keys and values are case sensitive.

  • Do not use * aws:, AWS:, or any upper or lowercase combination of * such as a prefix for keys as it is reserved for Amazon Web Services use. You * cannot edit or delete tag keys with this prefix. Values can have this prefix. If * a tag value has aws as its prefix but the key does not, then * Forecast considers it to be a user tag and will count against the limit of 50 * tags. Tags with only the key prefix of aws do not count against * your tags per resource limit.

*/ inline CreatePredictorRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The accuracy metric used to optimize the predictor.

*/ inline const OptimizationMetric& GetOptimizationMetric() const{ return m_optimizationMetric; } /** *

The accuracy metric used to optimize the predictor.

*/ inline bool OptimizationMetricHasBeenSet() const { return m_optimizationMetricHasBeenSet; } /** *

The accuracy metric used to optimize the predictor.

*/ inline void SetOptimizationMetric(const OptimizationMetric& value) { m_optimizationMetricHasBeenSet = true; m_optimizationMetric = value; } /** *

The accuracy metric used to optimize the predictor.

*/ inline void SetOptimizationMetric(OptimizationMetric&& value) { m_optimizationMetricHasBeenSet = true; m_optimizationMetric = std::move(value); } /** *

The accuracy metric used to optimize the predictor.

*/ inline CreatePredictorRequest& WithOptimizationMetric(const OptimizationMetric& value) { SetOptimizationMetric(value); return *this;} /** *

The accuracy metric used to optimize the predictor.

*/ inline CreatePredictorRequest& WithOptimizationMetric(OptimizationMetric&& value) { SetOptimizationMetric(std::move(value)); return *this;} private: Aws::String m_predictorName; bool m_predictorNameHasBeenSet = false; Aws::String m_algorithmArn; bool m_algorithmArnHasBeenSet = false; int m_forecastHorizon; bool m_forecastHorizonHasBeenSet = false; Aws::Vector m_forecastTypes; bool m_forecastTypesHasBeenSet = false; bool m_performAutoML; bool m_performAutoMLHasBeenSet = false; AutoMLOverrideStrategy m_autoMLOverrideStrategy; bool m_autoMLOverrideStrategyHasBeenSet = false; bool m_performHPO; bool m_performHPOHasBeenSet = false; Aws::Map m_trainingParameters; bool m_trainingParametersHasBeenSet = false; EvaluationParameters m_evaluationParameters; bool m_evaluationParametersHasBeenSet = false; HyperParameterTuningJobConfig m_hPOConfig; bool m_hPOConfigHasBeenSet = false; InputDataConfig m_inputDataConfig; bool m_inputDataConfigHasBeenSet = false; FeaturizationConfig m_featurizationConfig; bool m_featurizationConfigHasBeenSet = false; EncryptionConfig m_encryptionConfig; bool m_encryptionConfigHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; OptimizationMetric m_optimizationMetric; bool m_optimizationMetricHasBeenSet = false; }; } // namespace Model } // namespace ForecastService } // namespace Aws