/** * 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 a list of message groups that Amazon Lex uses to respond the user * input.

See Also:

AWS * API Reference

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

A collection of responses that Amazon Lex can send to the user. Amazon Lex * chooses the actual response to send at runtime.

*/ inline const Aws::Vector& GetMessageGroups() const{ return m_messageGroups; } /** *

A collection of responses that Amazon Lex can send to the user. Amazon Lex * chooses the actual response to send at runtime.

*/ inline bool MessageGroupsHasBeenSet() const { return m_messageGroupsHasBeenSet; } /** *

A collection of responses that Amazon Lex can send to the user. Amazon Lex * chooses the actual response to send at runtime.

*/ inline void SetMessageGroups(const Aws::Vector& value) { m_messageGroupsHasBeenSet = true; m_messageGroups = value; } /** *

A collection of responses that Amazon Lex can send to the user. Amazon Lex * chooses the actual response to send at runtime.

*/ inline void SetMessageGroups(Aws::Vector&& value) { m_messageGroupsHasBeenSet = true; m_messageGroups = std::move(value); } /** *

A collection of responses that Amazon Lex can send to the user. Amazon Lex * chooses the actual response to send at runtime.

*/ inline ResponseSpecification& WithMessageGroups(const Aws::Vector& value) { SetMessageGroups(value); return *this;} /** *

A collection of responses that Amazon Lex can send to the user. Amazon Lex * chooses the actual response to send at runtime.

*/ inline ResponseSpecification& WithMessageGroups(Aws::Vector&& value) { SetMessageGroups(std::move(value)); return *this;} /** *

A collection of responses that Amazon Lex can send to the user. Amazon Lex * chooses the actual response to send at runtime.

*/ inline ResponseSpecification& AddMessageGroups(const MessageGroup& value) { m_messageGroupsHasBeenSet = true; m_messageGroups.push_back(value); return *this; } /** *

A collection of responses that Amazon Lex can send to the user. Amazon Lex * chooses the actual response to send at runtime.

*/ inline ResponseSpecification& AddMessageGroups(MessageGroup&& value) { m_messageGroupsHasBeenSet = true; m_messageGroups.push_back(std::move(value)); return *this; } /** *

Indicates whether the user can interrupt a speech response from Amazon * Lex.

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

Indicates whether the user can interrupt a speech response from Amazon * Lex.

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

Indicates whether the user can interrupt a speech response from Amazon * Lex.

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

Indicates whether the user can interrupt a speech response from Amazon * Lex.

*/ inline ResponseSpecification& WithAllowInterrupt(bool value) { SetAllowInterrupt(value); return *this;} private: Aws::Vector m_messageGroups; bool m_messageGroupsHasBeenSet = false; bool m_allowInterrupt; bool m_allowInterruptHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws