AWS SDK for C++

AWS SDK for C++ Version 1.11.717

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/pinpoint-email/PinpointEmailRequest.h>
10#include <aws/pinpoint-email/PinpointEmail_EXPORTS.h>
11#include <aws/pinpoint-email/model/Destination.h>
12#include <aws/pinpoint-email/model/EmailContent.h>
13#include <aws/pinpoint-email/model/MessageTag.h>
14
15#include <utility>
16
17namespace Aws {
18namespace PinpointEmail {
19namespace Model {
20
27 public:
28 AWS_PINPOINTEMAIL_API SendEmailRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "SendEmail"; }
35
36 AWS_PINPOINTEMAIL_API Aws::String SerializePayload() const override;
37
39
43 inline const Aws::String& GetFromEmailAddress() const { return m_fromEmailAddress; }
44 inline bool FromEmailAddressHasBeenSet() const { return m_fromEmailAddressHasBeenSet; }
45 template <typename FromEmailAddressT = Aws::String>
46 void SetFromEmailAddress(FromEmailAddressT&& value) {
47 m_fromEmailAddressHasBeenSet = true;
48 m_fromEmailAddress = std::forward<FromEmailAddressT>(value);
49 }
50 template <typename FromEmailAddressT = Aws::String>
51 SendEmailRequest& WithFromEmailAddress(FromEmailAddressT&& value) {
52 SetFromEmailAddress(std::forward<FromEmailAddressT>(value));
53 return *this;
54 }
56
58
61 inline const Destination& GetDestination() const { return m_destination; }
62 inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; }
63 template <typename DestinationT = Destination>
64 void SetDestination(DestinationT&& value) {
65 m_destinationHasBeenSet = true;
66 m_destination = std::forward<DestinationT>(value);
67 }
68 template <typename DestinationT = Destination>
69 SendEmailRequest& WithDestination(DestinationT&& value) {
70 SetDestination(std::forward<DestinationT>(value));
71 return *this;
72 }
74
76
80 inline const Aws::Vector<Aws::String>& GetReplyToAddresses() const { return m_replyToAddresses; }
81 inline bool ReplyToAddressesHasBeenSet() const { return m_replyToAddressesHasBeenSet; }
82 template <typename ReplyToAddressesT = Aws::Vector<Aws::String>>
83 void SetReplyToAddresses(ReplyToAddressesT&& value) {
84 m_replyToAddressesHasBeenSet = true;
85 m_replyToAddresses = std::forward<ReplyToAddressesT>(value);
86 }
87 template <typename ReplyToAddressesT = Aws::Vector<Aws::String>>
88 SendEmailRequest& WithReplyToAddresses(ReplyToAddressesT&& value) {
89 SetReplyToAddresses(std::forward<ReplyToAddressesT>(value));
90 return *this;
91 }
92 template <typename ReplyToAddressesT = Aws::String>
93 SendEmailRequest& AddReplyToAddresses(ReplyToAddressesT&& value) {
94 m_replyToAddressesHasBeenSet = true;
95 m_replyToAddresses.emplace_back(std::forward<ReplyToAddressesT>(value));
96 return *this;
97 }
99
101
105 inline const Aws::String& GetFeedbackForwardingEmailAddress() const { return m_feedbackForwardingEmailAddress; }
106 inline bool FeedbackForwardingEmailAddressHasBeenSet() const { return m_feedbackForwardingEmailAddressHasBeenSet; }
107 template <typename FeedbackForwardingEmailAddressT = Aws::String>
108 void SetFeedbackForwardingEmailAddress(FeedbackForwardingEmailAddressT&& value) {
109 m_feedbackForwardingEmailAddressHasBeenSet = true;
110 m_feedbackForwardingEmailAddress = std::forward<FeedbackForwardingEmailAddressT>(value);
111 }
112 template <typename FeedbackForwardingEmailAddressT = Aws::String>
113 SendEmailRequest& WithFeedbackForwardingEmailAddress(FeedbackForwardingEmailAddressT&& value) {
114 SetFeedbackForwardingEmailAddress(std::forward<FeedbackForwardingEmailAddressT>(value));
115 return *this;
116 }
118
120
124 inline const EmailContent& GetContent() const { return m_content; }
125 inline bool ContentHasBeenSet() const { return m_contentHasBeenSet; }
126 template <typename ContentT = EmailContent>
127 void SetContent(ContentT&& value) {
128 m_contentHasBeenSet = true;
129 m_content = std::forward<ContentT>(value);
130 }
131 template <typename ContentT = EmailContent>
132 SendEmailRequest& WithContent(ContentT&& value) {
133 SetContent(std::forward<ContentT>(value));
134 return *this;
135 }
137
139
145 inline const Aws::Vector<MessageTag>& GetEmailTags() const { return m_emailTags; }
146 inline bool EmailTagsHasBeenSet() const { return m_emailTagsHasBeenSet; }
147 template <typename EmailTagsT = Aws::Vector<MessageTag>>
148 void SetEmailTags(EmailTagsT&& value) {
149 m_emailTagsHasBeenSet = true;
150 m_emailTags = std::forward<EmailTagsT>(value);
151 }
152 template <typename EmailTagsT = Aws::Vector<MessageTag>>
153 SendEmailRequest& WithEmailTags(EmailTagsT&& value) {
154 SetEmailTags(std::forward<EmailTagsT>(value));
155 return *this;
156 }
157 template <typename EmailTagsT = MessageTag>
158 SendEmailRequest& AddEmailTags(EmailTagsT&& value) {
159 m_emailTagsHasBeenSet = true;
160 m_emailTags.emplace_back(std::forward<EmailTagsT>(value));
161 return *this;
162 }
164
166
170 inline const Aws::String& GetConfigurationSetName() const { return m_configurationSetName; }
171 inline bool ConfigurationSetNameHasBeenSet() const { return m_configurationSetNameHasBeenSet; }
172 template <typename ConfigurationSetNameT = Aws::String>
173 void SetConfigurationSetName(ConfigurationSetNameT&& value) {
174 m_configurationSetNameHasBeenSet = true;
175 m_configurationSetName = std::forward<ConfigurationSetNameT>(value);
176 }
177 template <typename ConfigurationSetNameT = Aws::String>
178 SendEmailRequest& WithConfigurationSetName(ConfigurationSetNameT&& value) {
179 SetConfigurationSetName(std::forward<ConfigurationSetNameT>(value));
180 return *this;
181 }
183 private:
184 Aws::String m_fromEmailAddress;
185
186 Destination m_destination;
187
188 Aws::Vector<Aws::String> m_replyToAddresses;
189
190 Aws::String m_feedbackForwardingEmailAddress;
191
192 EmailContent m_content;
193
194 Aws::Vector<MessageTag> m_emailTags;
195
196 Aws::String m_configurationSetName;
197 bool m_fromEmailAddressHasBeenSet = false;
198 bool m_destinationHasBeenSet = false;
199 bool m_replyToAddressesHasBeenSet = false;
200 bool m_feedbackForwardingEmailAddressHasBeenSet = false;
201 bool m_contentHasBeenSet = false;
202 bool m_emailTagsHasBeenSet = false;
203 bool m_configurationSetNameHasBeenSet = false;
204};
205
206} // namespace Model
207} // namespace PinpointEmail
208} // namespace Aws
SendEmailRequest & WithConfigurationSetName(ConfigurationSetNameT &&value)
const Aws::Vector< Aws::String > & GetReplyToAddresses() const
SendEmailRequest & WithDestination(DestinationT &&value)
AWS_PINPOINTEMAIL_API Aws::String SerializePayload() const override
void SetFromEmailAddress(FromEmailAddressT &&value)
SendEmailRequest & WithEmailTags(EmailTagsT &&value)
AWS_PINPOINTEMAIL_API SendEmailRequest()=default
SendEmailRequest & WithReplyToAddresses(ReplyToAddressesT &&value)
const Aws::Vector< MessageTag > & GetEmailTags() const
const Aws::String & GetFromEmailAddress() const
const Aws::String & GetConfigurationSetName() const
SendEmailRequest & WithFromEmailAddress(FromEmailAddressT &&value)
virtual const char * GetServiceRequestName() const override
SendEmailRequest & AddEmailTags(EmailTagsT &&value)
void SetConfigurationSetName(ConfigurationSetNameT &&value)
void SetReplyToAddresses(ReplyToAddressesT &&value)
const Aws::String & GetFeedbackForwardingEmailAddress() const
SendEmailRequest & AddReplyToAddresses(ReplyToAddressesT &&value)
SendEmailRequest & WithFeedbackForwardingEmailAddress(FeedbackForwardingEmailAddressT &&value)
SendEmailRequest & WithContent(ContentT &&value)
void SetFeedbackForwardingEmailAddress(FeedbackForwardingEmailAddressT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector