/*
* Copyright 2010-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.sns;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.sns.model.*;
/**
* Interface for accessing Amazon Simple Notification Service
* Amazon Simple Notification Service (Amazon SNS) is a web service that enables * you to build distributed web-enabled applications. Applications can use * Amazon SNS to easily push real-time notification messages to interested * subscribers over multiple delivery protocols. For more information about this * product see the Amazon SNS product * page. For detailed information about Amazon SNS features and their * associated API calls, see the Amazon SNS Developer * Guide. *
** For information on the permissions you need to use this API, see Identity and access management in Amazon SNS in the Amazon SNS * Developer Guide. *
** We also provide SDKs that enable you to access Amazon SNS from your preferred * programming language. The SDKs contain functionality that automatically takes * care of tasks such as: cryptographically signing your service requests, * retrying requests, and handling error responses. For a list of available * SDKs, go to Tools for Amazon Web * Services. *
**/ public interface AmazonSNS { /** * Overrides the default endpoint for this client * ("https://sns.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: "sns.us-east-1.amazonaws.com") * or a full URL, including the protocol (ex: * "https://sns.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: "sns.us-east-1.amazonaws.com") or a * full URL, including the protocol (ex: * "https://sns.us-east-1.amazonaws.com") of the region specific * AWS endpoint this client will communicate with. * @throws IllegalArgumentException If any problems are detected with the * specified endpoint. */ public void setEndpoint(String endpoint) throws java.lang.IllegalArgumentException; /** * An alternative to {@link AmazonSNS#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. * @throws java.lang.IllegalArgumentException If the given region is null, * or if this service isn't available in the given region. See * {@link Region#isServiceSupported(String)} * @see Region#getRegion(com.amazonaws.regions.Regions) * @see Region#createClient(Class, * com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration) */ public void setRegion(Region region) throws java.lang.IllegalArgumentException; /** *
* Adds a statement to a topic's access control policy, granting access for * the specified Amazon Web Services accounts to the specified actions. *
*
* To remove the ability to change topic permissions, you must deny
* permissions to the AddPermission
,
* RemovePermission
, and SetTopicAttributes
* actions in your IAM policy.
*
* Accepts a phone number and indicates whether the phone holder has opted * out of receiving SMS messages from your Amazon Web Services account. You * cannot send SMS messages to a number that is opted out. *
*
* To resume sending messages, you can opt in the number by using the
* OptInPhoneNumber
action.
*
* The input for the CheckIfPhoneNumberIsOptedOut
* action.
*
* Verifies an endpoint owner's intent to receive messages by validating the
* token sent to the endpoint by an earlier Subscribe
action.
* If the token is valid, the action creates a new subscription and returns
* its Amazon Resource Name (ARN). This call requires an AWS signature only
* when the AuthenticateOnUnsubscribe
flag is set to "true".
*
* Input for ConfirmSubscription action. *
* @return confirmSubscriptionResult The response from the * ConfirmSubscription service method, as returned by Amazon Simple * Notification Service. * @throws SubscriptionLimitExceededException * @throws InvalidParameterException * @throws NotFoundException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws FilterPolicyLimitExceededException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ ConfirmSubscriptionResult confirmSubscription( ConfirmSubscriptionRequest confirmSubscriptionRequest) throws AmazonClientException, AmazonServiceException; /** *
* Creates a platform application object for one of the supported push
* notification services, such as APNS and GCM (Firebase Cloud Messaging),
* to which devices and mobile apps may register. You must specify
* PlatformPrincipal
and PlatformCredential
* attributes when using the CreatePlatformApplication
action.
*
* PlatformPrincipal
and PlatformCredential
are
* received from the notification service.
*
* For ADM
, PlatformPrincipal
is
* client id
and PlatformCredential
is
* client secret
.
*
* For Baidu
, PlatformPrincipal
is
* API key
and PlatformCredential
is
* secret key
.
*
* For APNS
and APNS_SANDBOX
using certificate
* credentials, PlatformPrincipal
is
* SSL certificate
and PlatformCredential
is
* private key
.
*
* For APNS
and APNS_SANDBOX
using token
* credentials, PlatformPrincipal
is
* signing key ID
and PlatformCredential
is
* signing key
.
*
* For GCM
(Firebase Cloud Messaging), there is no
* PlatformPrincipal
and the PlatformCredential
is
* API key
.
*
* For MPNS
, PlatformPrincipal
is
* TLS certificate
and PlatformCredential
is
* private key
.
*
* For WNS
, PlatformPrincipal
is
* Package Security Identifier
and
* PlatformCredential
is secret key
.
*
* You can use the returned PlatformApplicationArn
as an
* attribute for the CreatePlatformEndpoint
action.
*
* Input for CreatePlatformApplication action. *
* @return createPlatformApplicationResult The response from the * CreatePlatformApplication service method, as returned by Amazon * Simple Notification Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ CreatePlatformApplicationResult createPlatformApplication( CreatePlatformApplicationRequest createPlatformApplicationRequest) throws AmazonClientException, AmazonServiceException; /** *
* Creates an endpoint for a device and mobile app on one of the supported
* push notification services, such as GCM (Firebase Cloud Messaging) and
* APNS. CreatePlatformEndpoint
requires the
* PlatformApplicationArn
that is returned from
* CreatePlatformApplication
. You can use the returned
* EndpointArn
to send a message to a mobile app or by the
* Subscribe
action for subscription to a topic. The
* CreatePlatformEndpoint
action is idempotent, so if the
* requester already owns an endpoint with the same device token and
* attributes, that endpoint's ARN is returned without creating a new
* endpoint. For more information, see Using
* Amazon SNS Mobile Push Notifications.
*
* When using CreatePlatformEndpoint
with Baidu, two attributes
* must be provided: ChannelId and UserId. The token field must also contain
* the ChannelId. For more information, see Creating an Amazon SNS Endpoint for Baidu.
*
* Input for CreatePlatformEndpoint action. *
* @return createPlatformEndpointResult The response from the * CreatePlatformEndpoint service method, as returned by Amazon * Simple Notification Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws NotFoundException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ CreatePlatformEndpointResult createPlatformEndpoint( CreatePlatformEndpointRequest createPlatformEndpointRequest) throws AmazonClientException, AmazonServiceException; /** ** Adds a destination phone number to an Amazon Web Services account in the * SMS sandbox and sends a one-time password (OTP) to that phone number. *
** When you start using Amazon SNS to send SMS messages, your Amazon Web * Services account is in the SMS sandbox. The SMS sandbox provides a * safe environment for you to try Amazon SNS features without risking your * reputation as an SMS sender. While your Amazon Web Services account is in * the SMS sandbox, you can use all of the features of Amazon SNS. However, * you can send SMS messages only to verified destination phone numbers. For * more information, including how to move out of the sandbox to send * messages without restrictions, see SMS * sandbox in the Amazon SNS Developer Guide. *
* * @param createSMSSandboxPhoneNumberRequest * @return createSMSSandboxPhoneNumberResult The response from the * CreateSMSSandboxPhoneNumber service method, as returned by Amazon * Simple Notification Service. * @throws AuthorizationErrorException * @throws InternalErrorException * @throws InvalidParameterException * @throws OptedOutException * @throws UserErrorException * @throws ThrottledException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ CreateSMSSandboxPhoneNumberResult createSMSSandboxPhoneNumber( CreateSMSSandboxPhoneNumberRequest createSMSSandboxPhoneNumberRequest) throws AmazonClientException, AmazonServiceException; /** ** Creates a topic to which notifications can be published. Users can create * at most 100,000 standard topics (at most 1,000 FIFO topics). For more * information, see Creating an Amazon SNS topic in the Amazon SNS Developer * Guide. This action is idempotent, so if the requester already owns a * topic with the specified name, that topic's ARN is returned without * creating a new topic. *
* * @param createTopicRequest* Input for CreateTopic action. *
* @return createTopicResult The response from the CreateTopic service * method, as returned by Amazon Simple Notification Service. * @throws InvalidParameterException * @throws TopicLimitExceededException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws InvalidSecurityException * @throws TagLimitExceededException * @throws StaleTagException * @throws TagPolicyException * @throws ConcurrentAccessException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ CreateTopicResult createTopic(CreateTopicRequest createTopicRequest) throws AmazonClientException, AmazonServiceException; /** ** Deletes the endpoint for a device and mobile app from Amazon SNS. This * action is idempotent. For more information, see Using * Amazon SNS Mobile Push Notifications. *
** When you delete an endpoint that is also subscribed to a topic, then you * must also unsubscribe the endpoint from the topic. *
* * @param deleteEndpointRequest* Input for DeleteEndpoint action. *
* @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ void deleteEndpoint(DeleteEndpointRequest deleteEndpointRequest) throws AmazonClientException, AmazonServiceException; /** ** Deletes a platform application object for one of the supported push * notification services, such as APNS and GCM (Firebase Cloud Messaging). * For more information, see Using * Amazon SNS Mobile Push Notifications. *
* * @param deletePlatformApplicationRequest* Input for DeletePlatformApplication action. *
* @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ void deletePlatformApplication(DeletePlatformApplicationRequest deletePlatformApplicationRequest) throws AmazonClientException, AmazonServiceException; /** ** Deletes an Amazon Web Services account's verified or pending phone number * from the SMS sandbox. *
** When you start using Amazon SNS to send SMS messages, your Amazon Web * Services account is in the SMS sandbox. The SMS sandbox provides a * safe environment for you to try Amazon SNS features without risking your * reputation as an SMS sender. While your Amazon Web Services account is in * the SMS sandbox, you can use all of the features of Amazon SNS. However, * you can send SMS messages only to verified destination phone numbers. For * more information, including how to move out of the sandbox to send * messages without restrictions, see SMS * sandbox in the Amazon SNS Developer Guide. *
* * @param deleteSMSSandboxPhoneNumberRequest * @return deleteSMSSandboxPhoneNumberResult The response from the * DeleteSMSSandboxPhoneNumber service method, as returned by Amazon * Simple Notification Service. * @throws AuthorizationErrorException * @throws InternalErrorException * @throws InvalidParameterException * @throws ResourceNotFoundException * @throws UserErrorException * @throws ThrottledException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ DeleteSMSSandboxPhoneNumberResult deleteSMSSandboxPhoneNumber( DeleteSMSSandboxPhoneNumberRequest deleteSMSSandboxPhoneNumberRequest) throws AmazonClientException, AmazonServiceException; /** ** Deletes a topic and all its subscriptions. Deleting a topic might prevent * some messages previously sent to the topic from being delivered to * subscribers. This action is idempotent, so deleting a topic that does not * exist does not result in an error. *
* * @param deleteTopicRequest * @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws NotFoundException * @throws StaleTagException * @throws TagPolicyException * @throws ConcurrentAccessException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ void deleteTopic(DeleteTopicRequest deleteTopicRequest) throws AmazonClientException, AmazonServiceException; /** *
* Retrieves the specified inline DataProtectionPolicy
document
* that is stored in the specified Amazon SNS topic.
*
* Retrieves the endpoint attributes for a device on one of the supported * push notification services, such as GCM (Firebase Cloud Messaging) and * APNS. For more information, see Using * Amazon SNS Mobile Push Notifications. *
* * @param getEndpointAttributesRequest* Input for GetEndpointAttributes action. *
* @return getEndpointAttributesResult The response from the * GetEndpointAttributes service method, as returned by Amazon * Simple Notification Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws NotFoundException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ GetEndpointAttributesResult getEndpointAttributes( GetEndpointAttributesRequest getEndpointAttributesRequest) throws AmazonClientException, AmazonServiceException; /** ** Retrieves the attributes of the platform application object for the * supported push notification services, such as APNS and GCM (Firebase * Cloud Messaging). For more information, see Using * Amazon SNS Mobile Push Notifications. *
* * @param getPlatformApplicationAttributesRequest* Input for GetPlatformApplicationAttributes action. *
* @return getPlatformApplicationAttributesResult The response from the * GetPlatformApplicationAttributes service method, as returned by * Amazon Simple Notification Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws NotFoundException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ GetPlatformApplicationAttributesResult getPlatformApplicationAttributes( GetPlatformApplicationAttributesRequest getPlatformApplicationAttributesRequest) throws AmazonClientException, AmazonServiceException; /** ** Returns the settings for sending SMS messages from your Amazon Web * Services account. *
*
* These settings are set with the SetSMSAttributes
action.
*
* The input for the GetSMSAttributes
request.
*
* Retrieves the SMS sandbox status for the calling Amazon Web Services * account in the target Amazon Web Services Region. *
** When you start using Amazon SNS to send SMS messages, your Amazon Web * Services account is in the SMS sandbox. The SMS sandbox provides a * safe environment for you to try Amazon SNS features without risking your * reputation as an SMS sender. While your Amazon Web Services account is in * the SMS sandbox, you can use all of the features of Amazon SNS. However, * you can send SMS messages only to verified destination phone numbers. For * more information, including how to move out of the sandbox to send * messages without restrictions, see SMS * sandbox in the Amazon SNS Developer Guide. *
* * @param getSMSSandboxAccountStatusRequest * @return getSMSSandboxAccountStatusResult The response from the * GetSMSSandboxAccountStatus service method, as returned by Amazon * Simple Notification Service. * @throws AuthorizationErrorException * @throws InternalErrorException * @throws ThrottledException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ GetSMSSandboxAccountStatusResult getSMSSandboxAccountStatus( GetSMSSandboxAccountStatusRequest getSMSSandboxAccountStatusRequest) throws AmazonClientException, AmazonServiceException; /** ** Returns all of the properties of a subscription. *
* * @param getSubscriptionAttributesRequest* Input for GetSubscriptionAttributes. *
* @return getSubscriptionAttributesResult The response from the * GetSubscriptionAttributes service method, as returned by Amazon * Simple Notification Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws NotFoundException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ GetSubscriptionAttributesResult getSubscriptionAttributes( GetSubscriptionAttributesRequest getSubscriptionAttributesRequest) throws AmazonClientException, AmazonServiceException; /** ** Returns all of the properties of a topic. Topic properties returned might * differ based on the authorization of the user. *
* * @param getTopicAttributesRequest* Input for GetTopicAttributes action. *
* @return getTopicAttributesResult The response from the GetTopicAttributes * service method, as returned by Amazon Simple Notification * Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws NotFoundException * @throws AuthorizationErrorException * @throws InvalidSecurityException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ GetTopicAttributesResult getTopicAttributes(GetTopicAttributesRequest getTopicAttributesRequest) throws AmazonClientException, AmazonServiceException; /** *
* Lists the endpoints and endpoint attributes for devices in a supported
* push notification service, such as GCM (Firebase Cloud Messaging) and
* APNS. The results for ListEndpointsByPlatformApplication
are
* paginated and return a limited list of endpoints, up to 100. If
* additional records are available after the first page results, then a
* NextToken string will be returned. To receive the next page, you call
* ListEndpointsByPlatformApplication
again using the NextToken
* string received from the previous call. When there are no more records to
* return, NextToken will be null. For more information, see Using
* Amazon SNS Mobile Push Notifications.
*
* This action is throttled at 30 transactions per second (TPS). *
* * @param listEndpointsByPlatformApplicationRequest* Input for ListEndpointsByPlatformApplication action. *
* @return listEndpointsByPlatformApplicationResult The response from the * ListEndpointsByPlatformApplication service method, as returned by * Amazon Simple Notification Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws NotFoundException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ ListEndpointsByPlatformApplicationResult listEndpointsByPlatformApplication( ListEndpointsByPlatformApplicationRequest listEndpointsByPlatformApplicationRequest) throws AmazonClientException, AmazonServiceException; /** ** Lists the calling Amazon Web Services account's dedicated origination * numbers and their metadata. For more information about origination * numbers, see Origination numbers in the Amazon SNS Developer Guide. *
* * @param listOriginationNumbersRequest * @return listOriginationNumbersResult The response from the * ListOriginationNumbers service method, as returned by Amazon * Simple Notification Service. * @throws InternalErrorException * @throws AuthorizationErrorException * @throws ThrottledException * @throws InvalidParameterException * @throws ValidationException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ ListOriginationNumbersResult listOriginationNumbers( ListOriginationNumbersRequest listOriginationNumbersRequest) throws AmazonClientException, AmazonServiceException; /** ** Returns a list of phone numbers that are opted out, meaning you cannot * send SMS messages to them. *
*
* The results for ListPhoneNumbersOptedOut
are paginated, and
* each page returns up to 100 phone numbers. If additional phone numbers
* are available after the first page of results, then a
* NextToken
string will be returned. To receive the next page,
* you call ListPhoneNumbersOptedOut
again using the
* NextToken
string received from the previous call. When there
* are no more records to return, NextToken
will be null.
*
* The input for the ListPhoneNumbersOptedOut
* action.
*
* Lists the platform application objects for the supported push
* notification services, such as APNS and GCM (Firebase Cloud Messaging).
* The results for ListPlatformApplications
are paginated and
* return a limited list of applications, up to 100. If additional records
* are available after the first page results, then a NextToken string will
* be returned. To receive the next page, you call
* ListPlatformApplications
using the NextToken string received
* from the previous call. When there are no more records to return,
* NextToken
will be null. For more information, see Using
* Amazon SNS Mobile Push Notifications.
*
* This action is throttled at 15 transactions per second (TPS). *
* * @param listPlatformApplicationsRequest* Input for ListPlatformApplications action. *
* @return listPlatformApplicationsResult The response from the * ListPlatformApplications service method, as returned by Amazon * Simple Notification Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ ListPlatformApplicationsResult listPlatformApplications( ListPlatformApplicationsRequest listPlatformApplicationsRequest) throws AmazonClientException, AmazonServiceException; /** ** Lists the calling Amazon Web Services account's current verified and * pending destination phone numbers in the SMS sandbox. *
** When you start using Amazon SNS to send SMS messages, your Amazon Web * Services account is in the SMS sandbox. The SMS sandbox provides a * safe environment for you to try Amazon SNS features without risking your * reputation as an SMS sender. While your Amazon Web Services account is in * the SMS sandbox, you can use all of the features of Amazon SNS. However, * you can send SMS messages only to verified destination phone numbers. For * more information, including how to move out of the sandbox to send * messages without restrictions, see SMS * sandbox in the Amazon SNS Developer Guide. *
* * @param listSMSSandboxPhoneNumbersRequest * @return listSMSSandboxPhoneNumbersResult The response from the * ListSMSSandboxPhoneNumbers service method, as returned by Amazon * Simple Notification Service. * @throws AuthorizationErrorException * @throws InternalErrorException * @throws InvalidParameterException * @throws ResourceNotFoundException * @throws ThrottledException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ ListSMSSandboxPhoneNumbersResult listSMSSandboxPhoneNumbers( ListSMSSandboxPhoneNumbersRequest listSMSSandboxPhoneNumbersRequest) throws AmazonClientException, AmazonServiceException; /** *
* Returns a list of the requester's subscriptions. Each call returns a
* limited list of subscriptions, up to 100. If there are more
* subscriptions, a NextToken
is also returned. Use the
* NextToken
parameter in a new ListSubscriptions
* call to get further results.
*
* This action is throttled at 30 transactions per second (TPS). *
* * @param listSubscriptionsRequest* Input for ListSubscriptions action. *
* @return listSubscriptionsResult The response from the ListSubscriptions * service method, as returned by Amazon Simple Notification * Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ ListSubscriptionsResult listSubscriptions(ListSubscriptionsRequest listSubscriptionsRequest) throws AmazonClientException, AmazonServiceException; /** *
* Returns a list of the subscriptions to a specific topic. Each call
* returns a limited list of subscriptions, up to 100. If there are more
* subscriptions, a NextToken
is also returned. Use the
* NextToken
parameter in a new
* ListSubscriptionsByTopic
call to get further results.
*
* This action is throttled at 30 transactions per second (TPS). *
* * @param listSubscriptionsByTopicRequest* Input for ListSubscriptionsByTopic action. *
* @return listSubscriptionsByTopicResult The response from the * ListSubscriptionsByTopic service method, as returned by Amazon * Simple Notification Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws NotFoundException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ ListSubscriptionsByTopicResult listSubscriptionsByTopic( ListSubscriptionsByTopicRequest listSubscriptionsByTopicRequest) throws AmazonClientException, AmazonServiceException; /** ** List all tags added to the specified Amazon SNS topic. For an overview, * see Amazon SNS * Tags in the Amazon Simple Notification Service Developer * Guide. *
* * @param listTagsForResourceRequest * @return listTagsForResourceResult The response from the * ListTagsForResource service method, as returned by Amazon Simple * Notification Service. * @throws ResourceNotFoundException * @throws TagPolicyException * @throws InvalidParameterException * @throws AuthorizationErrorException * @throws ConcurrentAccessException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ ListTagsForResourceResult listTagsForResource( ListTagsForResourceRequest listTagsForResourceRequest) throws AmazonClientException, AmazonServiceException; /** *
* Returns a list of the requester's topics. Each call returns a limited
* list of topics, up to 100. If there are more topics, a
* NextToken
is also returned. Use the NextToken
* parameter in a new ListTopics
call to get further results.
*
* This action is throttled at 30 transactions per second (TPS). *
* * @param listTopicsRequest * @return listTopicsResult The response from the ListTopics service method, * as returned by Amazon Simple Notification Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ ListTopicsResult listTopics(ListTopicsRequest listTopicsRequest) throws AmazonClientException, AmazonServiceException; /** ** Use this request to opt in a phone number that is opted out, which * enables you to resume sending SMS messages to the number. *
** You can opt in a phone number only once every 30 days. *
* * @param optInPhoneNumberRequest* Input for the OptInPhoneNumber action. *
* @return optInPhoneNumberResult The response from the OptInPhoneNumber * service method, as returned by Amazon Simple Notification * Service. * @throws ThrottledException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws InvalidParameterException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ OptInPhoneNumberResult optInPhoneNumber(OptInPhoneNumberRequest optInPhoneNumberRequest) throws AmazonClientException, AmazonServiceException; /** *
* Sends a message to an Amazon SNS topic, a text message (SMS message)
* directly to a phone number, or a message to a mobile platform endpoint
* (when you specify the TargetArn
).
*
* If you send a message to a topic, Amazon SNS delivers the message to each * endpoint that is subscribed to the topic. The format of the message * depends on the notification protocol for each subscribed endpoint. *
*
* When a messageId
is returned, the message is saved and
* Amazon SNS immediately delivers it to subscribers.
*
* To use the Publish
action for publishing a message to a
* mobile endpoint, such as an app on a Kindle device or mobile phone, you
* must specify the EndpointArn for the TargetArn parameter. The EndpointArn
* is returned when making a call with the
* CreatePlatformEndpoint
action.
*
* For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile * Devices. *
** You can publish messages only to topics and endpoints in the same Amazon * Web Services Region. *
** Input for Publish action. *
* @return publishResult The response from the Publish service method, as * returned by Amazon Simple Notification Service. * @throws InvalidParameterException * @throws InvalidParameterValueException * @throws InternalErrorException * @throws NotFoundException * @throws EndpointDisabledException * @throws PlatformApplicationDisabledException * @throws AuthorizationErrorException * @throws KMSDisabledException * @throws KMSInvalidStateException * @throws KMSNotFoundException * @throws KMSOptInRequiredException * @throws KMSThrottlingException * @throws KMSAccessDeniedException * @throws InvalidSecurityException * @throws ValidationException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ PublishResult publish(PublishRequest publishRequest) throws AmazonClientException, AmazonServiceException; /** *
* Publishes up to ten messages to the specified topic. This is a batch
* version of Publish
. For FIFO topics, multiple messages
* within a single batch are published in the order they are sent, and
* messages are deduplicated within the batch and across batches for 5
* minutes.
*
* The result of publishing each message is reported individually in the
* response. Because the batch request can result in a combination of
* successful and unsuccessful actions, you should check for batch errors
* even when the call returns an HTTP status code of 200
.
*
* The maximum allowed individual message size and the maximum total payload * size (the sum of the individual lengths of all of the batched messages) * are both 256 KB (262,144 bytes). *
*
* Some actions take lists of parameters. These lists are specified using
* the param.n
notation. Values of n
are integers
* starting from 1. For example, a parameter list with two elements looks
* like this:
*
* &AttributeName.1=first *
** &AttributeName.2=second *
** If you send a batch message to a topic, Amazon SNS publishes the batch * message to each endpoint that is subscribed to the topic. The format of * the batch message depends on the notification protocol for each * subscribed endpoint. *
*
* When a messageId
is returned, the batch message is saved and
* Amazon SNS immediately delivers the message to subscribers.
*
* Adds or updates an inline policy document that is stored in the specified * Amazon SNS topic. *
* * @param putDataProtectionPolicyRequest * @throws InvalidParameterException * @throws InternalErrorException * @throws NotFoundException * @throws AuthorizationErrorException * @throws InvalidSecurityException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ void putDataProtectionPolicy(PutDataProtectionPolicyRequest putDataProtectionPolicyRequest) throws AmazonClientException, AmazonServiceException; /** ** Removes a statement from a topic's access control policy. *
*
* To remove the ability to change topic permissions, you must deny
* permissions to the AddPermission
,
* RemovePermission
, and SetTopicAttributes
* actions in your IAM policy.
*
* Input for RemovePermission action. *
* @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws NotFoundException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ void removePermission(RemovePermissionRequest removePermissionRequest) throws AmazonClientException, AmazonServiceException; /** ** Sets the attributes for an endpoint for a device on one of the supported * push notification services, such as GCM (Firebase Cloud Messaging) and * APNS. For more information, see Using * Amazon SNS Mobile Push Notifications. *
* * @param setEndpointAttributesRequest* Input for SetEndpointAttributes action. *
* @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws NotFoundException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ void setEndpointAttributes(SetEndpointAttributesRequest setEndpointAttributesRequest) throws AmazonClientException, AmazonServiceException; /** ** Sets the attributes of the platform application object for the supported * push notification services, such as APNS and GCM (Firebase Cloud * Messaging). For more information, see Using * Amazon SNS Mobile Push Notifications. For information on configuring * attributes for message delivery status, see Using Amazon SNS Application Attributes for Message Delivery Status. *
* * @param setPlatformApplicationAttributesRequest* Input for SetPlatformApplicationAttributes action. *
* @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws NotFoundException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ void setPlatformApplicationAttributes( SetPlatformApplicationAttributesRequest setPlatformApplicationAttributesRequest) throws AmazonClientException, AmazonServiceException; /** ** Use this request to set the default settings for sending SMS messages and * receiving daily SMS usage reports. *
*
* You can override some of these settings for a single message when you use
* the Publish
action with the
* MessageAttributes.entry.N
parameter. For more information,
* see Publishing to a mobile phone in the Amazon SNS Developer
* Guide.
*
* To use this operation, you must grant the Amazon SNS service principal (
* sns.amazonaws.com
) permission to perform the
* s3:ListBucket
action.
*
* The input for the SetSMSAttributes action. *
* @return setSMSAttributesResult The response from the SetSMSAttributes * service method, as returned by Amazon Simple Notification * Service. * @throws InvalidParameterException * @throws ThrottledException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ SetSMSAttributesResult setSMSAttributes(SetSMSAttributesRequest setSMSAttributesRequest) throws AmazonClientException, AmazonServiceException; /** ** Allows a subscription owner to set an attribute of the subscription to a * new value. *
* * @param setSubscriptionAttributesRequest* Input for SetSubscriptionAttributes action. *
* @throws InvalidParameterException * @throws FilterPolicyLimitExceededException * @throws InternalErrorException * @throws NotFoundException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ void setSubscriptionAttributes(SetSubscriptionAttributesRequest setSubscriptionAttributesRequest) throws AmazonClientException, AmazonServiceException; /** ** Allows a topic owner to set an attribute of the topic to a new value. *
*
* To remove the ability to change topic permissions, you must deny
* permissions to the AddPermission
,
* RemovePermission
, and SetTopicAttributes
* actions in your IAM policy.
*
* Input for SetTopicAttributes action. *
* @throws InvalidParameterException * @throws InternalErrorException * @throws NotFoundException * @throws AuthorizationErrorException * @throws InvalidSecurityException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ void setTopicAttributes(SetTopicAttributesRequest setTopicAttributesRequest) throws AmazonClientException, AmazonServiceException; /** *
* Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is
* HTTP/S or email, or if the endpoint and the topic are not in the same
* Amazon Web Services account, the endpoint owner must run the
* ConfirmSubscription
action to confirm the subscription.
*
* You call the ConfirmSubscription
action with the token from
* the subscription response. Confirmation tokens are valid for three days.
*
* This action is throttled at 100 transactions per second (TPS). *
* * @param subscribeRequest* Input for Subscribe action. *
* @return subscribeResult The response from the Subscribe service method, * as returned by Amazon Simple Notification Service. * @throws SubscriptionLimitExceededException * @throws FilterPolicyLimitExceededException * @throws InvalidParameterException * @throws InternalErrorException * @throws NotFoundException * @throws AuthorizationErrorException * @throws InvalidSecurityException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ SubscribeResult subscribe(SubscribeRequest subscribeRequest) throws AmazonClientException, AmazonServiceException; /** ** Add tags to the specified Amazon SNS topic. For an overview, see Amazon SNS * Tags in the Amazon SNS Developer Guide. *
** When you use topic tags, keep the following guidelines in mind: *
** Adding more than 50 tags to a topic isn't recommended. *
** Tags don't have any semantic meaning. Amazon SNS interprets tags as * character strings. *
** Tags are case-sensitive. *
** A new tag with a key identical to that of an existing tag overwrites the * existing tag. *
** Tagging actions are limited to 10 TPS per Amazon Web Services account, * per Amazon Web Services Region. If your application requires a higher * throughput, file a technical support request. *
*
* Deletes a subscription. If the subscription requires authentication for
* deletion, only the owner of the subscription or the topic's owner can
* unsubscribe, and an Amazon Web Services signature is required. If the
* Unsubscribe
call does not require authentication and the
* requester is not the subscription owner, a final cancellation message is
* delivered to the endpoint, so that the endpoint owner can easily
* resubscribe to the topic if the Unsubscribe
request was
* unintended.
*
* Amazon SQS queue subscriptions require authentication for deletion. Only * the owner of the subscription, or the owner of the topic can unsubscribe * using the required Amazon Web Services signature. *
** This action is throttled at 100 transactions per second (TPS). *
* * @param unsubscribeRequest* Input for Unsubscribe action. *
* @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws NotFoundException * @throws InvalidSecurityException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ void unsubscribe(UnsubscribeRequest unsubscribeRequest) throws AmazonClientException, AmazonServiceException; /** ** Remove tags from the specified Amazon SNS topic. For an overview, see Amazon SNS * Tags in the Amazon SNS Developer Guide. *
* * @param untagResourceRequest * @return untagResourceResult The response from the UntagResource service * method, as returned by Amazon Simple Notification Service. * @throws ResourceNotFoundException * @throws TagLimitExceededException * @throws StaleTagException * @throws TagPolicyException * @throws InvalidParameterException * @throws AuthorizationErrorException * @throws ConcurrentAccessException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest) throws AmazonClientException, AmazonServiceException; /** ** Verifies a destination phone number with a one-time password (OTP) for * the calling Amazon Web Services account. *
** When you start using Amazon SNS to send SMS messages, your Amazon Web * Services account is in the SMS sandbox. The SMS sandbox provides a * safe environment for you to try Amazon SNS features without risking your * reputation as an SMS sender. While your Amazon Web Services account is in * the SMS sandbox, you can use all of the features of Amazon SNS. However, * you can send SMS messages only to verified destination phone numbers. For * more information, including how to move out of the sandbox to send * messages without restrictions, see SMS * sandbox in the Amazon SNS Developer Guide. *
* * @param verifySMSSandboxPhoneNumberRequest * @return verifySMSSandboxPhoneNumberResult The response from the * VerifySMSSandboxPhoneNumber service method, as returned by Amazon * Simple Notification Service. * @throws AuthorizationErrorException * @throws InternalErrorException * @throws InvalidParameterException * @throws ResourceNotFoundException * @throws VerificationException * @throws ThrottledException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ VerifySMSSandboxPhoneNumberResult verifySMSSandboxPhoneNumber( VerifySMSSandboxPhoneNumberRequest verifySMSSandboxPhoneNumberRequest) throws AmazonClientException, AmazonServiceException; /** ** Allows a subscription owner to set an attribute of the subscription to a * new value. *
* * @param subscriptionArn* The ARN of the subscription to modify. *
* @param attributeName* A map of attributes with their corresponding values. *
** The following lists the names, descriptions, and values of the * special request parameters that this action uses: *
*
* DeliveryPolicy
– The policy that defines how
* Amazon SNS retries failed deliveries to HTTP/S endpoints.
*
* FilterPolicy
– The simple JSON object that lets
* your subscriber receive only a subset of messages, rather than
* receiving every message published to the topic.
*
* FilterPolicyScope
– This attribute lets you
* choose the filtering scope by using one of the following
* string value types:
*
* MessageAttributes
(default) – The filter is
* applied on the message attributes.
*
* MessageBody
– The filter is applied on the
* message body.
*
* RawMessageDelivery
– When set to
* true
, enables raw message delivery to Amazon SQS
* or HTTP/S endpoints. This eliminates the need for the
* endpoints to process JSON formatting, which is otherwise
* created for Amazon SNS metadata.
*
* RedrivePolicy
– When specified, sends
* undeliverable messages to the specified Amazon SQS dead-letter
* queue. Messages that can't be delivered due to client errors
* (for example, when the subscribed endpoint is unreachable) or
* server errors (for example, when the service that powers the
* subscribed endpoint becomes unavailable) are held in the
* dead-letter queue for further analysis or reprocessing.
*
* The following attribute applies only to Amazon Kinesis Data * Firehose delivery stream subscriptions: *
*
* SubscriptionRoleArn
– The ARN of the IAM role
* that has the following:
*
* Permission to write to the Kinesis Data Firehose delivery * stream *
** Amazon SNS listed as a trusted entity *
** Specifying a valid ARN for this attribute is required for * Kinesis Data Firehose delivery stream subscriptions. For more * information, see Fanout to Kinesis Data Firehose delivery streams in the * Amazon SNS Developer Guide. *
** The new value for the attribute in JSON format. *
* @throws InvalidParameterException * @throws FilterPolicyLimitExceededException * @throws InternalErrorException * @throws NotFoundException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ void setSubscriptionAttributes(String subscriptionArn, String attributeName, String attributeValue) throws AmazonClientException, AmazonServiceException; /** ** Returns all of the properties of a subscription. *
* * @param subscriptionArn* The ARN of the subscription whose properties you want to get. *
* @return getSubscriptionAttributesResult The response from the * GetSubscriptionAttributes service method, as returned by Amazon * Simple Notification Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws NotFoundException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ GetSubscriptionAttributesResult getSubscriptionAttributes(String subscriptionArn) throws AmazonClientException, AmazonServiceException; /** *
* Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is
* HTTP/S or email, or if the endpoint and the topic are not in the same
* Amazon Web Services account, the endpoint owner must run the
* ConfirmSubscription
action to confirm the subscription.
*
* You call the ConfirmSubscription
action with the token from
* the subscription response. Confirmation tokens are valid for three days.
*
* This action is throttled at 100 transactions per second (TPS). *
* * @param topicArn* The ARN of the topic you want to subscribe to. *
* @param protocol* The protocol that you want to use. Supported protocols * include: *
*
* http
– delivery of JSON-encoded message via HTTP
* POST
*
* https
– delivery of JSON-encoded message via
* HTTPS POST
*
* email
– delivery of message via SMTP
*
* email-json
– delivery of JSON-encoded message via
* SMTP
*
* sms
– delivery of message via SMS
*
* sqs
– delivery of JSON-encoded message to an
* Amazon SQS queue
*
* application
– delivery of JSON-encoded message to
* an EndpointArn for a mobile app and device
*
* lambda
– delivery of JSON-encoded message to an
* Lambda function
*
* firehose
– delivery of JSON-encoded message to an
* Amazon Kinesis Data Firehose delivery stream.
*
* The endpoint that you want to receive notifications. Endpoints * vary by protocol: *
*
* For the http
protocol, the (public) endpoint is a
* URL beginning with http://
.
*
* For the https
protocol, the (public) endpoint is
* a URL beginning with https://
.
*
* For the email
protocol, the endpoint is an email
* address.
*
* For the email-json
protocol, the endpoint is an
* email address.
*
* For the sms
protocol, the endpoint is a phone
* number of an SMS-enabled device.
*
* For the sqs
protocol, the endpoint is the ARN of
* an Amazon SQS queue.
*
* For the application
protocol, the endpoint is the
* EndpointArn of a mobile app and device.
*
* For the lambda
protocol, the endpoint is the ARN
* of an Lambda function.
*
* For the firehose
protocol, the endpoint is the
* ARN of an Amazon Kinesis Data Firehose delivery stream.
*
* Adds a statement to a topic's access control policy, granting access for * the specified Amazon Web Services accounts to the specified actions. *
*
* To remove the ability to change topic permissions, you must deny
* permissions to the AddPermission
,
* RemovePermission
, and SetTopicAttributes
* actions in your IAM policy.
*
* The ARN of the topic whose access control policy you wish to * modify. *
* @param label* A unique identifier for the new policy statement. *
* @param aWSAccountIds* The Amazon Web Services account IDs of the users (principals) * who will be given access to the specified actions. The users * must have Amazon Web Services account, but do not need to be * signed up for this service. *
* @param actionNames* The action you want to allow for the specified principal(s). *
*
* Valid values: Any Amazon SNS action name, for example
* Publish
.
*
* Returns all of the properties of a topic. Topic properties returned might * differ based on the authorization of the user. *
* * @param topicArn* The ARN of the topic whose properties you want to get. *
* @return getTopicAttributesResult The response from the GetTopicAttributes * service method, as returned by Amazon Simple Notification * Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws NotFoundException * @throws AuthorizationErrorException * @throws InvalidSecurityException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ GetTopicAttributesResult getTopicAttributes(String topicArn) throws AmazonClientException, AmazonServiceException; /** ** Removes a statement from a topic's access control policy. *
*
* To remove the ability to change topic permissions, you must deny
* permissions to the AddPermission
,
* RemovePermission
, and SetTopicAttributes
* actions in your IAM policy.
*
* The ARN of the topic whose access control policy you wish to * modify. *
* @param label* The unique label of the statement you want to remove. *
* @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws NotFoundException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ void removePermission(String topicArn, String label) throws AmazonClientException, AmazonServiceException; /** *
* Returns a list of the requester's topics. Each call returns a limited
* list of topics, up to 100. If there are more topics, a
* NextToken
is also returned. Use the NextToken
* parameter in a new ListTopics
call to get further results.
*
* This action is throttled at 30 transactions per second (TPS). *
* * @return listTopicsResult The response from the ListTopics service method, * as returned by Amazon Simple Notification Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ ListTopicsResult listTopics() throws AmazonClientException, AmazonServiceException; /** *
* Returns a list of the requester's topics. Each call returns a limited
* list of topics, up to 100. If there are more topics, a
* NextToken
is also returned. Use the NextToken
* parameter in a new ListTopics
call to get further results.
*
* This action is throttled at 30 transactions per second (TPS). *
* * @param nextToken
* Token returned by the previous ListTopics
* request.
*
* Verifies an endpoint owner's intent to receive messages by validating the
* token sent to the endpoint by an earlier Subscribe
action.
* If the token is valid, the action creates a new subscription and returns
* its Amazon Resource Name (ARN). This call requires an AWS signature only
* when the AuthenticateOnUnsubscribe
flag is set to "true".
*
* The ARN of the topic for which you wish to confirm a * subscription. *
* @param token
* Short-lived token sent to an endpoint during the
* Subscribe
action.
*
* Disallows unauthenticated unsubscribes of the subscription. If
* the value of this parameter is true
and the
* request has an Amazon Web Services signature, then only the
* topic owner and the subscription owner can unsubscribe the
* endpoint. The unsubscribe action requires Amazon Web Services
* authentication.
*
* Verifies an endpoint owner's intent to receive messages by validating the
* token sent to the endpoint by an earlier Subscribe
action.
* If the token is valid, the action creates a new subscription and returns
* its Amazon Resource Name (ARN). This call requires an AWS signature only
* when the AuthenticateOnUnsubscribe
flag is set to "true".
*
* The ARN of the topic for which you wish to confirm a * subscription. *
* @param token
* Short-lived token sent to an endpoint during the
* Subscribe
action.
*
* Allows a topic owner to set an attribute of the topic to a new value. *
*
* To remove the ability to change topic permissions, you must deny
* permissions to the AddPermission
,
* RemovePermission
, and SetTopicAttributes
* actions in your IAM policy.
*
* The ARN of the topic to modify. *
* @param attributeName* A map of attributes with their corresponding values. *
*
* The following lists the names, descriptions, and values of the
* special request parameters that the
* SetTopicAttributes
action uses:
*
* ApplicationSuccessFeedbackRoleArn
– Indicates
* failed message delivery status for an Amazon SNS topic that is
* subscribed to a platform application endpoint.
*
* DeliveryPolicy
– The policy that defines how
* Amazon SNS retries failed deliveries to HTTP/S endpoints.
*
* DisplayName
– The display name to use for a topic
* with SMS subscriptions.
*
* Policy
– The policy that defines who can access
* your topic. By default, only the topic owner can publish or
* subscribe to the topic.
*
* TracingConfig
– Tracing mode of an Amazon SNS
* topic. By default TracingConfig
is set to
* PassThrough
, and the topic passes through the
* tracing header it receives from an Amazon SNS publisher to its
* subscriptions. If set to Active
, Amazon SNS will
* vend X-Ray segment data to topic owner account if the sampled
* flag in the tracing header is true. This is only supported on
* standard topics.
*
* HTTP *
*
* HTTPSuccessFeedbackRoleArn
– Indicates successful
* message delivery status for an Amazon SNS topic that is
* subscribed to an HTTP endpoint.
*
* HTTPSuccessFeedbackSampleRate
– Indicates
* percentage of successful messages to sample for an Amazon SNS
* topic that is subscribed to an HTTP endpoint.
*
* HTTPFailureFeedbackRoleArn
– Indicates failed
* message delivery status for an Amazon SNS topic that is
* subscribed to an HTTP endpoint.
*
* Amazon Kinesis Data Firehose *
*
* FirehoseSuccessFeedbackRoleArn
– Indicates
* successful message delivery status for an Amazon SNS topic
* that is subscribed to an Amazon Kinesis Data Firehose
* endpoint.
*
* FirehoseSuccessFeedbackSampleRate
– Indicates
* percentage of successful messages to sample for an Amazon SNS
* topic that is subscribed to an Amazon Kinesis Data Firehose
* endpoint.
*
* FirehoseFailureFeedbackRoleArn
– Indicates failed
* message delivery status for an Amazon SNS topic that is
* subscribed to an Amazon Kinesis Data Firehose endpoint.
*
* Lambda *
*
* LambdaSuccessFeedbackRoleArn
– Indicates
* successful message delivery status for an Amazon SNS topic
* that is subscribed to an Lambda endpoint.
*
* LambdaSuccessFeedbackSampleRate
– Indicates
* percentage of successful messages to sample for an Amazon SNS
* topic that is subscribed to an Lambda endpoint.
*
* LambdaFailureFeedbackRoleArn
– Indicates failed
* message delivery status for an Amazon SNS topic that is
* subscribed to an Lambda endpoint.
*
* Platform application endpoint *
*
* ApplicationSuccessFeedbackRoleArn
– Indicates
* successful message delivery status for an Amazon SNS topic
* that is subscribed to an Amazon Web Services application
* endpoint.
*
* ApplicationSuccessFeedbackSampleRate
– Indicates
* percentage of successful messages to sample for an Amazon SNS
* topic that is subscribed to an Amazon Web Services application
* endpoint.
*
* ApplicationFailureFeedbackRoleArn
– Indicates
* failed message delivery status for an Amazon SNS topic that is
* subscribed to an Amazon Web Services application endpoint.
*
* In addition to being able to configure topic attributes for * message delivery status of notification messages sent to * Amazon SNS application endpoints, you can also configure * application attributes for the delivery status of push * notification messages sent to push notification services. *
** For example, For more information, see Using Amazon SNS Application Attributes for Message Delivery * Status. *
** Amazon SQS *
*
* SQSSuccessFeedbackRoleArn
– Indicates successful
* message delivery status for an Amazon SNS topic that is
* subscribed to an Amazon SQS endpoint.
*
* SQSSuccessFeedbackSampleRate
– Indicates
* percentage of successful messages to sample for an Amazon SNS
* topic that is subscribed to an Amazon SQS endpoint.
*
* SQSFailureFeedbackRoleArn
– Indicates failed
* message delivery status for an Amazon SNS topic that is
* subscribed to an Amazon SQS endpoint.
*
* The <ENDPOINT>SuccessFeedbackRoleArn and * <ENDPOINT>FailureFeedbackRoleArn attributes are used to * give Amazon SNS write access to use CloudWatch Logs on your * behalf. The <ENDPOINT>SuccessFeedbackSampleRate * attribute is for specifying the sample rate percentage (0-100) * of successfully delivered messages. After you configure the * <ENDPOINT>FailureFeedbackRoleArn attribute, then all * failed message deliveries generate CloudWatch Logs. *
** The following attribute applies only to server-side-encryption: *
*
* KmsMasterKeyId
– The ID of an Amazon Web Services
* managed customer master key (CMK) for Amazon SNS or a custom
* CMK. For more information, see Key Terms. For more examples, see KeyId in the Key Management Service API Reference.
*
* SignatureVersion
– The signature version
* corresponds to the hashing algorithm used while creating the
* signature of the notifications, subscription confirmations, or
* unsubscribe confirmation messages sent by Amazon SNS. By
* default, SignatureVersion
is set to
* 1
.
*
* The following attribute applies only to FIFO topics: *
*
* ContentBasedDeduplication
– Enables content-based
* deduplication for FIFO topics.
*
* By default, ContentBasedDeduplication
is set to
* false
. If you create a FIFO topic and this
* attribute is false
, you must specify a value for
* the MessageDeduplicationId
parameter for the Publish action.
*
* When you set ContentBasedDeduplication
to
* true
, Amazon SNS uses a SHA-256 hash to generate
* the MessageDeduplicationId
using the body of the
* message (but not the attributes of the message).
*
* (Optional) To override the generated value, you can specify a
* value for the MessageDeduplicationId
parameter
* for the Publish
action.
*
* The new value for the attribute. *
* @throws InvalidParameterException * @throws InternalErrorException * @throws NotFoundException * @throws AuthorizationErrorException * @throws InvalidSecurityException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ void setTopicAttributes(String topicArn, String attributeName, String attributeValue) throws AmazonClientException, AmazonServiceException; /** ** Creates a topic to which notifications can be published. Users can create * at most 100,000 standard topics (at most 1,000 FIFO topics). For more * information, see Creating an Amazon SNS topic in the Amazon SNS Developer * Guide. This action is idempotent, so if the requester already owns a * topic with the specified name, that topic's ARN is returned without * creating a new topic. *
* * @param name* The name of the topic you want to create. *
** Constraints: Topic names must be made up of only uppercase and * lowercase ASCII letters, numbers, underscores, and hyphens, * and must be between 1 and 256 characters long. *
*
* For a FIFO (first-in-first-out) topic, the name must end with
* the .fifo
suffix.
*
* Deletes a topic and all its subscriptions. Deleting a topic might prevent * some messages previously sent to the topic from being delivered to * subscribers. This action is idempotent, so deleting a topic that does not * exist does not result in an error. *
* * @param topicArn* The ARN of the topic you want to delete. *
* @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws NotFoundException * @throws StaleTagException * @throws TagPolicyException * @throws ConcurrentAccessException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ void deleteTopic(String topicArn) throws AmazonClientException, AmazonServiceException; /** *
* Deletes a subscription. If the subscription requires authentication for
* deletion, only the owner of the subscription or the topic's owner can
* unsubscribe, and an Amazon Web Services signature is required. If the
* Unsubscribe
call does not require authentication and the
* requester is not the subscription owner, a final cancellation message is
* delivered to the endpoint, so that the endpoint owner can easily
* resubscribe to the topic if the Unsubscribe
request was
* unintended.
*
* Amazon SQS queue subscriptions require authentication for deletion. Only * the owner of the subscription, or the owner of the topic can unsubscribe * using the required Amazon Web Services signature. *
** This action is throttled at 100 transactions per second (TPS). *
* * @param subscriptionArn* The ARN of the subscription to be deleted. *
* @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws NotFoundException * @throws InvalidSecurityException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ void unsubscribe(String subscriptionArn) throws AmazonClientException, AmazonServiceException; /** *
* Sends a message to an Amazon SNS topic, a text message (SMS message)
* directly to a phone number, or a message to a mobile platform endpoint
* (when you specify the TargetArn
).
*
* If you send a message to a topic, Amazon SNS delivers the message to each * endpoint that is subscribed to the topic. The format of the message * depends on the notification protocol for each subscribed endpoint. *
*
* When a messageId
is returned, the message is saved and
* Amazon SNS immediately delivers it to subscribers.
*
* To use the Publish
action for publishing a message to a
* mobile endpoint, such as an app on a Kindle device or mobile phone, you
* must specify the EndpointArn for the TargetArn parameter. The EndpointArn
* is returned when making a call with the
* CreatePlatformEndpoint
action.
*
* For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile * Devices. *
** You can publish messages only to topics and endpoints in the same Amazon * Web Services Region. *
** The topic you want to publish to. *
*
* If you don't specify a value for the TopicArn
* parameter, you must specify a value for the
* PhoneNumber
or TargetArn
parameters.
*
* The message you want to send. *
*
* If you are publishing to a topic and you want to send the same
* message to all transport protocols, include the text of the
* message as a String value. If you want to send different
* messages for each transport protocol, set the value of the
* MessageStructure
parameter to json
* and use a JSON object for the Message
parameter.
*
* Constraints: *
** With the exception of SMS, messages must be UTF-8 encoded * strings and at most 256 KB in size (262,144 bytes, not 262,144 * characters). *
** For SMS, each message can contain up to 140 characters. This * character limit depends on the encoding schema. For example, * an SMS message can contain 160 GSM characters, 140 ASCII * characters, or 70 UCS-2 characters. *
** If you publish a message that exceeds this size limit, Amazon * SNS sends the message as multiple messages, each fitting * within the size limit. Messages aren't truncated mid-word but * are cut off at whole-word boundaries. *
*
* The total size limit for a single SMS Publish
* action is 1,600 characters.
*
* JSON-specific constraints: *
** Keys in the JSON object that correspond to supported transport * protocols must have simple JSON string values. *
** The values will be parsed (unescaped) before they are used in * outgoing messages. *
** Outbound notifications are JSON encoded (meaning that the * characters will be reescaped for sending). *
** Values have a minimum length of 0 (the empty string, "", is * allowed). *
** Values have a maximum length bounded by the overall message * size (so, including multiple protocols may limit message * sizes). *
** Non-string values will cause the key to be ignored. *
** Keys that do not correspond to supported transport protocols * are ignored. *
** Duplicate keys are not allowed. *
*
* Failure to parse or validate any key or value in the message
* will cause the Publish
call to return an error
* (no partial delivery).
*
* Sends a message to an Amazon SNS topic, a text message (SMS message)
* directly to a phone number, or a message to a mobile platform endpoint
* (when you specify the TargetArn
).
*
* If you send a message to a topic, Amazon SNS delivers the message to each * endpoint that is subscribed to the topic. The format of the message * depends on the notification protocol for each subscribed endpoint. *
*
* When a messageId
is returned, the message is saved and
* Amazon SNS immediately delivers it to subscribers.
*
* To use the Publish
action for publishing a message to a
* mobile endpoint, such as an app on a Kindle device or mobile phone, you
* must specify the EndpointArn for the TargetArn parameter. The EndpointArn
* is returned when making a call with the
* CreatePlatformEndpoint
action.
*
* For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile * Devices. *
** You can publish messages only to topics and endpoints in the same Amazon * Web Services Region. *
** The topic you want to publish to. *
*
* If you don't specify a value for the TopicArn
* parameter, you must specify a value for the
* PhoneNumber
or TargetArn
parameters.
*
* The message you want to send. *
*
* If you are publishing to a topic and you want to send the same
* message to all transport protocols, include the text of the
* message as a String value. If you want to send different
* messages for each transport protocol, set the value of the
* MessageStructure
parameter to json
* and use a JSON object for the Message
parameter.
*
* Constraints: *
** With the exception of SMS, messages must be UTF-8 encoded * strings and at most 256 KB in size (262,144 bytes, not 262,144 * characters). *
** For SMS, each message can contain up to 140 characters. This * character limit depends on the encoding schema. For example, * an SMS message can contain 160 GSM characters, 140 ASCII * characters, or 70 UCS-2 characters. *
** If you publish a message that exceeds this size limit, Amazon * SNS sends the message as multiple messages, each fitting * within the size limit. Messages aren't truncated mid-word but * are cut off at whole-word boundaries. *
*
* The total size limit for a single SMS Publish
* action is 1,600 characters.
*
* JSON-specific constraints: *
** Keys in the JSON object that correspond to supported transport * protocols must have simple JSON string values. *
** The values will be parsed (unescaped) before they are used in * outgoing messages. *
** Outbound notifications are JSON encoded (meaning that the * characters will be reescaped for sending). *
** Values have a minimum length of 0 (the empty string, "", is * allowed). *
** Values have a maximum length bounded by the overall message * size (so, including multiple protocols may limit message * sizes). *
** Non-string values will cause the key to be ignored. *
** Keys that do not correspond to supported transport protocols * are ignored. *
** Duplicate keys are not allowed. *
*
* Failure to parse or validate any key or value in the message
* will cause the Publish
call to return an error
* (no partial delivery).
*
* Optional parameter to be used as the "Subject" line when the * message is delivered to email endpoints. This field will also * be included, if present, in the standard JSON messages * delivered to other endpoints. *
** Constraints: Subjects must be ASCII text that begins with a * letter, number, or punctuation mark; must not include line * breaks or control characters; and must be less than 100 * characters long. *
* @return publishResult The response from the Publish service method, as * returned by Amazon Simple Notification Service. * @throws InvalidParameterException * @throws InvalidParameterValueException * @throws InternalErrorException * @throws NotFoundException * @throws EndpointDisabledException * @throws PlatformApplicationDisabledException * @throws AuthorizationErrorException * @throws KMSDisabledException * @throws KMSInvalidStateException * @throws KMSNotFoundException * @throws KMSOptInRequiredException * @throws KMSThrottlingException * @throws KMSAccessDeniedException * @throws InvalidSecurityException * @throws ValidationException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ PublishResult publish(String topicArn, String message, String subject) throws AmazonClientException, AmazonServiceException; /** *
* Returns a list of the requester's subscriptions. Each call returns a
* limited list of subscriptions, up to 100. If there are more
* subscriptions, a NextToken
is also returned. Use the
* NextToken
parameter in a new ListSubscriptions
* call to get further results.
*
* This action is throttled at 30 transactions per second (TPS). *
* * @return listSubscriptionsResult The response from the ListSubscriptions * service method, as returned by Amazon Simple Notification * Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ ListSubscriptionsResult listSubscriptions() throws AmazonClientException, AmazonServiceException; /** *
* Returns a list of the requester's subscriptions. Each call returns a
* limited list of subscriptions, up to 100. If there are more
* subscriptions, a NextToken
is also returned. Use the
* NextToken
parameter in a new ListSubscriptions
* call to get further results.
*
* This action is throttled at 30 transactions per second (TPS). *
* * @param nextToken
* Token returned by the previous ListSubscriptions
* request.
*
* Returns a list of the subscriptions to a specific topic. Each call
* returns a limited list of subscriptions, up to 100. If there are more
* subscriptions, a NextToken
is also returned. Use the
* NextToken
parameter in a new
* ListSubscriptionsByTopic
call to get further results.
*
* This action is throttled at 30 transactions per second (TPS). *
* * @param topicArn* The ARN of the topic for which you wish to find subscriptions. *
* @return listSubscriptionsByTopicResult The response from the * ListSubscriptionsByTopic service method, as returned by Amazon * Simple Notification Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws NotFoundException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ ListSubscriptionsByTopicResult listSubscriptionsByTopic(String topicArn) throws AmazonClientException, AmazonServiceException; /** *
* Returns a list of the subscriptions to a specific topic. Each call
* returns a limited list of subscriptions, up to 100. If there are more
* subscriptions, a NextToken
is also returned. Use the
* NextToken
parameter in a new
* ListSubscriptionsByTopic
call to get further results.
*
* This action is throttled at 30 transactions per second (TPS). *
* * @param topicArn* The ARN of the topic for which you wish to find subscriptions. *
* @param nextToken
* Token returned by the previous
* ListSubscriptionsByTopic
request.
*
* Lists the platform application objects for the supported push
* notification services, such as APNS and GCM (Firebase Cloud Messaging).
* The results for ListPlatformApplications
are paginated and
* return a limited list of applications, up to 100. If additional records
* are available after the first page results, then a NextToken string will
* be returned. To receive the next page, you call
* ListPlatformApplications
using the NextToken string received
* from the previous call. When there are no more records to return,
* NextToken
will be null. For more information, see Using
* Amazon SNS Mobile Push Notifications.
*
* This action is throttled at 15 transactions per second (TPS). *
* * @return listPlatformApplicationsResult The response from the * ListPlatformApplications service method, as returned by Amazon * Simple Notification Service. * @throws InvalidParameterException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Notification Service indicating either a problem with * the data in the request, or a server side issue. */ ListPlatformApplicationsResult listPlatformApplications() throws AmazonClientException, AmazonServiceException; /** * 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. */ public 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. */ public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }