AWS SDK for C++

AWS SDK for C++ Version 1.11.768

Loading...
Searching...
No Matches
SendEmailRequest.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/email/SESRequest.h>
10#include <aws/email/SES_EXPORTS.h>
11#include <aws/email/model/Destination.h>
12#include <aws/email/model/Message.h>
13#include <aws/email/model/MessageTag.h>
14
15#include <utility>
16
17namespace Aws {
18namespace SES {
19namespace Model {
20
30 public:
31 AWS_SES_API SendEmailRequest() = default;
32
33 // Service request name is the Operation name which will send this request out,
34 // each operation should has unique request name, so that we can get operation's name from this request.
35 // Note: this is not true for response, multiple operations may have the same response name,
36 // so we can not get operation's name from response.
37 inline virtual const char* GetServiceRequestName() const override { return "SendEmail"; }
38
39 AWS_SES_API Aws::String SerializePayload() const override;
40
41 protected:
42 AWS_SES_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
43
44 public:
46
70 inline const Aws::String& GetSource() const { return m_source; }
71 inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; }
72 template <typename SourceT = Aws::String>
73 void SetSource(SourceT&& value) {
74 m_sourceHasBeenSet = true;
75 m_source = std::forward<SourceT>(value);
76 }
77 template <typename SourceT = Aws::String>
78 SendEmailRequest& WithSource(SourceT&& value) {
79 SetSource(std::forward<SourceT>(value));
80 return *this;
81 }
83
85
88 inline const Destination& GetDestination() const { return m_destination; }
89 inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; }
90 template <typename DestinationT = Destination>
91 void SetDestination(DestinationT&& value) {
92 m_destinationHasBeenSet = true;
93 m_destination = std::forward<DestinationT>(value);
94 }
95 template <typename DestinationT = Destination>
96 SendEmailRequest& WithDestination(DestinationT&& value) {
97 SetDestination(std::forward<DestinationT>(value));
98 return *this;
99 }
101
103
106 inline const Message& GetMessage() const { return m_message; }
107 inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
108 template <typename MessageT = Message>
109 void SetMessage(MessageT&& value) {
110 m_messageHasBeenSet = true;
111 m_message = std::forward<MessageT>(value);
112 }
113 template <typename MessageT = Message>
114 SendEmailRequest& WithMessage(MessageT&& value) {
115 SetMessage(std::forward<MessageT>(value));
116 return *this;
117 }
119
121
125 inline const Aws::Vector<Aws::String>& GetReplyToAddresses() const { return m_replyToAddresses; }
126 inline bool ReplyToAddressesHasBeenSet() const { return m_replyToAddressesHasBeenSet; }
127 template <typename ReplyToAddressesT = Aws::Vector<Aws::String>>
128 void SetReplyToAddresses(ReplyToAddressesT&& value) {
129 m_replyToAddressesHasBeenSet = true;
130 m_replyToAddresses = std::forward<ReplyToAddressesT>(value);
131 }
132 template <typename ReplyToAddressesT = Aws::Vector<Aws::String>>
133 SendEmailRequest& WithReplyToAddresses(ReplyToAddressesT&& value) {
134 SetReplyToAddresses(std::forward<ReplyToAddressesT>(value));
135 return *this;
136 }
137 template <typename ReplyToAddressesT = Aws::String>
138 SendEmailRequest& AddReplyToAddresses(ReplyToAddressesT&& value) {
139 m_replyToAddressesHasBeenSet = true;
140 m_replyToAddresses.emplace_back(std::forward<ReplyToAddressesT>(value));
141 return *this;
142 }
144
146
155 inline const Aws::String& GetReturnPath() const { return m_returnPath; }
156 inline bool ReturnPathHasBeenSet() const { return m_returnPathHasBeenSet; }
157 template <typename ReturnPathT = Aws::String>
158 void SetReturnPath(ReturnPathT&& value) {
159 m_returnPathHasBeenSet = true;
160 m_returnPath = std::forward<ReturnPathT>(value);
161 }
162 template <typename ReturnPathT = Aws::String>
163 SendEmailRequest& WithReturnPath(ReturnPathT&& value) {
164 SetReturnPath(std::forward<ReturnPathT>(value));
165 return *this;
166 }
168
170
184 inline const Aws::String& GetSourceArn() const { return m_sourceArn; }
185 inline bool SourceArnHasBeenSet() const { return m_sourceArnHasBeenSet; }
186 template <typename SourceArnT = Aws::String>
187 void SetSourceArn(SourceArnT&& value) {
188 m_sourceArnHasBeenSet = true;
189 m_sourceArn = std::forward<SourceArnT>(value);
190 }
191 template <typename SourceArnT = Aws::String>
192 SendEmailRequest& WithSourceArn(SourceArnT&& value) {
193 SetSourceArn(std::forward<SourceArnT>(value));
194 return *this;
195 }
197
199
214 inline const Aws::String& GetReturnPathArn() const { return m_returnPathArn; }
215 inline bool ReturnPathArnHasBeenSet() const { return m_returnPathArnHasBeenSet; }
216 template <typename ReturnPathArnT = Aws::String>
217 void SetReturnPathArn(ReturnPathArnT&& value) {
218 m_returnPathArnHasBeenSet = true;
219 m_returnPathArn = std::forward<ReturnPathArnT>(value);
220 }
221 template <typename ReturnPathArnT = Aws::String>
222 SendEmailRequest& WithReturnPathArn(ReturnPathArnT&& value) {
223 SetReturnPathArn(std::forward<ReturnPathArnT>(value));
224 return *this;
225 }
227
229
234 inline const Aws::Vector<MessageTag>& GetTags() const { return m_tags; }
235 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
236 template <typename TagsT = Aws::Vector<MessageTag>>
237 void SetTags(TagsT&& value) {
238 m_tagsHasBeenSet = true;
239 m_tags = std::forward<TagsT>(value);
240 }
241 template <typename TagsT = Aws::Vector<MessageTag>>
242 SendEmailRequest& WithTags(TagsT&& value) {
243 SetTags(std::forward<TagsT>(value));
244 return *this;
245 }
246 template <typename TagsT = MessageTag>
247 SendEmailRequest& AddTags(TagsT&& value) {
248 m_tagsHasBeenSet = true;
249 m_tags.emplace_back(std::forward<TagsT>(value));
250 return *this;
251 }
253
255
259 inline const Aws::String& GetConfigurationSetName() const { return m_configurationSetName; }
260 inline bool ConfigurationSetNameHasBeenSet() const { return m_configurationSetNameHasBeenSet; }
261 template <typename ConfigurationSetNameT = Aws::String>
262 void SetConfigurationSetName(ConfigurationSetNameT&& value) {
263 m_configurationSetNameHasBeenSet = true;
264 m_configurationSetName = std::forward<ConfigurationSetNameT>(value);
265 }
266 template <typename ConfigurationSetNameT = Aws::String>
267 SendEmailRequest& WithConfigurationSetName(ConfigurationSetNameT&& value) {
268 SetConfigurationSetName(std::forward<ConfigurationSetNameT>(value));
269 return *this;
270 }
272 private:
273 Aws::String m_source;
274
275 Destination m_destination;
276
277 Message m_message;
278
279 Aws::Vector<Aws::String> m_replyToAddresses;
280
281 Aws::String m_returnPath;
282
283 Aws::String m_sourceArn;
284
285 Aws::String m_returnPathArn;
286
288
289 Aws::String m_configurationSetName;
290 bool m_sourceHasBeenSet = false;
291 bool m_destinationHasBeenSet = false;
292 bool m_messageHasBeenSet = false;
293 bool m_replyToAddressesHasBeenSet = false;
294 bool m_returnPathHasBeenSet = false;
295 bool m_sourceArnHasBeenSet = false;
296 bool m_returnPathArnHasBeenSet = false;
297 bool m_tagsHasBeenSet = false;
298 bool m_configurationSetNameHasBeenSet = false;
299};
300
301} // namespace Model
302} // namespace SES
303} // namespace Aws
const Aws::Vector< MessageTag > & GetTags() const
SendEmailRequest & WithSourceArn(SourceArnT &&value)
void SetReturnPath(ReturnPathT &&value)
void SetDestination(DestinationT &&value)
void SetReplyToAddresses(ReplyToAddressesT &&value)
const Aws::String & GetReturnPathArn() const
SendEmailRequest & WithMessage(MessageT &&value)
SendEmailRequest & WithTags(TagsT &&value)
const Aws::String & GetSourceArn() const
const Message & GetMessage() const
AWS_SES_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
SendEmailRequest & AddTags(TagsT &&value)
SendEmailRequest & WithReplyToAddresses(ReplyToAddressesT &&value)
SendEmailRequest & WithConfigurationSetName(ConfigurationSetNameT &&value)
void SetSourceArn(SourceArnT &&value)
const Destination & GetDestination() const
SendEmailRequest & WithReturnPath(ReturnPathT &&value)
SendEmailRequest & WithDestination(DestinationT &&value)
void SetConfigurationSetName(ConfigurationSetNameT &&value)
SendEmailRequest & WithSource(SourceT &&value)
const Aws::Vector< Aws::String > & GetReplyToAddresses() const
SendEmailRequest & WithReturnPathArn(ReturnPathArnT &&value)
AWS_SES_API Aws::String SerializePayload() const override
SendEmailRequest & AddReplyToAddresses(ReplyToAddressesT &&value)
void SetReturnPathArn(ReturnPathArnT &&value)
const Aws::String & GetReturnPath() const
AWS_SES_API SendEmailRequest()=default
const Aws::String & GetSource() const
const Aws::String & GetConfigurationSetName() const
virtual const char * GetServiceRequestName() const override
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector