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

Represents an option rendered to the user when a prompt is shown. It could be * an image, a button, a link, or text.

See Also:

AWS * API Reference

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

The title of the option.

*/ inline const Aws::String& GetTitle() const{ return m_title; } /** *

The title of the option.

*/ inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } /** *

The title of the option.

*/ inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } /** *

The title of the option.

*/ inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } /** *

The title of the option.

*/ inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } /** *

The title of the option.

*/ inline GenericAttachment& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} /** *

The title of the option.

*/ inline GenericAttachment& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} /** *

The title of the option.

*/ inline GenericAttachment& WithTitle(const char* value) { SetTitle(value); return *this;} /** *

The subtitle shown below the title.

*/ inline const Aws::String& GetSubTitle() const{ return m_subTitle; } /** *

The subtitle shown below the title.

*/ inline bool SubTitleHasBeenSet() const { return m_subTitleHasBeenSet; } /** *

The subtitle shown below the title.

*/ inline void SetSubTitle(const Aws::String& value) { m_subTitleHasBeenSet = true; m_subTitle = value; } /** *

The subtitle shown below the title.

*/ inline void SetSubTitle(Aws::String&& value) { m_subTitleHasBeenSet = true; m_subTitle = std::move(value); } /** *

The subtitle shown below the title.

*/ inline void SetSubTitle(const char* value) { m_subTitleHasBeenSet = true; m_subTitle.assign(value); } /** *

The subtitle shown below the title.

*/ inline GenericAttachment& WithSubTitle(const Aws::String& value) { SetSubTitle(value); return *this;} /** *

The subtitle shown below the title.

*/ inline GenericAttachment& WithSubTitle(Aws::String&& value) { SetSubTitle(std::move(value)); return *this;} /** *

The subtitle shown below the title.

*/ inline GenericAttachment& WithSubTitle(const char* value) { SetSubTitle(value); return *this;} /** *

The URL of an attachment to the response card.

*/ inline const Aws::String& GetAttachmentLinkUrl() const{ return m_attachmentLinkUrl; } /** *

The URL of an attachment to the response card.

*/ inline bool AttachmentLinkUrlHasBeenSet() const { return m_attachmentLinkUrlHasBeenSet; } /** *

The URL of an attachment to the response card.

*/ inline void SetAttachmentLinkUrl(const Aws::String& value) { m_attachmentLinkUrlHasBeenSet = true; m_attachmentLinkUrl = value; } /** *

The URL of an attachment to the response card.

*/ inline void SetAttachmentLinkUrl(Aws::String&& value) { m_attachmentLinkUrlHasBeenSet = true; m_attachmentLinkUrl = std::move(value); } /** *

The URL of an attachment to the response card.

*/ inline void SetAttachmentLinkUrl(const char* value) { m_attachmentLinkUrlHasBeenSet = true; m_attachmentLinkUrl.assign(value); } /** *

The URL of an attachment to the response card.

*/ inline GenericAttachment& WithAttachmentLinkUrl(const Aws::String& value) { SetAttachmentLinkUrl(value); return *this;} /** *

The URL of an attachment to the response card.

*/ inline GenericAttachment& WithAttachmentLinkUrl(Aws::String&& value) { SetAttachmentLinkUrl(std::move(value)); return *this;} /** *

The URL of an attachment to the response card.

*/ inline GenericAttachment& WithAttachmentLinkUrl(const char* value) { SetAttachmentLinkUrl(value); return *this;} /** *

The URL of an image that is displayed to the user.

*/ inline const Aws::String& GetImageUrl() const{ return m_imageUrl; } /** *

The URL of an image that is displayed to the user.

*/ inline bool ImageUrlHasBeenSet() const { return m_imageUrlHasBeenSet; } /** *

The URL of an image that is displayed to the user.

*/ inline void SetImageUrl(const Aws::String& value) { m_imageUrlHasBeenSet = true; m_imageUrl = value; } /** *

The URL of an image that is displayed to the user.

*/ inline void SetImageUrl(Aws::String&& value) { m_imageUrlHasBeenSet = true; m_imageUrl = std::move(value); } /** *

The URL of an image that is displayed to the user.

*/ inline void SetImageUrl(const char* value) { m_imageUrlHasBeenSet = true; m_imageUrl.assign(value); } /** *

The URL of an image that is displayed to the user.

*/ inline GenericAttachment& WithImageUrl(const Aws::String& value) { SetImageUrl(value); return *this;} /** *

The URL of an image that is displayed to the user.

*/ inline GenericAttachment& WithImageUrl(Aws::String&& value) { SetImageUrl(std::move(value)); return *this;} /** *

The URL of an image that is displayed to the user.

*/ inline GenericAttachment& WithImageUrl(const char* value) { SetImageUrl(value); return *this;} /** *

The list of options to show to the user.

*/ inline const Aws::Vector