/** * 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 CreateDatasetGroupRequest : public ForecastServiceRequest { public: AWS_FORECASTSERVICE_API CreateDatasetGroupRequest(); // 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 "CreateDatasetGroup"; } AWS_FORECASTSERVICE_API Aws::String SerializePayload() const override; AWS_FORECASTSERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A name for the dataset group.

*/ inline const Aws::String& GetDatasetGroupName() const{ return m_datasetGroupName; } /** *

A name for the dataset group.

*/ inline bool DatasetGroupNameHasBeenSet() const { return m_datasetGroupNameHasBeenSet; } /** *

A name for the dataset group.

*/ inline void SetDatasetGroupName(const Aws::String& value) { m_datasetGroupNameHasBeenSet = true; m_datasetGroupName = value; } /** *

A name for the dataset group.

*/ inline void SetDatasetGroupName(Aws::String&& value) { m_datasetGroupNameHasBeenSet = true; m_datasetGroupName = std::move(value); } /** *

A name for the dataset group.

*/ inline void SetDatasetGroupName(const char* value) { m_datasetGroupNameHasBeenSet = true; m_datasetGroupName.assign(value); } /** *

A name for the dataset group.

*/ inline CreateDatasetGroupRequest& WithDatasetGroupName(const Aws::String& value) { SetDatasetGroupName(value); return *this;} /** *

A name for the dataset group.

*/ inline CreateDatasetGroupRequest& WithDatasetGroupName(Aws::String&& value) { SetDatasetGroupName(std::move(value)); return *this;} /** *

A name for the dataset group.

*/ inline CreateDatasetGroupRequest& WithDatasetGroupName(const char* value) { SetDatasetGroupName(value); return *this;} /** *

The domain associated with the dataset group. When you add a dataset to a * dataset group, this value and the value specified for the Domain * parameter of the CreateDataset * operation must match.

The Domain and * DatasetType that you choose determine the fields that must be * present in training data that you import to a dataset. For example, if you * choose the RETAIL domain and TARGET_TIME_SERIES as the * DatasetType, Amazon Forecast requires that item_id, * timestamp, and demand fields are present in your data. * For more information, see Dataset * groups.

*/ inline const Domain& GetDomain() const{ return m_domain; } /** *

The domain associated with the dataset group. When you add a dataset to a * dataset group, this value and the value specified for the Domain * parameter of the CreateDataset * operation must match.

The Domain and * DatasetType that you choose determine the fields that must be * present in training data that you import to a dataset. For example, if you * choose the RETAIL domain and TARGET_TIME_SERIES as the * DatasetType, Amazon Forecast requires that item_id, * timestamp, and demand fields are present in your data. * For more information, see Dataset * groups.

*/ inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } /** *

The domain associated with the dataset group. When you add a dataset to a * dataset group, this value and the value specified for the Domain * parameter of the CreateDataset * operation must match.

The Domain and * DatasetType that you choose determine the fields that must be * present in training data that you import to a dataset. For example, if you * choose the RETAIL domain and TARGET_TIME_SERIES as the * DatasetType, Amazon Forecast requires that item_id, * timestamp, and demand fields are present in your data. * For more information, see Dataset * groups.

*/ inline void SetDomain(const Domain& value) { m_domainHasBeenSet = true; m_domain = value; } /** *

The domain associated with the dataset group. When you add a dataset to a * dataset group, this value and the value specified for the Domain * parameter of the CreateDataset * operation must match.

The Domain and * DatasetType that you choose determine the fields that must be * present in training data that you import to a dataset. For example, if you * choose the RETAIL domain and TARGET_TIME_SERIES as the * DatasetType, Amazon Forecast requires that item_id, * timestamp, and demand fields are present in your data. * For more information, see Dataset * groups.

*/ inline void SetDomain(Domain&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } /** *

The domain associated with the dataset group. When you add a dataset to a * dataset group, this value and the value specified for the Domain * parameter of the CreateDataset * operation must match.

The Domain and * DatasetType that you choose determine the fields that must be * present in training data that you import to a dataset. For example, if you * choose the RETAIL domain and TARGET_TIME_SERIES as the * DatasetType, Amazon Forecast requires that item_id, * timestamp, and demand fields are present in your data. * For more information, see Dataset * groups.

*/ inline CreateDatasetGroupRequest& WithDomain(const Domain& value) { SetDomain(value); return *this;} /** *

The domain associated with the dataset group. When you add a dataset to a * dataset group, this value and the value specified for the Domain * parameter of the CreateDataset * operation must match.

The Domain and * DatasetType that you choose determine the fields that must be * present in training data that you import to a dataset. For example, if you * choose the RETAIL domain and TARGET_TIME_SERIES as the * DatasetType, Amazon Forecast requires that item_id, * timestamp, and demand fields are present in your data. * For more information, see Dataset * groups.

*/ inline CreateDatasetGroupRequest& WithDomain(Domain&& value) { SetDomain(std::move(value)); return *this;} /** *

An array of Amazon Resource Names (ARNs) of the datasets that you want to * include in the dataset group.

*/ inline const Aws::Vector& GetDatasetArns() const{ return m_datasetArns; } /** *

An array of Amazon Resource Names (ARNs) of the datasets that you want to * include in the dataset group.

*/ inline bool DatasetArnsHasBeenSet() const { return m_datasetArnsHasBeenSet; } /** *

An array of Amazon Resource Names (ARNs) of the datasets that you want to * include in the dataset group.

*/ inline void SetDatasetArns(const Aws::Vector& value) { m_datasetArnsHasBeenSet = true; m_datasetArns = value; } /** *

An array of Amazon Resource Names (ARNs) of the datasets that you want to * include in the dataset group.

*/ inline void SetDatasetArns(Aws::Vector&& value) { m_datasetArnsHasBeenSet = true; m_datasetArns = std::move(value); } /** *

An array of Amazon Resource Names (ARNs) of the datasets that you want to * include in the dataset group.

*/ inline CreateDatasetGroupRequest& WithDatasetArns(const Aws::Vector& value) { SetDatasetArns(value); return *this;} /** *

An array of Amazon Resource Names (ARNs) of the datasets that you want to * include in the dataset group.

*/ inline CreateDatasetGroupRequest& WithDatasetArns(Aws::Vector&& value) { SetDatasetArns(std::move(value)); return *this;} /** *

An array of Amazon Resource Names (ARNs) of the datasets that you want to * include in the dataset group.

*/ inline CreateDatasetGroupRequest& AddDatasetArns(const Aws::String& value) { m_datasetArnsHasBeenSet = true; m_datasetArns.push_back(value); return *this; } /** *

An array of Amazon Resource Names (ARNs) of the datasets that you want to * include in the dataset group.

*/ inline CreateDatasetGroupRequest& AddDatasetArns(Aws::String&& value) { m_datasetArnsHasBeenSet = true; m_datasetArns.push_back(std::move(value)); return *this; } /** *

An array of Amazon Resource Names (ARNs) of the datasets that you want to * include in the dataset group.

*/ inline CreateDatasetGroupRequest& AddDatasetArns(const char* value) { m_datasetArnsHasBeenSet = true; m_datasetArns.push_back(value); return *this; } /** *

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

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

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

The optional metadata that you apply to the dataset group 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 CreateDatasetGroupRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_datasetGroupName; bool m_datasetGroupNameHasBeenSet = false; Domain m_domain; bool m_domainHasBeenSet = false; Aws::Vector m_datasetArns; bool m_datasetArnsHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace ForecastService } // namespace Aws