1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/email/SES_EXPORTS.h>
8 #include <aws/email/SESErrors.h>
9 #include <aws/core/client/AWSError.h>
10 #include <aws/core/client/ClientConfiguration.h>
11 #include <aws/core/AmazonSerializableWebServiceRequest.h>
12 #include <aws/core/client/AWSClient.h>
13 #include <aws/core/utils/memory/stl/AWSString.h>
14 #include <aws/core/utils/xml/XmlSerializer.h>
15 #include <aws/email/model/CloneReceiptRuleSetResult.h>
16 #include <aws/email/model/CreateConfigurationSetResult.h>
17 #include <aws/email/model/CreateConfigurationSetEventDestinationResult.h>
18 #include <aws/email/model/CreateConfigurationSetTrackingOptionsResult.h>
19 #include <aws/email/model/CreateReceiptFilterResult.h>
20 #include <aws/email/model/CreateReceiptRuleResult.h>
21 #include <aws/email/model/CreateReceiptRuleSetResult.h>
22 #include <aws/email/model/CreateTemplateResult.h>
23 #include <aws/email/model/DeleteConfigurationSetResult.h>
24 #include <aws/email/model/DeleteConfigurationSetEventDestinationResult.h>
25 #include <aws/email/model/DeleteConfigurationSetTrackingOptionsResult.h>
26 #include <aws/email/model/DeleteIdentityResult.h>
27 #include <aws/email/model/DeleteIdentityPolicyResult.h>
28 #include <aws/email/model/DeleteReceiptFilterResult.h>
29 #include <aws/email/model/DeleteReceiptRuleResult.h>
30 #include <aws/email/model/DeleteReceiptRuleSetResult.h>
31 #include <aws/email/model/DeleteTemplateResult.h>
32 #include <aws/email/model/DescribeActiveReceiptRuleSetResult.h>
33 #include <aws/email/model/DescribeConfigurationSetResult.h>
34 #include <aws/email/model/DescribeReceiptRuleResult.h>
35 #include <aws/email/model/DescribeReceiptRuleSetResult.h>
36 #include <aws/email/model/GetAccountSendingEnabledResult.h>
37 #include <aws/email/model/GetCustomVerificationEmailTemplateResult.h>
38 #include <aws/email/model/GetIdentityDkimAttributesResult.h>
39 #include <aws/email/model/GetIdentityMailFromDomainAttributesResult.h>
40 #include <aws/email/model/GetIdentityNotificationAttributesResult.h>
41 #include <aws/email/model/GetIdentityPoliciesResult.h>
42 #include <aws/email/model/GetIdentityVerificationAttributesResult.h>
43 #include <aws/email/model/GetSendQuotaResult.h>
44 #include <aws/email/model/GetSendStatisticsResult.h>
45 #include <aws/email/model/GetTemplateResult.h>
46 #include <aws/email/model/ListConfigurationSetsResult.h>
47 #include <aws/email/model/ListCustomVerificationEmailTemplatesResult.h>
48 #include <aws/email/model/ListIdentitiesResult.h>
49 #include <aws/email/model/ListIdentityPoliciesResult.h>
50 #include <aws/email/model/ListReceiptFiltersResult.h>
51 #include <aws/email/model/ListReceiptRuleSetsResult.h>
52 #include <aws/email/model/ListTemplatesResult.h>
53 #include <aws/email/model/ListVerifiedEmailAddressesResult.h>
54 #include <aws/email/model/PutConfigurationSetDeliveryOptionsResult.h>
55 #include <aws/email/model/PutIdentityPolicyResult.h>
56 #include <aws/email/model/ReorderReceiptRuleSetResult.h>
57 #include <aws/email/model/SendBounceResult.h>
58 #include <aws/email/model/SendBulkTemplatedEmailResult.h>
59 #include <aws/email/model/SendCustomVerificationEmailResult.h>
60 #include <aws/email/model/SendEmailResult.h>
61 #include <aws/email/model/SendRawEmailResult.h>
62 #include <aws/email/model/SendTemplatedEmailResult.h>
63 #include <aws/email/model/SetActiveReceiptRuleSetResult.h>
64 #include <aws/email/model/SetIdentityDkimEnabledResult.h>
65 #include <aws/email/model/SetIdentityFeedbackForwardingEnabledResult.h>
66 #include <aws/email/model/SetIdentityHeadersInNotificationsEnabledResult.h>
67 #include <aws/email/model/SetIdentityMailFromDomainResult.h>
68 #include <aws/email/model/SetIdentityNotificationTopicResult.h>
69 #include <aws/email/model/SetReceiptRulePositionResult.h>
70 #include <aws/email/model/TestRenderTemplateResult.h>
71 #include <aws/email/model/UpdateConfigurationSetEventDestinationResult.h>
72 #include <aws/email/model/UpdateConfigurationSetTrackingOptionsResult.h>
73 #include <aws/email/model/UpdateReceiptRuleResult.h>
74 #include <aws/email/model/UpdateTemplateResult.h>
75 #include <aws/email/model/VerifyDomainDkimResult.h>
76 #include <aws/email/model/VerifyDomainIdentityResult.h>
77 #include <aws/email/model/VerifyEmailIdentityResult.h>
78 #include <aws/core/NoResult.h>
79 #include <aws/core/client/AsyncCallerContext.h>
80 #include <aws/core/http/HttpTypes.h>
81 #include <future>
82 #include <functional>
83 
84 namespace Aws
85 {
86 
87 namespace Http
88 {
89   class HttpClient;
90   class HttpClientFactory;
91 } // namespace Http
92 
93 namespace Utils
94 {
95   template< typename R, typename E> class Outcome;
96 
97 namespace Threading
98 {
99   class Executor;
100 } // namespace Threading
101 
102 namespace Xml
103 {
104   class XmlDocument;
105 } // namespace Xml
106 } // namespace Utils
107 
108 namespace Auth
109 {
110   class AWSCredentials;
111   class AWSCredentialsProvider;
112 } // namespace Auth
113 
114 namespace Client
115 {
116   class RetryStrategy;
117 } // namespace Client
118 
119 namespace SES
120 {
121 
122 namespace Model
123 {
124         class CloneReceiptRuleSetRequest;
125         class CreateConfigurationSetRequest;
126         class CreateConfigurationSetEventDestinationRequest;
127         class CreateConfigurationSetTrackingOptionsRequest;
128         class CreateCustomVerificationEmailTemplateRequest;
129         class CreateReceiptFilterRequest;
130         class CreateReceiptRuleRequest;
131         class CreateReceiptRuleSetRequest;
132         class CreateTemplateRequest;
133         class DeleteConfigurationSetRequest;
134         class DeleteConfigurationSetEventDestinationRequest;
135         class DeleteConfigurationSetTrackingOptionsRequest;
136         class DeleteCustomVerificationEmailTemplateRequest;
137         class DeleteIdentityRequest;
138         class DeleteIdentityPolicyRequest;
139         class DeleteReceiptFilterRequest;
140         class DeleteReceiptRuleRequest;
141         class DeleteReceiptRuleSetRequest;
142         class DeleteTemplateRequest;
143         class DeleteVerifiedEmailAddressRequest;
144         class DescribeActiveReceiptRuleSetRequest;
145         class DescribeConfigurationSetRequest;
146         class DescribeReceiptRuleRequest;
147         class DescribeReceiptRuleSetRequest;
148         class GetAccountSendingEnabledRequest;
149         class GetCustomVerificationEmailTemplateRequest;
150         class GetIdentityDkimAttributesRequest;
151         class GetIdentityMailFromDomainAttributesRequest;
152         class GetIdentityNotificationAttributesRequest;
153         class GetIdentityPoliciesRequest;
154         class GetIdentityVerificationAttributesRequest;
155         class GetSendQuotaRequest;
156         class GetSendStatisticsRequest;
157         class GetTemplateRequest;
158         class ListConfigurationSetsRequest;
159         class ListCustomVerificationEmailTemplatesRequest;
160         class ListIdentitiesRequest;
161         class ListIdentityPoliciesRequest;
162         class ListReceiptFiltersRequest;
163         class ListReceiptRuleSetsRequest;
164         class ListTemplatesRequest;
165         class ListVerifiedEmailAddressesRequest;
166         class PutConfigurationSetDeliveryOptionsRequest;
167         class PutIdentityPolicyRequest;
168         class ReorderReceiptRuleSetRequest;
169         class SendBounceRequest;
170         class SendBulkTemplatedEmailRequest;
171         class SendCustomVerificationEmailRequest;
172         class SendEmailRequest;
173         class SendRawEmailRequest;
174         class SendTemplatedEmailRequest;
175         class SetActiveReceiptRuleSetRequest;
176         class SetIdentityDkimEnabledRequest;
177         class SetIdentityFeedbackForwardingEnabledRequest;
178         class SetIdentityHeadersInNotificationsEnabledRequest;
179         class SetIdentityMailFromDomainRequest;
180         class SetIdentityNotificationTopicRequest;
181         class SetReceiptRulePositionRequest;
182         class TestRenderTemplateRequest;
183         class UpdateAccountSendingEnabledRequest;
184         class UpdateConfigurationSetEventDestinationRequest;
185         class UpdateConfigurationSetReputationMetricsEnabledRequest;
186         class UpdateConfigurationSetSendingEnabledRequest;
187         class UpdateConfigurationSetTrackingOptionsRequest;
188         class UpdateCustomVerificationEmailTemplateRequest;
189         class UpdateReceiptRuleRequest;
190         class UpdateTemplateRequest;
191         class VerifyDomainDkimRequest;
192         class VerifyDomainIdentityRequest;
193         class VerifyEmailAddressRequest;
194         class VerifyEmailIdentityRequest;
195 
196         typedef Aws::Utils::Outcome<CloneReceiptRuleSetResult, SESError> CloneReceiptRuleSetOutcome;
197         typedef Aws::Utils::Outcome<CreateConfigurationSetResult, SESError> CreateConfigurationSetOutcome;
198         typedef Aws::Utils::Outcome<CreateConfigurationSetEventDestinationResult, SESError> CreateConfigurationSetEventDestinationOutcome;
199         typedef Aws::Utils::Outcome<CreateConfigurationSetTrackingOptionsResult, SESError> CreateConfigurationSetTrackingOptionsOutcome;
200         typedef Aws::Utils::Outcome<Aws::NoResult, SESError> CreateCustomVerificationEmailTemplateOutcome;
201         typedef Aws::Utils::Outcome<CreateReceiptFilterResult, SESError> CreateReceiptFilterOutcome;
202         typedef Aws::Utils::Outcome<CreateReceiptRuleResult, SESError> CreateReceiptRuleOutcome;
203         typedef Aws::Utils::Outcome<CreateReceiptRuleSetResult, SESError> CreateReceiptRuleSetOutcome;
204         typedef Aws::Utils::Outcome<CreateTemplateResult, SESError> CreateTemplateOutcome;
205         typedef Aws::Utils::Outcome<DeleteConfigurationSetResult, SESError> DeleteConfigurationSetOutcome;
206         typedef Aws::Utils::Outcome<DeleteConfigurationSetEventDestinationResult, SESError> DeleteConfigurationSetEventDestinationOutcome;
207         typedef Aws::Utils::Outcome<DeleteConfigurationSetTrackingOptionsResult, SESError> DeleteConfigurationSetTrackingOptionsOutcome;
208         typedef Aws::Utils::Outcome<Aws::NoResult, SESError> DeleteCustomVerificationEmailTemplateOutcome;
209         typedef Aws::Utils::Outcome<DeleteIdentityResult, SESError> DeleteIdentityOutcome;
210         typedef Aws::Utils::Outcome<DeleteIdentityPolicyResult, SESError> DeleteIdentityPolicyOutcome;
211         typedef Aws::Utils::Outcome<DeleteReceiptFilterResult, SESError> DeleteReceiptFilterOutcome;
212         typedef Aws::Utils::Outcome<DeleteReceiptRuleResult, SESError> DeleteReceiptRuleOutcome;
213         typedef Aws::Utils::Outcome<DeleteReceiptRuleSetResult, SESError> DeleteReceiptRuleSetOutcome;
214         typedef Aws::Utils::Outcome<DeleteTemplateResult, SESError> DeleteTemplateOutcome;
215         typedef Aws::Utils::Outcome<Aws::NoResult, SESError> DeleteVerifiedEmailAddressOutcome;
216         typedef Aws::Utils::Outcome<DescribeActiveReceiptRuleSetResult, SESError> DescribeActiveReceiptRuleSetOutcome;
217         typedef Aws::Utils::Outcome<DescribeConfigurationSetResult, SESError> DescribeConfigurationSetOutcome;
218         typedef Aws::Utils::Outcome<DescribeReceiptRuleResult, SESError> DescribeReceiptRuleOutcome;
219         typedef Aws::Utils::Outcome<DescribeReceiptRuleSetResult, SESError> DescribeReceiptRuleSetOutcome;
220         typedef Aws::Utils::Outcome<GetAccountSendingEnabledResult, SESError> GetAccountSendingEnabledOutcome;
221         typedef Aws::Utils::Outcome<GetCustomVerificationEmailTemplateResult, SESError> GetCustomVerificationEmailTemplateOutcome;
222         typedef Aws::Utils::Outcome<GetIdentityDkimAttributesResult, SESError> GetIdentityDkimAttributesOutcome;
223         typedef Aws::Utils::Outcome<GetIdentityMailFromDomainAttributesResult, SESError> GetIdentityMailFromDomainAttributesOutcome;
224         typedef Aws::Utils::Outcome<GetIdentityNotificationAttributesResult, SESError> GetIdentityNotificationAttributesOutcome;
225         typedef Aws::Utils::Outcome<GetIdentityPoliciesResult, SESError> GetIdentityPoliciesOutcome;
226         typedef Aws::Utils::Outcome<GetIdentityVerificationAttributesResult, SESError> GetIdentityVerificationAttributesOutcome;
227         typedef Aws::Utils::Outcome<GetSendQuotaResult, SESError> GetSendQuotaOutcome;
228         typedef Aws::Utils::Outcome<GetSendStatisticsResult, SESError> GetSendStatisticsOutcome;
229         typedef Aws::Utils::Outcome<GetTemplateResult, SESError> GetTemplateOutcome;
230         typedef Aws::Utils::Outcome<ListConfigurationSetsResult, SESError> ListConfigurationSetsOutcome;
231         typedef Aws::Utils::Outcome<ListCustomVerificationEmailTemplatesResult, SESError> ListCustomVerificationEmailTemplatesOutcome;
232         typedef Aws::Utils::Outcome<ListIdentitiesResult, SESError> ListIdentitiesOutcome;
233         typedef Aws::Utils::Outcome<ListIdentityPoliciesResult, SESError> ListIdentityPoliciesOutcome;
234         typedef Aws::Utils::Outcome<ListReceiptFiltersResult, SESError> ListReceiptFiltersOutcome;
235         typedef Aws::Utils::Outcome<ListReceiptRuleSetsResult, SESError> ListReceiptRuleSetsOutcome;
236         typedef Aws::Utils::Outcome<ListTemplatesResult, SESError> ListTemplatesOutcome;
237         typedef Aws::Utils::Outcome<ListVerifiedEmailAddressesResult, SESError> ListVerifiedEmailAddressesOutcome;
238         typedef Aws::Utils::Outcome<PutConfigurationSetDeliveryOptionsResult, SESError> PutConfigurationSetDeliveryOptionsOutcome;
239         typedef Aws::Utils::Outcome<PutIdentityPolicyResult, SESError> PutIdentityPolicyOutcome;
240         typedef Aws::Utils::Outcome<ReorderReceiptRuleSetResult, SESError> ReorderReceiptRuleSetOutcome;
241         typedef Aws::Utils::Outcome<SendBounceResult, SESError> SendBounceOutcome;
242         typedef Aws::Utils::Outcome<SendBulkTemplatedEmailResult, SESError> SendBulkTemplatedEmailOutcome;
243         typedef Aws::Utils::Outcome<SendCustomVerificationEmailResult, SESError> SendCustomVerificationEmailOutcome;
244         typedef Aws::Utils::Outcome<SendEmailResult, SESError> SendEmailOutcome;
245         typedef Aws::Utils::Outcome<SendRawEmailResult, SESError> SendRawEmailOutcome;
246         typedef Aws::Utils::Outcome<SendTemplatedEmailResult, SESError> SendTemplatedEmailOutcome;
247         typedef Aws::Utils::Outcome<SetActiveReceiptRuleSetResult, SESError> SetActiveReceiptRuleSetOutcome;
248         typedef Aws::Utils::Outcome<SetIdentityDkimEnabledResult, SESError> SetIdentityDkimEnabledOutcome;
249         typedef Aws::Utils::Outcome<SetIdentityFeedbackForwardingEnabledResult, SESError> SetIdentityFeedbackForwardingEnabledOutcome;
250         typedef Aws::Utils::Outcome<SetIdentityHeadersInNotificationsEnabledResult, SESError> SetIdentityHeadersInNotificationsEnabledOutcome;
251         typedef Aws::Utils::Outcome<SetIdentityMailFromDomainResult, SESError> SetIdentityMailFromDomainOutcome;
252         typedef Aws::Utils::Outcome<SetIdentityNotificationTopicResult, SESError> SetIdentityNotificationTopicOutcome;
253         typedef Aws::Utils::Outcome<SetReceiptRulePositionResult, SESError> SetReceiptRulePositionOutcome;
254         typedef Aws::Utils::Outcome<TestRenderTemplateResult, SESError> TestRenderTemplateOutcome;
255         typedef Aws::Utils::Outcome<Aws::NoResult, SESError> UpdateAccountSendingEnabledOutcome;
256         typedef Aws::Utils::Outcome<UpdateConfigurationSetEventDestinationResult, SESError> UpdateConfigurationSetEventDestinationOutcome;
257         typedef Aws::Utils::Outcome<Aws::NoResult, SESError> UpdateConfigurationSetReputationMetricsEnabledOutcome;
258         typedef Aws::Utils::Outcome<Aws::NoResult, SESError> UpdateConfigurationSetSendingEnabledOutcome;
259         typedef Aws::Utils::Outcome<UpdateConfigurationSetTrackingOptionsResult, SESError> UpdateConfigurationSetTrackingOptionsOutcome;
260         typedef Aws::Utils::Outcome<Aws::NoResult, SESError> UpdateCustomVerificationEmailTemplateOutcome;
261         typedef Aws::Utils::Outcome<UpdateReceiptRuleResult, SESError> UpdateReceiptRuleOutcome;
262         typedef Aws::Utils::Outcome<UpdateTemplateResult, SESError> UpdateTemplateOutcome;
263         typedef Aws::Utils::Outcome<VerifyDomainDkimResult, SESError> VerifyDomainDkimOutcome;
264         typedef Aws::Utils::Outcome<VerifyDomainIdentityResult, SESError> VerifyDomainIdentityOutcome;
265         typedef Aws::Utils::Outcome<Aws::NoResult, SESError> VerifyEmailAddressOutcome;
266         typedef Aws::Utils::Outcome<VerifyEmailIdentityResult, SESError> VerifyEmailIdentityOutcome;
267 
268         typedef std::future<CloneReceiptRuleSetOutcome> CloneReceiptRuleSetOutcomeCallable;
269         typedef std::future<CreateConfigurationSetOutcome> CreateConfigurationSetOutcomeCallable;
270         typedef std::future<CreateConfigurationSetEventDestinationOutcome> CreateConfigurationSetEventDestinationOutcomeCallable;
271         typedef std::future<CreateConfigurationSetTrackingOptionsOutcome> CreateConfigurationSetTrackingOptionsOutcomeCallable;
272         typedef std::future<CreateCustomVerificationEmailTemplateOutcome> CreateCustomVerificationEmailTemplateOutcomeCallable;
273         typedef std::future<CreateReceiptFilterOutcome> CreateReceiptFilterOutcomeCallable;
274         typedef std::future<CreateReceiptRuleOutcome> CreateReceiptRuleOutcomeCallable;
275         typedef std::future<CreateReceiptRuleSetOutcome> CreateReceiptRuleSetOutcomeCallable;
276         typedef std::future<CreateTemplateOutcome> CreateTemplateOutcomeCallable;
277         typedef std::future<DeleteConfigurationSetOutcome> DeleteConfigurationSetOutcomeCallable;
278         typedef std::future<DeleteConfigurationSetEventDestinationOutcome> DeleteConfigurationSetEventDestinationOutcomeCallable;
279         typedef std::future<DeleteConfigurationSetTrackingOptionsOutcome> DeleteConfigurationSetTrackingOptionsOutcomeCallable;
280         typedef std::future<DeleteCustomVerificationEmailTemplateOutcome> DeleteCustomVerificationEmailTemplateOutcomeCallable;
281         typedef std::future<DeleteIdentityOutcome> DeleteIdentityOutcomeCallable;
282         typedef std::future<DeleteIdentityPolicyOutcome> DeleteIdentityPolicyOutcomeCallable;
283         typedef std::future<DeleteReceiptFilterOutcome> DeleteReceiptFilterOutcomeCallable;
284         typedef std::future<DeleteReceiptRuleOutcome> DeleteReceiptRuleOutcomeCallable;
285         typedef std::future<DeleteReceiptRuleSetOutcome> DeleteReceiptRuleSetOutcomeCallable;
286         typedef std::future<DeleteTemplateOutcome> DeleteTemplateOutcomeCallable;
287         typedef std::future<DeleteVerifiedEmailAddressOutcome> DeleteVerifiedEmailAddressOutcomeCallable;
288         typedef std::future<DescribeActiveReceiptRuleSetOutcome> DescribeActiveReceiptRuleSetOutcomeCallable;
289         typedef std::future<DescribeConfigurationSetOutcome> DescribeConfigurationSetOutcomeCallable;
290         typedef std::future<DescribeReceiptRuleOutcome> DescribeReceiptRuleOutcomeCallable;
291         typedef std::future<DescribeReceiptRuleSetOutcome> DescribeReceiptRuleSetOutcomeCallable;
292         typedef std::future<GetAccountSendingEnabledOutcome> GetAccountSendingEnabledOutcomeCallable;
293         typedef std::future<GetCustomVerificationEmailTemplateOutcome> GetCustomVerificationEmailTemplateOutcomeCallable;
294         typedef std::future<GetIdentityDkimAttributesOutcome> GetIdentityDkimAttributesOutcomeCallable;
295         typedef std::future<GetIdentityMailFromDomainAttributesOutcome> GetIdentityMailFromDomainAttributesOutcomeCallable;
296         typedef std::future<GetIdentityNotificationAttributesOutcome> GetIdentityNotificationAttributesOutcomeCallable;
297         typedef std::future<GetIdentityPoliciesOutcome> GetIdentityPoliciesOutcomeCallable;
298         typedef std::future<GetIdentityVerificationAttributesOutcome> GetIdentityVerificationAttributesOutcomeCallable;
299         typedef std::future<GetSendQuotaOutcome> GetSendQuotaOutcomeCallable;
300         typedef std::future<GetSendStatisticsOutcome> GetSendStatisticsOutcomeCallable;
301         typedef std::future<GetTemplateOutcome> GetTemplateOutcomeCallable;
302         typedef std::future<ListConfigurationSetsOutcome> ListConfigurationSetsOutcomeCallable;
303         typedef std::future<ListCustomVerificationEmailTemplatesOutcome> ListCustomVerificationEmailTemplatesOutcomeCallable;
304         typedef std::future<ListIdentitiesOutcome> ListIdentitiesOutcomeCallable;
305         typedef std::future<ListIdentityPoliciesOutcome> ListIdentityPoliciesOutcomeCallable;
306         typedef std::future<ListReceiptFiltersOutcome> ListReceiptFiltersOutcomeCallable;
307         typedef std::future<ListReceiptRuleSetsOutcome> ListReceiptRuleSetsOutcomeCallable;
308         typedef std::future<ListTemplatesOutcome> ListTemplatesOutcomeCallable;
309         typedef std::future<ListVerifiedEmailAddressesOutcome> ListVerifiedEmailAddressesOutcomeCallable;
310         typedef std::future<PutConfigurationSetDeliveryOptionsOutcome> PutConfigurationSetDeliveryOptionsOutcomeCallable;
311         typedef std::future<PutIdentityPolicyOutcome> PutIdentityPolicyOutcomeCallable;
312         typedef std::future<ReorderReceiptRuleSetOutcome> ReorderReceiptRuleSetOutcomeCallable;
313         typedef std::future<SendBounceOutcome> SendBounceOutcomeCallable;
314         typedef std::future<SendBulkTemplatedEmailOutcome> SendBulkTemplatedEmailOutcomeCallable;
315         typedef std::future<SendCustomVerificationEmailOutcome> SendCustomVerificationEmailOutcomeCallable;
316         typedef std::future<SendEmailOutcome> SendEmailOutcomeCallable;
317         typedef std::future<SendRawEmailOutcome> SendRawEmailOutcomeCallable;
318         typedef std::future<SendTemplatedEmailOutcome> SendTemplatedEmailOutcomeCallable;
319         typedef std::future<SetActiveReceiptRuleSetOutcome> SetActiveReceiptRuleSetOutcomeCallable;
320         typedef std::future<SetIdentityDkimEnabledOutcome> SetIdentityDkimEnabledOutcomeCallable;
321         typedef std::future<SetIdentityFeedbackForwardingEnabledOutcome> SetIdentityFeedbackForwardingEnabledOutcomeCallable;
322         typedef std::future<SetIdentityHeadersInNotificationsEnabledOutcome> SetIdentityHeadersInNotificationsEnabledOutcomeCallable;
323         typedef std::future<SetIdentityMailFromDomainOutcome> SetIdentityMailFromDomainOutcomeCallable;
324         typedef std::future<SetIdentityNotificationTopicOutcome> SetIdentityNotificationTopicOutcomeCallable;
325         typedef std::future<SetReceiptRulePositionOutcome> SetReceiptRulePositionOutcomeCallable;
326         typedef std::future<TestRenderTemplateOutcome> TestRenderTemplateOutcomeCallable;
327         typedef std::future<UpdateAccountSendingEnabledOutcome> UpdateAccountSendingEnabledOutcomeCallable;
328         typedef std::future<UpdateConfigurationSetEventDestinationOutcome> UpdateConfigurationSetEventDestinationOutcomeCallable;
329         typedef std::future<UpdateConfigurationSetReputationMetricsEnabledOutcome> UpdateConfigurationSetReputationMetricsEnabledOutcomeCallable;
330         typedef std::future<UpdateConfigurationSetSendingEnabledOutcome> UpdateConfigurationSetSendingEnabledOutcomeCallable;
331         typedef std::future<UpdateConfigurationSetTrackingOptionsOutcome> UpdateConfigurationSetTrackingOptionsOutcomeCallable;
332         typedef std::future<UpdateCustomVerificationEmailTemplateOutcome> UpdateCustomVerificationEmailTemplateOutcomeCallable;
333         typedef std::future<UpdateReceiptRuleOutcome> UpdateReceiptRuleOutcomeCallable;
334         typedef std::future<UpdateTemplateOutcome> UpdateTemplateOutcomeCallable;
335         typedef std::future<VerifyDomainDkimOutcome> VerifyDomainDkimOutcomeCallable;
336         typedef std::future<VerifyDomainIdentityOutcome> VerifyDomainIdentityOutcomeCallable;
337         typedef std::future<VerifyEmailAddressOutcome> VerifyEmailAddressOutcomeCallable;
338         typedef std::future<VerifyEmailIdentityOutcome> VerifyEmailIdentityOutcomeCallable;
339 } // namespace Model
340 
341   class SESClient;
342 
343     typedef std::function<void(const SESClient*, const Model::CloneReceiptRuleSetRequest&, const Model::CloneReceiptRuleSetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CloneReceiptRuleSetResponseReceivedHandler;
344     typedef std::function<void(const SESClient*, const Model::CreateConfigurationSetRequest&, const Model::CreateConfigurationSetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateConfigurationSetResponseReceivedHandler;
345     typedef std::function<void(const SESClient*, const Model::CreateConfigurationSetEventDestinationRequest&, const Model::CreateConfigurationSetEventDestinationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateConfigurationSetEventDestinationResponseReceivedHandler;
346     typedef std::function<void(const SESClient*, const Model::CreateConfigurationSetTrackingOptionsRequest&, const Model::CreateConfigurationSetTrackingOptionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateConfigurationSetTrackingOptionsResponseReceivedHandler;
347     typedef std::function<void(const SESClient*, const Model::CreateCustomVerificationEmailTemplateRequest&, const Model::CreateCustomVerificationEmailTemplateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateCustomVerificationEmailTemplateResponseReceivedHandler;
348     typedef std::function<void(const SESClient*, const Model::CreateReceiptFilterRequest&, const Model::CreateReceiptFilterOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateReceiptFilterResponseReceivedHandler;
349     typedef std::function<void(const SESClient*, const Model::CreateReceiptRuleRequest&, const Model::CreateReceiptRuleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateReceiptRuleResponseReceivedHandler;
350     typedef std::function<void(const SESClient*, const Model::CreateReceiptRuleSetRequest&, const Model::CreateReceiptRuleSetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateReceiptRuleSetResponseReceivedHandler;
351     typedef std::function<void(const SESClient*, const Model::CreateTemplateRequest&, const Model::CreateTemplateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTemplateResponseReceivedHandler;
352     typedef std::function<void(const SESClient*, const Model::DeleteConfigurationSetRequest&, const Model::DeleteConfigurationSetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteConfigurationSetResponseReceivedHandler;
353     typedef std::function<void(const SESClient*, const Model::DeleteConfigurationSetEventDestinationRequest&, const Model::DeleteConfigurationSetEventDestinationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteConfigurationSetEventDestinationResponseReceivedHandler;
354     typedef std::function<void(const SESClient*, const Model::DeleteConfigurationSetTrackingOptionsRequest&, const Model::DeleteConfigurationSetTrackingOptionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteConfigurationSetTrackingOptionsResponseReceivedHandler;
355     typedef std::function<void(const SESClient*, const Model::DeleteCustomVerificationEmailTemplateRequest&, const Model::DeleteCustomVerificationEmailTemplateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteCustomVerificationEmailTemplateResponseReceivedHandler;
356     typedef std::function<void(const SESClient*, const Model::DeleteIdentityRequest&, const Model::DeleteIdentityOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteIdentityResponseReceivedHandler;
357     typedef std::function<void(const SESClient*, const Model::DeleteIdentityPolicyRequest&, const Model::DeleteIdentityPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteIdentityPolicyResponseReceivedHandler;
358     typedef std::function<void(const SESClient*, const Model::DeleteReceiptFilterRequest&, const Model::DeleteReceiptFilterOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteReceiptFilterResponseReceivedHandler;
359     typedef std::function<void(const SESClient*, const Model::DeleteReceiptRuleRequest&, const Model::DeleteReceiptRuleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteReceiptRuleResponseReceivedHandler;
360     typedef std::function<void(const SESClient*, const Model::DeleteReceiptRuleSetRequest&, const Model::DeleteReceiptRuleSetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteReceiptRuleSetResponseReceivedHandler;
361     typedef std::function<void(const SESClient*, const Model::DeleteTemplateRequest&, const Model::DeleteTemplateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTemplateResponseReceivedHandler;
362     typedef std::function<void(const SESClient*, const Model::DeleteVerifiedEmailAddressRequest&, const Model::DeleteVerifiedEmailAddressOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVerifiedEmailAddressResponseReceivedHandler;
363     typedef std::function<void(const SESClient*, const Model::DescribeActiveReceiptRuleSetRequest&, const Model::DescribeActiveReceiptRuleSetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeActiveReceiptRuleSetResponseReceivedHandler;
364     typedef std::function<void(const SESClient*, const Model::DescribeConfigurationSetRequest&, const Model::DescribeConfigurationSetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeConfigurationSetResponseReceivedHandler;
365     typedef std::function<void(const SESClient*, const Model::DescribeReceiptRuleRequest&, const Model::DescribeReceiptRuleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeReceiptRuleResponseReceivedHandler;
366     typedef std::function<void(const SESClient*, const Model::DescribeReceiptRuleSetRequest&, const Model::DescribeReceiptRuleSetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeReceiptRuleSetResponseReceivedHandler;
367     typedef std::function<void(const SESClient*, const Model::GetAccountSendingEnabledRequest&, const Model::GetAccountSendingEnabledOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetAccountSendingEnabledResponseReceivedHandler;
368     typedef std::function<void(const SESClient*, const Model::GetCustomVerificationEmailTemplateRequest&, const Model::GetCustomVerificationEmailTemplateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetCustomVerificationEmailTemplateResponseReceivedHandler;
369     typedef std::function<void(const SESClient*, const Model::GetIdentityDkimAttributesRequest&, const Model::GetIdentityDkimAttributesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetIdentityDkimAttributesResponseReceivedHandler;
370     typedef std::function<void(const SESClient*, const Model::GetIdentityMailFromDomainAttributesRequest&, const Model::GetIdentityMailFromDomainAttributesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetIdentityMailFromDomainAttributesResponseReceivedHandler;
371     typedef std::function<void(const SESClient*, const Model::GetIdentityNotificationAttributesRequest&, const Model::GetIdentityNotificationAttributesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetIdentityNotificationAttributesResponseReceivedHandler;
372     typedef std::function<void(const SESClient*, const Model::GetIdentityPoliciesRequest&, const Model::GetIdentityPoliciesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetIdentityPoliciesResponseReceivedHandler;
373     typedef std::function<void(const SESClient*, const Model::GetIdentityVerificationAttributesRequest&, const Model::GetIdentityVerificationAttributesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetIdentityVerificationAttributesResponseReceivedHandler;
374     typedef std::function<void(const SESClient*, const Model::GetSendQuotaRequest&, const Model::GetSendQuotaOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetSendQuotaResponseReceivedHandler;
375     typedef std::function<void(const SESClient*, const Model::GetSendStatisticsRequest&, const Model::GetSendStatisticsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetSendStatisticsResponseReceivedHandler;
376     typedef std::function<void(const SESClient*, const Model::GetTemplateRequest&, const Model::GetTemplateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetTemplateResponseReceivedHandler;
377     typedef std::function<void(const SESClient*, const Model::ListConfigurationSetsRequest&, const Model::ListConfigurationSetsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListConfigurationSetsResponseReceivedHandler;
378     typedef std::function<void(const SESClient*, const Model::ListCustomVerificationEmailTemplatesRequest&, const Model::ListCustomVerificationEmailTemplatesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListCustomVerificationEmailTemplatesResponseReceivedHandler;
379     typedef std::function<void(const SESClient*, const Model::ListIdentitiesRequest&, const Model::ListIdentitiesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListIdentitiesResponseReceivedHandler;
380     typedef std::function<void(const SESClient*, const Model::ListIdentityPoliciesRequest&, const Model::ListIdentityPoliciesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListIdentityPoliciesResponseReceivedHandler;
381     typedef std::function<void(const SESClient*, const Model::ListReceiptFiltersRequest&, const Model::ListReceiptFiltersOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListReceiptFiltersResponseReceivedHandler;
382     typedef std::function<void(const SESClient*, const Model::ListReceiptRuleSetsRequest&, const Model::ListReceiptRuleSetsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListReceiptRuleSetsResponseReceivedHandler;
383     typedef std::function<void(const SESClient*, const Model::ListTemplatesRequest&, const Model::ListTemplatesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTemplatesResponseReceivedHandler;
384     typedef std::function<void(const SESClient*, const Model::ListVerifiedEmailAddressesRequest&, const Model::ListVerifiedEmailAddressesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListVerifiedEmailAddressesResponseReceivedHandler;
385     typedef std::function<void(const SESClient*, const Model::PutConfigurationSetDeliveryOptionsRequest&, const Model::PutConfigurationSetDeliveryOptionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutConfigurationSetDeliveryOptionsResponseReceivedHandler;
386     typedef std::function<void(const SESClient*, const Model::PutIdentityPolicyRequest&, const Model::PutIdentityPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutIdentityPolicyResponseReceivedHandler;
387     typedef std::function<void(const SESClient*, const Model::ReorderReceiptRuleSetRequest&, const Model::ReorderReceiptRuleSetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ReorderReceiptRuleSetResponseReceivedHandler;
388     typedef std::function<void(const SESClient*, const Model::SendBounceRequest&, const Model::SendBounceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SendBounceResponseReceivedHandler;
389     typedef std::function<void(const SESClient*, const Model::SendBulkTemplatedEmailRequest&, const Model::SendBulkTemplatedEmailOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SendBulkTemplatedEmailResponseReceivedHandler;
390     typedef std::function<void(const SESClient*, const Model::SendCustomVerificationEmailRequest&, const Model::SendCustomVerificationEmailOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SendCustomVerificationEmailResponseReceivedHandler;
391     typedef std::function<void(const SESClient*, const Model::SendEmailRequest&, const Model::SendEmailOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SendEmailResponseReceivedHandler;
392     typedef std::function<void(const SESClient*, const Model::SendRawEmailRequest&, const Model::SendRawEmailOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SendRawEmailResponseReceivedHandler;
393     typedef std::function<void(const SESClient*, const Model::SendTemplatedEmailRequest&, const Model::SendTemplatedEmailOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SendTemplatedEmailResponseReceivedHandler;
394     typedef std::function<void(const SESClient*, const Model::SetActiveReceiptRuleSetRequest&, const Model::SetActiveReceiptRuleSetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SetActiveReceiptRuleSetResponseReceivedHandler;
395     typedef std::function<void(const SESClient*, const Model::SetIdentityDkimEnabledRequest&, const Model::SetIdentityDkimEnabledOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SetIdentityDkimEnabledResponseReceivedHandler;
396     typedef std::function<void(const SESClient*, const Model::SetIdentityFeedbackForwardingEnabledRequest&, const Model::SetIdentityFeedbackForwardingEnabledOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SetIdentityFeedbackForwardingEnabledResponseReceivedHandler;
397     typedef std::function<void(const SESClient*, const Model::SetIdentityHeadersInNotificationsEnabledRequest&, const Model::SetIdentityHeadersInNotificationsEnabledOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SetIdentityHeadersInNotificationsEnabledResponseReceivedHandler;
398     typedef std::function<void(const SESClient*, const Model::SetIdentityMailFromDomainRequest&, const Model::SetIdentityMailFromDomainOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SetIdentityMailFromDomainResponseReceivedHandler;
399     typedef std::function<void(const SESClient*, const Model::SetIdentityNotificationTopicRequest&, const Model::SetIdentityNotificationTopicOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SetIdentityNotificationTopicResponseReceivedHandler;
400     typedef std::function<void(const SESClient*, const Model::SetReceiptRulePositionRequest&, const Model::SetReceiptRulePositionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SetReceiptRulePositionResponseReceivedHandler;
401     typedef std::function<void(const SESClient*, const Model::TestRenderTemplateRequest&, const Model::TestRenderTemplateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TestRenderTemplateResponseReceivedHandler;
402     typedef std::function<void(const SESClient*, const Model::UpdateAccountSendingEnabledRequest&, const Model::UpdateAccountSendingEnabledOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateAccountSendingEnabledResponseReceivedHandler;
403     typedef std::function<void(const SESClient*, const Model::UpdateConfigurationSetEventDestinationRequest&, const Model::UpdateConfigurationSetEventDestinationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateConfigurationSetEventDestinationResponseReceivedHandler;
404     typedef std::function<void(const SESClient*, const Model::UpdateConfigurationSetReputationMetricsEnabledRequest&, const Model::UpdateConfigurationSetReputationMetricsEnabledOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateConfigurationSetReputationMetricsEnabledResponseReceivedHandler;
405     typedef std::function<void(const SESClient*, const Model::UpdateConfigurationSetSendingEnabledRequest&, const Model::UpdateConfigurationSetSendingEnabledOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateConfigurationSetSendingEnabledResponseReceivedHandler;
406     typedef std::function<void(const SESClient*, const Model::UpdateConfigurationSetTrackingOptionsRequest&, const Model::UpdateConfigurationSetTrackingOptionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateConfigurationSetTrackingOptionsResponseReceivedHandler;
407     typedef std::function<void(const SESClient*, const Model::UpdateCustomVerificationEmailTemplateRequest&, const Model::UpdateCustomVerificationEmailTemplateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateCustomVerificationEmailTemplateResponseReceivedHandler;
408     typedef std::function<void(const SESClient*, const Model::UpdateReceiptRuleRequest&, const Model::UpdateReceiptRuleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateReceiptRuleResponseReceivedHandler;
409     typedef std::function<void(const SESClient*, const Model::UpdateTemplateRequest&, const Model::UpdateTemplateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateTemplateResponseReceivedHandler;
410     typedef std::function<void(const SESClient*, const Model::VerifyDomainDkimRequest&, const Model::VerifyDomainDkimOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > VerifyDomainDkimResponseReceivedHandler;
411     typedef std::function<void(const SESClient*, const Model::VerifyDomainIdentityRequest&, const Model::VerifyDomainIdentityOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > VerifyDomainIdentityResponseReceivedHandler;
412     typedef std::function<void(const SESClient*, const Model::VerifyEmailAddressRequest&, const Model::VerifyEmailAddressOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > VerifyEmailAddressResponseReceivedHandler;
413     typedef std::function<void(const SESClient*, const Model::VerifyEmailIdentityRequest&, const Model::VerifyEmailIdentityOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > VerifyEmailIdentityResponseReceivedHandler;
414 
415   /**
416    * <fullname>Amazon Simple Email Service</fullname> <p> This document contains
417    * reference information for the <a href="https://aws.amazon.com/ses/">Amazon
418    * Simple Email Service</a> (Amazon SES) API, version 2010-12-01. This document is
419    * best used in conjunction with the <a
420    * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html">Amazon
421    * SES Developer Guide</a>. </p>  <p> For a list of Amazon SES endpoints to
422    * use in service requests, see <a
423    * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/regions.html">Regions
424    * and Amazon SES</a> in the <a
425    * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html">Amazon
426    * SES Developer Guide</a>.</p>
427    */
428   class AWS_SES_API SESClient : public Aws::Client::AWSXMLClient
429   {
430     public:
431       typedef Aws::Client::AWSXMLClient BASECLASS;
432 
433        /**
434         * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
435         * is not specified, it will be initialized to default values.
436         */
437         SESClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
438 
439        /**
440         * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
441         * is not specified, it will be initialized to default values.
442         */
443         SESClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
444 
445        /**
446         * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
447         * the default http client factory will be used
448         */
449         SESClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
450             const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
451 
452         virtual ~SESClient();
453 
454 
455        /**
456         * Converts any request object to a presigned URL with the GET method, using region for the signer and a timeout of 15 minutes.
457         */
458         Aws::String ConvertRequestToPresignedUrl(const Aws::AmazonSerializableWebServiceRequest& requestToConvert, const char* region) const;
459 
460 
461         /**
462          * <p>Creates a receipt rule set by cloning an existing one. All receipt rules and
463          * configurations are copied to the new receipt rule set and are completely
464          * independent of the source rule set.</p> <p>For information about setting up rule
465          * sets, see the <a
466          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html">Amazon
467          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
468          * per second.</p><p><h3>See Also:</h3>   <a
469          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CloneReceiptRuleSet">AWS
470          * API Reference</a></p>
471          */
472         virtual Model::CloneReceiptRuleSetOutcome CloneReceiptRuleSet(const Model::CloneReceiptRuleSetRequest& request) const;
473 
474         /**
475          * <p>Creates a receipt rule set by cloning an existing one. All receipt rules and
476          * configurations are copied to the new receipt rule set and are completely
477          * independent of the source rule set.</p> <p>For information about setting up rule
478          * sets, see the <a
479          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html">Amazon
480          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
481          * per second.</p><p><h3>See Also:</h3>   <a
482          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CloneReceiptRuleSet">AWS
483          * API Reference</a></p>
484          *
485          * returns a future to the operation so that it can be executed in parallel to other requests.
486          */
487         virtual Model::CloneReceiptRuleSetOutcomeCallable CloneReceiptRuleSetCallable(const Model::CloneReceiptRuleSetRequest& request) const;
488 
489         /**
490          * <p>Creates a receipt rule set by cloning an existing one. All receipt rules and
491          * configurations are copied to the new receipt rule set and are completely
492          * independent of the source rule set.</p> <p>For information about setting up rule
493          * sets, see the <a
494          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html">Amazon
495          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
496          * per second.</p><p><h3>See Also:</h3>   <a
497          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CloneReceiptRuleSet">AWS
498          * API Reference</a></p>
499          *
500          * Queues the request into a thread executor and triggers associated callback when operation has finished.
501          */
502         virtual void CloneReceiptRuleSetAsync(const Model::CloneReceiptRuleSetRequest& request, const CloneReceiptRuleSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
503 
504         /**
505          * <p>Creates a configuration set.</p> <p>Configuration sets enable you to publish
506          * email sending events. For information about using configuration sets, see the <a
507          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
508          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
509          * per second.</p><p><h3>See Also:</h3>   <a
510          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSet">AWS
511          * API Reference</a></p>
512          */
513         virtual Model::CreateConfigurationSetOutcome CreateConfigurationSet(const Model::CreateConfigurationSetRequest& request) const;
514 
515         /**
516          * <p>Creates a configuration set.</p> <p>Configuration sets enable you to publish
517          * email sending events. For information about using configuration sets, see the <a
518          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
519          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
520          * per second.</p><p><h3>See Also:</h3>   <a
521          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSet">AWS
522          * API Reference</a></p>
523          *
524          * returns a future to the operation so that it can be executed in parallel to other requests.
525          */
526         virtual Model::CreateConfigurationSetOutcomeCallable CreateConfigurationSetCallable(const Model::CreateConfigurationSetRequest& request) const;
527 
528         /**
529          * <p>Creates a configuration set.</p> <p>Configuration sets enable you to publish
530          * email sending events. For information about using configuration sets, see the <a
531          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
532          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
533          * per second.</p><p><h3>See Also:</h3>   <a
534          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSet">AWS
535          * API Reference</a></p>
536          *
537          * Queues the request into a thread executor and triggers associated callback when operation has finished.
538          */
539         virtual void CreateConfigurationSetAsync(const Model::CreateConfigurationSetRequest& request, const CreateConfigurationSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
540 
541         /**
542          * <p>Creates a configuration set event destination.</p>  <p>When you create
543          * or update an event destination, you must provide one, and only one, destination.
544          * The destination can be CloudWatch, Amazon Kinesis Firehose, or Amazon Simple
545          * Notification Service (Amazon SNS).</p>  <p>An event destination is the
546          * AWS service to which Amazon SES publishes the email sending events associated
547          * with a configuration set. For information about using configuration sets, see
548          * the <a
549          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
550          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
551          * per second.</p><p><h3>See Also:</h3>   <a
552          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetEventDestination">AWS
553          * API Reference</a></p>
554          */
555         virtual Model::CreateConfigurationSetEventDestinationOutcome CreateConfigurationSetEventDestination(const Model::CreateConfigurationSetEventDestinationRequest& request) const;
556 
557         /**
558          * <p>Creates a configuration set event destination.</p>  <p>When you create
559          * or update an event destination, you must provide one, and only one, destination.
560          * The destination can be CloudWatch, Amazon Kinesis Firehose, or Amazon Simple
561          * Notification Service (Amazon SNS).</p>  <p>An event destination is the
562          * AWS service to which Amazon SES publishes the email sending events associated
563          * with a configuration set. For information about using configuration sets, see
564          * the <a
565          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
566          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
567          * per second.</p><p><h3>See Also:</h3>   <a
568          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetEventDestination">AWS
569          * API Reference</a></p>
570          *
571          * returns a future to the operation so that it can be executed in parallel to other requests.
572          */
573         virtual Model::CreateConfigurationSetEventDestinationOutcomeCallable CreateConfigurationSetEventDestinationCallable(const Model::CreateConfigurationSetEventDestinationRequest& request) const;
574 
575         /**
576          * <p>Creates a configuration set event destination.</p>  <p>When you create
577          * or update an event destination, you must provide one, and only one, destination.
578          * The destination can be CloudWatch, Amazon Kinesis Firehose, or Amazon Simple
579          * Notification Service (Amazon SNS).</p>  <p>An event destination is the
580          * AWS service to which Amazon SES publishes the email sending events associated
581          * with a configuration set. For information about using configuration sets, see
582          * the <a
583          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
584          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
585          * per second.</p><p><h3>See Also:</h3>   <a
586          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetEventDestination">AWS
587          * API Reference</a></p>
588          *
589          * Queues the request into a thread executor and triggers associated callback when operation has finished.
590          */
591         virtual void CreateConfigurationSetEventDestinationAsync(const Model::CreateConfigurationSetEventDestinationRequest& request, const CreateConfigurationSetEventDestinationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
592 
593         /**
594          * <p>Creates an association between a configuration set and a custom domain for
595          * open and click event tracking. </p> <p>By default, images and links used for
596          * tracking open and click events are hosted on domains operated by Amazon SES. You
597          * can configure a subdomain of your own to handle these events. For information
598          * about using custom domains, see the <a
599          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html">Amazon
600          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
601          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetTrackingOptions">AWS
602          * API Reference</a></p>
603          */
604         virtual Model::CreateConfigurationSetTrackingOptionsOutcome CreateConfigurationSetTrackingOptions(const Model::CreateConfigurationSetTrackingOptionsRequest& request) const;
605 
606         /**
607          * <p>Creates an association between a configuration set and a custom domain for
608          * open and click event tracking. </p> <p>By default, images and links used for
609          * tracking open and click events are hosted on domains operated by Amazon SES. You
610          * can configure a subdomain of your own to handle these events. For information
611          * about using custom domains, see the <a
612          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html">Amazon
613          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
614          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetTrackingOptions">AWS
615          * API Reference</a></p>
616          *
617          * returns a future to the operation so that it can be executed in parallel to other requests.
618          */
619         virtual Model::CreateConfigurationSetTrackingOptionsOutcomeCallable CreateConfigurationSetTrackingOptionsCallable(const Model::CreateConfigurationSetTrackingOptionsRequest& request) const;
620 
621         /**
622          * <p>Creates an association between a configuration set and a custom domain for
623          * open and click event tracking. </p> <p>By default, images and links used for
624          * tracking open and click events are hosted on domains operated by Amazon SES. You
625          * can configure a subdomain of your own to handle these events. For information
626          * about using custom domains, see the <a
627          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html">Amazon
628          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
629          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetTrackingOptions">AWS
630          * API Reference</a></p>
631          *
632          * Queues the request into a thread executor and triggers associated callback when operation has finished.
633          */
634         virtual void CreateConfigurationSetTrackingOptionsAsync(const Model::CreateConfigurationSetTrackingOptionsRequest& request, const CreateConfigurationSetTrackingOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
635 
636         /**
637          * <p>Creates a new custom verification email template.</p> <p>For more information
638          * about custom verification email templates, see <a
639          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
640          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
641          * Guide</i>.</p> <p>You can execute this operation no more than once per
642          * second.</p><p><h3>See Also:</h3>   <a
643          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateCustomVerificationEmailTemplate">AWS
644          * API Reference</a></p>
645          */
646         virtual Model::CreateCustomVerificationEmailTemplateOutcome CreateCustomVerificationEmailTemplate(const Model::CreateCustomVerificationEmailTemplateRequest& request) const;
647 
648         /**
649          * <p>Creates a new custom verification email template.</p> <p>For more information
650          * about custom verification email templates, see <a
651          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
652          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
653          * Guide</i>.</p> <p>You can execute this operation no more than once per
654          * second.</p><p><h3>See Also:</h3>   <a
655          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateCustomVerificationEmailTemplate">AWS
656          * API Reference</a></p>
657          *
658          * returns a future to the operation so that it can be executed in parallel to other requests.
659          */
660         virtual Model::CreateCustomVerificationEmailTemplateOutcomeCallable CreateCustomVerificationEmailTemplateCallable(const Model::CreateCustomVerificationEmailTemplateRequest& request) const;
661 
662         /**
663          * <p>Creates a new custom verification email template.</p> <p>For more information
664          * about custom verification email templates, see <a
665          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
666          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
667          * Guide</i>.</p> <p>You can execute this operation no more than once per
668          * second.</p><p><h3>See Also:</h3>   <a
669          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateCustomVerificationEmailTemplate">AWS
670          * API Reference</a></p>
671          *
672          * Queues the request into a thread executor and triggers associated callback when operation has finished.
673          */
674         virtual void CreateCustomVerificationEmailTemplateAsync(const Model::CreateCustomVerificationEmailTemplateRequest& request, const CreateCustomVerificationEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
675 
676         /**
677          * <p>Creates a new IP address filter.</p> <p>For information about setting up IP
678          * address filters, see the <a
679          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html">Amazon
680          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
681          * per second.</p><p><h3>See Also:</h3>   <a
682          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateReceiptFilter">AWS
683          * API Reference</a></p>
684          */
685         virtual Model::CreateReceiptFilterOutcome CreateReceiptFilter(const Model::CreateReceiptFilterRequest& request) const;
686 
687         /**
688          * <p>Creates a new IP address filter.</p> <p>For information about setting up IP
689          * address filters, see the <a
690          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html">Amazon
691          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
692          * per second.</p><p><h3>See Also:</h3>   <a
693          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateReceiptFilter">AWS
694          * API Reference</a></p>
695          *
696          * returns a future to the operation so that it can be executed in parallel to other requests.
697          */
698         virtual Model::CreateReceiptFilterOutcomeCallable CreateReceiptFilterCallable(const Model::CreateReceiptFilterRequest& request) const;
699 
700         /**
701          * <p>Creates a new IP address filter.</p> <p>For information about setting up IP
702          * address filters, see the <a
703          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html">Amazon
704          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
705          * per second.</p><p><h3>See Also:</h3>   <a
706          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateReceiptFilter">AWS
707          * API Reference</a></p>
708          *
709          * Queues the request into a thread executor and triggers associated callback when operation has finished.
710          */
711         virtual void CreateReceiptFilterAsync(const Model::CreateReceiptFilterRequest& request, const CreateReceiptFilterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
712 
713         /**
714          * <p>Creates a receipt rule.</p> <p>For information about setting up receipt
715          * rules, see the <a
716          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html">Amazon
717          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
718          * per second.</p><p><h3>See Also:</h3>   <a
719          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateReceiptRule">AWS
720          * API Reference</a></p>
721          */
722         virtual Model::CreateReceiptRuleOutcome CreateReceiptRule(const Model::CreateReceiptRuleRequest& request) const;
723 
724         /**
725          * <p>Creates a receipt rule.</p> <p>For information about setting up receipt
726          * rules, see the <a
727          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html">Amazon
728          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
729          * per second.</p><p><h3>See Also:</h3>   <a
730          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateReceiptRule">AWS
731          * API Reference</a></p>
732          *
733          * returns a future to the operation so that it can be executed in parallel to other requests.
734          */
735         virtual Model::CreateReceiptRuleOutcomeCallable CreateReceiptRuleCallable(const Model::CreateReceiptRuleRequest& request) const;
736 
737         /**
738          * <p>Creates a receipt rule.</p> <p>For information about setting up receipt
739          * rules, see the <a
740          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html">Amazon
741          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
742          * per second.</p><p><h3>See Also:</h3>   <a
743          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateReceiptRule">AWS
744          * API Reference</a></p>
745          *
746          * Queues the request into a thread executor and triggers associated callback when operation has finished.
747          */
748         virtual void CreateReceiptRuleAsync(const Model::CreateReceiptRuleRequest& request, const CreateReceiptRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
749 
750         /**
751          * <p>Creates an empty receipt rule set.</p> <p>For information about setting up
752          * receipt rule sets, see the <a
753          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html">Amazon
754          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
755          * per second.</p><p><h3>See Also:</h3>   <a
756          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateReceiptRuleSet">AWS
757          * API Reference</a></p>
758          */
759         virtual Model::CreateReceiptRuleSetOutcome CreateReceiptRuleSet(const Model::CreateReceiptRuleSetRequest& request) const;
760 
761         /**
762          * <p>Creates an empty receipt rule set.</p> <p>For information about setting up
763          * receipt rule sets, see the <a
764          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html">Amazon
765          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
766          * per second.</p><p><h3>See Also:</h3>   <a
767          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateReceiptRuleSet">AWS
768          * API Reference</a></p>
769          *
770          * returns a future to the operation so that it can be executed in parallel to other requests.
771          */
772         virtual Model::CreateReceiptRuleSetOutcomeCallable CreateReceiptRuleSetCallable(const Model::CreateReceiptRuleSetRequest& request) const;
773 
774         /**
775          * <p>Creates an empty receipt rule set.</p> <p>For information about setting up
776          * receipt rule sets, see the <a
777          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html">Amazon
778          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
779          * per second.</p><p><h3>See Also:</h3>   <a
780          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateReceiptRuleSet">AWS
781          * API Reference</a></p>
782          *
783          * Queues the request into a thread executor and triggers associated callback when operation has finished.
784          */
785         virtual void CreateReceiptRuleSetAsync(const Model::CreateReceiptRuleSetRequest& request, const CreateReceiptRuleSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
786 
787         /**
788          * <p>Creates an email template. Email templates enable you to send personalized
789          * email to one or more destinations in a single API operation. For more
790          * information, see the <a
791          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html">Amazon
792          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
793          * per second.</p><p><h3>See Also:</h3>   <a
794          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateTemplate">AWS
795          * API Reference</a></p>
796          */
797         virtual Model::CreateTemplateOutcome CreateTemplate(const Model::CreateTemplateRequest& request) const;
798 
799         /**
800          * <p>Creates an email template. Email templates enable you to send personalized
801          * email to one or more destinations in a single API operation. For more
802          * information, see the <a
803          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html">Amazon
804          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
805          * per second.</p><p><h3>See Also:</h3>   <a
806          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateTemplate">AWS
807          * API Reference</a></p>
808          *
809          * returns a future to the operation so that it can be executed in parallel to other requests.
810          */
811         virtual Model::CreateTemplateOutcomeCallable CreateTemplateCallable(const Model::CreateTemplateRequest& request) const;
812 
813         /**
814          * <p>Creates an email template. Email templates enable you to send personalized
815          * email to one or more destinations in a single API operation. For more
816          * information, see the <a
817          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html">Amazon
818          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
819          * per second.</p><p><h3>See Also:</h3>   <a
820          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateTemplate">AWS
821          * API Reference</a></p>
822          *
823          * Queues the request into a thread executor and triggers associated callback when operation has finished.
824          */
825         virtual void CreateTemplateAsync(const Model::CreateTemplateRequest& request, const CreateTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
826 
827         /**
828          * <p>Deletes a configuration set. Configuration sets enable you to publish email
829          * sending events. For information about using configuration sets, see the <a
830          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
831          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
832          * per second.</p><p><h3>See Also:</h3>   <a
833          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSet">AWS
834          * API Reference</a></p>
835          */
836         virtual Model::DeleteConfigurationSetOutcome DeleteConfigurationSet(const Model::DeleteConfigurationSetRequest& request) const;
837 
838         /**
839          * <p>Deletes a configuration set. Configuration sets enable you to publish email
840          * sending events. For information about using configuration sets, see the <a
841          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
842          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
843          * per second.</p><p><h3>See Also:</h3>   <a
844          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSet">AWS
845          * API Reference</a></p>
846          *
847          * returns a future to the operation so that it can be executed in parallel to other requests.
848          */
849         virtual Model::DeleteConfigurationSetOutcomeCallable DeleteConfigurationSetCallable(const Model::DeleteConfigurationSetRequest& request) const;
850 
851         /**
852          * <p>Deletes a configuration set. Configuration sets enable you to publish email
853          * sending events. For information about using configuration sets, see the <a
854          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
855          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
856          * per second.</p><p><h3>See Also:</h3>   <a
857          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSet">AWS
858          * API Reference</a></p>
859          *
860          * Queues the request into a thread executor and triggers associated callback when operation has finished.
861          */
862         virtual void DeleteConfigurationSetAsync(const Model::DeleteConfigurationSetRequest& request, const DeleteConfigurationSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
863 
864         /**
865          * <p>Deletes a configuration set event destination. Configuration set event
866          * destinations are associated with configuration sets, which enable you to publish
867          * email sending events. For information about using configuration sets, see the <a
868          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
869          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
870          * per second.</p><p><h3>See Also:</h3>   <a
871          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSetEventDestination">AWS
872          * API Reference</a></p>
873          */
874         virtual Model::DeleteConfigurationSetEventDestinationOutcome DeleteConfigurationSetEventDestination(const Model::DeleteConfigurationSetEventDestinationRequest& request) const;
875 
876         /**
877          * <p>Deletes a configuration set event destination. Configuration set event
878          * destinations are associated with configuration sets, which enable you to publish
879          * email sending events. For information about using configuration sets, see the <a
880          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
881          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
882          * per second.</p><p><h3>See Also:</h3>   <a
883          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSetEventDestination">AWS
884          * API Reference</a></p>
885          *
886          * returns a future to the operation so that it can be executed in parallel to other requests.
887          */
888         virtual Model::DeleteConfigurationSetEventDestinationOutcomeCallable DeleteConfigurationSetEventDestinationCallable(const Model::DeleteConfigurationSetEventDestinationRequest& request) const;
889 
890         /**
891          * <p>Deletes a configuration set event destination. Configuration set event
892          * destinations are associated with configuration sets, which enable you to publish
893          * email sending events. For information about using configuration sets, see the <a
894          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
895          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
896          * per second.</p><p><h3>See Also:</h3>   <a
897          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSetEventDestination">AWS
898          * API Reference</a></p>
899          *
900          * Queues the request into a thread executor and triggers associated callback when operation has finished.
901          */
902         virtual void DeleteConfigurationSetEventDestinationAsync(const Model::DeleteConfigurationSetEventDestinationRequest& request, const DeleteConfigurationSetEventDestinationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
903 
904         /**
905          * <p>Deletes an association between a configuration set and a custom domain for
906          * open and click event tracking.</p> <p>By default, images and links used for
907          * tracking open and click events are hosted on domains operated by Amazon SES. You
908          * can configure a subdomain of your own to handle these events. For information
909          * about using custom domains, see the <a
910          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html">Amazon
911          * SES Developer Guide</a>.</p>  <p>Deleting this kind of association will
912          * result in emails sent using the specified configuration set to capture open and
913          * click events using the standard, Amazon SES-operated domains.</p>
914          * <p><h3>See Also:</h3>   <a
915          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSetTrackingOptions">AWS
916          * API Reference</a></p>
917          */
918         virtual Model::DeleteConfigurationSetTrackingOptionsOutcome DeleteConfigurationSetTrackingOptions(const Model::DeleteConfigurationSetTrackingOptionsRequest& request) const;
919 
920         /**
921          * <p>Deletes an association between a configuration set and a custom domain for
922          * open and click event tracking.</p> <p>By default, images and links used for
923          * tracking open and click events are hosted on domains operated by Amazon SES. You
924          * can configure a subdomain of your own to handle these events. For information
925          * about using custom domains, see the <a
926          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html">Amazon
927          * SES Developer Guide</a>.</p>  <p>Deleting this kind of association will
928          * result in emails sent using the specified configuration set to capture open and
929          * click events using the standard, Amazon SES-operated domains.</p>
930          * <p><h3>See Also:</h3>   <a
931          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSetTrackingOptions">AWS
932          * API Reference</a></p>
933          *
934          * returns a future to the operation so that it can be executed in parallel to other requests.
935          */
936         virtual Model::DeleteConfigurationSetTrackingOptionsOutcomeCallable DeleteConfigurationSetTrackingOptionsCallable(const Model::DeleteConfigurationSetTrackingOptionsRequest& request) const;
937 
938         /**
939          * <p>Deletes an association between a configuration set and a custom domain for
940          * open and click event tracking.</p> <p>By default, images and links used for
941          * tracking open and click events are hosted on domains operated by Amazon SES. You
942          * can configure a subdomain of your own to handle these events. For information
943          * about using custom domains, see the <a
944          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html">Amazon
945          * SES Developer Guide</a>.</p>  <p>Deleting this kind of association will
946          * result in emails sent using the specified configuration set to capture open and
947          * click events using the standard, Amazon SES-operated domains.</p>
948          * <p><h3>See Also:</h3>   <a
949          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSetTrackingOptions">AWS
950          * API Reference</a></p>
951          *
952          * Queues the request into a thread executor and triggers associated callback when operation has finished.
953          */
954         virtual void DeleteConfigurationSetTrackingOptionsAsync(const Model::DeleteConfigurationSetTrackingOptionsRequest& request, const DeleteConfigurationSetTrackingOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
955 
956         /**
957          * <p>Deletes an existing custom verification email template. </p> <p>For more
958          * information about custom verification email templates, see <a
959          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
960          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
961          * Guide</i>.</p> <p>You can execute this operation no more than once per
962          * second.</p><p><h3>See Also:</h3>   <a
963          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteCustomVerificationEmailTemplate">AWS
964          * API Reference</a></p>
965          */
966         virtual Model::DeleteCustomVerificationEmailTemplateOutcome DeleteCustomVerificationEmailTemplate(const Model::DeleteCustomVerificationEmailTemplateRequest& request) const;
967 
968         /**
969          * <p>Deletes an existing custom verification email template. </p> <p>For more
970          * information about custom verification email templates, see <a
971          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
972          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
973          * Guide</i>.</p> <p>You can execute this operation no more than once per
974          * second.</p><p><h3>See Also:</h3>   <a
975          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteCustomVerificationEmailTemplate">AWS
976          * API Reference</a></p>
977          *
978          * returns a future to the operation so that it can be executed in parallel to other requests.
979          */
980         virtual Model::DeleteCustomVerificationEmailTemplateOutcomeCallable DeleteCustomVerificationEmailTemplateCallable(const Model::DeleteCustomVerificationEmailTemplateRequest& request) const;
981 
982         /**
983          * <p>Deletes an existing custom verification email template. </p> <p>For more
984          * information about custom verification email templates, see <a
985          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
986          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
987          * Guide</i>.</p> <p>You can execute this operation no more than once per
988          * second.</p><p><h3>See Also:</h3>   <a
989          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteCustomVerificationEmailTemplate">AWS
990          * API Reference</a></p>
991          *
992          * Queues the request into a thread executor and triggers associated callback when operation has finished.
993          */
994         virtual void DeleteCustomVerificationEmailTemplateAsync(const Model::DeleteCustomVerificationEmailTemplateRequest& request, const DeleteCustomVerificationEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
995 
996         /**
997          * <p>Deletes the specified identity (an email address or a domain) from the list
998          * of verified identities.</p> <p>You can execute this operation no more than once
999          * per second.</p><p><h3>See Also:</h3>   <a
1000          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteIdentity">AWS
1001          * API Reference</a></p>
1002          */
1003         virtual Model::DeleteIdentityOutcome DeleteIdentity(const Model::DeleteIdentityRequest& request) const;
1004 
1005         /**
1006          * <p>Deletes the specified identity (an email address or a domain) from the list
1007          * of verified identities.</p> <p>You can execute this operation no more than once
1008          * per second.</p><p><h3>See Also:</h3>   <a
1009          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteIdentity">AWS
1010          * API Reference</a></p>
1011          *
1012          * returns a future to the operation so that it can be executed in parallel to other requests.
1013          */
1014         virtual Model::DeleteIdentityOutcomeCallable DeleteIdentityCallable(const Model::DeleteIdentityRequest& request) const;
1015 
1016         /**
1017          * <p>Deletes the specified identity (an email address or a domain) from the list
1018          * of verified identities.</p> <p>You can execute this operation no more than once
1019          * per second.</p><p><h3>See Also:</h3>   <a
1020          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteIdentity">AWS
1021          * API Reference</a></p>
1022          *
1023          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1024          */
1025         virtual void DeleteIdentityAsync(const Model::DeleteIdentityRequest& request, const DeleteIdentityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1026 
1027         /**
1028          * <p>Deletes the specified sending authorization policy for the given identity (an
1029          * email address or a domain). This API returns successfully even if a policy with
1030          * the specified name does not exist.</p>  <p>This API is for the identity
1031          * owner only. If you have not verified the identity, this API will return an
1032          * error.</p>  <p>Sending authorization is a feature that enables an
1033          * identity owner to authorize other senders to use its identities. For information
1034          * about using sending authorization, see the <a
1035          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
1036          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1037          * per second.</p><p><h3>See Also:</h3>   <a
1038          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteIdentityPolicy">AWS
1039          * API Reference</a></p>
1040          */
1041         virtual Model::DeleteIdentityPolicyOutcome DeleteIdentityPolicy(const Model::DeleteIdentityPolicyRequest& request) const;
1042 
1043         /**
1044          * <p>Deletes the specified sending authorization policy for the given identity (an
1045          * email address or a domain). This API returns successfully even if a policy with
1046          * the specified name does not exist.</p>  <p>This API is for the identity
1047          * owner only. If you have not verified the identity, this API will return an
1048          * error.</p>  <p>Sending authorization is a feature that enables an
1049          * identity owner to authorize other senders to use its identities. For information
1050          * about using sending authorization, see the <a
1051          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
1052          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1053          * per second.</p><p><h3>See Also:</h3>   <a
1054          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteIdentityPolicy">AWS
1055          * API Reference</a></p>
1056          *
1057          * returns a future to the operation so that it can be executed in parallel to other requests.
1058          */
1059         virtual Model::DeleteIdentityPolicyOutcomeCallable DeleteIdentityPolicyCallable(const Model::DeleteIdentityPolicyRequest& request) const;
1060 
1061         /**
1062          * <p>Deletes the specified sending authorization policy for the given identity (an
1063          * email address or a domain). This API returns successfully even if a policy with
1064          * the specified name does not exist.</p>  <p>This API is for the identity
1065          * owner only. If you have not verified the identity, this API will return an
1066          * error.</p>  <p>Sending authorization is a feature that enables an
1067          * identity owner to authorize other senders to use its identities. For information
1068          * about using sending authorization, see the <a
1069          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
1070          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1071          * per second.</p><p><h3>See Also:</h3>   <a
1072          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteIdentityPolicy">AWS
1073          * API Reference</a></p>
1074          *
1075          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1076          */
1077         virtual void DeleteIdentityPolicyAsync(const Model::DeleteIdentityPolicyRequest& request, const DeleteIdentityPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1078 
1079         /**
1080          * <p>Deletes the specified IP address filter.</p> <p>For information about
1081          * managing IP address filters, see the <a
1082          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html">Amazon
1083          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1084          * per second.</p><p><h3>See Also:</h3>   <a
1085          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteReceiptFilter">AWS
1086          * API Reference</a></p>
1087          */
1088         virtual Model::DeleteReceiptFilterOutcome DeleteReceiptFilter(const Model::DeleteReceiptFilterRequest& request) const;
1089 
1090         /**
1091          * <p>Deletes the specified IP address filter.</p> <p>For information about
1092          * managing IP address filters, see the <a
1093          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html">Amazon
1094          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1095          * per second.</p><p><h3>See Also:</h3>   <a
1096          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteReceiptFilter">AWS
1097          * API Reference</a></p>
1098          *
1099          * returns a future to the operation so that it can be executed in parallel to other requests.
1100          */
1101         virtual Model::DeleteReceiptFilterOutcomeCallable DeleteReceiptFilterCallable(const Model::DeleteReceiptFilterRequest& request) const;
1102 
1103         /**
1104          * <p>Deletes the specified IP address filter.</p> <p>For information about
1105          * managing IP address filters, see the <a
1106          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html">Amazon
1107          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1108          * per second.</p><p><h3>See Also:</h3>   <a
1109          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteReceiptFilter">AWS
1110          * API Reference</a></p>
1111          *
1112          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1113          */
1114         virtual void DeleteReceiptFilterAsync(const Model::DeleteReceiptFilterRequest& request, const DeleteReceiptFilterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1115 
1116         /**
1117          * <p>Deletes the specified receipt rule.</p> <p>For information about managing
1118          * receipt rules, see the <a
1119          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html">Amazon
1120          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1121          * per second.</p><p><h3>See Also:</h3>   <a
1122          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteReceiptRule">AWS
1123          * API Reference</a></p>
1124          */
1125         virtual Model::DeleteReceiptRuleOutcome DeleteReceiptRule(const Model::DeleteReceiptRuleRequest& request) const;
1126 
1127         /**
1128          * <p>Deletes the specified receipt rule.</p> <p>For information about managing
1129          * receipt rules, see the <a
1130          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html">Amazon
1131          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1132          * per second.</p><p><h3>See Also:</h3>   <a
1133          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteReceiptRule">AWS
1134          * API Reference</a></p>
1135          *
1136          * returns a future to the operation so that it can be executed in parallel to other requests.
1137          */
1138         virtual Model::DeleteReceiptRuleOutcomeCallable DeleteReceiptRuleCallable(const Model::DeleteReceiptRuleRequest& request) const;
1139 
1140         /**
1141          * <p>Deletes the specified receipt rule.</p> <p>For information about managing
1142          * receipt rules, see the <a
1143          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html">Amazon
1144          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1145          * per second.</p><p><h3>See Also:</h3>   <a
1146          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteReceiptRule">AWS
1147          * API Reference</a></p>
1148          *
1149          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1150          */
1151         virtual void DeleteReceiptRuleAsync(const Model::DeleteReceiptRuleRequest& request, const DeleteReceiptRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1152 
1153         /**
1154          * <p>Deletes the specified receipt rule set and all of the receipt rules it
1155          * contains.</p>  <p>The currently active rule set cannot be deleted.</p>
1156          *  <p>For information about managing receipt rule sets, see the <a
1157          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html">Amazon
1158          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1159          * per second.</p><p><h3>See Also:</h3>   <a
1160          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteReceiptRuleSet">AWS
1161          * API Reference</a></p>
1162          */
1163         virtual Model::DeleteReceiptRuleSetOutcome DeleteReceiptRuleSet(const Model::DeleteReceiptRuleSetRequest& request) const;
1164 
1165         /**
1166          * <p>Deletes the specified receipt rule set and all of the receipt rules it
1167          * contains.</p>  <p>The currently active rule set cannot be deleted.</p>
1168          *  <p>For information about managing receipt rule sets, see the <a
1169          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html">Amazon
1170          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1171          * per second.</p><p><h3>See Also:</h3>   <a
1172          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteReceiptRuleSet">AWS
1173          * API Reference</a></p>
1174          *
1175          * returns a future to the operation so that it can be executed in parallel to other requests.
1176          */
1177         virtual Model::DeleteReceiptRuleSetOutcomeCallable DeleteReceiptRuleSetCallable(const Model::DeleteReceiptRuleSetRequest& request) const;
1178 
1179         /**
1180          * <p>Deletes the specified receipt rule set and all of the receipt rules it
1181          * contains.</p>  <p>The currently active rule set cannot be deleted.</p>
1182          *  <p>For information about managing receipt rule sets, see the <a
1183          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html">Amazon
1184          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1185          * per second.</p><p><h3>See Also:</h3>   <a
1186          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteReceiptRuleSet">AWS
1187          * API Reference</a></p>
1188          *
1189          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1190          */
1191         virtual void DeleteReceiptRuleSetAsync(const Model::DeleteReceiptRuleSetRequest& request, const DeleteReceiptRuleSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1192 
1193         /**
1194          * <p>Deletes an email template.</p> <p>You can execute this operation no more than
1195          * once per second.</p><p><h3>See Also:</h3>   <a
1196          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteTemplate">AWS
1197          * API Reference</a></p>
1198          */
1199         virtual Model::DeleteTemplateOutcome DeleteTemplate(const Model::DeleteTemplateRequest& request) const;
1200 
1201         /**
1202          * <p>Deletes an email template.</p> <p>You can execute this operation no more than
1203          * once per second.</p><p><h3>See Also:</h3>   <a
1204          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteTemplate">AWS
1205          * API Reference</a></p>
1206          *
1207          * returns a future to the operation so that it can be executed in parallel to other requests.
1208          */
1209         virtual Model::DeleteTemplateOutcomeCallable DeleteTemplateCallable(const Model::DeleteTemplateRequest& request) const;
1210 
1211         /**
1212          * <p>Deletes an email template.</p> <p>You can execute this operation no more than
1213          * once per second.</p><p><h3>See Also:</h3>   <a
1214          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteTemplate">AWS
1215          * API Reference</a></p>
1216          *
1217          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1218          */
1219         virtual void DeleteTemplateAsync(const Model::DeleteTemplateRequest& request, const DeleteTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1220 
1221         /**
1222          * <p>Deprecated. Use the <code>DeleteIdentity</code> operation to delete email
1223          * addresses and domains.</p><p><h3>See Also:</h3>   <a
1224          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteVerifiedEmailAddress">AWS
1225          * API Reference</a></p>
1226          */
1227         virtual Model::DeleteVerifiedEmailAddressOutcome DeleteVerifiedEmailAddress(const Model::DeleteVerifiedEmailAddressRequest& request) const;
1228 
1229         /**
1230          * <p>Deprecated. Use the <code>DeleteIdentity</code> operation to delete email
1231          * addresses and domains.</p><p><h3>See Also:</h3>   <a
1232          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteVerifiedEmailAddress">AWS
1233          * API Reference</a></p>
1234          *
1235          * returns a future to the operation so that it can be executed in parallel to other requests.
1236          */
1237         virtual Model::DeleteVerifiedEmailAddressOutcomeCallable DeleteVerifiedEmailAddressCallable(const Model::DeleteVerifiedEmailAddressRequest& request) const;
1238 
1239         /**
1240          * <p>Deprecated. Use the <code>DeleteIdentity</code> operation to delete email
1241          * addresses and domains.</p><p><h3>See Also:</h3>   <a
1242          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteVerifiedEmailAddress">AWS
1243          * API Reference</a></p>
1244          *
1245          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1246          */
1247         virtual void DeleteVerifiedEmailAddressAsync(const Model::DeleteVerifiedEmailAddressRequest& request, const DeleteVerifiedEmailAddressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1248 
1249         /**
1250          * <p>Returns the metadata and receipt rules for the receipt rule set that is
1251          * currently active.</p> <p>For information about setting up receipt rule sets, see
1252          * the <a
1253          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html">Amazon
1254          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1255          * per second.</p><p><h3>See Also:</h3>   <a
1256          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeActiveReceiptRuleSet">AWS
1257          * API Reference</a></p>
1258          */
1259         virtual Model::DescribeActiveReceiptRuleSetOutcome DescribeActiveReceiptRuleSet(const Model::DescribeActiveReceiptRuleSetRequest& request) const;
1260 
1261         /**
1262          * <p>Returns the metadata and receipt rules for the receipt rule set that is
1263          * currently active.</p> <p>For information about setting up receipt rule sets, see
1264          * the <a
1265          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html">Amazon
1266          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1267          * per second.</p><p><h3>See Also:</h3>   <a
1268          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeActiveReceiptRuleSet">AWS
1269          * API Reference</a></p>
1270          *
1271          * returns a future to the operation so that it can be executed in parallel to other requests.
1272          */
1273         virtual Model::DescribeActiveReceiptRuleSetOutcomeCallable DescribeActiveReceiptRuleSetCallable(const Model::DescribeActiveReceiptRuleSetRequest& request) const;
1274 
1275         /**
1276          * <p>Returns the metadata and receipt rules for the receipt rule set that is
1277          * currently active.</p> <p>For information about setting up receipt rule sets, see
1278          * the <a
1279          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html">Amazon
1280          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1281          * per second.</p><p><h3>See Also:</h3>   <a
1282          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeActiveReceiptRuleSet">AWS
1283          * API Reference</a></p>
1284          *
1285          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1286          */
1287         virtual void DescribeActiveReceiptRuleSetAsync(const Model::DescribeActiveReceiptRuleSetRequest& request, const DescribeActiveReceiptRuleSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1288 
1289         /**
1290          * <p>Returns the details of the specified configuration set. For information about
1291          * using configuration sets, see the <a
1292          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
1293          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1294          * per second.</p><p><h3>See Also:</h3>   <a
1295          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeConfigurationSet">AWS
1296          * API Reference</a></p>
1297          */
1298         virtual Model::DescribeConfigurationSetOutcome DescribeConfigurationSet(const Model::DescribeConfigurationSetRequest& request) const;
1299 
1300         /**
1301          * <p>Returns the details of the specified configuration set. For information about
1302          * using configuration sets, see the <a
1303          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
1304          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1305          * per second.</p><p><h3>See Also:</h3>   <a
1306          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeConfigurationSet">AWS
1307          * API Reference</a></p>
1308          *
1309          * returns a future to the operation so that it can be executed in parallel to other requests.
1310          */
1311         virtual Model::DescribeConfigurationSetOutcomeCallable DescribeConfigurationSetCallable(const Model::DescribeConfigurationSetRequest& request) const;
1312 
1313         /**
1314          * <p>Returns the details of the specified configuration set. For information about
1315          * using configuration sets, see the <a
1316          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
1317          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1318          * per second.</p><p><h3>See Also:</h3>   <a
1319          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeConfigurationSet">AWS
1320          * API Reference</a></p>
1321          *
1322          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1323          */
1324         virtual void DescribeConfigurationSetAsync(const Model::DescribeConfigurationSetRequest& request, const DescribeConfigurationSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1325 
1326         /**
1327          * <p>Returns the details of the specified receipt rule.</p> <p>For information
1328          * about setting up receipt rules, see the <a
1329          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html">Amazon
1330          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1331          * per second.</p><p><h3>See Also:</h3>   <a
1332          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeReceiptRule">AWS
1333          * API Reference</a></p>
1334          */
1335         virtual Model::DescribeReceiptRuleOutcome DescribeReceiptRule(const Model::DescribeReceiptRuleRequest& request) const;
1336 
1337         /**
1338          * <p>Returns the details of the specified receipt rule.</p> <p>For information
1339          * about setting up receipt rules, see the <a
1340          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html">Amazon
1341          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1342          * per second.</p><p><h3>See Also:</h3>   <a
1343          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeReceiptRule">AWS
1344          * API Reference</a></p>
1345          *
1346          * returns a future to the operation so that it can be executed in parallel to other requests.
1347          */
1348         virtual Model::DescribeReceiptRuleOutcomeCallable DescribeReceiptRuleCallable(const Model::DescribeReceiptRuleRequest& request) const;
1349 
1350         /**
1351          * <p>Returns the details of the specified receipt rule.</p> <p>For information
1352          * about setting up receipt rules, see the <a
1353          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html">Amazon
1354          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1355          * per second.</p><p><h3>See Also:</h3>   <a
1356          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeReceiptRule">AWS
1357          * API Reference</a></p>
1358          *
1359          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1360          */
1361         virtual void DescribeReceiptRuleAsync(const Model::DescribeReceiptRuleRequest& request, const DescribeReceiptRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1362 
1363         /**
1364          * <p>Returns the details of the specified receipt rule set.</p> <p>For information
1365          * about managing receipt rule sets, see the <a
1366          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html">Amazon
1367          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1368          * per second.</p><p><h3>See Also:</h3>   <a
1369          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeReceiptRuleSet">AWS
1370          * API Reference</a></p>
1371          */
1372         virtual Model::DescribeReceiptRuleSetOutcome DescribeReceiptRuleSet(const Model::DescribeReceiptRuleSetRequest& request) const;
1373 
1374         /**
1375          * <p>Returns the details of the specified receipt rule set.</p> <p>For information
1376          * about managing receipt rule sets, see the <a
1377          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html">Amazon
1378          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1379          * per second.</p><p><h3>See Also:</h3>   <a
1380          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeReceiptRuleSet">AWS
1381          * API Reference</a></p>
1382          *
1383          * returns a future to the operation so that it can be executed in parallel to other requests.
1384          */
1385         virtual Model::DescribeReceiptRuleSetOutcomeCallable DescribeReceiptRuleSetCallable(const Model::DescribeReceiptRuleSetRequest& request) const;
1386 
1387         /**
1388          * <p>Returns the details of the specified receipt rule set.</p> <p>For information
1389          * about managing receipt rule sets, see the <a
1390          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html">Amazon
1391          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1392          * per second.</p><p><h3>See Also:</h3>   <a
1393          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeReceiptRuleSet">AWS
1394          * API Reference</a></p>
1395          *
1396          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1397          */
1398         virtual void DescribeReceiptRuleSetAsync(const Model::DescribeReceiptRuleSetRequest& request, const DescribeReceiptRuleSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1399 
1400         /**
1401          * <p>Returns the email sending status of the Amazon SES account for the current
1402          * region.</p> <p>You can execute this operation no more than once per
1403          * second.</p><p><h3>See Also:</h3>   <a
1404          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetAccountSendingEnabled">AWS
1405          * API Reference</a></p>
1406          */
1407         virtual Model::GetAccountSendingEnabledOutcome GetAccountSendingEnabled(const Model::GetAccountSendingEnabledRequest& request) const;
1408 
1409         /**
1410          * <p>Returns the email sending status of the Amazon SES account for the current
1411          * region.</p> <p>You can execute this operation no more than once per
1412          * second.</p><p><h3>See Also:</h3>   <a
1413          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetAccountSendingEnabled">AWS
1414          * API Reference</a></p>
1415          *
1416          * returns a future to the operation so that it can be executed in parallel to other requests.
1417          */
1418         virtual Model::GetAccountSendingEnabledOutcomeCallable GetAccountSendingEnabledCallable(const Model::GetAccountSendingEnabledRequest& request) const;
1419 
1420         /**
1421          * <p>Returns the email sending status of the Amazon SES account for the current
1422          * region.</p> <p>You can execute this operation no more than once per
1423          * second.</p><p><h3>See Also:</h3>   <a
1424          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetAccountSendingEnabled">AWS
1425          * API Reference</a></p>
1426          *
1427          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1428          */
1429         virtual void GetAccountSendingEnabledAsync(const Model::GetAccountSendingEnabledRequest& request, const GetAccountSendingEnabledResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1430 
1431         /**
1432          * <p>Returns the custom email verification template for the template name you
1433          * specify.</p> <p>For more information about custom verification email templates,
1434          * see <a
1435          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
1436          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
1437          * Guide</i>.</p> <p>You can execute this operation no more than once per
1438          * second.</p><p><h3>See Also:</h3>   <a
1439          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetCustomVerificationEmailTemplate">AWS
1440          * API Reference</a></p>
1441          */
1442         virtual Model::GetCustomVerificationEmailTemplateOutcome GetCustomVerificationEmailTemplate(const Model::GetCustomVerificationEmailTemplateRequest& request) const;
1443 
1444         /**
1445          * <p>Returns the custom email verification template for the template name you
1446          * specify.</p> <p>For more information about custom verification email templates,
1447          * see <a
1448          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
1449          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
1450          * Guide</i>.</p> <p>You can execute this operation no more than once per
1451          * second.</p><p><h3>See Also:</h3>   <a
1452          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetCustomVerificationEmailTemplate">AWS
1453          * API Reference</a></p>
1454          *
1455          * returns a future to the operation so that it can be executed in parallel to other requests.
1456          */
1457         virtual Model::GetCustomVerificationEmailTemplateOutcomeCallable GetCustomVerificationEmailTemplateCallable(const Model::GetCustomVerificationEmailTemplateRequest& request) const;
1458 
1459         /**
1460          * <p>Returns the custom email verification template for the template name you
1461          * specify.</p> <p>For more information about custom verification email templates,
1462          * see <a
1463          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
1464          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
1465          * Guide</i>.</p> <p>You can execute this operation no more than once per
1466          * second.</p><p><h3>See Also:</h3>   <a
1467          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetCustomVerificationEmailTemplate">AWS
1468          * API Reference</a></p>
1469          *
1470          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1471          */
1472         virtual void GetCustomVerificationEmailTemplateAsync(const Model::GetCustomVerificationEmailTemplateRequest& request, const GetCustomVerificationEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1473 
1474         /**
1475          * <p>Returns the current status of Easy DKIM signing for an entity. For domain
1476          * name identities, this operation also returns the DKIM tokens that are required
1477          * for Easy DKIM signing, and whether Amazon SES has successfully verified that
1478          * these tokens have been published.</p> <p>This operation takes a list of
1479          * identities as input and returns the following information for each:</p> <ul>
1480          * <li> <p>Whether Easy DKIM signing is enabled or disabled.</p> </li> <li> <p>A
1481          * set of DKIM tokens that represent the identity. If the identity is an email
1482          * address, the tokens represent the domain of that address.</p> </li> <li>
1483          * <p>Whether Amazon SES has successfully verified the DKIM tokens published in the
1484          * domain's DNS. This information is only returned for domain name identities, not
1485          * for email addresses.</p> </li> </ul> <p>This operation is throttled at one
1486          * request per second and can only get DKIM attributes for up to 100 identities at
1487          * a time.</p> <p>For more information about creating DNS records using DKIM
1488          * tokens, go to the <a
1489          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html">Amazon
1490          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
1491          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityDkimAttributes">AWS
1492          * API Reference</a></p>
1493          */
1494         virtual Model::GetIdentityDkimAttributesOutcome GetIdentityDkimAttributes(const Model::GetIdentityDkimAttributesRequest& request) const;
1495 
1496         /**
1497          * <p>Returns the current status of Easy DKIM signing for an entity. For domain
1498          * name identities, this operation also returns the DKIM tokens that are required
1499          * for Easy DKIM signing, and whether Amazon SES has successfully verified that
1500          * these tokens have been published.</p> <p>This operation takes a list of
1501          * identities as input and returns the following information for each:</p> <ul>
1502          * <li> <p>Whether Easy DKIM signing is enabled or disabled.</p> </li> <li> <p>A
1503          * set of DKIM tokens that represent the identity. If the identity is an email
1504          * address, the tokens represent the domain of that address.</p> </li> <li>
1505          * <p>Whether Amazon SES has successfully verified the DKIM tokens published in the
1506          * domain's DNS. This information is only returned for domain name identities, not
1507          * for email addresses.</p> </li> </ul> <p>This operation is throttled at one
1508          * request per second and can only get DKIM attributes for up to 100 identities at
1509          * a time.</p> <p>For more information about creating DNS records using DKIM
1510          * tokens, go to the <a
1511          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html">Amazon
1512          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
1513          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityDkimAttributes">AWS
1514          * API Reference</a></p>
1515          *
1516          * returns a future to the operation so that it can be executed in parallel to other requests.
1517          */
1518         virtual Model::GetIdentityDkimAttributesOutcomeCallable GetIdentityDkimAttributesCallable(const Model::GetIdentityDkimAttributesRequest& request) const;
1519 
1520         /**
1521          * <p>Returns the current status of Easy DKIM signing for an entity. For domain
1522          * name identities, this operation also returns the DKIM tokens that are required
1523          * for Easy DKIM signing, and whether Amazon SES has successfully verified that
1524          * these tokens have been published.</p> <p>This operation takes a list of
1525          * identities as input and returns the following information for each:</p> <ul>
1526          * <li> <p>Whether Easy DKIM signing is enabled or disabled.</p> </li> <li> <p>A
1527          * set of DKIM tokens that represent the identity. If the identity is an email
1528          * address, the tokens represent the domain of that address.</p> </li> <li>
1529          * <p>Whether Amazon SES has successfully verified the DKIM tokens published in the
1530          * domain's DNS. This information is only returned for domain name identities, not
1531          * for email addresses.</p> </li> </ul> <p>This operation is throttled at one
1532          * request per second and can only get DKIM attributes for up to 100 identities at
1533          * a time.</p> <p>For more information about creating DNS records using DKIM
1534          * tokens, go to the <a
1535          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html">Amazon
1536          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
1537          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityDkimAttributes">AWS
1538          * API Reference</a></p>
1539          *
1540          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1541          */
1542         virtual void GetIdentityDkimAttributesAsync(const Model::GetIdentityDkimAttributesRequest& request, const GetIdentityDkimAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1543 
1544         /**
1545          * <p>Returns the custom MAIL FROM attributes for a list of identities (email
1546          * addresses : domains).</p> <p>This operation is throttled at one request per
1547          * second and can only get custom MAIL FROM attributes for up to 100 identities at
1548          * a time.</p><p><h3>See Also:</h3>   <a
1549          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityMailFromDomainAttributes">AWS
1550          * API Reference</a></p>
1551          */
1552         virtual Model::GetIdentityMailFromDomainAttributesOutcome GetIdentityMailFromDomainAttributes(const Model::GetIdentityMailFromDomainAttributesRequest& request) const;
1553 
1554         /**
1555          * <p>Returns the custom MAIL FROM attributes for a list of identities (email
1556          * addresses : domains).</p> <p>This operation is throttled at one request per
1557          * second and can only get custom MAIL FROM attributes for up to 100 identities at
1558          * a time.</p><p><h3>See Also:</h3>   <a
1559          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityMailFromDomainAttributes">AWS
1560          * API Reference</a></p>
1561          *
1562          * returns a future to the operation so that it can be executed in parallel to other requests.
1563          */
1564         virtual Model::GetIdentityMailFromDomainAttributesOutcomeCallable GetIdentityMailFromDomainAttributesCallable(const Model::GetIdentityMailFromDomainAttributesRequest& request) const;
1565 
1566         /**
1567          * <p>Returns the custom MAIL FROM attributes for a list of identities (email
1568          * addresses : domains).</p> <p>This operation is throttled at one request per
1569          * second and can only get custom MAIL FROM attributes for up to 100 identities at
1570          * a time.</p><p><h3>See Also:</h3>   <a
1571          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityMailFromDomainAttributes">AWS
1572          * API Reference</a></p>
1573          *
1574          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1575          */
1576         virtual void GetIdentityMailFromDomainAttributesAsync(const Model::GetIdentityMailFromDomainAttributesRequest& request, const GetIdentityMailFromDomainAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1577 
1578         /**
1579          * <p>Given a list of verified identities (email addresses and/or domains), returns
1580          * a structure describing identity notification attributes.</p> <p>This operation
1581          * is throttled at one request per second and can only get notification attributes
1582          * for up to 100 identities at a time.</p> <p>For more information about using
1583          * notifications with Amazon SES, see the <a
1584          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html">Amazon
1585          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
1586          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityNotificationAttributes">AWS
1587          * API Reference</a></p>
1588          */
1589         virtual Model::GetIdentityNotificationAttributesOutcome GetIdentityNotificationAttributes(const Model::GetIdentityNotificationAttributesRequest& request) const;
1590 
1591         /**
1592          * <p>Given a list of verified identities (email addresses and/or domains), returns
1593          * a structure describing identity notification attributes.</p> <p>This operation
1594          * is throttled at one request per second and can only get notification attributes
1595          * for up to 100 identities at a time.</p> <p>For more information about using
1596          * notifications with Amazon SES, see the <a
1597          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html">Amazon
1598          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
1599          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityNotificationAttributes">AWS
1600          * API Reference</a></p>
1601          *
1602          * returns a future to the operation so that it can be executed in parallel to other requests.
1603          */
1604         virtual Model::GetIdentityNotificationAttributesOutcomeCallable GetIdentityNotificationAttributesCallable(const Model::GetIdentityNotificationAttributesRequest& request) const;
1605 
1606         /**
1607          * <p>Given a list of verified identities (email addresses and/or domains), returns
1608          * a structure describing identity notification attributes.</p> <p>This operation
1609          * is throttled at one request per second and can only get notification attributes
1610          * for up to 100 identities at a time.</p> <p>For more information about using
1611          * notifications with Amazon SES, see the <a
1612          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html">Amazon
1613          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
1614          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityNotificationAttributes">AWS
1615          * API Reference</a></p>
1616          *
1617          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1618          */
1619         virtual void GetIdentityNotificationAttributesAsync(const Model::GetIdentityNotificationAttributesRequest& request, const GetIdentityNotificationAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1620 
1621         /**
1622          * <p>Returns the requested sending authorization policies for the given identity
1623          * (an email address or a domain). The policies are returned as a map of policy
1624          * names to policy contents. You can retrieve a maximum of 20 policies at a
1625          * time.</p>  <p>This API is for the identity owner only. If you have not
1626          * verified the identity, this API will return an error.</p>  <p>Sending
1627          * authorization is a feature that enables an identity owner to authorize other
1628          * senders to use its identities. For information about using sending
1629          * authorization, see the <a
1630          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
1631          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1632          * per second.</p><p><h3>See Also:</h3>   <a
1633          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityPolicies">AWS
1634          * API Reference</a></p>
1635          */
1636         virtual Model::GetIdentityPoliciesOutcome GetIdentityPolicies(const Model::GetIdentityPoliciesRequest& request) const;
1637 
1638         /**
1639          * <p>Returns the requested sending authorization policies for the given identity
1640          * (an email address or a domain). The policies are returned as a map of policy
1641          * names to policy contents. You can retrieve a maximum of 20 policies at a
1642          * time.</p>  <p>This API is for the identity owner only. If you have not
1643          * verified the identity, this API will return an error.</p>  <p>Sending
1644          * authorization is a feature that enables an identity owner to authorize other
1645          * senders to use its identities. For information about using sending
1646          * authorization, see the <a
1647          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
1648          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1649          * per second.</p><p><h3>See Also:</h3>   <a
1650          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityPolicies">AWS
1651          * API Reference</a></p>
1652          *
1653          * returns a future to the operation so that it can be executed in parallel to other requests.
1654          */
1655         virtual Model::GetIdentityPoliciesOutcomeCallable GetIdentityPoliciesCallable(const Model::GetIdentityPoliciesRequest& request) const;
1656 
1657         /**
1658          * <p>Returns the requested sending authorization policies for the given identity
1659          * (an email address or a domain). The policies are returned as a map of policy
1660          * names to policy contents. You can retrieve a maximum of 20 policies at a
1661          * time.</p>  <p>This API is for the identity owner only. If you have not
1662          * verified the identity, this API will return an error.</p>  <p>Sending
1663          * authorization is a feature that enables an identity owner to authorize other
1664          * senders to use its identities. For information about using sending
1665          * authorization, see the <a
1666          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
1667          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1668          * per second.</p><p><h3>See Also:</h3>   <a
1669          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityPolicies">AWS
1670          * API Reference</a></p>
1671          *
1672          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1673          */
1674         virtual void GetIdentityPoliciesAsync(const Model::GetIdentityPoliciesRequest& request, const GetIdentityPoliciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1675 
1676         /**
1677          * <p>Given a list of identities (email addresses and/or domains), returns the
1678          * verification status and (for domain identities) the verification token for each
1679          * identity.</p> <p>The verification status of an email address is "Pending" until
1680          * the email address owner clicks the link within the verification email that
1681          * Amazon SES sent to that address. If the email address owner clicks the link
1682          * within 24 hours, the verification status of the email address changes to
1683          * "Success". If the link is not clicked within 24 hours, the verification status
1684          * changes to "Failed." In that case, if you still want to verify the email
1685          * address, you must restart the verification process from the beginning.</p>
1686          * <p>For domain identities, the domain's verification status is "Pending" as
1687          * Amazon SES searches for the required TXT record in the DNS settings of the
1688          * domain. When Amazon SES detects the record, the domain's verification status
1689          * changes to "Success". If Amazon SES is unable to detect the record within 72
1690          * hours, the domain's verification status changes to "Failed." In that case, if
1691          * you still want to verify the domain, you must restart the verification process
1692          * from the beginning.</p> <p>This operation is throttled at one request per second
1693          * and can only get verification attributes for up to 100 identities at a
1694          * time.</p><p><h3>See Also:</h3>   <a
1695          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityVerificationAttributes">AWS
1696          * API Reference</a></p>
1697          */
1698         virtual Model::GetIdentityVerificationAttributesOutcome GetIdentityVerificationAttributes(const Model::GetIdentityVerificationAttributesRequest& request) const;
1699 
1700         /**
1701          * <p>Given a list of identities (email addresses and/or domains), returns the
1702          * verification status and (for domain identities) the verification token for each
1703          * identity.</p> <p>The verification status of an email address is "Pending" until
1704          * the email address owner clicks the link within the verification email that
1705          * Amazon SES sent to that address. If the email address owner clicks the link
1706          * within 24 hours, the verification status of the email address changes to
1707          * "Success". If the link is not clicked within 24 hours, the verification status
1708          * changes to "Failed." In that case, if you still want to verify the email
1709          * address, you must restart the verification process from the beginning.</p>
1710          * <p>For domain identities, the domain's verification status is "Pending" as
1711          * Amazon SES searches for the required TXT record in the DNS settings of the
1712          * domain. When Amazon SES detects the record, the domain's verification status
1713          * changes to "Success". If Amazon SES is unable to detect the record within 72
1714          * hours, the domain's verification status changes to "Failed." In that case, if
1715          * you still want to verify the domain, you must restart the verification process
1716          * from the beginning.</p> <p>This operation is throttled at one request per second
1717          * and can only get verification attributes for up to 100 identities at a
1718          * time.</p><p><h3>See Also:</h3>   <a
1719          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityVerificationAttributes">AWS
1720          * API Reference</a></p>
1721          *
1722          * returns a future to the operation so that it can be executed in parallel to other requests.
1723          */
1724         virtual Model::GetIdentityVerificationAttributesOutcomeCallable GetIdentityVerificationAttributesCallable(const Model::GetIdentityVerificationAttributesRequest& request) const;
1725 
1726         /**
1727          * <p>Given a list of identities (email addresses and/or domains), returns the
1728          * verification status and (for domain identities) the verification token for each
1729          * identity.</p> <p>The verification status of an email address is "Pending" until
1730          * the email address owner clicks the link within the verification email that
1731          * Amazon SES sent to that address. If the email address owner clicks the link
1732          * within 24 hours, the verification status of the email address changes to
1733          * "Success". If the link is not clicked within 24 hours, the verification status
1734          * changes to "Failed." In that case, if you still want to verify the email
1735          * address, you must restart the verification process from the beginning.</p>
1736          * <p>For domain identities, the domain's verification status is "Pending" as
1737          * Amazon SES searches for the required TXT record in the DNS settings of the
1738          * domain. When Amazon SES detects the record, the domain's verification status
1739          * changes to "Success". If Amazon SES is unable to detect the record within 72
1740          * hours, the domain's verification status changes to "Failed." In that case, if
1741          * you still want to verify the domain, you must restart the verification process
1742          * from the beginning.</p> <p>This operation is throttled at one request per second
1743          * and can only get verification attributes for up to 100 identities at a
1744          * time.</p><p><h3>See Also:</h3>   <a
1745          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityVerificationAttributes">AWS
1746          * API Reference</a></p>
1747          *
1748          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1749          */
1750         virtual void GetIdentityVerificationAttributesAsync(const Model::GetIdentityVerificationAttributesRequest& request, const GetIdentityVerificationAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1751 
1752         /**
1753          * <p>Provides the sending limits for the Amazon SES account. </p> <p>You can
1754          * execute this operation no more than once per second.</p><p><h3>See Also:</h3>
1755          * <a
1756          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetSendQuota">AWS
1757          * API Reference</a></p>
1758          */
1759         virtual Model::GetSendQuotaOutcome GetSendQuota(const Model::GetSendQuotaRequest& request) const;
1760 
1761         /**
1762          * <p>Provides the sending limits for the Amazon SES account. </p> <p>You can
1763          * execute this operation no more than once per second.</p><p><h3>See Also:</h3>
1764          * <a
1765          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetSendQuota">AWS
1766          * API Reference</a></p>
1767          *
1768          * returns a future to the operation so that it can be executed in parallel to other requests.
1769          */
1770         virtual Model::GetSendQuotaOutcomeCallable GetSendQuotaCallable(const Model::GetSendQuotaRequest& request) const;
1771 
1772         /**
1773          * <p>Provides the sending limits for the Amazon SES account. </p> <p>You can
1774          * execute this operation no more than once per second.</p><p><h3>See Also:</h3>
1775          * <a
1776          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetSendQuota">AWS
1777          * API Reference</a></p>
1778          *
1779          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1780          */
1781         virtual void GetSendQuotaAsync(const Model::GetSendQuotaRequest& request, const GetSendQuotaResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1782 
1783         /**
1784          * <p>Provides sending statistics for the current AWS Region. The result is a list
1785          * of data points, representing the last two weeks of sending activity. Each data
1786          * point in the list contains statistics for a 15-minute period of time.</p> <p>You
1787          * can execute this operation no more than once per second.</p><p><h3>See
1788          * Also:</h3>   <a
1789          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetSendStatistics">AWS
1790          * API Reference</a></p>
1791          */
1792         virtual Model::GetSendStatisticsOutcome GetSendStatistics(const Model::GetSendStatisticsRequest& request) const;
1793 
1794         /**
1795          * <p>Provides sending statistics for the current AWS Region. The result is a list
1796          * of data points, representing the last two weeks of sending activity. Each data
1797          * point in the list contains statistics for a 15-minute period of time.</p> <p>You
1798          * can execute this operation no more than once per second.</p><p><h3>See
1799          * Also:</h3>   <a
1800          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetSendStatistics">AWS
1801          * API Reference</a></p>
1802          *
1803          * returns a future to the operation so that it can be executed in parallel to other requests.
1804          */
1805         virtual Model::GetSendStatisticsOutcomeCallable GetSendStatisticsCallable(const Model::GetSendStatisticsRequest& request) const;
1806 
1807         /**
1808          * <p>Provides sending statistics for the current AWS Region. The result is a list
1809          * of data points, representing the last two weeks of sending activity. Each data
1810          * point in the list contains statistics for a 15-minute period of time.</p> <p>You
1811          * can execute this operation no more than once per second.</p><p><h3>See
1812          * Also:</h3>   <a
1813          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetSendStatistics">AWS
1814          * API Reference</a></p>
1815          *
1816          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1817          */
1818         virtual void GetSendStatisticsAsync(const Model::GetSendStatisticsRequest& request, const GetSendStatisticsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1819 
1820         /**
1821          * <p>Displays the template object (which includes the Subject line, HTML part and
1822          * text part) for the template you specify.</p> <p>You can execute this operation
1823          * no more than once per second.</p><p><h3>See Also:</h3>   <a
1824          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetTemplate">AWS
1825          * API Reference</a></p>
1826          */
1827         virtual Model::GetTemplateOutcome GetTemplate(const Model::GetTemplateRequest& request) const;
1828 
1829         /**
1830          * <p>Displays the template object (which includes the Subject line, HTML part and
1831          * text part) for the template you specify.</p> <p>You can execute this operation
1832          * no more than once per second.</p><p><h3>See Also:</h3>   <a
1833          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetTemplate">AWS
1834          * API Reference</a></p>
1835          *
1836          * returns a future to the operation so that it can be executed in parallel to other requests.
1837          */
1838         virtual Model::GetTemplateOutcomeCallable GetTemplateCallable(const Model::GetTemplateRequest& request) const;
1839 
1840         /**
1841          * <p>Displays the template object (which includes the Subject line, HTML part and
1842          * text part) for the template you specify.</p> <p>You can execute this operation
1843          * no more than once per second.</p><p><h3>See Also:</h3>   <a
1844          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetTemplate">AWS
1845          * API Reference</a></p>
1846          *
1847          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1848          */
1849         virtual void GetTemplateAsync(const Model::GetTemplateRequest& request, const GetTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1850 
1851         /**
1852          * <p>Provides a list of the configuration sets associated with your Amazon SES
1853          * account in the current AWS Region. For information about using configuration
1854          * sets, see <a
1855          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Monitoring
1856          * Your Amazon SES Sending Activity</a> in the <i>Amazon SES Developer Guide.</i>
1857          * </p> <p>You can execute this operation no more than once per second. This
1858          * operation will return up to 1,000 configuration sets each time it is run. If
1859          * your Amazon SES account has more than 1,000 configuration sets, this operation
1860          * will also return a NextToken element. You can then execute the
1861          * <code>ListConfigurationSets</code> operation again, passing the
1862          * <code>NextToken</code> parameter and the value of the NextToken element to
1863          * retrieve additional results.</p><p><h3>See Also:</h3>   <a
1864          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListConfigurationSets">AWS
1865          * API Reference</a></p>
1866          */
1867         virtual Model::ListConfigurationSetsOutcome ListConfigurationSets(const Model::ListConfigurationSetsRequest& request) const;
1868 
1869         /**
1870          * <p>Provides a list of the configuration sets associated with your Amazon SES
1871          * account in the current AWS Region. For information about using configuration
1872          * sets, see <a
1873          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Monitoring
1874          * Your Amazon SES Sending Activity</a> in the <i>Amazon SES Developer Guide.</i>
1875          * </p> <p>You can execute this operation no more than once per second. This
1876          * operation will return up to 1,000 configuration sets each time it is run. If
1877          * your Amazon SES account has more than 1,000 configuration sets, this operation
1878          * will also return a NextToken element. You can then execute the
1879          * <code>ListConfigurationSets</code> operation again, passing the
1880          * <code>NextToken</code> parameter and the value of the NextToken element to
1881          * retrieve additional results.</p><p><h3>See Also:</h3>   <a
1882          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListConfigurationSets">AWS
1883          * API Reference</a></p>
1884          *
1885          * returns a future to the operation so that it can be executed in parallel to other requests.
1886          */
1887         virtual Model::ListConfigurationSetsOutcomeCallable ListConfigurationSetsCallable(const Model::ListConfigurationSetsRequest& request) const;
1888 
1889         /**
1890          * <p>Provides a list of the configuration sets associated with your Amazon SES
1891          * account in the current AWS Region. For information about using configuration
1892          * sets, see <a
1893          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Monitoring
1894          * Your Amazon SES Sending Activity</a> in the <i>Amazon SES Developer Guide.</i>
1895          * </p> <p>You can execute this operation no more than once per second. This
1896          * operation will return up to 1,000 configuration sets each time it is run. If
1897          * your Amazon SES account has more than 1,000 configuration sets, this operation
1898          * will also return a NextToken element. You can then execute the
1899          * <code>ListConfigurationSets</code> operation again, passing the
1900          * <code>NextToken</code> parameter and the value of the NextToken element to
1901          * retrieve additional results.</p><p><h3>See Also:</h3>   <a
1902          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListConfigurationSets">AWS
1903          * API Reference</a></p>
1904          *
1905          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1906          */
1907         virtual void ListConfigurationSetsAsync(const Model::ListConfigurationSetsRequest& request, const ListConfigurationSetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1908 
1909         /**
1910          * <p>Lists the existing custom verification email templates for your account in
1911          * the current AWS Region.</p> <p>For more information about custom verification
1912          * email templates, see <a
1913          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
1914          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
1915          * Guide</i>.</p> <p>You can execute this operation no more than once per
1916          * second.</p><p><h3>See Also:</h3>   <a
1917          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListCustomVerificationEmailTemplates">AWS
1918          * API Reference</a></p>
1919          */
1920         virtual Model::ListCustomVerificationEmailTemplatesOutcome ListCustomVerificationEmailTemplates(const Model::ListCustomVerificationEmailTemplatesRequest& request) const;
1921 
1922         /**
1923          * <p>Lists the existing custom verification email templates for your account in
1924          * the current AWS Region.</p> <p>For more information about custom verification
1925          * email templates, see <a
1926          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
1927          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
1928          * Guide</i>.</p> <p>You can execute this operation no more than once per
1929          * second.</p><p><h3>See Also:</h3>   <a
1930          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListCustomVerificationEmailTemplates">AWS
1931          * API Reference</a></p>
1932          *
1933          * returns a future to the operation so that it can be executed in parallel to other requests.
1934          */
1935         virtual Model::ListCustomVerificationEmailTemplatesOutcomeCallable ListCustomVerificationEmailTemplatesCallable(const Model::ListCustomVerificationEmailTemplatesRequest& request) const;
1936 
1937         /**
1938          * <p>Lists the existing custom verification email templates for your account in
1939          * the current AWS Region.</p> <p>For more information about custom verification
1940          * email templates, see <a
1941          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
1942          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
1943          * Guide</i>.</p> <p>You can execute this operation no more than once per
1944          * second.</p><p><h3>See Also:</h3>   <a
1945          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListCustomVerificationEmailTemplates">AWS
1946          * API Reference</a></p>
1947          *
1948          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1949          */
1950         virtual void ListCustomVerificationEmailTemplatesAsync(const Model::ListCustomVerificationEmailTemplatesRequest& request, const ListCustomVerificationEmailTemplatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1951 
1952         /**
1953          * <p>Returns a list containing all of the identities (email addresses and domains)
1954          * for your AWS account in the current AWS Region, regardless of verification
1955          * status.</p> <p>You can execute this operation no more than once per
1956          * second.</p><p><h3>See Also:</h3>   <a
1957          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListIdentities">AWS
1958          * API Reference</a></p>
1959          */
1960         virtual Model::ListIdentitiesOutcome ListIdentities(const Model::ListIdentitiesRequest& request) const;
1961 
1962         /**
1963          * <p>Returns a list containing all of the identities (email addresses and domains)
1964          * for your AWS account in the current AWS Region, regardless of verification
1965          * status.</p> <p>You can execute this operation no more than once per
1966          * second.</p><p><h3>See Also:</h3>   <a
1967          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListIdentities">AWS
1968          * API Reference</a></p>
1969          *
1970          * returns a future to the operation so that it can be executed in parallel to other requests.
1971          */
1972         virtual Model::ListIdentitiesOutcomeCallable ListIdentitiesCallable(const Model::ListIdentitiesRequest& request) const;
1973 
1974         /**
1975          * <p>Returns a list containing all of the identities (email addresses and domains)
1976          * for your AWS account in the current AWS Region, regardless of verification
1977          * status.</p> <p>You can execute this operation no more than once per
1978          * second.</p><p><h3>See Also:</h3>   <a
1979          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListIdentities">AWS
1980          * API Reference</a></p>
1981          *
1982          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1983          */
1984         virtual void ListIdentitiesAsync(const Model::ListIdentitiesRequest& request, const ListIdentitiesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1985 
1986         /**
1987          * <p>Returns a list of sending authorization policies that are attached to the
1988          * given identity (an email address or a domain). This API returns only a list. If
1989          * you want the actual policy content, you can use
1990          * <code>GetIdentityPolicies</code>.</p>  <p>This API is for the identity
1991          * owner only. If you have not verified the identity, this API will return an
1992          * error.</p>  <p>Sending authorization is a feature that enables an
1993          * identity owner to authorize other senders to use its identities. For information
1994          * about using sending authorization, see the <a
1995          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
1996          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
1997          * per second.</p><p><h3>See Also:</h3>   <a
1998          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListIdentityPolicies">AWS
1999          * API Reference</a></p>
2000          */
2001         virtual Model::ListIdentityPoliciesOutcome ListIdentityPolicies(const Model::ListIdentityPoliciesRequest& request) const;
2002 
2003         /**
2004          * <p>Returns a list of sending authorization policies that are attached to the
2005          * given identity (an email address or a domain). This API returns only a list. If
2006          * you want the actual policy content, you can use
2007          * <code>GetIdentityPolicies</code>.</p>  <p>This API is for the identity
2008          * owner only. If you have not verified the identity, this API will return an
2009          * error.</p>  <p>Sending authorization is a feature that enables an
2010          * identity owner to authorize other senders to use its identities. For information
2011          * about using sending authorization, see the <a
2012          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
2013          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2014          * per second.</p><p><h3>See Also:</h3>   <a
2015          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListIdentityPolicies">AWS
2016          * API Reference</a></p>
2017          *
2018          * returns a future to the operation so that it can be executed in parallel to other requests.
2019          */
2020         virtual Model::ListIdentityPoliciesOutcomeCallable ListIdentityPoliciesCallable(const Model::ListIdentityPoliciesRequest& request) const;
2021 
2022         /**
2023          * <p>Returns a list of sending authorization policies that are attached to the
2024          * given identity (an email address or a domain). This API returns only a list. If
2025          * you want the actual policy content, you can use
2026          * <code>GetIdentityPolicies</code>.</p>  <p>This API is for the identity
2027          * owner only. If you have not verified the identity, this API will return an
2028          * error.</p>  <p>Sending authorization is a feature that enables an
2029          * identity owner to authorize other senders to use its identities. For information
2030          * about using sending authorization, see the <a
2031          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
2032          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2033          * per second.</p><p><h3>See Also:</h3>   <a
2034          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListIdentityPolicies">AWS
2035          * API Reference</a></p>
2036          *
2037          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2038          */
2039         virtual void ListIdentityPoliciesAsync(const Model::ListIdentityPoliciesRequest& request, const ListIdentityPoliciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2040 
2041         /**
2042          * <p>Lists the IP address filters associated with your AWS account in the current
2043          * AWS Region.</p> <p>For information about managing IP address filters, see the <a
2044          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html">Amazon
2045          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2046          * per second.</p><p><h3>See Also:</h3>   <a
2047          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListReceiptFilters">AWS
2048          * API Reference</a></p>
2049          */
2050         virtual Model::ListReceiptFiltersOutcome ListReceiptFilters(const Model::ListReceiptFiltersRequest& request) const;
2051 
2052         /**
2053          * <p>Lists the IP address filters associated with your AWS account in the current
2054          * AWS Region.</p> <p>For information about managing IP address filters, see the <a
2055          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html">Amazon
2056          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2057          * per second.</p><p><h3>See Also:</h3>   <a
2058          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListReceiptFilters">AWS
2059          * API Reference</a></p>
2060          *
2061          * returns a future to the operation so that it can be executed in parallel to other requests.
2062          */
2063         virtual Model::ListReceiptFiltersOutcomeCallable ListReceiptFiltersCallable(const Model::ListReceiptFiltersRequest& request) const;
2064 
2065         /**
2066          * <p>Lists the IP address filters associated with your AWS account in the current
2067          * AWS Region.</p> <p>For information about managing IP address filters, see the <a
2068          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html">Amazon
2069          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2070          * per second.</p><p><h3>See Also:</h3>   <a
2071          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListReceiptFilters">AWS
2072          * API Reference</a></p>
2073          *
2074          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2075          */
2076         virtual void ListReceiptFiltersAsync(const Model::ListReceiptFiltersRequest& request, const ListReceiptFiltersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2077 
2078         /**
2079          * <p>Lists the receipt rule sets that exist under your AWS account in the current
2080          * AWS Region. If there are additional receipt rule sets to be retrieved, you will
2081          * receive a <code>NextToken</code> that you can provide to the next call to
2082          * <code>ListReceiptRuleSets</code> to retrieve the additional entries.</p> <p>For
2083          * information about managing receipt rule sets, see the <a
2084          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html">Amazon
2085          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2086          * per second.</p><p><h3>See Also:</h3>   <a
2087          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListReceiptRuleSets">AWS
2088          * API Reference</a></p>
2089          */
2090         virtual Model::ListReceiptRuleSetsOutcome ListReceiptRuleSets(const Model::ListReceiptRuleSetsRequest& request) const;
2091 
2092         /**
2093          * <p>Lists the receipt rule sets that exist under your AWS account in the current
2094          * AWS Region. If there are additional receipt rule sets to be retrieved, you will
2095          * receive a <code>NextToken</code> that you can provide to the next call to
2096          * <code>ListReceiptRuleSets</code> to retrieve the additional entries.</p> <p>For
2097          * information about managing receipt rule sets, see the <a
2098          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html">Amazon
2099          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2100          * per second.</p><p><h3>See Also:</h3>   <a
2101          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListReceiptRuleSets">AWS
2102          * API Reference</a></p>
2103          *
2104          * returns a future to the operation so that it can be executed in parallel to other requests.
2105          */
2106         virtual Model::ListReceiptRuleSetsOutcomeCallable ListReceiptRuleSetsCallable(const Model::ListReceiptRuleSetsRequest& request) const;
2107 
2108         /**
2109          * <p>Lists the receipt rule sets that exist under your AWS account in the current
2110          * AWS Region. If there are additional receipt rule sets to be retrieved, you will
2111          * receive a <code>NextToken</code> that you can provide to the next call to
2112          * <code>ListReceiptRuleSets</code> to retrieve the additional entries.</p> <p>For
2113          * information about managing receipt rule sets, see the <a
2114          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html">Amazon
2115          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2116          * per second.</p><p><h3>See Also:</h3>   <a
2117          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListReceiptRuleSets">AWS
2118          * API Reference</a></p>
2119          *
2120          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2121          */
2122         virtual void ListReceiptRuleSetsAsync(const Model::ListReceiptRuleSetsRequest& request, const ListReceiptRuleSetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2123 
2124         /**
2125          * <p>Lists the email templates present in your Amazon SES account in the current
2126          * AWS Region.</p> <p>You can execute this operation no more than once per
2127          * second.</p><p><h3>See Also:</h3>   <a
2128          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListTemplates">AWS
2129          * API Reference</a></p>
2130          */
2131         virtual Model::ListTemplatesOutcome ListTemplates(const Model::ListTemplatesRequest& request) const;
2132 
2133         /**
2134          * <p>Lists the email templates present in your Amazon SES account in the current
2135          * AWS Region.</p> <p>You can execute this operation no more than once per
2136          * second.</p><p><h3>See Also:</h3>   <a
2137          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListTemplates">AWS
2138          * API Reference</a></p>
2139          *
2140          * returns a future to the operation so that it can be executed in parallel to other requests.
2141          */
2142         virtual Model::ListTemplatesOutcomeCallable ListTemplatesCallable(const Model::ListTemplatesRequest& request) const;
2143 
2144         /**
2145          * <p>Lists the email templates present in your Amazon SES account in the current
2146          * AWS Region.</p> <p>You can execute this operation no more than once per
2147          * second.</p><p><h3>See Also:</h3>   <a
2148          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListTemplates">AWS
2149          * API Reference</a></p>
2150          *
2151          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2152          */
2153         virtual void ListTemplatesAsync(const Model::ListTemplatesRequest& request, const ListTemplatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2154 
2155         /**
2156          * <p>Deprecated. Use the <code>ListIdentities</code> operation to list the email
2157          * addresses and domains associated with your account.</p><p><h3>See Also:</h3>
2158          * <a
2159          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListVerifiedEmailAddresses">AWS
2160          * API Reference</a></p>
2161          */
2162         virtual Model::ListVerifiedEmailAddressesOutcome ListVerifiedEmailAddresses(const Model::ListVerifiedEmailAddressesRequest& request) const;
2163 
2164         /**
2165          * <p>Deprecated. Use the <code>ListIdentities</code> operation to list the email
2166          * addresses and domains associated with your account.</p><p><h3>See Also:</h3>
2167          * <a
2168          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListVerifiedEmailAddresses">AWS
2169          * API Reference</a></p>
2170          *
2171          * returns a future to the operation so that it can be executed in parallel to other requests.
2172          */
2173         virtual Model::ListVerifiedEmailAddressesOutcomeCallable ListVerifiedEmailAddressesCallable(const Model::ListVerifiedEmailAddressesRequest& request) const;
2174 
2175         /**
2176          * <p>Deprecated. Use the <code>ListIdentities</code> operation to list the email
2177          * addresses and domains associated with your account.</p><p><h3>See Also:</h3>
2178          * <a
2179          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListVerifiedEmailAddresses">AWS
2180          * API Reference</a></p>
2181          *
2182          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2183          */
2184         virtual void ListVerifiedEmailAddressesAsync(const Model::ListVerifiedEmailAddressesRequest& request, const ListVerifiedEmailAddressesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2185 
2186         /**
2187          * <p>Adds or updates the delivery options for a configuration set.</p><p><h3>See
2188          * Also:</h3>   <a
2189          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/PutConfigurationSetDeliveryOptions">AWS
2190          * API Reference</a></p>
2191          */
2192         virtual Model::PutConfigurationSetDeliveryOptionsOutcome PutConfigurationSetDeliveryOptions(const Model::PutConfigurationSetDeliveryOptionsRequest& request) const;
2193 
2194         /**
2195          * <p>Adds or updates the delivery options for a configuration set.</p><p><h3>See
2196          * Also:</h3>   <a
2197          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/PutConfigurationSetDeliveryOptions">AWS
2198          * API Reference</a></p>
2199          *
2200          * returns a future to the operation so that it can be executed in parallel to other requests.
2201          */
2202         virtual Model::PutConfigurationSetDeliveryOptionsOutcomeCallable PutConfigurationSetDeliveryOptionsCallable(const Model::PutConfigurationSetDeliveryOptionsRequest& request) const;
2203 
2204         /**
2205          * <p>Adds or updates the delivery options for a configuration set.</p><p><h3>See
2206          * Also:</h3>   <a
2207          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/PutConfigurationSetDeliveryOptions">AWS
2208          * API Reference</a></p>
2209          *
2210          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2211          */
2212         virtual void PutConfigurationSetDeliveryOptionsAsync(const Model::PutConfigurationSetDeliveryOptionsRequest& request, const PutConfigurationSetDeliveryOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2213 
2214         /**
2215          * <p>Adds or updates a sending authorization policy for the specified identity (an
2216          * email address or a domain).</p>  <p>This API is for the identity owner
2217          * only. If you have not verified the identity, this API will return an error.</p>
2218          *  <p>Sending authorization is a feature that enables an identity owner to
2219          * authorize other senders to use its identities. For information about using
2220          * sending authorization, see the <a
2221          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
2222          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2223          * per second.</p><p><h3>See Also:</h3>   <a
2224          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/PutIdentityPolicy">AWS
2225          * API Reference</a></p>
2226          */
2227         virtual Model::PutIdentityPolicyOutcome PutIdentityPolicy(const Model::PutIdentityPolicyRequest& request) const;
2228 
2229         /**
2230          * <p>Adds or updates a sending authorization policy for the specified identity (an
2231          * email address or a domain).</p>  <p>This API is for the identity owner
2232          * only. If you have not verified the identity, this API will return an error.</p>
2233          *  <p>Sending authorization is a feature that enables an identity owner to
2234          * authorize other senders to use its identities. For information about using
2235          * sending authorization, see the <a
2236          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
2237          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2238          * per second.</p><p><h3>See Also:</h3>   <a
2239          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/PutIdentityPolicy">AWS
2240          * API Reference</a></p>
2241          *
2242          * returns a future to the operation so that it can be executed in parallel to other requests.
2243          */
2244         virtual Model::PutIdentityPolicyOutcomeCallable PutIdentityPolicyCallable(const Model::PutIdentityPolicyRequest& request) const;
2245 
2246         /**
2247          * <p>Adds or updates a sending authorization policy for the specified identity (an
2248          * email address or a domain).</p>  <p>This API is for the identity owner
2249          * only. If you have not verified the identity, this API will return an error.</p>
2250          *  <p>Sending authorization is a feature that enables an identity owner to
2251          * authorize other senders to use its identities. For information about using
2252          * sending authorization, see the <a
2253          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
2254          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2255          * per second.</p><p><h3>See Also:</h3>   <a
2256          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/PutIdentityPolicy">AWS
2257          * API Reference</a></p>
2258          *
2259          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2260          */
2261         virtual void PutIdentityPolicyAsync(const Model::PutIdentityPolicyRequest& request, const PutIdentityPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2262 
2263         /**
2264          * <p>Reorders the receipt rules within a receipt rule set.</p>  <p>All of
2265          * the rules in the rule set must be represented in this request. That is, this API
2266          * will return an error if the reorder request doesn't explicitly position all of
2267          * the rules.</p>  <p>For information about managing receipt rule sets, see
2268          * the <a
2269          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html">Amazon
2270          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2271          * per second.</p><p><h3>See Also:</h3>   <a
2272          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ReorderReceiptRuleSet">AWS
2273          * API Reference</a></p>
2274          */
2275         virtual Model::ReorderReceiptRuleSetOutcome ReorderReceiptRuleSet(const Model::ReorderReceiptRuleSetRequest& request) const;
2276 
2277         /**
2278          * <p>Reorders the receipt rules within a receipt rule set.</p>  <p>All of
2279          * the rules in the rule set must be represented in this request. That is, this API
2280          * will return an error if the reorder request doesn't explicitly position all of
2281          * the rules.</p>  <p>For information about managing receipt rule sets, see
2282          * the <a
2283          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html">Amazon
2284          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2285          * per second.</p><p><h3>See Also:</h3>   <a
2286          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ReorderReceiptRuleSet">AWS
2287          * API Reference</a></p>
2288          *
2289          * returns a future to the operation so that it can be executed in parallel to other requests.
2290          */
2291         virtual Model::ReorderReceiptRuleSetOutcomeCallable ReorderReceiptRuleSetCallable(const Model::ReorderReceiptRuleSetRequest& request) const;
2292 
2293         /**
2294          * <p>Reorders the receipt rules within a receipt rule set.</p>  <p>All of
2295          * the rules in the rule set must be represented in this request. That is, this API
2296          * will return an error if the reorder request doesn't explicitly position all of
2297          * the rules.</p>  <p>For information about managing receipt rule sets, see
2298          * the <a
2299          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html">Amazon
2300          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2301          * per second.</p><p><h3>See Also:</h3>   <a
2302          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ReorderReceiptRuleSet">AWS
2303          * API Reference</a></p>
2304          *
2305          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2306          */
2307         virtual void ReorderReceiptRuleSetAsync(const Model::ReorderReceiptRuleSetRequest& request, const ReorderReceiptRuleSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2308 
2309         /**
2310          * <p>Generates and sends a bounce message to the sender of an email you received
2311          * through Amazon SES. You can only use this API on an email up to 24 hours after
2312          * you receive it.</p>  <p>You cannot use this API to send generic bounces
2313          * for mail that was not received by Amazon SES.</p>  <p>For information
2314          * about receiving email through Amazon SES, see the <a
2315          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html">Amazon
2316          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2317          * per second.</p><p><h3>See Also:</h3>   <a
2318          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendBounce">AWS
2319          * API Reference</a></p>
2320          */
2321         virtual Model::SendBounceOutcome SendBounce(const Model::SendBounceRequest& request) const;
2322 
2323         /**
2324          * <p>Generates and sends a bounce message to the sender of an email you received
2325          * through Amazon SES. You can only use this API on an email up to 24 hours after
2326          * you receive it.</p>  <p>You cannot use this API to send generic bounces
2327          * for mail that was not received by Amazon SES.</p>  <p>For information
2328          * about receiving email through Amazon SES, see the <a
2329          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html">Amazon
2330          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2331          * per second.</p><p><h3>See Also:</h3>   <a
2332          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendBounce">AWS
2333          * API Reference</a></p>
2334          *
2335          * returns a future to the operation so that it can be executed in parallel to other requests.
2336          */
2337         virtual Model::SendBounceOutcomeCallable SendBounceCallable(const Model::SendBounceRequest& request) const;
2338 
2339         /**
2340          * <p>Generates and sends a bounce message to the sender of an email you received
2341          * through Amazon SES. You can only use this API on an email up to 24 hours after
2342          * you receive it.</p>  <p>You cannot use this API to send generic bounces
2343          * for mail that was not received by Amazon SES.</p>  <p>For information
2344          * about receiving email through Amazon SES, see the <a
2345          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html">Amazon
2346          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2347          * per second.</p><p><h3>See Also:</h3>   <a
2348          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendBounce">AWS
2349          * API Reference</a></p>
2350          *
2351          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2352          */
2353         virtual void SendBounceAsync(const Model::SendBounceRequest& request, const SendBounceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2354 
2355         /**
2356          * <p>Composes an email message to multiple destinations. The message body is
2357          * created using an email template.</p> <p>In order to send email using the
2358          * <code>SendBulkTemplatedEmail</code> operation, your call to the API must meet
2359          * the following requirements:</p> <ul> <li> <p>The call must refer to an existing
2360          * email template. You can create email templates using the <a>CreateTemplate</a>
2361          * operation.</p> </li> <li> <p>The message must be sent from a verified email
2362          * address or domain.</p> </li> <li> <p>If your account is still in the Amazon SES
2363          * sandbox, you may only send to verified addresses or domains, or to email
2364          * addresses associated with the Amazon SES Mailbox Simulator. For more
2365          * information, see <a
2366          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Verifying
2367          * Email Addresses and Domains</a> in the <i>Amazon SES Developer Guide.</i> </p>
2368          * </li> <li> <p>The maximum message size is 10 MB.</p> </li> <li> <p>Each
2369          * <code>Destination</code> parameter must include at least one recipient email
2370          * address. The recipient address can be a To: address, a CC: address, or a BCC:
2371          * address. If a recipient email address is invalid (that is, it is not in the
2372          * format <i>UserName@[SubDomain.]Domain.TopLevelDomain</i>), the entire message
2373          * will be rejected, even if the message contains other recipients that are
2374          * valid.</p> </li> <li> <p>The message may not include more than 50 recipients,
2375          * across the To:, CC: and BCC: fields. If you need to send an email message to a
2376          * larger audience, you can divide your recipient list into groups of 50 or fewer,
2377          * and then call the <code>SendBulkTemplatedEmail</code> operation several times to
2378          * send the message to each group.</p> </li> <li> <p>The number of destinations you
2379          * can contact in a single call to the API may be limited by your account's maximum
2380          * sending rate.</p> </li> </ul><p><h3>See Also:</h3>   <a
2381          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendBulkTemplatedEmail">AWS
2382          * API Reference</a></p>
2383          */
2384         virtual Model::SendBulkTemplatedEmailOutcome SendBulkTemplatedEmail(const Model::SendBulkTemplatedEmailRequest& request) const;
2385 
2386         /**
2387          * <p>Composes an email message to multiple destinations. The message body is
2388          * created using an email template.</p> <p>In order to send email using the
2389          * <code>SendBulkTemplatedEmail</code> operation, your call to the API must meet
2390          * the following requirements:</p> <ul> <li> <p>The call must refer to an existing
2391          * email template. You can create email templates using the <a>CreateTemplate</a>
2392          * operation.</p> </li> <li> <p>The message must be sent from a verified email
2393          * address or domain.</p> </li> <li> <p>If your account is still in the Amazon SES
2394          * sandbox, you may only send to verified addresses or domains, or to email
2395          * addresses associated with the Amazon SES Mailbox Simulator. For more
2396          * information, see <a
2397          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Verifying
2398          * Email Addresses and Domains</a> in the <i>Amazon SES Developer Guide.</i> </p>
2399          * </li> <li> <p>The maximum message size is 10 MB.</p> </li> <li> <p>Each
2400          * <code>Destination</code> parameter must include at least one recipient email
2401          * address. The recipient address can be a To: address, a CC: address, or a BCC:
2402          * address. If a recipient email address is invalid (that is, it is not in the
2403          * format <i>UserName@[SubDomain.]Domain.TopLevelDomain</i>), the entire message
2404          * will be rejected, even if the message contains other recipients that are
2405          * valid.</p> </li> <li> <p>The message may not include more than 50 recipients,
2406          * across the To:, CC: and BCC: fields. If you need to send an email message to a
2407          * larger audience, you can divide your recipient list into groups of 50 or fewer,
2408          * and then call the <code>SendBulkTemplatedEmail</code> operation several times to
2409          * send the message to each group.</p> </li> <li> <p>The number of destinations you
2410          * can contact in a single call to the API may be limited by your account's maximum
2411          * sending rate.</p> </li> </ul><p><h3>See Also:</h3>   <a
2412          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendBulkTemplatedEmail">AWS
2413          * API Reference</a></p>
2414          *
2415          * returns a future to the operation so that it can be executed in parallel to other requests.
2416          */
2417         virtual Model::SendBulkTemplatedEmailOutcomeCallable SendBulkTemplatedEmailCallable(const Model::SendBulkTemplatedEmailRequest& request) const;
2418 
2419         /**
2420          * <p>Composes an email message to multiple destinations. The message body is
2421          * created using an email template.</p> <p>In order to send email using the
2422          * <code>SendBulkTemplatedEmail</code> operation, your call to the API must meet
2423          * the following requirements:</p> <ul> <li> <p>The call must refer to an existing
2424          * email template. You can create email templates using the <a>CreateTemplate</a>
2425          * operation.</p> </li> <li> <p>The message must be sent from a verified email
2426          * address or domain.</p> </li> <li> <p>If your account is still in the Amazon SES
2427          * sandbox, you may only send to verified addresses or domains, or to email
2428          * addresses associated with the Amazon SES Mailbox Simulator. For more
2429          * information, see <a
2430          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Verifying
2431          * Email Addresses and Domains</a> in the <i>Amazon SES Developer Guide.</i> </p>
2432          * </li> <li> <p>The maximum message size is 10 MB.</p> </li> <li> <p>Each
2433          * <code>Destination</code> parameter must include at least one recipient email
2434          * address. The recipient address can be a To: address, a CC: address, or a BCC:
2435          * address. If a recipient email address is invalid (that is, it is not in the
2436          * format <i>UserName@[SubDomain.]Domain.TopLevelDomain</i>), the entire message
2437          * will be rejected, even if the message contains other recipients that are
2438          * valid.</p> </li> <li> <p>The message may not include more than 50 recipients,
2439          * across the To:, CC: and BCC: fields. If you need to send an email message to a
2440          * larger audience, you can divide your recipient list into groups of 50 or fewer,
2441          * and then call the <code>SendBulkTemplatedEmail</code> operation several times to
2442          * send the message to each group.</p> </li> <li> <p>The number of destinations you
2443          * can contact in a single call to the API may be limited by your account's maximum
2444          * sending rate.</p> </li> </ul><p><h3>See Also:</h3>   <a
2445          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendBulkTemplatedEmail">AWS
2446          * API Reference</a></p>
2447          *
2448          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2449          */
2450         virtual void SendBulkTemplatedEmailAsync(const Model::SendBulkTemplatedEmailRequest& request, const SendBulkTemplatedEmailResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2451 
2452         /**
2453          * <p>Adds an email address to the list of identities for your Amazon SES account
2454          * in the current AWS Region and attempts to verify it. As a result of executing
2455          * this operation, a customized verification email is sent to the specified
2456          * address.</p> <p>To use this operation, you must first create a custom
2457          * verification email template. For more information about creating and using
2458          * custom verification email templates, see <a
2459          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
2460          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
2461          * Guide</i>.</p> <p>You can execute this operation no more than once per
2462          * second.</p><p><h3>See Also:</h3>   <a
2463          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendCustomVerificationEmail">AWS
2464          * API Reference</a></p>
2465          */
2466         virtual Model::SendCustomVerificationEmailOutcome SendCustomVerificationEmail(const Model::SendCustomVerificationEmailRequest& request) const;
2467 
2468         /**
2469          * <p>Adds an email address to the list of identities for your Amazon SES account
2470          * in the current AWS Region and attempts to verify it. As a result of executing
2471          * this operation, a customized verification email is sent to the specified
2472          * address.</p> <p>To use this operation, you must first create a custom
2473          * verification email template. For more information about creating and using
2474          * custom verification email templates, see <a
2475          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
2476          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
2477          * Guide</i>.</p> <p>You can execute this operation no more than once per
2478          * second.</p><p><h3>See Also:</h3>   <a
2479          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendCustomVerificationEmail">AWS
2480          * API Reference</a></p>
2481          *
2482          * returns a future to the operation so that it can be executed in parallel to other requests.
2483          */
2484         virtual Model::SendCustomVerificationEmailOutcomeCallable SendCustomVerificationEmailCallable(const Model::SendCustomVerificationEmailRequest& request) const;
2485 
2486         /**
2487          * <p>Adds an email address to the list of identities for your Amazon SES account
2488          * in the current AWS Region and attempts to verify it. As a result of executing
2489          * this operation, a customized verification email is sent to the specified
2490          * address.</p> <p>To use this operation, you must first create a custom
2491          * verification email template. For more information about creating and using
2492          * custom verification email templates, see <a
2493          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
2494          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
2495          * Guide</i>.</p> <p>You can execute this operation no more than once per
2496          * second.</p><p><h3>See Also:</h3>   <a
2497          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendCustomVerificationEmail">AWS
2498          * API Reference</a></p>
2499          *
2500          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2501          */
2502         virtual void SendCustomVerificationEmailAsync(const Model::SendCustomVerificationEmailRequest& request, const SendCustomVerificationEmailResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2503 
2504         /**
2505          * <p>Composes an email message and immediately queues it for sending. In order to
2506          * send email using the <code>SendEmail</code> operation, your message must meet
2507          * the following requirements:</p> <ul> <li> <p>The message must be sent from a
2508          * verified email address or domain. If you attempt to send email using a
2509          * non-verified address or domain, the operation will result in an "Email address
2510          * not verified" error. </p> </li> <li> <p>If your account is still in the Amazon
2511          * SES sandbox, you may only send to verified addresses or domains, or to email
2512          * addresses associated with the Amazon SES Mailbox Simulator. For more
2513          * information, see <a
2514          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Verifying
2515          * Email Addresses and Domains</a> in the <i>Amazon SES Developer Guide.</i> </p>
2516          * </li> <li> <p>The maximum message size is 10 MB.</p> </li> <li> <p>The message
2517          * must include at least one recipient email address. The recipient address can be
2518          * a To: address, a CC: address, or a BCC: address. If a recipient email address is
2519          * invalid (that is, it is not in the format
2520          * <i>UserName@[SubDomain.]Domain.TopLevelDomain</i>), the entire message will be
2521          * rejected, even if the message contains other recipients that are valid.</p>
2522          * </li> <li> <p>The message may not include more than 50 recipients, across the
2523          * To:, CC: and BCC: fields. If you need to send an email message to a larger
2524          * audience, you can divide your recipient list into groups of 50 or fewer, and
2525          * then call the <code>SendEmail</code> operation several times to send the message
2526          * to each group.</p> </li> </ul>  <p>For every message that you send,
2527          * the total number of recipients (including each recipient in the To:, CC: and
2528          * BCC: fields) is counted against the maximum number of emails you can send in a
2529          * 24-hour period (your <i>sending quota</i>). For more information about sending
2530          * quotas in Amazon SES, see <a
2531          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html">Managing
2532          * Your Amazon SES Sending Limits</a> in the <i>Amazon SES Developer Guide.</i>
2533          * </p> <p><h3>See Also:</h3>   <a
2534          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendEmail">AWS API
2535          * Reference</a></p>
2536          */
2537         virtual Model::SendEmailOutcome SendEmail(const Model::SendEmailRequest& request) const;
2538 
2539         /**
2540          * <p>Composes an email message and immediately queues it for sending. In order to
2541          * send email using the <code>SendEmail</code> operation, your message must meet
2542          * the following requirements:</p> <ul> <li> <p>The message must be sent from a
2543          * verified email address or domain. If you attempt to send email using a
2544          * non-verified address or domain, the operation will result in an "Email address
2545          * not verified" error. </p> </li> <li> <p>If your account is still in the Amazon
2546          * SES sandbox, you may only send to verified addresses or domains, or to email
2547          * addresses associated with the Amazon SES Mailbox Simulator. For more
2548          * information, see <a
2549          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Verifying
2550          * Email Addresses and Domains</a> in the <i>Amazon SES Developer Guide.</i> </p>
2551          * </li> <li> <p>The maximum message size is 10 MB.</p> </li> <li> <p>The message
2552          * must include at least one recipient email address. The recipient address can be
2553          * a To: address, a CC: address, or a BCC: address. If a recipient email address is
2554          * invalid (that is, it is not in the format
2555          * <i>UserName@[SubDomain.]Domain.TopLevelDomain</i>), the entire message will be
2556          * rejected, even if the message contains other recipients that are valid.</p>
2557          * </li> <li> <p>The message may not include more than 50 recipients, across the
2558          * To:, CC: and BCC: fields. If you need to send an email message to a larger
2559          * audience, you can divide your recipient list into groups of 50 or fewer, and
2560          * then call the <code>SendEmail</code> operation several times to send the message
2561          * to each group.</p> </li> </ul>  <p>For every message that you send,
2562          * the total number of recipients (including each recipient in the To:, CC: and
2563          * BCC: fields) is counted against the maximum number of emails you can send in a
2564          * 24-hour period (your <i>sending quota</i>). For more information about sending
2565          * quotas in Amazon SES, see <a
2566          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html">Managing
2567          * Your Amazon SES Sending Limits</a> in the <i>Amazon SES Developer Guide.</i>
2568          * </p> <p><h3>See Also:</h3>   <a
2569          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendEmail">AWS API
2570          * Reference</a></p>
2571          *
2572          * returns a future to the operation so that it can be executed in parallel to other requests.
2573          */
2574         virtual Model::SendEmailOutcomeCallable SendEmailCallable(const Model::SendEmailRequest& request) const;
2575 
2576         /**
2577          * <p>Composes an email message and immediately queues it for sending. In order to
2578          * send email using the <code>SendEmail</code> operation, your message must meet
2579          * the following requirements:</p> <ul> <li> <p>The message must be sent from a
2580          * verified email address or domain. If you attempt to send email using a
2581          * non-verified address or domain, the operation will result in an "Email address
2582          * not verified" error. </p> </li> <li> <p>If your account is still in the Amazon
2583          * SES sandbox, you may only send to verified addresses or domains, or to email
2584          * addresses associated with the Amazon SES Mailbox Simulator. For more
2585          * information, see <a
2586          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Verifying
2587          * Email Addresses and Domains</a> in the <i>Amazon SES Developer Guide.</i> </p>
2588          * </li> <li> <p>The maximum message size is 10 MB.</p> </li> <li> <p>The message
2589          * must include at least one recipient email address. The recipient address can be
2590          * a To: address, a CC: address, or a BCC: address. If a recipient email address is
2591          * invalid (that is, it is not in the format
2592          * <i>UserName@[SubDomain.]Domain.TopLevelDomain</i>), the entire message will be
2593          * rejected, even if the message contains other recipients that are valid.</p>
2594          * </li> <li> <p>The message may not include more than 50 recipients, across the
2595          * To:, CC: and BCC: fields. If you need to send an email message to a larger
2596          * audience, you can divide your recipient list into groups of 50 or fewer, and
2597          * then call the <code>SendEmail</code> operation several times to send the message
2598          * to each group.</p> </li> </ul>  <p>For every message that you send,
2599          * the total number of recipients (including each recipient in the To:, CC: and
2600          * BCC: fields) is counted against the maximum number of emails you can send in a
2601          * 24-hour period (your <i>sending quota</i>). For more information about sending
2602          * quotas in Amazon SES, see <a
2603          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html">Managing
2604          * Your Amazon SES Sending Limits</a> in the <i>Amazon SES Developer Guide.</i>
2605          * </p> <p><h3>See Also:</h3>   <a
2606          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendEmail">AWS API
2607          * Reference</a></p>
2608          *
2609          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2610          */
2611         virtual void SendEmailAsync(const Model::SendEmailRequest& request, const SendEmailResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2612 
2613         /**
2614          * <p>Composes an email message and immediately queues it for sending.</p> <p>This
2615          * operation is more flexible than the <code>SendEmail</code> API operation. When
2616          * you use the <code>SendRawEmail</code> operation, you can specify the headers of
2617          * the message as well as its content. This flexibility is useful, for example,
2618          * when you want to send a multipart MIME email (such a message that contains both
2619          * a text and an HTML version). You can also use this operation to send messages
2620          * that include attachments.</p> <p>The <code>SendRawEmail</code> operation has the
2621          * following requirements:</p> <ul> <li> <p>You can only send email from <a
2622          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">verified
2623          * email addresses or domains</a>. If you try to send email from an address that
2624          * isn't verified, the operation results in an "Email address not verified"
2625          * error.</p> </li> <li> <p>If your account is still in the <a
2626          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html">Amazon
2627          * SES sandbox</a>, you can only send email to other verified addresses in your
2628          * account, or to addresses that are associated with the <a
2629          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mailbox-simulator.html">Amazon
2630          * SES mailbox simulator</a>.</p> </li> <li> <p>The maximum message size, including
2631          * attachments, is 10 MB.</p> </li> <li> <p>Each message has to include at least
2632          * one recipient address. A recipient address includes any address on the To:, CC:,
2633          * or BCC: lines.</p> </li> <li> <p>If you send a single message to more than one
2634          * recipient address, and one of the recipient addresses isn't in a valid format
2635          * (that is, it's not in the format
2636          * <i>UserName@[SubDomain.]Domain.TopLevelDomain</i>), Amazon SES rejects the
2637          * entire message, even if the other addresses are valid.</p> </li> <li> <p>Each
2638          * message can include up to 50 recipient addresses across the To:, CC:, or BCC:
2639          * lines. If you need to send a single message to more than 50 recipients, you have
2640          * to split the list of recipient addresses into groups of less than 50 recipients,
2641          * and send separate messages to each group.</p> </li> <li> <p>Amazon SES allows
2642          * you to specify 8-bit Content-Transfer-Encoding for MIME message parts. However,
2643          * if Amazon SES has to modify the contents of your message (for example, if you
2644          * use open and click tracking), 8-bit content isn't preserved. For this reason, we
2645          * highly recommend that you encode all content that isn't 7-bit ASCII. For more
2646          * information, see <a
2647          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html#send-email-mime-encoding">MIME
2648          * Encoding</a> in the <i>Amazon SES Developer Guide</i>.</p> </li> </ul>
2649          * <p>Additionally, keep the following considerations in mind when using the
2650          * <code>SendRawEmail</code> operation:</p> <ul> <li> <p>Although you can customize
2651          * the message headers when using the <code>SendRawEmail</code> operation, Amazon
2652          * SES will automatically apply its own <code>Message-ID</code> and
2653          * <code>Date</code> headers; if you passed these headers when creating the
2654          * message, they will be overwritten by the values that Amazon SES provides.</p>
2655          * </li> <li> <p>If you are using sending authorization to send on behalf of
2656          * another user, <code>SendRawEmail</code> enables you to specify the cross-account
2657          * identity for the email's Source, From, and Return-Path parameters in one of two
2658          * ways: you can pass optional parameters <code>SourceArn</code>,
2659          * <code>FromArn</code>, and/or <code>ReturnPathArn</code> to the API, or you can
2660          * include the following X-headers in the header of your raw email:</p> <ul> <li>
2661          * <p> <code>X-SES-SOURCE-ARN</code> </p> </li> <li> <p>
2662          * <code>X-SES-FROM-ARN</code> </p> </li> <li> <p>
2663          * <code>X-SES-RETURN-PATH-ARN</code> </p> </li> </ul>  <p>Don't include
2664          * these X-headers in the DKIM signature. Amazon SES removes these before it sends
2665          * the email.</p>  <p>If you only specify the
2666          * <code>SourceIdentityArn</code> parameter, Amazon SES sets the From and
2667          * Return-Path addresses to the same identity that you specified.</p> <p>For more
2668          * information about sending authorization, see the <a
2669          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Using
2670          * Sending Authorization with Amazon SES</a> in the <i>Amazon SES Developer
2671          * Guide.</i> </p> </li> <li> <p>For every message that you send, the total number
2672          * of recipients (including each recipient in the To:, CC: and BCC: fields) is
2673          * counted against the maximum number of emails you can send in a 24-hour period
2674          * (your <i>sending quota</i>). For more information about sending quotas in Amazon
2675          * SES, see <a
2676          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html">Managing
2677          * Your Amazon SES Sending Limits</a> in the <i>Amazon SES Developer Guide.</i>
2678          * </p> </li> </ul><p><h3>See Also:</h3>   <a
2679          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendRawEmail">AWS
2680          * API Reference</a></p>
2681          */
2682         virtual Model::SendRawEmailOutcome SendRawEmail(const Model::SendRawEmailRequest& request) const;
2683 
2684         /**
2685          * <p>Composes an email message and immediately queues it for sending.</p> <p>This
2686          * operation is more flexible than the <code>SendEmail</code> API operation. When
2687          * you use the <code>SendRawEmail</code> operation, you can specify the headers of
2688          * the message as well as its content. This flexibility is useful, for example,
2689          * when you want to send a multipart MIME email (such a message that contains both
2690          * a text and an HTML version). You can also use this operation to send messages
2691          * that include attachments.</p> <p>The <code>SendRawEmail</code> operation has the
2692          * following requirements:</p> <ul> <li> <p>You can only send email from <a
2693          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">verified
2694          * email addresses or domains</a>. If you try to send email from an address that
2695          * isn't verified, the operation results in an "Email address not verified"
2696          * error.</p> </li> <li> <p>If your account is still in the <a
2697          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html">Amazon
2698          * SES sandbox</a>, you can only send email to other verified addresses in your
2699          * account, or to addresses that are associated with the <a
2700          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mailbox-simulator.html">Amazon
2701          * SES mailbox simulator</a>.</p> </li> <li> <p>The maximum message size, including
2702          * attachments, is 10 MB.</p> </li> <li> <p>Each message has to include at least
2703          * one recipient address. A recipient address includes any address on the To:, CC:,
2704          * or BCC: lines.</p> </li> <li> <p>If you send a single message to more than one
2705          * recipient address, and one of the recipient addresses isn't in a valid format
2706          * (that is, it's not in the format
2707          * <i>UserName@[SubDomain.]Domain.TopLevelDomain</i>), Amazon SES rejects the
2708          * entire message, even if the other addresses are valid.</p> </li> <li> <p>Each
2709          * message can include up to 50 recipient addresses across the To:, CC:, or BCC:
2710          * lines. If you need to send a single message to more than 50 recipients, you have
2711          * to split the list of recipient addresses into groups of less than 50 recipients,
2712          * and send separate messages to each group.</p> </li> <li> <p>Amazon SES allows
2713          * you to specify 8-bit Content-Transfer-Encoding for MIME message parts. However,
2714          * if Amazon SES has to modify the contents of your message (for example, if you
2715          * use open and click tracking), 8-bit content isn't preserved. For this reason, we
2716          * highly recommend that you encode all content that isn't 7-bit ASCII. For more
2717          * information, see <a
2718          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html#send-email-mime-encoding">MIME
2719          * Encoding</a> in the <i>Amazon SES Developer Guide</i>.</p> </li> </ul>
2720          * <p>Additionally, keep the following considerations in mind when using the
2721          * <code>SendRawEmail</code> operation:</p> <ul> <li> <p>Although you can customize
2722          * the message headers when using the <code>SendRawEmail</code> operation, Amazon
2723          * SES will automatically apply its own <code>Message-ID</code> and
2724          * <code>Date</code> headers; if you passed these headers when creating the
2725          * message, they will be overwritten by the values that Amazon SES provides.</p>
2726          * </li> <li> <p>If you are using sending authorization to send on behalf of
2727          * another user, <code>SendRawEmail</code> enables you to specify the cross-account
2728          * identity for the email's Source, From, and Return-Path parameters in one of two
2729          * ways: you can pass optional parameters <code>SourceArn</code>,
2730          * <code>FromArn</code>, and/or <code>ReturnPathArn</code> to the API, or you can
2731          * include the following X-headers in the header of your raw email:</p> <ul> <li>
2732          * <p> <code>X-SES-SOURCE-ARN</code> </p> </li> <li> <p>
2733          * <code>X-SES-FROM-ARN</code> </p> </li> <li> <p>
2734          * <code>X-SES-RETURN-PATH-ARN</code> </p> </li> </ul>  <p>Don't include
2735          * these X-headers in the DKIM signature. Amazon SES removes these before it sends
2736          * the email.</p>  <p>If you only specify the
2737          * <code>SourceIdentityArn</code> parameter, Amazon SES sets the From and
2738          * Return-Path addresses to the same identity that you specified.</p> <p>For more
2739          * information about sending authorization, see the <a
2740          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Using
2741          * Sending Authorization with Amazon SES</a> in the <i>Amazon SES Developer
2742          * Guide.</i> </p> </li> <li> <p>For every message that you send, the total number
2743          * of recipients (including each recipient in the To:, CC: and BCC: fields) is
2744          * counted against the maximum number of emails you can send in a 24-hour period
2745          * (your <i>sending quota</i>). For more information about sending quotas in Amazon
2746          * SES, see <a
2747          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html">Managing
2748          * Your Amazon SES Sending Limits</a> in the <i>Amazon SES Developer Guide.</i>
2749          * </p> </li> </ul><p><h3>See Also:</h3>   <a
2750          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendRawEmail">AWS
2751          * API Reference</a></p>
2752          *
2753          * returns a future to the operation so that it can be executed in parallel to other requests.
2754          */
2755         virtual Model::SendRawEmailOutcomeCallable SendRawEmailCallable(const Model::SendRawEmailRequest& request) const;
2756 
2757         /**
2758          * <p>Composes an email message and immediately queues it for sending.</p> <p>This
2759          * operation is more flexible than the <code>SendEmail</code> API operation. When
2760          * you use the <code>SendRawEmail</code> operation, you can specify the headers of
2761          * the message as well as its content. This flexibility is useful, for example,
2762          * when you want to send a multipart MIME email (such a message that contains both
2763          * a text and an HTML version). You can also use this operation to send messages
2764          * that include attachments.</p> <p>The <code>SendRawEmail</code> operation has the
2765          * following requirements:</p> <ul> <li> <p>You can only send email from <a
2766          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">verified
2767          * email addresses or domains</a>. If you try to send email from an address that
2768          * isn't verified, the operation results in an "Email address not verified"
2769          * error.</p> </li> <li> <p>If your account is still in the <a
2770          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html">Amazon
2771          * SES sandbox</a>, you can only send email to other verified addresses in your
2772          * account, or to addresses that are associated with the <a
2773          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mailbox-simulator.html">Amazon
2774          * SES mailbox simulator</a>.</p> </li> <li> <p>The maximum message size, including
2775          * attachments, is 10 MB.</p> </li> <li> <p>Each message has to include at least
2776          * one recipient address. A recipient address includes any address on the To:, CC:,
2777          * or BCC: lines.</p> </li> <li> <p>If you send a single message to more than one
2778          * recipient address, and one of the recipient addresses isn't in a valid format
2779          * (that is, it's not in the format
2780          * <i>UserName@[SubDomain.]Domain.TopLevelDomain</i>), Amazon SES rejects the
2781          * entire message, even if the other addresses are valid.</p> </li> <li> <p>Each
2782          * message can include up to 50 recipient addresses across the To:, CC:, or BCC:
2783          * lines. If you need to send a single message to more than 50 recipients, you have
2784          * to split the list of recipient addresses into groups of less than 50 recipients,
2785          * and send separate messages to each group.</p> </li> <li> <p>Amazon SES allows
2786          * you to specify 8-bit Content-Transfer-Encoding for MIME message parts. However,
2787          * if Amazon SES has to modify the contents of your message (for example, if you
2788          * use open and click tracking), 8-bit content isn't preserved. For this reason, we
2789          * highly recommend that you encode all content that isn't 7-bit ASCII. For more
2790          * information, see <a
2791          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html#send-email-mime-encoding">MIME
2792          * Encoding</a> in the <i>Amazon SES Developer Guide</i>.</p> </li> </ul>
2793          * <p>Additionally, keep the following considerations in mind when using the
2794          * <code>SendRawEmail</code> operation:</p> <ul> <li> <p>Although you can customize
2795          * the message headers when using the <code>SendRawEmail</code> operation, Amazon
2796          * SES will automatically apply its own <code>Message-ID</code> and
2797          * <code>Date</code> headers; if you passed these headers when creating the
2798          * message, they will be overwritten by the values that Amazon SES provides.</p>
2799          * </li> <li> <p>If you are using sending authorization to send on behalf of
2800          * another user, <code>SendRawEmail</code> enables you to specify the cross-account
2801          * identity for the email's Source, From, and Return-Path parameters in one of two
2802          * ways: you can pass optional parameters <code>SourceArn</code>,
2803          * <code>FromArn</code>, and/or <code>ReturnPathArn</code> to the API, or you can
2804          * include the following X-headers in the header of your raw email:</p> <ul> <li>
2805          * <p> <code>X-SES-SOURCE-ARN</code> </p> </li> <li> <p>
2806          * <code>X-SES-FROM-ARN</code> </p> </li> <li> <p>
2807          * <code>X-SES-RETURN-PATH-ARN</code> </p> </li> </ul>  <p>Don't include
2808          * these X-headers in the DKIM signature. Amazon SES removes these before it sends
2809          * the email.</p>  <p>If you only specify the
2810          * <code>SourceIdentityArn</code> parameter, Amazon SES sets the From and
2811          * Return-Path addresses to the same identity that you specified.</p> <p>For more
2812          * information about sending authorization, see the <a
2813          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Using
2814          * Sending Authorization with Amazon SES</a> in the <i>Amazon SES Developer
2815          * Guide.</i> </p> </li> <li> <p>For every message that you send, the total number
2816          * of recipients (including each recipient in the To:, CC: and BCC: fields) is
2817          * counted against the maximum number of emails you can send in a 24-hour period
2818          * (your <i>sending quota</i>). For more information about sending quotas in Amazon
2819          * SES, see <a
2820          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html">Managing
2821          * Your Amazon SES Sending Limits</a> in the <i>Amazon SES Developer Guide.</i>
2822          * </p> </li> </ul><p><h3>See Also:</h3>   <a
2823          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendRawEmail">AWS
2824          * API Reference</a></p>
2825          *
2826          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2827          */
2828         virtual void SendRawEmailAsync(const Model::SendRawEmailRequest& request, const SendRawEmailResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2829 
2830         /**
2831          * <p>Composes an email message using an email template and immediately queues it
2832          * for sending.</p> <p>In order to send email using the
2833          * <code>SendTemplatedEmail</code> operation, your call to the API must meet the
2834          * following requirements:</p> <ul> <li> <p>The call must refer to an existing
2835          * email template. You can create email templates using the <a>CreateTemplate</a>
2836          * operation.</p> </li> <li> <p>The message must be sent from a verified email
2837          * address or domain.</p> </li> <li> <p>If your account is still in the Amazon SES
2838          * sandbox, you may only send to verified addresses or domains, or to email
2839          * addresses associated with the Amazon SES Mailbox Simulator. For more
2840          * information, see <a
2841          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Verifying
2842          * Email Addresses and Domains</a> in the <i>Amazon SES Developer Guide.</i> </p>
2843          * </li> <li> <p>The maximum message size is 10 MB.</p> </li> <li> <p>Calls to the
2844          * <code>SendTemplatedEmail</code> operation may only include one
2845          * <code>Destination</code> parameter. A destination is a set of recipients who
2846          * will receive the same version of the email. The <code>Destination</code>
2847          * parameter can include up to 50 recipients, across the To:, CC: and BCC:
2848          * fields.</p> </li> <li> <p>The <code>Destination</code> parameter must include at
2849          * least one recipient email address. The recipient address can be a To: address, a
2850          * CC: address, or a BCC: address. If a recipient email address is invalid (that
2851          * is, it is not in the format <i>UserName@[SubDomain.]Domain.TopLevelDomain</i>),
2852          * the entire message will be rejected, even if the message contains other
2853          * recipients that are valid.</p> </li> </ul>  <p>If your call to the
2854          * <code>SendTemplatedEmail</code> operation includes all of the required
2855          * parameters, Amazon SES accepts it and returns a Message ID. However, if Amazon
2856          * SES can't render the email because the template contains errors, it doesn't send
2857          * the email. Additionally, because it already accepted the message, Amazon SES
2858          * doesn't return a message stating that it was unable to send the email.</p>
2859          * <p>For these reasons, we highly recommend that you set up Amazon SES to send you
2860          * notifications when Rendering Failure events occur. For more information, see <a
2861          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html">Sending
2862          * Personalized Email Using the Amazon SES API</a> in the <i>Amazon Simple Email
2863          * Service Developer Guide</i>.</p> <p><h3>See Also:</h3>   <a
2864          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendTemplatedEmail">AWS
2865          * API Reference</a></p>
2866          */
2867         virtual Model::SendTemplatedEmailOutcome SendTemplatedEmail(const Model::SendTemplatedEmailRequest& request) const;
2868 
2869         /**
2870          * <p>Composes an email message using an email template and immediately queues it
2871          * for sending.</p> <p>In order to send email using the
2872          * <code>SendTemplatedEmail</code> operation, your call to the API must meet the
2873          * following requirements:</p> <ul> <li> <p>The call must refer to an existing
2874          * email template. You can create email templates using the <a>CreateTemplate</a>
2875          * operation.</p> </li> <li> <p>The message must be sent from a verified email
2876          * address or domain.</p> </li> <li> <p>If your account is still in the Amazon SES
2877          * sandbox, you may only send to verified addresses or domains, or to email
2878          * addresses associated with the Amazon SES Mailbox Simulator. For more
2879          * information, see <a
2880          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Verifying
2881          * Email Addresses and Domains</a> in the <i>Amazon SES Developer Guide.</i> </p>
2882          * </li> <li> <p>The maximum message size is 10 MB.</p> </li> <li> <p>Calls to the
2883          * <code>SendTemplatedEmail</code> operation may only include one
2884          * <code>Destination</code> parameter. A destination is a set of recipients who
2885          * will receive the same version of the email. The <code>Destination</code>
2886          * parameter can include up to 50 recipients, across the To:, CC: and BCC:
2887          * fields.</p> </li> <li> <p>The <code>Destination</code> parameter must include at
2888          * least one recipient email address. The recipient address can be a To: address, a
2889          * CC: address, or a BCC: address. If a recipient email address is invalid (that
2890          * is, it is not in the format <i>UserName@[SubDomain.]Domain.TopLevelDomain</i>),
2891          * the entire message will be rejected, even if the message contains other
2892          * recipients that are valid.</p> </li> </ul>  <p>If your call to the
2893          * <code>SendTemplatedEmail</code> operation includes all of the required
2894          * parameters, Amazon SES accepts it and returns a Message ID. However, if Amazon
2895          * SES can't render the email because the template contains errors, it doesn't send
2896          * the email. Additionally, because it already accepted the message, Amazon SES
2897          * doesn't return a message stating that it was unable to send the email.</p>
2898          * <p>For these reasons, we highly recommend that you set up Amazon SES to send you
2899          * notifications when Rendering Failure events occur. For more information, see <a
2900          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html">Sending
2901          * Personalized Email Using the Amazon SES API</a> in the <i>Amazon Simple Email
2902          * Service Developer Guide</i>.</p> <p><h3>See Also:</h3>   <a
2903          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendTemplatedEmail">AWS
2904          * API Reference</a></p>
2905          *
2906          * returns a future to the operation so that it can be executed in parallel to other requests.
2907          */
2908         virtual Model::SendTemplatedEmailOutcomeCallable SendTemplatedEmailCallable(const Model::SendTemplatedEmailRequest& request) const;
2909 
2910         /**
2911          * <p>Composes an email message using an email template and immediately queues it
2912          * for sending.</p> <p>In order to send email using the
2913          * <code>SendTemplatedEmail</code> operation, your call to the API must meet the
2914          * following requirements:</p> <ul> <li> <p>The call must refer to an existing
2915          * email template. You can create email templates using the <a>CreateTemplate</a>
2916          * operation.</p> </li> <li> <p>The message must be sent from a verified email
2917          * address or domain.</p> </li> <li> <p>If your account is still in the Amazon SES
2918          * sandbox, you may only send to verified addresses or domains, or to email
2919          * addresses associated with the Amazon SES Mailbox Simulator. For more
2920          * information, see <a
2921          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Verifying
2922          * Email Addresses and Domains</a> in the <i>Amazon SES Developer Guide.</i> </p>
2923          * </li> <li> <p>The maximum message size is 10 MB.</p> </li> <li> <p>Calls to the
2924          * <code>SendTemplatedEmail</code> operation may only include one
2925          * <code>Destination</code> parameter. A destination is a set of recipients who
2926          * will receive the same version of the email. The <code>Destination</code>
2927          * parameter can include up to 50 recipients, across the To:, CC: and BCC:
2928          * fields.</p> </li> <li> <p>The <code>Destination</code> parameter must include at
2929          * least one recipient email address. The recipient address can be a To: address, a
2930          * CC: address, or a BCC: address. If a recipient email address is invalid (that
2931          * is, it is not in the format <i>UserName@[SubDomain.]Domain.TopLevelDomain</i>),
2932          * the entire message will be rejected, even if the message contains other
2933          * recipients that are valid.</p> </li> </ul>  <p>If your call to the
2934          * <code>SendTemplatedEmail</code> operation includes all of the required
2935          * parameters, Amazon SES accepts it and returns a Message ID. However, if Amazon
2936          * SES can't render the email because the template contains errors, it doesn't send
2937          * the email. Additionally, because it already accepted the message, Amazon SES
2938          * doesn't return a message stating that it was unable to send the email.</p>
2939          * <p>For these reasons, we highly recommend that you set up Amazon SES to send you
2940          * notifications when Rendering Failure events occur. For more information, see <a
2941          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html">Sending
2942          * Personalized Email Using the Amazon SES API</a> in the <i>Amazon Simple Email
2943          * Service Developer Guide</i>.</p> <p><h3>See Also:</h3>   <a
2944          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendTemplatedEmail">AWS
2945          * API Reference</a></p>
2946          *
2947          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2948          */
2949         virtual void SendTemplatedEmailAsync(const Model::SendTemplatedEmailRequest& request, const SendTemplatedEmailResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2950 
2951         /**
2952          * <p>Sets the specified receipt rule set as the active receipt rule set.</p>
2953          *  <p>To disable your email-receiving through Amazon SES completely, you can
2954          * call this API with RuleSetName set to null.</p>  <p>For information about
2955          * managing receipt rule sets, see the <a
2956          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html">Amazon
2957          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2958          * per second.</p><p><h3>See Also:</h3>   <a
2959          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetActiveReceiptRuleSet">AWS
2960          * API Reference</a></p>
2961          */
2962         virtual Model::SetActiveReceiptRuleSetOutcome SetActiveReceiptRuleSet(const Model::SetActiveReceiptRuleSetRequest& request) const;
2963 
2964         /**
2965          * <p>Sets the specified receipt rule set as the active receipt rule set.</p>
2966          *  <p>To disable your email-receiving through Amazon SES completely, you can
2967          * call this API with RuleSetName set to null.</p>  <p>For information about
2968          * managing receipt rule sets, see the <a
2969          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html">Amazon
2970          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2971          * per second.</p><p><h3>See Also:</h3>   <a
2972          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetActiveReceiptRuleSet">AWS
2973          * API Reference</a></p>
2974          *
2975          * returns a future to the operation so that it can be executed in parallel to other requests.
2976          */
2977         virtual Model::SetActiveReceiptRuleSetOutcomeCallable SetActiveReceiptRuleSetCallable(const Model::SetActiveReceiptRuleSetRequest& request) const;
2978 
2979         /**
2980          * <p>Sets the specified receipt rule set as the active receipt rule set.</p>
2981          *  <p>To disable your email-receiving through Amazon SES completely, you can
2982          * call this API with RuleSetName set to null.</p>  <p>For information about
2983          * managing receipt rule sets, see the <a
2984          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html">Amazon
2985          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
2986          * per second.</p><p><h3>See Also:</h3>   <a
2987          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetActiveReceiptRuleSet">AWS
2988          * API Reference</a></p>
2989          *
2990          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2991          */
2992         virtual void SetActiveReceiptRuleSetAsync(const Model::SetActiveReceiptRuleSetRequest& request, const SetActiveReceiptRuleSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2993 
2994         /**
2995          * <p>Enables or disables Easy DKIM signing of email sent from an identity. If Easy
2996          * DKIM signing is enabled for a domain, then Amazon SES uses DKIM to sign all
2997          * email that it sends from addresses on that domain. If Easy DKIM signing is
2998          * enabled for an email address, then Amazon SES uses DKIM to sign all email it
2999          * sends from that address.</p>  <p>For email addresses (for example,
3000          * <code>user@example.com</code>), you can only enable DKIM signing if the
3001          * corresponding domain (in this case, <code>example.com</code>) has been set up to
3002          * use Easy DKIM.</p>  <p>You can enable DKIM signing for an identity at any
3003          * time after you start the verification process for the identity, even if the
3004          * verification process isn't complete. </p> <p>You can execute this operation no
3005          * more than once per second.</p> <p>For more information about Easy DKIM signing,
3006          * go to the <a
3007          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html">Amazon
3008          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
3009          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityDkimEnabled">AWS
3010          * API Reference</a></p>
3011          */
3012         virtual Model::SetIdentityDkimEnabledOutcome SetIdentityDkimEnabled(const Model::SetIdentityDkimEnabledRequest& request) const;
3013 
3014         /**
3015          * <p>Enables or disables Easy DKIM signing of email sent from an identity. If Easy
3016          * DKIM signing is enabled for a domain, then Amazon SES uses DKIM to sign all
3017          * email that it sends from addresses on that domain. If Easy DKIM signing is
3018          * enabled for an email address, then Amazon SES uses DKIM to sign all email it
3019          * sends from that address.</p>  <p>For email addresses (for example,
3020          * <code>user@example.com</code>), you can only enable DKIM signing if the
3021          * corresponding domain (in this case, <code>example.com</code>) has been set up to
3022          * use Easy DKIM.</p>  <p>You can enable DKIM signing for an identity at any
3023          * time after you start the verification process for the identity, even if the
3024          * verification process isn't complete. </p> <p>You can execute this operation no
3025          * more than once per second.</p> <p>For more information about Easy DKIM signing,
3026          * go to the <a
3027          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html">Amazon
3028          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
3029          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityDkimEnabled">AWS
3030          * API Reference</a></p>
3031          *
3032          * returns a future to the operation so that it can be executed in parallel to other requests.
3033          */
3034         virtual Model::SetIdentityDkimEnabledOutcomeCallable SetIdentityDkimEnabledCallable(const Model::SetIdentityDkimEnabledRequest& request) const;
3035 
3036         /**
3037          * <p>Enables or disables Easy DKIM signing of email sent from an identity. If Easy
3038          * DKIM signing is enabled for a domain, then Amazon SES uses DKIM to sign all
3039          * email that it sends from addresses on that domain. If Easy DKIM signing is
3040          * enabled for an email address, then Amazon SES uses DKIM to sign all email it
3041          * sends from that address.</p>  <p>For email addresses (for example,
3042          * <code>user@example.com</code>), you can only enable DKIM signing if the
3043          * corresponding domain (in this case, <code>example.com</code>) has been set up to
3044          * use Easy DKIM.</p>  <p>You can enable DKIM signing for an identity at any
3045          * time after you start the verification process for the identity, even if the
3046          * verification process isn't complete. </p> <p>You can execute this operation no
3047          * more than once per second.</p> <p>For more information about Easy DKIM signing,
3048          * go to the <a
3049          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html">Amazon
3050          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
3051          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityDkimEnabled">AWS
3052          * API Reference</a></p>
3053          *
3054          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3055          */
3056         virtual void SetIdentityDkimEnabledAsync(const Model::SetIdentityDkimEnabledRequest& request, const SetIdentityDkimEnabledResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3057 
3058         /**
3059          * <p>Given an identity (an email address or a domain), enables or disables whether
3060          * Amazon SES forwards bounce and complaint notifications as email. Feedback
3061          * forwarding can only be disabled when Amazon Simple Notification Service (Amazon
3062          * SNS) topics are specified for both bounces and complaints.</p>
3063          * <p>Feedback forwarding does not apply to delivery notifications. Delivery
3064          * notifications are only available through Amazon SNS.</p>  <p>You can
3065          * execute this operation no more than once per second.</p> <p>For more information
3066          * about using notifications with Amazon SES, see the <a
3067          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html">Amazon
3068          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
3069          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityFeedbackForwardingEnabled">AWS
3070          * API Reference</a></p>
3071          */
3072         virtual Model::SetIdentityFeedbackForwardingEnabledOutcome SetIdentityFeedbackForwardingEnabled(const Model::SetIdentityFeedbackForwardingEnabledRequest& request) const;
3073 
3074         /**
3075          * <p>Given an identity (an email address or a domain), enables or disables whether
3076          * Amazon SES forwards bounce and complaint notifications as email. Feedback
3077          * forwarding can only be disabled when Amazon Simple Notification Service (Amazon
3078          * SNS) topics are specified for both bounces and complaints.</p>
3079          * <p>Feedback forwarding does not apply to delivery notifications. Delivery
3080          * notifications are only available through Amazon SNS.</p>  <p>You can
3081          * execute this operation no more than once per second.</p> <p>For more information
3082          * about using notifications with Amazon SES, see the <a
3083          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html">Amazon
3084          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
3085          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityFeedbackForwardingEnabled">AWS
3086          * API Reference</a></p>
3087          *
3088          * returns a future to the operation so that it can be executed in parallel to other requests.
3089          */
3090         virtual Model::SetIdentityFeedbackForwardingEnabledOutcomeCallable SetIdentityFeedbackForwardingEnabledCallable(const Model::SetIdentityFeedbackForwardingEnabledRequest& request) const;
3091 
3092         /**
3093          * <p>Given an identity (an email address or a domain), enables or disables whether
3094          * Amazon SES forwards bounce and complaint notifications as email. Feedback
3095          * forwarding can only be disabled when Amazon Simple Notification Service (Amazon
3096          * SNS) topics are specified for both bounces and complaints.</p>
3097          * <p>Feedback forwarding does not apply to delivery notifications. Delivery
3098          * notifications are only available through Amazon SNS.</p>  <p>You can
3099          * execute this operation no more than once per second.</p> <p>For more information
3100          * about using notifications with Amazon SES, see the <a
3101          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html">Amazon
3102          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
3103          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityFeedbackForwardingEnabled">AWS
3104          * API Reference</a></p>
3105          *
3106          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3107          */
3108         virtual void SetIdentityFeedbackForwardingEnabledAsync(const Model::SetIdentityFeedbackForwardingEnabledRequest& request, const SetIdentityFeedbackForwardingEnabledResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3109 
3110         /**
3111          * <p>Given an identity (an email address or a domain), sets whether Amazon SES
3112          * includes the original email headers in the Amazon Simple Notification Service
3113          * (Amazon SNS) notifications of a specified type.</p> <p>You can execute this
3114          * operation no more than once per second.</p> <p>For more information about using
3115          * notifications with Amazon SES, see the <a
3116          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html">Amazon
3117          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
3118          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityHeadersInNotificationsEnabled">AWS
3119          * API Reference</a></p>
3120          */
3121         virtual Model::SetIdentityHeadersInNotificationsEnabledOutcome SetIdentityHeadersInNotificationsEnabled(const Model::SetIdentityHeadersInNotificationsEnabledRequest& request) const;
3122 
3123         /**
3124          * <p>Given an identity (an email address or a domain), sets whether Amazon SES
3125          * includes the original email headers in the Amazon Simple Notification Service
3126          * (Amazon SNS) notifications of a specified type.</p> <p>You can execute this
3127          * operation no more than once per second.</p> <p>For more information about using
3128          * notifications with Amazon SES, see the <a
3129          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html">Amazon
3130          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
3131          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityHeadersInNotificationsEnabled">AWS
3132          * API Reference</a></p>
3133          *
3134          * returns a future to the operation so that it can be executed in parallel to other requests.
3135          */
3136         virtual Model::SetIdentityHeadersInNotificationsEnabledOutcomeCallable SetIdentityHeadersInNotificationsEnabledCallable(const Model::SetIdentityHeadersInNotificationsEnabledRequest& request) const;
3137 
3138         /**
3139          * <p>Given an identity (an email address or a domain), sets whether Amazon SES
3140          * includes the original email headers in the Amazon Simple Notification Service
3141          * (Amazon SNS) notifications of a specified type.</p> <p>You can execute this
3142          * operation no more than once per second.</p> <p>For more information about using
3143          * notifications with Amazon SES, see the <a
3144          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html">Amazon
3145          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
3146          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityHeadersInNotificationsEnabled">AWS
3147          * API Reference</a></p>
3148          *
3149          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3150          */
3151         virtual void SetIdentityHeadersInNotificationsEnabledAsync(const Model::SetIdentityHeadersInNotificationsEnabledRequest& request, const SetIdentityHeadersInNotificationsEnabledResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3152 
3153         /**
3154          * <p>Enables or disables the custom MAIL FROM domain setup for a verified identity
3155          * (an email address or a domain).</p>  <p>To send emails using the
3156          * specified MAIL FROM domain, you must add an MX record to your MAIL FROM domain's
3157          * DNS settings. If you want your emails to pass Sender Policy Framework (SPF)
3158          * checks, you must also add or update an SPF record. For more information, see the
3159          * <a
3160          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from-set.html">Amazon
3161          * SES Developer Guide</a>.</p>  <p>You can execute this operation no
3162          * more than once per second.</p><p><h3>See Also:</h3>   <a
3163          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityMailFromDomain">AWS
3164          * API Reference</a></p>
3165          */
3166         virtual Model::SetIdentityMailFromDomainOutcome SetIdentityMailFromDomain(const Model::SetIdentityMailFromDomainRequest& request) const;
3167 
3168         /**
3169          * <p>Enables or disables the custom MAIL FROM domain setup for a verified identity
3170          * (an email address or a domain).</p>  <p>To send emails using the
3171          * specified MAIL FROM domain, you must add an MX record to your MAIL FROM domain's
3172          * DNS settings. If you want your emails to pass Sender Policy Framework (SPF)
3173          * checks, you must also add or update an SPF record. For more information, see the
3174          * <a
3175          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from-set.html">Amazon
3176          * SES Developer Guide</a>.</p>  <p>You can execute this operation no
3177          * more than once per second.</p><p><h3>See Also:</h3>   <a
3178          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityMailFromDomain">AWS
3179          * API Reference</a></p>
3180          *
3181          * returns a future to the operation so that it can be executed in parallel to other requests.
3182          */
3183         virtual Model::SetIdentityMailFromDomainOutcomeCallable SetIdentityMailFromDomainCallable(const Model::SetIdentityMailFromDomainRequest& request) const;
3184 
3185         /**
3186          * <p>Enables or disables the custom MAIL FROM domain setup for a verified identity
3187          * (an email address or a domain).</p>  <p>To send emails using the
3188          * specified MAIL FROM domain, you must add an MX record to your MAIL FROM domain's
3189          * DNS settings. If you want your emails to pass Sender Policy Framework (SPF)
3190          * checks, you must also add or update an SPF record. For more information, see the
3191          * <a
3192          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from-set.html">Amazon
3193          * SES Developer Guide</a>.</p>  <p>You can execute this operation no
3194          * more than once per second.</p><p><h3>See Also:</h3>   <a
3195          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityMailFromDomain">AWS
3196          * API Reference</a></p>
3197          *
3198          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3199          */
3200         virtual void SetIdentityMailFromDomainAsync(const Model::SetIdentityMailFromDomainRequest& request, const SetIdentityMailFromDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3201 
3202         /**
3203          * <p>Sets an Amazon Simple Notification Service (Amazon SNS) topic to use when
3204          * delivering notifications. When you use this operation, you specify a verified
3205          * identity, such as an email address or domain. When you send an email that uses
3206          * the chosen identity in the Source field, Amazon SES sends notifications to the
3207          * topic you specified. You can send bounce, complaint, or delivery notifications
3208          * (or any combination of the three) to the Amazon SNS topic that you specify.</p>
3209          * <p>You can execute this operation no more than once per second.</p> <p>For more
3210          * information about feedback notification, see the <a
3211          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html">Amazon
3212          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
3213          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityNotificationTopic">AWS
3214          * API Reference</a></p>
3215          */
3216         virtual Model::SetIdentityNotificationTopicOutcome SetIdentityNotificationTopic(const Model::SetIdentityNotificationTopicRequest& request) const;
3217 
3218         /**
3219          * <p>Sets an Amazon Simple Notification Service (Amazon SNS) topic to use when
3220          * delivering notifications. When you use this operation, you specify a verified
3221          * identity, such as an email address or domain. When you send an email that uses
3222          * the chosen identity in the Source field, Amazon SES sends notifications to the
3223          * topic you specified. You can send bounce, complaint, or delivery notifications
3224          * (or any combination of the three) to the Amazon SNS topic that you specify.</p>
3225          * <p>You can execute this operation no more than once per second.</p> <p>For more
3226          * information about feedback notification, see the <a
3227          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html">Amazon
3228          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
3229          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityNotificationTopic">AWS
3230          * API Reference</a></p>
3231          *
3232          * returns a future to the operation so that it can be executed in parallel to other requests.
3233          */
3234         virtual Model::SetIdentityNotificationTopicOutcomeCallable SetIdentityNotificationTopicCallable(const Model::SetIdentityNotificationTopicRequest& request) const;
3235 
3236         /**
3237          * <p>Sets an Amazon Simple Notification Service (Amazon SNS) topic to use when
3238          * delivering notifications. When you use this operation, you specify a verified
3239          * identity, such as an email address or domain. When you send an email that uses
3240          * the chosen identity in the Source field, Amazon SES sends notifications to the
3241          * topic you specified. You can send bounce, complaint, or delivery notifications
3242          * (or any combination of the three) to the Amazon SNS topic that you specify.</p>
3243          * <p>You can execute this operation no more than once per second.</p> <p>For more
3244          * information about feedback notification, see the <a
3245          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html">Amazon
3246          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
3247          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityNotificationTopic">AWS
3248          * API Reference</a></p>
3249          *
3250          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3251          */
3252         virtual void SetIdentityNotificationTopicAsync(const Model::SetIdentityNotificationTopicRequest& request, const SetIdentityNotificationTopicResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3253 
3254         /**
3255          * <p>Sets the position of the specified receipt rule in the receipt rule set.</p>
3256          * <p>For information about managing receipt rules, see the <a
3257          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html">Amazon
3258          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
3259          * per second.</p><p><h3>See Also:</h3>   <a
3260          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetReceiptRulePosition">AWS
3261          * API Reference</a></p>
3262          */
3263         virtual Model::SetReceiptRulePositionOutcome SetReceiptRulePosition(const Model::SetReceiptRulePositionRequest& request) const;
3264 
3265         /**
3266          * <p>Sets the position of the specified receipt rule in the receipt rule set.</p>
3267          * <p>For information about managing receipt rules, see the <a
3268          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html">Amazon
3269          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
3270          * per second.</p><p><h3>See Also:</h3>   <a
3271          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetReceiptRulePosition">AWS
3272          * API Reference</a></p>
3273          *
3274          * returns a future to the operation so that it can be executed in parallel to other requests.
3275          */
3276         virtual Model::SetReceiptRulePositionOutcomeCallable SetReceiptRulePositionCallable(const Model::SetReceiptRulePositionRequest& request) const;
3277 
3278         /**
3279          * <p>Sets the position of the specified receipt rule in the receipt rule set.</p>
3280          * <p>For information about managing receipt rules, see the <a
3281          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html">Amazon
3282          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
3283          * per second.</p><p><h3>See Also:</h3>   <a
3284          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetReceiptRulePosition">AWS
3285          * API Reference</a></p>
3286          *
3287          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3288          */
3289         virtual void SetReceiptRulePositionAsync(const Model::SetReceiptRulePositionRequest& request, const SetReceiptRulePositionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3290 
3291         /**
3292          * <p>Creates a preview of the MIME content of an email when provided with a
3293          * template and a set of replacement data.</p> <p>You can execute this operation no
3294          * more than once per second.</p><p><h3>See Also:</h3>   <a
3295          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/TestRenderTemplate">AWS
3296          * API Reference</a></p>
3297          */
3298         virtual Model::TestRenderTemplateOutcome TestRenderTemplate(const Model::TestRenderTemplateRequest& request) const;
3299 
3300         /**
3301          * <p>Creates a preview of the MIME content of an email when provided with a
3302          * template and a set of replacement data.</p> <p>You can execute this operation no
3303          * more than once per second.</p><p><h3>See Also:</h3>   <a
3304          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/TestRenderTemplate">AWS
3305          * API Reference</a></p>
3306          *
3307          * returns a future to the operation so that it can be executed in parallel to other requests.
3308          */
3309         virtual Model::TestRenderTemplateOutcomeCallable TestRenderTemplateCallable(const Model::TestRenderTemplateRequest& request) const;
3310 
3311         /**
3312          * <p>Creates a preview of the MIME content of an email when provided with a
3313          * template and a set of replacement data.</p> <p>You can execute this operation no
3314          * more than once per second.</p><p><h3>See Also:</h3>   <a
3315          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/TestRenderTemplate">AWS
3316          * API Reference</a></p>
3317          *
3318          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3319          */
3320         virtual void TestRenderTemplateAsync(const Model::TestRenderTemplateRequest& request, const TestRenderTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3321 
3322         /**
3323          * <p>Enables or disables email sending across your entire Amazon SES account in
3324          * the current AWS Region. You can use this operation in conjunction with Amazon
3325          * CloudWatch alarms to temporarily pause email sending across your Amazon SES
3326          * account in a given AWS Region when reputation metrics (such as your bounce or
3327          * complaint rates) reach certain thresholds.</p> <p>You can execute this operation
3328          * no more than once per second.</p><p><h3>See Also:</h3>   <a
3329          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateAccountSendingEnabled">AWS
3330          * API Reference</a></p>
3331          */
3332         virtual Model::UpdateAccountSendingEnabledOutcome UpdateAccountSendingEnabled(const Model::UpdateAccountSendingEnabledRequest& request) const;
3333 
3334         /**
3335          * <p>Enables or disables email sending across your entire Amazon SES account in
3336          * the current AWS Region. You can use this operation in conjunction with Amazon
3337          * CloudWatch alarms to temporarily pause email sending across your Amazon SES
3338          * account in a given AWS Region when reputation metrics (such as your bounce or
3339          * complaint rates) reach certain thresholds.</p> <p>You can execute this operation
3340          * no more than once per second.</p><p><h3>See Also:</h3>   <a
3341          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateAccountSendingEnabled">AWS
3342          * API Reference</a></p>
3343          *
3344          * returns a future to the operation so that it can be executed in parallel to other requests.
3345          */
3346         virtual Model::UpdateAccountSendingEnabledOutcomeCallable UpdateAccountSendingEnabledCallable(const Model::UpdateAccountSendingEnabledRequest& request) const;
3347 
3348         /**
3349          * <p>Enables or disables email sending across your entire Amazon SES account in
3350          * the current AWS Region. You can use this operation in conjunction with Amazon
3351          * CloudWatch alarms to temporarily pause email sending across your Amazon SES
3352          * account in a given AWS Region when reputation metrics (such as your bounce or
3353          * complaint rates) reach certain thresholds.</p> <p>You can execute this operation
3354          * no more than once per second.</p><p><h3>See Also:</h3>   <a
3355          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateAccountSendingEnabled">AWS
3356          * API Reference</a></p>
3357          *
3358          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3359          */
3360         virtual void UpdateAccountSendingEnabledAsync(const Model::UpdateAccountSendingEnabledRequest& request, const UpdateAccountSendingEnabledResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3361 
3362         /**
3363          * <p>Updates the event destination of a configuration set. Event destinations are
3364          * associated with configuration sets, which enable you to publish email sending
3365          * events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple
3366          * Notification Service (Amazon SNS). For information about using configuration
3367          * sets, see <a
3368          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Monitoring
3369          * Your Amazon SES Sending Activity</a> in the <i>Amazon SES Developer Guide.</i>
3370          * </p>  <p>When you create or update an event destination, you must provide
3371          * one, and only one, destination. The destination can be Amazon CloudWatch, Amazon
3372          * Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS).</p>
3373          *  <p>You can execute this operation no more than once per
3374          * second.</p><p><h3>See Also:</h3>   <a
3375          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetEventDestination">AWS
3376          * API Reference</a></p>
3377          */
3378         virtual Model::UpdateConfigurationSetEventDestinationOutcome UpdateConfigurationSetEventDestination(const Model::UpdateConfigurationSetEventDestinationRequest& request) const;
3379 
3380         /**
3381          * <p>Updates the event destination of a configuration set. Event destinations are
3382          * associated with configuration sets, which enable you to publish email sending
3383          * events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple
3384          * Notification Service (Amazon SNS). For information about using configuration
3385          * sets, see <a
3386          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Monitoring
3387          * Your Amazon SES Sending Activity</a> in the <i>Amazon SES Developer Guide.</i>
3388          * </p>  <p>When you create or update an event destination, you must provide
3389          * one, and only one, destination. The destination can be Amazon CloudWatch, Amazon
3390          * Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS).</p>
3391          *  <p>You can execute this operation no more than once per
3392          * second.</p><p><h3>See Also:</h3>   <a
3393          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetEventDestination">AWS
3394          * API Reference</a></p>
3395          *
3396          * returns a future to the operation so that it can be executed in parallel to other requests.
3397          */
3398         virtual Model::UpdateConfigurationSetEventDestinationOutcomeCallable UpdateConfigurationSetEventDestinationCallable(const Model::UpdateConfigurationSetEventDestinationRequest& request) const;
3399 
3400         /**
3401          * <p>Updates the event destination of a configuration set. Event destinations are
3402          * associated with configuration sets, which enable you to publish email sending
3403          * events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple
3404          * Notification Service (Amazon SNS). For information about using configuration
3405          * sets, see <a
3406          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Monitoring
3407          * Your Amazon SES Sending Activity</a> in the <i>Amazon SES Developer Guide.</i>
3408          * </p>  <p>When you create or update an event destination, you must provide
3409          * one, and only one, destination. The destination can be Amazon CloudWatch, Amazon
3410          * Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS).</p>
3411          *  <p>You can execute this operation no more than once per
3412          * second.</p><p><h3>See Also:</h3>   <a
3413          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetEventDestination">AWS
3414          * API Reference</a></p>
3415          *
3416          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3417          */
3418         virtual void UpdateConfigurationSetEventDestinationAsync(const Model::UpdateConfigurationSetEventDestinationRequest& request, const UpdateConfigurationSetEventDestinationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3419 
3420         /**
3421          * <p>Enables or disables the publishing of reputation metrics for emails sent
3422          * using a specific configuration set in a given AWS Region. Reputation metrics
3423          * include bounce and complaint rates. These metrics are published to Amazon
3424          * CloudWatch. By using CloudWatch, you can create alarms when bounce or complaint
3425          * rates exceed certain thresholds.</p> <p>You can execute this operation no more
3426          * than once per second.</p><p><h3>See Also:</h3>   <a
3427          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetReputationMetricsEnabled">AWS
3428          * API Reference</a></p>
3429          */
3430         virtual Model::UpdateConfigurationSetReputationMetricsEnabledOutcome UpdateConfigurationSetReputationMetricsEnabled(const Model::UpdateConfigurationSetReputationMetricsEnabledRequest& request) const;
3431 
3432         /**
3433          * <p>Enables or disables the publishing of reputation metrics for emails sent
3434          * using a specific configuration set in a given AWS Region. Reputation metrics
3435          * include bounce and complaint rates. These metrics are published to Amazon
3436          * CloudWatch. By using CloudWatch, you can create alarms when bounce or complaint
3437          * rates exceed certain thresholds.</p> <p>You can execute this operation no more
3438          * than once per second.</p><p><h3>See Also:</h3>   <a
3439          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetReputationMetricsEnabled">AWS
3440          * API Reference</a></p>
3441          *
3442          * returns a future to the operation so that it can be executed in parallel to other requests.
3443          */
3444         virtual Model::UpdateConfigurationSetReputationMetricsEnabledOutcomeCallable UpdateConfigurationSetReputationMetricsEnabledCallable(const Model::UpdateConfigurationSetReputationMetricsEnabledRequest& request) const;
3445 
3446         /**
3447          * <p>Enables or disables the publishing of reputation metrics for emails sent
3448          * using a specific configuration set in a given AWS Region. Reputation metrics
3449          * include bounce and complaint rates. These metrics are published to Amazon
3450          * CloudWatch. By using CloudWatch, you can create alarms when bounce or complaint
3451          * rates exceed certain thresholds.</p> <p>You can execute this operation no more
3452          * than once per second.</p><p><h3>See Also:</h3>   <a
3453          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetReputationMetricsEnabled">AWS
3454          * API Reference</a></p>
3455          *
3456          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3457          */
3458         virtual void UpdateConfigurationSetReputationMetricsEnabledAsync(const Model::UpdateConfigurationSetReputationMetricsEnabledRequest& request, const UpdateConfigurationSetReputationMetricsEnabledResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3459 
3460         /**
3461          * <p>Enables or disables email sending for messages sent using a specific
3462          * configuration set in a given AWS Region. You can use this operation in
3463          * conjunction with Amazon CloudWatch alarms to temporarily pause email sending for
3464          * a configuration set when the reputation metrics for that configuration set (such
3465          * as your bounce on complaint rate) exceed certain thresholds.</p> <p>You can
3466          * execute this operation no more than once per second.</p><p><h3>See Also:</h3>
3467          * <a
3468          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetSendingEnabled">AWS
3469          * API Reference</a></p>
3470          */
3471         virtual Model::UpdateConfigurationSetSendingEnabledOutcome UpdateConfigurationSetSendingEnabled(const Model::UpdateConfigurationSetSendingEnabledRequest& request) const;
3472 
3473         /**
3474          * <p>Enables or disables email sending for messages sent using a specific
3475          * configuration set in a given AWS Region. You can use this operation in
3476          * conjunction with Amazon CloudWatch alarms to temporarily pause email sending for
3477          * a configuration set when the reputation metrics for that configuration set (such
3478          * as your bounce on complaint rate) exceed certain thresholds.</p> <p>You can
3479          * execute this operation no more than once per second.</p><p><h3>See Also:</h3>
3480          * <a
3481          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetSendingEnabled">AWS
3482          * API Reference</a></p>
3483          *
3484          * returns a future to the operation so that it can be executed in parallel to other requests.
3485          */
3486         virtual Model::UpdateConfigurationSetSendingEnabledOutcomeCallable UpdateConfigurationSetSendingEnabledCallable(const Model::UpdateConfigurationSetSendingEnabledRequest& request) const;
3487 
3488         /**
3489          * <p>Enables or disables email sending for messages sent using a specific
3490          * configuration set in a given AWS Region. You can use this operation in
3491          * conjunction with Amazon CloudWatch alarms to temporarily pause email sending for
3492          * a configuration set when the reputation metrics for that configuration set (such
3493          * as your bounce on complaint rate) exceed certain thresholds.</p> <p>You can
3494          * execute this operation no more than once per second.</p><p><h3>See Also:</h3>
3495          * <a
3496          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetSendingEnabled">AWS
3497          * API Reference</a></p>
3498          *
3499          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3500          */
3501         virtual void UpdateConfigurationSetSendingEnabledAsync(const Model::UpdateConfigurationSetSendingEnabledRequest& request, const UpdateConfigurationSetSendingEnabledResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3502 
3503         /**
3504          * <p>Modifies an association between a configuration set and a custom domain for
3505          * open and click event tracking. </p> <p>By default, images and links used for
3506          * tracking open and click events are hosted on domains operated by Amazon SES. You
3507          * can configure a subdomain of your own to handle these events. For information
3508          * about using custom domains, see the <a
3509          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html">Amazon
3510          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
3511          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetTrackingOptions">AWS
3512          * API Reference</a></p>
3513          */
3514         virtual Model::UpdateConfigurationSetTrackingOptionsOutcome UpdateConfigurationSetTrackingOptions(const Model::UpdateConfigurationSetTrackingOptionsRequest& request) const;
3515 
3516         /**
3517          * <p>Modifies an association between a configuration set and a custom domain for
3518          * open and click event tracking. </p> <p>By default, images and links used for
3519          * tracking open and click events are hosted on domains operated by Amazon SES. You
3520          * can configure a subdomain of your own to handle these events. For information
3521          * about using custom domains, see the <a
3522          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html">Amazon
3523          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
3524          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetTrackingOptions">AWS
3525          * API Reference</a></p>
3526          *
3527          * returns a future to the operation so that it can be executed in parallel to other requests.
3528          */
3529         virtual Model::UpdateConfigurationSetTrackingOptionsOutcomeCallable UpdateConfigurationSetTrackingOptionsCallable(const Model::UpdateConfigurationSetTrackingOptionsRequest& request) const;
3530 
3531         /**
3532          * <p>Modifies an association between a configuration set and a custom domain for
3533          * open and click event tracking. </p> <p>By default, images and links used for
3534          * tracking open and click events are hosted on domains operated by Amazon SES. You
3535          * can configure a subdomain of your own to handle these events. For information
3536          * about using custom domains, see the <a
3537          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html">Amazon
3538          * SES Developer Guide</a>.</p><p><h3>See Also:</h3>   <a
3539          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetTrackingOptions">AWS
3540          * API Reference</a></p>
3541          *
3542          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3543          */
3544         virtual void UpdateConfigurationSetTrackingOptionsAsync(const Model::UpdateConfigurationSetTrackingOptionsRequest& request, const UpdateConfigurationSetTrackingOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3545 
3546         /**
3547          * <p>Updates an existing custom verification email template.</p> <p>For more
3548          * information about custom verification email templates, see <a
3549          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
3550          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
3551          * Guide</i>.</p> <p>You can execute this operation no more than once per
3552          * second.</p><p><h3>See Also:</h3>   <a
3553          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateCustomVerificationEmailTemplate">AWS
3554          * API Reference</a></p>
3555          */
3556         virtual Model::UpdateCustomVerificationEmailTemplateOutcome UpdateCustomVerificationEmailTemplate(const Model::UpdateCustomVerificationEmailTemplateRequest& request) const;
3557 
3558         /**
3559          * <p>Updates an existing custom verification email template.</p> <p>For more
3560          * information about custom verification email templates, see <a
3561          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
3562          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
3563          * Guide</i>.</p> <p>You can execute this operation no more than once per
3564          * second.</p><p><h3>See Also:</h3>   <a
3565          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateCustomVerificationEmailTemplate">AWS
3566          * API Reference</a></p>
3567          *
3568          * returns a future to the operation so that it can be executed in parallel to other requests.
3569          */
3570         virtual Model::UpdateCustomVerificationEmailTemplateOutcomeCallable UpdateCustomVerificationEmailTemplateCallable(const Model::UpdateCustomVerificationEmailTemplateRequest& request) const;
3571 
3572         /**
3573          * <p>Updates an existing custom verification email template.</p> <p>For more
3574          * information about custom verification email templates, see <a
3575          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html">Using
3576          * Custom Verification Email Templates</a> in the <i>Amazon SES Developer
3577          * Guide</i>.</p> <p>You can execute this operation no more than once per
3578          * second.</p><p><h3>See Also:</h3>   <a
3579          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateCustomVerificationEmailTemplate">AWS
3580          * API Reference</a></p>
3581          *
3582          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3583          */
3584         virtual void UpdateCustomVerificationEmailTemplateAsync(const Model::UpdateCustomVerificationEmailTemplateRequest& request, const UpdateCustomVerificationEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3585 
3586         /**
3587          * <p>Updates a receipt rule.</p> <p>For information about managing receipt rules,
3588          * see the <a
3589          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html">Amazon
3590          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
3591          * per second.</p><p><h3>See Also:</h3>   <a
3592          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateReceiptRule">AWS
3593          * API Reference</a></p>
3594          */
3595         virtual Model::UpdateReceiptRuleOutcome UpdateReceiptRule(const Model::UpdateReceiptRuleRequest& request) const;
3596 
3597         /**
3598          * <p>Updates a receipt rule.</p> <p>For information about managing receipt rules,
3599          * see the <a
3600          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html">Amazon
3601          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
3602          * per second.</p><p><h3>See Also:</h3>   <a
3603          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateReceiptRule">AWS
3604          * API Reference</a></p>
3605          *
3606          * returns a future to the operation so that it can be executed in parallel to other requests.
3607          */
3608         virtual Model::UpdateReceiptRuleOutcomeCallable UpdateReceiptRuleCallable(const Model::UpdateReceiptRuleRequest& request) const;
3609 
3610         /**
3611          * <p>Updates a receipt rule.</p> <p>For information about managing receipt rules,
3612          * see the <a
3613          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html">Amazon
3614          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
3615          * per second.</p><p><h3>See Also:</h3>   <a
3616          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateReceiptRule">AWS
3617          * API Reference</a></p>
3618          *
3619          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3620          */
3621         virtual void UpdateReceiptRuleAsync(const Model::UpdateReceiptRuleRequest& request, const UpdateReceiptRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3622 
3623         /**
3624          * <p>Updates an email template. Email templates enable you to send personalized
3625          * email to one or more destinations in a single API operation. For more
3626          * information, see the <a
3627          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html">Amazon
3628          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
3629          * per second.</p><p><h3>See Also:</h3>   <a
3630          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateTemplate">AWS
3631          * API Reference</a></p>
3632          */
3633         virtual Model::UpdateTemplateOutcome UpdateTemplate(const Model::UpdateTemplateRequest& request) const;
3634 
3635         /**
3636          * <p>Updates an email template. Email templates enable you to send personalized
3637          * email to one or more destinations in a single API operation. For more
3638          * information, see the <a
3639          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html">Amazon
3640          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
3641          * per second.</p><p><h3>See Also:</h3>   <a
3642          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateTemplate">AWS
3643          * API Reference</a></p>
3644          *
3645          * returns a future to the operation so that it can be executed in parallel to other requests.
3646          */
3647         virtual Model::UpdateTemplateOutcomeCallable UpdateTemplateCallable(const Model::UpdateTemplateRequest& request) const;
3648 
3649         /**
3650          * <p>Updates an email template. Email templates enable you to send personalized
3651          * email to one or more destinations in a single API operation. For more
3652          * information, see the <a
3653          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html">Amazon
3654          * SES Developer Guide</a>.</p> <p>You can execute this operation no more than once
3655          * per second.</p><p><h3>See Also:</h3>   <a
3656          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateTemplate">AWS
3657          * API Reference</a></p>
3658          *
3659          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3660          */
3661         virtual void UpdateTemplateAsync(const Model::UpdateTemplateRequest& request, const UpdateTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3662 
3663         /**
3664          * <p>Returns a set of DKIM tokens for a domain identity.</p>  <p>When
3665          * you execute the <code>VerifyDomainDkim</code> operation, the domain that you
3666          * specify is added to the list of identities that are associated with your
3667          * account. This is true even if you haven't already associated the domain with
3668          * your account by using the <code>VerifyDomainIdentity</code> operation. However,
3669          * you can't send email from the domain until you either successfully <a
3670          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domains.html">verify
3671          * it</a> or you successfully <a
3672          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html">set
3673          * up DKIM for it</a>.</p>  <p>You use the tokens that are generated by
3674          * this operation to create CNAME records. When Amazon SES detects that you've
3675          * added these records to the DNS configuration for a domain, you can start sending
3676          * email from that domain. You can start sending email even if you haven't added
3677          * the TXT record provided by the VerifyDomainIdentity operation to the DNS
3678          * configuration for your domain. All email that you send from the domain is
3679          * authenticated using DKIM.</p> <p>To create the CNAME records for DKIM
3680          * authentication, use the following values:</p> <ul> <li> <p> <b>Name</b>:
3681          * <i>token</i>._domainkey.<i>example.com</i> </p> </li> <li> <p> <b>Type</b>:
3682          * CNAME</p> </li> <li> <p> <b>Value</b>: <i>token</i>.dkim.amazonses.com</p> </li>
3683          * </ul> <p>In the preceding example, replace <i>token</i> with one of the tokens
3684          * that are generated when you execute this operation. Replace <i>example.com</i>
3685          * with your domain. Repeat this process for each token that's generated by this
3686          * operation.</p> <p>You can execute this operation no more than once per
3687          * second.</p><p><h3>See Also:</h3>   <a
3688          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyDomainDkim">AWS
3689          * API Reference</a></p>
3690          */
3691         virtual Model::VerifyDomainDkimOutcome VerifyDomainDkim(const Model::VerifyDomainDkimRequest& request) const;
3692 
3693         /**
3694          * <p>Returns a set of DKIM tokens for a domain identity.</p>  <p>When
3695          * you execute the <code>VerifyDomainDkim</code> operation, the domain that you
3696          * specify is added to the list of identities that are associated with your
3697          * account. This is true even if you haven't already associated the domain with
3698          * your account by using the <code>VerifyDomainIdentity</code> operation. However,
3699          * you can't send email from the domain until you either successfully <a
3700          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domains.html">verify
3701          * it</a> or you successfully <a
3702          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html">set
3703          * up DKIM for it</a>.</p>  <p>You use the tokens that are generated by
3704          * this operation to create CNAME records. When Amazon SES detects that you've
3705          * added these records to the DNS configuration for a domain, you can start sending
3706          * email from that domain. You can start sending email even if you haven't added
3707          * the TXT record provided by the VerifyDomainIdentity operation to the DNS
3708          * configuration for your domain. All email that you send from the domain is
3709          * authenticated using DKIM.</p> <p>To create the CNAME records for DKIM
3710          * authentication, use the following values:</p> <ul> <li> <p> <b>Name</b>:
3711          * <i>token</i>._domainkey.<i>example.com</i> </p> </li> <li> <p> <b>Type</b>:
3712          * CNAME</p> </li> <li> <p> <b>Value</b>: <i>token</i>.dkim.amazonses.com</p> </li>
3713          * </ul> <p>In the preceding example, replace <i>token</i> with one of the tokens
3714          * that are generated when you execute this operation. Replace <i>example.com</i>
3715          * with your domain. Repeat this process for each token that's generated by this
3716          * operation.</p> <p>You can execute this operation no more than once per
3717          * second.</p><p><h3>See Also:</h3>   <a
3718          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyDomainDkim">AWS
3719          * API Reference</a></p>
3720          *
3721          * returns a future to the operation so that it can be executed in parallel to other requests.
3722          */
3723         virtual Model::VerifyDomainDkimOutcomeCallable VerifyDomainDkimCallable(const Model::VerifyDomainDkimRequest& request) const;
3724 
3725         /**
3726          * <p>Returns a set of DKIM tokens for a domain identity.</p>  <p>When
3727          * you execute the <code>VerifyDomainDkim</code> operation, the domain that you
3728          * specify is added to the list of identities that are associated with your
3729          * account. This is true even if you haven't already associated the domain with
3730          * your account by using the <code>VerifyDomainIdentity</code> operation. However,
3731          * you can't send email from the domain until you either successfully <a
3732          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domains.html">verify
3733          * it</a> or you successfully <a
3734          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html">set
3735          * up DKIM for it</a>.</p>  <p>You use the tokens that are generated by
3736          * this operation to create CNAME records. When Amazon SES detects that you've
3737          * added these records to the DNS configuration for a domain, you can start sending
3738          * email from that domain. You can start sending email even if you haven't added
3739          * the TXT record provided by the VerifyDomainIdentity operation to the DNS
3740          * configuration for your domain. All email that you send from the domain is
3741          * authenticated using DKIM.</p> <p>To create the CNAME records for DKIM
3742          * authentication, use the following values:</p> <ul> <li> <p> <b>Name</b>:
3743          * <i>token</i>._domainkey.<i>example.com</i> </p> </li> <li> <p> <b>Type</b>:
3744          * CNAME</p> </li> <li> <p> <b>Value</b>: <i>token</i>.dkim.amazonses.com</p> </li>
3745          * </ul> <p>In the preceding example, replace <i>token</i> with one of the tokens
3746          * that are generated when you execute this operation. Replace <i>example.com</i>
3747          * with your domain. Repeat this process for each token that's generated by this
3748          * operation.</p> <p>You can execute this operation no more than once per
3749          * second.</p><p><h3>See Also:</h3>   <a
3750          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyDomainDkim">AWS
3751          * API Reference</a></p>
3752          *
3753          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3754          */
3755         virtual void VerifyDomainDkimAsync(const Model::VerifyDomainDkimRequest& request, const VerifyDomainDkimResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3756 
3757         /**
3758          * <p>Adds a domain to the list of identities for your Amazon SES account in the
3759          * current AWS Region and attempts to verify it. For more information about
3760          * verifying domains, see <a
3761          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Verifying
3762          * Email Addresses and Domains</a> in the <i>Amazon SES Developer Guide.</i> </p>
3763          * <p>You can execute this operation no more than once per second.</p><p><h3>See
3764          * Also:</h3>   <a
3765          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyDomainIdentity">AWS
3766          * API Reference</a></p>
3767          */
3768         virtual Model::VerifyDomainIdentityOutcome VerifyDomainIdentity(const Model::VerifyDomainIdentityRequest& request) const;
3769 
3770         /**
3771          * <p>Adds a domain to the list of identities for your Amazon SES account in the
3772          * current AWS Region and attempts to verify it. For more information about
3773          * verifying domains, see <a
3774          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Verifying
3775          * Email Addresses and Domains</a> in the <i>Amazon SES Developer Guide.</i> </p>
3776          * <p>You can execute this operation no more than once per second.</p><p><h3>See
3777          * Also:</h3>   <a
3778          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyDomainIdentity">AWS
3779          * API Reference</a></p>
3780          *
3781          * returns a future to the operation so that it can be executed in parallel to other requests.
3782          */
3783         virtual Model::VerifyDomainIdentityOutcomeCallable VerifyDomainIdentityCallable(const Model::VerifyDomainIdentityRequest& request) const;
3784 
3785         /**
3786          * <p>Adds a domain to the list of identities for your Amazon SES account in the
3787          * current AWS Region and attempts to verify it. For more information about
3788          * verifying domains, see <a
3789          * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Verifying
3790          * Email Addresses and Domains</a> in the <i>Amazon SES Developer Guide.</i> </p>
3791          * <p>You can execute this operation no more than once per second.</p><p><h3>See
3792          * Also:</h3>   <a
3793          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyDomainIdentity">AWS
3794          * API Reference</a></p>
3795          *
3796          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3797          */
3798         virtual void VerifyDomainIdentityAsync(const Model::VerifyDomainIdentityRequest& request, const VerifyDomainIdentityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3799 
3800         /**
3801          * <p>Deprecated. Use the <code>VerifyEmailIdentity</code> operation to verify a
3802          * new email address.</p><p><h3>See Also:</h3>   <a
3803          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyEmailAddress">AWS
3804          * API Reference</a></p>
3805          */
3806         virtual Model::VerifyEmailAddressOutcome VerifyEmailAddress(const Model::VerifyEmailAddressRequest& request) const;
3807 
3808         /**
3809          * <p>Deprecated. Use the <code>VerifyEmailIdentity</code> operation to verify a
3810          * new email address.</p><p><h3>See Also:</h3>   <a
3811          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyEmailAddress">AWS
3812          * API Reference</a></p>
3813          *
3814          * returns a future to the operation so that it can be executed in parallel to other requests.
3815          */
3816         virtual Model::VerifyEmailAddressOutcomeCallable VerifyEmailAddressCallable(const Model::VerifyEmailAddressRequest& request) const;
3817 
3818         /**
3819          * <p>Deprecated. Use the <code>VerifyEmailIdentity</code> operation to verify a
3820          * new email address.</p><p><h3>See Also:</h3>   <a
3821          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyEmailAddress">AWS
3822          * API Reference</a></p>
3823          *
3824          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3825          */
3826         virtual void VerifyEmailAddressAsync(const Model::VerifyEmailAddressRequest& request, const VerifyEmailAddressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3827 
3828         /**
3829          * <p>Adds an email address to the list of identities for your Amazon SES account
3830          * in the current AWS region and attempts to verify it. As a result of executing
3831          * this operation, a verification email is sent to the specified address.</p>
3832          * <p>You can execute this operation no more than once per second.</p><p><h3>See
3833          * Also:</h3>   <a
3834          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyEmailIdentity">AWS
3835          * API Reference</a></p>
3836          */
3837         virtual Model::VerifyEmailIdentityOutcome VerifyEmailIdentity(const Model::VerifyEmailIdentityRequest& request) const;
3838 
3839         /**
3840          * <p>Adds an email address to the list of identities for your Amazon SES account
3841          * in the current AWS region and attempts to verify it. As a result of executing
3842          * this operation, a verification email is sent to the specified address.</p>
3843          * <p>You can execute this operation no more than once per second.</p><p><h3>See
3844          * Also:</h3>   <a
3845          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyEmailIdentity">AWS
3846          * API Reference</a></p>
3847          *
3848          * returns a future to the operation so that it can be executed in parallel to other requests.
3849          */
3850         virtual Model::VerifyEmailIdentityOutcomeCallable VerifyEmailIdentityCallable(const Model::VerifyEmailIdentityRequest& request) const;
3851 
3852         /**
3853          * <p>Adds an email address to the list of identities for your Amazon SES account
3854          * in the current AWS region and attempts to verify it. As a result of executing
3855          * this operation, a verification email is sent to the specified address.</p>
3856          * <p>You can execute this operation no more than once per second.</p><p><h3>See
3857          * Also:</h3>   <a
3858          * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyEmailIdentity">AWS
3859          * API Reference</a></p>
3860          *
3861          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3862          */
3863         virtual void VerifyEmailIdentityAsync(const Model::VerifyEmailIdentityRequest& request, const VerifyEmailIdentityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3864 
3865 
3866         void OverrideEndpoint(const Aws::String& endpoint);
3867   private:
3868         void init(const Aws::Client::ClientConfiguration& clientConfiguration);
3869         void CloneReceiptRuleSetAsyncHelper(const Model::CloneReceiptRuleSetRequest& request, const CloneReceiptRuleSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3870         void CreateConfigurationSetAsyncHelper(const Model::CreateConfigurationSetRequest& request, const CreateConfigurationSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3871         void CreateConfigurationSetEventDestinationAsyncHelper(const Model::CreateConfigurationSetEventDestinationRequest& request, const CreateConfigurationSetEventDestinationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3872         void CreateConfigurationSetTrackingOptionsAsyncHelper(const Model::CreateConfigurationSetTrackingOptionsRequest& request, const CreateConfigurationSetTrackingOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3873         void CreateCustomVerificationEmailTemplateAsyncHelper(const Model::CreateCustomVerificationEmailTemplateRequest& request, const CreateCustomVerificationEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3874         void CreateReceiptFilterAsyncHelper(const Model::CreateReceiptFilterRequest& request, const CreateReceiptFilterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3875         void CreateReceiptRuleAsyncHelper(const Model::CreateReceiptRuleRequest& request, const CreateReceiptRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3876         void CreateReceiptRuleSetAsyncHelper(const Model::CreateReceiptRuleSetRequest& request, const CreateReceiptRuleSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3877         void CreateTemplateAsyncHelper(const Model::CreateTemplateRequest& request, const CreateTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3878         void DeleteConfigurationSetAsyncHelper(const Model::DeleteConfigurationSetRequest& request, const DeleteConfigurationSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3879         void DeleteConfigurationSetEventDestinationAsyncHelper(const Model::DeleteConfigurationSetEventDestinationRequest& request, const DeleteConfigurationSetEventDestinationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3880         void DeleteConfigurationSetTrackingOptionsAsyncHelper(const Model::DeleteConfigurationSetTrackingOptionsRequest& request, const DeleteConfigurationSetTrackingOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3881         void DeleteCustomVerificationEmailTemplateAsyncHelper(const Model::DeleteCustomVerificationEmailTemplateRequest& request, const DeleteCustomVerificationEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3882         void DeleteIdentityAsyncHelper(const Model::DeleteIdentityRequest& request, const DeleteIdentityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3883         void DeleteIdentityPolicyAsyncHelper(const Model::DeleteIdentityPolicyRequest& request, const DeleteIdentityPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3884         void DeleteReceiptFilterAsyncHelper(const Model::DeleteReceiptFilterRequest& request, const DeleteReceiptFilterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3885         void DeleteReceiptRuleAsyncHelper(const Model::DeleteReceiptRuleRequest& request, const DeleteReceiptRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3886         void DeleteReceiptRuleSetAsyncHelper(const Model::DeleteReceiptRuleSetRequest& request, const DeleteReceiptRuleSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3887         void DeleteTemplateAsyncHelper(const Model::DeleteTemplateRequest& request, const DeleteTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3888         void DeleteVerifiedEmailAddressAsyncHelper(const Model::DeleteVerifiedEmailAddressRequest& request, const DeleteVerifiedEmailAddressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3889         void DescribeActiveReceiptRuleSetAsyncHelper(const Model::DescribeActiveReceiptRuleSetRequest& request, const DescribeActiveReceiptRuleSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3890         void DescribeConfigurationSetAsyncHelper(const Model::DescribeConfigurationSetRequest& request, const DescribeConfigurationSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3891         void DescribeReceiptRuleAsyncHelper(const Model::DescribeReceiptRuleRequest& request, const DescribeReceiptRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3892         void DescribeReceiptRuleSetAsyncHelper(const Model::DescribeReceiptRuleSetRequest& request, const DescribeReceiptRuleSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3893         void GetAccountSendingEnabledAsyncHelper(const Model::GetAccountSendingEnabledRequest& request, const GetAccountSendingEnabledResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3894         void GetCustomVerificationEmailTemplateAsyncHelper(const Model::GetCustomVerificationEmailTemplateRequest& request, const GetCustomVerificationEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3895         void GetIdentityDkimAttributesAsyncHelper(const Model::GetIdentityDkimAttributesRequest& request, const GetIdentityDkimAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3896         void GetIdentityMailFromDomainAttributesAsyncHelper(const Model::GetIdentityMailFromDomainAttributesRequest& request, const GetIdentityMailFromDomainAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3897         void GetIdentityNotificationAttributesAsyncHelper(const Model::GetIdentityNotificationAttributesRequest& request, const GetIdentityNotificationAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3898         void GetIdentityPoliciesAsyncHelper(const Model::GetIdentityPoliciesRequest& request, const GetIdentityPoliciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3899         void GetIdentityVerificationAttributesAsyncHelper(const Model::GetIdentityVerificationAttributesRequest& request, const GetIdentityVerificationAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3900         void GetSendQuotaAsyncHelper(const Model::GetSendQuotaRequest& request, const GetSendQuotaResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3901         void GetSendStatisticsAsyncHelper(const Model::GetSendStatisticsRequest& request, const GetSendStatisticsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3902         void GetTemplateAsyncHelper(const Model::GetTemplateRequest& request, const GetTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3903         void ListConfigurationSetsAsyncHelper(const Model::ListConfigurationSetsRequest& request, const ListConfigurationSetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3904         void ListCustomVerificationEmailTemplatesAsyncHelper(const Model::ListCustomVerificationEmailTemplatesRequest& request, const ListCustomVerificationEmailTemplatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3905         void ListIdentitiesAsyncHelper(const Model::ListIdentitiesRequest& request, const ListIdentitiesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3906         void ListIdentityPoliciesAsyncHelper(const Model::ListIdentityPoliciesRequest& request, const ListIdentityPoliciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3907         void ListReceiptFiltersAsyncHelper(const Model::ListReceiptFiltersRequest& request, const ListReceiptFiltersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3908         void ListReceiptRuleSetsAsyncHelper(const Model::ListReceiptRuleSetsRequest& request, const ListReceiptRuleSetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3909         void ListTemplatesAsyncHelper(const Model::ListTemplatesRequest& request, const ListTemplatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3910         void ListVerifiedEmailAddressesAsyncHelper(const Model::ListVerifiedEmailAddressesRequest& request, const ListVerifiedEmailAddressesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3911         void PutConfigurationSetDeliveryOptionsAsyncHelper(const Model::PutConfigurationSetDeliveryOptionsRequest& request, const PutConfigurationSetDeliveryOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3912         void PutIdentityPolicyAsyncHelper(const Model::PutIdentityPolicyRequest& request, const PutIdentityPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3913         void ReorderReceiptRuleSetAsyncHelper(const Model::ReorderReceiptRuleSetRequest& request, const ReorderReceiptRuleSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3914         void SendBounceAsyncHelper(const Model::SendBounceRequest& request, const SendBounceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3915         void SendBulkTemplatedEmailAsyncHelper(const Model::SendBulkTemplatedEmailRequest& request, const SendBulkTemplatedEmailResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3916         void SendCustomVerificationEmailAsyncHelper(const Model::SendCustomVerificationEmailRequest& request, const SendCustomVerificationEmailResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3917         void SendEmailAsyncHelper(const Model::SendEmailRequest& request, const SendEmailResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3918         void SendRawEmailAsyncHelper(const Model::SendRawEmailRequest& request, const SendRawEmailResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3919         void SendTemplatedEmailAsyncHelper(const Model::SendTemplatedEmailRequest& request, const SendTemplatedEmailResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3920         void SetActiveReceiptRuleSetAsyncHelper(const Model::SetActiveReceiptRuleSetRequest& request, const SetActiveReceiptRuleSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3921         void SetIdentityDkimEnabledAsyncHelper(const Model::SetIdentityDkimEnabledRequest& request, const SetIdentityDkimEnabledResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3922         void SetIdentityFeedbackForwardingEnabledAsyncHelper(const Model::SetIdentityFeedbackForwardingEnabledRequest& request, const SetIdentityFeedbackForwardingEnabledResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3923         void SetIdentityHeadersInNotificationsEnabledAsyncHelper(const Model::SetIdentityHeadersInNotificationsEnabledRequest& request, const SetIdentityHeadersInNotificationsEnabledResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3924         void SetIdentityMailFromDomainAsyncHelper(const Model::SetIdentityMailFromDomainRequest& request, const SetIdentityMailFromDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3925         void SetIdentityNotificationTopicAsyncHelper(const Model::SetIdentityNotificationTopicRequest& request, const SetIdentityNotificationTopicResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3926         void SetReceiptRulePositionAsyncHelper(const Model::SetReceiptRulePositionRequest& request, const SetReceiptRulePositionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3927         void TestRenderTemplateAsyncHelper(const Model::TestRenderTemplateRequest& request, const TestRenderTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3928         void UpdateAccountSendingEnabledAsyncHelper(const Model::UpdateAccountSendingEnabledRequest& request, const UpdateAccountSendingEnabledResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3929         void UpdateConfigurationSetEventDestinationAsyncHelper(const Model::UpdateConfigurationSetEventDestinationRequest& request, const UpdateConfigurationSetEventDestinationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3930         void UpdateConfigurationSetReputationMetricsEnabledAsyncHelper(const Model::UpdateConfigurationSetReputationMetricsEnabledRequest& request, const UpdateConfigurationSetReputationMetricsEnabledResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3931         void UpdateConfigurationSetSendingEnabledAsyncHelper(const Model::UpdateConfigurationSetSendingEnabledRequest& request, const UpdateConfigurationSetSendingEnabledResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3932         void UpdateConfigurationSetTrackingOptionsAsyncHelper(const Model::UpdateConfigurationSetTrackingOptionsRequest& request, const UpdateConfigurationSetTrackingOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3933         void UpdateCustomVerificationEmailTemplateAsyncHelper(const Model::UpdateCustomVerificationEmailTemplateRequest& request, const UpdateCustomVerificationEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3934         void UpdateReceiptRuleAsyncHelper(const Model::UpdateReceiptRuleRequest& request, const UpdateReceiptRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3935         void UpdateTemplateAsyncHelper(const Model::UpdateTemplateRequest& request, const UpdateTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3936         void VerifyDomainDkimAsyncHelper(const Model::VerifyDomainDkimRequest& request, const VerifyDomainDkimResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3937         void VerifyDomainIdentityAsyncHelper(const Model::VerifyDomainIdentityRequest& request, const VerifyDomainIdentityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3938         void VerifyEmailAddressAsyncHelper(const Model::VerifyEmailAddressRequest& request, const VerifyEmailAddressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3939         void VerifyEmailIdentityAsyncHelper(const Model::VerifyEmailIdentityRequest& request, const VerifyEmailIdentityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
3940 
3941         Aws::String m_uri;
3942         Aws::String m_configScheme;
3943         std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
3944   };
3945 
3946 } // namespace SES
3947 } // namespace Aws
3948