AWS SDK for C++

AWS SDK for C++ Version 1.11.740

Loading...
Searching...
No Matches
Message.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/qbusiness/QBusiness_EXPORTS.h>
11#include <aws/qbusiness/model/ActionExecution.h>
12#include <aws/qbusiness/model/ActionReview.h>
13#include <aws/qbusiness/model/AttachmentOutput.h>
14#include <aws/qbusiness/model/MessageType.h>
15#include <aws/qbusiness/model/SourceAttribution.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace QBusiness {
27namespace Model {
28
35class Message {
36 public:
37 AWS_QBUSINESS_API Message() = default;
40 AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
46 inline const Aws::String& GetMessageId() const { return m_messageId; }
47 inline bool MessageIdHasBeenSet() const { return m_messageIdHasBeenSet; }
48 template <typename MessageIdT = Aws::String>
49 void SetMessageId(MessageIdT&& value) {
50 m_messageIdHasBeenSet = true;
51 m_messageId = std::forward<MessageIdT>(value);
52 }
53 template <typename MessageIdT = Aws::String>
55 SetMessageId(std::forward<MessageIdT>(value));
56 return *this;
57 }
59
61
64 inline const Aws::String& GetBody() const { return m_body; }
65 inline bool BodyHasBeenSet() const { return m_bodyHasBeenSet; }
66 template <typename BodyT = Aws::String>
67 void SetBody(BodyT&& value) {
68 m_bodyHasBeenSet = true;
69 m_body = std::forward<BodyT>(value);
70 }
71 template <typename BodyT = Aws::String>
73 SetBody(std::forward<BodyT>(value));
74 return *this;
75 }
77
79
82 inline const Aws::Utils::DateTime& GetTime() const { return m_time; }
83 inline bool TimeHasBeenSet() const { return m_timeHasBeenSet; }
84 template <typename TimeT = Aws::Utils::DateTime>
85 void SetTime(TimeT&& value) {
86 m_timeHasBeenSet = true;
87 m_time = std::forward<TimeT>(value);
88 }
89 template <typename TimeT = Aws::Utils::DateTime>
91 SetTime(std::forward<TimeT>(value));
92 return *this;
93 }
95
97
101 inline MessageType GetType() const { return m_type; }
102 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
103 inline void SetType(MessageType value) {
104 m_typeHasBeenSet = true;
105 m_type = value;
106 }
107 inline Message& WithType(MessageType value) {
108 SetType(value);
109 return *this;
110 }
112
114
117 inline const Aws::Vector<AttachmentOutput>& GetAttachments() const { return m_attachments; }
118 inline bool AttachmentsHasBeenSet() const { return m_attachmentsHasBeenSet; }
119 template <typename AttachmentsT = Aws::Vector<AttachmentOutput>>
121 m_attachmentsHasBeenSet = true;
122 m_attachments = std::forward<AttachmentsT>(value);
123 }
124 template <typename AttachmentsT = Aws::Vector<AttachmentOutput>>
126 SetAttachments(std::forward<AttachmentsT>(value));
127 return *this;
128 }
129 template <typename AttachmentsT = AttachmentOutput>
131 m_attachmentsHasBeenSet = true;
132 m_attachments.emplace_back(std::forward<AttachmentsT>(value));
133 return *this;
134 }
136
138
142 inline const Aws::Vector<SourceAttribution>& GetSourceAttribution() const { return m_sourceAttribution; }
143 inline bool SourceAttributionHasBeenSet() const { return m_sourceAttributionHasBeenSet; }
144 template <typename SourceAttributionT = Aws::Vector<SourceAttribution>>
146 m_sourceAttributionHasBeenSet = true;
147 m_sourceAttribution = std::forward<SourceAttributionT>(value);
148 }
149 template <typename SourceAttributionT = Aws::Vector<SourceAttribution>>
151 SetSourceAttribution(std::forward<SourceAttributionT>(value));
152 return *this;
153 }
154 template <typename SourceAttributionT = SourceAttribution>
156 m_sourceAttributionHasBeenSet = true;
157 m_sourceAttribution.emplace_back(std::forward<SourceAttributionT>(value));
158 return *this;
159 }
161
163
164 inline const ActionReview& GetActionReview() const { return m_actionReview; }
165 inline bool ActionReviewHasBeenSet() const { return m_actionReviewHasBeenSet; }
166 template <typename ActionReviewT = ActionReview>
168 m_actionReviewHasBeenSet = true;
169 m_actionReview = std::forward<ActionReviewT>(value);
170 }
171 template <typename ActionReviewT = ActionReview>
173 SetActionReview(std::forward<ActionReviewT>(value));
174 return *this;
175 }
177
179
180 inline const ActionExecution& GetActionExecution() const { return m_actionExecution; }
181 inline bool ActionExecutionHasBeenSet() const { return m_actionExecutionHasBeenSet; }
182 template <typename ActionExecutionT = ActionExecution>
184 m_actionExecutionHasBeenSet = true;
185 m_actionExecution = std::forward<ActionExecutionT>(value);
186 }
187 template <typename ActionExecutionT = ActionExecution>
189 SetActionExecution(std::forward<ActionExecutionT>(value));
190 return *this;
191 }
193 private:
194 Aws::String m_messageId;
195
196 Aws::String m_body;
197
198 Aws::Utils::DateTime m_time{};
199
201
202 Aws::Vector<AttachmentOutput> m_attachments;
203
204 Aws::Vector<SourceAttribution> m_sourceAttribution;
205
206 ActionReview m_actionReview;
207
208 ActionExecution m_actionExecution;
209 bool m_messageIdHasBeenSet = false;
210 bool m_bodyHasBeenSet = false;
211 bool m_timeHasBeenSet = false;
212 bool m_typeHasBeenSet = false;
213 bool m_attachmentsHasBeenSet = false;
214 bool m_sourceAttributionHasBeenSet = false;
215 bool m_actionReviewHasBeenSet = false;
216 bool m_actionExecutionHasBeenSet = false;
217};
218
219} // namespace Model
220} // namespace QBusiness
221} // namespace Aws
void SetType(MessageType value)
Definition Message.h:103
AWS_QBUSINESS_API Message()=default
Message & WithActionReview(ActionReviewT &&value)
Definition Message.h:172
bool MessageIdHasBeenSet() const
Definition Message.h:47
AWS_QBUSINESS_API Message & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Utils::DateTime & GetTime() const
Definition Message.h:82
AWS_QBUSINESS_API Message(Aws::Utils::Json::JsonView jsonValue)
Message & WithActionExecution(ActionExecutionT &&value)
Definition Message.h:188
void SetAttachments(AttachmentsT &&value)
Definition Message.h:120
Message & AddAttachments(AttachmentsT &&value)
Definition Message.h:130
void SetMessageId(MessageIdT &&value)
Definition Message.h:49
const Aws::Vector< SourceAttribution > & GetSourceAttribution() const
Definition Message.h:142
const Aws::Vector< AttachmentOutput > & GetAttachments() const
Definition Message.h:117
bool AttachmentsHasBeenSet() const
Definition Message.h:118
void SetSourceAttribution(SourceAttributionT &&value)
Definition Message.h:145
void SetBody(BodyT &&value)
Definition Message.h:67
Message & WithBody(BodyT &&value)
Definition Message.h:72
const Aws::String & GetMessageId() const
Definition Message.h:46
Message & WithMessageId(MessageIdT &&value)
Definition Message.h:54
bool ActionExecutionHasBeenSet() const
Definition Message.h:181
void SetTime(TimeT &&value)
Definition Message.h:85
void SetActionExecution(ActionExecutionT &&value)
Definition Message.h:183
const ActionExecution & GetActionExecution() const
Definition Message.h:180
Message & WithType(MessageType value)
Definition Message.h:107
Message & WithSourceAttribution(SourceAttributionT &&value)
Definition Message.h:150
AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const
bool SourceAttributionHasBeenSet() const
Definition Message.h:143
Message & WithAttachments(AttachmentsT &&value)
Definition Message.h:125
const Aws::String & GetBody() const
Definition Message.h:64
Message & AddSourceAttribution(SourceAttributionT &&value)
Definition Message.h:155
Message & WithTime(TimeT &&value)
Definition Message.h:90
bool ActionReviewHasBeenSet() const
Definition Message.h:165
void SetActionReview(ActionReviewT &&value)
Definition Message.h:167
MessageType GetType() const
Definition Message.h:101
const ActionReview & GetActionReview() const
Definition Message.h:164
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue