/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
/*
 * Do not modify this file. This file is generated from the pinpoint-email-2018-07-26.normal.json service model.
 */
using System;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.PinpointEmail.Model;
namespace Amazon.PinpointEmail
{
    /// 
    /// Interface for accessing 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.
    /// 
    /// 
    public partial interface IAmazonPinpointEmail : IAmazonService, IDisposable
    {
#if BCL45 || AWS_ASYNC_ENUMERABLES_API
        /// 
        /// Paginators for the service
        /// 
        IPinpointEmailPaginatorFactory Paginators { get; }
#endif
        
        #region  CreateConfigurationSet
        /// 
        /// 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.
        /// 
        /// Container for the necessary parameters to execute the CreateConfigurationSet service method.
        /// 
        /// The response from the CreateConfigurationSet service method, as returned by PinpointEmail.
        /// 
        /// The resource specified in your request already exists.
        /// 
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource is being modified by another operation or thread.
        /// 
        /// 
        /// There are too many instances of the specified resource type.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for CreateConfigurationSet Operation
        CreateConfigurationSetResponse CreateConfigurationSet(CreateConfigurationSetRequest request);
        /// 
        /// Initiates the asynchronous execution of the CreateConfigurationSet operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateConfigurationSet operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateConfigurationSet
        ///         operation.
        /// REST API Reference for CreateConfigurationSet Operation
        IAsyncResult BeginCreateConfigurationSet(CreateConfigurationSetRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  CreateConfigurationSet operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateConfigurationSet.
        /// 
        /// Returns a  CreateConfigurationSetResult from PinpointEmail.
        /// REST API Reference for CreateConfigurationSet Operation
        CreateConfigurationSetResponse EndCreateConfigurationSet(IAsyncResult asyncResult);
        #endregion
        
        #region  CreateConfigurationSetEventDestination
        /// 
        /// 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.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateConfigurationSetEventDestination service method.
        /// 
        /// The response from the CreateConfigurationSetEventDestination service method, as returned by PinpointEmail.
        /// 
        /// The resource specified in your request already exists.
        /// 
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// There are too many instances of the specified resource type.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for CreateConfigurationSetEventDestination Operation
        CreateConfigurationSetEventDestinationResponse CreateConfigurationSetEventDestination(CreateConfigurationSetEventDestinationRequest request);
        /// 
        /// Initiates the asynchronous execution of the CreateConfigurationSetEventDestination operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateConfigurationSetEventDestination operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateConfigurationSetEventDestination
        ///         operation.
        /// REST API Reference for CreateConfigurationSetEventDestination Operation
        IAsyncResult BeginCreateConfigurationSetEventDestination(CreateConfigurationSetEventDestinationRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  CreateConfigurationSetEventDestination operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateConfigurationSetEventDestination.
        /// 
        /// Returns a  CreateConfigurationSetEventDestinationResult from PinpointEmail.
        /// REST API Reference for CreateConfigurationSetEventDestination Operation
        CreateConfigurationSetEventDestinationResponse EndCreateConfigurationSetEventDestination(IAsyncResult asyncResult);
        #endregion
        
        #region  CreateDedicatedIpPool
        /// 
        /// 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.
        /// 
        /// Container for the necessary parameters to execute the CreateDedicatedIpPool service method.
        /// 
        /// The response from the CreateDedicatedIpPool service method, as returned by PinpointEmail.
        /// 
        /// The resource specified in your request already exists.
        /// 
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource is being modified by another operation or thread.
        /// 
        /// 
        /// There are too many instances of the specified resource type.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for CreateDedicatedIpPool Operation
        CreateDedicatedIpPoolResponse CreateDedicatedIpPool(CreateDedicatedIpPoolRequest request);
        /// 
        /// Initiates the asynchronous execution of the CreateDedicatedIpPool operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateDedicatedIpPool operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateDedicatedIpPool
        ///         operation.
        /// REST API Reference for CreateDedicatedIpPool Operation
        IAsyncResult BeginCreateDedicatedIpPool(CreateDedicatedIpPoolRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  CreateDedicatedIpPool operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateDedicatedIpPool.
        /// 
        /// Returns a  CreateDedicatedIpPoolResult from PinpointEmail.
        /// REST API Reference for CreateDedicatedIpPool Operation
        CreateDedicatedIpPoolResponse EndCreateDedicatedIpPool(IAsyncResult asyncResult);
        #endregion
        
        #region  CreateDeliverabilityTestReport
        /// 
        /// 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.
        /// 
        /// Container for the necessary parameters to execute the CreateDeliverabilityTestReport service method.
        /// 
        /// The response from the CreateDeliverabilityTestReport service method, as returned by PinpointEmail.
        /// 
        /// The message can't be sent because the account's ability to send email has been permanently
        /// restricted.
        /// 
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource is being modified by another operation or thread.
        /// 
        /// 
        /// There are too many instances of the specified resource type.
        /// 
        /// 
        /// The message can't be sent because the sending domain isn't verified.
        /// 
        /// 
        /// The message can't be sent because it contains invalid content.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// The message can't be sent because the account's ability to send email is currently
        /// paused.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for CreateDeliverabilityTestReport Operation
        CreateDeliverabilityTestReportResponse CreateDeliverabilityTestReport(CreateDeliverabilityTestReportRequest request);
        /// 
        /// Initiates the asynchronous execution of the CreateDeliverabilityTestReport operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateDeliverabilityTestReport operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateDeliverabilityTestReport
        ///         operation.
        /// REST API Reference for CreateDeliverabilityTestReport Operation
        IAsyncResult BeginCreateDeliverabilityTestReport(CreateDeliverabilityTestReportRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  CreateDeliverabilityTestReport operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateDeliverabilityTestReport.
        /// 
        /// Returns a  CreateDeliverabilityTestReportResult from PinpointEmail.
        /// REST API Reference for CreateDeliverabilityTestReport Operation
        CreateDeliverabilityTestReportResponse EndCreateDeliverabilityTestReport(IAsyncResult asyncResult);
        #endregion
        
        #region  CreateEmailIdentity
        /// 
        /// 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.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateEmailIdentity service method.
        /// 
        /// The response from the CreateEmailIdentity service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource is being modified by another operation or thread.
        /// 
        /// 
        /// There are too many instances of the specified resource type.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for CreateEmailIdentity Operation
        CreateEmailIdentityResponse CreateEmailIdentity(CreateEmailIdentityRequest request);
        /// 
        /// Initiates the asynchronous execution of the CreateEmailIdentity operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateEmailIdentity operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateEmailIdentity
        ///         operation.
        /// REST API Reference for CreateEmailIdentity Operation
        IAsyncResult BeginCreateEmailIdentity(CreateEmailIdentityRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  CreateEmailIdentity operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateEmailIdentity.
        /// 
        /// Returns a  CreateEmailIdentityResult from PinpointEmail.
        /// REST API Reference for CreateEmailIdentity Operation
        CreateEmailIdentityResponse EndCreateEmailIdentity(IAsyncResult asyncResult);
        #endregion
        
        #region  DeleteConfigurationSet
        /// 
        /// 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.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteConfigurationSet service method.
        /// 
        /// The response from the DeleteConfigurationSet service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource is being modified by another operation or thread.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for DeleteConfigurationSet Operation
        DeleteConfigurationSetResponse DeleteConfigurationSet(DeleteConfigurationSetRequest request);
        /// 
        /// Initiates the asynchronous execution of the DeleteConfigurationSet operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteConfigurationSet operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteConfigurationSet
        ///         operation.
        /// REST API Reference for DeleteConfigurationSet Operation
        IAsyncResult BeginDeleteConfigurationSet(DeleteConfigurationSetRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  DeleteConfigurationSet operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteConfigurationSet.
        /// 
        /// Returns a  DeleteConfigurationSetResult from PinpointEmail.
        /// REST API Reference for DeleteConfigurationSet Operation
        DeleteConfigurationSetResponse EndDeleteConfigurationSet(IAsyncResult asyncResult);
        #endregion
        
        #region  DeleteConfigurationSetEventDestination
        /// 
        /// 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.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteConfigurationSetEventDestination service method.
        /// 
        /// The response from the DeleteConfigurationSetEventDestination service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for DeleteConfigurationSetEventDestination Operation
        DeleteConfigurationSetEventDestinationResponse DeleteConfigurationSetEventDestination(DeleteConfigurationSetEventDestinationRequest request);
        /// 
        /// Initiates the asynchronous execution of the DeleteConfigurationSetEventDestination operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteConfigurationSetEventDestination operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteConfigurationSetEventDestination
        ///         operation.
        /// REST API Reference for DeleteConfigurationSetEventDestination Operation
        IAsyncResult BeginDeleteConfigurationSetEventDestination(DeleteConfigurationSetEventDestinationRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  DeleteConfigurationSetEventDestination operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteConfigurationSetEventDestination.
        /// 
        /// Returns a  DeleteConfigurationSetEventDestinationResult from PinpointEmail.
        /// REST API Reference for DeleteConfigurationSetEventDestination Operation
        DeleteConfigurationSetEventDestinationResponse EndDeleteConfigurationSetEventDestination(IAsyncResult asyncResult);
        #endregion
        
        #region  DeleteDedicatedIpPool
        /// 
        /// Delete a dedicated IP pool.
        /// 
        /// Container for the necessary parameters to execute the DeleteDedicatedIpPool service method.
        /// 
        /// The response from the DeleteDedicatedIpPool service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource is being modified by another operation or thread.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for DeleteDedicatedIpPool Operation
        DeleteDedicatedIpPoolResponse DeleteDedicatedIpPool(DeleteDedicatedIpPoolRequest request);
        /// 
        /// Initiates the asynchronous execution of the DeleteDedicatedIpPool operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteDedicatedIpPool operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteDedicatedIpPool
        ///         operation.
        /// REST API Reference for DeleteDedicatedIpPool Operation
        IAsyncResult BeginDeleteDedicatedIpPool(DeleteDedicatedIpPoolRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  DeleteDedicatedIpPool operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteDedicatedIpPool.
        /// 
        /// Returns a  DeleteDedicatedIpPoolResult from PinpointEmail.
        /// REST API Reference for DeleteDedicatedIpPool Operation
        DeleteDedicatedIpPoolResponse EndDeleteDedicatedIpPool(IAsyncResult asyncResult);
        #endregion
        
        #region  DeleteEmailIdentity
        /// 
        /// 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.
        /// 
        /// Container for the necessary parameters to execute the DeleteEmailIdentity service method.
        /// 
        /// The response from the DeleteEmailIdentity service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource is being modified by another operation or thread.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for DeleteEmailIdentity Operation
        DeleteEmailIdentityResponse DeleteEmailIdentity(DeleteEmailIdentityRequest request);
        /// 
        /// Initiates the asynchronous execution of the DeleteEmailIdentity operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteEmailIdentity operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteEmailIdentity
        ///         operation.
        /// REST API Reference for DeleteEmailIdentity Operation
        IAsyncResult BeginDeleteEmailIdentity(DeleteEmailIdentityRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  DeleteEmailIdentity operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteEmailIdentity.
        /// 
        /// Returns a  DeleteEmailIdentityResult from PinpointEmail.
        /// REST API Reference for DeleteEmailIdentity Operation
        DeleteEmailIdentityResponse EndDeleteEmailIdentity(IAsyncResult asyncResult);
        #endregion
        
        #region  GetAccount
        /// 
        /// Obtain information about the email-sending status and capabilities of your Amazon
        /// Pinpoint account in the current AWS Region.
        /// 
        /// Container for the necessary parameters to execute the GetAccount service method.
        /// 
        /// The response from the GetAccount service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for GetAccount Operation
        GetAccountResponse GetAccount(GetAccountRequest request);
        /// 
        /// Initiates the asynchronous execution of the GetAccount operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetAccount operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetAccount
        ///         operation.
        /// REST API Reference for GetAccount Operation
        IAsyncResult BeginGetAccount(GetAccountRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  GetAccount operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetAccount.
        /// 
        /// Returns a  GetAccountResult from PinpointEmail.
        /// REST API Reference for GetAccount Operation
        GetAccountResponse EndGetAccount(IAsyncResult asyncResult);
        #endregion
        
        #region  GetBlacklistReports
        /// 
        /// Retrieve a list of the blacklists that your dedicated IP addresses appear on.
        /// 
        /// Container for the necessary parameters to execute the GetBlacklistReports service method.
        /// 
        /// The response from the GetBlacklistReports service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for GetBlacklistReports Operation
        GetBlacklistReportsResponse GetBlacklistReports(GetBlacklistReportsRequest request);
        /// 
        /// Initiates the asynchronous execution of the GetBlacklistReports operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetBlacklistReports operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetBlacklistReports
        ///         operation.
        /// REST API Reference for GetBlacklistReports Operation
        IAsyncResult BeginGetBlacklistReports(GetBlacklistReportsRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  GetBlacklistReports operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetBlacklistReports.
        /// 
        /// Returns a  GetBlacklistReportsResult from PinpointEmail.
        /// REST API Reference for GetBlacklistReports Operation
        GetBlacklistReportsResponse EndGetBlacklistReports(IAsyncResult asyncResult);
        #endregion
        
        #region  GetConfigurationSet
        /// 
        /// 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.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetConfigurationSet service method.
        /// 
        /// The response from the GetConfigurationSet service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for GetConfigurationSet Operation
        GetConfigurationSetResponse GetConfigurationSet(GetConfigurationSetRequest request);
        /// 
        /// Initiates the asynchronous execution of the GetConfigurationSet operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetConfigurationSet operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetConfigurationSet
        ///         operation.
        /// REST API Reference for GetConfigurationSet Operation
        IAsyncResult BeginGetConfigurationSet(GetConfigurationSetRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  GetConfigurationSet operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetConfigurationSet.
        /// 
        /// Returns a  GetConfigurationSetResult from PinpointEmail.
        /// REST API Reference for GetConfigurationSet Operation
        GetConfigurationSetResponse EndGetConfigurationSet(IAsyncResult asyncResult);
        #endregion
        
        #region  GetConfigurationSetEventDestinations
        /// 
        /// 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.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetConfigurationSetEventDestinations service method.
        /// 
        /// The response from the GetConfigurationSetEventDestinations service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for GetConfigurationSetEventDestinations Operation
        GetConfigurationSetEventDestinationsResponse GetConfigurationSetEventDestinations(GetConfigurationSetEventDestinationsRequest request);
        /// 
        /// Initiates the asynchronous execution of the GetConfigurationSetEventDestinations operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetConfigurationSetEventDestinations operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetConfigurationSetEventDestinations
        ///         operation.
        /// REST API Reference for GetConfigurationSetEventDestinations Operation
        IAsyncResult BeginGetConfigurationSetEventDestinations(GetConfigurationSetEventDestinationsRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  GetConfigurationSetEventDestinations operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetConfigurationSetEventDestinations.
        /// 
        /// Returns a  GetConfigurationSetEventDestinationsResult from PinpointEmail.
        /// REST API Reference for GetConfigurationSetEventDestinations Operation
        GetConfigurationSetEventDestinationsResponse EndGetConfigurationSetEventDestinations(IAsyncResult asyncResult);
        #endregion
        
        #region  GetDedicatedIp
        /// 
        /// 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.
        /// 
        /// Container for the necessary parameters to execute the GetDedicatedIp service method.
        /// 
        /// The response from the GetDedicatedIp service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for GetDedicatedIp Operation
        GetDedicatedIpResponse GetDedicatedIp(GetDedicatedIpRequest request);
        /// 
        /// Initiates the asynchronous execution of the GetDedicatedIp operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetDedicatedIp operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetDedicatedIp
        ///         operation.
        /// REST API Reference for GetDedicatedIp Operation
        IAsyncResult BeginGetDedicatedIp(GetDedicatedIpRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  GetDedicatedIp operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetDedicatedIp.
        /// 
        /// Returns a  GetDedicatedIpResult from PinpointEmail.
        /// REST API Reference for GetDedicatedIp Operation
        GetDedicatedIpResponse EndGetDedicatedIp(IAsyncResult asyncResult);
        #endregion
        
        #region  GetDedicatedIps
        /// 
        /// List the dedicated IP addresses that are associated with your Amazon Pinpoint account.
        /// 
        /// Container for the necessary parameters to execute the GetDedicatedIps service method.
        /// 
        /// The response from the GetDedicatedIps service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for GetDedicatedIps Operation
        GetDedicatedIpsResponse GetDedicatedIps(GetDedicatedIpsRequest request);
        /// 
        /// Initiates the asynchronous execution of the GetDedicatedIps operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetDedicatedIps operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetDedicatedIps
        ///         operation.
        /// REST API Reference for GetDedicatedIps Operation
        IAsyncResult BeginGetDedicatedIps(GetDedicatedIpsRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  GetDedicatedIps operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetDedicatedIps.
        /// 
        /// Returns a  GetDedicatedIpsResult from PinpointEmail.
        /// REST API Reference for GetDedicatedIps Operation
        GetDedicatedIpsResponse EndGetDedicatedIps(IAsyncResult asyncResult);
        #endregion
        
        #region  GetDeliverabilityDashboardOptions
        /// 
        /// 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.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetDeliverabilityDashboardOptions service method.
        /// 
        /// The response from the GetDeliverabilityDashboardOptions service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// There are too many instances of the specified resource type.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for GetDeliverabilityDashboardOptions Operation
        GetDeliverabilityDashboardOptionsResponse GetDeliverabilityDashboardOptions(GetDeliverabilityDashboardOptionsRequest request);
        /// 
        /// Initiates the asynchronous execution of the GetDeliverabilityDashboardOptions operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetDeliverabilityDashboardOptions operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetDeliverabilityDashboardOptions
        ///         operation.
        /// REST API Reference for GetDeliverabilityDashboardOptions Operation
        IAsyncResult BeginGetDeliverabilityDashboardOptions(GetDeliverabilityDashboardOptionsRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  GetDeliverabilityDashboardOptions operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetDeliverabilityDashboardOptions.
        /// 
        /// Returns a  GetDeliverabilityDashboardOptionsResult from PinpointEmail.
        /// REST API Reference for GetDeliverabilityDashboardOptions Operation
        GetDeliverabilityDashboardOptionsResponse EndGetDeliverabilityDashboardOptions(IAsyncResult asyncResult);
        #endregion
        
        #region  GetDeliverabilityTestReport
        /// 
        /// Retrieve the results of a predictive inbox placement test.
        /// 
        /// Container for the necessary parameters to execute the GetDeliverabilityTestReport service method.
        /// 
        /// The response from the GetDeliverabilityTestReport service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for GetDeliverabilityTestReport Operation
        GetDeliverabilityTestReportResponse GetDeliverabilityTestReport(GetDeliverabilityTestReportRequest request);
        /// 
        /// Initiates the asynchronous execution of the GetDeliverabilityTestReport operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetDeliverabilityTestReport operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetDeliverabilityTestReport
        ///         operation.
        /// REST API Reference for GetDeliverabilityTestReport Operation
        IAsyncResult BeginGetDeliverabilityTestReport(GetDeliverabilityTestReportRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  GetDeliverabilityTestReport operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetDeliverabilityTestReport.
        /// 
        /// Returns a  GetDeliverabilityTestReportResult from PinpointEmail.
        /// REST API Reference for GetDeliverabilityTestReport Operation
        GetDeliverabilityTestReportResponse EndGetDeliverabilityTestReport(IAsyncResult asyncResult);
        #endregion
        
        #region  GetDomainDeliverabilityCampaign
        /// 
        /// 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).
        /// 
        /// Container for the necessary parameters to execute the GetDomainDeliverabilityCampaign service method.
        /// 
        /// The response from the GetDomainDeliverabilityCampaign service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for GetDomainDeliverabilityCampaign Operation
        GetDomainDeliverabilityCampaignResponse GetDomainDeliverabilityCampaign(GetDomainDeliverabilityCampaignRequest request);
        /// 
        /// Initiates the asynchronous execution of the GetDomainDeliverabilityCampaign operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetDomainDeliverabilityCampaign operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetDomainDeliverabilityCampaign
        ///         operation.
        /// REST API Reference for GetDomainDeliverabilityCampaign Operation
        IAsyncResult BeginGetDomainDeliverabilityCampaign(GetDomainDeliverabilityCampaignRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  GetDomainDeliverabilityCampaign operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetDomainDeliverabilityCampaign.
        /// 
        /// Returns a  GetDomainDeliverabilityCampaignResult from PinpointEmail.
        /// REST API Reference for GetDomainDeliverabilityCampaign Operation
        GetDomainDeliverabilityCampaignResponse EndGetDomainDeliverabilityCampaign(IAsyncResult asyncResult);
        #endregion
        
        #region  GetDomainStatisticsReport
        /// 
        /// Retrieve inbox placement and engagement rates for the domains that you use to send
        /// email.
        /// 
        /// Container for the necessary parameters to execute the GetDomainStatisticsReport service method.
        /// 
        /// The response from the GetDomainStatisticsReport service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for GetDomainStatisticsReport Operation
        GetDomainStatisticsReportResponse GetDomainStatisticsReport(GetDomainStatisticsReportRequest request);
        /// 
        /// Initiates the asynchronous execution of the GetDomainStatisticsReport operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetDomainStatisticsReport operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetDomainStatisticsReport
        ///         operation.
        /// REST API Reference for GetDomainStatisticsReport Operation
        IAsyncResult BeginGetDomainStatisticsReport(GetDomainStatisticsReportRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  GetDomainStatisticsReport operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetDomainStatisticsReport.
        /// 
        /// Returns a  GetDomainStatisticsReportResult from PinpointEmail.
        /// REST API Reference for GetDomainStatisticsReport Operation
        GetDomainStatisticsReportResponse EndGetDomainStatisticsReport(IAsyncResult asyncResult);
        #endregion
        
        #region  GetEmailIdentity
        /// 
        /// 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.
        /// 
        /// Container for the necessary parameters to execute the GetEmailIdentity service method.
        /// 
        /// The response from the GetEmailIdentity service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for GetEmailIdentity Operation
        GetEmailIdentityResponse GetEmailIdentity(GetEmailIdentityRequest request);
        /// 
        /// Initiates the asynchronous execution of the GetEmailIdentity operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetEmailIdentity operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetEmailIdentity
        ///         operation.
        /// REST API Reference for GetEmailIdentity Operation
        IAsyncResult BeginGetEmailIdentity(GetEmailIdentityRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  GetEmailIdentity operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetEmailIdentity.
        /// 
        /// Returns a  GetEmailIdentityResult from PinpointEmail.
        /// REST API Reference for GetEmailIdentity Operation
        GetEmailIdentityResponse EndGetEmailIdentity(IAsyncResult asyncResult);
        #endregion
        
        #region  ListConfigurationSets
        /// 
        /// 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.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListConfigurationSets service method.
        /// 
        /// The response from the ListConfigurationSets service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for ListConfigurationSets Operation
        ListConfigurationSetsResponse ListConfigurationSets(ListConfigurationSetsRequest request);
        /// 
        /// Initiates the asynchronous execution of the ListConfigurationSets operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListConfigurationSets operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListConfigurationSets
        ///         operation.
        /// REST API Reference for ListConfigurationSets Operation
        IAsyncResult BeginListConfigurationSets(ListConfigurationSetsRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  ListConfigurationSets operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListConfigurationSets.
        /// 
        /// Returns a  ListConfigurationSetsResult from PinpointEmail.
        /// REST API Reference for ListConfigurationSets Operation
        ListConfigurationSetsResponse EndListConfigurationSets(IAsyncResult asyncResult);
        #endregion
        
        #region  ListDedicatedIpPools
        /// 
        /// List all of the dedicated IP pools that exist in your Amazon Pinpoint account in the
        /// current AWS Region.
        /// 
        /// Container for the necessary parameters to execute the ListDedicatedIpPools service method.
        /// 
        /// The response from the ListDedicatedIpPools service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for ListDedicatedIpPools Operation
        ListDedicatedIpPoolsResponse ListDedicatedIpPools(ListDedicatedIpPoolsRequest request);
        /// 
        /// Initiates the asynchronous execution of the ListDedicatedIpPools operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListDedicatedIpPools operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListDedicatedIpPools
        ///         operation.
        /// REST API Reference for ListDedicatedIpPools Operation
        IAsyncResult BeginListDedicatedIpPools(ListDedicatedIpPoolsRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  ListDedicatedIpPools operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListDedicatedIpPools.
        /// 
        /// Returns a  ListDedicatedIpPoolsResult from PinpointEmail.
        /// REST API Reference for ListDedicatedIpPools Operation
        ListDedicatedIpPoolsResponse EndListDedicatedIpPools(IAsyncResult asyncResult);
        #endregion
        
        #region  ListDeliverabilityTestReports
        /// 
        /// 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.
        /// 
        /// Container for the necessary parameters to execute the ListDeliverabilityTestReports service method.
        /// 
        /// The response from the ListDeliverabilityTestReports service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for ListDeliverabilityTestReports Operation
        ListDeliverabilityTestReportsResponse ListDeliverabilityTestReports(ListDeliverabilityTestReportsRequest request);
        /// 
        /// Initiates the asynchronous execution of the ListDeliverabilityTestReports operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListDeliverabilityTestReports operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListDeliverabilityTestReports
        ///         operation.
        /// REST API Reference for ListDeliverabilityTestReports Operation
        IAsyncResult BeginListDeliverabilityTestReports(ListDeliverabilityTestReportsRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  ListDeliverabilityTestReports operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListDeliverabilityTestReports.
        /// 
        /// Returns a  ListDeliverabilityTestReportsResult from PinpointEmail.
        /// REST API Reference for ListDeliverabilityTestReports Operation
        ListDeliverabilityTestReportsResponse EndListDeliverabilityTestReports(IAsyncResult asyncResult);
        #endregion
        
        #region  ListDomainDeliverabilityCampaigns
        /// 
        /// 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.
        /// 
        /// Container for the necessary parameters to execute the ListDomainDeliverabilityCampaigns service method.
        /// 
        /// The response from the ListDomainDeliverabilityCampaigns service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for ListDomainDeliverabilityCampaigns Operation
        ListDomainDeliverabilityCampaignsResponse ListDomainDeliverabilityCampaigns(ListDomainDeliverabilityCampaignsRequest request);
        /// 
        /// Initiates the asynchronous execution of the ListDomainDeliverabilityCampaigns operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListDomainDeliverabilityCampaigns operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListDomainDeliverabilityCampaigns
        ///         operation.
        /// REST API Reference for ListDomainDeliverabilityCampaigns Operation
        IAsyncResult BeginListDomainDeliverabilityCampaigns(ListDomainDeliverabilityCampaignsRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  ListDomainDeliverabilityCampaigns operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListDomainDeliverabilityCampaigns.
        /// 
        /// Returns a  ListDomainDeliverabilityCampaignsResult from PinpointEmail.
        /// REST API Reference for ListDomainDeliverabilityCampaigns Operation
        ListDomainDeliverabilityCampaignsResponse EndListDomainDeliverabilityCampaigns(IAsyncResult asyncResult);
        #endregion
        
        #region  ListEmailIdentities
        /// 
        /// 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.
        /// 
        /// Container for the necessary parameters to execute the ListEmailIdentities service method.
        /// 
        /// The response from the ListEmailIdentities service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for ListEmailIdentities Operation
        ListEmailIdentitiesResponse ListEmailIdentities(ListEmailIdentitiesRequest request);
        /// 
        /// Initiates the asynchronous execution of the ListEmailIdentities operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListEmailIdentities operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListEmailIdentities
        ///         operation.
        /// REST API Reference for ListEmailIdentities Operation
        IAsyncResult BeginListEmailIdentities(ListEmailIdentitiesRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  ListEmailIdentities operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListEmailIdentities.
        /// 
        /// Returns a  ListEmailIdentitiesResult from PinpointEmail.
        /// REST API Reference for ListEmailIdentities Operation
        ListEmailIdentitiesResponse EndListEmailIdentities(IAsyncResult asyncResult);
        #endregion
        
        #region  ListTagsForResource
        /// 
        /// 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.
        /// 
        /// Container for the necessary parameters to execute the ListTagsForResource service method.
        /// 
        /// The response from the ListTagsForResource service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for ListTagsForResource Operation
        ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request);
        /// 
        /// Initiates the asynchronous execution of the ListTagsForResource operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListTagsForResource operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListTagsForResource
        ///         operation.
        /// REST API Reference for ListTagsForResource Operation
        IAsyncResult BeginListTagsForResource(ListTagsForResourceRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  ListTagsForResource operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListTagsForResource.
        /// 
        /// Returns a  ListTagsForResourceResult from PinpointEmail.
        /// REST API Reference for ListTagsForResource Operation
        ListTagsForResourceResponse EndListTagsForResource(IAsyncResult asyncResult);
        #endregion
        
        #region  PutAccountDedicatedIpWarmupAttributes
        /// 
        /// Enable or disable the automatic warm-up feature for dedicated IP addresses.
        /// 
        /// Container for the necessary parameters to execute the PutAccountDedicatedIpWarmupAttributes service method.
        /// 
        /// The response from the PutAccountDedicatedIpWarmupAttributes service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for PutAccountDedicatedIpWarmupAttributes Operation
        PutAccountDedicatedIpWarmupAttributesResponse PutAccountDedicatedIpWarmupAttributes(PutAccountDedicatedIpWarmupAttributesRequest request);
        /// 
        /// Initiates the asynchronous execution of the PutAccountDedicatedIpWarmupAttributes operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the PutAccountDedicatedIpWarmupAttributes operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutAccountDedicatedIpWarmupAttributes
        ///         operation.
        /// REST API Reference for PutAccountDedicatedIpWarmupAttributes Operation
        IAsyncResult BeginPutAccountDedicatedIpWarmupAttributes(PutAccountDedicatedIpWarmupAttributesRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  PutAccountDedicatedIpWarmupAttributes operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginPutAccountDedicatedIpWarmupAttributes.
        /// 
        /// Returns a  PutAccountDedicatedIpWarmupAttributesResult from PinpointEmail.
        /// REST API Reference for PutAccountDedicatedIpWarmupAttributes Operation
        PutAccountDedicatedIpWarmupAttributesResponse EndPutAccountDedicatedIpWarmupAttributes(IAsyncResult asyncResult);
        #endregion
        
        #region  PutAccountSendingAttributes
        /// 
        /// Enable or disable the ability of your account to send email.
        /// 
        /// Container for the necessary parameters to execute the PutAccountSendingAttributes service method.
        /// 
        /// The response from the PutAccountSendingAttributes service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for PutAccountSendingAttributes Operation
        PutAccountSendingAttributesResponse PutAccountSendingAttributes(PutAccountSendingAttributesRequest request);
        /// 
        /// Initiates the asynchronous execution of the PutAccountSendingAttributes operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the PutAccountSendingAttributes operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutAccountSendingAttributes
        ///         operation.
        /// REST API Reference for PutAccountSendingAttributes Operation
        IAsyncResult BeginPutAccountSendingAttributes(PutAccountSendingAttributesRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  PutAccountSendingAttributes operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginPutAccountSendingAttributes.
        /// 
        /// Returns a  PutAccountSendingAttributesResult from PinpointEmail.
        /// REST API Reference for PutAccountSendingAttributes Operation
        PutAccountSendingAttributesResponse EndPutAccountSendingAttributes(IAsyncResult asyncResult);
        #endregion
        
        #region  PutConfigurationSetDeliveryOptions
        /// 
        /// 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.
        /// 
        /// Container for the necessary parameters to execute the PutConfigurationSetDeliveryOptions service method.
        /// 
        /// The response from the PutConfigurationSetDeliveryOptions service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for PutConfigurationSetDeliveryOptions Operation
        PutConfigurationSetDeliveryOptionsResponse PutConfigurationSetDeliveryOptions(PutConfigurationSetDeliveryOptionsRequest request);
        /// 
        /// Initiates the asynchronous execution of the PutConfigurationSetDeliveryOptions operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the PutConfigurationSetDeliveryOptions operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutConfigurationSetDeliveryOptions
        ///         operation.
        /// REST API Reference for PutConfigurationSetDeliveryOptions Operation
        IAsyncResult BeginPutConfigurationSetDeliveryOptions(PutConfigurationSetDeliveryOptionsRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  PutConfigurationSetDeliveryOptions operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginPutConfigurationSetDeliveryOptions.
        /// 
        /// Returns a  PutConfigurationSetDeliveryOptionsResult from PinpointEmail.
        /// REST API Reference for PutConfigurationSetDeliveryOptions Operation
        PutConfigurationSetDeliveryOptionsResponse EndPutConfigurationSetDeliveryOptions(IAsyncResult asyncResult);
        #endregion
        
        #region  PutConfigurationSetReputationOptions
        /// 
        /// Enable or disable collection of reputation metrics for emails that you send using
        /// a particular configuration set in a specific AWS Region.
        /// 
        /// Container for the necessary parameters to execute the PutConfigurationSetReputationOptions service method.
        /// 
        /// The response from the PutConfigurationSetReputationOptions service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for PutConfigurationSetReputationOptions Operation
        PutConfigurationSetReputationOptionsResponse PutConfigurationSetReputationOptions(PutConfigurationSetReputationOptionsRequest request);
        /// 
        /// Initiates the asynchronous execution of the PutConfigurationSetReputationOptions operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the PutConfigurationSetReputationOptions operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutConfigurationSetReputationOptions
        ///         operation.
        /// REST API Reference for PutConfigurationSetReputationOptions Operation
        IAsyncResult BeginPutConfigurationSetReputationOptions(PutConfigurationSetReputationOptionsRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  PutConfigurationSetReputationOptions operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginPutConfigurationSetReputationOptions.
        /// 
        /// Returns a  PutConfigurationSetReputationOptionsResult from PinpointEmail.
        /// REST API Reference for PutConfigurationSetReputationOptions Operation
        PutConfigurationSetReputationOptionsResponse EndPutConfigurationSetReputationOptions(IAsyncResult asyncResult);
        #endregion
        
        #region  PutConfigurationSetSendingOptions
        /// 
        /// Enable or disable email sending for messages that use a particular configuration set
        /// in a specific AWS Region.
        /// 
        /// Container for the necessary parameters to execute the PutConfigurationSetSendingOptions service method.
        /// 
        /// The response from the PutConfigurationSetSendingOptions service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for PutConfigurationSetSendingOptions Operation
        PutConfigurationSetSendingOptionsResponse PutConfigurationSetSendingOptions(PutConfigurationSetSendingOptionsRequest request);
        /// 
        /// Initiates the asynchronous execution of the PutConfigurationSetSendingOptions operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the PutConfigurationSetSendingOptions operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutConfigurationSetSendingOptions
        ///         operation.
        /// REST API Reference for PutConfigurationSetSendingOptions Operation
        IAsyncResult BeginPutConfigurationSetSendingOptions(PutConfigurationSetSendingOptionsRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  PutConfigurationSetSendingOptions operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginPutConfigurationSetSendingOptions.
        /// 
        /// Returns a  PutConfigurationSetSendingOptionsResult from PinpointEmail.
        /// REST API Reference for PutConfigurationSetSendingOptions Operation
        PutConfigurationSetSendingOptionsResponse EndPutConfigurationSetSendingOptions(IAsyncResult asyncResult);
        #endregion
        
        #region  PutConfigurationSetTrackingOptions
        /// 
        /// Specify a custom domain to use for open and click tracking elements in email that
        /// you send using Amazon Pinpoint.
        /// 
        /// Container for the necessary parameters to execute the PutConfigurationSetTrackingOptions service method.
        /// 
        /// The response from the PutConfigurationSetTrackingOptions service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for PutConfigurationSetTrackingOptions Operation
        PutConfigurationSetTrackingOptionsResponse PutConfigurationSetTrackingOptions(PutConfigurationSetTrackingOptionsRequest request);
        /// 
        /// Initiates the asynchronous execution of the PutConfigurationSetTrackingOptions operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the PutConfigurationSetTrackingOptions operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutConfigurationSetTrackingOptions
        ///         operation.
        /// REST API Reference for PutConfigurationSetTrackingOptions Operation
        IAsyncResult BeginPutConfigurationSetTrackingOptions(PutConfigurationSetTrackingOptionsRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  PutConfigurationSetTrackingOptions operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginPutConfigurationSetTrackingOptions.
        /// 
        /// Returns a  PutConfigurationSetTrackingOptionsResult from PinpointEmail.
        /// REST API Reference for PutConfigurationSetTrackingOptions Operation
        PutConfigurationSetTrackingOptionsResponse EndPutConfigurationSetTrackingOptions(IAsyncResult asyncResult);
        #endregion
        
        #region  PutDedicatedIpInPool
        /// 
        /// 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.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the PutDedicatedIpInPool service method.
        /// 
        /// The response from the PutDedicatedIpInPool service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for PutDedicatedIpInPool Operation
        PutDedicatedIpInPoolResponse PutDedicatedIpInPool(PutDedicatedIpInPoolRequest request);
        /// 
        /// Initiates the asynchronous execution of the PutDedicatedIpInPool operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the PutDedicatedIpInPool operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutDedicatedIpInPool
        ///         operation.
        /// REST API Reference for PutDedicatedIpInPool Operation
        IAsyncResult BeginPutDedicatedIpInPool(PutDedicatedIpInPoolRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  PutDedicatedIpInPool operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginPutDedicatedIpInPool.
        /// 
        /// Returns a  PutDedicatedIpInPoolResult from PinpointEmail.
        /// REST API Reference for PutDedicatedIpInPool Operation
        PutDedicatedIpInPoolResponse EndPutDedicatedIpInPool(IAsyncResult asyncResult);
        #endregion
        
        #region  PutDedicatedIpWarmupAttributes
        /// 
        /// 
        /// 
        /// Container for the necessary parameters to execute the PutDedicatedIpWarmupAttributes service method.
        /// 
        /// The response from the PutDedicatedIpWarmupAttributes service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for PutDedicatedIpWarmupAttributes Operation
        PutDedicatedIpWarmupAttributesResponse PutDedicatedIpWarmupAttributes(PutDedicatedIpWarmupAttributesRequest request);
        /// 
        /// Initiates the asynchronous execution of the PutDedicatedIpWarmupAttributes operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the PutDedicatedIpWarmupAttributes operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutDedicatedIpWarmupAttributes
        ///         operation.
        /// REST API Reference for PutDedicatedIpWarmupAttributes Operation
        IAsyncResult BeginPutDedicatedIpWarmupAttributes(PutDedicatedIpWarmupAttributesRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  PutDedicatedIpWarmupAttributes operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginPutDedicatedIpWarmupAttributes.
        /// 
        /// Returns a  PutDedicatedIpWarmupAttributesResult from PinpointEmail.
        /// REST API Reference for PutDedicatedIpWarmupAttributes Operation
        PutDedicatedIpWarmupAttributesResponse EndPutDedicatedIpWarmupAttributes(IAsyncResult asyncResult);
        #endregion
        
        #region  PutDeliverabilityDashboardOption
        /// 
        /// 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.
        /// 
        /// 
        /// Container for the necessary parameters to execute the PutDeliverabilityDashboardOption service method.
        /// 
        /// The response from the PutDeliverabilityDashboardOption service method, as returned by PinpointEmail.
        /// 
        /// The resource specified in your request already exists.
        /// 
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// There are too many instances of the specified resource type.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for PutDeliverabilityDashboardOption Operation
        PutDeliverabilityDashboardOptionResponse PutDeliverabilityDashboardOption(PutDeliverabilityDashboardOptionRequest request);
        /// 
        /// Initiates the asynchronous execution of the PutDeliverabilityDashboardOption operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the PutDeliverabilityDashboardOption operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutDeliverabilityDashboardOption
        ///         operation.
        /// REST API Reference for PutDeliverabilityDashboardOption Operation
        IAsyncResult BeginPutDeliverabilityDashboardOption(PutDeliverabilityDashboardOptionRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  PutDeliverabilityDashboardOption operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginPutDeliverabilityDashboardOption.
        /// 
        /// Returns a  PutDeliverabilityDashboardOptionResult from PinpointEmail.
        /// REST API Reference for PutDeliverabilityDashboardOption Operation
        PutDeliverabilityDashboardOptionResponse EndPutDeliverabilityDashboardOption(IAsyncResult asyncResult);
        #endregion
        
        #region  PutEmailIdentityDkimAttributes
        /// 
        /// Used to enable or disable DKIM authentication for an email identity.
        /// 
        /// Container for the necessary parameters to execute the PutEmailIdentityDkimAttributes service method.
        /// 
        /// The response from the PutEmailIdentityDkimAttributes service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for PutEmailIdentityDkimAttributes Operation
        PutEmailIdentityDkimAttributesResponse PutEmailIdentityDkimAttributes(PutEmailIdentityDkimAttributesRequest request);
        /// 
        /// Initiates the asynchronous execution of the PutEmailIdentityDkimAttributes operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the PutEmailIdentityDkimAttributes operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutEmailIdentityDkimAttributes
        ///         operation.
        /// REST API Reference for PutEmailIdentityDkimAttributes Operation
        IAsyncResult BeginPutEmailIdentityDkimAttributes(PutEmailIdentityDkimAttributesRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  PutEmailIdentityDkimAttributes operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginPutEmailIdentityDkimAttributes.
        /// 
        /// Returns a  PutEmailIdentityDkimAttributesResult from PinpointEmail.
        /// REST API Reference for PutEmailIdentityDkimAttributes Operation
        PutEmailIdentityDkimAttributesResponse EndPutEmailIdentityDkimAttributes(IAsyncResult asyncResult);
        #endregion
        
        #region  PutEmailIdentityFeedbackAttributes
        /// 
        /// 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).
        /// 
        /// 
        /// Container for the necessary parameters to execute the PutEmailIdentityFeedbackAttributes service method.
        /// 
        /// The response from the PutEmailIdentityFeedbackAttributes service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for PutEmailIdentityFeedbackAttributes Operation
        PutEmailIdentityFeedbackAttributesResponse PutEmailIdentityFeedbackAttributes(PutEmailIdentityFeedbackAttributesRequest request);
        /// 
        /// Initiates the asynchronous execution of the PutEmailIdentityFeedbackAttributes operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the PutEmailIdentityFeedbackAttributes operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutEmailIdentityFeedbackAttributes
        ///         operation.
        /// REST API Reference for PutEmailIdentityFeedbackAttributes Operation
        IAsyncResult BeginPutEmailIdentityFeedbackAttributes(PutEmailIdentityFeedbackAttributesRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  PutEmailIdentityFeedbackAttributes operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginPutEmailIdentityFeedbackAttributes.
        /// 
        /// Returns a  PutEmailIdentityFeedbackAttributesResult from PinpointEmail.
        /// REST API Reference for PutEmailIdentityFeedbackAttributes Operation
        PutEmailIdentityFeedbackAttributesResponse EndPutEmailIdentityFeedbackAttributes(IAsyncResult asyncResult);
        #endregion
        
        #region  PutEmailIdentityMailFromAttributes
        /// 
        /// Used to enable or disable the custom Mail-From domain configuration for an email identity.
        /// 
        /// Container for the necessary parameters to execute the PutEmailIdentityMailFromAttributes service method.
        /// 
        /// The response from the PutEmailIdentityMailFromAttributes service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for PutEmailIdentityMailFromAttributes Operation
        PutEmailIdentityMailFromAttributesResponse PutEmailIdentityMailFromAttributes(PutEmailIdentityMailFromAttributesRequest request);
        /// 
        /// Initiates the asynchronous execution of the PutEmailIdentityMailFromAttributes operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the PutEmailIdentityMailFromAttributes operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutEmailIdentityMailFromAttributes
        ///         operation.
        /// REST API Reference for PutEmailIdentityMailFromAttributes Operation
        IAsyncResult BeginPutEmailIdentityMailFromAttributes(PutEmailIdentityMailFromAttributesRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  PutEmailIdentityMailFromAttributes operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginPutEmailIdentityMailFromAttributes.
        /// 
        /// Returns a  PutEmailIdentityMailFromAttributesResult from PinpointEmail.
        /// REST API Reference for PutEmailIdentityMailFromAttributes Operation
        PutEmailIdentityMailFromAttributesResponse EndPutEmailIdentityMailFromAttributes(IAsyncResult asyncResult);
        #endregion
        
        #region  SendEmail
        /// 
        /// 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.
        /// 
        ///  
/// 
        /// Container for the necessary parameters to execute the SendEmail service method.
        /// 
        /// The response from the SendEmail service method, as returned by PinpointEmail.
        /// 
        /// The message can't be sent because the account's ability to send email has been permanently
        /// restricted.
        /// 
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// There are too many instances of the specified resource type.
        /// 
        /// 
        /// The message can't be sent because the sending domain isn't verified.
        /// 
        /// 
        /// The message can't be sent because it contains invalid content.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// The message can't be sent because the account's ability to send email is currently
        /// paused.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for SendEmail Operation
        SendEmailResponse SendEmail(SendEmailRequest request);
        /// 
        /// Initiates the asynchronous execution of the SendEmail operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the SendEmail operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSendEmail
        ///         operation.
        /// REST API Reference for SendEmail Operation
        IAsyncResult BeginSendEmail(SendEmailRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  SendEmail operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginSendEmail.
        /// 
        /// Returns a  SendEmailResult from PinpointEmail.
        /// REST API Reference for SendEmail Operation
        SendEmailResponse EndSendEmail(IAsyncResult asyncResult);
        #endregion
        
        #region  TagResource
        /// 
        /// 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.
        /// 
        /// 
        /// Container for the necessary parameters to execute the TagResource service method.
        /// 
        /// The response from the TagResource service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource is being modified by another operation or thread.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for TagResource Operation
        TagResourceResponse TagResource(TagResourceRequest request);
        /// 
        /// Initiates the asynchronous execution of the TagResource operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the TagResource operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndTagResource
        ///         operation.
        /// REST API Reference for TagResource Operation
        IAsyncResult BeginTagResource(TagResourceRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  TagResource operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginTagResource.
        /// 
        /// Returns a  TagResourceResult from PinpointEmail.
        /// REST API Reference for TagResource Operation
        TagResourceResponse EndTagResource(IAsyncResult asyncResult);
        #endregion
        
        #region  UntagResource
        /// 
        /// Remove one or more tags (keys and values) from a specified resource.
        /// 
        /// Container for the necessary parameters to execute the UntagResource service method.
        /// 
        /// The response from the UntagResource service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource is being modified by another operation or thread.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for UntagResource Operation
        UntagResourceResponse UntagResource(UntagResourceRequest request);
        /// 
        /// Initiates the asynchronous execution of the UntagResource operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UntagResource operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUntagResource
        ///         operation.
        /// REST API Reference for UntagResource Operation
        IAsyncResult BeginUntagResource(UntagResourceRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  UntagResource operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUntagResource.
        /// 
        /// Returns a  UntagResourceResult from PinpointEmail.
        /// REST API Reference for UntagResource Operation
        UntagResourceResponse EndUntagResource(IAsyncResult asyncResult);
        #endregion
        
        #region  UpdateConfigurationSetEventDestination
        /// 
        /// 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.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateConfigurationSetEventDestination service method.
        /// 
        /// The response from the UpdateConfigurationSetEventDestination service method, as returned by PinpointEmail.
        /// 
        /// The input you provided is invalid.
        /// 
        /// 
        /// The resource you attempted to access doesn't exist.
        /// 
        /// 
        /// Too many requests have been made to the operation.
        /// 
        /// REST API Reference for UpdateConfigurationSetEventDestination Operation
        UpdateConfigurationSetEventDestinationResponse UpdateConfigurationSetEventDestination(UpdateConfigurationSetEventDestinationRequest request);
        /// 
        /// Initiates the asynchronous execution of the UpdateConfigurationSetEventDestination operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateConfigurationSetEventDestination operation on AmazonPinpointEmailClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateConfigurationSetEventDestination
        ///         operation.
        /// REST API Reference for UpdateConfigurationSetEventDestination Operation
        IAsyncResult BeginUpdateConfigurationSetEventDestination(UpdateConfigurationSetEventDestinationRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  UpdateConfigurationSetEventDestination operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateConfigurationSetEventDestination.
        /// 
        /// Returns a  UpdateConfigurationSetEventDestinationResult from PinpointEmail.
        /// REST API Reference for UpdateConfigurationSetEventDestination Operation
        UpdateConfigurationSetEventDestinationResponse EndUpdateConfigurationSetEventDestination(IAsyncResult asyncResult);
        #endregion
        
    }
}