/** * 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 PinpointEmail { /** * Amazon Pinpoint Email Service

Welcome to the Amazon * Pinpoint Email API Reference. This guide provides information about the * Amazon Pinpoint Email API (version 1.0), including supported operations, data * types, parameters, and schemas.

Amazon Pinpoint is an AWS service * that you can use to engage with your customers across multiple messaging * channels. You can use Amazon Pinpoint to send email, SMS text messages, voice * messages, and push notifications. The Amazon Pinpoint Email API provides * programmatic access to options that are unique to the email channel and * supplement the options provided by the Amazon Pinpoint API.

If you're new * to Amazon Pinpoint, you might find it helpful to also review the Amazon * Pinpoint Developer Guide. The Amazon Pinpoint Developer Guide * provides tutorials, code samples, and procedures that demonstrate how to use * Amazon Pinpoint features programmatically and how to integrate Amazon Pinpoint * functionality into mobile apps and other types of applications. The guide also * provides information about key topics such as Amazon Pinpoint integration with * other AWS services and the limits that apply to using the service.

The * Amazon Pinpoint Email API is available in several AWS Regions and it provides an * endpoint for each of these Regions. For a list of all the Regions and endpoints * where the API is currently available, see AWS * Service Endpoints in the Amazon Web Services General Reference. To * learn more about AWS Regions, see Managing * AWS Regions in the Amazon Web Services General Reference.

In * each Region, AWS maintains multiple Availability Zones. These Availability Zones * are physically isolated from each other, but are united by private, low-latency, * high-throughput, and highly redundant network connections. These Availability * Zones enable us to provide very high levels of availability and redundancy, * while also minimizing latency. To learn more about the number of Availability * Zones that are available in each Region, see AWS Global * Infrastructure.

*/ class AWS_PINPOINTEMAIL_API PinpointEmailClient : 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 PinpointEmailClientConfiguration ClientConfigurationType; typedef PinpointEmailEndpointProvider 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. */ PinpointEmailClient(const Aws::PinpointEmail::PinpointEmailClientConfiguration& clientConfiguration = Aws::PinpointEmail::PinpointEmailClientConfiguration(), 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. */ PinpointEmailClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::PinpointEmail::PinpointEmailClientConfiguration& clientConfiguration = Aws::PinpointEmail::PinpointEmailClientConfiguration()); /** * 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 */ PinpointEmailClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::PinpointEmail::PinpointEmailClientConfiguration& clientConfiguration = Aws::PinpointEmail::PinpointEmailClientConfiguration()); /* 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. */ PinpointEmailClient(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. */ PinpointEmailClient(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 */ PinpointEmailClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~PinpointEmailClient(); /** *

Create a configuration set. Configuration sets are groups of rules * that you can apply to the emails you send using Amazon Pinpoint. 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::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(&PinpointEmailClient::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(&PinpointEmailClient::CreateConfigurationSet, request, handler, context); } /** *

Create an event destination. In Amazon Pinpoint, 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(&PinpointEmailClient::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(&PinpointEmailClient::CreateConfigurationSetEventDestination, 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 Pinpoint account. * You can associate a pool with a configuration set. When you send an email that * uses that configuration set, Amazon Pinpoint sends it using only the IP * 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(&PinpointEmailClient::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(&PinpointEmailClient::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 Pinpoint 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(&PinpointEmailClient::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(&PinpointEmailClient::CreateDeliverabilityTestReport, request, handler, context); } /** *

Verifies an email identity for use with Amazon Pinpoint. In Amazon Pinpoint, * an identity is an email address or domain that you use when you send email. * Before you can use an identity to send email with Amazon Pinpoint, you first * have to verify it. By verifying an address, you demonstrate that you're the * owner of the address, and that you've given Amazon Pinpoint permission to send * email from the address.

When you verify an email address, Amazon Pinpoint * 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, * 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 Pinpoint detects these records in the DNS * configuration for your domain. It usually takes around 72 hours to complete the * domain verification process.

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(&PinpointEmailClient::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(&PinpointEmailClient::CreateEmailIdentity, request, handler, context); } /** *

Delete an existing configuration set.

In Amazon Pinpoint, * 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(&PinpointEmailClient::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(&PinpointEmailClient::DeleteConfigurationSet, request, handler, context); } /** *

Delete an event destination.

In Amazon Pinpoint, 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(&PinpointEmailClient::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(&PinpointEmailClient::DeleteConfigurationSetEventDestination, 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(&PinpointEmailClient::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(&PinpointEmailClient::DeleteDedicatedIpPool, request, handler, context); } /** *

Deletes an email identity that you previously verified for use with Amazon * Pinpoint. 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(&PinpointEmailClient::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(&PinpointEmailClient::DeleteEmailIdentity, request, handler, context); } /** *

Obtain information about the email-sending status and capabilities of your * Amazon Pinpoint account in the current AWS 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(&PinpointEmailClient::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(&PinpointEmailClient::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(&PinpointEmailClient::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(&PinpointEmailClient::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.

In Amazon Pinpoint, 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(&PinpointEmailClient::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(&PinpointEmailClient::GetConfigurationSet, request, handler, context); } /** *

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

In Amazon Pinpoint, 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(&PinpointEmailClient::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(&PinpointEmailClient::GetConfigurationSetEventDestinations, 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(&PinpointEmailClient::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(&PinpointEmailClient::GetDedicatedIp, request, handler, context); } /** *

List the dedicated IP addresses that are associated with your Amazon Pinpoint * 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(&PinpointEmailClient::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(&PinpointEmailClient::GetDedicatedIps, request, handler, context); } /** *

Retrieve information about the status of the Deliverability dashboard for * your Amazon Pinpoint 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 using Amazon Pinpoint. 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 Pinpoint. For more information about the * features and cost of a Deliverability dashboard subscription, see Amazon Pinpoint * 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(&PinpointEmailClient::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(&PinpointEmailClient::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(&PinpointEmailClient::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(&PinpointEmailClient::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 * (PutDeliverabilityDashboardOption operation).

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(&PinpointEmailClient::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(&PinpointEmailClient::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(&PinpointEmailClient::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(&PinpointEmailClient::GetDomainStatisticsReport, request, handler, context); } /** *

Provides information about a specific identity associated with your Amazon * Pinpoint account, including the identity's verification status, 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(&PinpointEmailClient::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(&PinpointEmailClient::GetEmailIdentity, request, handler, context); } /** *

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

In Amazon Pinpoint, 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(&PinpointEmailClient::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(&PinpointEmailClient::ListConfigurationSets, request, handler, context); } /** *

List all of the dedicated IP pools that exist in your Amazon Pinpoint account * in the current AWS 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(&PinpointEmailClient::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(&PinpointEmailClient::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(&PinpointEmailClient::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(&PinpointEmailClient::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 * (PutDeliverabilityDashboardOption operation) 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(&PinpointEmailClient::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(&PinpointEmailClient::ListDomainDeliverabilityCampaigns, request, handler, context); } /** *

Returns a list of all of the email identities that are associated with your * Amazon Pinpoint 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.

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(&PinpointEmailClient::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(&PinpointEmailClient::ListEmailIdentities, 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 in Amazon Pinpoint. 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(&PinpointEmailClient::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(&PinpointEmailClient::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(&PinpointEmailClient::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(&PinpointEmailClient::PutAccountDedicatedIpWarmupAttributes, 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(&PinpointEmailClient::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(&PinpointEmailClient::PutAccountSendingAttributes, 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(&PinpointEmailClient::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(&PinpointEmailClient::PutConfigurationSetDeliveryOptions, request, handler, context); } /** *

Enable or disable collection of reputation metrics for emails that you send * using a particular configuration set in a specific AWS 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(&PinpointEmailClient::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(&PinpointEmailClient::PutConfigurationSetReputationOptions, request, handler, context); } /** *

Enable or disable email sending for messages that use a particular * configuration set in a specific AWS 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(&PinpointEmailClient::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(&PinpointEmailClient::PutConfigurationSetSendingOptions, request, handler, context); } /** *

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

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(&PinpointEmailClient::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(&PinpointEmailClient::PutConfigurationSetTrackingOptions, 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 Pinpoint 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(&PinpointEmailClient::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(&PinpointEmailClient::PutDedicatedIpInPool, 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(&PinpointEmailClient::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(&PinpointEmailClient::PutDedicatedIpWarmupAttributes, request, handler, context); } /** *

Enable or disable the Deliverability dashboard for your Amazon Pinpoint * account. When you enable the Deliverability dashboard, you gain access to * reputation, deliverability, and other metrics for the domains that you use to * send email using Amazon Pinpoint. 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 Pinpoint. For more information about the * features and cost of a Deliverability dashboard subscription, see Amazon Pinpoint * 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(&PinpointEmailClient::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(&PinpointEmailClient::PutDeliverabilityDashboardOption, 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(&PinpointEmailClient::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(&PinpointEmailClient::PutEmailIdentityDkimAttributes, 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.

When you enable feedback forwarding, * Amazon Pinpoint sends you email notifications when bounce or complaint events * occur. Amazon Pinpoint sends this notification to the address that you specified * in the Return-Path header of the original email.

When you disable * feedback forwarding, Amazon Pinpoint sends notifications through other * mechanisms, such as by notifying an Amazon SNS topic. 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, Amazon Pinpoint sends * 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(&PinpointEmailClient::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(&PinpointEmailClient::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(&PinpointEmailClient::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(&PinpointEmailClient::PutEmailIdentityMailFromAttributes, request, handler, context); } /** *

Sends an email message. You can use the Amazon Pinpoint Email API to send two * 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 Pinpoint 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.

    *

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(&PinpointEmailClient::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(&PinpointEmailClient::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 * in Amazon Pinpoint. 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(&PinpointEmailClient::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(&PinpointEmailClient::TagResource, 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(&PinpointEmailClient::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(&PinpointEmailClient::UntagResource, request, handler, context); } /** *

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

*

In Amazon Pinpoint, 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(&PinpointEmailClient::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(&PinpointEmailClient::UpdateConfigurationSetEventDestination, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const PinpointEmailClientConfiguration& clientConfiguration); PinpointEmailClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace PinpointEmail } // namespace Aws