com.amazonaws.services.simpleemail.AmazonSimpleEmailService Maven / Gradle / Ivy
Show all versions of aws-java-sdk-osgi Show documentation
/*
 * Copyright 2010-2016 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.
 */
package com.amazonaws.services.simpleemail;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.simpleemail.model.*;
/**
 * Interface for accessing Amazon SES.
 * 
 * Amazon Simple Email Service 
 * 
 * This is the API Reference for Amazon Simple Email Service (Amazon SES). This
 * documentation is intended to be used in conjunction with the Amazon SES Developer Guide.
 * 
 * For a list of Amazon SES endpoints to use in service requests, see Regions
 * and Amazon SES in the Amazon SES Developer Guide.  
 */
public interface AmazonSimpleEmailService {
    /**
     * Overrides the default endpoint for this client
     * ("https://email.us-east-1.amazonaws.com"). Callers can use this method to
     * control which AWS region they want to work with.
     * 
     * Callers can pass in just the endpoint (ex:
     * "email.us-east-1.amazonaws.com") or a full URL, including the protocol
     * (ex: "https://email.us-east-1.amazonaws.com"). If the protocol is not
     * specified here, the default protocol from this client's
     * {@link ClientConfiguration} will be used, which by default is HTTPS.
     * 
     * For more information on using AWS regions with the AWS SDK for Java, and
     * a complete list of all available endpoints for all AWS services, see:  http://developer.amazonwebservices.com/connect/entry.jspa?externalID=
     * 3912
     * 
     * This method is not threadsafe. An endpoint should be configured when
     * the client is created and before any service requests are made. Changing
     * it afterwards creates inevitable race conditions for any service requests
     * in transit or retrying.
     *
     * @param endpoint
     *        The endpoint (ex: "email.us-east-1.amazonaws.com") or a full URL,
     *        including the protocol (ex:
     *        "https://email.us-east-1.amazonaws.com") of the region specific
     *        AWS endpoint this client will communicate with.
     */
    void setEndpoint(String endpoint);
    /**
     * An alternative to {@link AmazonSimpleEmailService#setEndpoint(String)},
     * sets the regional endpoint for this client's service calls. Callers can
     * use this method to control which AWS region they want to work with.
     * 
     * By default, all service endpoints in all regions use the https protocol.
     * To use http instead, specify it in the {@link ClientConfiguration}
     * supplied at construction.
     * 
     * This method is not threadsafe. A region should be configured when the
     * client is created and before any service requests are made. Changing it
     * afterwards creates inevitable race conditions for any service requests in
     * transit or retrying.
     *
     * @param region
     *        The region this client will communicate with. See
     *        {@link Region#getRegion(com.amazonaws.regions.Regions)} for
     *        accessing a given region. Must not be null and must be a region
     *        where the service is available.
     *
     * @see Region#getRegion(com.amazonaws.regions.Regions)
     * @see Region#createClient(Class,
     *      com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
     * @see Region#isServiceSupported(String)
     */
    void setRegion(Region region);
    /**
     * 
     * Creates a receipt rule set by cloning an existing one. All receipt rules
     * and configurations are copied to the new receipt rule set and are
     * completely independent of the source rule set.
     * 
     * 
     * For information about setting up rule sets, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param cloneReceiptRuleSetRequest
     * @return Result of the CloneReceiptRuleSet operation returned by the
     *         service.
     * @throws RuleSetDoesNotExistException
     *         Indicates that the provided receipt rule set does not exist.
     * @throws AlreadyExistsException
     *         Indicates that a resource could not be created due to a naming
     *         conflict.
     * @throws LimitExceededException
     *         Indicates that a resource could not be created due to service
     *         limits. For a list of Amazon SES limits, see the Amazon SES Developer Guide.
     * @sample AmazonSimpleEmailService.CloneReceiptRuleSet
     */
    CloneReceiptRuleSetResult cloneReceiptRuleSet(
            CloneReceiptRuleSetRequest cloneReceiptRuleSetRequest);
    /**
     * 
     * Creates a new IP address filter.
     * 
     * 
     * For information about setting up IP address filters, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param createReceiptFilterRequest
     * @return Result of the CreateReceiptFilter operation returned by the
     *         service.
     * @throws LimitExceededException
     *         Indicates that a resource could not be created due to service
     *         limits. For a list of Amazon SES limits, see the Amazon SES Developer Guide.
     * @throws AlreadyExistsException
     *         Indicates that a resource could not be created due to a naming
     *         conflict.
     * @sample AmazonSimpleEmailService.CreateReceiptFilter
     */
    CreateReceiptFilterResult createReceiptFilter(
            CreateReceiptFilterRequest createReceiptFilterRequest);
    /**
     * 
     * Creates a receipt rule.
     * 
     * 
     * For information about setting up receipt rules, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param createReceiptRuleRequest
     * @return Result of the CreateReceiptRule operation returned by the
     *         service.
     * @throws InvalidSnsTopicException
     *         Indicates that the provided Amazon SNS topic is invalid, or that
     *         Amazon SES could not publish to the topic, possibly due to
     *         permissions issues. For information about giving permissions, see
     *         the Amazon SES Developer Guide.
     * @throws InvalidS3ConfigurationException
     *         Indicates that the provided Amazon S3 bucket or AWS KMS
     *         encryption key is invalid, or that Amazon SES could not publish
     *         to the bucket, possibly due to permissions issues. For
     *         information about giving permissions, see the Amazon SES Developer Guide.
     * @throws InvalidLambdaFunctionException
     *         Indicates that the provided AWS Lambda function is invalid, or
     *         that Amazon SES could not execute the provided function, possibly
     *         due to permissions issues. For information about giving
     *         permissions, see the Amazon SES Developer Guide.
     * @throws AlreadyExistsException
     *         Indicates that a resource could not be created due to a naming
     *         conflict.
     * @throws RuleDoesNotExistException
     *         Indicates that the provided receipt rule does not exist.
     * @throws RuleSetDoesNotExistException
     *         Indicates that the provided receipt rule set does not exist.
     * @throws LimitExceededException
     *         Indicates that a resource could not be created due to service
     *         limits. For a list of Amazon SES limits, see the Amazon SES Developer Guide.
     * @sample AmazonSimpleEmailService.CreateReceiptRule
     */
    CreateReceiptRuleResult createReceiptRule(
            CreateReceiptRuleRequest createReceiptRuleRequest);
    /**
     * 
     * Creates an empty receipt rule set.
     * 
     * 
     * For information about setting up receipt rule sets, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param createReceiptRuleSetRequest
     * @return Result of the CreateReceiptRuleSet operation returned by the
     *         service.
     * @throws AlreadyExistsException
     *         Indicates that a resource could not be created due to a naming
     *         conflict.
     * @throws LimitExceededException
     *         Indicates that a resource could not be created due to service
     *         limits. For a list of Amazon SES limits, see the Amazon SES Developer Guide.
     * @sample AmazonSimpleEmailService.CreateReceiptRuleSet
     */
    CreateReceiptRuleSetResult createReceiptRuleSet(
            CreateReceiptRuleSetRequest createReceiptRuleSetRequest);
    /**
     * 
     * Deletes the specified identity (email address or domain) from the list of
     * verified identities.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param deleteIdentityRequest
     * @return Result of the DeleteIdentity operation returned by the service.
     * @sample AmazonSimpleEmailService.DeleteIdentity
     */
    DeleteIdentityResult deleteIdentity(
            DeleteIdentityRequest deleteIdentityRequest);
    /**
     * 
     * Deletes the specified sending authorization policy for the given identity
     * (email address or domain). This API returns successfully even if a policy
     * with the specified name does not exist.
     * 
     * This API is for the identity owner only. If you have not verified
     * the identity, this API will return an error. 
     * 
     * Sending authorization is a feature that enables an identity owner to
     * authorize other senders to use its identities. For information about
     * using sending authorization, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param deleteIdentityPolicyRequest
     * @return Result of the DeleteIdentityPolicy operation returned by the
     *         service.
     * @sample AmazonSimpleEmailService.DeleteIdentityPolicy
     */
    DeleteIdentityPolicyResult deleteIdentityPolicy(
            DeleteIdentityPolicyRequest deleteIdentityPolicyRequest);
    /**
     * 
     * Deletes the specified IP address filter.
     * 
     * 
     * For information about managing IP address filters, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param deleteReceiptFilterRequest
     * @return Result of the DeleteReceiptFilter operation returned by the
     *         service.
     * @sample AmazonSimpleEmailService.DeleteReceiptFilter
     */
    DeleteReceiptFilterResult deleteReceiptFilter(
            DeleteReceiptFilterRequest deleteReceiptFilterRequest);
    /**
     * 
     * Deletes the specified receipt rule.
     * 
     * 
     * For information about managing receipt rules, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param deleteReceiptRuleRequest
     * @return Result of the DeleteReceiptRule operation returned by the
     *         service.
     * @throws RuleSetDoesNotExistException
     *         Indicates that the provided receipt rule set does not exist.
     * @sample AmazonSimpleEmailService.DeleteReceiptRule
     */
    DeleteReceiptRuleResult deleteReceiptRule(
            DeleteReceiptRuleRequest deleteReceiptRuleRequest);
    /**
     * 
     * Deletes the specified receipt rule set and all of the receipt rules it
     * contains.
     * 
     * The currently active rule set cannot be deleted. 
     * 
     * For information about managing receipt rule sets, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param deleteReceiptRuleSetRequest
     * @return Result of the DeleteReceiptRuleSet operation returned by the
     *         service.
     * @throws CannotDeleteException
     *         Indicates that the delete operation could not be completed.
     * @sample AmazonSimpleEmailService.DeleteReceiptRuleSet
     */
    DeleteReceiptRuleSetResult deleteReceiptRuleSet(
            DeleteReceiptRuleSetRequest deleteReceiptRuleSetRequest);
    /**
     * 
     * Deletes the specified email address from the list of verified addresses.
     * 
     * The DeleteVerifiedEmailAddress action is deprecated as of the
     * May 15, 2012 release of Domain Verification. The DeleteIdentity action is
     * now preferred. 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param deleteVerifiedEmailAddressRequest
     * @return Result of the DeleteVerifiedEmailAddress operation returned by
     *         the service.
     * @sample AmazonSimpleEmailService.DeleteVerifiedEmailAddress
     */
    DeleteVerifiedEmailAddressResult deleteVerifiedEmailAddress(
            DeleteVerifiedEmailAddressRequest deleteVerifiedEmailAddressRequest);
    /**
     * 
     * Returns the metadata and receipt rules for the receipt rule set that is
     * currently active.
     * 
     * 
     * For information about setting up receipt rule sets, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param describeActiveReceiptRuleSetRequest
     * @return Result of the DescribeActiveReceiptRuleSet operation returned by
     *         the service.
     * @sample AmazonSimpleEmailService.DescribeActiveReceiptRuleSet
     */
    DescribeActiveReceiptRuleSetResult describeActiveReceiptRuleSet(
            DescribeActiveReceiptRuleSetRequest describeActiveReceiptRuleSetRequest);
    /**
     * 
     * Returns the details of the specified receipt rule.
     * 
     * 
     * For information about setting up receipt rules, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param describeReceiptRuleRequest
     * @return Result of the DescribeReceiptRule operation returned by the
     *         service.
     * @throws RuleDoesNotExistException
     *         Indicates that the provided receipt rule does not exist.
     * @throws RuleSetDoesNotExistException
     *         Indicates that the provided receipt rule set does not exist.
     * @sample AmazonSimpleEmailService.DescribeReceiptRule
     */
    DescribeReceiptRuleResult describeReceiptRule(
            DescribeReceiptRuleRequest describeReceiptRuleRequest);
    /**
     * 
     * Returns the details of the specified receipt rule set.
     * 
     * 
     * For information about managing receipt rule sets, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param describeReceiptRuleSetRequest
     * @return Result of the DescribeReceiptRuleSet operation returned by the
     *         service.
     * @throws RuleSetDoesNotExistException
     *         Indicates that the provided receipt rule set does not exist.
     * @sample AmazonSimpleEmailService.DescribeReceiptRuleSet
     */
    DescribeReceiptRuleSetResult describeReceiptRuleSet(
            DescribeReceiptRuleSetRequest describeReceiptRuleSetRequest);
    /**
     * 
     * Returns the current status of Easy DKIM signing for an entity. For domain
     * name identities, this action also returns the DKIM tokens that are
     * required for Easy DKIM signing, and whether Amazon SES has successfully
     * verified that these tokens have been published.
     * 
     * 
     * This action takes a list of identities as input and returns the following
     * information for each:
     * 
     * 
     * - Whether Easy DKIM signing is enabled or disabled.
 
     * - A set of DKIM tokens that represent the identity. If the identity is
     * an email address, the tokens represent the domain of that address.
 
     * - Whether Amazon SES has successfully verified the DKIM tokens
     * published in the domain's DNS. This information is only returned for
     * domain name identities, not for email addresses.
 
     * 
     * 
     * This action is throttled at one request per second and can only get DKIM
     * attributes for up to 100 identities at a time.
     * 
     * 
     * For more information about creating DNS records using DKIM tokens, go to
     * the Amazon SES Developer Guide.
     * 
     * 
     * @param getIdentityDkimAttributesRequest
     * @return Result of the GetIdentityDkimAttributes operation returned by the
     *         service.
     * @sample AmazonSimpleEmailService.GetIdentityDkimAttributes
     */
    GetIdentityDkimAttributesResult getIdentityDkimAttributes(
            GetIdentityDkimAttributesRequest getIdentityDkimAttributesRequest);
    /**
     * 
     * Returns the custom MAIL FROM attributes for a list of identities (email
     * addresses and/or domains).
     * 
     * 
     * This action is throttled at one request per second and can only get
     * custom MAIL FROM attributes for up to 100 identities at a time.
     * 
     * 
     * @param getIdentityMailFromDomainAttributesRequest
     * @return Result of the GetIdentityMailFromDomainAttributes operation
     *         returned by the service.
     * @sample AmazonSimpleEmailService.GetIdentityMailFromDomainAttributes
     */
    GetIdentityMailFromDomainAttributesResult getIdentityMailFromDomainAttributes(
            GetIdentityMailFromDomainAttributesRequest getIdentityMailFromDomainAttributesRequest);
    /**
     * 
     * Given a list of verified identities (email addresses and/or domains),
     * returns a structure describing identity notification attributes.
     * 
     * 
     * This action is throttled at one request per second and can only get
     * notification attributes for up to 100 identities at a time.
     * 
     * 
     * For more information about using notifications with Amazon SES, see the
     * Amazon SES Developer Guide.
     * 
     * 
     * @param getIdentityNotificationAttributesRequest
     * @return Result of the GetIdentityNotificationAttributes operation
     *         returned by the service.
     * @sample AmazonSimpleEmailService.GetIdentityNotificationAttributes
     */
    GetIdentityNotificationAttributesResult getIdentityNotificationAttributes(
            GetIdentityNotificationAttributesRequest getIdentityNotificationAttributesRequest);
    /**
     * 
     * Returns the requested sending authorization policies for the given
     * identity (email address or domain). The policies are returned as a map of
     * policy names to policy contents. You can retrieve a maximum of 20
     * policies at a time.
     * 
     * This API is for the identity owner only. If you have not verified
     * the identity, this API will return an error. 
     * 
     * Sending authorization is a feature that enables an identity owner to
     * authorize other senders to use its identities. For information about
     * using sending authorization, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param getIdentityPoliciesRequest
     * @return Result of the GetIdentityPolicies operation returned by the
     *         service.
     * @sample AmazonSimpleEmailService.GetIdentityPolicies
     */
    GetIdentityPoliciesResult getIdentityPolicies(
            GetIdentityPoliciesRequest getIdentityPoliciesRequest);
    /**
     * 
     * Given a list of identities (email addresses and/or domains), returns the
     * verification status and (for domain identities) the verification token
     * for each identity.
     * 
     * 
     * This action is throttled at one request per second and can only get
     * verification attributes for up to 100 identities at a time.
     * 
     * 
     * @param getIdentityVerificationAttributesRequest
     * @return Result of the GetIdentityVerificationAttributes operation
     *         returned by the service.
     * @sample AmazonSimpleEmailService.GetIdentityVerificationAttributes
     */
    GetIdentityVerificationAttributesResult getIdentityVerificationAttributes(
            GetIdentityVerificationAttributesRequest getIdentityVerificationAttributesRequest);
    /**
     * 
     * Returns the user's current sending limits.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param getSendQuotaRequest
     * @return Result of the GetSendQuota operation returned by the service.
     * @sample AmazonSimpleEmailService.GetSendQuota
     */
    GetSendQuotaResult getSendQuota(GetSendQuotaRequest getSendQuotaRequest);
    /**
     * Simplified method form for invoking the GetSendQuota operation.
     *
     * @see #getSendQuota(GetSendQuotaRequest)
     */
    GetSendQuotaResult getSendQuota();
    /**
     * 
     * Returns the user's sending statistics. The result is a list of data
     * points, representing the last two weeks of sending activity.
     * 
     * 
     * Each data point in the list contains statistics for a 15-minute interval.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param getSendStatisticsRequest
     * @return Result of the GetSendStatistics operation returned by the
     *         service.
     * @sample AmazonSimpleEmailService.GetSendStatistics
     */
    GetSendStatisticsResult getSendStatistics(
            GetSendStatisticsRequest getSendStatisticsRequest);
    /**
     * Simplified method form for invoking the GetSendStatistics operation.
     *
     * @see #getSendStatistics(GetSendStatisticsRequest)
     */
    GetSendStatisticsResult getSendStatistics();
    /**
     * 
     * Returns a list containing all of the identities (email addresses and
     * domains) for a specific AWS Account, regardless of verification status.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param listIdentitiesRequest
     * @return Result of the ListIdentities operation returned by the service.
     * @sample AmazonSimpleEmailService.ListIdentities
     */
    ListIdentitiesResult listIdentities(
            ListIdentitiesRequest listIdentitiesRequest);
    /**
     * Simplified method form for invoking the ListIdentities operation.
     *
     * @see #listIdentities(ListIdentitiesRequest)
     */
    ListIdentitiesResult listIdentities();
    /**
     * 
     * Returns a list of sending authorization policies that are attached to the
     * given identity (email address or domain). This API returns only a list.
     * If you want the actual policy content, you can use
     * GetIdentityPolicies.
     * 
     * This API is for the identity owner only. If you have not verified
     * the identity, this API will return an error. 
     * 
     * Sending authorization is a feature that enables an identity owner to
     * authorize other senders to use its identities. For information about
     * using sending authorization, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param listIdentityPoliciesRequest
     * @return Result of the ListIdentityPolicies operation returned by the
     *         service.
     * @sample AmazonSimpleEmailService.ListIdentityPolicies
     */
    ListIdentityPoliciesResult listIdentityPolicies(
            ListIdentityPoliciesRequest listIdentityPoliciesRequest);
    /**
     * 
     * Lists the IP address filters associated with your account.
     * 
     * 
     * For information about managing IP address filters, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param listReceiptFiltersRequest
     * @return Result of the ListReceiptFilters operation returned by the
     *         service.
     * @sample AmazonSimpleEmailService.ListReceiptFilters
     */
    ListReceiptFiltersResult listReceiptFilters(
            ListReceiptFiltersRequest listReceiptFiltersRequest);
    /**
     * 
     * Lists the receipt rule sets that exist under your AWS account. If there
     * are additional receipt rule sets to be retrieved, you will receive a
     * NextToken that you can provide to the next call to
     * ListReceiptRuleSets to retrieve the additional entries.
     * 
     * 
     * For information about managing receipt rule sets, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param listReceiptRuleSetsRequest
     * @return Result of the ListReceiptRuleSets operation returned by the
     *         service.
     * @sample AmazonSimpleEmailService.ListReceiptRuleSets
     */
    ListReceiptRuleSetsResult listReceiptRuleSets(
            ListReceiptRuleSetsRequest listReceiptRuleSetsRequest);
    /**
     * 
     * Returns a list containing all of the email addresses that have been
     * verified.
     * 
     * The ListVerifiedEmailAddresses action is deprecated as of the
     * May 15, 2012 release of Domain Verification. The ListIdentities action is
     * now preferred. 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param listVerifiedEmailAddressesRequest
     * @return Result of the ListVerifiedEmailAddresses operation returned by
     *         the service.
     * @sample AmazonSimpleEmailService.ListVerifiedEmailAddresses
     */
    ListVerifiedEmailAddressesResult listVerifiedEmailAddresses(
            ListVerifiedEmailAddressesRequest listVerifiedEmailAddressesRequest);
    /**
     * Simplified method form for invoking the ListVerifiedEmailAddresses
     * operation.
     *
     * @see #listVerifiedEmailAddresses(ListVerifiedEmailAddressesRequest)
     */
    ListVerifiedEmailAddressesResult listVerifiedEmailAddresses();
    /**
     * 
     * Adds or updates a sending authorization policy for the specified identity
     * (email address or domain).
     * 
     * This API is for the identity owner only. If you have not verified
     * the identity, this API will return an error. 
     * 
     * Sending authorization is a feature that enables an identity owner to
     * authorize other senders to use its identities. For information about
     * using sending authorization, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param putIdentityPolicyRequest
     * @return Result of the PutIdentityPolicy operation returned by the
     *         service.
     * @throws InvalidPolicyException
     *         Indicates that the provided policy is invalid. Check the error
     *         stack for more information about what caused the error.
     * @sample AmazonSimpleEmailService.PutIdentityPolicy
     */
    PutIdentityPolicyResult putIdentityPolicy(
            PutIdentityPolicyRequest putIdentityPolicyRequest);
    /**
     * 
     * Reorders the receipt rules within a receipt rule set.
     * 
     * All of the rules in the rule set must be represented in this
     * request. That is, this API will return an error if the reorder request
     * doesn't explicitly position all of the rules. 
     * 
     * For information about managing receipt rule sets, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param reorderReceiptRuleSetRequest
     * @return Result of the ReorderReceiptRuleSet operation returned by the
     *         service.
     * @throws RuleSetDoesNotExistException
     *         Indicates that the provided receipt rule set does not exist.
     * @throws RuleDoesNotExistException
     *         Indicates that the provided receipt rule does not exist.
     * @sample AmazonSimpleEmailService.ReorderReceiptRuleSet
     */
    ReorderReceiptRuleSetResult reorderReceiptRuleSet(
            ReorderReceiptRuleSetRequest reorderReceiptRuleSetRequest);
    /**
     * 
     * Generates and sends a bounce message to the sender of an email you
     * received through Amazon SES. You can only use this API on an email up to
     * 24 hours after you receive it.
     * 
     * You cannot use this API to send generic bounces for mail that was
     * not received by Amazon SES. 
     * 
     * For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param sendBounceRequest
     * @return Result of the SendBounce operation returned by the service.
     * @throws MessageRejectedException
     *         Indicates that the action failed, and the message could not be
     *         sent. Check the error stack for more information about what
     *         caused the error.
     * @sample AmazonSimpleEmailService.SendBounce
     */
    SendBounceResult sendBounce(SendBounceRequest sendBounceRequest);
    /**
     * 
     * Composes an email message based on input data, and then immediately
     * queues the message for sending.
     * 
     * 
     * There are several important points to know about SendEmail:
     * 
     * 
     * - You can only send email from verified email addresses and domains;
     * otherwise, you will get an "Email address not verified" error. If your
     * account is still in the Amazon SES sandbox, you must also verify every
     * recipient email address except for the recipients provided by the Amazon
     * SES mailbox simulator. For more information, go to the Amazon SES Developer Guide.
 
     * - The total size of the message cannot exceed 10 MB. This includes any
     * attachments that are part of the message.
 
     * - Amazon SES has a limit on the total number of recipients per message.
     * The combined number of To:, CC: and BCC: email addresses cannot exceed
     * 50. If you need to send an email message to a larger audience, you can
     * divide your recipient list into groups of 50 or fewer, and then call
     * Amazon SES repeatedly to send the message to each group.
 
     * - For every message that you send, the total number of recipients (To:,
     * CC: and BCC:) is counted against your sending quota - the maximum number
     * of emails you can send in a 24-hour period. For information about your
     * sending quota, go to the Amazon SES Developer Guide.
 
     * 
     * 
     * @param sendEmailRequest
     * @return Result of the SendEmail operation returned by the service.
     * @throws MessageRejectedException
     *         Indicates that the action failed, and the message could not be
     *         sent. Check the error stack for more information about what
     *         caused the error.
     * @throws MailFromDomainNotVerifiedException
     *         Indicates that the message could not be sent because Amazon SES
     *         could not read the MX record required to use the specified MAIL
     *         FROM domain. For information about editing the custom MAIL FROM
     *         domain settings for an identity, see the Amazon SES Developer Guide.
     * @sample AmazonSimpleEmailService.SendEmail
     */
    SendEmailResult sendEmail(SendEmailRequest sendEmailRequest);
    /**
     * 
     * Sends an email message, with header and content specified by the client.
     * The SendRawEmail action is useful for sending multipart MIME
     * emails. The raw text of the message must comply with Internet email
     * standards; otherwise, the message cannot be sent.
     * 
     * 
     * There are several important points to know about
     * SendRawEmail:
     * 
     * 
     * - You can only send email from verified email addresses and domains;
     * otherwise, you will get an "Email address not verified" error. If your
     * account is still in the Amazon SES sandbox, you must also verify every
     * recipient email address except for the recipients provided by the Amazon
     * SES mailbox simulator. For more information, go to the Amazon SES Developer Guide.
 
     * - The total size of the message cannot exceed 10 MB. This includes any
     * attachments that are part of the message.
 
     * - Amazon SES has a limit on the total number of recipients per message.
     * The combined number of To:, CC: and BCC: email addresses cannot exceed
     * 50. If you need to send an email message to a larger audience, you can
     * divide your recipient list into groups of 50 or fewer, and then call
     * Amazon SES repeatedly to send the message to each group.
 
     * - The To:, CC:, and BCC: headers in the raw message can contain a group
     * list. Note that each recipient in a group list counts towards the
     * 50-recipient limit.
 
     * - For every message that you send, the total number of recipients (To:,
     * CC: and BCC:) is counted against your sending quota - the maximum number
     * of emails you can send in a 24-hour period. For information about your
     * sending quota, go to the Amazon SES Developer Guide.
 
     * - If you are using sending authorization to send on behalf of another
     * user, 
SendRawEmail enables you to specify the cross-account
     * identity for the email's "Source," "From," and "Return-Path" parameters
     * in one of two ways: you can pass optional parameters
     * SourceArn, FromArn, and/or
     * ReturnPathArn to the API, or you can include the following
     * X-headers in the header of your raw email:
     * 
     * X-SES-SOURCE-ARN 
     * X-SES-FROM-ARN 
     * X-SES-RETURN-PATH-ARN 
     * 
     * Do not include these X-headers in the DKIM signature, because
     * they are removed by Amazon SES before sending the email.  For
     * the most common sending authorization use case, we recommend that you
     * specify the SourceIdentityArn and do not specify either the
     * FromIdentityArn or ReturnPathIdentityArn. (The
     * same note applies to the corresponding X-headers.) If you only specify
     * the SourceIdentityArn, Amazon SES will simply set the "From"
     * address and the "Return Path" address to the identity specified in
     * SourceIdentityArn. For more information about sending
     * authorization, see the Amazon SES Developer Guide. 
     * 
     * 
     * @param sendRawEmailRequest
     * @return Result of the SendRawEmail operation returned by the service.
     * @throws MessageRejectedException
     *         Indicates that the action failed, and the message could not be
     *         sent. Check the error stack for more information about what
     *         caused the error.
     * @throws MailFromDomainNotVerifiedException
     *         Indicates that the message could not be sent because Amazon SES
     *         could not read the MX record required to use the specified MAIL
     *         FROM domain. For information about editing the custom MAIL FROM
     *         domain settings for an identity, see the Amazon SES Developer Guide.
     * @sample AmazonSimpleEmailService.SendRawEmail
     */
    SendRawEmailResult sendRawEmail(SendRawEmailRequest sendRawEmailRequest);
    /**
     * 
     * Sets the specified receipt rule set as the active receipt rule set.
     * 
     * To disable your email-receiving through Amazon SES completely, you
     * can call this API with RuleSetName set to null. 
     * 
     * For information about managing receipt rule sets, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param setActiveReceiptRuleSetRequest
     * @return Result of the SetActiveReceiptRuleSet operation returned by the
     *         service.
     * @throws RuleSetDoesNotExistException
     *         Indicates that the provided receipt rule set does not exist.
     * @sample AmazonSimpleEmailService.SetActiveReceiptRuleSet
     */
    SetActiveReceiptRuleSetResult setActiveReceiptRuleSet(
            SetActiveReceiptRuleSetRequest setActiveReceiptRuleSetRequest);
    /**
     * 
     * Enables or disables Easy DKIM signing of email sent from an identity:
     * 
     * 
     * - If Easy DKIM signing is enabled for a domain name identity (e.g.,
     * 
example.com), then Amazon SES will DKIM-sign all email sent
     * by addresses under that domain name (e.g., [email protected]
     * ). 
     * - If Easy DKIM signing is enabled for an email address, then Amazon SES
     * will DKIM-sign all email sent by that email address.
 
     * 
     * 
     * For email addresses (e.g., [email protected]), you can only
     * enable Easy DKIM signing if the corresponding domain (e.g.,
     * example.com) has been set up for Easy DKIM using the AWS
     * Console or the VerifyDomainDkim action.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * For more information about Easy DKIM signing, go to the Amazon SES Developer Guide.
     * 
     * 
     * @param setIdentityDkimEnabledRequest
     * @return Result of the SetIdentityDkimEnabled operation returned by the
     *         service.
     * @sample AmazonSimpleEmailService.SetIdentityDkimEnabled
     */
    SetIdentityDkimEnabledResult setIdentityDkimEnabled(
            SetIdentityDkimEnabledRequest setIdentityDkimEnabledRequest);
    /**
     * 
     * Given an identity (email address or domain), enables or disables whether
     * Amazon SES forwards bounce and complaint notifications as email. Feedback
     * forwarding can only be disabled when Amazon Simple Notification Service
     * (Amazon SNS) topics are specified for both bounces and complaints.
     * 
     * Feedback forwarding does not apply to delivery notifications.
     * Delivery notifications are only available through Amazon SNS. 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * For more information about using notifications with Amazon SES, see the
     * Amazon SES Developer Guide.
     * 
     * 
     * @param setIdentityFeedbackForwardingEnabledRequest
     * @return Result of the SetIdentityFeedbackForwardingEnabled operation
     *         returned by the service.
     * @sample AmazonSimpleEmailService.SetIdentityFeedbackForwardingEnabled
     */
    SetIdentityFeedbackForwardingEnabledResult setIdentityFeedbackForwardingEnabled(
            SetIdentityFeedbackForwardingEnabledRequest setIdentityFeedbackForwardingEnabledRequest);
    /**
     * 
     * Enables or disables the custom MAIL FROM domain setup for a verified
     * identity (email address or domain).
     * 
     * To send emails using the specified MAIL FROM domain, you must
     * add an MX record to your MAIL FROM domain's DNS settings. If you want
     * your emails to pass Sender Policy Framework (SPF) checks, you must also
     * add or update an SPF record. For more information, see the Amazon SES Developer Guide. 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param setIdentityMailFromDomainRequest
     * @return Result of the SetIdentityMailFromDomain operation returned by the
     *         service.
     * @sample AmazonSimpleEmailService.SetIdentityMailFromDomain
     */
    SetIdentityMailFromDomainResult setIdentityMailFromDomain(
            SetIdentityMailFromDomainRequest setIdentityMailFromDomainRequest);
    /**
     * 
     * Given an identity (email address or domain), sets the Amazon Simple
     * Notification Service (Amazon SNS) topic to which Amazon SES will publish
     * bounce, complaint, and/or delivery notifications for emails sent with
     * that identity as the Source.
     * 
     * Unless feedback forwarding is enabled, you must specify Amazon SNS
     * topics for bounce and complaint notifications. For more information, see
     * SetIdentityFeedbackForwardingEnabled.  
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * For more information about feedback notification, see the Amazon SES Developer Guide.
     * 
     * 
     * @param setIdentityNotificationTopicRequest
     * @return Result of the SetIdentityNotificationTopic operation returned by
     *         the service.
     * @sample AmazonSimpleEmailService.SetIdentityNotificationTopic
     */
    SetIdentityNotificationTopicResult setIdentityNotificationTopic(
            SetIdentityNotificationTopicRequest setIdentityNotificationTopicRequest);
    /**
     * 
     * Sets the position of the specified receipt rule in the receipt rule set.
     * 
     * 
     * For information about managing receipt rules, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param setReceiptRulePositionRequest
     * @return Result of the SetReceiptRulePosition operation returned by the
     *         service.
     * @throws RuleSetDoesNotExistException
     *         Indicates that the provided receipt rule set does not exist.
     * @throws RuleDoesNotExistException
     *         Indicates that the provided receipt rule does not exist.
     * @sample AmazonSimpleEmailService.SetReceiptRulePosition
     */
    SetReceiptRulePositionResult setReceiptRulePosition(
            SetReceiptRulePositionRequest setReceiptRulePositionRequest);
    /**
     * 
     * Updates a receipt rule.
     * 
     * 
     * For information about managing receipt rules, see the Amazon SES Developer Guide.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param updateReceiptRuleRequest
     * @return Result of the UpdateReceiptRule operation returned by the
     *         service.
     * @throws InvalidSnsTopicException
     *         Indicates that the provided Amazon SNS topic is invalid, or that
     *         Amazon SES could not publish to the topic, possibly due to
     *         permissions issues. For information about giving permissions, see
     *         the Amazon SES Developer Guide.
     * @throws InvalidS3ConfigurationException
     *         Indicates that the provided Amazon S3 bucket or AWS KMS
     *         encryption key is invalid, or that Amazon SES could not publish
     *         to the bucket, possibly due to permissions issues. For
     *         information about giving permissions, see the Amazon SES Developer Guide.
     * @throws InvalidLambdaFunctionException
     *         Indicates that the provided AWS Lambda function is invalid, or
     *         that Amazon SES could not execute the provided function, possibly
     *         due to permissions issues. For information about giving
     *         permissions, see the Amazon SES Developer Guide.
     * @throws RuleSetDoesNotExistException
     *         Indicates that the provided receipt rule set does not exist.
     * @throws RuleDoesNotExistException
     *         Indicates that the provided receipt rule does not exist.
     * @throws LimitExceededException
     *         Indicates that a resource could not be created due to service
     *         limits. For a list of Amazon SES limits, see the Amazon SES Developer Guide.
     * @sample AmazonSimpleEmailService.UpdateReceiptRule
     */
    UpdateReceiptRuleResult updateReceiptRule(
            UpdateReceiptRuleRequest updateReceiptRuleRequest);
    /**
     * 
     * Returns a set of DKIM tokens for a domain. DKIM tokens are
     * character strings that represent your domain's identity. Using these
     * tokens, you will need to create DNS CNAME records that point to DKIM
     * public keys hosted by Amazon SES. Amazon Web Services will eventually
     * detect that you have updated your DNS records; this detection process may
     * take up to 72 hours. Upon successful detection, Amazon SES will be able
     * to DKIM-sign email originating from that domain.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * To enable or disable Easy DKIM signing for a domain, use the
     * SetIdentityDkimEnabled action.
     * 
     * 
     * For more information about creating DNS records using DKIM tokens, go to
     * the Amazon SES Developer Guide.
     * 
     * 
     * @param verifyDomainDkimRequest
     * @return Result of the VerifyDomainDkim operation returned by the service.
     * @sample AmazonSimpleEmailService.VerifyDomainDkim
     */
    VerifyDomainDkimResult verifyDomainDkim(
            VerifyDomainDkimRequest verifyDomainDkimRequest);
    /**
     * 
     * Verifies a domain.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param verifyDomainIdentityRequest
     * @return Result of the VerifyDomainIdentity operation returned by the
     *         service.
     * @sample AmazonSimpleEmailService.VerifyDomainIdentity
     */
    VerifyDomainIdentityResult verifyDomainIdentity(
            VerifyDomainIdentityRequest verifyDomainIdentityRequest);
    /**
     * 
     * Verifies an email address. This action causes a confirmation email
     * message to be sent to the specified address.
     * 
     * The VerifyEmailAddress action is deprecated as of the May 15,
     * 2012 release of Domain Verification. The VerifyEmailIdentity action is
     * now preferred. 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param verifyEmailAddressRequest
     * @return Result of the VerifyEmailAddress operation returned by the
     *         service.
     * @sample AmazonSimpleEmailService.VerifyEmailAddress
     */
    VerifyEmailAddressResult verifyEmailAddress(
            VerifyEmailAddressRequest verifyEmailAddressRequest);
    /**
     * 
     * Verifies an email address. This action causes a confirmation email
     * message to be sent to the specified address.
     * 
     * 
     * This action is throttled at one request per second.
     * 
     * 
     * @param verifyEmailIdentityRequest
     * @return Result of the VerifyEmailIdentity operation returned by the
     *         service.
     * @sample AmazonSimpleEmailService.VerifyEmailIdentity
     */
    VerifyEmailIdentityResult verifyEmailIdentity(
            VerifyEmailIdentityRequest verifyEmailIdentityRequest);
    /**
     * Shuts down this client object, releasing any resources that might be held
     * open. This is an optional method, and callers are not expected to call
     * it, but can if they want to explicitly release any open resources. Once a
     * client has been shutdown, it should not be used to make any more
     * requests.
     */
    void shutdown();
    /**
     * Returns additional metadata for a previously executed successful request,
     * typically used for debugging issues where a service isn't acting as
     * expected. This data isn't considered part of the result data returned by
     * an operation, so it's available through this separate, diagnostic
     * interface.
     * 
     * Response metadata is only cached for a limited period of time, so if you
     * need to access this extra diagnostic information for an executed request,
     * you should use this method to retrieve it as soon as possible after
     * executing a request.
     *
     * @param request
     *        The originally executed request.
     *
     * @return The response metadata for the specified request, or null if none
     *         is available.
     */
    ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}