/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ChimeSDKMediaPipelines { namespace Model { /** *

Specifies the words or phrases that trigger an alert.

See * Also:

AWS * API Reference

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

The type of alert rule.

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

The type of alert rule.

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

The type of alert rule.

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

The type of alert rule.

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

The type of alert rule.

*/ inline RealTimeAlertRule& WithType(const RealTimeAlertRuleType& value) { SetType(value); return *this;} /** *

The type of alert rule.

*/ inline RealTimeAlertRule& WithType(RealTimeAlertRuleType&& value) { SetType(std::move(value)); return *this;} /** *

Specifies the settings for matching the keywords in a real-time alert * rule.

*/ inline const KeywordMatchConfiguration& GetKeywordMatchConfiguration() const{ return m_keywordMatchConfiguration; } /** *

Specifies the settings for matching the keywords in a real-time alert * rule.

*/ inline bool KeywordMatchConfigurationHasBeenSet() const { return m_keywordMatchConfigurationHasBeenSet; } /** *

Specifies the settings for matching the keywords in a real-time alert * rule.

*/ inline void SetKeywordMatchConfiguration(const KeywordMatchConfiguration& value) { m_keywordMatchConfigurationHasBeenSet = true; m_keywordMatchConfiguration = value; } /** *

Specifies the settings for matching the keywords in a real-time alert * rule.

*/ inline void SetKeywordMatchConfiguration(KeywordMatchConfiguration&& value) { m_keywordMatchConfigurationHasBeenSet = true; m_keywordMatchConfiguration = std::move(value); } /** *

Specifies the settings for matching the keywords in a real-time alert * rule.

*/ inline RealTimeAlertRule& WithKeywordMatchConfiguration(const KeywordMatchConfiguration& value) { SetKeywordMatchConfiguration(value); return *this;} /** *

Specifies the settings for matching the keywords in a real-time alert * rule.

*/ inline RealTimeAlertRule& WithKeywordMatchConfiguration(KeywordMatchConfiguration&& value) { SetKeywordMatchConfiguration(std::move(value)); return *this;} /** *

Specifies the settings for predicting sentiment in a real-time alert * rule.

*/ inline const SentimentConfiguration& GetSentimentConfiguration() const{ return m_sentimentConfiguration; } /** *

Specifies the settings for predicting sentiment in a real-time alert * rule.

*/ inline bool SentimentConfigurationHasBeenSet() const { return m_sentimentConfigurationHasBeenSet; } /** *

Specifies the settings for predicting sentiment in a real-time alert * rule.

*/ inline void SetSentimentConfiguration(const SentimentConfiguration& value) { m_sentimentConfigurationHasBeenSet = true; m_sentimentConfiguration = value; } /** *

Specifies the settings for predicting sentiment in a real-time alert * rule.

*/ inline void SetSentimentConfiguration(SentimentConfiguration&& value) { m_sentimentConfigurationHasBeenSet = true; m_sentimentConfiguration = std::move(value); } /** *

Specifies the settings for predicting sentiment in a real-time alert * rule.

*/ inline RealTimeAlertRule& WithSentimentConfiguration(const SentimentConfiguration& value) { SetSentimentConfiguration(value); return *this;} /** *

Specifies the settings for predicting sentiment in a real-time alert * rule.

*/ inline RealTimeAlertRule& WithSentimentConfiguration(SentimentConfiguration&& value) { SetSentimentConfiguration(std::move(value)); return *this;} /** *

Specifies the issue detection settings for a real-time alert rule.

*/ inline const IssueDetectionConfiguration& GetIssueDetectionConfiguration() const{ return m_issueDetectionConfiguration; } /** *

Specifies the issue detection settings for a real-time alert rule.

*/ inline bool IssueDetectionConfigurationHasBeenSet() const { return m_issueDetectionConfigurationHasBeenSet; } /** *

Specifies the issue detection settings for a real-time alert rule.

*/ inline void SetIssueDetectionConfiguration(const IssueDetectionConfiguration& value) { m_issueDetectionConfigurationHasBeenSet = true; m_issueDetectionConfiguration = value; } /** *

Specifies the issue detection settings for a real-time alert rule.

*/ inline void SetIssueDetectionConfiguration(IssueDetectionConfiguration&& value) { m_issueDetectionConfigurationHasBeenSet = true; m_issueDetectionConfiguration = std::move(value); } /** *

Specifies the issue detection settings for a real-time alert rule.

*/ inline RealTimeAlertRule& WithIssueDetectionConfiguration(const IssueDetectionConfiguration& value) { SetIssueDetectionConfiguration(value); return *this;} /** *

Specifies the issue detection settings for a real-time alert rule.

*/ inline RealTimeAlertRule& WithIssueDetectionConfiguration(IssueDetectionConfiguration&& value) { SetIssueDetectionConfiguration(std::move(value)); return *this;} private: RealTimeAlertRuleType m_type; bool m_typeHasBeenSet = false; KeywordMatchConfiguration m_keywordMatchConfiguration; bool m_keywordMatchConfigurationHasBeenSet = false; SentimentConfiguration m_sentimentConfiguration; bool m_sentimentConfigurationHasBeenSet = false; IssueDetectionConfiguration m_issueDetectionConfiguration; bool m_issueDetectionConfigurationHasBeenSet = false; }; } // namespace Model } // namespace ChimeSDKMediaPipelines } // namespace Aws