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

Event sent from Amazon Lex V2 to indicate to the client application should * stop playback of audio. For example, if the client is playing a prompt that asks * for the user's telephone number, the user might start to say the phone number * before the prompt is complete. Amazon Lex V2 sends this event to the client * application to indicate that the user is responding and that Amazon Lex V2 is * processing their input.

See Also:

AWS * API Reference

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

Indicates the type of user input that Amazon Lex V2 detected.

*/ inline const PlaybackInterruptionReason& GetEventReason() const{ return m_eventReason; } /** *

Indicates the type of user input that Amazon Lex V2 detected.

*/ inline bool EventReasonHasBeenSet() const { return m_eventReasonHasBeenSet; } /** *

Indicates the type of user input that Amazon Lex V2 detected.

*/ inline void SetEventReason(const PlaybackInterruptionReason& value) { m_eventReasonHasBeenSet = true; m_eventReason = value; } /** *

Indicates the type of user input that Amazon Lex V2 detected.

*/ inline void SetEventReason(PlaybackInterruptionReason&& value) { m_eventReasonHasBeenSet = true; m_eventReason = std::move(value); } /** *

Indicates the type of user input that Amazon Lex V2 detected.

*/ inline PlaybackInterruptionEvent& WithEventReason(const PlaybackInterruptionReason& value) { SetEventReason(value); return *this;} /** *

Indicates the type of user input that Amazon Lex V2 detected.

*/ inline PlaybackInterruptionEvent& WithEventReason(PlaybackInterruptionReason&& value) { SetEventReason(std::move(value)); return *this;} /** *

The identifier of the event that contained the audio, DTMF, or text that * caused the interruption.

*/ inline const Aws::String& GetCausedByEventId() const{ return m_causedByEventId; } /** *

The identifier of the event that contained the audio, DTMF, or text that * caused the interruption.

*/ inline bool CausedByEventIdHasBeenSet() const { return m_causedByEventIdHasBeenSet; } /** *

The identifier of the event that contained the audio, DTMF, or text that * caused the interruption.

*/ inline void SetCausedByEventId(const Aws::String& value) { m_causedByEventIdHasBeenSet = true; m_causedByEventId = value; } /** *

The identifier of the event that contained the audio, DTMF, or text that * caused the interruption.

*/ inline void SetCausedByEventId(Aws::String&& value) { m_causedByEventIdHasBeenSet = true; m_causedByEventId = std::move(value); } /** *

The identifier of the event that contained the audio, DTMF, or text that * caused the interruption.

*/ inline void SetCausedByEventId(const char* value) { m_causedByEventIdHasBeenSet = true; m_causedByEventId.assign(value); } /** *

The identifier of the event that contained the audio, DTMF, or text that * caused the interruption.

*/ inline PlaybackInterruptionEvent& WithCausedByEventId(const Aws::String& value) { SetCausedByEventId(value); return *this;} /** *

The identifier of the event that contained the audio, DTMF, or text that * caused the interruption.

*/ inline PlaybackInterruptionEvent& WithCausedByEventId(Aws::String&& value) { SetCausedByEventId(std::move(value)); return *this;} /** *

The identifier of the event that contained the audio, DTMF, or text that * caused the interruption.

*/ inline PlaybackInterruptionEvent& WithCausedByEventId(const char* value) { SetCausedByEventId(value); return *this;} /** *

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline const Aws::String& GetEventId() const{ return m_eventId; } /** *

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline bool EventIdHasBeenSet() const { return m_eventIdHasBeenSet; } /** *

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline void SetEventId(const Aws::String& value) { m_eventIdHasBeenSet = true; m_eventId = value; } /** *

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline void SetEventId(Aws::String&& value) { m_eventIdHasBeenSet = true; m_eventId = std::move(value); } /** *

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline void SetEventId(const char* value) { m_eventIdHasBeenSet = true; m_eventId.assign(value); } /** *

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline PlaybackInterruptionEvent& WithEventId(const Aws::String& value) { SetEventId(value); return *this;} /** *

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline PlaybackInterruptionEvent& WithEventId(Aws::String&& value) { SetEventId(std::move(value)); return *this;} /** *

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline PlaybackInterruptionEvent& WithEventId(const char* value) { SetEventId(value); return *this;} private: PlaybackInterruptionReason m_eventReason; bool m_eventReasonHasBeenSet = false; Aws::String m_causedByEventId; bool m_causedByEventIdHasBeenSet = false; Aws::String m_eventId; bool m_eventIdHasBeenSet = false; }; } // namespace Model } // namespace LexRuntimeV2 } // namespace Aws