/** * 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 TranscribeService { namespace Model { /** *

A rule is a set of criteria that you can specify to flag an attribute in your * Call Analytics output. Rules define a Call Analytics category.

Rules can * include these parameters: , , , and .

To learn more about Call Analytics * rules and categories, see Creating * categories for post-call transcriptions and Creating * categories for real-time transcriptions.

To learn more about Call * Analytics, see Analyzing * call center audio with Call Analytics.

See Also:

AWS API * Reference

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

Flag the presence or absence of periods of silence in your Call Analytics * transcription output. Refer to for more detail.

*/ inline const NonTalkTimeFilter& GetNonTalkTimeFilter() const{ return m_nonTalkTimeFilter; } /** *

Flag the presence or absence of periods of silence in your Call Analytics * transcription output. Refer to for more detail.

*/ inline bool NonTalkTimeFilterHasBeenSet() const { return m_nonTalkTimeFilterHasBeenSet; } /** *

Flag the presence or absence of periods of silence in your Call Analytics * transcription output. Refer to for more detail.

*/ inline void SetNonTalkTimeFilter(const NonTalkTimeFilter& value) { m_nonTalkTimeFilterHasBeenSet = true; m_nonTalkTimeFilter = value; } /** *

Flag the presence or absence of periods of silence in your Call Analytics * transcription output. Refer to for more detail.

*/ inline void SetNonTalkTimeFilter(NonTalkTimeFilter&& value) { m_nonTalkTimeFilterHasBeenSet = true; m_nonTalkTimeFilter = std::move(value); } /** *

Flag the presence or absence of periods of silence in your Call Analytics * transcription output. Refer to for more detail.

*/ inline Rule& WithNonTalkTimeFilter(const NonTalkTimeFilter& value) { SetNonTalkTimeFilter(value); return *this;} /** *

Flag the presence or absence of periods of silence in your Call Analytics * transcription output. Refer to for more detail.

*/ inline Rule& WithNonTalkTimeFilter(NonTalkTimeFilter&& value) { SetNonTalkTimeFilter(std::move(value)); return *this;} /** *

Flag the presence or absence of interruptions in your Call Analytics * transcription output. Refer to for more detail.

*/ inline const InterruptionFilter& GetInterruptionFilter() const{ return m_interruptionFilter; } /** *

Flag the presence or absence of interruptions in your Call Analytics * transcription output. Refer to for more detail.

*/ inline bool InterruptionFilterHasBeenSet() const { return m_interruptionFilterHasBeenSet; } /** *

Flag the presence or absence of interruptions in your Call Analytics * transcription output. Refer to for more detail.

*/ inline void SetInterruptionFilter(const InterruptionFilter& value) { m_interruptionFilterHasBeenSet = true; m_interruptionFilter = value; } /** *

Flag the presence or absence of interruptions in your Call Analytics * transcription output. Refer to for more detail.

*/ inline void SetInterruptionFilter(InterruptionFilter&& value) { m_interruptionFilterHasBeenSet = true; m_interruptionFilter = std::move(value); } /** *

Flag the presence or absence of interruptions in your Call Analytics * transcription output. Refer to for more detail.

*/ inline Rule& WithInterruptionFilter(const InterruptionFilter& value) { SetInterruptionFilter(value); return *this;} /** *

Flag the presence or absence of interruptions in your Call Analytics * transcription output. Refer to for more detail.

*/ inline Rule& WithInterruptionFilter(InterruptionFilter&& value) { SetInterruptionFilter(std::move(value)); return *this;} /** *

Flag the presence or absence of specific words or phrases in your Call * Analytics transcription output. Refer to for more detail.

*/ inline const TranscriptFilter& GetTranscriptFilter() const{ return m_transcriptFilter; } /** *

Flag the presence or absence of specific words or phrases in your Call * Analytics transcription output. Refer to for more detail.

*/ inline bool TranscriptFilterHasBeenSet() const { return m_transcriptFilterHasBeenSet; } /** *

Flag the presence or absence of specific words or phrases in your Call * Analytics transcription output. Refer to for more detail.

*/ inline void SetTranscriptFilter(const TranscriptFilter& value) { m_transcriptFilterHasBeenSet = true; m_transcriptFilter = value; } /** *

Flag the presence or absence of specific words or phrases in your Call * Analytics transcription output. Refer to for more detail.

*/ inline void SetTranscriptFilter(TranscriptFilter&& value) { m_transcriptFilterHasBeenSet = true; m_transcriptFilter = std::move(value); } /** *

Flag the presence or absence of specific words or phrases in your Call * Analytics transcription output. Refer to for more detail.

*/ inline Rule& WithTranscriptFilter(const TranscriptFilter& value) { SetTranscriptFilter(value); return *this;} /** *

Flag the presence or absence of specific words or phrases in your Call * Analytics transcription output. Refer to for more detail.

*/ inline Rule& WithTranscriptFilter(TranscriptFilter&& value) { SetTranscriptFilter(std::move(value)); return *this;} /** *

Flag the presence or absence of specific sentiments in your Call Analytics * transcription output. Refer to for more detail.

*/ inline const SentimentFilter& GetSentimentFilter() const{ return m_sentimentFilter; } /** *

Flag the presence or absence of specific sentiments in your Call Analytics * transcription output. Refer to for more detail.

*/ inline bool SentimentFilterHasBeenSet() const { return m_sentimentFilterHasBeenSet; } /** *

Flag the presence or absence of specific sentiments in your Call Analytics * transcription output. Refer to for more detail.

*/ inline void SetSentimentFilter(const SentimentFilter& value) { m_sentimentFilterHasBeenSet = true; m_sentimentFilter = value; } /** *

Flag the presence or absence of specific sentiments in your Call Analytics * transcription output. Refer to for more detail.

*/ inline void SetSentimentFilter(SentimentFilter&& value) { m_sentimentFilterHasBeenSet = true; m_sentimentFilter = std::move(value); } /** *

Flag the presence or absence of specific sentiments in your Call Analytics * transcription output. Refer to for more detail.

*/ inline Rule& WithSentimentFilter(const SentimentFilter& value) { SetSentimentFilter(value); return *this;} /** *

Flag the presence or absence of specific sentiments in your Call Analytics * transcription output. Refer to for more detail.

*/ inline Rule& WithSentimentFilter(SentimentFilter&& value) { SetSentimentFilter(std::move(value)); return *this;} private: NonTalkTimeFilter m_nonTalkTimeFilter; bool m_nonTalkTimeFilterHasBeenSet = false; InterruptionFilter m_interruptionFilter; bool m_interruptionFilterHasBeenSet = false; TranscriptFilter m_transcriptFilter; bool m_transcriptFilterHasBeenSet = false; SentimentFilter m_sentimentFilter; bool m_sentimentFilterHasBeenSet = false; }; } // namespace Model } // namespace TranscribeService } // namespace Aws