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

A name for the forecast.

*/ inline const Aws::String& GetForecastName() const{ return m_forecastName; } /** *

A name for the forecast.

*/ inline bool ForecastNameHasBeenSet() const { return m_forecastNameHasBeenSet; } /** *

A name for the forecast.

*/ inline void SetForecastName(const Aws::String& value) { m_forecastNameHasBeenSet = true; m_forecastName = value; } /** *

A name for the forecast.

*/ inline void SetForecastName(Aws::String&& value) { m_forecastNameHasBeenSet = true; m_forecastName = std::move(value); } /** *

A name for the forecast.

*/ inline void SetForecastName(const char* value) { m_forecastNameHasBeenSet = true; m_forecastName.assign(value); } /** *

A name for the forecast.

*/ inline CreateForecastRequest& WithForecastName(const Aws::String& value) { SetForecastName(value); return *this;} /** *

A name for the forecast.

*/ inline CreateForecastRequest& WithForecastName(Aws::String&& value) { SetForecastName(std::move(value)); return *this;} /** *

A name for the forecast.

*/ inline CreateForecastRequest& WithForecastName(const char* value) { SetForecastName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the predictor to use to generate the * forecast.

*/ inline const Aws::String& GetPredictorArn() const{ return m_predictorArn; } /** *

The Amazon Resource Name (ARN) of the predictor to use to generate the * forecast.

*/ inline bool PredictorArnHasBeenSet() const { return m_predictorArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the predictor to use to generate the * forecast.

*/ inline void SetPredictorArn(const Aws::String& value) { m_predictorArnHasBeenSet = true; m_predictorArn = value; } /** *

The Amazon Resource Name (ARN) of the predictor to use to generate the * forecast.

*/ inline void SetPredictorArn(Aws::String&& value) { m_predictorArnHasBeenSet = true; m_predictorArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the predictor to use to generate the * forecast.

*/ inline void SetPredictorArn(const char* value) { m_predictorArnHasBeenSet = true; m_predictorArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the predictor to use to generate the * forecast.

*/ inline CreateForecastRequest& WithPredictorArn(const Aws::String& value) { SetPredictorArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the predictor to use to generate the * forecast.

*/ inline CreateForecastRequest& WithPredictorArn(Aws::String&& value) { SetPredictorArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the predictor to use to generate the * forecast.

*/ inline CreateForecastRequest& WithPredictorArn(const char* value) { SetPredictorArn(value); return *this;} /** *

The quantiles at which probabilistic forecasts are generated. You can * currently specify up to 5 quantiles per forecast. Accepted values include * 0.01 to 0.99 (increments of .01 only) and mean. The * mean forecast is different from the median (0.50) when the distribution is not * symmetric (for example, Beta and Negative Binomial).

The default * quantiles are the quantiles you specified during predictor creation. If you * didn't specify quantiles, the default values are ["0.1", "0.5", * "0.9"].

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

The quantiles at which probabilistic forecasts are generated. You can * currently specify up to 5 quantiles per forecast. Accepted values include * 0.01 to 0.99 (increments of .01 only) and mean. The * mean forecast is different from the median (0.50) when the distribution is not * symmetric (for example, Beta and Negative Binomial).

The default * quantiles are the quantiles you specified during predictor creation. If you * didn't specify quantiles, the default values are ["0.1", "0.5", * "0.9"].

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

The quantiles at which probabilistic forecasts are generated. You can * currently specify up to 5 quantiles per forecast. Accepted values include * 0.01 to 0.99 (increments of .01 only) and mean. The * mean forecast is different from the median (0.50) when the distribution is not * symmetric (for example, Beta and Negative Binomial).

The default * quantiles are the quantiles you specified during predictor creation. If you * didn't specify quantiles, the default values are ["0.1", "0.5", * "0.9"].

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

The quantiles at which probabilistic forecasts are generated. You can * currently specify up to 5 quantiles per forecast. Accepted values include * 0.01 to 0.99 (increments of .01 only) and mean. The * mean forecast is different from the median (0.50) when the distribution is not * symmetric (for example, Beta and Negative Binomial).

The default * quantiles are the quantiles you specified during predictor creation. If you * didn't specify quantiles, the default values are ["0.1", "0.5", * "0.9"].

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

The quantiles at which probabilistic forecasts are generated. You can * currently specify up to 5 quantiles per forecast. Accepted values include * 0.01 to 0.99 (increments of .01 only) and mean. The * mean forecast is different from the median (0.50) when the distribution is not * symmetric (for example, Beta and Negative Binomial).

The default * quantiles are the quantiles you specified during predictor creation. If you * didn't specify quantiles, the default values are ["0.1", "0.5", * "0.9"].

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

The quantiles at which probabilistic forecasts are generated. You can * currently specify up to 5 quantiles per forecast. Accepted values include * 0.01 to 0.99 (increments of .01 only) and mean. The * mean forecast is different from the median (0.50) when the distribution is not * symmetric (for example, Beta and Negative Binomial).

The default * quantiles are the quantiles you specified during predictor creation. If you * didn't specify quantiles, the default values are ["0.1", "0.5", * "0.9"].

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

The quantiles at which probabilistic forecasts are generated. You can * currently specify up to 5 quantiles per forecast. Accepted values include * 0.01 to 0.99 (increments of .01 only) and mean. The * mean forecast is different from the median (0.50) when the distribution is not * symmetric (for example, Beta and Negative Binomial).

The default * quantiles are the quantiles you specified during predictor creation. If you * didn't specify quantiles, the default values are ["0.1", "0.5", * "0.9"].

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

The quantiles at which probabilistic forecasts are generated. You can * currently specify up to 5 quantiles per forecast. Accepted values include * 0.01 to 0.99 (increments of .01 only) and mean. The * mean forecast is different from the median (0.50) when the distribution is not * symmetric (for example, Beta and Negative Binomial).

The default * quantiles are the quantiles you specified during predictor creation. If you * didn't specify quantiles, the default values are ["0.1", "0.5", * "0.9"].

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

The quantiles at which probabilistic forecasts are generated. You can * currently specify up to 5 quantiles per forecast. Accepted values include * 0.01 to 0.99 (increments of .01 only) and mean. The * mean forecast is different from the median (0.50) when the distribution is not * symmetric (for example, Beta and Negative Binomial).

The default * quantiles are the quantiles you specified during predictor creation. If you * didn't specify quantiles, the default values are ["0.1", "0.5", * "0.9"].

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

The optional metadata that you apply to the forecast 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 forecast 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 forecast 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 forecast 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 forecast 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 CreateForecastRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The optional metadata that you apply to the forecast 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 CreateForecastRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The optional metadata that you apply to the forecast 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 CreateForecastRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The optional metadata that you apply to the forecast 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 CreateForecastRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

Defines the set of time series that are used to create the forecasts in a * TimeSeriesIdentifiers object.

The * TimeSeriesIdentifiers object needs the following information:

*
  • DataSource

  • Format *

  • Schema

*/ inline const TimeSeriesSelector& GetTimeSeriesSelector() const{ return m_timeSeriesSelector; } /** *

Defines the set of time series that are used to create the forecasts in a * TimeSeriesIdentifiers object.

The * TimeSeriesIdentifiers object needs the following information:

*
  • DataSource

  • Format *

  • Schema

*/ inline bool TimeSeriesSelectorHasBeenSet() const { return m_timeSeriesSelectorHasBeenSet; } /** *

Defines the set of time series that are used to create the forecasts in a * TimeSeriesIdentifiers object.

The * TimeSeriesIdentifiers object needs the following information:

*
  • DataSource

  • Format *

  • Schema

*/ inline void SetTimeSeriesSelector(const TimeSeriesSelector& value) { m_timeSeriesSelectorHasBeenSet = true; m_timeSeriesSelector = value; } /** *

Defines the set of time series that are used to create the forecasts in a * TimeSeriesIdentifiers object.

The * TimeSeriesIdentifiers object needs the following information:

*
  • DataSource

  • Format *

  • Schema

*/ inline void SetTimeSeriesSelector(TimeSeriesSelector&& value) { m_timeSeriesSelectorHasBeenSet = true; m_timeSeriesSelector = std::move(value); } /** *

Defines the set of time series that are used to create the forecasts in a * TimeSeriesIdentifiers object.

The * TimeSeriesIdentifiers object needs the following information:

*
  • DataSource

  • Format *

  • Schema

*/ inline CreateForecastRequest& WithTimeSeriesSelector(const TimeSeriesSelector& value) { SetTimeSeriesSelector(value); return *this;} /** *

Defines the set of time series that are used to create the forecasts in a * TimeSeriesIdentifiers object.

The * TimeSeriesIdentifiers object needs the following information:

*
  • DataSource

  • Format *

  • Schema

*/ inline CreateForecastRequest& WithTimeSeriesSelector(TimeSeriesSelector&& value) { SetTimeSeriesSelector(std::move(value)); return *this;} private: Aws::String m_forecastName; bool m_forecastNameHasBeenSet = false; Aws::String m_predictorArn; bool m_predictorArnHasBeenSet = false; Aws::Vector m_forecastTypes; bool m_forecastTypesHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; TimeSeriesSelector m_timeSeriesSelector; bool m_timeSeriesSelectorHasBeenSet = false; }; } // namespace Model } // namespace ForecastService } // namespace Aws