All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.sns.AmazonSNS Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon SNS module holds the client classes that are used for communicating with Amazon Simple Notification Service

There is a newer version: 1.9.34
Show newest version
/*
 * 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); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy