/** * 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 { /** *

Provides one or more messages that Amazon Lex should send to the * user.

See Also:

AWS * API Reference

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

The primary message that Amazon Lex should send to the user.

*/ inline const Message& GetMessage() const{ return m_message; } /** *

The primary message that Amazon Lex should send to the user.

*/ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } /** *

The primary message that Amazon Lex should send to the user.

*/ inline void SetMessage(const Message& value) { m_messageHasBeenSet = true; m_message = value; } /** *

The primary message that Amazon Lex should send to the user.

*/ inline void SetMessage(Message&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } /** *

The primary message that Amazon Lex should send to the user.

*/ inline MessageGroup& WithMessage(const Message& value) { SetMessage(value); return *this;} /** *

The primary message that Amazon Lex should send to the user.

*/ inline MessageGroup& WithMessage(Message&& value) { SetMessage(std::move(value)); return *this;} /** *

Message variations to send to the user. When variations are defined, Amazon * Lex chooses the primary message or one of the variations to send to the * user.

*/ inline const Aws::Vector& GetVariations() const{ return m_variations; } /** *

Message variations to send to the user. When variations are defined, Amazon * Lex chooses the primary message or one of the variations to send to the * user.

*/ inline bool VariationsHasBeenSet() const { return m_variationsHasBeenSet; } /** *

Message variations to send to the user. When variations are defined, Amazon * Lex chooses the primary message or one of the variations to send to the * user.

*/ inline void SetVariations(const Aws::Vector& value) { m_variationsHasBeenSet = true; m_variations = value; } /** *

Message variations to send to the user. When variations are defined, Amazon * Lex chooses the primary message or one of the variations to send to the * user.

*/ inline void SetVariations(Aws::Vector&& value) { m_variationsHasBeenSet = true; m_variations = std::move(value); } /** *

Message variations to send to the user. When variations are defined, Amazon * Lex chooses the primary message or one of the variations to send to the * user.

*/ inline MessageGroup& WithVariations(const Aws::Vector& value) { SetVariations(value); return *this;} /** *

Message variations to send to the user. When variations are defined, Amazon * Lex chooses the primary message or one of the variations to send to the * user.

*/ inline MessageGroup& WithVariations(Aws::Vector&& value) { SetVariations(std::move(value)); return *this;} /** *

Message variations to send to the user. When variations are defined, Amazon * Lex chooses the primary message or one of the variations to send to the * user.

*/ inline MessageGroup& AddVariations(const Message& value) { m_variationsHasBeenSet = true; m_variations.push_back(value); return *this; } /** *

Message variations to send to the user. When variations are defined, Amazon * Lex chooses the primary message or one of the variations to send to the * user.

*/ inline MessageGroup& AddVariations(Message&& value) { m_variationsHasBeenSet = true; m_variations.push_back(std::move(value)); return *this; } private: Message m_message; bool m_messageHasBeenSet = false; Aws::Vector m_variations; bool m_variationsHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws