/* * Copyright 2018-2023 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 javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.simpleemail.model.*; import com.amazonaws.services.simpleemail.waiters.AmazonSimpleEmailServiceWaiters; /** * Interface for accessing Amazon SES. *

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.simpleemail.AbstractAmazonSimpleEmailService} instead. *

*

* Amazon Simple Email Service *

* This document contains reference information for the Amazon Simple Email * Service (Amazon SES) API, version 2010-12-01. This document is best 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. *

*
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AmazonSimpleEmailService { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "email"; /** * 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: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-region-selection.html#region-selection- * choose-endpoint *

* 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. * @deprecated use {@link AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} for * example: * {@code builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));} */ @Deprecated 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) * @deprecated use {@link AwsClientBuilder#setRegion(String)} */ @Deprecated 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. *

*

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

* * @param cloneReceiptRuleSetRequest * Represents a request to create a receipt rule set by cloning an existing one. You use receipt rule sets to * receive email with Amazon SES. For more information, see the Amazon SES * Developer Guide. * @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 because of a naming conflict. * @throws LimitExceededException * Indicates that a resource could not be created because of service limits. For a list of Amazon SES * limits, see the Amazon SES * Developer Guide. * @sample AmazonSimpleEmailService.CloneReceiptRuleSet * @see AWS API * Documentation */ CloneReceiptRuleSetResult cloneReceiptRuleSet(CloneReceiptRuleSetRequest cloneReceiptRuleSetRequest); /** *

* Creates a configuration set. *

*

* Configuration sets enable you to publish email sending events. For information about using configuration sets, * see the Amazon SES * Developer Guide. *

*

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

* * @param createConfigurationSetRequest * Represents a request to create a configuration set. Configuration sets enable you to publish email sending * events. For information about using configuration sets, see the Amazon SES * Developer Guide. * @return Result of the CreateConfigurationSet operation returned by the service. * @throws ConfigurationSetAlreadyExistsException * Indicates that the configuration set could not be created because of a naming conflict. * @throws InvalidConfigurationSetException * Indicates that the configuration set is invalid. See the error message for details. * @throws LimitExceededException * Indicates that a resource could not be created because of service limits. For a list of Amazon SES * limits, see the Amazon SES * Developer Guide. * @sample AmazonSimpleEmailService.CreateConfigurationSet * @see AWS * API Documentation */ CreateConfigurationSetResult createConfigurationSet(CreateConfigurationSetRequest createConfigurationSetRequest); /** *

* Creates a configuration set event destination. *

* *

* When you create or update an event destination, you must provide one, and only one, destination. The destination * can be CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). *

*
*

* An event destination is the AWS service to which Amazon SES publishes the email sending events associated with a * configuration set. For information about using configuration sets, see the Amazon SES Developer * Guide. *

*

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

* * @param createConfigurationSetEventDestinationRequest * Represents a request to create a configuration set event destination. A configuration set event * destination, which can be either Amazon CloudWatch or Amazon Kinesis Firehose, describes an AWS service in * which Amazon SES publishes the email sending events associated with a configuration set. For information * about using configuration sets, see the Amazon SES * Developer Guide. * @return Result of the CreateConfigurationSetEventDestination operation returned by the service. * @throws ConfigurationSetDoesNotExistException * Indicates that the configuration set does not exist. * @throws EventDestinationAlreadyExistsException * Indicates that the event destination could not be created because of a naming conflict. * @throws InvalidCloudWatchDestinationException * Indicates that the Amazon CloudWatch destination is invalid. See the error message for details. * @throws InvalidFirehoseDestinationException * Indicates that the Amazon Kinesis Firehose destination is invalid. See the error message for details. * @throws InvalidSNSDestinationException * Indicates that the Amazon Simple Notification Service (Amazon SNS) destination is invalid. See the error * message for details. * @throws LimitExceededException * Indicates that a resource could not be created because of service limits. For a list of Amazon SES * limits, see the Amazon SES * Developer Guide. * @sample AmazonSimpleEmailService.CreateConfigurationSetEventDestination * @see AWS API Documentation */ CreateConfigurationSetEventDestinationResult createConfigurationSetEventDestination( CreateConfigurationSetEventDestinationRequest createConfigurationSetEventDestinationRequest); /** *

* Creates an association between a configuration set and a custom domain for open and click event tracking. *

*

* By default, images and links used for tracking open and click events are hosted on domains operated by Amazon * SES. You can configure a subdomain of your own to handle these events. For information about using custom * domains, see the Amazon SES * Developer Guide. *

* * @param createConfigurationSetTrackingOptionsRequest * Represents a request to create an open and click tracking option object in a configuration set. * @return Result of the CreateConfigurationSetTrackingOptions operation returned by the service. * @throws ConfigurationSetDoesNotExistException * Indicates that the configuration set does not exist. * @throws TrackingOptionsAlreadyExistsException * Indicates that the configuration set you specified already contains a TrackingOptions object. * @throws InvalidTrackingOptionsException * Indicates that the custom domain to be used for open and click tracking redirects is invalid. This error * appears most often in the following situations:

*