/* * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.sns; import java.util.concurrent.Future; import com.amazonaws.AmazonClientException; import com.amazonaws.AmazonServiceException; import com.amazonaws.handlers.AsyncHandler; import com.amazonaws.services.sns.model.*; /** * Interface for accessing Amazon Simple Notification Service asynchronously. * <fullname>Amazon Simple Notification Service</fullname> * <p> * 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 <a * href="http://aws.amazon.com/sns/">http://aws.amazon.com/sns</a>. For detailed * information about Amazon SNS features and their associated API calls, see the * <a href="http://docs.aws.amazon.com/sns/latest/dg/">Amazon SNS Developer * Guide</a>. * </p> * <p> * 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 <a href="http://aws.amazon.com/tools/">Tools for Amazon Web * Services</a>. * </p> **/ public interface AmazonSNSAsync extends AmazonSNS { /** * <p> * Adds a statement to a topic's access control policy, granting access for * the specified AWS accounts to the specified actions. * </p> * * @param addPermissionRequest * @return A Java Future object containing the response from the * AddPermission 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. */ Future<Void> addPermissionAsync(AddPermissionRequest addPermissionRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Adds a statement to a topic's access control policy, granting access for * the specified AWS accounts to the specified actions. * </p> * * @param addPermissionRequest * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the * AddPermission 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. */ Future<Void> addPermissionAsync(AddPermissionRequest addPermissionRequest, AsyncHandler<AddPermissionRequest, Void> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Accepts a phone number and indicates whether the phone holder has opted * out of receiving SMS messages from your account. You cannot send SMS * messages to a number that is opted out. * </p> * <p> * To resume sending messages, you can opt in the number by using the * <code>OptInPhoneNumber</code> action. * </p> * * @param checkIfPhoneNumberIsOptedOutRequest <p> * The input for the <code>CheckIfPhoneNumberIsOptedOut</code> * action. * </p> * @return A Java Future object containing the response from the * CheckIfPhoneNumberIsOptedOut service method, as returned by * Amazon Simple Notification Service. * @throws ThrottledException * @throws InternalErrorException * @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. */ Future<CheckIfPhoneNumberIsOptedOutResult> checkIfPhoneNumberIsOptedOutAsync( CheckIfPhoneNumberIsOptedOutRequest checkIfPhoneNumberIsOptedOutRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Accepts a phone number and indicates whether the phone holder has opted * out of receiving SMS messages from your account. You cannot send SMS * messages to a number that is opted out. * </p> * <p> * To resume sending messages, you can opt in the number by using the * <code>OptInPhoneNumber</code> action. * </p> * * @param checkIfPhoneNumberIsOptedOutRequest <p> * The input for the <code>CheckIfPhoneNumberIsOptedOut</code> * action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the * CheckIfPhoneNumberIsOptedOut service method, as returned by * Amazon Simple Notification Service. * @throws ThrottledException * @throws InternalErrorException * @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. */ Future<CheckIfPhoneNumberIsOptedOutResult> checkIfPhoneNumberIsOptedOutAsync( CheckIfPhoneNumberIsOptedOutRequest checkIfPhoneNumberIsOptedOutRequest, AsyncHandler<CheckIfPhoneNumberIsOptedOutRequest, CheckIfPhoneNumberIsOptedOutResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Verifies an endpoint owner's intent to receive messages by validating the * token sent to the endpoint by an earlier <code>Subscribe</code> 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 <code>AuthenticateOnUnsubscribe</code> flag is set to "true". * </p> * * @param confirmSubscriptionRequest <p> * Input for ConfirmSubscription action. * </p> * @return A Java Future object containing 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 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. */ Future<ConfirmSubscriptionResult> confirmSubscriptionAsync( ConfirmSubscriptionRequest confirmSubscriptionRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Verifies an endpoint owner's intent to receive messages by validating the * token sent to the endpoint by an earlier <code>Subscribe</code> 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 <code>AuthenticateOnUnsubscribe</code> flag is set to "true". * </p> * * @param confirmSubscriptionRequest <p> * Input for ConfirmSubscription action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing 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 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. */ Future<ConfirmSubscriptionResult> confirmSubscriptionAsync( ConfirmSubscriptionRequest confirmSubscriptionRequest, AsyncHandler<ConfirmSubscriptionRequest, ConfirmSubscriptionResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Creates a platform application object for one of the supported push * notification services, such as APNS and GCM, to which devices and mobile * apps may register. You must specify PlatformPrincipal and * PlatformCredential attributes when using the * <code>CreatePlatformApplication</code> action. The PlatformPrincipal is * received from the notification service. For APNS/APNS_SANDBOX, * PlatformPrincipal is "SSL certificate". For GCM, PlatformPrincipal is not * applicable. For ADM, PlatformPrincipal is "client id". The * PlatformCredential is also received from the notification service. For * WNS, PlatformPrincipal is "Package Security Identifier". For MPNS, * PlatformPrincipal is "TLS certificate". For Baidu, PlatformPrincipal is * "API key". * </p> * <p> * For APNS/APNS_SANDBOX, PlatformCredential is "private key". For GCM, * PlatformCredential is "API key". For ADM, PlatformCredential is * "client secret". For WNS, PlatformCredential is "secret key". For MPNS, * PlatformCredential is "private key". For Baidu, PlatformCredential is * "secret key". The PlatformApplicationArn that is returned when using * <code>CreatePlatformApplication</code> is then used as an attribute for * the <code>CreatePlatformEndpoint</code> action. For more information, see * <a href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html"> * Using Amazon SNS Mobile Push Notifications</a>. For more information * about obtaining the PlatformPrincipal and PlatformCredential for each of * the supported push notification services, see <a * href="http://docs.aws.amazon.com/sns/latest/dg/mobile-push-apns.html" * >Getting Started with Apple Push Notification Service</a>, <a * href="http://docs.aws.amazon.com/sns/latest/dg/mobile-push-adm.html" * >Getting Started with Amazon Device Messaging</a>, <a * href="http://docs.aws.amazon.com/sns/latest/dg/mobile-push-baidu.html" * >Getting Started with Baidu Cloud Push</a>, <a * href="http://docs.aws.amazon.com/sns/latest/dg/mobile-push-gcm.html" * >Getting Started with Google Cloud Messaging for Android</a>, <a * href="http://docs.aws.amazon.com/sns/latest/dg/mobile-push-mpns.html" * >Getting Started with MPNS</a>, or <a * href="http://docs.aws.amazon.com/sns/latest/dg/mobile-push-wns.html" * >Getting Started with WNS</a>. * </p> * * @param createPlatformApplicationRequest <p> * Input for CreatePlatformApplication action. * </p> * @return A Java Future object containing 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. */ Future<CreatePlatformApplicationResult> createPlatformApplicationAsync( CreatePlatformApplicationRequest createPlatformApplicationRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Creates a platform application object for one of the supported push * notification services, such as APNS and GCM, to which devices and mobile * apps may register. You must specify PlatformPrincipal and * PlatformCredential attributes when using the * <code>CreatePlatformApplication</code> action. The PlatformPrincipal is * received from the notification service. For APNS/APNS_SANDBOX, * PlatformPrincipal is "SSL certificate". For GCM, PlatformPrincipal is not * applicable. For ADM, PlatformPrincipal is "client id". The * PlatformCredential is also received from the notification service. For * WNS, PlatformPrincipal is "Package Security Identifier". For MPNS, * PlatformPrincipal is "TLS certificate". For Baidu, PlatformPrincipal is * "API key". * </p> * <p> * For APNS/APNS_SANDBOX, PlatformCredential is "private key". For GCM, * PlatformCredential is "API key". For ADM, PlatformCredential is * "client secret". For WNS, PlatformCredential is "secret key". For MPNS, * PlatformCredential is "private key". For Baidu, PlatformCredential is * "secret key". The PlatformApplicationArn that is returned when using * <code>CreatePlatformApplication</code> is then used as an attribute for * the <code>CreatePlatformEndpoint</code> action. For more information, see * <a href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html"> * Using Amazon SNS Mobile Push Notifications</a>. For more information * about obtaining the PlatformPrincipal and PlatformCredential for each of * the supported push notification services, see <a * href="http://docs.aws.amazon.com/sns/latest/dg/mobile-push-apns.html" * >Getting Started with Apple Push Notification Service</a>, <a * href="http://docs.aws.amazon.com/sns/latest/dg/mobile-push-adm.html" * >Getting Started with Amazon Device Messaging</a>, <a * href="http://docs.aws.amazon.com/sns/latest/dg/mobile-push-baidu.html" * >Getting Started with Baidu Cloud Push</a>, <a * href="http://docs.aws.amazon.com/sns/latest/dg/mobile-push-gcm.html" * >Getting Started with Google Cloud Messaging for Android</a>, <a * href="http://docs.aws.amazon.com/sns/latest/dg/mobile-push-mpns.html" * >Getting Started with MPNS</a>, or <a * href="http://docs.aws.amazon.com/sns/latest/dg/mobile-push-wns.html" * >Getting Started with WNS</a>. * </p> * * @param createPlatformApplicationRequest <p> * Input for CreatePlatformApplication action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing 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. */ Future<CreatePlatformApplicationResult> createPlatformApplicationAsync( CreatePlatformApplicationRequest createPlatformApplicationRequest, AsyncHandler<CreatePlatformApplicationRequest, CreatePlatformApplicationResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Creates an endpoint for a device and mobile app on one of the supported * push notification services, such as GCM and APNS. * <code>CreatePlatformEndpoint</code> requires the PlatformApplicationArn * that is returned from <code>CreatePlatformApplication</code>. The * EndpointArn that is returned when using * <code>CreatePlatformEndpoint</code> can then be used by the * <code>Publish</code> action to send a message to a mobile app or by the * <code>Subscribe</code> action for subscription to a topic. The * <code>CreatePlatformEndpoint</code> 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 <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * <p> * When using <code>CreatePlatformEndpoint</code> with Baidu, two attributes * must be provided: ChannelId and UserId. The token field must also contain * the ChannelId. For more information, see <a href= * "http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePushBaiduEndpoint.html" * >Creating an Amazon SNS Endpoint for Baidu</a>. * </p> * * @param createPlatformEndpointRequest <p> * Input for CreatePlatformEndpoint action. * </p> * @return A Java Future object containing 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. */ Future<CreatePlatformEndpointResult> createPlatformEndpointAsync( CreatePlatformEndpointRequest createPlatformEndpointRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Creates an endpoint for a device and mobile app on one of the supported * push notification services, such as GCM and APNS. * <code>CreatePlatformEndpoint</code> requires the PlatformApplicationArn * that is returned from <code>CreatePlatformApplication</code>. The * EndpointArn that is returned when using * <code>CreatePlatformEndpoint</code> can then be used by the * <code>Publish</code> action to send a message to a mobile app or by the * <code>Subscribe</code> action for subscription to a topic. The * <code>CreatePlatformEndpoint</code> 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 <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * <p> * When using <code>CreatePlatformEndpoint</code> with Baidu, two attributes * must be provided: ChannelId and UserId. The token field must also contain * the ChannelId. For more information, see <a href= * "http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePushBaiduEndpoint.html" * >Creating an Amazon SNS Endpoint for Baidu</a>. * </p> * * @param createPlatformEndpointRequest <p> * Input for CreatePlatformEndpoint action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing 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. */ Future<CreatePlatformEndpointResult> createPlatformEndpointAsync( CreatePlatformEndpointRequest createPlatformEndpointRequest, AsyncHandler<CreatePlatformEndpointRequest, CreatePlatformEndpointResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Creates a topic to which notifications can be published. Users can create * at most 100,000 topics. For more information, see <a * href="http://aws.amazon.com/sns/">http://aws.amazon.com/sns</a>. 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. * </p> * * @param createTopicRequest <p> * Input for CreateTopic action. * </p> * @return A Java Future object containing the response from the CreateTopic * service method, as returned by Amazon Simple Notification * Service. * @throws InvalidParameterException * @throws TopicLimitExceededException * @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. */ Future<CreateTopicResult> createTopicAsync(CreateTopicRequest createTopicRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Creates a topic to which notifications can be published. Users can create * at most 100,000 topics. For more information, see <a * href="http://aws.amazon.com/sns/">http://aws.amazon.com/sns</a>. 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. * </p> * * @param createTopicRequest <p> * Input for CreateTopic action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the CreateTopic * service method, as returned by Amazon Simple Notification * Service. * @throws InvalidParameterException * @throws TopicLimitExceededException * @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. */ Future<CreateTopicResult> createTopicAsync(CreateTopicRequest createTopicRequest, AsyncHandler<CreateTopicRequest, CreateTopicResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Deletes the endpoint for a device and mobile app from Amazon SNS. This * action is idempotent. For more information, see <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * <p> * When you delete an endpoint that is also subscribed to a topic, then you * must also unsubscribe the endpoint from the topic. * </p> * * @param deleteEndpointRequest <p> * Input for DeleteEndpoint action. * </p> * @return A Java Future object containing the response from the * DeleteEndpoint 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. */ Future<Void> deleteEndpointAsync(DeleteEndpointRequest deleteEndpointRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Deletes the endpoint for a device and mobile app from Amazon SNS. This * action is idempotent. For more information, see <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * <p> * When you delete an endpoint that is also subscribed to a topic, then you * must also unsubscribe the endpoint from the topic. * </p> * * @param deleteEndpointRequest <p> * Input for DeleteEndpoint action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the * DeleteEndpoint 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. */ Future<Void> deleteEndpointAsync(DeleteEndpointRequest deleteEndpointRequest, AsyncHandler<DeleteEndpointRequest, Void> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Deletes a platform application object for one of the supported push * notification services, such as APNS and GCM. For more information, see <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * * @param deletePlatformApplicationRequest <p> * Input for DeletePlatformApplication action. * </p> * @return A Java Future object containing the response from the * DeletePlatformApplication 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. */ Future<Void> deletePlatformApplicationAsync( DeletePlatformApplicationRequest deletePlatformApplicationRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Deletes a platform application object for one of the supported push * notification services, such as APNS and GCM. For more information, see <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * * @param deletePlatformApplicationRequest <p> * Input for DeletePlatformApplication action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the * DeletePlatformApplication 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. */ Future<Void> deletePlatformApplicationAsync( DeletePlatformApplicationRequest deletePlatformApplicationRequest, AsyncHandler<DeletePlatformApplicationRequest, Void> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * 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. * </p> * * @param deleteTopicRequest * @return A Java Future object containing the response from the DeleteTopic * 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. */ Future<Void> deleteTopicAsync(DeleteTopicRequest deleteTopicRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * 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. * </p> * * @param deleteTopicRequest * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the DeleteTopic * 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. */ Future<Void> deleteTopicAsync(DeleteTopicRequest deleteTopicRequest, AsyncHandler<DeleteTopicRequest, Void> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Retrieves the endpoint attributes for a device on one of the supported * push notification services, such as GCM and APNS. For more information, * see <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * * @param getEndpointAttributesRequest <p> * Input for GetEndpointAttributes action. * </p> * @return A Java Future object containing 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. */ Future<GetEndpointAttributesResult> getEndpointAttributesAsync( GetEndpointAttributesRequest getEndpointAttributesRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Retrieves the endpoint attributes for a device on one of the supported * push notification services, such as GCM and APNS. For more information, * see <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * * @param getEndpointAttributesRequest <p> * Input for GetEndpointAttributes action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing 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. */ Future<GetEndpointAttributesResult> getEndpointAttributesAsync( GetEndpointAttributesRequest getEndpointAttributesRequest, AsyncHandler<GetEndpointAttributesRequest, GetEndpointAttributesResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Retrieves the attributes of the platform application object for the * supported push notification services, such as APNS and GCM. For more * information, see <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * * @param getPlatformApplicationAttributesRequest <p> * Input for GetPlatformApplicationAttributes action. * </p> * @return A Java Future object containing 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. */ Future<GetPlatformApplicationAttributesResult> getPlatformApplicationAttributesAsync( GetPlatformApplicationAttributesRequest getPlatformApplicationAttributesRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Retrieves the attributes of the platform application object for the * supported push notification services, such as APNS and GCM. For more * information, see <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * * @param getPlatformApplicationAttributesRequest <p> * Input for GetPlatformApplicationAttributes action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing 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. */ Future<GetPlatformApplicationAttributesResult> getPlatformApplicationAttributesAsync( GetPlatformApplicationAttributesRequest getPlatformApplicationAttributesRequest, AsyncHandler<GetPlatformApplicationAttributesRequest, GetPlatformApplicationAttributesResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Returns the settings for sending SMS messages from your account. * </p> * <p> * These settings are set with the <code>SetSMSAttributes</code> action. * </p> * * @param getSMSAttributesRequest <p> * The input for the <code>GetSMSAttributes</code> request. * </p> * @return A Java Future object containing the response from the * GetSMSAttributes service method, as returned by Amazon Simple * Notification Service. * @throws ThrottledException * @throws InternalErrorException * @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. */ Future<GetSMSAttributesResult> getSMSAttributesAsync( GetSMSAttributesRequest getSMSAttributesRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Returns the settings for sending SMS messages from your account. * </p> * <p> * These settings are set with the <code>SetSMSAttributes</code> action. * </p> * * @param getSMSAttributesRequest <p> * The input for the <code>GetSMSAttributes</code> request. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the * GetSMSAttributes service method, as returned by Amazon Simple * Notification Service. * @throws ThrottledException * @throws InternalErrorException * @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. */ Future<GetSMSAttributesResult> getSMSAttributesAsync( GetSMSAttributesRequest getSMSAttributesRequest, AsyncHandler<GetSMSAttributesRequest, GetSMSAttributesResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Returns all of the properties of a subscription. * </p> * * @param getSubscriptionAttributesRequest <p> * Input for GetSubscriptionAttributes. * </p> * @return A Java Future object containing 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. */ Future<GetSubscriptionAttributesResult> getSubscriptionAttributesAsync( GetSubscriptionAttributesRequest getSubscriptionAttributesRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Returns all of the properties of a subscription. * </p> * * @param getSubscriptionAttributesRequest <p> * Input for GetSubscriptionAttributes. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing 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. */ Future<GetSubscriptionAttributesResult> getSubscriptionAttributesAsync( GetSubscriptionAttributesRequest getSubscriptionAttributesRequest, AsyncHandler<GetSubscriptionAttributesRequest, GetSubscriptionAttributesResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Returns all of the properties of a topic. Topic properties returned might * differ based on the authorization of the user. * </p> * * @param getTopicAttributesRequest <p> * Input for GetTopicAttributes action. * </p> * @return A Java Future object containing the response from the * GetTopicAttributes 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. */ Future<GetTopicAttributesResult> getTopicAttributesAsync( GetTopicAttributesRequest getTopicAttributesRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Returns all of the properties of a topic. Topic properties returned might * differ based on the authorization of the user. * </p> * * @param getTopicAttributesRequest <p> * Input for GetTopicAttributes action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the * GetTopicAttributes 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. */ Future<GetTopicAttributesResult> getTopicAttributesAsync( GetTopicAttributesRequest getTopicAttributesRequest, AsyncHandler<GetTopicAttributesRequest, GetTopicAttributesResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Lists the endpoints and endpoint attributes for devices in a supported * push notification service, such as GCM and APNS. The results for * <code>ListEndpointsByPlatformApplication</code> 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 * <code>ListEndpointsByPlatformApplication</code> 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 <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * * @param listEndpointsByPlatformApplicationRequest <p> * Input for ListEndpointsByPlatformApplication action. * </p> * @return A Java Future object containing 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. */ Future<ListEndpointsByPlatformApplicationResult> listEndpointsByPlatformApplicationAsync( ListEndpointsByPlatformApplicationRequest listEndpointsByPlatformApplicationRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Lists the endpoints and endpoint attributes for devices in a supported * push notification service, such as GCM and APNS. The results for * <code>ListEndpointsByPlatformApplication</code> 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 * <code>ListEndpointsByPlatformApplication</code> 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 <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * * @param listEndpointsByPlatformApplicationRequest <p> * Input for ListEndpointsByPlatformApplication action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing 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. */ Future<ListEndpointsByPlatformApplicationResult> listEndpointsByPlatformApplicationAsync( ListEndpointsByPlatformApplicationRequest listEndpointsByPlatformApplicationRequest, AsyncHandler<ListEndpointsByPlatformApplicationRequest, ListEndpointsByPlatformApplicationResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Returns a list of phone numbers that are opted out, meaning you cannot * send SMS messages to them. * </p> * <p> * The results for <code>ListPhoneNumbersOptedOut</code> 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 * <code>NextToken</code> string will be returned. To receive the next page, * you call <code>ListPhoneNumbersOptedOut</code> again using the * <code>NextToken</code> string received from the previous call. When there * are no more records to return, <code>NextToken</code> will be null. * </p> * * @param listPhoneNumbersOptedOutRequest <p> * The input for the <code>ListPhoneNumbersOptedOut</code> * action. * </p> * @return A Java Future object containing the response from the * ListPhoneNumbersOptedOut service method, as returned by Amazon * Simple Notification Service. * @throws ThrottledException * @throws InternalErrorException * @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. */ Future<ListPhoneNumbersOptedOutResult> listPhoneNumbersOptedOutAsync( ListPhoneNumbersOptedOutRequest listPhoneNumbersOptedOutRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Returns a list of phone numbers that are opted out, meaning you cannot * send SMS messages to them. * </p> * <p> * The results for <code>ListPhoneNumbersOptedOut</code> 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 * <code>NextToken</code> string will be returned. To receive the next page, * you call <code>ListPhoneNumbersOptedOut</code> again using the * <code>NextToken</code> string received from the previous call. When there * are no more records to return, <code>NextToken</code> will be null. * </p> * * @param listPhoneNumbersOptedOutRequest <p> * The input for the <code>ListPhoneNumbersOptedOut</code> * action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the * ListPhoneNumbersOptedOut service method, as returned by Amazon * Simple Notification Service. * @throws ThrottledException * @throws InternalErrorException * @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. */ Future<ListPhoneNumbersOptedOutResult> listPhoneNumbersOptedOutAsync( ListPhoneNumbersOptedOutRequest listPhoneNumbersOptedOutRequest, AsyncHandler<ListPhoneNumbersOptedOutRequest, ListPhoneNumbersOptedOutResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Lists the platform application objects for the supported push * notification services, such as APNS and GCM. The results for * <code>ListPlatformApplications</code> 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 <code>ListPlatformApplications</code> * 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 <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * * @param listPlatformApplicationsRequest <p> * Input for ListPlatformApplications action. * </p> * @return A Java Future object containing 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. */ Future<ListPlatformApplicationsResult> listPlatformApplicationsAsync( ListPlatformApplicationsRequest listPlatformApplicationsRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Lists the platform application objects for the supported push * notification services, such as APNS and GCM. The results for * <code>ListPlatformApplications</code> 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 <code>ListPlatformApplications</code> * 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 <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * * @param listPlatformApplicationsRequest <p> * Input for ListPlatformApplications action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing 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. */ Future<ListPlatformApplicationsResult> listPlatformApplicationsAsync( ListPlatformApplicationsRequest listPlatformApplicationsRequest, AsyncHandler<ListPlatformApplicationsRequest, ListPlatformApplicationsResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * 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 <code>NextToken</code> is also returned. Use the * <code>NextToken</code> parameter in a new <code>ListSubscriptions</code> * call to get further results. * </p> * * @param listSubscriptionsRequest <p> * Input for ListSubscriptions action. * </p> * @return A Java Future object containing 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. */ Future<ListSubscriptionsResult> listSubscriptionsAsync( ListSubscriptionsRequest listSubscriptionsRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * 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 <code>NextToken</code> is also returned. Use the * <code>NextToken</code> parameter in a new <code>ListSubscriptions</code> * call to get further results. * </p> * * @param listSubscriptionsRequest <p> * Input for ListSubscriptions action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing 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. */ Future<ListSubscriptionsResult> listSubscriptionsAsync( ListSubscriptionsRequest listSubscriptionsRequest, AsyncHandler<ListSubscriptionsRequest, ListSubscriptionsResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * 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 <code>NextToken</code> is also returned. Use the * <code>NextToken</code> parameter in a new * <code>ListSubscriptionsByTopic</code> call to get further results. * </p> * * @param listSubscriptionsByTopicRequest <p> * Input for ListSubscriptionsByTopic action. * </p> * @return A Java Future object containing 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. */ Future<ListSubscriptionsByTopicResult> listSubscriptionsByTopicAsync( ListSubscriptionsByTopicRequest listSubscriptionsByTopicRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * 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 <code>NextToken</code> is also returned. Use the * <code>NextToken</code> parameter in a new * <code>ListSubscriptionsByTopic</code> call to get further results. * </p> * * @param listSubscriptionsByTopicRequest <p> * Input for ListSubscriptionsByTopic action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing 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. */ Future<ListSubscriptionsByTopicResult> listSubscriptionsByTopicAsync( ListSubscriptionsByTopicRequest listSubscriptionsByTopicRequest, AsyncHandler<ListSubscriptionsByTopicRequest, ListSubscriptionsByTopicResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * 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 * <code>NextToken</code> is also returned. Use the <code>NextToken</code> * parameter in a new <code>ListTopics</code> call to get further results. * </p> * * @param listTopicsRequest * @return A Java Future object containing 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. */ Future<ListTopicsResult> listTopicsAsync(ListTopicsRequest listTopicsRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * 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 * <code>NextToken</code> is also returned. Use the <code>NextToken</code> * parameter in a new <code>ListTopics</code> call to get further results. * </p> * * @param listTopicsRequest * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing 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. */ Future<ListTopicsResult> listTopicsAsync(ListTopicsRequest listTopicsRequest, AsyncHandler<ListTopicsRequest, ListTopicsResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Use this request to opt in a phone number that is opted out, which * enables you to resume sending SMS messages to the number. * </p> * <p> * You can opt in a phone number only once every 30 days. * </p> * * @param optInPhoneNumberRequest <p> * Input for the OptInPhoneNumber action. * </p> * @return A Java Future object containing the response from the * OptInPhoneNumber service method, as returned by Amazon Simple * Notification Service. * @throws ThrottledException * @throws InternalErrorException * @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. */ Future<OptInPhoneNumberResult> optInPhoneNumberAsync( OptInPhoneNumberRequest optInPhoneNumberRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Use this request to opt in a phone number that is opted out, which * enables you to resume sending SMS messages to the number. * </p> * <p> * You can opt in a phone number only once every 30 days. * </p> * * @param optInPhoneNumberRequest <p> * Input for the OptInPhoneNumber action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the * OptInPhoneNumber service method, as returned by Amazon Simple * Notification Service. * @throws ThrottledException * @throws InternalErrorException * @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. */ Future<OptInPhoneNumberResult> optInPhoneNumberAsync( OptInPhoneNumberRequest optInPhoneNumberRequest, AsyncHandler<OptInPhoneNumberRequest, OptInPhoneNumberResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Sends a message to all of a topic's subscribed endpoints. When a * <code>messageId</code> is returned, the message has been saved and Amazon * SNS will attempt to deliver it to the topic's subscribers shortly. The * format of the outgoing message to each subscribed endpoint depends on the * notification protocol. * </p> * <p> * To use the <code>Publish</code> action for sending 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 <code>CreatePlatformEndpoint</code> * action. The second example below shows a request and response for * publishing to a mobile endpoint. * </p> * <p> * For more information about formatting messages, see <a href= * "http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-custommessage.html" * >Send Custom Platform-Specific Payloads in Messages to Mobile * Devices</a>. * </p> * * @param publishRequest <p> * Input for Publish action. * </p> * @return A Java Future object containing 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 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. */ Future<PublishResult> publishAsync(PublishRequest publishRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Sends a message to all of a topic's subscribed endpoints. When a * <code>messageId</code> is returned, the message has been saved and Amazon * SNS will attempt to deliver it to the topic's subscribers shortly. The * format of the outgoing message to each subscribed endpoint depends on the * notification protocol. * </p> * <p> * To use the <code>Publish</code> action for sending 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 <code>CreatePlatformEndpoint</code> * action. The second example below shows a request and response for * publishing to a mobile endpoint. * </p> * <p> * For more information about formatting messages, see <a href= * "http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-custommessage.html" * >Send Custom Platform-Specific Payloads in Messages to Mobile * Devices</a>. * </p> * * @param publishRequest <p> * Input for Publish action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing 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 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. */ Future<PublishResult> publishAsync(PublishRequest publishRequest, AsyncHandler<PublishRequest, PublishResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Removes a statement from a topic's access control policy. * </p> * * @param removePermissionRequest <p> * Input for RemovePermission action. * </p> * @return A Java Future object containing the response from the * RemovePermission 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. */ Future<Void> removePermissionAsync(RemovePermissionRequest removePermissionRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Removes a statement from a topic's access control policy. * </p> * * @param removePermissionRequest <p> * Input for RemovePermission action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the * RemovePermission 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. */ Future<Void> removePermissionAsync(RemovePermissionRequest removePermissionRequest, AsyncHandler<RemovePermissionRequest, Void> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Sets the attributes for an endpoint for a device on one of the supported * push notification services, such as GCM and APNS. For more information, * see <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * * @param setEndpointAttributesRequest <p> * Input for SetEndpointAttributes action. * </p> * @return A Java Future object containing the response from the * SetEndpointAttributes 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. */ Future<Void> setEndpointAttributesAsync( SetEndpointAttributesRequest setEndpointAttributesRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Sets the attributes for an endpoint for a device on one of the supported * push notification services, such as GCM and APNS. For more information, * see <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. * </p> * * @param setEndpointAttributesRequest <p> * Input for SetEndpointAttributes action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the * SetEndpointAttributes 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. */ Future<Void> setEndpointAttributesAsync( SetEndpointAttributesRequest setEndpointAttributesRequest, AsyncHandler<SetEndpointAttributesRequest, Void> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Sets the attributes of the platform application object for the supported * push notification services, such as APNS and GCM. For more information, * see <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. For information on configuring * attributes for message delivery status, see <a * href="http://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.html">Using * Amazon SNS Application Attributes for Message Delivery Status</a>. * </p> * * @param setPlatformApplicationAttributesRequest <p> * Input for SetPlatformApplicationAttributes action. * </p> * @return A Java Future object containing the response from the * SetPlatformApplicationAttributes 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. */ Future<Void> setPlatformApplicationAttributesAsync( SetPlatformApplicationAttributesRequest setPlatformApplicationAttributesRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Sets the attributes of the platform application object for the supported * push notification services, such as APNS and GCM. For more information, * see <a * href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using * Amazon SNS Mobile Push Notifications</a>. For information on configuring * attributes for message delivery status, see <a * href="http://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.html">Using * Amazon SNS Application Attributes for Message Delivery Status</a>. * </p> * * @param setPlatformApplicationAttributesRequest <p> * Input for SetPlatformApplicationAttributes action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the * SetPlatformApplicationAttributes 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. */ Future<Void> setPlatformApplicationAttributesAsync( SetPlatformApplicationAttributesRequest setPlatformApplicationAttributesRequest, AsyncHandler<SetPlatformApplicationAttributesRequest, Void> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Use this request to set the default settings for sending SMS messages and * receiving daily SMS usage reports. * </p> * <p> * You can override some of these settings for a single message when you use * the <code>Publish</code> action with the * <code>MessageAttributes.entry.N</code> parameter. For more information, * see <a href= * "http://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html" * >Sending an SMS Message</a> in the <i>Amazon SNS Developer Guide</i>. * </p> * * @param setSMSAttributesRequest <p> * The input for the SetSMSAttributes action. * </p> * @return A Java Future object containing the response from the * SetSMSAttributes service method, as returned by Amazon Simple * Notification Service. * @throws InvalidParameterException * @throws ThrottledException * @throws InternalErrorException * @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. */ Future<SetSMSAttributesResult> setSMSAttributesAsync( SetSMSAttributesRequest setSMSAttributesRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Use this request to set the default settings for sending SMS messages and * receiving daily SMS usage reports. * </p> * <p> * You can override some of these settings for a single message when you use * the <code>Publish</code> action with the * <code>MessageAttributes.entry.N</code> parameter. For more information, * see <a href= * "http://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html" * >Sending an SMS Message</a> in the <i>Amazon SNS Developer Guide</i>. * </p> * * @param setSMSAttributesRequest <p> * The input for the SetSMSAttributes action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the * SetSMSAttributes service method, as returned by Amazon Simple * Notification Service. * @throws InvalidParameterException * @throws ThrottledException * @throws InternalErrorException * @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. */ Future<SetSMSAttributesResult> setSMSAttributesAsync( SetSMSAttributesRequest setSMSAttributesRequest, AsyncHandler<SetSMSAttributesRequest, SetSMSAttributesResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Allows a subscription owner to set an attribute of the topic to a new * value. * </p> * * @param setSubscriptionAttributesRequest <p> * Input for SetSubscriptionAttributes action. * </p> * @return A Java Future object containing the response from the * SetSubscriptionAttributes 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. */ Future<Void> setSubscriptionAttributesAsync( SetSubscriptionAttributesRequest setSubscriptionAttributesRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Allows a subscription owner to set an attribute of the topic to a new * value. * </p> * * @param setSubscriptionAttributesRequest <p> * Input for SetSubscriptionAttributes action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the * SetSubscriptionAttributes 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. */ Future<Void> setSubscriptionAttributesAsync( SetSubscriptionAttributesRequest setSubscriptionAttributesRequest, AsyncHandler<SetSubscriptionAttributesRequest, Void> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Allows a topic owner to set an attribute of the topic to a new value. * </p> * * @param setTopicAttributesRequest <p> * Input for SetTopicAttributes action. * </p> * @return A Java Future object containing the response from the * SetTopicAttributes 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. */ Future<Void> setTopicAttributesAsync(SetTopicAttributesRequest setTopicAttributesRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Allows a topic owner to set an attribute of the topic to a new value. * </p> * * @param setTopicAttributesRequest <p> * Input for SetTopicAttributes action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the * SetTopicAttributes 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. */ Future<Void> setTopicAttributesAsync(SetTopicAttributesRequest setTopicAttributesRequest, AsyncHandler<SetTopicAttributesRequest, Void> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * Prepares to subscribe an endpoint by sending the endpoint a confirmation * message. To actually create a subscription, the endpoint owner must call * the <code>ConfirmSubscription</code> action with the token from the * confirmation message. Confirmation tokens are valid for three days. * </p> * * @param subscribeRequest <p> * Input for Subscribe action. * </p> * @return A Java Future object containing the response from the Subscribe * service method, as returned by Amazon Simple Notification * Service. * @throws SubscriptionLimitExceededException * @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. */ Future<SubscribeResult> subscribeAsync(SubscribeRequest subscribeRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * Prepares to subscribe an endpoint by sending the endpoint a confirmation * message. To actually create a subscription, the endpoint owner must call * the <code>ConfirmSubscription</code> action with the token from the * confirmation message. Confirmation tokens are valid for three days. * </p> * * @param subscribeRequest <p> * Input for Subscribe action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the Subscribe * service method, as returned by Amazon Simple Notification * Service. * @throws SubscriptionLimitExceededException * @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. */ Future<SubscribeResult> subscribeAsync(SubscribeRequest subscribeRequest, AsyncHandler<SubscribeRequest, SubscribeResult> asyncHandler) throws AmazonServiceException, AmazonClientException; /** * <p> * 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 AWS signature is required. If the * <code>Unsubscribe</code> 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 <code>Unsubscribe</code> request was * unintended. * </p> * * @param unsubscribeRequest <p> * Input for Unsubscribe action. * </p> * @return A Java Future object containing the response from the Unsubscribe * 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. */ Future<Void> unsubscribeAsync(UnsubscribeRequest unsubscribeRequest) throws AmazonServiceException, AmazonClientException; /** * <p> * 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 AWS signature is required. If the * <code>Unsubscribe</code> 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 <code>Unsubscribe</code> request was * unintended. * </p> * * @param unsubscribeRequest <p> * Input for Unsubscribe action. * </p> * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the * implementation of the four callback methods in this interface * to process the operation result or handle the exception. * @return A Java Future object containing the response from the Unsubscribe * 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. */ Future<Void> unsubscribeAsync(UnsubscribeRequest unsubscribeRequest, AsyncHandler<UnsubscribeRequest, Void> asyncHandler) throws AmazonServiceException, AmazonClientException; }