AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
RuleAction.h
1
6#pragma once
7#include <aws/mailmanager/MailManager_EXPORTS.h>
8#include <aws/mailmanager/model/AddHeaderAction.h>
9#include <aws/mailmanager/model/ArchiveAction.h>
10#include <aws/mailmanager/model/BounceAction.h>
11#include <aws/mailmanager/model/DeliverToMailboxAction.h>
12#include <aws/mailmanager/model/DeliverToQBusinessAction.h>
13#include <aws/mailmanager/model/DropAction.h>
14#include <aws/mailmanager/model/InvokeLambdaAction.h>
15#include <aws/mailmanager/model/RelayAction.h>
16#include <aws/mailmanager/model/ReplaceRecipientAction.h>
17#include <aws/mailmanager/model/S3Action.h>
18#include <aws/mailmanager/model/SendAction.h>
19#include <aws/mailmanager/model/SnsAction.h>
20
21#include <utility>
22
23namespace Aws {
24namespace Utils {
25namespace Json {
26class JsonValue;
27class JsonView;
28} // namespace Json
29} // namespace Utils
30namespace MailManager {
31namespace Model {
32
40 public:
41 AWS_MAILMANAGER_API RuleAction() = default;
42 AWS_MAILMANAGER_API RuleAction(Aws::Utils::Json::JsonView jsonValue);
43 AWS_MAILMANAGER_API RuleAction& operator=(Aws::Utils::Json::JsonView jsonValue);
44 AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const;
45
47
50 inline const DropAction& GetDrop() const { return m_drop; }
51 inline bool DropHasBeenSet() const { return m_dropHasBeenSet; }
52 template <typename DropT = DropAction>
53 void SetDrop(DropT&& value) {
54 m_dropHasBeenSet = true;
55 m_drop = std::forward<DropT>(value);
56 }
57 template <typename DropT = DropAction>
58 RuleAction& WithDrop(DropT&& value) {
59 SetDrop(std::forward<DropT>(value));
60 return *this;
61 }
63
65
68 inline const RelayAction& GetRelay() const { return m_relay; }
69 inline bool RelayHasBeenSet() const { return m_relayHasBeenSet; }
70 template <typename RelayT = RelayAction>
71 void SetRelay(RelayT&& value) {
72 m_relayHasBeenSet = true;
73 m_relay = std::forward<RelayT>(value);
74 }
75 template <typename RelayT = RelayAction>
76 RuleAction& WithRelay(RelayT&& value) {
77 SetRelay(std::forward<RelayT>(value));
78 return *this;
79 }
81
83
87 inline const ArchiveAction& GetArchive() const { return m_archive; }
88 inline bool ArchiveHasBeenSet() const { return m_archiveHasBeenSet; }
89 template <typename ArchiveT = ArchiveAction>
90 void SetArchive(ArchiveT&& value) {
91 m_archiveHasBeenSet = true;
92 m_archive = std::forward<ArchiveT>(value);
93 }
94 template <typename ArchiveT = ArchiveAction>
95 RuleAction& WithArchive(ArchiveT&& value) {
96 SetArchive(std::forward<ArchiveT>(value));
97 return *this;
98 }
100
102
105 inline const S3Action& GetWriteToS3() const { return m_writeToS3; }
106 inline bool WriteToS3HasBeenSet() const { return m_writeToS3HasBeenSet; }
107 template <typename WriteToS3T = S3Action>
108 void SetWriteToS3(WriteToS3T&& value) {
109 m_writeToS3HasBeenSet = true;
110 m_writeToS3 = std::forward<WriteToS3T>(value);
111 }
112 template <typename WriteToS3T = S3Action>
113 RuleAction& WithWriteToS3(WriteToS3T&& value) {
114 SetWriteToS3(std::forward<WriteToS3T>(value));
115 return *this;
116 }
118
120
123 inline const SendAction& GetSend() const { return m_send; }
124 inline bool SendHasBeenSet() const { return m_sendHasBeenSet; }
125 template <typename SendT = SendAction>
126 void SetSend(SendT&& value) {
127 m_sendHasBeenSet = true;
128 m_send = std::forward<SendT>(value);
129 }
130 template <typename SendT = SendAction>
131 RuleAction& WithSend(SendT&& value) {
132 SetSend(std::forward<SendT>(value));
133 return *this;
134 }
136
138
142 inline const AddHeaderAction& GetAddHeader() const { return m_addHeader; }
143 inline bool AddHeaderHasBeenSet() const { return m_addHeaderHasBeenSet; }
144 template <typename AddHeaderT = AddHeaderAction>
145 void SetAddHeader(AddHeaderT&& value) {
146 m_addHeaderHasBeenSet = true;
147 m_addHeader = std::forward<AddHeaderT>(value);
148 }
149 template <typename AddHeaderT = AddHeaderAction>
150 RuleAction& WithAddHeader(AddHeaderT&& value) {
151 SetAddHeader(std::forward<AddHeaderT>(value));
152 return *this;
153 }
155
157
161 inline const ReplaceRecipientAction& GetReplaceRecipient() const { return m_replaceRecipient; }
162 inline bool ReplaceRecipientHasBeenSet() const { return m_replaceRecipientHasBeenSet; }
163 template <typename ReplaceRecipientT = ReplaceRecipientAction>
164 void SetReplaceRecipient(ReplaceRecipientT&& value) {
165 m_replaceRecipientHasBeenSet = true;
166 m_replaceRecipient = std::forward<ReplaceRecipientT>(value);
167 }
168 template <typename ReplaceRecipientT = ReplaceRecipientAction>
169 RuleAction& WithReplaceRecipient(ReplaceRecipientT&& value) {
170 SetReplaceRecipient(std::forward<ReplaceRecipientT>(value));
171 return *this;
172 }
174
176
179 inline const DeliverToMailboxAction& GetDeliverToMailbox() const { return m_deliverToMailbox; }
180 inline bool DeliverToMailboxHasBeenSet() const { return m_deliverToMailboxHasBeenSet; }
181 template <typename DeliverToMailboxT = DeliverToMailboxAction>
182 void SetDeliverToMailbox(DeliverToMailboxT&& value) {
183 m_deliverToMailboxHasBeenSet = true;
184 m_deliverToMailbox = std::forward<DeliverToMailboxT>(value);
185 }
186 template <typename DeliverToMailboxT = DeliverToMailboxAction>
187 RuleAction& WithDeliverToMailbox(DeliverToMailboxT&& value) {
188 SetDeliverToMailbox(std::forward<DeliverToMailboxT>(value));
189 return *this;
190 }
192
194
198 inline const DeliverToQBusinessAction& GetDeliverToQBusiness() const { return m_deliverToQBusiness; }
199 inline bool DeliverToQBusinessHasBeenSet() const { return m_deliverToQBusinessHasBeenSet; }
200 template <typename DeliverToQBusinessT = DeliverToQBusinessAction>
201 void SetDeliverToQBusiness(DeliverToQBusinessT&& value) {
202 m_deliverToQBusinessHasBeenSet = true;
203 m_deliverToQBusiness = std::forward<DeliverToQBusinessT>(value);
204 }
205 template <typename DeliverToQBusinessT = DeliverToQBusinessAction>
206 RuleAction& WithDeliverToQBusiness(DeliverToQBusinessT&& value) {
207 SetDeliverToQBusiness(std::forward<DeliverToQBusinessT>(value));
208 return *this;
209 }
211
213
216 inline const SnsAction& GetPublishToSns() const { return m_publishToSns; }
217 inline bool PublishToSnsHasBeenSet() const { return m_publishToSnsHasBeenSet; }
218 template <typename PublishToSnsT = SnsAction>
219 void SetPublishToSns(PublishToSnsT&& value) {
220 m_publishToSnsHasBeenSet = true;
221 m_publishToSns = std::forward<PublishToSnsT>(value);
222 }
223 template <typename PublishToSnsT = SnsAction>
224 RuleAction& WithPublishToSns(PublishToSnsT&& value) {
225 SetPublishToSns(std::forward<PublishToSnsT>(value));
226 return *this;
227 }
229
231
234 inline const BounceAction& GetBounce() const { return m_bounce; }
235 inline bool BounceHasBeenSet() const { return m_bounceHasBeenSet; }
236 template <typename BounceT = BounceAction>
237 void SetBounce(BounceT&& value) {
238 m_bounceHasBeenSet = true;
239 m_bounce = std::forward<BounceT>(value);
240 }
241 template <typename BounceT = BounceAction>
242 RuleAction& WithBounce(BounceT&& value) {
243 SetBounce(std::forward<BounceT>(value));
244 return *this;
245 }
247
249
253 inline const InvokeLambdaAction& GetInvokeLambda() const { return m_invokeLambda; }
254 inline bool InvokeLambdaHasBeenSet() const { return m_invokeLambdaHasBeenSet; }
255 template <typename InvokeLambdaT = InvokeLambdaAction>
256 void SetInvokeLambda(InvokeLambdaT&& value) {
257 m_invokeLambdaHasBeenSet = true;
258 m_invokeLambda = std::forward<InvokeLambdaT>(value);
259 }
260 template <typename InvokeLambdaT = InvokeLambdaAction>
261 RuleAction& WithInvokeLambda(InvokeLambdaT&& value) {
262 SetInvokeLambda(std::forward<InvokeLambdaT>(value));
263 return *this;
264 }
266 private:
267 DropAction m_drop;
268
269 RelayAction m_relay;
270
271 ArchiveAction m_archive;
272
273 S3Action m_writeToS3;
274
275 SendAction m_send;
276
277 AddHeaderAction m_addHeader;
278
279 ReplaceRecipientAction m_replaceRecipient;
280
281 DeliverToMailboxAction m_deliverToMailbox;
282
283 DeliverToQBusinessAction m_deliverToQBusiness;
284
285 SnsAction m_publishToSns;
286
287 BounceAction m_bounce;
288
289 InvokeLambdaAction m_invokeLambda;
290 bool m_dropHasBeenSet = false;
291 bool m_relayHasBeenSet = false;
292 bool m_archiveHasBeenSet = false;
293 bool m_writeToS3HasBeenSet = false;
294 bool m_sendHasBeenSet = false;
295 bool m_addHeaderHasBeenSet = false;
296 bool m_replaceRecipientHasBeenSet = false;
297 bool m_deliverToMailboxHasBeenSet = false;
298 bool m_deliverToQBusinessHasBeenSet = false;
299 bool m_publishToSnsHasBeenSet = false;
300 bool m_bounceHasBeenSet = false;
301 bool m_invokeLambdaHasBeenSet = false;
302};
303
304} // namespace Model
305} // namespace MailManager
306} // namespace Aws
const SendAction & GetSend() const
Definition RuleAction.h:123
RuleAction & WithDeliverToMailbox(DeliverToMailboxT &&value)
Definition RuleAction.h:187
RuleAction & WithDeliverToQBusiness(DeliverToQBusinessT &&value)
Definition RuleAction.h:206
AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const
const SnsAction & GetPublishToSns() const
Definition RuleAction.h:216
RuleAction & WithAddHeader(AddHeaderT &&value)
Definition RuleAction.h:150
void SetDeliverToMailbox(DeliverToMailboxT &&value)
Definition RuleAction.h:182
void SetDeliverToQBusiness(DeliverToQBusinessT &&value)
Definition RuleAction.h:201
void SetReplaceRecipient(ReplaceRecipientT &&value)
Definition RuleAction.h:164
const InvokeLambdaAction & GetInvokeLambda() const
Definition RuleAction.h:253
void SetArchive(ArchiveT &&value)
Definition RuleAction.h:90
RuleAction & WithWriteToS3(WriteToS3T &&value)
Definition RuleAction.h:113
const AddHeaderAction & GetAddHeader() const
Definition RuleAction.h:142
const ReplaceRecipientAction & GetReplaceRecipient() const
Definition RuleAction.h:161
const S3Action & GetWriteToS3() const
Definition RuleAction.h:105
RuleAction & WithDrop(DropT &&value)
Definition RuleAction.h:58
void SetInvokeLambda(InvokeLambdaT &&value)
Definition RuleAction.h:256
RuleAction & WithPublishToSns(PublishToSnsT &&value)
Definition RuleAction.h:224
void SetAddHeader(AddHeaderT &&value)
Definition RuleAction.h:145
void SetBounce(BounceT &&value)
Definition RuleAction.h:237
const ArchiveAction & GetArchive() const
Definition RuleAction.h:87
AWS_MAILMANAGER_API RuleAction()=default
const RelayAction & GetRelay() const
Definition RuleAction.h:68
const BounceAction & GetBounce() const
Definition RuleAction.h:234
RuleAction & WithRelay(RelayT &&value)
Definition RuleAction.h:76
void SetRelay(RelayT &&value)
Definition RuleAction.h:71
RuleAction & WithReplaceRecipient(ReplaceRecipientT &&value)
Definition RuleAction.h:169
const DeliverToQBusinessAction & GetDeliverToQBusiness() const
Definition RuleAction.h:198
RuleAction & WithInvokeLambda(InvokeLambdaT &&value)
Definition RuleAction.h:261
const DeliverToMailboxAction & GetDeliverToMailbox() const
Definition RuleAction.h:179
void SetWriteToS3(WriteToS3T &&value)
Definition RuleAction.h:108
void SetPublishToSns(PublishToSnsT &&value)
Definition RuleAction.h:219
AWS_MAILMANAGER_API RuleAction(Aws::Utils::Json::JsonView jsonValue)
AWS_MAILMANAGER_API RuleAction & operator=(Aws::Utils::Json::JsonView jsonValue)
RuleAction & WithArchive(ArchiveT &&value)
Definition RuleAction.h:95
const DropAction & GetDrop() const
Definition RuleAction.h:50
RuleAction & WithSend(SendT &&value)
Definition RuleAction.h:131
RuleAction & WithBounce(BounceT &&value)
Definition RuleAction.h:242
Aws::Utils::Json::JsonValue JsonValue