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

A collection of messages that convey information to the user. At runtime, * Amazon Lex selects the message to convey.

See Also:

AWS * API Reference

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

A collection of message objects.

*/ inline const Aws::Vector& GetMessages() const{ return m_messages; } /** *

A collection of message objects.

*/ inline bool MessagesHasBeenSet() const { return m_messagesHasBeenSet; } /** *

A collection of message objects.

*/ inline void SetMessages(const Aws::Vector& value) { m_messagesHasBeenSet = true; m_messages = value; } /** *

A collection of message objects.

*/ inline void SetMessages(Aws::Vector&& value) { m_messagesHasBeenSet = true; m_messages = std::move(value); } /** *

A collection of message objects.

*/ inline Statement& WithMessages(const Aws::Vector& value) { SetMessages(value); return *this;} /** *

A collection of message objects.

*/ inline Statement& WithMessages(Aws::Vector&& value) { SetMessages(std::move(value)); return *this;} /** *

A collection of message objects.

*/ inline Statement& AddMessages(const Message& value) { m_messagesHasBeenSet = true; m_messages.push_back(value); return *this; } /** *

A collection of message objects.

*/ inline Statement& AddMessages(Message&& value) { m_messagesHasBeenSet = true; m_messages.push_back(std::move(value)); return *this; } /** *

At runtime, if the client is using the PostText * API, Amazon Lex includes the response card in the response. It substitutes all * of the session attributes and slot values for placeholders in the response card. *

*/ inline const Aws::String& GetResponseCard() const{ return m_responseCard; } /** *

At runtime, if the client is using the PostText * API, Amazon Lex includes the response card in the response. It substitutes all * of the session attributes and slot values for placeholders in the response card. *

*/ inline bool ResponseCardHasBeenSet() const { return m_responseCardHasBeenSet; } /** *

At runtime, if the client is using the PostText * API, Amazon Lex includes the response card in the response. It substitutes all * of the session attributes and slot values for placeholders in the response card. *

*/ inline void SetResponseCard(const Aws::String& value) { m_responseCardHasBeenSet = true; m_responseCard = value; } /** *

At runtime, if the client is using the PostText * API, Amazon Lex includes the response card in the response. It substitutes all * of the session attributes and slot values for placeholders in the response card. *

*/ inline void SetResponseCard(Aws::String&& value) { m_responseCardHasBeenSet = true; m_responseCard = std::move(value); } /** *

At runtime, if the client is using the PostText * API, Amazon Lex includes the response card in the response. It substitutes all * of the session attributes and slot values for placeholders in the response card. *

*/ inline void SetResponseCard(const char* value) { m_responseCardHasBeenSet = true; m_responseCard.assign(value); } /** *

At runtime, if the client is using the PostText * API, Amazon Lex includes the response card in the response. It substitutes all * of the session attributes and slot values for placeholders in the response card. *

*/ inline Statement& WithResponseCard(const Aws::String& value) { SetResponseCard(value); return *this;} /** *

At runtime, if the client is using the PostText * API, Amazon Lex includes the response card in the response. It substitutes all * of the session attributes and slot values for placeholders in the response card. *

*/ inline Statement& WithResponseCard(Aws::String&& value) { SetResponseCard(std::move(value)); return *this;} /** *

At runtime, if the client is using the PostText * API, Amazon Lex includes the response card in the response. It substitutes all * of the session attributes and slot values for placeholders in the response card. *

*/ inline Statement& WithResponseCard(const char* value) { SetResponseCard(value); return *this;} private: Aws::Vector m_messages; bool m_messagesHasBeenSet = false; Aws::String m_responseCard; bool m_responseCardHasBeenSet = false; }; } // namespace Model } // namespace LexModelBuildingService } // namespace Aws