/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains information on a promotion. A promotion defines additional business
* rules that apply to a configurable subset of recommended items.See
* Also:
AWS
* API Reference
The name of the promotion.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the promotion.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the promotion.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the promotion.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the promotion.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the promotion.
*/ inline Promotion& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the promotion.
*/ inline Promotion& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the promotion.
*/ inline Promotion& WithName(const char* value) { SetName(value); return *this;} /** *The percentage of recommended items to apply the promotion to.
*/ inline int GetPercentPromotedItems() const{ return m_percentPromotedItems; } /** *The percentage of recommended items to apply the promotion to.
*/ inline bool PercentPromotedItemsHasBeenSet() const { return m_percentPromotedItemsHasBeenSet; } /** *The percentage of recommended items to apply the promotion to.
*/ inline void SetPercentPromotedItems(int value) { m_percentPromotedItemsHasBeenSet = true; m_percentPromotedItems = value; } /** *The percentage of recommended items to apply the promotion to.
*/ inline Promotion& WithPercentPromotedItems(int value) { SetPercentPromotedItems(value); return *this;} /** *The Amazon Resource Name (ARN) of the filter used by the promotion. This * filter defines the criteria for promoted items. For more information, see Promotion * filters.
*/ inline const Aws::String& GetFilterArn() const{ return m_filterArn; } /** *The Amazon Resource Name (ARN) of the filter used by the promotion. This * filter defines the criteria for promoted items. For more information, see Promotion * filters.
*/ inline bool FilterArnHasBeenSet() const { return m_filterArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the filter used by the promotion. This * filter defines the criteria for promoted items. For more information, see Promotion * filters.
*/ inline void SetFilterArn(const Aws::String& value) { m_filterArnHasBeenSet = true; m_filterArn = value; } /** *The Amazon Resource Name (ARN) of the filter used by the promotion. This * filter defines the criteria for promoted items. For more information, see Promotion * filters.
*/ inline void SetFilterArn(Aws::String&& value) { m_filterArnHasBeenSet = true; m_filterArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the filter used by the promotion. This * filter defines the criteria for promoted items. For more information, see Promotion * filters.
*/ inline void SetFilterArn(const char* value) { m_filterArnHasBeenSet = true; m_filterArn.assign(value); } /** *The Amazon Resource Name (ARN) of the filter used by the promotion. This * filter defines the criteria for promoted items. For more information, see Promotion * filters.
*/ inline Promotion& WithFilterArn(const Aws::String& value) { SetFilterArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the filter used by the promotion. This * filter defines the criteria for promoted items. For more information, see Promotion * filters.
*/ inline Promotion& WithFilterArn(Aws::String&& value) { SetFilterArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the filter used by the promotion. This * filter defines the criteria for promoted items. For more information, see Promotion * filters.
*/ inline Promotion& WithFilterArn(const char* value) { SetFilterArn(value); return *this;} /** *The values to use when promoting items. For each placeholder parameter in * your promotion's filter expression, provide the parameter name (in matching * case) as a key and the filter value(s) as the corresponding value. Separate * multiple values for one parameter with a comma.
For filter expressions
* that use an INCLUDE
element to include items, you must provide
* values for all parameters that are defined in the expression. For filters with
* expressions that use an EXCLUDE
element to exclude items, you can
* omit the filter-values
. In this case, Amazon Personalize doesn't
* use that portion of the expression to filter recommendations.
For more * information on creating filters, see Filtering * recommendations and user segments.
*/ inline const Aws::MapThe values to use when promoting items. For each placeholder parameter in * your promotion's filter expression, provide the parameter name (in matching * case) as a key and the filter value(s) as the corresponding value. Separate * multiple values for one parameter with a comma.
For filter expressions
* that use an INCLUDE
element to include items, you must provide
* values for all parameters that are defined in the expression. For filters with
* expressions that use an EXCLUDE
element to exclude items, you can
* omit the filter-values
. In this case, Amazon Personalize doesn't
* use that portion of the expression to filter recommendations.
For more * information on creating filters, see Filtering * recommendations and user segments.
*/ inline bool FilterValuesHasBeenSet() const { return m_filterValuesHasBeenSet; } /** *The values to use when promoting items. For each placeholder parameter in * your promotion's filter expression, provide the parameter name (in matching * case) as a key and the filter value(s) as the corresponding value. Separate * multiple values for one parameter with a comma.
For filter expressions
* that use an INCLUDE
element to include items, you must provide
* values for all parameters that are defined in the expression. For filters with
* expressions that use an EXCLUDE
element to exclude items, you can
* omit the filter-values
. In this case, Amazon Personalize doesn't
* use that portion of the expression to filter recommendations.
For more * information on creating filters, see Filtering * recommendations and user segments.
*/ inline void SetFilterValues(const Aws::MapThe values to use when promoting items. For each placeholder parameter in * your promotion's filter expression, provide the parameter name (in matching * case) as a key and the filter value(s) as the corresponding value. Separate * multiple values for one parameter with a comma.
For filter expressions
* that use an INCLUDE
element to include items, you must provide
* values for all parameters that are defined in the expression. For filters with
* expressions that use an EXCLUDE
element to exclude items, you can
* omit the filter-values
. In this case, Amazon Personalize doesn't
* use that portion of the expression to filter recommendations.
For more * information on creating filters, see Filtering * recommendations and user segments.
*/ inline void SetFilterValues(Aws::MapThe values to use when promoting items. For each placeholder parameter in * your promotion's filter expression, provide the parameter name (in matching * case) as a key and the filter value(s) as the corresponding value. Separate * multiple values for one parameter with a comma.
For filter expressions
* that use an INCLUDE
element to include items, you must provide
* values for all parameters that are defined in the expression. For filters with
* expressions that use an EXCLUDE
element to exclude items, you can
* omit the filter-values
. In this case, Amazon Personalize doesn't
* use that portion of the expression to filter recommendations.
For more * information on creating filters, see Filtering * recommendations and user segments.
*/ inline Promotion& WithFilterValues(const Aws::MapThe values to use when promoting items. For each placeholder parameter in * your promotion's filter expression, provide the parameter name (in matching * case) as a key and the filter value(s) as the corresponding value. Separate * multiple values for one parameter with a comma.
For filter expressions
* that use an INCLUDE
element to include items, you must provide
* values for all parameters that are defined in the expression. For filters with
* expressions that use an EXCLUDE
element to exclude items, you can
* omit the filter-values
. In this case, Amazon Personalize doesn't
* use that portion of the expression to filter recommendations.
For more * information on creating filters, see Filtering * recommendations and user segments.
*/ inline Promotion& WithFilterValues(Aws::MapThe values to use when promoting items. For each placeholder parameter in * your promotion's filter expression, provide the parameter name (in matching * case) as a key and the filter value(s) as the corresponding value. Separate * multiple values for one parameter with a comma.
For filter expressions
* that use an INCLUDE
element to include items, you must provide
* values for all parameters that are defined in the expression. For filters with
* expressions that use an EXCLUDE
element to exclude items, you can
* omit the filter-values
. In this case, Amazon Personalize doesn't
* use that portion of the expression to filter recommendations.
For more * information on creating filters, see Filtering * recommendations and user segments.
*/ inline Promotion& AddFilterValues(const Aws::String& key, const Aws::String& value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(key, value); return *this; } /** *The values to use when promoting items. For each placeholder parameter in * your promotion's filter expression, provide the parameter name (in matching * case) as a key and the filter value(s) as the corresponding value. Separate * multiple values for one parameter with a comma.
For filter expressions
* that use an INCLUDE
element to include items, you must provide
* values for all parameters that are defined in the expression. For filters with
* expressions that use an EXCLUDE
element to exclude items, you can
* omit the filter-values
. In this case, Amazon Personalize doesn't
* use that portion of the expression to filter recommendations.
For more * information on creating filters, see Filtering * recommendations and user segments.
*/ inline Promotion& AddFilterValues(Aws::String&& key, const Aws::String& value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(std::move(key), value); return *this; } /** *The values to use when promoting items. For each placeholder parameter in * your promotion's filter expression, provide the parameter name (in matching * case) as a key and the filter value(s) as the corresponding value. Separate * multiple values for one parameter with a comma.
For filter expressions
* that use an INCLUDE
element to include items, you must provide
* values for all parameters that are defined in the expression. For filters with
* expressions that use an EXCLUDE
element to exclude items, you can
* omit the filter-values
. In this case, Amazon Personalize doesn't
* use that portion of the expression to filter recommendations.
For more * information on creating filters, see Filtering * recommendations and user segments.
*/ inline Promotion& AddFilterValues(const Aws::String& key, Aws::String&& value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(key, std::move(value)); return *this; } /** *The values to use when promoting items. For each placeholder parameter in * your promotion's filter expression, provide the parameter name (in matching * case) as a key and the filter value(s) as the corresponding value. Separate * multiple values for one parameter with a comma.
For filter expressions
* that use an INCLUDE
element to include items, you must provide
* values for all parameters that are defined in the expression. For filters with
* expressions that use an EXCLUDE
element to exclude items, you can
* omit the filter-values
. In this case, Amazon Personalize doesn't
* use that portion of the expression to filter recommendations.
For more * information on creating filters, see Filtering * recommendations and user segments.
*/ inline Promotion& AddFilterValues(Aws::String&& key, Aws::String&& value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(std::move(key), std::move(value)); return *this; } /** *The values to use when promoting items. For each placeholder parameter in * your promotion's filter expression, provide the parameter name (in matching * case) as a key and the filter value(s) as the corresponding value. Separate * multiple values for one parameter with a comma.
For filter expressions
* that use an INCLUDE
element to include items, you must provide
* values for all parameters that are defined in the expression. For filters with
* expressions that use an EXCLUDE
element to exclude items, you can
* omit the filter-values
. In this case, Amazon Personalize doesn't
* use that portion of the expression to filter recommendations.
For more * information on creating filters, see Filtering * recommendations and user segments.
*/ inline Promotion& AddFilterValues(const char* key, Aws::String&& value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(key, std::move(value)); return *this; } /** *The values to use when promoting items. For each placeholder parameter in * your promotion's filter expression, provide the parameter name (in matching * case) as a key and the filter value(s) as the corresponding value. Separate * multiple values for one parameter with a comma.
For filter expressions
* that use an INCLUDE
element to include items, you must provide
* values for all parameters that are defined in the expression. For filters with
* expressions that use an EXCLUDE
element to exclude items, you can
* omit the filter-values
. In this case, Amazon Personalize doesn't
* use that portion of the expression to filter recommendations.
For more * information on creating filters, see Filtering * recommendations and user segments.
*/ inline Promotion& AddFilterValues(Aws::String&& key, const char* value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(std::move(key), value); return *this; } /** *The values to use when promoting items. For each placeholder parameter in * your promotion's filter expression, provide the parameter name (in matching * case) as a key and the filter value(s) as the corresponding value. Separate * multiple values for one parameter with a comma.
For filter expressions
* that use an INCLUDE
element to include items, you must provide
* values for all parameters that are defined in the expression. For filters with
* expressions that use an EXCLUDE
element to exclude items, you can
* omit the filter-values
. In this case, Amazon Personalize doesn't
* use that portion of the expression to filter recommendations.
For more * information on creating filters, see Filtering * recommendations and user segments.
*/ inline Promotion& AddFilterValues(const char* key, const char* value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(key, value); return *this; } private: Aws::String m_name; bool m_nameHasBeenSet = false; int m_percentPromotedItems; bool m_percentPromotedItemsHasBeenSet = false; Aws::String m_filterArn; bool m_filterArnHasBeenSet = false; Aws::Map