AWS SDK for C++

AWS SDK for C++ Version 1.11.748

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/DeliverToMailboxAction.h>
11#include <aws/mailmanager/model/DeliverToQBusinessAction.h>
12#include <aws/mailmanager/model/DropAction.h>
13#include <aws/mailmanager/model/RelayAction.h>
14#include <aws/mailmanager/model/ReplaceRecipientAction.h>
15#include <aws/mailmanager/model/S3Action.h>
16#include <aws/mailmanager/model/SendAction.h>
17#include <aws/mailmanager/model/SnsAction.h>
18
19#include <utility>
20
21namespace Aws {
22namespace Utils {
23namespace Json {
24class JsonValue;
25class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace MailManager {
29namespace Model {
30
38 public:
39 AWS_MAILMANAGER_API RuleAction() = default;
40 AWS_MAILMANAGER_API RuleAction(Aws::Utils::Json::JsonView jsonValue);
41 AWS_MAILMANAGER_API RuleAction& operator=(Aws::Utils::Json::JsonView jsonValue);
42 AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const;
43
45
48 inline const DropAction& GetDrop() const { return m_drop; }
49 inline bool DropHasBeenSet() const { return m_dropHasBeenSet; }
50 template <typename DropT = DropAction>
51 void SetDrop(DropT&& value) {
52 m_dropHasBeenSet = true;
53 m_drop = std::forward<DropT>(value);
54 }
55 template <typename DropT = DropAction>
56 RuleAction& WithDrop(DropT&& value) {
57 SetDrop(std::forward<DropT>(value));
58 return *this;
59 }
61
63
66 inline const RelayAction& GetRelay() const { return m_relay; }
67 inline bool RelayHasBeenSet() const { return m_relayHasBeenSet; }
68 template <typename RelayT = RelayAction>
69 void SetRelay(RelayT&& value) {
70 m_relayHasBeenSet = true;
71 m_relay = std::forward<RelayT>(value);
72 }
73 template <typename RelayT = RelayAction>
74 RuleAction& WithRelay(RelayT&& value) {
75 SetRelay(std::forward<RelayT>(value));
76 return *this;
77 }
79
81
85 inline const ArchiveAction& GetArchive() const { return m_archive; }
86 inline bool ArchiveHasBeenSet() const { return m_archiveHasBeenSet; }
87 template <typename ArchiveT = ArchiveAction>
88 void SetArchive(ArchiveT&& value) {
89 m_archiveHasBeenSet = true;
90 m_archive = std::forward<ArchiveT>(value);
91 }
92 template <typename ArchiveT = ArchiveAction>
93 RuleAction& WithArchive(ArchiveT&& value) {
94 SetArchive(std::forward<ArchiveT>(value));
95 return *this;
96 }
98
100
103 inline const S3Action& GetWriteToS3() const { return m_writeToS3; }
104 inline bool WriteToS3HasBeenSet() const { return m_writeToS3HasBeenSet; }
105 template <typename WriteToS3T = S3Action>
106 void SetWriteToS3(WriteToS3T&& value) {
107 m_writeToS3HasBeenSet = true;
108 m_writeToS3 = std::forward<WriteToS3T>(value);
109 }
110 template <typename WriteToS3T = S3Action>
111 RuleAction& WithWriteToS3(WriteToS3T&& value) {
112 SetWriteToS3(std::forward<WriteToS3T>(value));
113 return *this;
114 }
116
118
121 inline const SendAction& GetSend() const { return m_send; }
122 inline bool SendHasBeenSet() const { return m_sendHasBeenSet; }
123 template <typename SendT = SendAction>
124 void SetSend(SendT&& value) {
125 m_sendHasBeenSet = true;
126 m_send = std::forward<SendT>(value);
127 }
128 template <typename SendT = SendAction>
129 RuleAction& WithSend(SendT&& value) {
130 SetSend(std::forward<SendT>(value));
131 return *this;
132 }
134
136
140 inline const AddHeaderAction& GetAddHeader() const { return m_addHeader; }
141 inline bool AddHeaderHasBeenSet() const { return m_addHeaderHasBeenSet; }
142 template <typename AddHeaderT = AddHeaderAction>
143 void SetAddHeader(AddHeaderT&& value) {
144 m_addHeaderHasBeenSet = true;
145 m_addHeader = std::forward<AddHeaderT>(value);
146 }
147 template <typename AddHeaderT = AddHeaderAction>
148 RuleAction& WithAddHeader(AddHeaderT&& value) {
149 SetAddHeader(std::forward<AddHeaderT>(value));
150 return *this;
151 }
153
155
159 inline const ReplaceRecipientAction& GetReplaceRecipient() const { return m_replaceRecipient; }
160 inline bool ReplaceRecipientHasBeenSet() const { return m_replaceRecipientHasBeenSet; }
161 template <typename ReplaceRecipientT = ReplaceRecipientAction>
162 void SetReplaceRecipient(ReplaceRecipientT&& value) {
163 m_replaceRecipientHasBeenSet = true;
164 m_replaceRecipient = std::forward<ReplaceRecipientT>(value);
165 }
166 template <typename ReplaceRecipientT = ReplaceRecipientAction>
167 RuleAction& WithReplaceRecipient(ReplaceRecipientT&& value) {
168 SetReplaceRecipient(std::forward<ReplaceRecipientT>(value));
169 return *this;
170 }
172
174
177 inline const DeliverToMailboxAction& GetDeliverToMailbox() const { return m_deliverToMailbox; }
178 inline bool DeliverToMailboxHasBeenSet() const { return m_deliverToMailboxHasBeenSet; }
179 template <typename DeliverToMailboxT = DeliverToMailboxAction>
180 void SetDeliverToMailbox(DeliverToMailboxT&& value) {
181 m_deliverToMailboxHasBeenSet = true;
182 m_deliverToMailbox = std::forward<DeliverToMailboxT>(value);
183 }
184 template <typename DeliverToMailboxT = DeliverToMailboxAction>
185 RuleAction& WithDeliverToMailbox(DeliverToMailboxT&& value) {
186 SetDeliverToMailbox(std::forward<DeliverToMailboxT>(value));
187 return *this;
188 }
190
192
196 inline const DeliverToQBusinessAction& GetDeliverToQBusiness() const { return m_deliverToQBusiness; }
197 inline bool DeliverToQBusinessHasBeenSet() const { return m_deliverToQBusinessHasBeenSet; }
198 template <typename DeliverToQBusinessT = DeliverToQBusinessAction>
199 void SetDeliverToQBusiness(DeliverToQBusinessT&& value) {
200 m_deliverToQBusinessHasBeenSet = true;
201 m_deliverToQBusiness = std::forward<DeliverToQBusinessT>(value);
202 }
203 template <typename DeliverToQBusinessT = DeliverToQBusinessAction>
204 RuleAction& WithDeliverToQBusiness(DeliverToQBusinessT&& value) {
205 SetDeliverToQBusiness(std::forward<DeliverToQBusinessT>(value));
206 return *this;
207 }
209
211
214 inline const SnsAction& GetPublishToSns() const { return m_publishToSns; }
215 inline bool PublishToSnsHasBeenSet() const { return m_publishToSnsHasBeenSet; }
216 template <typename PublishToSnsT = SnsAction>
217 void SetPublishToSns(PublishToSnsT&& value) {
218 m_publishToSnsHasBeenSet = true;
219 m_publishToSns = std::forward<PublishToSnsT>(value);
220 }
221 template <typename PublishToSnsT = SnsAction>
222 RuleAction& WithPublishToSns(PublishToSnsT&& value) {
223 SetPublishToSns(std::forward<PublishToSnsT>(value));
224 return *this;
225 }
227 private:
228 DropAction m_drop;
229
230 RelayAction m_relay;
231
232 ArchiveAction m_archive;
233
234 S3Action m_writeToS3;
235
236 SendAction m_send;
237
238 AddHeaderAction m_addHeader;
239
240 ReplaceRecipientAction m_replaceRecipient;
241
242 DeliverToMailboxAction m_deliverToMailbox;
243
244 DeliverToQBusinessAction m_deliverToQBusiness;
245
246 SnsAction m_publishToSns;
247 bool m_dropHasBeenSet = false;
248 bool m_relayHasBeenSet = false;
249 bool m_archiveHasBeenSet = false;
250 bool m_writeToS3HasBeenSet = false;
251 bool m_sendHasBeenSet = false;
252 bool m_addHeaderHasBeenSet = false;
253 bool m_replaceRecipientHasBeenSet = false;
254 bool m_deliverToMailboxHasBeenSet = false;
255 bool m_deliverToQBusinessHasBeenSet = false;
256 bool m_publishToSnsHasBeenSet = false;
257};
258
259} // namespace Model
260} // namespace MailManager
261} // namespace Aws
const SendAction & GetSend() const
Definition RuleAction.h:121
RuleAction & WithDeliverToMailbox(DeliverToMailboxT &&value)
Definition RuleAction.h:185
RuleAction & WithDeliverToQBusiness(DeliverToQBusinessT &&value)
Definition RuleAction.h:204
AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const
const SnsAction & GetPublishToSns() const
Definition RuleAction.h:214
RuleAction & WithAddHeader(AddHeaderT &&value)
Definition RuleAction.h:148
void SetDeliverToMailbox(DeliverToMailboxT &&value)
Definition RuleAction.h:180
void SetDeliverToQBusiness(DeliverToQBusinessT &&value)
Definition RuleAction.h:199
void SetReplaceRecipient(ReplaceRecipientT &&value)
Definition RuleAction.h:162
void SetArchive(ArchiveT &&value)
Definition RuleAction.h:88
RuleAction & WithWriteToS3(WriteToS3T &&value)
Definition RuleAction.h:111
const AddHeaderAction & GetAddHeader() const
Definition RuleAction.h:140
const ReplaceRecipientAction & GetReplaceRecipient() const
Definition RuleAction.h:159
const S3Action & GetWriteToS3() const
Definition RuleAction.h:103
RuleAction & WithDrop(DropT &&value)
Definition RuleAction.h:56
RuleAction & WithPublishToSns(PublishToSnsT &&value)
Definition RuleAction.h:222
void SetAddHeader(AddHeaderT &&value)
Definition RuleAction.h:143
const ArchiveAction & GetArchive() const
Definition RuleAction.h:85
AWS_MAILMANAGER_API RuleAction()=default
const RelayAction & GetRelay() const
Definition RuleAction.h:66
RuleAction & WithRelay(RelayT &&value)
Definition RuleAction.h:74
void SetRelay(RelayT &&value)
Definition RuleAction.h:69
RuleAction & WithReplaceRecipient(ReplaceRecipientT &&value)
Definition RuleAction.h:167
const DeliverToQBusinessAction & GetDeliverToQBusiness() const
Definition RuleAction.h:196
const DeliverToMailboxAction & GetDeliverToMailbox() const
Definition RuleAction.h:177
void SetWriteToS3(WriteToS3T &&value)
Definition RuleAction.h:106
void SetPublishToSns(PublishToSnsT &&value)
Definition RuleAction.h:217
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:93
const DropAction & GetDrop() const
Definition RuleAction.h:48
RuleAction & WithSend(SendT &&value)
Definition RuleAction.h:129
Aws::Utils::Json::JsonValue JsonValue