/** * 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 PersonalizeRuntime { namespace Model { /** */ class GetRecommendationsRequest : public PersonalizeRuntimeRequest { public: AWS_PERSONALIZERUNTIME_API GetRecommendationsRequest(); // 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 "GetRecommendations"; } AWS_PERSONALIZERUNTIME_API Aws::String SerializePayload() const override; /** *

The Amazon Resource Name (ARN) of the campaign to use for getting * recommendations.

*/ inline const Aws::String& GetCampaignArn() const{ return m_campaignArn; } /** *

The Amazon Resource Name (ARN) of the campaign to use for getting * recommendations.

*/ inline bool CampaignArnHasBeenSet() const { return m_campaignArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the campaign to use for getting * recommendations.

*/ inline void SetCampaignArn(const Aws::String& value) { m_campaignArnHasBeenSet = true; m_campaignArn = value; } /** *

The Amazon Resource Name (ARN) of the campaign to use for getting * recommendations.

*/ inline void SetCampaignArn(Aws::String&& value) { m_campaignArnHasBeenSet = true; m_campaignArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the campaign to use for getting * recommendations.

*/ inline void SetCampaignArn(const char* value) { m_campaignArnHasBeenSet = true; m_campaignArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the campaign to use for getting * recommendations.

*/ inline GetRecommendationsRequest& WithCampaignArn(const Aws::String& value) { SetCampaignArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the campaign to use for getting * recommendations.

*/ inline GetRecommendationsRequest& WithCampaignArn(Aws::String&& value) { SetCampaignArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the campaign to use for getting * recommendations.

*/ inline GetRecommendationsRequest& WithCampaignArn(const char* value) { SetCampaignArn(value); return *this;} /** *

The item ID to provide recommendations for.

Required for * RELATED_ITEMS recipe type.

*/ inline const Aws::String& GetItemId() const{ return m_itemId; } /** *

The item ID to provide recommendations for.

Required for * RELATED_ITEMS recipe type.

*/ inline bool ItemIdHasBeenSet() const { return m_itemIdHasBeenSet; } /** *

The item ID to provide recommendations for.

Required for * RELATED_ITEMS recipe type.

*/ inline void SetItemId(const Aws::String& value) { m_itemIdHasBeenSet = true; m_itemId = value; } /** *

The item ID to provide recommendations for.

Required for * RELATED_ITEMS recipe type.

*/ inline void SetItemId(Aws::String&& value) { m_itemIdHasBeenSet = true; m_itemId = std::move(value); } /** *

The item ID to provide recommendations for.

Required for * RELATED_ITEMS recipe type.

*/ inline void SetItemId(const char* value) { m_itemIdHasBeenSet = true; m_itemId.assign(value); } /** *

The item ID to provide recommendations for.

Required for * RELATED_ITEMS recipe type.

*/ inline GetRecommendationsRequest& WithItemId(const Aws::String& value) { SetItemId(value); return *this;} /** *

The item ID to provide recommendations for.

Required for * RELATED_ITEMS recipe type.

*/ inline GetRecommendationsRequest& WithItemId(Aws::String&& value) { SetItemId(std::move(value)); return *this;} /** *

The item ID to provide recommendations for.

Required for * RELATED_ITEMS recipe type.

*/ inline GetRecommendationsRequest& WithItemId(const char* value) { SetItemId(value); return *this;} /** *

The user ID to provide recommendations for.

Required for * USER_PERSONALIZATION recipe type.

*/ inline const Aws::String& GetUserId() const{ return m_userId; } /** *

The user ID to provide recommendations for.

Required for * USER_PERSONALIZATION recipe type.

*/ inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; } /** *

The user ID to provide recommendations for.

Required for * USER_PERSONALIZATION recipe type.

*/ inline void SetUserId(const Aws::String& value) { m_userIdHasBeenSet = true; m_userId = value; } /** *

The user ID to provide recommendations for.

Required for * USER_PERSONALIZATION recipe type.

*/ inline void SetUserId(Aws::String&& value) { m_userIdHasBeenSet = true; m_userId = std::move(value); } /** *

The user ID to provide recommendations for.

Required for * USER_PERSONALIZATION recipe type.

*/ inline void SetUserId(const char* value) { m_userIdHasBeenSet = true; m_userId.assign(value); } /** *

The user ID to provide recommendations for.

Required for * USER_PERSONALIZATION recipe type.

*/ inline GetRecommendationsRequest& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} /** *

The user ID to provide recommendations for.

Required for * USER_PERSONALIZATION recipe type.

*/ inline GetRecommendationsRequest& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} /** *

The user ID to provide recommendations for.

Required for * USER_PERSONALIZATION recipe type.

*/ inline GetRecommendationsRequest& WithUserId(const char* value) { SetUserId(value); return *this;} /** *

The number of results to return. The default is 25. The maximum is 500.

*/ inline int GetNumResults() const{ return m_numResults; } /** *

The number of results to return. The default is 25. The maximum is 500.

*/ inline bool NumResultsHasBeenSet() const { return m_numResultsHasBeenSet; } /** *

The number of results to return. The default is 25. The maximum is 500.

*/ inline void SetNumResults(int value) { m_numResultsHasBeenSet = true; m_numResults = value; } /** *

The number of results to return. The default is 25. The maximum is 500.

*/ inline GetRecommendationsRequest& WithNumResults(int value) { SetNumResults(value); return *this;} /** *

The contextual metadata to use when getting recommendations. Contextual * metadata includes any interaction information that might be relevant when * getting a user's recommendations, such as the user's current location or device * type.

*/ inline const Aws::Map& GetContext() const{ return m_context; } /** *

The contextual metadata to use when getting recommendations. Contextual * metadata includes any interaction information that might be relevant when * getting a user's recommendations, such as the user's current location or device * type.

*/ inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; } /** *

The contextual metadata to use when getting recommendations. Contextual * metadata includes any interaction information that might be relevant when * getting a user's recommendations, such as the user's current location or device * type.

*/ inline void SetContext(const Aws::Map& value) { m_contextHasBeenSet = true; m_context = value; } /** *

The contextual metadata to use when getting recommendations. Contextual * metadata includes any interaction information that might be relevant when * getting a user's recommendations, such as the user's current location or device * type.

*/ inline void SetContext(Aws::Map&& value) { m_contextHasBeenSet = true; m_context = std::move(value); } /** *

The contextual metadata to use when getting recommendations. Contextual * metadata includes any interaction information that might be relevant when * getting a user's recommendations, such as the user's current location or device * type.

*/ inline GetRecommendationsRequest& WithContext(const Aws::Map& value) { SetContext(value); return *this;} /** *

The contextual metadata to use when getting recommendations. Contextual * metadata includes any interaction information that might be relevant when * getting a user's recommendations, such as the user's current location or device * type.

*/ inline GetRecommendationsRequest& WithContext(Aws::Map&& value) { SetContext(std::move(value)); return *this;} /** *

The contextual metadata to use when getting recommendations. Contextual * metadata includes any interaction information that might be relevant when * getting a user's recommendations, such as the user's current location or device * type.

*/ inline GetRecommendationsRequest& AddContext(const Aws::String& key, const Aws::String& value) { m_contextHasBeenSet = true; m_context.emplace(key, value); return *this; } /** *

The contextual metadata to use when getting recommendations. Contextual * metadata includes any interaction information that might be relevant when * getting a user's recommendations, such as the user's current location or device * type.

*/ inline GetRecommendationsRequest& AddContext(Aws::String&& key, const Aws::String& value) { m_contextHasBeenSet = true; m_context.emplace(std::move(key), value); return *this; } /** *

The contextual metadata to use when getting recommendations. Contextual * metadata includes any interaction information that might be relevant when * getting a user's recommendations, such as the user's current location or device * type.

*/ inline GetRecommendationsRequest& AddContext(const Aws::String& key, Aws::String&& value) { m_contextHasBeenSet = true; m_context.emplace(key, std::move(value)); return *this; } /** *

The contextual metadata to use when getting recommendations. Contextual * metadata includes any interaction information that might be relevant when * getting a user's recommendations, such as the user's current location or device * type.

*/ inline GetRecommendationsRequest& AddContext(Aws::String&& key, Aws::String&& value) { m_contextHasBeenSet = true; m_context.emplace(std::move(key), std::move(value)); return *this; } /** *

The contextual metadata to use when getting recommendations. Contextual * metadata includes any interaction information that might be relevant when * getting a user's recommendations, such as the user's current location or device * type.

*/ inline GetRecommendationsRequest& AddContext(const char* key, Aws::String&& value) { m_contextHasBeenSet = true; m_context.emplace(key, std::move(value)); return *this; } /** *

The contextual metadata to use when getting recommendations. Contextual * metadata includes any interaction information that might be relevant when * getting a user's recommendations, such as the user's current location or device * type.

*/ inline GetRecommendationsRequest& AddContext(Aws::String&& key, const char* value) { m_contextHasBeenSet = true; m_context.emplace(std::move(key), value); return *this; } /** *

The contextual metadata to use when getting recommendations. Contextual * metadata includes any interaction information that might be relevant when * getting a user's recommendations, such as the user's current location or device * type.

*/ inline GetRecommendationsRequest& AddContext(const char* key, const char* value) { m_contextHasBeenSet = true; m_context.emplace(key, value); return *this; } /** *

The ARN of the filter to apply to the returned recommendations. For more * information, see Filtering * Recommendations.

When using this parameter, be sure the filter * resource is ACTIVE.

*/ inline const Aws::String& GetFilterArn() const{ return m_filterArn; } /** *

The ARN of the filter to apply to the returned recommendations. For more * information, see Filtering * Recommendations.

When using this parameter, be sure the filter * resource is ACTIVE.

*/ inline bool FilterArnHasBeenSet() const { return m_filterArnHasBeenSet; } /** *

The ARN of the filter to apply to the returned recommendations. For more * information, see Filtering * Recommendations.

When using this parameter, be sure the filter * resource is ACTIVE.

*/ inline void SetFilterArn(const Aws::String& value) { m_filterArnHasBeenSet = true; m_filterArn = value; } /** *

The ARN of the filter to apply to the returned recommendations. For more * information, see Filtering * Recommendations.

When using this parameter, be sure the filter * resource is ACTIVE.

*/ inline void SetFilterArn(Aws::String&& value) { m_filterArnHasBeenSet = true; m_filterArn = std::move(value); } /** *

The ARN of the filter to apply to the returned recommendations. For more * information, see Filtering * Recommendations.

When using this parameter, be sure the filter * resource is ACTIVE.

*/ inline void SetFilterArn(const char* value) { m_filterArnHasBeenSet = true; m_filterArn.assign(value); } /** *

The ARN of the filter to apply to the returned recommendations. For more * information, see Filtering * Recommendations.

When using this parameter, be sure the filter * resource is ACTIVE.

*/ inline GetRecommendationsRequest& WithFilterArn(const Aws::String& value) { SetFilterArn(value); return *this;} /** *

The ARN of the filter to apply to the returned recommendations. For more * information, see Filtering * Recommendations.

When using this parameter, be sure the filter * resource is ACTIVE.

*/ inline GetRecommendationsRequest& WithFilterArn(Aws::String&& value) { SetFilterArn(std::move(value)); return *this;} /** *

The ARN of the filter to apply to the returned recommendations. For more * information, see Filtering * Recommendations.

When using this parameter, be sure the filter * resource is ACTIVE.

*/ inline GetRecommendationsRequest& WithFilterArn(const char* value) { SetFilterArn(value); return *this;} /** *

The values to use when filtering recommendations. For each placeholder * parameter in your 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, see Filtering * recommendations and user segments.

*/ inline const Aws::Map& GetFilterValues() const{ return m_filterValues; } /** *

The values to use when filtering recommendations. For each placeholder * parameter in your 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, see Filtering * recommendations and user segments.

*/ inline bool FilterValuesHasBeenSet() const { return m_filterValuesHasBeenSet; } /** *

The values to use when filtering recommendations. For each placeholder * parameter in your 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, see Filtering * recommendations and user segments.

*/ inline void SetFilterValues(const Aws::Map& value) { m_filterValuesHasBeenSet = true; m_filterValues = value; } /** *

The values to use when filtering recommendations. For each placeholder * parameter in your 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, see Filtering * recommendations and user segments.

*/ inline void SetFilterValues(Aws::Map&& value) { m_filterValuesHasBeenSet = true; m_filterValues = std::move(value); } /** *

The values to use when filtering recommendations. For each placeholder * parameter in your 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, see Filtering * recommendations and user segments.

*/ inline GetRecommendationsRequest& WithFilterValues(const Aws::Map& value) { SetFilterValues(value); return *this;} /** *

The values to use when filtering recommendations. For each placeholder * parameter in your 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, see Filtering * recommendations and user segments.

*/ inline GetRecommendationsRequest& WithFilterValues(Aws::Map&& value) { SetFilterValues(std::move(value)); return *this;} /** *

The values to use when filtering recommendations. For each placeholder * parameter in your 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, see Filtering * recommendations and user segments.

*/ inline GetRecommendationsRequest& AddFilterValues(const Aws::String& key, const Aws::String& value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(key, value); return *this; } /** *

The values to use when filtering recommendations. For each placeholder * parameter in your 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, see Filtering * recommendations and user segments.

*/ inline GetRecommendationsRequest& 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 filtering recommendations. For each placeholder * parameter in your 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, see Filtering * recommendations and user segments.

*/ inline GetRecommendationsRequest& 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 filtering recommendations. For each placeholder * parameter in your 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, see Filtering * recommendations and user segments.

*/ inline GetRecommendationsRequest& 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 filtering recommendations. For each placeholder * parameter in your 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, see Filtering * recommendations and user segments.

*/ inline GetRecommendationsRequest& AddFilterValues(const char* key, Aws::String&& value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(key, std::move(value)); return *this; } /** *

The values to use when filtering recommendations. For each placeholder * parameter in your 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, see Filtering * recommendations and user segments.

*/ inline GetRecommendationsRequest& AddFilterValues(Aws::String&& key, const char* value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(std::move(key), value); return *this; } /** *

The values to use when filtering recommendations. For each placeholder * parameter in your 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, see Filtering * recommendations and user segments.

*/ inline GetRecommendationsRequest& AddFilterValues(const char* key, const char* value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(key, value); return *this; } /** *

The Amazon Resource Name (ARN) of the recommender to use to get * recommendations. Provide a recommender ARN if you created a Domain dataset group * with a recommender for a domain use case.

*/ inline const Aws::String& GetRecommenderArn() const{ return m_recommenderArn; } /** *

The Amazon Resource Name (ARN) of the recommender to use to get * recommendations. Provide a recommender ARN if you created a Domain dataset group * with a recommender for a domain use case.

*/ inline bool RecommenderArnHasBeenSet() const { return m_recommenderArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the recommender to use to get * recommendations. Provide a recommender ARN if you created a Domain dataset group * with a recommender for a domain use case.

*/ inline void SetRecommenderArn(const Aws::String& value) { m_recommenderArnHasBeenSet = true; m_recommenderArn = value; } /** *

The Amazon Resource Name (ARN) of the recommender to use to get * recommendations. Provide a recommender ARN if you created a Domain dataset group * with a recommender for a domain use case.

*/ inline void SetRecommenderArn(Aws::String&& value) { m_recommenderArnHasBeenSet = true; m_recommenderArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the recommender to use to get * recommendations. Provide a recommender ARN if you created a Domain dataset group * with a recommender for a domain use case.

*/ inline void SetRecommenderArn(const char* value) { m_recommenderArnHasBeenSet = true; m_recommenderArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the recommender to use to get * recommendations. Provide a recommender ARN if you created a Domain dataset group * with a recommender for a domain use case.

*/ inline GetRecommendationsRequest& WithRecommenderArn(const Aws::String& value) { SetRecommenderArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the recommender to use to get * recommendations. Provide a recommender ARN if you created a Domain dataset group * with a recommender for a domain use case.

*/ inline GetRecommendationsRequest& WithRecommenderArn(Aws::String&& value) { SetRecommenderArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the recommender to use to get * recommendations. Provide a recommender ARN if you created a Domain dataset group * with a recommender for a domain use case.

*/ inline GetRecommendationsRequest& WithRecommenderArn(const char* value) { SetRecommenderArn(value); return *this;} /** *

The promotions to apply to the recommendation request. A promotion defines * additional business rules that apply to a configurable subset of recommended * items.

*/ inline const Aws::Vector& GetPromotions() const{ return m_promotions; } /** *

The promotions to apply to the recommendation request. A promotion defines * additional business rules that apply to a configurable subset of recommended * items.

*/ inline bool PromotionsHasBeenSet() const { return m_promotionsHasBeenSet; } /** *

The promotions to apply to the recommendation request. A promotion defines * additional business rules that apply to a configurable subset of recommended * items.

*/ inline void SetPromotions(const Aws::Vector& value) { m_promotionsHasBeenSet = true; m_promotions = value; } /** *

The promotions to apply to the recommendation request. A promotion defines * additional business rules that apply to a configurable subset of recommended * items.

*/ inline void SetPromotions(Aws::Vector&& value) { m_promotionsHasBeenSet = true; m_promotions = std::move(value); } /** *

The promotions to apply to the recommendation request. A promotion defines * additional business rules that apply to a configurable subset of recommended * items.

*/ inline GetRecommendationsRequest& WithPromotions(const Aws::Vector& value) { SetPromotions(value); return *this;} /** *

The promotions to apply to the recommendation request. A promotion defines * additional business rules that apply to a configurable subset of recommended * items.

*/ inline GetRecommendationsRequest& WithPromotions(Aws::Vector&& value) { SetPromotions(std::move(value)); return *this;} /** *

The promotions to apply to the recommendation request. A promotion defines * additional business rules that apply to a configurable subset of recommended * items.

*/ inline GetRecommendationsRequest& AddPromotions(const Promotion& value) { m_promotionsHasBeenSet = true; m_promotions.push_back(value); return *this; } /** *

The promotions to apply to the recommendation request. A promotion defines * additional business rules that apply to a configurable subset of recommended * items.

*/ inline GetRecommendationsRequest& AddPromotions(Promotion&& value) { m_promotionsHasBeenSet = true; m_promotions.push_back(std::move(value)); return *this; } private: Aws::String m_campaignArn; bool m_campaignArnHasBeenSet = false; Aws::String m_itemId; bool m_itemIdHasBeenSet = false; Aws::String m_userId; bool m_userIdHasBeenSet = false; int m_numResults; bool m_numResultsHasBeenSet = false; Aws::Map m_context; bool m_contextHasBeenSet = false; Aws::String m_filterArn; bool m_filterArnHasBeenSet = false; Aws::Map m_filterValues; bool m_filterValuesHasBeenSet = false; Aws::String m_recommenderArn; bool m_recommenderArnHasBeenSet = false; Aws::Vector m_promotions; bool m_promotionsHasBeenSet = false; }; } // namespace Model } // namespace PersonalizeRuntime } // namespace Aws