/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace SESV2 { /** * Amazon SES API v2

Amazon SES is an Amazon Web Services * service that you can use to send email messages to your customers.

If * you're new to Amazon SES API v2, you might find it helpful to review the Amazon Simple * Email Service Developer Guide. The Amazon SES Developer Guide * provides information and code samples that demonstrate how to use Amazon SES API * v2 features programmatically.

*/ class AWS_SESV2_API SESV2Client : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef SESV2ClientConfiguration ClientConfigurationType; typedef SESV2EndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ SESV2Client(const Aws::SESV2::SESV2ClientConfiguration& clientConfiguration = Aws::SESV2::SESV2ClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ SESV2Client(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::SESV2::SESV2ClientConfiguration& clientConfiguration = Aws::SESV2::SESV2ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ SESV2Client(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::SESV2::SESV2ClientConfiguration& clientConfiguration = Aws::SESV2::SESV2ClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ SESV2Client(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ SESV2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ SESV2Client(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~SESV2Client(); /** *

Retrieves batches of metric data collected based on your sending * activity.

You can execute this operation no more than 16 times per * second, and with at most 160 queries from the batches per second * (cumulative).

See Also:

AWS * API Reference

*/ virtual Model::BatchGetMetricDataOutcome BatchGetMetricData(const Model::BatchGetMetricDataRequest& request) const; /** * A Callable wrapper for BatchGetMetricData that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::BatchGetMetricDataOutcomeCallable BatchGetMetricDataCallable(const BatchGetMetricDataRequestT& request) const { return SubmitCallable(&SESV2Client::BatchGetMetricData, request); } /** * An Async wrapper for BatchGetMetricData that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void BatchGetMetricDataAsync(const BatchGetMetricDataRequestT& request, const BatchGetMetricDataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::BatchGetMetricData, request, handler, context); } /** *

Create a configuration set. Configuration sets are groups of rules * that you can apply to the emails that you send. You apply a configuration set to * an email by specifying the name of the configuration set when you call the * Amazon SES API v2. When you apply a configuration set to an email, all of the * rules in that configuration set are applied to the email.

See * Also:

AWS * API Reference

*/ virtual Model::CreateConfigurationSetOutcome CreateConfigurationSet(const Model::CreateConfigurationSetRequest& request) const; /** * A Callable wrapper for CreateConfigurationSet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateConfigurationSetOutcomeCallable CreateConfigurationSetCallable(const CreateConfigurationSetRequestT& request) const { return SubmitCallable(&SESV2Client::CreateConfigurationSet, request); } /** * An Async wrapper for CreateConfigurationSet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateConfigurationSetAsync(const CreateConfigurationSetRequestT& request, const CreateConfigurationSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::CreateConfigurationSet, request, handler, context); } /** *

Create an event destination. Events include message sends, deliveries, * opens, clicks, bounces, and complaints. Event destinations are places * that you can send information about these events to. For example, you can send * event data to Amazon SNS to receive notifications when you receive bounces or * complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon * S3 for long-term storage.

A single configuration set can include more * than one event destination.

See Also:

AWS * API Reference

*/ virtual Model::CreateConfigurationSetEventDestinationOutcome CreateConfigurationSetEventDestination(const Model::CreateConfigurationSetEventDestinationRequest& request) const; /** * A Callable wrapper for CreateConfigurationSetEventDestination that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateConfigurationSetEventDestinationOutcomeCallable CreateConfigurationSetEventDestinationCallable(const CreateConfigurationSetEventDestinationRequestT& request) const { return SubmitCallable(&SESV2Client::CreateConfigurationSetEventDestination, request); } /** * An Async wrapper for CreateConfigurationSetEventDestination that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateConfigurationSetEventDestinationAsync(const CreateConfigurationSetEventDestinationRequestT& request, const CreateConfigurationSetEventDestinationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::CreateConfigurationSetEventDestination, request, handler, context); } /** *

Creates a contact, which is an end-user who is receiving the email, and adds * them to a contact list.

See Also:

AWS * API Reference

*/ virtual Model::CreateContactOutcome CreateContact(const Model::CreateContactRequest& request) const; /** * A Callable wrapper for CreateContact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateContactOutcomeCallable CreateContactCallable(const CreateContactRequestT& request) const { return SubmitCallable(&SESV2Client::CreateContact, request); } /** * An Async wrapper for CreateContact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateContactAsync(const CreateContactRequestT& request, const CreateContactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::CreateContact, request, handler, context); } /** *

Creates a contact list.

See Also:

AWS * API Reference

*/ virtual Model::CreateContactListOutcome CreateContactList(const Model::CreateContactListRequest& request) const; /** * A Callable wrapper for CreateContactList that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateContactListOutcomeCallable CreateContactListCallable(const CreateContactListRequestT& request) const { return SubmitCallable(&SESV2Client::CreateContactList, request); } /** * An Async wrapper for CreateContactList that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateContactListAsync(const CreateContactListRequestT& request, const CreateContactListResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::CreateContactList, request, handler, context); } /** *

Creates a new custom verification email template.

For more information * about custom verification email templates, see Using * custom verification email templates in the Amazon SES Developer * Guide.

You can execute this operation no more than once per * second.

See Also:

AWS * API Reference

*/ virtual Model::CreateCustomVerificationEmailTemplateOutcome CreateCustomVerificationEmailTemplate(const Model::CreateCustomVerificationEmailTemplateRequest& request) const; /** * A Callable wrapper for CreateCustomVerificationEmailTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateCustomVerificationEmailTemplateOutcomeCallable CreateCustomVerificationEmailTemplateCallable(const CreateCustomVerificationEmailTemplateRequestT& request) const { return SubmitCallable(&SESV2Client::CreateCustomVerificationEmailTemplate, request); } /** * An Async wrapper for CreateCustomVerificationEmailTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateCustomVerificationEmailTemplateAsync(const CreateCustomVerificationEmailTemplateRequestT& request, const CreateCustomVerificationEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::CreateCustomVerificationEmailTemplate, request, handler, context); } /** *

Create a new pool of dedicated IP addresses. A pool can include one or more * dedicated IP addresses that are associated with your Amazon Web Services * account. You can associate a pool with a configuration set. When you send an * email that uses that configuration set, the message is sent from one of the * addresses in the associated pool.

See Also:

AWS * API Reference

*/ virtual Model::CreateDedicatedIpPoolOutcome CreateDedicatedIpPool(const Model::CreateDedicatedIpPoolRequest& request) const; /** * A Callable wrapper for CreateDedicatedIpPool that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateDedicatedIpPoolOutcomeCallable CreateDedicatedIpPoolCallable(const CreateDedicatedIpPoolRequestT& request) const { return SubmitCallable(&SESV2Client::CreateDedicatedIpPool, request); } /** * An Async wrapper for CreateDedicatedIpPool that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateDedicatedIpPoolAsync(const CreateDedicatedIpPoolRequestT& request, const CreateDedicatedIpPoolResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::CreateDedicatedIpPool, request, handler, context); } /** *

Create a new predictive inbox placement test. Predictive inbox placement * tests can help you predict how your messages will be handled by various email * providers around the world. When you perform a predictive inbox placement test, * you provide a sample message that contains the content that you plan to send to * your customers. Amazon SES then sends that message to special email addresses * spread across several major email providers. After about 24 hours, the test is * complete, and you can use the GetDeliverabilityTestReport operation * to view the results of the test.

See Also:

AWS * API Reference

*/ virtual Model::CreateDeliverabilityTestReportOutcome CreateDeliverabilityTestReport(const Model::CreateDeliverabilityTestReportRequest& request) const; /** * A Callable wrapper for CreateDeliverabilityTestReport that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateDeliverabilityTestReportOutcomeCallable CreateDeliverabilityTestReportCallable(const CreateDeliverabilityTestReportRequestT& request) const { return SubmitCallable(&SESV2Client::CreateDeliverabilityTestReport, request); } /** * An Async wrapper for CreateDeliverabilityTestReport that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateDeliverabilityTestReportAsync(const CreateDeliverabilityTestReportRequestT& request, const CreateDeliverabilityTestReportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::CreateDeliverabilityTestReport, request, handler, context); } /** *

Starts the process of verifying an email identity. An identity is an * email address or domain that you use when you send email. Before you can use an * identity to send email, you first have to verify it. By verifying an identity, * you demonstrate that you're the owner of the identity, and that you've given * Amazon SES API v2 permission to send email from the identity.

When you * verify an email address, Amazon SES sends an email to the address. Your email * address is verified as soon as you follow the link in the verification email. *

When you verify a domain without specifying the * DkimSigningAttributes object, this operation provides a set of DKIM * tokens. You can convert these tokens into CNAME records, which you then add to * the DNS configuration for your domain. Your domain is verified when Amazon SES * detects these records in the DNS configuration for your domain. This * verification method is known as Easy * DKIM.

Alternatively, you can perform the verification process by * providing your own public-private key pair. This verification method is known as * Bring Your Own DKIM (BYODKIM). To use BYODKIM, your call to the * CreateEmailIdentity operation has to include the * DkimSigningAttributes object. When you specify this object, you * provide a selector (a component of the DNS record name that identifies the * public key to use for DKIM authentication) and a private key.

When you * verify a domain, this operation provides a set of DKIM tokens, which you can * convert into CNAME tokens. You add these CNAME tokens to the DNS configuration * for your domain. Your domain is verified when Amazon SES detects these records * in the DNS configuration for your domain. For some DNS providers, it can take 72 * hours or more to complete the domain verification process.

Additionally, * you can associate an existing configuration set with the email identity that * you're verifying.

See Also:

AWS * API Reference

*/ virtual Model::CreateEmailIdentityOutcome CreateEmailIdentity(const Model::CreateEmailIdentityRequest& request) const; /** * A Callable wrapper for CreateEmailIdentity that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateEmailIdentityOutcomeCallable CreateEmailIdentityCallable(const CreateEmailIdentityRequestT& request) const { return SubmitCallable(&SESV2Client::CreateEmailIdentity, request); } /** * An Async wrapper for CreateEmailIdentity that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateEmailIdentityAsync(const CreateEmailIdentityRequestT& request, const CreateEmailIdentityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::CreateEmailIdentity, request, handler, context); } /** *

Creates the specified sending authorization policy for the given identity (an * email address or a domain).

This API is for the identity owner * only. If you have not verified the identity, this API will return an error.

*

Sending authorization is a feature that enables an identity owner to * authorize other senders to use its identities. For information about using * sending authorization, see the Amazon * SES Developer Guide.

You can execute this operation no more than once * per second.

See Also:

AWS * API Reference

*/ virtual Model::CreateEmailIdentityPolicyOutcome CreateEmailIdentityPolicy(const Model::CreateEmailIdentityPolicyRequest& request) const; /** * A Callable wrapper for CreateEmailIdentityPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateEmailIdentityPolicyOutcomeCallable CreateEmailIdentityPolicyCallable(const CreateEmailIdentityPolicyRequestT& request) const { return SubmitCallable(&SESV2Client::CreateEmailIdentityPolicy, request); } /** * An Async wrapper for CreateEmailIdentityPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateEmailIdentityPolicyAsync(const CreateEmailIdentityPolicyRequestT& request, const CreateEmailIdentityPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::CreateEmailIdentityPolicy, request, handler, context); } /** *

Creates an email template. Email templates enable you to send personalized * email to one or more destinations in a single API operation. For more * information, see the Amazon * SES Developer Guide.

You can execute this operation no more than once * per second.

See Also:

AWS * API Reference

*/ virtual Model::CreateEmailTemplateOutcome CreateEmailTemplate(const Model::CreateEmailTemplateRequest& request) const; /** * A Callable wrapper for CreateEmailTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateEmailTemplateOutcomeCallable CreateEmailTemplateCallable(const CreateEmailTemplateRequestT& request) const { return SubmitCallable(&SESV2Client::CreateEmailTemplate, request); } /** * An Async wrapper for CreateEmailTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateEmailTemplateAsync(const CreateEmailTemplateRequestT& request, const CreateEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::CreateEmailTemplate, request, handler, context); } /** *

Creates an import job for a data destination.

See Also:

AWS * API Reference

*/ virtual Model::CreateImportJobOutcome CreateImportJob(const Model::CreateImportJobRequest& request) const; /** * A Callable wrapper for CreateImportJob that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateImportJobOutcomeCallable CreateImportJobCallable(const CreateImportJobRequestT& request) const { return SubmitCallable(&SESV2Client::CreateImportJob, request); } /** * An Async wrapper for CreateImportJob that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateImportJobAsync(const CreateImportJobRequestT& request, const CreateImportJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::CreateImportJob, request, handler, context); } /** *

Delete an existing configuration set.

Configuration sets are * groups of rules that you can apply to the emails you send. You apply a * configuration set to an email by including a reference to the configuration set * in the headers of the email. When you apply a configuration set to an email, all * of the rules in that configuration set are applied to the email.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteConfigurationSetOutcome DeleteConfigurationSet(const Model::DeleteConfigurationSetRequest& request) const; /** * A Callable wrapper for DeleteConfigurationSet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteConfigurationSetOutcomeCallable DeleteConfigurationSetCallable(const DeleteConfigurationSetRequestT& request) const { return SubmitCallable(&SESV2Client::DeleteConfigurationSet, request); } /** * An Async wrapper for DeleteConfigurationSet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteConfigurationSetAsync(const DeleteConfigurationSetRequestT& request, const DeleteConfigurationSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::DeleteConfigurationSet, request, handler, context); } /** *

Delete an event destination.

Events include message sends, * deliveries, opens, clicks, bounces, and complaints. Event destinations * are places that you can send information about these events to. For example, you * can send event data to Amazon SNS to receive notifications when you receive * bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream * data to Amazon S3 for long-term storage.

See Also:

AWS * API Reference

*/ virtual Model::DeleteConfigurationSetEventDestinationOutcome DeleteConfigurationSetEventDestination(const Model::DeleteConfigurationSetEventDestinationRequest& request) const; /** * A Callable wrapper for DeleteConfigurationSetEventDestination that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteConfigurationSetEventDestinationOutcomeCallable DeleteConfigurationSetEventDestinationCallable(const DeleteConfigurationSetEventDestinationRequestT& request) const { return SubmitCallable(&SESV2Client::DeleteConfigurationSetEventDestination, request); } /** * An Async wrapper for DeleteConfigurationSetEventDestination that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteConfigurationSetEventDestinationAsync(const DeleteConfigurationSetEventDestinationRequestT& request, const DeleteConfigurationSetEventDestinationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::DeleteConfigurationSetEventDestination, request, handler, context); } /** *

Removes a contact from a contact list.

See Also:

AWS * API Reference

*/ virtual Model::DeleteContactOutcome DeleteContact(const Model::DeleteContactRequest& request) const; /** * A Callable wrapper for DeleteContact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteContactOutcomeCallable DeleteContactCallable(const DeleteContactRequestT& request) const { return SubmitCallable(&SESV2Client::DeleteContact, request); } /** * An Async wrapper for DeleteContact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteContactAsync(const DeleteContactRequestT& request, const DeleteContactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::DeleteContact, request, handler, context); } /** *

Deletes a contact list and all of the contacts on that list.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteContactListOutcome DeleteContactList(const Model::DeleteContactListRequest& request) const; /** * A Callable wrapper for DeleteContactList that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteContactListOutcomeCallable DeleteContactListCallable(const DeleteContactListRequestT& request) const { return SubmitCallable(&SESV2Client::DeleteContactList, request); } /** * An Async wrapper for DeleteContactList that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteContactListAsync(const DeleteContactListRequestT& request, const DeleteContactListResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::DeleteContactList, request, handler, context); } /** *

Deletes an existing custom verification email template.

For more * information about custom verification email templates, see Using * custom verification email templates in the Amazon SES Developer * Guide.

You can execute this operation no more than once per * second.

See Also:

AWS * API Reference

*/ virtual Model::DeleteCustomVerificationEmailTemplateOutcome DeleteCustomVerificationEmailTemplate(const Model::DeleteCustomVerificationEmailTemplateRequest& request) const; /** * A Callable wrapper for DeleteCustomVerificationEmailTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteCustomVerificationEmailTemplateOutcomeCallable DeleteCustomVerificationEmailTemplateCallable(const DeleteCustomVerificationEmailTemplateRequestT& request) const { return SubmitCallable(&SESV2Client::DeleteCustomVerificationEmailTemplate, request); } /** * An Async wrapper for DeleteCustomVerificationEmailTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteCustomVerificationEmailTemplateAsync(const DeleteCustomVerificationEmailTemplateRequestT& request, const DeleteCustomVerificationEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::DeleteCustomVerificationEmailTemplate, request, handler, context); } /** *

Delete a dedicated IP pool.

See Also:

AWS * API Reference

*/ virtual Model::DeleteDedicatedIpPoolOutcome DeleteDedicatedIpPool(const Model::DeleteDedicatedIpPoolRequest& request) const; /** * A Callable wrapper for DeleteDedicatedIpPool that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteDedicatedIpPoolOutcomeCallable DeleteDedicatedIpPoolCallable(const DeleteDedicatedIpPoolRequestT& request) const { return SubmitCallable(&SESV2Client::DeleteDedicatedIpPool, request); } /** * An Async wrapper for DeleteDedicatedIpPool that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteDedicatedIpPoolAsync(const DeleteDedicatedIpPoolRequestT& request, const DeleteDedicatedIpPoolResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::DeleteDedicatedIpPool, request, handler, context); } /** *

Deletes an email identity. An identity can be either an email address or a * domain name.

See Also:

AWS * API Reference

*/ virtual Model::DeleteEmailIdentityOutcome DeleteEmailIdentity(const Model::DeleteEmailIdentityRequest& request) const; /** * A Callable wrapper for DeleteEmailIdentity that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteEmailIdentityOutcomeCallable DeleteEmailIdentityCallable(const DeleteEmailIdentityRequestT& request) const { return SubmitCallable(&SESV2Client::DeleteEmailIdentity, request); } /** * An Async wrapper for DeleteEmailIdentity that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteEmailIdentityAsync(const DeleteEmailIdentityRequestT& request, const DeleteEmailIdentityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::DeleteEmailIdentity, request, handler, context); } /** *

Deletes the specified sending authorization policy for the given identity (an * email address or a domain). This API returns successfully even if a policy with * the specified name does not exist.

This API is for the identity * owner only. If you have not verified the identity, this API will return an * error.

Sending authorization is a feature that enables an * identity owner to authorize other senders to use its identities. For information * about using sending authorization, see the Amazon * SES Developer Guide.

You can execute this operation no more than once * per second.

See Also:

AWS * API Reference

*/ virtual Model::DeleteEmailIdentityPolicyOutcome DeleteEmailIdentityPolicy(const Model::DeleteEmailIdentityPolicyRequest& request) const; /** * A Callable wrapper for DeleteEmailIdentityPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteEmailIdentityPolicyOutcomeCallable DeleteEmailIdentityPolicyCallable(const DeleteEmailIdentityPolicyRequestT& request) const { return SubmitCallable(&SESV2Client::DeleteEmailIdentityPolicy, request); } /** * An Async wrapper for DeleteEmailIdentityPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteEmailIdentityPolicyAsync(const DeleteEmailIdentityPolicyRequestT& request, const DeleteEmailIdentityPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::DeleteEmailIdentityPolicy, request, handler, context); } /** *

Deletes an email template.

You can execute this operation no more than * once per second.

See Also:

AWS * API Reference

*/ virtual Model::DeleteEmailTemplateOutcome DeleteEmailTemplate(const Model::DeleteEmailTemplateRequest& request) const; /** * A Callable wrapper for DeleteEmailTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteEmailTemplateOutcomeCallable DeleteEmailTemplateCallable(const DeleteEmailTemplateRequestT& request) const { return SubmitCallable(&SESV2Client::DeleteEmailTemplate, request); } /** * An Async wrapper for DeleteEmailTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteEmailTemplateAsync(const DeleteEmailTemplateRequestT& request, const DeleteEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::DeleteEmailTemplate, request, handler, context); } /** *

Removes an email address from the suppression list for your * account.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSuppressedDestinationOutcome DeleteSuppressedDestination(const Model::DeleteSuppressedDestinationRequest& request) const; /** * A Callable wrapper for DeleteSuppressedDestination that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteSuppressedDestinationOutcomeCallable DeleteSuppressedDestinationCallable(const DeleteSuppressedDestinationRequestT& request) const { return SubmitCallable(&SESV2Client::DeleteSuppressedDestination, request); } /** * An Async wrapper for DeleteSuppressedDestination that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteSuppressedDestinationAsync(const DeleteSuppressedDestinationRequestT& request, const DeleteSuppressedDestinationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::DeleteSuppressedDestination, request, handler, context); } /** *

Obtain information about the email-sending status and capabilities of your * Amazon SES account in the current Amazon Web Services Region.

See * Also:

AWS * API Reference

*/ virtual Model::GetAccountOutcome GetAccount(const Model::GetAccountRequest& request) const; /** * A Callable wrapper for GetAccount that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetAccountOutcomeCallable GetAccountCallable(const GetAccountRequestT& request) const { return SubmitCallable(&SESV2Client::GetAccount, request); } /** * An Async wrapper for GetAccount that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetAccountAsync(const GetAccountRequestT& request, const GetAccountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetAccount, request, handler, context); } /** *

Retrieve a list of the blacklists that your dedicated IP addresses appear * on.

See Also:

AWS * API Reference

*/ virtual Model::GetBlacklistReportsOutcome GetBlacklistReports(const Model::GetBlacklistReportsRequest& request) const; /** * A Callable wrapper for GetBlacklistReports that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetBlacklistReportsOutcomeCallable GetBlacklistReportsCallable(const GetBlacklistReportsRequestT& request) const { return SubmitCallable(&SESV2Client::GetBlacklistReports, request); } /** * An Async wrapper for GetBlacklistReports that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetBlacklistReportsAsync(const GetBlacklistReportsRequestT& request, const GetBlacklistReportsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetBlacklistReports, request, handler, context); } /** *

Get information about an existing configuration set, including the dedicated * IP pool that it's associated with, whether or not it's enabled for sending * email, and more.

Configuration sets are groups of rules that you * can apply to the emails you send. You apply a configuration set to an email by * including a reference to the configuration set in the headers of the email. When * you apply a configuration set to an email, all of the rules in that * configuration set are applied to the email.

See Also:

AWS * API Reference

*/ virtual Model::GetConfigurationSetOutcome GetConfigurationSet(const Model::GetConfigurationSetRequest& request) const; /** * A Callable wrapper for GetConfigurationSet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetConfigurationSetOutcomeCallable GetConfigurationSetCallable(const GetConfigurationSetRequestT& request) const { return SubmitCallable(&SESV2Client::GetConfigurationSet, request); } /** * An Async wrapper for GetConfigurationSet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetConfigurationSetAsync(const GetConfigurationSetRequestT& request, const GetConfigurationSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetConfigurationSet, request, handler, context); } /** *

Retrieve a list of event destinations that are associated with a * configuration set.

Events include message sends, deliveries, * opens, clicks, bounces, and complaints. Event destinations are places * that you can send information about these events to. For example, you can send * event data to Amazon SNS to receive notifications when you receive bounces or * complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon * S3 for long-term storage.

See Also:

AWS * API Reference

*/ virtual Model::GetConfigurationSetEventDestinationsOutcome GetConfigurationSetEventDestinations(const Model::GetConfigurationSetEventDestinationsRequest& request) const; /** * A Callable wrapper for GetConfigurationSetEventDestinations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetConfigurationSetEventDestinationsOutcomeCallable GetConfigurationSetEventDestinationsCallable(const GetConfigurationSetEventDestinationsRequestT& request) const { return SubmitCallable(&SESV2Client::GetConfigurationSetEventDestinations, request); } /** * An Async wrapper for GetConfigurationSetEventDestinations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetConfigurationSetEventDestinationsAsync(const GetConfigurationSetEventDestinationsRequestT& request, const GetConfigurationSetEventDestinationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetConfigurationSetEventDestinations, request, handler, context); } /** *

Returns a contact from a contact list.

See Also:

AWS * API Reference

*/ virtual Model::GetContactOutcome GetContact(const Model::GetContactRequest& request) const; /** * A Callable wrapper for GetContact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetContactOutcomeCallable GetContactCallable(const GetContactRequestT& request) const { return SubmitCallable(&SESV2Client::GetContact, request); } /** * An Async wrapper for GetContact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetContactAsync(const GetContactRequestT& request, const GetContactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetContact, request, handler, context); } /** *

Returns contact list metadata. It does not return any information about the * contacts present in the list.

See Also:

AWS * API Reference

*/ virtual Model::GetContactListOutcome GetContactList(const Model::GetContactListRequest& request) const; /** * A Callable wrapper for GetContactList that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetContactListOutcomeCallable GetContactListCallable(const GetContactListRequestT& request) const { return SubmitCallable(&SESV2Client::GetContactList, request); } /** * An Async wrapper for GetContactList that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetContactListAsync(const GetContactListRequestT& request, const GetContactListResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetContactList, request, handler, context); } /** *

Returns the custom email verification template for the template name you * specify.

For more information about custom verification email templates, * see Using * custom verification email templates in the Amazon SES Developer * Guide.

You can execute this operation no more than once per * second.

See Also:

AWS * API Reference

*/ virtual Model::GetCustomVerificationEmailTemplateOutcome GetCustomVerificationEmailTemplate(const Model::GetCustomVerificationEmailTemplateRequest& request) const; /** * A Callable wrapper for GetCustomVerificationEmailTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetCustomVerificationEmailTemplateOutcomeCallable GetCustomVerificationEmailTemplateCallable(const GetCustomVerificationEmailTemplateRequestT& request) const { return SubmitCallable(&SESV2Client::GetCustomVerificationEmailTemplate, request); } /** * An Async wrapper for GetCustomVerificationEmailTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetCustomVerificationEmailTemplateAsync(const GetCustomVerificationEmailTemplateRequestT& request, const GetCustomVerificationEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetCustomVerificationEmailTemplate, request, handler, context); } /** *

Get information about a dedicated IP address, including the name of the * dedicated IP pool that it's associated with, as well information about the * automatic warm-up process for the address.

See Also:

AWS * API Reference

*/ virtual Model::GetDedicatedIpOutcome GetDedicatedIp(const Model::GetDedicatedIpRequest& request) const; /** * A Callable wrapper for GetDedicatedIp that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDedicatedIpOutcomeCallable GetDedicatedIpCallable(const GetDedicatedIpRequestT& request) const { return SubmitCallable(&SESV2Client::GetDedicatedIp, request); } /** * An Async wrapper for GetDedicatedIp that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDedicatedIpAsync(const GetDedicatedIpRequestT& request, const GetDedicatedIpResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetDedicatedIp, request, handler, context); } /** *

Retrieve information about the dedicated pool.

See Also:

AWS * API Reference

*/ virtual Model::GetDedicatedIpPoolOutcome GetDedicatedIpPool(const Model::GetDedicatedIpPoolRequest& request) const; /** * A Callable wrapper for GetDedicatedIpPool that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDedicatedIpPoolOutcomeCallable GetDedicatedIpPoolCallable(const GetDedicatedIpPoolRequestT& request) const { return SubmitCallable(&SESV2Client::GetDedicatedIpPool, request); } /** * An Async wrapper for GetDedicatedIpPool that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDedicatedIpPoolAsync(const GetDedicatedIpPoolRequestT& request, const GetDedicatedIpPoolResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetDedicatedIpPool, request, handler, context); } /** *

List the dedicated IP addresses that are associated with your Amazon Web * Services account.

See Also:

AWS * API Reference

*/ virtual Model::GetDedicatedIpsOutcome GetDedicatedIps(const Model::GetDedicatedIpsRequest& request) const; /** * A Callable wrapper for GetDedicatedIps that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDedicatedIpsOutcomeCallable GetDedicatedIpsCallable(const GetDedicatedIpsRequestT& request) const { return SubmitCallable(&SESV2Client::GetDedicatedIps, request); } /** * An Async wrapper for GetDedicatedIps that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDedicatedIpsAsync(const GetDedicatedIpsRequestT& request, const GetDedicatedIpsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetDedicatedIps, request, handler, context); } /** *

Retrieve information about the status of the Deliverability dashboard for * your account. When the Deliverability dashboard is enabled, you gain access to * reputation, deliverability, and other metrics for the domains that you use to * send email. You also gain the ability to perform predictive inbox placement * tests.

When you use the Deliverability dashboard, you pay a monthly * subscription charge, in addition to any other fees that you accrue by using * Amazon SES and other Amazon Web Services services. For more information about * the features and cost of a Deliverability dashboard subscription, see Amazon SES Pricing.

See * Also:

AWS * API Reference

*/ virtual Model::GetDeliverabilityDashboardOptionsOutcome GetDeliverabilityDashboardOptions(const Model::GetDeliverabilityDashboardOptionsRequest& request) const; /** * A Callable wrapper for GetDeliverabilityDashboardOptions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDeliverabilityDashboardOptionsOutcomeCallable GetDeliverabilityDashboardOptionsCallable(const GetDeliverabilityDashboardOptionsRequestT& request) const { return SubmitCallable(&SESV2Client::GetDeliverabilityDashboardOptions, request); } /** * An Async wrapper for GetDeliverabilityDashboardOptions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDeliverabilityDashboardOptionsAsync(const GetDeliverabilityDashboardOptionsRequestT& request, const GetDeliverabilityDashboardOptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetDeliverabilityDashboardOptions, request, handler, context); } /** *

Retrieve the results of a predictive inbox placement test.

See * Also:

AWS * API Reference

*/ virtual Model::GetDeliverabilityTestReportOutcome GetDeliverabilityTestReport(const Model::GetDeliverabilityTestReportRequest& request) const; /** * A Callable wrapper for GetDeliverabilityTestReport that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDeliverabilityTestReportOutcomeCallable GetDeliverabilityTestReportCallable(const GetDeliverabilityTestReportRequestT& request) const { return SubmitCallable(&SESV2Client::GetDeliverabilityTestReport, request); } /** * An Async wrapper for GetDeliverabilityTestReport that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDeliverabilityTestReportAsync(const GetDeliverabilityTestReportRequestT& request, const GetDeliverabilityTestReportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetDeliverabilityTestReport, request, handler, context); } /** *

Retrieve all the deliverability data for a specific campaign. This data is * available for a campaign only if the campaign sent email by using a domain that * the Deliverability dashboard is enabled for.

See Also:

AWS * API Reference

*/ virtual Model::GetDomainDeliverabilityCampaignOutcome GetDomainDeliverabilityCampaign(const Model::GetDomainDeliverabilityCampaignRequest& request) const; /** * A Callable wrapper for GetDomainDeliverabilityCampaign that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDomainDeliverabilityCampaignOutcomeCallable GetDomainDeliverabilityCampaignCallable(const GetDomainDeliverabilityCampaignRequestT& request) const { return SubmitCallable(&SESV2Client::GetDomainDeliverabilityCampaign, request); } /** * An Async wrapper for GetDomainDeliverabilityCampaign that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDomainDeliverabilityCampaignAsync(const GetDomainDeliverabilityCampaignRequestT& request, const GetDomainDeliverabilityCampaignResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetDomainDeliverabilityCampaign, request, handler, context); } /** *

Retrieve inbox placement and engagement rates for the domains that you use to * send email.

See Also:

AWS * API Reference

*/ virtual Model::GetDomainStatisticsReportOutcome GetDomainStatisticsReport(const Model::GetDomainStatisticsReportRequest& request) const; /** * A Callable wrapper for GetDomainStatisticsReport that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDomainStatisticsReportOutcomeCallable GetDomainStatisticsReportCallable(const GetDomainStatisticsReportRequestT& request) const { return SubmitCallable(&SESV2Client::GetDomainStatisticsReport, request); } /** * An Async wrapper for GetDomainStatisticsReport that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDomainStatisticsReportAsync(const GetDomainStatisticsReportRequestT& request, const GetDomainStatisticsReportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetDomainStatisticsReport, request, handler, context); } /** *

Provides information about a specific identity, including the identity's * verification status, sending authorization policies, its DKIM authentication * status, and its custom Mail-From settings.

See Also:

AWS * API Reference

*/ virtual Model::GetEmailIdentityOutcome GetEmailIdentity(const Model::GetEmailIdentityRequest& request) const; /** * A Callable wrapper for GetEmailIdentity that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetEmailIdentityOutcomeCallable GetEmailIdentityCallable(const GetEmailIdentityRequestT& request) const { return SubmitCallable(&SESV2Client::GetEmailIdentity, request); } /** * An Async wrapper for GetEmailIdentity that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetEmailIdentityAsync(const GetEmailIdentityRequestT& request, const GetEmailIdentityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetEmailIdentity, request, handler, context); } /** *

Returns the requested sending authorization policies for the given identity * (an email address or a domain). The policies are returned as a map of policy * names to policy contents. You can retrieve a maximum of 20 policies at a * time.

This API is for the identity owner only. If you have not * verified the identity, this API will return an error.

Sending * authorization is a feature that enables an identity owner to authorize other * senders to use its identities. For information about using sending * authorization, see the Amazon * SES Developer Guide.

You can execute this operation no more than once * per second.

See Also:

AWS * API Reference

*/ virtual Model::GetEmailIdentityPoliciesOutcome GetEmailIdentityPolicies(const Model::GetEmailIdentityPoliciesRequest& request) const; /** * A Callable wrapper for GetEmailIdentityPolicies that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetEmailIdentityPoliciesOutcomeCallable GetEmailIdentityPoliciesCallable(const GetEmailIdentityPoliciesRequestT& request) const { return SubmitCallable(&SESV2Client::GetEmailIdentityPolicies, request); } /** * An Async wrapper for GetEmailIdentityPolicies that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetEmailIdentityPoliciesAsync(const GetEmailIdentityPoliciesRequestT& request, const GetEmailIdentityPoliciesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetEmailIdentityPolicies, request, handler, context); } /** *

Displays the template object (which includes the subject line, HTML part and * text part) for the template you specify.

You can execute this operation * no more than once per second.

See Also:

AWS * API Reference

*/ virtual Model::GetEmailTemplateOutcome GetEmailTemplate(const Model::GetEmailTemplateRequest& request) const; /** * A Callable wrapper for GetEmailTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetEmailTemplateOutcomeCallable GetEmailTemplateCallable(const GetEmailTemplateRequestT& request) const { return SubmitCallable(&SESV2Client::GetEmailTemplate, request); } /** * An Async wrapper for GetEmailTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetEmailTemplateAsync(const GetEmailTemplateRequestT& request, const GetEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetEmailTemplate, request, handler, context); } /** *

Provides information about an import job.

See Also:

AWS * API Reference

*/ virtual Model::GetImportJobOutcome GetImportJob(const Model::GetImportJobRequest& request) const; /** * A Callable wrapper for GetImportJob that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetImportJobOutcomeCallable GetImportJobCallable(const GetImportJobRequestT& request) const { return SubmitCallable(&SESV2Client::GetImportJob, request); } /** * An Async wrapper for GetImportJob that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetImportJobAsync(const GetImportJobRequestT& request, const GetImportJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetImportJob, request, handler, context); } /** *

Retrieves information about a specific email address that's on the * suppression list for your account.

See Also:

AWS * API Reference

*/ virtual Model::GetSuppressedDestinationOutcome GetSuppressedDestination(const Model::GetSuppressedDestinationRequest& request) const; /** * A Callable wrapper for GetSuppressedDestination that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSuppressedDestinationOutcomeCallable GetSuppressedDestinationCallable(const GetSuppressedDestinationRequestT& request) const { return SubmitCallable(&SESV2Client::GetSuppressedDestination, request); } /** * An Async wrapper for GetSuppressedDestination that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSuppressedDestinationAsync(const GetSuppressedDestinationRequestT& request, const GetSuppressedDestinationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::GetSuppressedDestination, request, handler, context); } /** *

List all of the configuration sets associated with your account in the * current region.

Configuration sets are groups of rules that you * can apply to the emails you send. You apply a configuration set to an email by * including a reference to the configuration set in the headers of the email. When * you apply a configuration set to an email, all of the rules in that * configuration set are applied to the email.

See Also:

AWS * API Reference

*/ virtual Model::ListConfigurationSetsOutcome ListConfigurationSets(const Model::ListConfigurationSetsRequest& request) const; /** * A Callable wrapper for ListConfigurationSets that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListConfigurationSetsOutcomeCallable ListConfigurationSetsCallable(const ListConfigurationSetsRequestT& request) const { return SubmitCallable(&SESV2Client::ListConfigurationSets, request); } /** * An Async wrapper for ListConfigurationSets that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListConfigurationSetsAsync(const ListConfigurationSetsRequestT& request, const ListConfigurationSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::ListConfigurationSets, request, handler, context); } /** *

Lists all of the contact lists available.

See Also:

AWS * API Reference

*/ virtual Model::ListContactListsOutcome ListContactLists(const Model::ListContactListsRequest& request) const; /** * A Callable wrapper for ListContactLists that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListContactListsOutcomeCallable ListContactListsCallable(const ListContactListsRequestT& request) const { return SubmitCallable(&SESV2Client::ListContactLists, request); } /** * An Async wrapper for ListContactLists that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListContactListsAsync(const ListContactListsRequestT& request, const ListContactListsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::ListContactLists, request, handler, context); } /** *

Lists the contacts present in a specific contact list.

See * Also:

AWS * API Reference

*/ virtual Model::ListContactsOutcome ListContacts(const Model::ListContactsRequest& request) const; /** * A Callable wrapper for ListContacts that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListContactsOutcomeCallable ListContactsCallable(const ListContactsRequestT& request) const { return SubmitCallable(&SESV2Client::ListContacts, request); } /** * An Async wrapper for ListContacts that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListContactsAsync(const ListContactsRequestT& request, const ListContactsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::ListContacts, request, handler, context); } /** *

Lists the existing custom verification email templates for your account in * the current Amazon Web Services Region.

For more information about custom * verification email templates, see Using * custom verification email templates in the Amazon SES Developer * Guide.

You can execute this operation no more than once per * second.

See Also:

AWS * API Reference

*/ virtual Model::ListCustomVerificationEmailTemplatesOutcome ListCustomVerificationEmailTemplates(const Model::ListCustomVerificationEmailTemplatesRequest& request) const; /** * A Callable wrapper for ListCustomVerificationEmailTemplates that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListCustomVerificationEmailTemplatesOutcomeCallable ListCustomVerificationEmailTemplatesCallable(const ListCustomVerificationEmailTemplatesRequestT& request) const { return SubmitCallable(&SESV2Client::ListCustomVerificationEmailTemplates, request); } /** * An Async wrapper for ListCustomVerificationEmailTemplates that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListCustomVerificationEmailTemplatesAsync(const ListCustomVerificationEmailTemplatesRequestT& request, const ListCustomVerificationEmailTemplatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::ListCustomVerificationEmailTemplates, request, handler, context); } /** *

List all of the dedicated IP pools that exist in your Amazon Web Services * account in the current Region.

See Also:

AWS * API Reference

*/ virtual Model::ListDedicatedIpPoolsOutcome ListDedicatedIpPools(const Model::ListDedicatedIpPoolsRequest& request) const; /** * A Callable wrapper for ListDedicatedIpPools that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListDedicatedIpPoolsOutcomeCallable ListDedicatedIpPoolsCallable(const ListDedicatedIpPoolsRequestT& request) const { return SubmitCallable(&SESV2Client::ListDedicatedIpPools, request); } /** * An Async wrapper for ListDedicatedIpPools that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListDedicatedIpPoolsAsync(const ListDedicatedIpPoolsRequestT& request, const ListDedicatedIpPoolsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::ListDedicatedIpPools, request, handler, context); } /** *

Show a list of the predictive inbox placement tests that you've performed, * regardless of their statuses. For predictive inbox placement tests that are * complete, you can use the GetDeliverabilityTestReport operation to * view the results.

See Also:

AWS * API Reference

*/ virtual Model::ListDeliverabilityTestReportsOutcome ListDeliverabilityTestReports(const Model::ListDeliverabilityTestReportsRequest& request) const; /** * A Callable wrapper for ListDeliverabilityTestReports that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListDeliverabilityTestReportsOutcomeCallable ListDeliverabilityTestReportsCallable(const ListDeliverabilityTestReportsRequestT& request) const { return SubmitCallable(&SESV2Client::ListDeliverabilityTestReports, request); } /** * An Async wrapper for ListDeliverabilityTestReports that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListDeliverabilityTestReportsAsync(const ListDeliverabilityTestReportsRequestT& request, const ListDeliverabilityTestReportsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::ListDeliverabilityTestReports, request, handler, context); } /** *

Retrieve deliverability data for all the campaigns that used a specific * domain to send email during a specified time range. This data is available for a * domain only if you enabled the Deliverability dashboard for the * domain.

See Also:

AWS * API Reference

*/ virtual Model::ListDomainDeliverabilityCampaignsOutcome ListDomainDeliverabilityCampaigns(const Model::ListDomainDeliverabilityCampaignsRequest& request) const; /** * A Callable wrapper for ListDomainDeliverabilityCampaigns that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListDomainDeliverabilityCampaignsOutcomeCallable ListDomainDeliverabilityCampaignsCallable(const ListDomainDeliverabilityCampaignsRequestT& request) const { return SubmitCallable(&SESV2Client::ListDomainDeliverabilityCampaigns, request); } /** * An Async wrapper for ListDomainDeliverabilityCampaigns that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListDomainDeliverabilityCampaignsAsync(const ListDomainDeliverabilityCampaignsRequestT& request, const ListDomainDeliverabilityCampaignsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::ListDomainDeliverabilityCampaigns, request, handler, context); } /** *

Returns a list of all of the email identities that are associated with your * Amazon Web Services account. An identity can be either an email address or a * domain. This operation returns identities that are verified as well as those * that aren't. This operation returns identities that are associated with Amazon * SES and Amazon Pinpoint.

See Also:

AWS * API Reference

*/ virtual Model::ListEmailIdentitiesOutcome ListEmailIdentities(const Model::ListEmailIdentitiesRequest& request) const; /** * A Callable wrapper for ListEmailIdentities that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListEmailIdentitiesOutcomeCallable ListEmailIdentitiesCallable(const ListEmailIdentitiesRequestT& request) const { return SubmitCallable(&SESV2Client::ListEmailIdentities, request); } /** * An Async wrapper for ListEmailIdentities that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListEmailIdentitiesAsync(const ListEmailIdentitiesRequestT& request, const ListEmailIdentitiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::ListEmailIdentities, request, handler, context); } /** *

Lists the email templates present in your Amazon SES account in the current * Amazon Web Services Region.

You can execute this operation no more than * once per second.

See Also:

AWS * API Reference

*/ virtual Model::ListEmailTemplatesOutcome ListEmailTemplates(const Model::ListEmailTemplatesRequest& request) const; /** * A Callable wrapper for ListEmailTemplates that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListEmailTemplatesOutcomeCallable ListEmailTemplatesCallable(const ListEmailTemplatesRequestT& request) const { return SubmitCallable(&SESV2Client::ListEmailTemplates, request); } /** * An Async wrapper for ListEmailTemplates that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListEmailTemplatesAsync(const ListEmailTemplatesRequestT& request, const ListEmailTemplatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::ListEmailTemplates, request, handler, context); } /** *

Lists all of the import jobs.

See Also:

AWS * API Reference

*/ virtual Model::ListImportJobsOutcome ListImportJobs(const Model::ListImportJobsRequest& request) const; /** * A Callable wrapper for ListImportJobs that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListImportJobsOutcomeCallable ListImportJobsCallable(const ListImportJobsRequestT& request) const { return SubmitCallable(&SESV2Client::ListImportJobs, request); } /** * An Async wrapper for ListImportJobs that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListImportJobsAsync(const ListImportJobsRequestT& request, const ListImportJobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::ListImportJobs, request, handler, context); } /** *

Lists the recommendations present in your Amazon SES account in the current * Amazon Web Services Region.

You can execute this operation no more than * once per second.

See Also:

AWS * API Reference

*/ virtual Model::ListRecommendationsOutcome ListRecommendations(const Model::ListRecommendationsRequest& request) const; /** * A Callable wrapper for ListRecommendations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListRecommendationsOutcomeCallable ListRecommendationsCallable(const ListRecommendationsRequestT& request) const { return SubmitCallable(&SESV2Client::ListRecommendations, request); } /** * An Async wrapper for ListRecommendations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListRecommendationsAsync(const ListRecommendationsRequestT& request, const ListRecommendationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::ListRecommendations, request, handler, context); } /** *

Retrieves a list of email addresses that are on the suppression list for your * account.

See Also:

AWS * API Reference

*/ virtual Model::ListSuppressedDestinationsOutcome ListSuppressedDestinations(const Model::ListSuppressedDestinationsRequest& request) const; /** * A Callable wrapper for ListSuppressedDestinations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListSuppressedDestinationsOutcomeCallable ListSuppressedDestinationsCallable(const ListSuppressedDestinationsRequestT& request) const { return SubmitCallable(&SESV2Client::ListSuppressedDestinations, request); } /** * An Async wrapper for ListSuppressedDestinations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListSuppressedDestinationsAsync(const ListSuppressedDestinationsRequestT& request, const ListSuppressedDestinationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::ListSuppressedDestinations, request, handler, context); } /** *

Retrieve a list of the tags (keys and values) that are associated with a * specified resource. A tag is a label that you optionally define and * associate with a resource. Each tag consists of a required tag key and an * optional associated tag value. A tag key is a general label that acts as * a category for more specific tag values. A tag value acts as a descriptor within * a tag key.

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const { return SubmitCallable(&SESV2Client::ListTagsForResource, request); } /** * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::ListTagsForResource, request, handler, context); } /** *

Enable or disable the automatic warm-up feature for dedicated IP * addresses.

See Also:

AWS * API Reference

*/ virtual Model::PutAccountDedicatedIpWarmupAttributesOutcome PutAccountDedicatedIpWarmupAttributes(const Model::PutAccountDedicatedIpWarmupAttributesRequest& request) const; /** * A Callable wrapper for PutAccountDedicatedIpWarmupAttributes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutAccountDedicatedIpWarmupAttributesOutcomeCallable PutAccountDedicatedIpWarmupAttributesCallable(const PutAccountDedicatedIpWarmupAttributesRequestT& request) const { return SubmitCallable(&SESV2Client::PutAccountDedicatedIpWarmupAttributes, request); } /** * An Async wrapper for PutAccountDedicatedIpWarmupAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutAccountDedicatedIpWarmupAttributesAsync(const PutAccountDedicatedIpWarmupAttributesRequestT& request, const PutAccountDedicatedIpWarmupAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutAccountDedicatedIpWarmupAttributes, request, handler, context); } /** *

Update your Amazon SES account details.

See Also:

AWS * API Reference

*/ virtual Model::PutAccountDetailsOutcome PutAccountDetails(const Model::PutAccountDetailsRequest& request) const; /** * A Callable wrapper for PutAccountDetails that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutAccountDetailsOutcomeCallable PutAccountDetailsCallable(const PutAccountDetailsRequestT& request) const { return SubmitCallable(&SESV2Client::PutAccountDetails, request); } /** * An Async wrapper for PutAccountDetails that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutAccountDetailsAsync(const PutAccountDetailsRequestT& request, const PutAccountDetailsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutAccountDetails, request, handler, context); } /** *

Enable or disable the ability of your account to send email.

See * Also:

AWS * API Reference

*/ virtual Model::PutAccountSendingAttributesOutcome PutAccountSendingAttributes(const Model::PutAccountSendingAttributesRequest& request) const; /** * A Callable wrapper for PutAccountSendingAttributes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutAccountSendingAttributesOutcomeCallable PutAccountSendingAttributesCallable(const PutAccountSendingAttributesRequestT& request) const { return SubmitCallable(&SESV2Client::PutAccountSendingAttributes, request); } /** * An Async wrapper for PutAccountSendingAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutAccountSendingAttributesAsync(const PutAccountSendingAttributesRequestT& request, const PutAccountSendingAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutAccountSendingAttributes, request, handler, context); } /** *

Change the settings for the account-level suppression list.

See * Also:

AWS * API Reference

*/ virtual Model::PutAccountSuppressionAttributesOutcome PutAccountSuppressionAttributes(const Model::PutAccountSuppressionAttributesRequest& request) const; /** * A Callable wrapper for PutAccountSuppressionAttributes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutAccountSuppressionAttributesOutcomeCallable PutAccountSuppressionAttributesCallable(const PutAccountSuppressionAttributesRequestT& request) const { return SubmitCallable(&SESV2Client::PutAccountSuppressionAttributes, request); } /** * An Async wrapper for PutAccountSuppressionAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutAccountSuppressionAttributesAsync(const PutAccountSuppressionAttributesRequestT& request, const PutAccountSuppressionAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutAccountSuppressionAttributes, request, handler, context); } /** *

Update your Amazon SES account VDM attributes.

You can execute this * operation no more than once per second.

See Also:

AWS * API Reference

*/ virtual Model::PutAccountVdmAttributesOutcome PutAccountVdmAttributes(const Model::PutAccountVdmAttributesRequest& request) const; /** * A Callable wrapper for PutAccountVdmAttributes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutAccountVdmAttributesOutcomeCallable PutAccountVdmAttributesCallable(const PutAccountVdmAttributesRequestT& request) const { return SubmitCallable(&SESV2Client::PutAccountVdmAttributes, request); } /** * An Async wrapper for PutAccountVdmAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutAccountVdmAttributesAsync(const PutAccountVdmAttributesRequestT& request, const PutAccountVdmAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutAccountVdmAttributes, request, handler, context); } /** *

Associate a configuration set with a dedicated IP pool. You can use dedicated * IP pools to create groups of dedicated IP addresses for sending specific types * of email.

See Also:

AWS * API Reference

*/ virtual Model::PutConfigurationSetDeliveryOptionsOutcome PutConfigurationSetDeliveryOptions(const Model::PutConfigurationSetDeliveryOptionsRequest& request) const; /** * A Callable wrapper for PutConfigurationSetDeliveryOptions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutConfigurationSetDeliveryOptionsOutcomeCallable PutConfigurationSetDeliveryOptionsCallable(const PutConfigurationSetDeliveryOptionsRequestT& request) const { return SubmitCallable(&SESV2Client::PutConfigurationSetDeliveryOptions, request); } /** * An Async wrapper for PutConfigurationSetDeliveryOptions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutConfigurationSetDeliveryOptionsAsync(const PutConfigurationSetDeliveryOptionsRequestT& request, const PutConfigurationSetDeliveryOptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutConfigurationSetDeliveryOptions, request, handler, context); } /** *

Enable or disable collection of reputation metrics for emails that you send * using a particular configuration set in a specific Amazon Web Services * Region.

See Also:

AWS * API Reference

*/ virtual Model::PutConfigurationSetReputationOptionsOutcome PutConfigurationSetReputationOptions(const Model::PutConfigurationSetReputationOptionsRequest& request) const; /** * A Callable wrapper for PutConfigurationSetReputationOptions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutConfigurationSetReputationOptionsOutcomeCallable PutConfigurationSetReputationOptionsCallable(const PutConfigurationSetReputationOptionsRequestT& request) const { return SubmitCallable(&SESV2Client::PutConfigurationSetReputationOptions, request); } /** * An Async wrapper for PutConfigurationSetReputationOptions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutConfigurationSetReputationOptionsAsync(const PutConfigurationSetReputationOptionsRequestT& request, const PutConfigurationSetReputationOptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutConfigurationSetReputationOptions, request, handler, context); } /** *

Enable or disable email sending for messages that use a particular * configuration set in a specific Amazon Web Services Region.

See * Also:

AWS * API Reference

*/ virtual Model::PutConfigurationSetSendingOptionsOutcome PutConfigurationSetSendingOptions(const Model::PutConfigurationSetSendingOptionsRequest& request) const; /** * A Callable wrapper for PutConfigurationSetSendingOptions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutConfigurationSetSendingOptionsOutcomeCallable PutConfigurationSetSendingOptionsCallable(const PutConfigurationSetSendingOptionsRequestT& request) const { return SubmitCallable(&SESV2Client::PutConfigurationSetSendingOptions, request); } /** * An Async wrapper for PutConfigurationSetSendingOptions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutConfigurationSetSendingOptionsAsync(const PutConfigurationSetSendingOptionsRequestT& request, const PutConfigurationSetSendingOptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutConfigurationSetSendingOptions, request, handler, context); } /** *

Specify the account suppression list preferences for a configuration * set.

See Also:

AWS * API Reference

*/ virtual Model::PutConfigurationSetSuppressionOptionsOutcome PutConfigurationSetSuppressionOptions(const Model::PutConfigurationSetSuppressionOptionsRequest& request) const; /** * A Callable wrapper for PutConfigurationSetSuppressionOptions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutConfigurationSetSuppressionOptionsOutcomeCallable PutConfigurationSetSuppressionOptionsCallable(const PutConfigurationSetSuppressionOptionsRequestT& request) const { return SubmitCallable(&SESV2Client::PutConfigurationSetSuppressionOptions, request); } /** * An Async wrapper for PutConfigurationSetSuppressionOptions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutConfigurationSetSuppressionOptionsAsync(const PutConfigurationSetSuppressionOptionsRequestT& request, const PutConfigurationSetSuppressionOptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutConfigurationSetSuppressionOptions, request, handler, context); } /** *

Specify a custom domain to use for open and click tracking elements in email * that you send.

See Also:

AWS * API Reference

*/ virtual Model::PutConfigurationSetTrackingOptionsOutcome PutConfigurationSetTrackingOptions(const Model::PutConfigurationSetTrackingOptionsRequest& request) const; /** * A Callable wrapper for PutConfigurationSetTrackingOptions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutConfigurationSetTrackingOptionsOutcomeCallable PutConfigurationSetTrackingOptionsCallable(const PutConfigurationSetTrackingOptionsRequestT& request) const { return SubmitCallable(&SESV2Client::PutConfigurationSetTrackingOptions, request); } /** * An Async wrapper for PutConfigurationSetTrackingOptions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutConfigurationSetTrackingOptionsAsync(const PutConfigurationSetTrackingOptionsRequestT& request, const PutConfigurationSetTrackingOptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutConfigurationSetTrackingOptions, request, handler, context); } /** *

Specify VDM preferences for email that you send using the configuration * set.

You can execute this operation no more than once per * second.

See Also:

AWS * API Reference

*/ virtual Model::PutConfigurationSetVdmOptionsOutcome PutConfigurationSetVdmOptions(const Model::PutConfigurationSetVdmOptionsRequest& request) const; /** * A Callable wrapper for PutConfigurationSetVdmOptions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutConfigurationSetVdmOptionsOutcomeCallable PutConfigurationSetVdmOptionsCallable(const PutConfigurationSetVdmOptionsRequestT& request) const { return SubmitCallable(&SESV2Client::PutConfigurationSetVdmOptions, request); } /** * An Async wrapper for PutConfigurationSetVdmOptions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutConfigurationSetVdmOptionsAsync(const PutConfigurationSetVdmOptionsRequestT& request, const PutConfigurationSetVdmOptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutConfigurationSetVdmOptions, request, handler, context); } /** *

Move a dedicated IP address to an existing dedicated IP pool.

*

The dedicated IP address that you specify must already exist, and must be * associated with your Amazon Web Services account.

The dedicated IP pool * you specify must already exist. You can create a new pool by using the * CreateDedicatedIpPool operation.

See Also:

* AWS * API Reference

*/ virtual Model::PutDedicatedIpInPoolOutcome PutDedicatedIpInPool(const Model::PutDedicatedIpInPoolRequest& request) const; /** * A Callable wrapper for PutDedicatedIpInPool that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutDedicatedIpInPoolOutcomeCallable PutDedicatedIpInPoolCallable(const PutDedicatedIpInPoolRequestT& request) const { return SubmitCallable(&SESV2Client::PutDedicatedIpInPool, request); } /** * An Async wrapper for PutDedicatedIpInPool that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutDedicatedIpInPoolAsync(const PutDedicatedIpInPoolRequestT& request, const PutDedicatedIpInPoolResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutDedicatedIpInPool, request, handler, context); } /** *

Used to convert a dedicated IP pool to a different scaling mode.

*

MANAGED pools cannot be converted to STANDARD * scaling mode.

See Also:

AWS * API Reference

*/ virtual Model::PutDedicatedIpPoolScalingAttributesOutcome PutDedicatedIpPoolScalingAttributes(const Model::PutDedicatedIpPoolScalingAttributesRequest& request) const; /** * A Callable wrapper for PutDedicatedIpPoolScalingAttributes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutDedicatedIpPoolScalingAttributesOutcomeCallable PutDedicatedIpPoolScalingAttributesCallable(const PutDedicatedIpPoolScalingAttributesRequestT& request) const { return SubmitCallable(&SESV2Client::PutDedicatedIpPoolScalingAttributes, request); } /** * An Async wrapper for PutDedicatedIpPoolScalingAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutDedicatedIpPoolScalingAttributesAsync(const PutDedicatedIpPoolScalingAttributesRequestT& request, const PutDedicatedIpPoolScalingAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutDedicatedIpPoolScalingAttributes, request, handler, context); } /** *

See Also:

AWS * API Reference

*/ virtual Model::PutDedicatedIpWarmupAttributesOutcome PutDedicatedIpWarmupAttributes(const Model::PutDedicatedIpWarmupAttributesRequest& request) const; /** * A Callable wrapper for PutDedicatedIpWarmupAttributes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutDedicatedIpWarmupAttributesOutcomeCallable PutDedicatedIpWarmupAttributesCallable(const PutDedicatedIpWarmupAttributesRequestT& request) const { return SubmitCallable(&SESV2Client::PutDedicatedIpWarmupAttributes, request); } /** * An Async wrapper for PutDedicatedIpWarmupAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutDedicatedIpWarmupAttributesAsync(const PutDedicatedIpWarmupAttributesRequestT& request, const PutDedicatedIpWarmupAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutDedicatedIpWarmupAttributes, request, handler, context); } /** *

Enable or disable the Deliverability dashboard. When you enable the * Deliverability dashboard, you gain access to reputation, deliverability, and * other metrics for the domains that you use to send email. You also gain the * ability to perform predictive inbox placement tests.

When you use the * Deliverability dashboard, you pay a monthly subscription charge, in addition to * any other fees that you accrue by using Amazon SES and other Amazon Web Services * services. For more information about the features and cost of a Deliverability * dashboard subscription, see Amazon * SES Pricing.

See Also:

AWS * API Reference

*/ virtual Model::PutDeliverabilityDashboardOptionOutcome PutDeliverabilityDashboardOption(const Model::PutDeliverabilityDashboardOptionRequest& request) const; /** * A Callable wrapper for PutDeliverabilityDashboardOption that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutDeliverabilityDashboardOptionOutcomeCallable PutDeliverabilityDashboardOptionCallable(const PutDeliverabilityDashboardOptionRequestT& request) const { return SubmitCallable(&SESV2Client::PutDeliverabilityDashboardOption, request); } /** * An Async wrapper for PutDeliverabilityDashboardOption that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutDeliverabilityDashboardOptionAsync(const PutDeliverabilityDashboardOptionRequestT& request, const PutDeliverabilityDashboardOptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutDeliverabilityDashboardOption, request, handler, context); } /** *

Used to associate a configuration set with an email identity.

See * Also:

AWS * API Reference

*/ virtual Model::PutEmailIdentityConfigurationSetAttributesOutcome PutEmailIdentityConfigurationSetAttributes(const Model::PutEmailIdentityConfigurationSetAttributesRequest& request) const; /** * A Callable wrapper for PutEmailIdentityConfigurationSetAttributes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutEmailIdentityConfigurationSetAttributesOutcomeCallable PutEmailIdentityConfigurationSetAttributesCallable(const PutEmailIdentityConfigurationSetAttributesRequestT& request) const { return SubmitCallable(&SESV2Client::PutEmailIdentityConfigurationSetAttributes, request); } /** * An Async wrapper for PutEmailIdentityConfigurationSetAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutEmailIdentityConfigurationSetAttributesAsync(const PutEmailIdentityConfigurationSetAttributesRequestT& request, const PutEmailIdentityConfigurationSetAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutEmailIdentityConfigurationSetAttributes, request, handler, context); } /** *

Used to enable or disable DKIM authentication for an email * identity.

See Also:

AWS * API Reference

*/ virtual Model::PutEmailIdentityDkimAttributesOutcome PutEmailIdentityDkimAttributes(const Model::PutEmailIdentityDkimAttributesRequest& request) const; /** * A Callable wrapper for PutEmailIdentityDkimAttributes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutEmailIdentityDkimAttributesOutcomeCallable PutEmailIdentityDkimAttributesCallable(const PutEmailIdentityDkimAttributesRequestT& request) const { return SubmitCallable(&SESV2Client::PutEmailIdentityDkimAttributes, request); } /** * An Async wrapper for PutEmailIdentityDkimAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutEmailIdentityDkimAttributesAsync(const PutEmailIdentityDkimAttributesRequestT& request, const PutEmailIdentityDkimAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutEmailIdentityDkimAttributes, request, handler, context); } /** *

Used to configure or change the DKIM authentication settings for an email * domain identity. You can use this operation to do any of the following:

    *
  • Update the signing attributes for an identity that uses Bring Your Own * DKIM (BYODKIM).

  • Update the key length that should be used for * Easy DKIM.

  • Change from using no DKIM authentication to using * Easy DKIM.

  • Change from using no DKIM authentication to using * BYODKIM.

  • Change from using Easy DKIM to using BYODKIM.

    *
  • Change from using BYODKIM to using Easy DKIM.

  • *

See Also:

AWS * API Reference

*/ virtual Model::PutEmailIdentityDkimSigningAttributesOutcome PutEmailIdentityDkimSigningAttributes(const Model::PutEmailIdentityDkimSigningAttributesRequest& request) const; /** * A Callable wrapper for PutEmailIdentityDkimSigningAttributes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutEmailIdentityDkimSigningAttributesOutcomeCallable PutEmailIdentityDkimSigningAttributesCallable(const PutEmailIdentityDkimSigningAttributesRequestT& request) const { return SubmitCallable(&SESV2Client::PutEmailIdentityDkimSigningAttributes, request); } /** * An Async wrapper for PutEmailIdentityDkimSigningAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutEmailIdentityDkimSigningAttributesAsync(const PutEmailIdentityDkimSigningAttributesRequestT& request, const PutEmailIdentityDkimSigningAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutEmailIdentityDkimSigningAttributes, request, handler, context); } /** *

Used to enable or disable feedback forwarding for an identity. This setting * determines what happens when an identity is used to send an email that results * in a bounce or complaint event.

If the value is true, you * receive email notifications when bounce or complaint events occur. These * notifications are sent to the address that you specified in the * Return-Path header of the original email.

You're required to * have a method of tracking bounces and complaints. If you haven't set up another * mechanism for receiving bounce or complaint notifications (for example, by * setting up an event destination), you receive an email notification when these * events occur (even if this setting is disabled).

See Also:

AWS * API Reference

*/ virtual Model::PutEmailIdentityFeedbackAttributesOutcome PutEmailIdentityFeedbackAttributes(const Model::PutEmailIdentityFeedbackAttributesRequest& request) const; /** * A Callable wrapper for PutEmailIdentityFeedbackAttributes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutEmailIdentityFeedbackAttributesOutcomeCallable PutEmailIdentityFeedbackAttributesCallable(const PutEmailIdentityFeedbackAttributesRequestT& request) const { return SubmitCallable(&SESV2Client::PutEmailIdentityFeedbackAttributes, request); } /** * An Async wrapper for PutEmailIdentityFeedbackAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutEmailIdentityFeedbackAttributesAsync(const PutEmailIdentityFeedbackAttributesRequestT& request, const PutEmailIdentityFeedbackAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutEmailIdentityFeedbackAttributes, request, handler, context); } /** *

Used to enable or disable the custom Mail-From domain configuration for an * email identity.

See Also:

AWS * API Reference

*/ virtual Model::PutEmailIdentityMailFromAttributesOutcome PutEmailIdentityMailFromAttributes(const Model::PutEmailIdentityMailFromAttributesRequest& request) const; /** * A Callable wrapper for PutEmailIdentityMailFromAttributes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutEmailIdentityMailFromAttributesOutcomeCallable PutEmailIdentityMailFromAttributesCallable(const PutEmailIdentityMailFromAttributesRequestT& request) const { return SubmitCallable(&SESV2Client::PutEmailIdentityMailFromAttributes, request); } /** * An Async wrapper for PutEmailIdentityMailFromAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutEmailIdentityMailFromAttributesAsync(const PutEmailIdentityMailFromAttributesRequestT& request, const PutEmailIdentityMailFromAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutEmailIdentityMailFromAttributes, request, handler, context); } /** *

Adds an email address to the suppression list for your account.

See * Also:

AWS * API Reference

*/ virtual Model::PutSuppressedDestinationOutcome PutSuppressedDestination(const Model::PutSuppressedDestinationRequest& request) const; /** * A Callable wrapper for PutSuppressedDestination that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutSuppressedDestinationOutcomeCallable PutSuppressedDestinationCallable(const PutSuppressedDestinationRequestT& request) const { return SubmitCallable(&SESV2Client::PutSuppressedDestination, request); } /** * An Async wrapper for PutSuppressedDestination that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutSuppressedDestinationAsync(const PutSuppressedDestinationRequestT& request, const PutSuppressedDestinationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::PutSuppressedDestination, request, handler, context); } /** *

Composes an email message to multiple destinations.

See Also:

* AWS * API Reference

*/ virtual Model::SendBulkEmailOutcome SendBulkEmail(const Model::SendBulkEmailRequest& request) const; /** * A Callable wrapper for SendBulkEmail that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::SendBulkEmailOutcomeCallable SendBulkEmailCallable(const SendBulkEmailRequestT& request) const { return SubmitCallable(&SESV2Client::SendBulkEmail, request); } /** * An Async wrapper for SendBulkEmail that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void SendBulkEmailAsync(const SendBulkEmailRequestT& request, const SendBulkEmailResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::SendBulkEmail, request, handler, context); } /** *

Adds an email address to the list of identities for your Amazon SES account * in the current Amazon Web Services Region and attempts to verify it. As a result * of executing this operation, a customized verification email is sent to the * specified address.

To use this operation, you must first create a custom * verification email template. For more information about creating and using * custom verification email templates, see Using * custom verification email templates in the Amazon SES Developer * Guide.

You can execute this operation no more than once per * second.

See Also:

AWS * API Reference

*/ virtual Model::SendCustomVerificationEmailOutcome SendCustomVerificationEmail(const Model::SendCustomVerificationEmailRequest& request) const; /** * A Callable wrapper for SendCustomVerificationEmail that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::SendCustomVerificationEmailOutcomeCallable SendCustomVerificationEmailCallable(const SendCustomVerificationEmailRequestT& request) const { return SubmitCallable(&SESV2Client::SendCustomVerificationEmail, request); } /** * An Async wrapper for SendCustomVerificationEmail that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void SendCustomVerificationEmailAsync(const SendCustomVerificationEmailRequestT& request, const SendCustomVerificationEmailResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::SendCustomVerificationEmail, request, handler, context); } /** *

Sends an email message. You can use the Amazon SES API v2 to send the * following types of messages:

  • Simple – A standard email * message. When you create this type of message, you specify the sender, the * recipient, and the message body, and Amazon SES assembles the message for * you.

  • Raw – A raw, MIME-formatted email message. When * you send this type of email, you have to specify all of the message headers, as * well as the message body. You can use this message type to send messages that * contain attachments. The message that you specify has to be a valid MIME * message.

  • Templated – A message that contains * personalization tags. When you send this type of email, Amazon SES API v2 * automatically replaces the tags with values that you specify.

  • *

See Also:

AWS API * Reference

*/ virtual Model::SendEmailOutcome SendEmail(const Model::SendEmailRequest& request) const; /** * A Callable wrapper for SendEmail that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::SendEmailOutcomeCallable SendEmailCallable(const SendEmailRequestT& request) const { return SubmitCallable(&SESV2Client::SendEmail, request); } /** * An Async wrapper for SendEmail that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void SendEmailAsync(const SendEmailRequestT& request, const SendEmailResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::SendEmail, request, handler, context); } /** *

Add one or more tags (keys and values) to a specified resource. A * tag is a label that you optionally define and associate with a resource. * Tags can help you categorize and manage resources in different ways, such as by * purpose, owner, environment, or other criteria. A resource can have as many as * 50 tags.

Each tag consists of a required tag key and an * associated tag value, both of which you define. A tag key is a general * label that acts as a category for more specific tag values. A tag value acts as * a descriptor within a tag key.

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const { return SubmitCallable(&SESV2Client::TagResource, request); } /** * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::TagResource, request, handler, context); } /** *

Creates a preview of the MIME content of an email when provided with a * template and a set of replacement data.

You can execute this operation no * more than once per second.

See Also:

AWS * API Reference

*/ virtual Model::TestRenderEmailTemplateOutcome TestRenderEmailTemplate(const Model::TestRenderEmailTemplateRequest& request) const; /** * A Callable wrapper for TestRenderEmailTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TestRenderEmailTemplateOutcomeCallable TestRenderEmailTemplateCallable(const TestRenderEmailTemplateRequestT& request) const { return SubmitCallable(&SESV2Client::TestRenderEmailTemplate, request); } /** * An Async wrapper for TestRenderEmailTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TestRenderEmailTemplateAsync(const TestRenderEmailTemplateRequestT& request, const TestRenderEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::TestRenderEmailTemplate, request, handler, context); } /** *

Remove one or more tags (keys and values) from a specified * resource.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const { return SubmitCallable(&SESV2Client::UntagResource, request); } /** * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::UntagResource, request, handler, context); } /** *

Update the configuration of an event destination for a configuration set.

*

Events include message sends, deliveries, opens, clicks, bounces, and * complaints. Event destinations are places that you can send information * about these events to. For example, you can send event data to Amazon SNS to * receive notifications when you receive bounces or complaints, or you can use * Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term * storage.

See Also:

AWS * API Reference

*/ virtual Model::UpdateConfigurationSetEventDestinationOutcome UpdateConfigurationSetEventDestination(const Model::UpdateConfigurationSetEventDestinationRequest& request) const; /** * A Callable wrapper for UpdateConfigurationSetEventDestination that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateConfigurationSetEventDestinationOutcomeCallable UpdateConfigurationSetEventDestinationCallable(const UpdateConfigurationSetEventDestinationRequestT& request) const { return SubmitCallable(&SESV2Client::UpdateConfigurationSetEventDestination, request); } /** * An Async wrapper for UpdateConfigurationSetEventDestination that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateConfigurationSetEventDestinationAsync(const UpdateConfigurationSetEventDestinationRequestT& request, const UpdateConfigurationSetEventDestinationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::UpdateConfigurationSetEventDestination, request, handler, context); } /** *

Updates a contact's preferences for a list. It is not necessary to specify * all existing topic preferences in the TopicPreferences object, just the ones * that need updating.

See Also:

AWS * API Reference

*/ virtual Model::UpdateContactOutcome UpdateContact(const Model::UpdateContactRequest& request) const; /** * A Callable wrapper for UpdateContact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateContactOutcomeCallable UpdateContactCallable(const UpdateContactRequestT& request) const { return SubmitCallable(&SESV2Client::UpdateContact, request); } /** * An Async wrapper for UpdateContact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateContactAsync(const UpdateContactRequestT& request, const UpdateContactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::UpdateContact, request, handler, context); } /** *

Updates contact list metadata. This operation does a complete * replacement.

See Also:

AWS * API Reference

*/ virtual Model::UpdateContactListOutcome UpdateContactList(const Model::UpdateContactListRequest& request) const; /** * A Callable wrapper for UpdateContactList that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateContactListOutcomeCallable UpdateContactListCallable(const UpdateContactListRequestT& request) const { return SubmitCallable(&SESV2Client::UpdateContactList, request); } /** * An Async wrapper for UpdateContactList that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateContactListAsync(const UpdateContactListRequestT& request, const UpdateContactListResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::UpdateContactList, request, handler, context); } /** *

Updates an existing custom verification email template.

For more * information about custom verification email templates, see Using * custom verification email templates in the Amazon SES Developer * Guide.

You can execute this operation no more than once per * second.

See Also:

AWS * API Reference

*/ virtual Model::UpdateCustomVerificationEmailTemplateOutcome UpdateCustomVerificationEmailTemplate(const Model::UpdateCustomVerificationEmailTemplateRequest& request) const; /** * A Callable wrapper for UpdateCustomVerificationEmailTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateCustomVerificationEmailTemplateOutcomeCallable UpdateCustomVerificationEmailTemplateCallable(const UpdateCustomVerificationEmailTemplateRequestT& request) const { return SubmitCallable(&SESV2Client::UpdateCustomVerificationEmailTemplate, request); } /** * An Async wrapper for UpdateCustomVerificationEmailTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateCustomVerificationEmailTemplateAsync(const UpdateCustomVerificationEmailTemplateRequestT& request, const UpdateCustomVerificationEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::UpdateCustomVerificationEmailTemplate, request, handler, context); } /** *

Updates the specified sending authorization policy for the given identity (an * email address or a domain). This API returns successfully even if a policy with * the specified name does not exist.

This API is for the identity * owner only. If you have not verified the identity, this API will return an * error.

Sending authorization is a feature that enables an * identity owner to authorize other senders to use its identities. For information * about using sending authorization, see the Amazon * SES Developer Guide.

You can execute this operation no more than once * per second.

See Also:

AWS * API Reference

*/ virtual Model::UpdateEmailIdentityPolicyOutcome UpdateEmailIdentityPolicy(const Model::UpdateEmailIdentityPolicyRequest& request) const; /** * A Callable wrapper for UpdateEmailIdentityPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateEmailIdentityPolicyOutcomeCallable UpdateEmailIdentityPolicyCallable(const UpdateEmailIdentityPolicyRequestT& request) const { return SubmitCallable(&SESV2Client::UpdateEmailIdentityPolicy, request); } /** * An Async wrapper for UpdateEmailIdentityPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateEmailIdentityPolicyAsync(const UpdateEmailIdentityPolicyRequestT& request, const UpdateEmailIdentityPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::UpdateEmailIdentityPolicy, request, handler, context); } /** *

Updates an email template. Email templates enable you to send personalized * email to one or more destinations in a single API operation. For more * information, see the Amazon * SES Developer Guide.

You can execute this operation no more than once * per second.

See Also:

AWS * API Reference

*/ virtual Model::UpdateEmailTemplateOutcome UpdateEmailTemplate(const Model::UpdateEmailTemplateRequest& request) const; /** * A Callable wrapper for UpdateEmailTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateEmailTemplateOutcomeCallable UpdateEmailTemplateCallable(const UpdateEmailTemplateRequestT& request) const { return SubmitCallable(&SESV2Client::UpdateEmailTemplate, request); } /** * An Async wrapper for UpdateEmailTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateEmailTemplateAsync(const UpdateEmailTemplateRequestT& request, const UpdateEmailTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SESV2Client::UpdateEmailTemplate, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const SESV2ClientConfiguration& clientConfiguration); SESV2ClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace SESV2 } // namespace Aws