
com.amazonaws.services.sns.AmazonSNS Maven / Gradle / Ivy
Show all versions of aws-java-sdk-sns Show documentation
/*
* Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights
* Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.amazonaws.services.sns;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.sns.model.*;
/**
* Interface for accessing Amazon SNS.
*
* Amazon Simple Notification Service
*
* Amazon Simple Notification Service (Amazon SNS) is a web service that enables
* you to build distributed web-enabled applications. Applications can use
* Amazon SNS to easily push real-time notification messages to interested
* subscribers over multiple delivery protocols. For more information about this
* product see http://aws.amazon.com/sns. For detailed
* information about Amazon SNS features and their associated API calls, see the
* Amazon SNS Developer
* Guide.
*
*
* We also provide SDKs that enable you to access Amazon SNS from your preferred
* programming language. The SDKs contain functionality that automatically takes
* care of tasks such as: cryptographically signing your service requests,
* retrying requests, and handling error responses. For a list of available
* SDKs, go to Tools for Amazon Web
* Services.
*
*/
public interface AmazonSNS {
/**
* Overrides the default endpoint for this client
* ("https://sns.us-east-1.amazonaws.com"). Callers can use this method to
* control which AWS region they want to work with.
*
* Callers can pass in just the endpoint (ex: "sns.us-east-1.amazonaws.com")
* or a full URL, including the protocol (ex:
* "https://sns.us-east-1.amazonaws.com"). If the protocol is not specified
* here, the default protocol from this client's {@link ClientConfiguration}
* will be used, which by default is HTTPS.
*
* For more information on using AWS regions with the AWS SDK for Java, and
* a complete list of all available endpoints for all AWS services, see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=
* 3912
*
* This method is not threadsafe. An endpoint should be configured when
* the client is created and before any service requests are made. Changing
* it afterwards creates inevitable race conditions for any service requests
* in transit or retrying.
*
* @param endpoint
* The endpoint (ex: "sns.us-east-1.amazonaws.com") or a full URL,
* including the protocol (ex: "https://sns.us-east-1.amazonaws.com")
* of the region specific AWS endpoint this client will communicate
* with.
*/
void setEndpoint(String endpoint);
/**
* An alternative to {@link AmazonSNS#setEndpoint(String)}, sets the
* regional endpoint for this client's service calls. Callers can use this
* method to control which AWS region they want to work with.
*
* By default, all service endpoints in all regions use the https protocol.
* To use http instead, specify it in the {@link ClientConfiguration}
* supplied at construction.
*
* This method is not threadsafe. A region should be configured when the
* client is created and before any service requests are made. Changing it
* afterwards creates inevitable race conditions for any service requests in
* transit or retrying.
*
* @param region
* The region this client will communicate with. See
* {@link Region#getRegion(com.amazonaws.regions.Regions)} for
* accessing a given region. Must not be null and must be a region
* where the service is available.
*
* @see Region#getRegion(com.amazonaws.regions.Regions)
* @see Region#createClient(Class,
* com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
* @see Region#isServiceSupported(String)
*/
void setRegion(Region region);
/**
*
* Adds a statement to a topic's access control policy, granting access for
* the specified AWS accounts to the specified actions.
*
*
* @param addPermissionRequest
* @return Result of the AddPermission operation returned by the service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @sample AmazonSNS.AddPermission
*/
AddPermissionResult addPermission(AddPermissionRequest addPermissionRequest);
/**
* Simplified method form for invoking the AddPermission operation.
*
* @see #addPermission(AddPermissionRequest)
*/
AddPermissionResult addPermission(String topicArn, String label,
java.util.List aWSAccountIds,
java.util.List actionNames);
/**
*
* Verifies an endpoint owner's intent to receive messages by validating the
* token sent to the endpoint by an earlier Subscribe
action.
* If the token is valid, the action creates a new subscription and returns
* its Amazon Resource Name (ARN). This call requires an AWS signature only
* when the AuthenticateOnUnsubscribe
flag is set to "true".
*
*
* @param confirmSubscriptionRequest
* Input for ConfirmSubscription action.
* @return Result of the ConfirmSubscription operation returned by the
* service.
* @throws SubscriptionLimitExceededException
* Indicates that the customer already owns the maximum allowed
* number of subscriptions.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @sample AmazonSNS.ConfirmSubscription
*/
ConfirmSubscriptionResult confirmSubscription(
ConfirmSubscriptionRequest confirmSubscriptionRequest);
/**
* Simplified method form for invoking the ConfirmSubscription operation.
*
* @see #confirmSubscription(ConfirmSubscriptionRequest)
*/
ConfirmSubscriptionResult confirmSubscription(String topicArn,
String token, String authenticateOnUnsubscribe);
/**
* Simplified method form for invoking the ConfirmSubscription operation.
*
* @see #confirmSubscription(ConfirmSubscriptionRequest)
*/
ConfirmSubscriptionResult confirmSubscription(String topicArn, String token);
/**
*
* 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
* CreatePlatformApplication
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
* APNS/APNS_SANDBOX, PlatformCredential is "private key". For GCM,
* PlatformCredential is "API key". For ADM, PlatformCredential is
* "client secret". The PlatformApplicationArn that is returned when using
* CreatePlatformApplication
is then used as an attribute for
* the CreatePlatformEndpoint
action. For more information, see
*
* Using Amazon SNS Mobile Push Notifications.
*
*
* @param createPlatformApplicationRequest
* Input for CreatePlatformApplication action.
* @return Result of the CreatePlatformApplication operation returned by the
* service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @sample AmazonSNS.CreatePlatformApplication
*/
CreatePlatformApplicationResult createPlatformApplication(
CreatePlatformApplicationRequest createPlatformApplicationRequest);
/**
*
* Creates an endpoint for a device and mobile app on one of the supported
* push notification services, such as GCM and APNS.
* CreatePlatformEndpoint
requires the PlatformApplicationArn
* that is returned from CreatePlatformApplication
. The
* EndpointArn that is returned when using
* CreatePlatformEndpoint
can then be used by the
* Publish
action to send a message to a mobile app or by the
* Subscribe
action for subscription to a topic. The
* CreatePlatformEndpoint
action is idempotent, so if the
* requester already owns an endpoint with the same device token and
* attributes, that endpoint's ARN is returned without creating a new
* endpoint. For more information, see Using
* Amazon SNS Mobile Push Notifications.
*
*
* When using CreatePlatformEndpoint
with Baidu, two attributes
* must be provided: ChannelId and UserId. The token field must also contain
* the ChannelId. For more information, see Creating an Amazon SNS Endpoint for Baidu.
*
*
* @param createPlatformEndpointRequest
* Input for CreatePlatformEndpoint action.
* @return Result of the CreatePlatformEndpoint operation returned by the
* service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @sample AmazonSNS.CreatePlatformEndpoint
*/
CreatePlatformEndpointResult createPlatformEndpoint(
CreatePlatformEndpointRequest createPlatformEndpointRequest);
/**
*
* Creates a topic to which notifications can be published. Users can create
* at most 3000 topics. For more information, see http://aws.amazon.com/sns. This
* action is idempotent, so if the requester already owns a topic with the
* specified name, that topic's ARN is returned without creating a new
* topic.
*
*
* @param createTopicRequest
* Input for CreateTopic action.
* @return Result of the CreateTopic operation returned by the service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws TopicLimitExceededException
* Indicates that the customer already owns the maximum allowed
* number of topics.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @sample AmazonSNS.CreateTopic
*/
CreateTopicResult createTopic(CreateTopicRequest createTopicRequest);
/**
* Simplified method form for invoking the CreateTopic operation.
*
* @see #createTopic(CreateTopicRequest)
*/
CreateTopicResult createTopic(String name);
/**
*
* Deletes the endpoint from Amazon SNS. This action is idempotent. For more
* information, see Using
* Amazon SNS Mobile Push Notifications.
*
*
* @param deleteEndpointRequest
* Input for DeleteEndpoint action.
* @return Result of the DeleteEndpoint operation returned by the service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @sample AmazonSNS.DeleteEndpoint
*/
DeleteEndpointResult deleteEndpoint(
DeleteEndpointRequest deleteEndpointRequest);
/**
*
* Deletes a platform application object for one of the supported push
* notification services, such as APNS and GCM. For more information, see Using
* Amazon SNS Mobile Push Notifications.
*
*
* @param deletePlatformApplicationRequest
* Input for DeletePlatformApplication action.
* @return Result of the DeletePlatformApplication operation returned by the
* service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @sample AmazonSNS.DeletePlatformApplication
*/
DeletePlatformApplicationResult deletePlatformApplication(
DeletePlatformApplicationRequest deletePlatformApplicationRequest);
/**
*
* Deletes a topic and all its subscriptions. Deleting a topic might prevent
* some messages previously sent to the topic from being delivered to
* subscribers. This action is idempotent, so deleting a topic that does not
* exist does not result in an error.
*
*
* @param deleteTopicRequest
* @return Result of the DeleteTopic operation returned by the service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @sample AmazonSNS.DeleteTopic
*/
DeleteTopicResult deleteTopic(DeleteTopicRequest deleteTopicRequest);
/**
* Simplified method form for invoking the DeleteTopic operation.
*
* @see #deleteTopic(DeleteTopicRequest)
*/
DeleteTopicResult deleteTopic(String topicArn);
/**
*
* Retrieves the endpoint attributes for a device on one of the supported
* push notification services, such as GCM and APNS. For more information,
* see Using
* Amazon SNS Mobile Push Notifications.
*
*
* @param getEndpointAttributesRequest
* Input for GetEndpointAttributes action.
* @return Result of the GetEndpointAttributes operation returned by the
* service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @sample AmazonSNS.GetEndpointAttributes
*/
GetEndpointAttributesResult getEndpointAttributes(
GetEndpointAttributesRequest getEndpointAttributesRequest);
/**
*
* Retrieves the attributes of the platform application object for the
* supported push notification services, such as APNS and GCM. For more
* information, see Using
* Amazon SNS Mobile Push Notifications.
*
*
* @param getPlatformApplicationAttributesRequest
* Input for GetPlatformApplicationAttributes action.
* @return Result of the GetPlatformApplicationAttributes operation returned
* by the service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @sample AmazonSNS.GetPlatformApplicationAttributes
*/
GetPlatformApplicationAttributesResult getPlatformApplicationAttributes(
GetPlatformApplicationAttributesRequest getPlatformApplicationAttributesRequest);
/**
*
* Returns all of the properties of a subscription.
*
*
* @param getSubscriptionAttributesRequest
* Input for GetSubscriptionAttributes.
* @return Result of the GetSubscriptionAttributes operation returned by the
* service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @sample AmazonSNS.GetSubscriptionAttributes
*/
GetSubscriptionAttributesResult getSubscriptionAttributes(
GetSubscriptionAttributesRequest getSubscriptionAttributesRequest);
/**
* Simplified method form for invoking the GetSubscriptionAttributes
* operation.
*
* @see #getSubscriptionAttributes(GetSubscriptionAttributesRequest)
*/
GetSubscriptionAttributesResult getSubscriptionAttributes(
String subscriptionArn);
/**
*
* Returns all of the properties of a topic. Topic properties returned might
* differ based on the authorization of the user.
*
*
* @param getTopicAttributesRequest
* Input for GetTopicAttributes action.
* @return Result of the GetTopicAttributes operation returned by the
* service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @sample AmazonSNS.GetTopicAttributes
*/
GetTopicAttributesResult getTopicAttributes(
GetTopicAttributesRequest getTopicAttributesRequest);
/**
* Simplified method form for invoking the GetTopicAttributes operation.
*
* @see #getTopicAttributes(GetTopicAttributesRequest)
*/
GetTopicAttributesResult getTopicAttributes(String topicArn);
/**
*
* Lists the endpoints and endpoint attributes for devices in a supported
* push notification service, such as GCM and APNS. The results for
* ListEndpointsByPlatformApplication
are paginated and return
* a limited list of endpoints, up to 100. If additional records are
* available after the first page results, then a NextToken string will be
* returned. To receive the next page, you call
* ListEndpointsByPlatformApplication
again using the NextToken
* string received from the previous call. When there are no more records to
* return, NextToken will be null. For more information, see Using
* Amazon SNS Mobile Push Notifications.
*
*
* @param listEndpointsByPlatformApplicationRequest
* Input for ListEndpointsByPlatformApplication action.
* @return Result of the ListEndpointsByPlatformApplication operation
* returned by the service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @sample AmazonSNS.ListEndpointsByPlatformApplication
*/
ListEndpointsByPlatformApplicationResult listEndpointsByPlatformApplication(
ListEndpointsByPlatformApplicationRequest listEndpointsByPlatformApplicationRequest);
/**
*
* Lists the platform application objects for the supported push
* notification services, such as APNS and GCM. The results for
* ListPlatformApplications
are paginated and return a limited
* list of applications, up to 100. If additional records are available
* after the first page results, then a NextToken string will be returned.
* To receive the next page, you call ListPlatformApplications
* using the NextToken string received from the previous call. When there
* are no more records to return, NextToken will be null. For more
* information, see Using
* Amazon SNS Mobile Push Notifications.
*
*
* @param listPlatformApplicationsRequest
* Input for ListPlatformApplications action.
* @return Result of the ListPlatformApplications operation returned by the
* service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @sample AmazonSNS.ListPlatformApplications
*/
ListPlatformApplicationsResult listPlatformApplications(
ListPlatformApplicationsRequest listPlatformApplicationsRequest);
/**
* Simplified method form for invoking the ListPlatformApplications
* operation.
*
* @see #listPlatformApplications(ListPlatformApplicationsRequest)
*/
ListPlatformApplicationsResult listPlatformApplications();
/**
*
* Returns a list of the requester's subscriptions. Each call returns a
* limited list of subscriptions, up to 100. If there are more
* subscriptions, a NextToken
is also returned. Use the
* NextToken
parameter in a new ListSubscriptions
* call to get further results.
*
*
* @param listSubscriptionsRequest
* Input for ListSubscriptions action.
* @return Result of the ListSubscriptions operation returned by the
* service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @sample AmazonSNS.ListSubscriptions
*/
ListSubscriptionsResult listSubscriptions(
ListSubscriptionsRequest listSubscriptionsRequest);
/**
* Simplified method form for invoking the ListSubscriptions operation.
*
* @see #listSubscriptions(ListSubscriptionsRequest)
*/
ListSubscriptionsResult listSubscriptions();
/**
* Simplified method form for invoking the ListSubscriptions operation.
*
* @see #listSubscriptions(ListSubscriptionsRequest)
*/
ListSubscriptionsResult listSubscriptions(String nextToken);
/**
*
* Returns a list of the subscriptions to a specific topic. Each call
* returns a limited list of subscriptions, up to 100. If there are more
* subscriptions, a NextToken
is also returned. Use the
* NextToken
parameter in a new
* ListSubscriptionsByTopic
call to get further results.
*
*
* @param listSubscriptionsByTopicRequest
* Input for ListSubscriptionsByTopic action.
* @return Result of the ListSubscriptionsByTopic operation returned by the
* service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @sample AmazonSNS.ListSubscriptionsByTopic
*/
ListSubscriptionsByTopicResult listSubscriptionsByTopic(
ListSubscriptionsByTopicRequest listSubscriptionsByTopicRequest);
/**
* Simplified method form for invoking the ListSubscriptionsByTopic
* operation.
*
* @see #listSubscriptionsByTopic(ListSubscriptionsByTopicRequest)
*/
ListSubscriptionsByTopicResult listSubscriptionsByTopic(String topicArn);
/**
* Simplified method form for invoking the ListSubscriptionsByTopic
* operation.
*
* @see #listSubscriptionsByTopic(ListSubscriptionsByTopicRequest)
*/
ListSubscriptionsByTopicResult listSubscriptionsByTopic(String topicArn,
String nextToken);
/**
*
* Returns a list of the requester's topics. Each call returns a limited
* list of topics, up to 100. If there are more topics, a
* NextToken
is also returned. Use the NextToken
* parameter in a new ListTopics
call to get further results.
*
*
* @param listTopicsRequest
* @return Result of the ListTopics operation returned by the service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @sample AmazonSNS.ListTopics
*/
ListTopicsResult listTopics(ListTopicsRequest listTopicsRequest);
/**
* Simplified method form for invoking the ListTopics operation.
*
* @see #listTopics(ListTopicsRequest)
*/
ListTopicsResult listTopics();
/**
* Simplified method form for invoking the ListTopics operation.
*
* @see #listTopics(ListTopicsRequest)
*/
ListTopicsResult listTopics(String nextToken);
/**
*
* Sends a message to all of a topic's subscribed endpoints. When a
* messageId
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 selected.
*
*
* To use the Publish
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. The EndpointArn is returned when making a call
* with the CreatePlatformEndpoint
action. The second example
* below shows a request and response for publishing to a mobile endpoint.
*
*
* @param publishRequest
* Input for Publish action.
* @return Result of the Publish operation returned by the service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InvalidParameterValueException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @throws EndpointDisabledException
* Exception error indicating endpoint disabled.
* @throws PlatformApplicationDisabledException
* Exception error indicating platform application disabled.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @sample AmazonSNS.Publish
*/
PublishResult publish(PublishRequest publishRequest);
/**
* Simplified method form for invoking the Publish operation.
*
* @see #publish(PublishRequest)
*/
PublishResult publish(String topicArn, String message);
/**
* Simplified method form for invoking the Publish operation.
*
* @see #publish(PublishRequest)
*/
PublishResult publish(String topicArn, String message, String subject);
/**
*
* Removes a statement from a topic's access control policy.
*
*
* @param removePermissionRequest
* Input for RemovePermission action.
* @return Result of the RemovePermission operation returned by the service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @sample AmazonSNS.RemovePermission
*/
RemovePermissionResult removePermission(
RemovePermissionRequest removePermissionRequest);
/**
* Simplified method form for invoking the RemovePermission operation.
*
* @see #removePermission(RemovePermissionRequest)
*/
RemovePermissionResult removePermission(String topicArn, String label);
/**
*
* 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 Using
* Amazon SNS Mobile Push Notifications.
*
*
* @param setEndpointAttributesRequest
* Input for SetEndpointAttributes action.
* @return Result of the SetEndpointAttributes operation returned by the
* service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @sample AmazonSNS.SetEndpointAttributes
*/
SetEndpointAttributesResult setEndpointAttributes(
SetEndpointAttributesRequest setEndpointAttributesRequest);
/**
*
* Sets the attributes of the platform application object for the supported
* push notification services, such as APNS and GCM. For more information,
* see Using
* Amazon SNS Mobile Push Notifications.
*
*
* @param setPlatformApplicationAttributesRequest
* Input for SetPlatformApplicationAttributes action.
* @return Result of the SetPlatformApplicationAttributes operation returned
* by the service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @sample AmazonSNS.SetPlatformApplicationAttributes
*/
SetPlatformApplicationAttributesResult setPlatformApplicationAttributes(
SetPlatformApplicationAttributesRequest setPlatformApplicationAttributesRequest);
/**
*
* Allows a subscription owner to set an attribute of the topic to a new
* value.
*
*
* @param setSubscriptionAttributesRequest
* Input for SetSubscriptionAttributes action.
* @return Result of the SetSubscriptionAttributes operation returned by the
* service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @sample AmazonSNS.SetSubscriptionAttributes
*/
SetSubscriptionAttributesResult setSubscriptionAttributes(
SetSubscriptionAttributesRequest setSubscriptionAttributesRequest);
/**
* Simplified method form for invoking the SetSubscriptionAttributes
* operation.
*
* @see #setSubscriptionAttributes(SetSubscriptionAttributesRequest)
*/
SetSubscriptionAttributesResult setSubscriptionAttributes(
String subscriptionArn, String attributeName, String attributeValue);
/**
*
* Allows a topic owner to set an attribute of the topic to a new value.
*
*
* @param setTopicAttributesRequest
* Input for SetTopicAttributes action.
* @return Result of the SetTopicAttributes operation returned by the
* service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @sample AmazonSNS.SetTopicAttributes
*/
SetTopicAttributesResult setTopicAttributes(
SetTopicAttributesRequest setTopicAttributesRequest);
/**
* Simplified method form for invoking the SetTopicAttributes operation.
*
* @see #setTopicAttributes(SetTopicAttributesRequest)
*/
SetTopicAttributesResult setTopicAttributes(String topicArn,
String attributeName, String attributeValue);
/**
*
* Prepares to subscribe an endpoint by sending the endpoint a confirmation
* message. To actually create a subscription, the endpoint owner must call
* the ConfirmSubscription
action with the token from the
* confirmation message. Confirmation tokens are valid for three days.
*
*
* @param subscribeRequest
* Input for Subscribe action.
* @return Result of the Subscribe operation returned by the service.
* @throws SubscriptionLimitExceededException
* Indicates that the customer already owns the maximum allowed
* number of subscriptions.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @sample AmazonSNS.Subscribe
*/
SubscribeResult subscribe(SubscribeRequest subscribeRequest);
/**
* Simplified method form for invoking the Subscribe operation.
*
* @see #subscribe(SubscribeRequest)
*/
SubscribeResult subscribe(String topicArn, String protocol, String endpoint);
/**
*
* 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
* Unsubscribe
call does not require authentication and the
* requester is not the subscription owner, a final cancellation message is
* delivered to the endpoint, so that the endpoint owner can easily
* resubscribe to the topic if the Unsubscribe
request was
* unintended.
*
*
* @param unsubscribeRequest
* Input for Unsubscribe action.
* @return Result of the Unsubscribe operation returned by the service.
* @throws InvalidParameterException
* Indicates that a request parameter does not comply with the
* associated constraints.
* @throws InternalErrorException
* Indicates an internal service error.
* @throws AuthorizationErrorException
* Indicates that the user has been denied access to the requested
* resource.
* @throws NotFoundException
* Indicates that the requested resource does not exist.
* @sample AmazonSNS.Unsubscribe
*/
UnsubscribeResult unsubscribe(UnsubscribeRequest unsubscribeRequest);
/**
* Simplified method form for invoking the Unsubscribe operation.
*
* @see #unsubscribe(UnsubscribeRequest)
*/
UnsubscribeResult unsubscribe(String subscriptionArn);
/**
* Shuts down this client object, releasing any resources that might be held
* open. This is an optional method, and callers are not expected to call
* it, but can if they want to explicitly release any open resources. Once a
* client has been shutdown, it should not be used to make any more
* requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request,
* typically used for debugging issues where a service isn't acting as
* expected. This data isn't considered part of the result data returned by
* an operation, so it's available through this separate, diagnostic
* interface.
*
* Response metadata is only cached for a limited period of time, so if you
* need to access this extra diagnostic information for an executed request,
* you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none
* is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}