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

The object that provides message text and its type.

See Also:

* AWS * API Reference

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

A message in plain text format.

*/ inline const PlainTextMessage& GetPlainTextMessage() const{ return m_plainTextMessage; } /** *

A message in plain text format.

*/ inline bool PlainTextMessageHasBeenSet() const { return m_plainTextMessageHasBeenSet; } /** *

A message in plain text format.

*/ inline void SetPlainTextMessage(const PlainTextMessage& value) { m_plainTextMessageHasBeenSet = true; m_plainTextMessage = value; } /** *

A message in plain text format.

*/ inline void SetPlainTextMessage(PlainTextMessage&& value) { m_plainTextMessageHasBeenSet = true; m_plainTextMessage = std::move(value); } /** *

A message in plain text format.

*/ inline Message& WithPlainTextMessage(const PlainTextMessage& value) { SetPlainTextMessage(value); return *this;} /** *

A message in plain text format.

*/ inline Message& WithPlainTextMessage(PlainTextMessage&& value) { SetPlainTextMessage(std::move(value)); return *this;} /** *

A message in a custom format defined by the client application.

*/ inline const CustomPayload& GetCustomPayload() const{ return m_customPayload; } /** *

A message in a custom format defined by the client application.

*/ inline bool CustomPayloadHasBeenSet() const { return m_customPayloadHasBeenSet; } /** *

A message in a custom format defined by the client application.

*/ inline void SetCustomPayload(const CustomPayload& value) { m_customPayloadHasBeenSet = true; m_customPayload = value; } /** *

A message in a custom format defined by the client application.

*/ inline void SetCustomPayload(CustomPayload&& value) { m_customPayloadHasBeenSet = true; m_customPayload = std::move(value); } /** *

A message in a custom format defined by the client application.

*/ inline Message& WithCustomPayload(const CustomPayload& value) { SetCustomPayload(value); return *this;} /** *

A message in a custom format defined by the client application.

*/ inline Message& WithCustomPayload(CustomPayload&& value) { SetCustomPayload(std::move(value)); return *this;} /** *

A message in Speech Synthesis Markup Language (SSML).

*/ inline const SSMLMessage& GetSsmlMessage() const{ return m_ssmlMessage; } /** *

A message in Speech Synthesis Markup Language (SSML).

*/ inline bool SsmlMessageHasBeenSet() const { return m_ssmlMessageHasBeenSet; } /** *

A message in Speech Synthesis Markup Language (SSML).

*/ inline void SetSsmlMessage(const SSMLMessage& value) { m_ssmlMessageHasBeenSet = true; m_ssmlMessage = value; } /** *

A message in Speech Synthesis Markup Language (SSML).

*/ inline void SetSsmlMessage(SSMLMessage&& value) { m_ssmlMessageHasBeenSet = true; m_ssmlMessage = std::move(value); } /** *

A message in Speech Synthesis Markup Language (SSML).

*/ inline Message& WithSsmlMessage(const SSMLMessage& value) { SetSsmlMessage(value); return *this;} /** *

A message in Speech Synthesis Markup Language (SSML).

*/ inline Message& WithSsmlMessage(SSMLMessage&& value) { SetSsmlMessage(std::move(value)); return *this;} /** *

A message that defines a response card that the client application can show * to the user.

*/ inline const ImageResponseCard& GetImageResponseCard() const{ return m_imageResponseCard; } /** *

A message that defines a response card that the client application can show * to the user.

*/ inline bool ImageResponseCardHasBeenSet() const { return m_imageResponseCardHasBeenSet; } /** *

A message that defines a response card that the client application can show * to the user.

*/ inline void SetImageResponseCard(const ImageResponseCard& value) { m_imageResponseCardHasBeenSet = true; m_imageResponseCard = value; } /** *

A message that defines a response card that the client application can show * to the user.

*/ inline void SetImageResponseCard(ImageResponseCard&& value) { m_imageResponseCardHasBeenSet = true; m_imageResponseCard = std::move(value); } /** *

A message that defines a response card that the client application can show * to the user.

*/ inline Message& WithImageResponseCard(const ImageResponseCard& value) { SetImageResponseCard(value); return *this;} /** *

A message that defines a response card that the client application can show * to the user.

*/ inline Message& WithImageResponseCard(ImageResponseCard&& value) { SetImageResponseCard(std::move(value)); return *this;} private: PlainTextMessage m_plainTextMessage; bool m_plainTextMessageHasBeenSet = false; CustomPayload m_customPayload; bool m_customPayloadHasBeenSet = false; SSMLMessage m_ssmlMessage; bool m_ssmlMessageHasBeenSet = false; ImageResponseCard m_imageResponseCard; bool m_imageResponseCardHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws