AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
GenericAttachment.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/lex/LexRuntimeService_EXPORTS.h>
10#include <aws/lex/model/Button.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace LexRuntimeService {
22namespace Model {
23
31 public:
32 AWS_LEXRUNTIMESERVICE_API GenericAttachment() = default;
33 AWS_LEXRUNTIMESERVICE_API GenericAttachment(Aws::Utils::Json::JsonView jsonValue);
34 AWS_LEXRUNTIMESERVICE_API GenericAttachment& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_LEXRUNTIMESERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline const Aws::String& GetTitle() const { return m_title; }
42 inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; }
43 template <typename TitleT = Aws::String>
44 void SetTitle(TitleT&& value) {
45 m_titleHasBeenSet = true;
46 m_title = std::forward<TitleT>(value);
47 }
48 template <typename TitleT = Aws::String>
49 GenericAttachment& WithTitle(TitleT&& value) {
50 SetTitle(std::forward<TitleT>(value));
51 return *this;
52 }
54
56
59 inline const Aws::String& GetSubTitle() const { return m_subTitle; }
60 inline bool SubTitleHasBeenSet() const { return m_subTitleHasBeenSet; }
61 template <typename SubTitleT = Aws::String>
62 void SetSubTitle(SubTitleT&& value) {
63 m_subTitleHasBeenSet = true;
64 m_subTitle = std::forward<SubTitleT>(value);
65 }
66 template <typename SubTitleT = Aws::String>
67 GenericAttachment& WithSubTitle(SubTitleT&& value) {
68 SetSubTitle(std::forward<SubTitleT>(value));
69 return *this;
70 }
72
74
77 inline const Aws::String& GetAttachmentLinkUrl() const { return m_attachmentLinkUrl; }
78 inline bool AttachmentLinkUrlHasBeenSet() const { return m_attachmentLinkUrlHasBeenSet; }
79 template <typename AttachmentLinkUrlT = Aws::String>
80 void SetAttachmentLinkUrl(AttachmentLinkUrlT&& value) {
81 m_attachmentLinkUrlHasBeenSet = true;
82 m_attachmentLinkUrl = std::forward<AttachmentLinkUrlT>(value);
83 }
84 template <typename AttachmentLinkUrlT = Aws::String>
85 GenericAttachment& WithAttachmentLinkUrl(AttachmentLinkUrlT&& value) {
86 SetAttachmentLinkUrl(std::forward<AttachmentLinkUrlT>(value));
87 return *this;
88 }
90
92
95 inline const Aws::String& GetImageUrl() const { return m_imageUrl; }
96 inline bool ImageUrlHasBeenSet() const { return m_imageUrlHasBeenSet; }
97 template <typename ImageUrlT = Aws::String>
98 void SetImageUrl(ImageUrlT&& value) {
99 m_imageUrlHasBeenSet = true;
100 m_imageUrl = std::forward<ImageUrlT>(value);
101 }
102 template <typename ImageUrlT = Aws::String>
103 GenericAttachment& WithImageUrl(ImageUrlT&& value) {
104 SetImageUrl(std::forward<ImageUrlT>(value));
105 return *this;
106 }
108
110
113 inline const Aws::Vector<Button>& GetButtons() const { return m_buttons; }
114 inline bool ButtonsHasBeenSet() const { return m_buttonsHasBeenSet; }
115 template <typename ButtonsT = Aws::Vector<Button>>
116 void SetButtons(ButtonsT&& value) {
117 m_buttonsHasBeenSet = true;
118 m_buttons = std::forward<ButtonsT>(value);
119 }
120 template <typename ButtonsT = Aws::Vector<Button>>
121 GenericAttachment& WithButtons(ButtonsT&& value) {
122 SetButtons(std::forward<ButtonsT>(value));
123 return *this;
124 }
125 template <typename ButtonsT = Button>
126 GenericAttachment& AddButtons(ButtonsT&& value) {
127 m_buttonsHasBeenSet = true;
128 m_buttons.emplace_back(std::forward<ButtonsT>(value));
129 return *this;
130 }
132 private:
133 Aws::String m_title;
134
135 Aws::String m_subTitle;
136
137 Aws::String m_attachmentLinkUrl;
138
139 Aws::String m_imageUrl;
140
141 Aws::Vector<Button> m_buttons;
142 bool m_titleHasBeenSet = false;
143 bool m_subTitleHasBeenSet = false;
144 bool m_attachmentLinkUrlHasBeenSet = false;
145 bool m_imageUrlHasBeenSet = false;
146 bool m_buttonsHasBeenSet = false;
147};
148
149} // namespace Model
150} // namespace LexRuntimeService
151} // namespace Aws
GenericAttachment & WithButtons(ButtonsT &&value)
const Aws::Vector< Button > & GetButtons() const
AWS_LEXRUNTIMESERVICE_API GenericAttachment(Aws::Utils::Json::JsonView jsonValue)
AWS_LEXRUNTIMESERVICE_API GenericAttachment()=default
GenericAttachment & WithAttachmentLinkUrl(AttachmentLinkUrlT &&value)
void SetAttachmentLinkUrl(AttachmentLinkUrlT &&value)
AWS_LEXRUNTIMESERVICE_API GenericAttachment & operator=(Aws::Utils::Json::JsonView jsonValue)
GenericAttachment & WithImageUrl(ImageUrlT &&value)
AWS_LEXRUNTIMESERVICE_API Aws::Utils::Json::JsonValue Jsonize() const
GenericAttachment & AddButtons(ButtonsT &&value)
GenericAttachment & WithTitle(TitleT &&value)
GenericAttachment & WithSubTitle(SubTitleT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue