/** * 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 namespace Aws { namespace ForecastService { namespace Model { /** */ class CreateAutoPredictorRequest : public ForecastServiceRequest { public: AWS_FORECASTSERVICE_API CreateAutoPredictorRequest(); // 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 "CreateAutoPredictor"; } AWS_FORECASTSERVICE_API Aws::String SerializePayload() const override; AWS_FORECASTSERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A unique name for the predictor

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

A unique name for the predictor

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

A unique name for the predictor

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

A unique name for the predictor

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

A unique name for the predictor

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

A unique name for the predictor

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

A unique name for the predictor

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

A unique name for the predictor

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

The number of time-steps that the model predicts. The forecast horizon is * also called the prediction length.

The maximum forecast horizon is the * lesser of 500 time-steps or 1/4 of the TARGET_TIME_SERIES dataset length. If you * are retraining an existing AutoPredictor, then the maximum forecast horizon is * the lesser of 500 time-steps or 1/3 of the TARGET_TIME_SERIES dataset * length.

If you are upgrading to an AutoPredictor or retraining an * existing AutoPredictor, you cannot update the forecast horizon parameter. You * can meet this requirement by providing longer time-series in the dataset.

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

The number of time-steps that the model predicts. The forecast horizon is * also called the prediction length.

The maximum forecast horizon is the * lesser of 500 time-steps or 1/4 of the TARGET_TIME_SERIES dataset length. If you * are retraining an existing AutoPredictor, then the maximum forecast horizon is * the lesser of 500 time-steps or 1/3 of the TARGET_TIME_SERIES dataset * length.

If you are upgrading to an AutoPredictor or retraining an * existing AutoPredictor, you cannot update the forecast horizon parameter. You * can meet this requirement by providing longer time-series in the dataset.

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

The number of time-steps that the model predicts. The forecast horizon is * also called the prediction length.

The maximum forecast horizon is the * lesser of 500 time-steps or 1/4 of the TARGET_TIME_SERIES dataset length. If you * are retraining an existing AutoPredictor, then the maximum forecast horizon is * the lesser of 500 time-steps or 1/3 of the TARGET_TIME_SERIES dataset * length.

If you are upgrading to an AutoPredictor or retraining an * existing AutoPredictor, you cannot update the forecast horizon parameter. You * can meet this requirement by providing longer time-series in the dataset.

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

The number of time-steps that the model predicts. The forecast horizon is * also called the prediction length.

The maximum forecast horizon is the * lesser of 500 time-steps or 1/4 of the TARGET_TIME_SERIES dataset length. If you * are retraining an existing AutoPredictor, then the maximum forecast horizon is * the lesser of 500 time-steps or 1/3 of the TARGET_TIME_SERIES dataset * length.

If you are upgrading to an AutoPredictor or retraining an * existing AutoPredictor, you cannot update the forecast horizon parameter. You * can meet this requirement by providing longer time-series in the dataset.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

An array of dimension (field) names that specify how to group the generated * forecast.

For example, if you are generating forecasts for item sales * across all your stores, and your dataset contains a store_id field, * you would specify store_id as a dimension to group sales forecasts * for each store.

*/ inline const Aws::Vector& GetForecastDimensions() const{ return m_forecastDimensions; } /** *

An array of dimension (field) names that specify how to group the generated * forecast.

For example, if you are generating forecasts for item sales * across all your stores, and your dataset contains a store_id field, * you would specify store_id as a dimension to group sales forecasts * for each store.

*/ inline bool ForecastDimensionsHasBeenSet() const { return m_forecastDimensionsHasBeenSet; } /** *

An array of dimension (field) names that specify how to group the generated * forecast.

For example, if you are generating forecasts for item sales * across all your stores, and your dataset contains a store_id field, * you would specify store_id as a dimension to group sales forecasts * for each store.

*/ inline void SetForecastDimensions(const Aws::Vector& value) { m_forecastDimensionsHasBeenSet = true; m_forecastDimensions = value; } /** *

An array of dimension (field) names that specify how to group the generated * forecast.

For example, if you are generating forecasts for item sales * across all your stores, and your dataset contains a store_id field, * you would specify store_id as a dimension to group sales forecasts * for each store.

*/ inline void SetForecastDimensions(Aws::Vector&& value) { m_forecastDimensionsHasBeenSet = true; m_forecastDimensions = std::move(value); } /** *

An array of dimension (field) names that specify how to group the generated * forecast.

For example, if you are generating forecasts for item sales * across all your stores, and your dataset contains a store_id field, * you would specify store_id as a dimension to group sales forecasts * for each store.

*/ inline CreateAutoPredictorRequest& WithForecastDimensions(const Aws::Vector& value) { SetForecastDimensions(value); return *this;} /** *

An array of dimension (field) names that specify how to group the generated * forecast.

For example, if you are generating forecasts for item sales * across all your stores, and your dataset contains a store_id field, * you would specify store_id as a dimension to group sales forecasts * for each store.

*/ inline CreateAutoPredictorRequest& WithForecastDimensions(Aws::Vector&& value) { SetForecastDimensions(std::move(value)); return *this;} /** *

An array of dimension (field) names that specify how to group the generated * forecast.

For example, if you are generating forecasts for item sales * across all your stores, and your dataset contains a store_id field, * you would specify store_id as a dimension to group sales forecasts * for each store.

*/ inline CreateAutoPredictorRequest& AddForecastDimensions(const Aws::String& value) { m_forecastDimensionsHasBeenSet = true; m_forecastDimensions.push_back(value); return *this; } /** *

An array of dimension (field) names that specify how to group the generated * forecast.

For example, if you are generating forecasts for item sales * across all your stores, and your dataset contains a store_id field, * you would specify store_id as a dimension to group sales forecasts * for each store.

*/ inline CreateAutoPredictorRequest& AddForecastDimensions(Aws::String&& value) { m_forecastDimensionsHasBeenSet = true; m_forecastDimensions.push_back(std::move(value)); return *this; } /** *

An array of dimension (field) names that specify how to group the generated * forecast.

For example, if you are generating forecasts for item sales * across all your stores, and your dataset contains a store_id field, * you would specify store_id as a dimension to group sales forecasts * for each store.

*/ inline CreateAutoPredictorRequest& AddForecastDimensions(const char* value) { m_forecastDimensionsHasBeenSet = true; m_forecastDimensions.push_back(value); return *this; } /** *

The frequency of predictions in a forecast.

Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:

  • Minute - 1-59

  • *

    Hour - 1-23

  • Day - 1-6

  • Week - 1-4

    *
  • Month - 1-11

  • Year - 1

Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".

The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.

When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the RELATED_TIME_SERIES * dataset frequency.

*/ inline const Aws::String& GetForecastFrequency() const{ return m_forecastFrequency; } /** *

The frequency of predictions in a forecast.

Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:

  • Minute - 1-59

  • *

    Hour - 1-23

  • Day - 1-6

  • Week - 1-4

    *
  • Month - 1-11

  • Year - 1

Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".

The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.

When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the RELATED_TIME_SERIES * dataset frequency.

*/ inline bool ForecastFrequencyHasBeenSet() const { return m_forecastFrequencyHasBeenSet; } /** *

The frequency of predictions in a forecast.

Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:

  • Minute - 1-59

  • *

    Hour - 1-23

  • Day - 1-6

  • Week - 1-4

    *
  • Month - 1-11

  • Year - 1

Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".

The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.

When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the RELATED_TIME_SERIES * dataset frequency.

*/ inline void SetForecastFrequency(const Aws::String& value) { m_forecastFrequencyHasBeenSet = true; m_forecastFrequency = value; } /** *

The frequency of predictions in a forecast.

Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:

  • Minute - 1-59

  • *

    Hour - 1-23

  • Day - 1-6

  • Week - 1-4

    *
  • Month - 1-11

  • Year - 1

Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".

The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.

When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the RELATED_TIME_SERIES * dataset frequency.

*/ inline void SetForecastFrequency(Aws::String&& value) { m_forecastFrequencyHasBeenSet = true; m_forecastFrequency = std::move(value); } /** *

The frequency of predictions in a forecast.

Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:

  • Minute - 1-59

  • *

    Hour - 1-23

  • Day - 1-6

  • Week - 1-4

    *
  • Month - 1-11

  • Year - 1

Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".

The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.

When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the RELATED_TIME_SERIES * dataset frequency.

*/ inline void SetForecastFrequency(const char* value) { m_forecastFrequencyHasBeenSet = true; m_forecastFrequency.assign(value); } /** *

The frequency of predictions in a forecast.

Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:

  • Minute - 1-59

  • *

    Hour - 1-23

  • Day - 1-6

  • Week - 1-4

    *
  • Month - 1-11

  • Year - 1

Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".

The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.

When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the RELATED_TIME_SERIES * dataset frequency.

*/ inline CreateAutoPredictorRequest& WithForecastFrequency(const Aws::String& value) { SetForecastFrequency(value); return *this;} /** *

The frequency of predictions in a forecast.

Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:

  • Minute - 1-59

  • *

    Hour - 1-23

  • Day - 1-6

  • Week - 1-4

    *
  • Month - 1-11

  • Year - 1

Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".

The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.

When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the RELATED_TIME_SERIES * dataset frequency.

*/ inline CreateAutoPredictorRequest& WithForecastFrequency(Aws::String&& value) { SetForecastFrequency(std::move(value)); return *this;} /** *

The frequency of predictions in a forecast.

Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:

  • Minute - 1-59

  • *

    Hour - 1-23

  • Day - 1-6

  • Week - 1-4

    *
  • Month - 1-11

  • Year - 1

Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".

The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.

When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the RELATED_TIME_SERIES * dataset frequency.

*/ inline CreateAutoPredictorRequest& WithForecastFrequency(const char* value) { SetForecastFrequency(value); return *this;} /** *

The data configuration for your dataset group and any additional * datasets.

*/ inline const DataConfig& GetDataConfig() const{ return m_dataConfig; } /** *

The data configuration for your dataset group and any additional * datasets.

*/ inline bool DataConfigHasBeenSet() const { return m_dataConfigHasBeenSet; } /** *

The data configuration for your dataset group and any additional * datasets.

*/ inline void SetDataConfig(const DataConfig& value) { m_dataConfigHasBeenSet = true; m_dataConfig = value; } /** *

The data configuration for your dataset group and any additional * datasets.

*/ inline void SetDataConfig(DataConfig&& value) { m_dataConfigHasBeenSet = true; m_dataConfig = std::move(value); } /** *

The data configuration for your dataset group and any additional * datasets.

*/ inline CreateAutoPredictorRequest& WithDataConfig(const DataConfig& value) { SetDataConfig(value); return *this;} /** *

The data configuration for your dataset group and any additional * datasets.

*/ inline CreateAutoPredictorRequest& WithDataConfig(DataConfig&& value) { SetDataConfig(std::move(value)); return *this;} inline const EncryptionConfig& GetEncryptionConfig() const{ return m_encryptionConfig; } inline bool EncryptionConfigHasBeenSet() const { return m_encryptionConfigHasBeenSet; } inline void SetEncryptionConfig(const EncryptionConfig& value) { m_encryptionConfigHasBeenSet = true; m_encryptionConfig = value; } inline void SetEncryptionConfig(EncryptionConfig&& value) { m_encryptionConfigHasBeenSet = true; m_encryptionConfig = std::move(value); } inline CreateAutoPredictorRequest& WithEncryptionConfig(const EncryptionConfig& value) { SetEncryptionConfig(value); return *this;} inline CreateAutoPredictorRequest& WithEncryptionConfig(EncryptionConfig&& value) { SetEncryptionConfig(std::move(value)); return *this;} /** *

The ARN of the predictor to retrain or upgrade. This parameter is only used * when retraining or upgrading a predictor. When creating a new predictor, do not * specify a value for this parameter.

When upgrading or retraining a * predictor, only specify values for the ReferencePredictorArn and * PredictorName. The value for PredictorName must be a * unique predictor name.

*/ inline const Aws::String& GetReferencePredictorArn() const{ return m_referencePredictorArn; } /** *

The ARN of the predictor to retrain or upgrade. This parameter is only used * when retraining or upgrading a predictor. When creating a new predictor, do not * specify a value for this parameter.

When upgrading or retraining a * predictor, only specify values for the ReferencePredictorArn and * PredictorName. The value for PredictorName must be a * unique predictor name.

*/ inline bool ReferencePredictorArnHasBeenSet() const { return m_referencePredictorArnHasBeenSet; } /** *

The ARN of the predictor to retrain or upgrade. This parameter is only used * when retraining or upgrading a predictor. When creating a new predictor, do not * specify a value for this parameter.

When upgrading or retraining a * predictor, only specify values for the ReferencePredictorArn and * PredictorName. The value for PredictorName must be a * unique predictor name.

*/ inline void SetReferencePredictorArn(const Aws::String& value) { m_referencePredictorArnHasBeenSet = true; m_referencePredictorArn = value; } /** *

The ARN of the predictor to retrain or upgrade. This parameter is only used * when retraining or upgrading a predictor. When creating a new predictor, do not * specify a value for this parameter.

When upgrading or retraining a * predictor, only specify values for the ReferencePredictorArn and * PredictorName. The value for PredictorName must be a * unique predictor name.

*/ inline void SetReferencePredictorArn(Aws::String&& value) { m_referencePredictorArnHasBeenSet = true; m_referencePredictorArn = std::move(value); } /** *

The ARN of the predictor to retrain or upgrade. This parameter is only used * when retraining or upgrading a predictor. When creating a new predictor, do not * specify a value for this parameter.

When upgrading or retraining a * predictor, only specify values for the ReferencePredictorArn and * PredictorName. The value for PredictorName must be a * unique predictor name.

*/ inline void SetReferencePredictorArn(const char* value) { m_referencePredictorArnHasBeenSet = true; m_referencePredictorArn.assign(value); } /** *

The ARN of the predictor to retrain or upgrade. This parameter is only used * when retraining or upgrading a predictor. When creating a new predictor, do not * specify a value for this parameter.

When upgrading or retraining a * predictor, only specify values for the ReferencePredictorArn and * PredictorName. The value for PredictorName must be a * unique predictor name.

*/ inline CreateAutoPredictorRequest& WithReferencePredictorArn(const Aws::String& value) { SetReferencePredictorArn(value); return *this;} /** *

The ARN of the predictor to retrain or upgrade. This parameter is only used * when retraining or upgrading a predictor. When creating a new predictor, do not * specify a value for this parameter.

When upgrading or retraining a * predictor, only specify values for the ReferencePredictorArn and * PredictorName. The value for PredictorName must be a * unique predictor name.

*/ inline CreateAutoPredictorRequest& WithReferencePredictorArn(Aws::String&& value) { SetReferencePredictorArn(std::move(value)); return *this;} /** *

The ARN of the predictor to retrain or upgrade. This parameter is only used * when retraining or upgrading a predictor. When creating a new predictor, do not * specify a value for this parameter.

When upgrading or retraining a * predictor, only specify values for the ReferencePredictorArn and * PredictorName. The value for PredictorName must be a * unique predictor name.

*/ inline CreateAutoPredictorRequest& WithReferencePredictorArn(const char* value) { SetReferencePredictorArn(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 CreateAutoPredictorRequest& WithOptimizationMetric(const OptimizationMetric& value) { SetOptimizationMetric(value); return *this;} /** *

The accuracy metric used to optimize the predictor.

*/ inline CreateAutoPredictorRequest& WithOptimizationMetric(OptimizationMetric&& value) { SetOptimizationMetric(std::move(value)); return *this;} /** *

Create an Explainability resource for the predictor.

*/ inline bool GetExplainPredictor() const{ return m_explainPredictor; } /** *

Create an Explainability resource for the predictor.

*/ inline bool ExplainPredictorHasBeenSet() const { return m_explainPredictorHasBeenSet; } /** *

Create an Explainability resource for the predictor.

*/ inline void SetExplainPredictor(bool value) { m_explainPredictorHasBeenSet = true; m_explainPredictor = value; } /** *

Create an Explainability resource for the predictor.

*/ inline CreateAutoPredictorRequest& WithExplainPredictor(bool value) { SetExplainPredictor(value); return *this;} /** *

Optional metadata to help you categorize and organize your predictors. Each * tag consists of a key and an optional value, both of which you define. Tag keys * and values are case sensitive.

The following restrictions apply to * tags:

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

  • Maximum number of tags per * resource: 50.

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

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

  • Accepted characters: all letters and numbers, spaces * representable in UTF-8, and + - = . _ : / @. If your tagging schema is used * across other services and resources, the character restrictions of those * services also apply.

  • Key prefixes cannot include any upper or * lowercase combination of aws: or AWS:. Values can have * this prefix. If a tag value has aws as its prefix but the key does * not, 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. You cannot edit or delete tag keys with this * prefix.

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

Optional metadata to help you categorize and organize your predictors. Each * tag consists of a key and an optional value, both of which you define. Tag keys * and values are case sensitive.

The following restrictions apply to * tags:

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

  • Maximum number of tags per * resource: 50.

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

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

  • Accepted characters: all letters and numbers, spaces * representable in UTF-8, and + - = . _ : / @. If your tagging schema is used * across other services and resources, the character restrictions of those * services also apply.

  • Key prefixes cannot include any upper or * lowercase combination of aws: or AWS:. Values can have * this prefix. If a tag value has aws as its prefix but the key does * not, 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. You cannot edit or delete tag keys with this * prefix.

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

Optional metadata to help you categorize and organize your predictors. Each * tag consists of a key and an optional value, both of which you define. Tag keys * and values are case sensitive.

The following restrictions apply to * tags:

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

  • Maximum number of tags per * resource: 50.

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

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

  • Accepted characters: all letters and numbers, spaces * representable in UTF-8, and + - = . _ : / @. If your tagging schema is used * across other services and resources, the character restrictions of those * services also apply.

  • Key prefixes cannot include any upper or * lowercase combination of aws: or AWS:. Values can have * this prefix. If a tag value has aws as its prefix but the key does * not, 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. You cannot edit or delete tag keys with this * prefix.

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

Optional metadata to help you categorize and organize your predictors. Each * tag consists of a key and an optional value, both of which you define. Tag keys * and values are case sensitive.

The following restrictions apply to * tags:

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

  • Maximum number of tags per * resource: 50.

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

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

  • Accepted characters: all letters and numbers, spaces * representable in UTF-8, and + - = . _ : / @. If your tagging schema is used * across other services and resources, the character restrictions of those * services also apply.

  • Key prefixes cannot include any upper or * lowercase combination of aws: or AWS:. Values can have * this prefix. If a tag value has aws as its prefix but the key does * not, 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. You cannot edit or delete tag keys with this * prefix.

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

Optional metadata to help you categorize and organize your predictors. Each * tag consists of a key and an optional value, both of which you define. Tag keys * and values are case sensitive.

The following restrictions apply to * tags:

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

  • Maximum number of tags per * resource: 50.

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

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

  • Accepted characters: all letters and numbers, spaces * representable in UTF-8, and + - = . _ : / @. If your tagging schema is used * across other services and resources, the character restrictions of those * services also apply.

  • Key prefixes cannot include any upper or * lowercase combination of aws: or AWS:. Values can have * this prefix. If a tag value has aws as its prefix but the key does * not, 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. You cannot edit or delete tag keys with this * prefix.

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

Optional metadata to help you categorize and organize your predictors. Each * tag consists of a key and an optional value, both of which you define. Tag keys * and values are case sensitive.

The following restrictions apply to * tags:

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

  • Maximum number of tags per * resource: 50.

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

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

  • Accepted characters: all letters and numbers, spaces * representable in UTF-8, and + - = . _ : / @. If your tagging schema is used * across other services and resources, the character restrictions of those * services also apply.

  • Key prefixes cannot include any upper or * lowercase combination of aws: or AWS:. Values can have * this prefix. If a tag value has aws as its prefix but the key does * not, 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. You cannot edit or delete tag keys with this * prefix.

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

Optional metadata to help you categorize and organize your predictors. Each * tag consists of a key and an optional value, both of which you define. Tag keys * and values are case sensitive.

The following restrictions apply to * tags:

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

  • Maximum number of tags per * resource: 50.

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

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

  • Accepted characters: all letters and numbers, spaces * representable in UTF-8, and + - = . _ : / @. If your tagging schema is used * across other services and resources, the character restrictions of those * services also apply.

  • Key prefixes cannot include any upper or * lowercase combination of aws: or AWS:. Values can have * this prefix. If a tag value has aws as its prefix but the key does * not, 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. You cannot edit or delete tag keys with this * prefix.

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

Optional metadata to help you categorize and organize your predictors. Each * tag consists of a key and an optional value, both of which you define. Tag keys * and values are case sensitive.

The following restrictions apply to * tags:

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

  • Maximum number of tags per * resource: 50.

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

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

  • Accepted characters: all letters and numbers, spaces * representable in UTF-8, and + - = . _ : / @. If your tagging schema is used * across other services and resources, the character restrictions of those * services also apply.

  • Key prefixes cannot include any upper or * lowercase combination of aws: or AWS:. Values can have * this prefix. If a tag value has aws as its prefix but the key does * not, 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. You cannot edit or delete tag keys with this * prefix.

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

The configuration details for predictor monitoring. Provide a name for the * monitor resource to enable predictor monitoring.

Predictor monitoring * allows you to see how your predictor's performance changes over time. For more * information, see Predictor * Monitoring.

*/ inline const MonitorConfig& GetMonitorConfig() const{ return m_monitorConfig; } /** *

The configuration details for predictor monitoring. Provide a name for the * monitor resource to enable predictor monitoring.

Predictor monitoring * allows you to see how your predictor's performance changes over time. For more * information, see Predictor * Monitoring.

*/ inline bool MonitorConfigHasBeenSet() const { return m_monitorConfigHasBeenSet; } /** *

The configuration details for predictor monitoring. Provide a name for the * monitor resource to enable predictor monitoring.

Predictor monitoring * allows you to see how your predictor's performance changes over time. For more * information, see Predictor * Monitoring.

*/ inline void SetMonitorConfig(const MonitorConfig& value) { m_monitorConfigHasBeenSet = true; m_monitorConfig = value; } /** *

The configuration details for predictor monitoring. Provide a name for the * monitor resource to enable predictor monitoring.

Predictor monitoring * allows you to see how your predictor's performance changes over time. For more * information, see Predictor * Monitoring.

*/ inline void SetMonitorConfig(MonitorConfig&& value) { m_monitorConfigHasBeenSet = true; m_monitorConfig = std::move(value); } /** *

The configuration details for predictor monitoring. Provide a name for the * monitor resource to enable predictor monitoring.

Predictor monitoring * allows you to see how your predictor's performance changes over time. For more * information, see Predictor * Monitoring.

*/ inline CreateAutoPredictorRequest& WithMonitorConfig(const MonitorConfig& value) { SetMonitorConfig(value); return *this;} /** *

The configuration details for predictor monitoring. Provide a name for the * monitor resource to enable predictor monitoring.

Predictor monitoring * allows you to see how your predictor's performance changes over time. For more * information, see Predictor * Monitoring.

*/ inline CreateAutoPredictorRequest& WithMonitorConfig(MonitorConfig&& value) { SetMonitorConfig(std::move(value)); return *this;} /** *

The time boundary Forecast uses to align and aggregate any data that doesn't * align with your forecast frequency. Provide the unit of time and the time * boundary as a key value pair. For more information on specifying a time * boundary, see Specifying * a Time Boundary. If you don't provide a time boundary, Forecast uses a set * of Default * Time Boundaries.

*/ inline const TimeAlignmentBoundary& GetTimeAlignmentBoundary() const{ return m_timeAlignmentBoundary; } /** *

The time boundary Forecast uses to align and aggregate any data that doesn't * align with your forecast frequency. Provide the unit of time and the time * boundary as a key value pair. For more information on specifying a time * boundary, see Specifying * a Time Boundary. If you don't provide a time boundary, Forecast uses a set * of Default * Time Boundaries.

*/ inline bool TimeAlignmentBoundaryHasBeenSet() const { return m_timeAlignmentBoundaryHasBeenSet; } /** *

The time boundary Forecast uses to align and aggregate any data that doesn't * align with your forecast frequency. Provide the unit of time and the time * boundary as a key value pair. For more information on specifying a time * boundary, see Specifying * a Time Boundary. If you don't provide a time boundary, Forecast uses a set * of Default * Time Boundaries.

*/ inline void SetTimeAlignmentBoundary(const TimeAlignmentBoundary& value) { m_timeAlignmentBoundaryHasBeenSet = true; m_timeAlignmentBoundary = value; } /** *

The time boundary Forecast uses to align and aggregate any data that doesn't * align with your forecast frequency. Provide the unit of time and the time * boundary as a key value pair. For more information on specifying a time * boundary, see Specifying * a Time Boundary. If you don't provide a time boundary, Forecast uses a set * of Default * Time Boundaries.

*/ inline void SetTimeAlignmentBoundary(TimeAlignmentBoundary&& value) { m_timeAlignmentBoundaryHasBeenSet = true; m_timeAlignmentBoundary = std::move(value); } /** *

The time boundary Forecast uses to align and aggregate any data that doesn't * align with your forecast frequency. Provide the unit of time and the time * boundary as a key value pair. For more information on specifying a time * boundary, see Specifying * a Time Boundary. If you don't provide a time boundary, Forecast uses a set * of Default * Time Boundaries.

*/ inline CreateAutoPredictorRequest& WithTimeAlignmentBoundary(const TimeAlignmentBoundary& value) { SetTimeAlignmentBoundary(value); return *this;} /** *

The time boundary Forecast uses to align and aggregate any data that doesn't * align with your forecast frequency. Provide the unit of time and the time * boundary as a key value pair. For more information on specifying a time * boundary, see Specifying * a Time Boundary. If you don't provide a time boundary, Forecast uses a set * of Default * Time Boundaries.

*/ inline CreateAutoPredictorRequest& WithTimeAlignmentBoundary(TimeAlignmentBoundary&& value) { SetTimeAlignmentBoundary(std::move(value)); return *this;} private: Aws::String m_predictorName; bool m_predictorNameHasBeenSet = false; int m_forecastHorizon; bool m_forecastHorizonHasBeenSet = false; Aws::Vector m_forecastTypes; bool m_forecastTypesHasBeenSet = false; Aws::Vector m_forecastDimensions; bool m_forecastDimensionsHasBeenSet = false; Aws::String m_forecastFrequency; bool m_forecastFrequencyHasBeenSet = false; DataConfig m_dataConfig; bool m_dataConfigHasBeenSet = false; EncryptionConfig m_encryptionConfig; bool m_encryptionConfigHasBeenSet = false; Aws::String m_referencePredictorArn; bool m_referencePredictorArnHasBeenSet = false; OptimizationMetric m_optimizationMetric; bool m_optimizationMetricHasBeenSet = false; bool m_explainPredictor; bool m_explainPredictorHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; MonitorConfig m_monitorConfig; bool m_monitorConfigHasBeenSet = false; TimeAlignmentBoundary m_timeAlignmentBoundary; bool m_timeAlignmentBoundaryHasBeenSet = false; }; } // namespace Model } // namespace ForecastService } // namespace Aws