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

Specifies the audio and DTMF input specification.

See Also:

* AWS * API Reference

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

Time for which a bot waits before assuming that the customer isn't going to * speak or press a key. This timeout is shared between Audio and DTMF inputs.

*/ inline int GetStartTimeoutMs() const{ return m_startTimeoutMs; } /** *

Time for which a bot waits before assuming that the customer isn't going to * speak or press a key. This timeout is shared between Audio and DTMF inputs.

*/ inline bool StartTimeoutMsHasBeenSet() const { return m_startTimeoutMsHasBeenSet; } /** *

Time for which a bot waits before assuming that the customer isn't going to * speak or press a key. This timeout is shared between Audio and DTMF inputs.

*/ inline void SetStartTimeoutMs(int value) { m_startTimeoutMsHasBeenSet = true; m_startTimeoutMs = value; } /** *

Time for which a bot waits before assuming that the customer isn't going to * speak or press a key. This timeout is shared between Audio and DTMF inputs.

*/ inline AudioAndDTMFInputSpecification& WithStartTimeoutMs(int value) { SetStartTimeoutMs(value); return *this;} /** *

Specifies the settings on audio input.

*/ inline const AudioSpecification& GetAudioSpecification() const{ return m_audioSpecification; } /** *

Specifies the settings on audio input.

*/ inline bool AudioSpecificationHasBeenSet() const { return m_audioSpecificationHasBeenSet; } /** *

Specifies the settings on audio input.

*/ inline void SetAudioSpecification(const AudioSpecification& value) { m_audioSpecificationHasBeenSet = true; m_audioSpecification = value; } /** *

Specifies the settings on audio input.

*/ inline void SetAudioSpecification(AudioSpecification&& value) { m_audioSpecificationHasBeenSet = true; m_audioSpecification = std::move(value); } /** *

Specifies the settings on audio input.

*/ inline AudioAndDTMFInputSpecification& WithAudioSpecification(const AudioSpecification& value) { SetAudioSpecification(value); return *this;} /** *

Specifies the settings on audio input.

*/ inline AudioAndDTMFInputSpecification& WithAudioSpecification(AudioSpecification&& value) { SetAudioSpecification(std::move(value)); return *this;} /** *

Specifies the settings on DTMF input.

*/ inline const DTMFSpecification& GetDtmfSpecification() const{ return m_dtmfSpecification; } /** *

Specifies the settings on DTMF input.

*/ inline bool DtmfSpecificationHasBeenSet() const { return m_dtmfSpecificationHasBeenSet; } /** *

Specifies the settings on DTMF input.

*/ inline void SetDtmfSpecification(const DTMFSpecification& value) { m_dtmfSpecificationHasBeenSet = true; m_dtmfSpecification = value; } /** *

Specifies the settings on DTMF input.

*/ inline void SetDtmfSpecification(DTMFSpecification&& value) { m_dtmfSpecificationHasBeenSet = true; m_dtmfSpecification = std::move(value); } /** *

Specifies the settings on DTMF input.

*/ inline AudioAndDTMFInputSpecification& WithDtmfSpecification(const DTMFSpecification& value) { SetDtmfSpecification(value); return *this;} /** *

Specifies the settings on DTMF input.

*/ inline AudioAndDTMFInputSpecification& WithDtmfSpecification(DTMFSpecification&& value) { SetDtmfSpecification(std::move(value)); return *this;} private: int m_startTimeoutMs; bool m_startTimeoutMsHasBeenSet = false; AudioSpecification m_audioSpecification; bool m_audioSpecificationHasBeenSet = false; DTMFSpecification m_dtmfSpecification; bool m_dtmfSpecificationHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws