/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ConnectWisdomService { namespace Model { /** *

A recommendation trigger provides context on the event that produced the * referenced recommendations. Recommendations are only referenced in * recommendationIds by a single RecommendationTrigger.

See * Also:

AWS * API Reference

*/ class RecommendationTrigger { public: AWS_CONNECTWISDOMSERVICE_API RecommendationTrigger(); AWS_CONNECTWISDOMSERVICE_API RecommendationTrigger(Aws::Utils::Json::JsonView jsonValue); AWS_CONNECTWISDOMSERVICE_API RecommendationTrigger& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CONNECTWISDOMSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A union type containing information related to the trigger.

*/ inline const RecommendationTriggerData& GetData() const{ return m_data; } /** *

A union type containing information related to the trigger.

*/ inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } /** *

A union type containing information related to the trigger.

*/ inline void SetData(const RecommendationTriggerData& value) { m_dataHasBeenSet = true; m_data = value; } /** *

A union type containing information related to the trigger.

*/ inline void SetData(RecommendationTriggerData&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } /** *

A union type containing information related to the trigger.

*/ inline RecommendationTrigger& WithData(const RecommendationTriggerData& value) { SetData(value); return *this;} /** *

A union type containing information related to the trigger.

*/ inline RecommendationTrigger& WithData(RecommendationTriggerData&& value) { SetData(std::move(value)); return *this;} /** *

The identifier of the recommendation trigger.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The identifier of the recommendation trigger.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The identifier of the recommendation trigger.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The identifier of the recommendation trigger.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The identifier of the recommendation trigger.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The identifier of the recommendation trigger.

*/ inline RecommendationTrigger& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The identifier of the recommendation trigger.

*/ inline RecommendationTrigger& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The identifier of the recommendation trigger.

*/ inline RecommendationTrigger& WithId(const char* value) { SetId(value); return *this;} /** *

The identifiers of the recommendations.

*/ inline const Aws::Vector& GetRecommendationIds() const{ return m_recommendationIds; } /** *

The identifiers of the recommendations.

*/ inline bool RecommendationIdsHasBeenSet() const { return m_recommendationIdsHasBeenSet; } /** *

The identifiers of the recommendations.

*/ inline void SetRecommendationIds(const Aws::Vector& value) { m_recommendationIdsHasBeenSet = true; m_recommendationIds = value; } /** *

The identifiers of the recommendations.

*/ inline void SetRecommendationIds(Aws::Vector&& value) { m_recommendationIdsHasBeenSet = true; m_recommendationIds = std::move(value); } /** *

The identifiers of the recommendations.

*/ inline RecommendationTrigger& WithRecommendationIds(const Aws::Vector& value) { SetRecommendationIds(value); return *this;} /** *

The identifiers of the recommendations.

*/ inline RecommendationTrigger& WithRecommendationIds(Aws::Vector&& value) { SetRecommendationIds(std::move(value)); return *this;} /** *

The identifiers of the recommendations.

*/ inline RecommendationTrigger& AddRecommendationIds(const Aws::String& value) { m_recommendationIdsHasBeenSet = true; m_recommendationIds.push_back(value); return *this; } /** *

The identifiers of the recommendations.

*/ inline RecommendationTrigger& AddRecommendationIds(Aws::String&& value) { m_recommendationIdsHasBeenSet = true; m_recommendationIds.push_back(std::move(value)); return *this; } /** *

The identifiers of the recommendations.

*/ inline RecommendationTrigger& AddRecommendationIds(const char* value) { m_recommendationIdsHasBeenSet = true; m_recommendationIds.push_back(value); return *this; } /** *

The source of the recommendation trigger.

  • ISSUE_DETECTION: * The corresponding recommendations were triggered by a Contact Lens issue.

    *
  • RULE_EVALUATION: The corresponding recommendations were triggered * by a Contact Lens rule.

*/ inline const RecommendationSourceType& GetSource() const{ return m_source; } /** *

The source of the recommendation trigger.

  • ISSUE_DETECTION: * The corresponding recommendations were triggered by a Contact Lens issue.

    *
  • RULE_EVALUATION: The corresponding recommendations were triggered * by a Contact Lens rule.

*/ inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } /** *

The source of the recommendation trigger.

  • ISSUE_DETECTION: * The corresponding recommendations were triggered by a Contact Lens issue.

    *
  • RULE_EVALUATION: The corresponding recommendations were triggered * by a Contact Lens rule.

*/ inline void SetSource(const RecommendationSourceType& value) { m_sourceHasBeenSet = true; m_source = value; } /** *

The source of the recommendation trigger.

  • ISSUE_DETECTION: * The corresponding recommendations were triggered by a Contact Lens issue.

    *
  • RULE_EVALUATION: The corresponding recommendations were triggered * by a Contact Lens rule.

*/ inline void SetSource(RecommendationSourceType&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } /** *

The source of the recommendation trigger.

  • ISSUE_DETECTION: * The corresponding recommendations were triggered by a Contact Lens issue.

    *
  • RULE_EVALUATION: The corresponding recommendations were triggered * by a Contact Lens rule.

*/ inline RecommendationTrigger& WithSource(const RecommendationSourceType& value) { SetSource(value); return *this;} /** *

The source of the recommendation trigger.

  • ISSUE_DETECTION: * The corresponding recommendations were triggered by a Contact Lens issue.

    *
  • RULE_EVALUATION: The corresponding recommendations were triggered * by a Contact Lens rule.

*/ inline RecommendationTrigger& WithSource(RecommendationSourceType&& value) { SetSource(std::move(value)); return *this;} /** *

The type of recommendation trigger.

*/ inline const RecommendationTriggerType& GetType() const{ return m_type; } /** *

The type of recommendation trigger.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of recommendation trigger.

*/ inline void SetType(const RecommendationTriggerType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of recommendation trigger.

*/ inline void SetType(RecommendationTriggerType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of recommendation trigger.

*/ inline RecommendationTrigger& WithType(const RecommendationTriggerType& value) { SetType(value); return *this;} /** *

The type of recommendation trigger.

*/ inline RecommendationTrigger& WithType(RecommendationTriggerType&& value) { SetType(std::move(value)); return *this;} private: RecommendationTriggerData m_data; bool m_dataHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::Vector m_recommendationIds; bool m_recommendationIdsHasBeenSet = false; RecommendationSourceType m_source; bool m_sourceHasBeenSet = false; RecommendationTriggerType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace ConnectWisdomService } // namespace Aws