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

Specifies the settings on a prompt attempt.

See Also:

AWS * API Reference

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

Indicates whether the user can interrupt a speech prompt attempt from the * bot.

*/ inline bool GetAllowInterrupt() const{ return m_allowInterrupt; } /** *

Indicates whether the user can interrupt a speech prompt attempt from the * bot.

*/ inline bool AllowInterruptHasBeenSet() const { return m_allowInterruptHasBeenSet; } /** *

Indicates whether the user can interrupt a speech prompt attempt from the * bot.

*/ inline void SetAllowInterrupt(bool value) { m_allowInterruptHasBeenSet = true; m_allowInterrupt = value; } /** *

Indicates whether the user can interrupt a speech prompt attempt from the * bot.

*/ inline PromptAttemptSpecification& WithAllowInterrupt(bool value) { SetAllowInterrupt(value); return *this;} /** *

Indicates the allowed input types of the prompt attempt.

*/ inline const AllowedInputTypes& GetAllowedInputTypes() const{ return m_allowedInputTypes; } /** *

Indicates the allowed input types of the prompt attempt.

*/ inline bool AllowedInputTypesHasBeenSet() const { return m_allowedInputTypesHasBeenSet; } /** *

Indicates the allowed input types of the prompt attempt.

*/ inline void SetAllowedInputTypes(const AllowedInputTypes& value) { m_allowedInputTypesHasBeenSet = true; m_allowedInputTypes = value; } /** *

Indicates the allowed input types of the prompt attempt.

*/ inline void SetAllowedInputTypes(AllowedInputTypes&& value) { m_allowedInputTypesHasBeenSet = true; m_allowedInputTypes = std::move(value); } /** *

Indicates the allowed input types of the prompt attempt.

*/ inline PromptAttemptSpecification& WithAllowedInputTypes(const AllowedInputTypes& value) { SetAllowedInputTypes(value); return *this;} /** *

Indicates the allowed input types of the prompt attempt.

*/ inline PromptAttemptSpecification& WithAllowedInputTypes(AllowedInputTypes&& value) { SetAllowedInputTypes(std::move(value)); return *this;} /** *

Specifies the settings on audio and DTMF input.

*/ inline const AudioAndDTMFInputSpecification& GetAudioAndDTMFInputSpecification() const{ return m_audioAndDTMFInputSpecification; } /** *

Specifies the settings on audio and DTMF input.

*/ inline bool AudioAndDTMFInputSpecificationHasBeenSet() const { return m_audioAndDTMFInputSpecificationHasBeenSet; } /** *

Specifies the settings on audio and DTMF input.

*/ inline void SetAudioAndDTMFInputSpecification(const AudioAndDTMFInputSpecification& value) { m_audioAndDTMFInputSpecificationHasBeenSet = true; m_audioAndDTMFInputSpecification = value; } /** *

Specifies the settings on audio and DTMF input.

*/ inline void SetAudioAndDTMFInputSpecification(AudioAndDTMFInputSpecification&& value) { m_audioAndDTMFInputSpecificationHasBeenSet = true; m_audioAndDTMFInputSpecification = std::move(value); } /** *

Specifies the settings on audio and DTMF input.

*/ inline PromptAttemptSpecification& WithAudioAndDTMFInputSpecification(const AudioAndDTMFInputSpecification& value) { SetAudioAndDTMFInputSpecification(value); return *this;} /** *

Specifies the settings on audio and DTMF input.

*/ inline PromptAttemptSpecification& WithAudioAndDTMFInputSpecification(AudioAndDTMFInputSpecification&& value) { SetAudioAndDTMFInputSpecification(std::move(value)); return *this;} /** *

Specifies the settings on text input.

*/ inline const TextInputSpecification& GetTextInputSpecification() const{ return m_textInputSpecification; } /** *

Specifies the settings on text input.

*/ inline bool TextInputSpecificationHasBeenSet() const { return m_textInputSpecificationHasBeenSet; } /** *

Specifies the settings on text input.

*/ inline void SetTextInputSpecification(const TextInputSpecification& value) { m_textInputSpecificationHasBeenSet = true; m_textInputSpecification = value; } /** *

Specifies the settings on text input.

*/ inline void SetTextInputSpecification(TextInputSpecification&& value) { m_textInputSpecificationHasBeenSet = true; m_textInputSpecification = std::move(value); } /** *

Specifies the settings on text input.

*/ inline PromptAttemptSpecification& WithTextInputSpecification(const TextInputSpecification& value) { SetTextInputSpecification(value); return *this;} /** *

Specifies the settings on text input.

*/ inline PromptAttemptSpecification& WithTextInputSpecification(TextInputSpecification&& value) { SetTextInputSpecification(std::move(value)); return *this;} private: bool m_allowInterrupt; bool m_allowInterruptHasBeenSet = false; AllowedInputTypes m_allowedInputTypes; bool m_allowedInputTypesHasBeenSet = false; AudioAndDTMFInputSpecification m_audioAndDTMFInputSpecification; bool m_audioAndDTMFInputSpecificationHasBeenSet = false; TextInputSpecification m_textInputSpecification; bool m_textInputSpecificationHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws