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.12.772
Show newest version
/*
 * Copyright 2015-2020 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 javax.annotation.Generated;

import com.amazonaws.*;
import com.amazonaws.regions.*;

import com.amazonaws.services.sns.model.*;

/**
 * Interface for accessing Amazon SNS.
 * 

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

*

* 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 https://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. *

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

* This method is not threadsafe. An endpoint should be configured when the client is created and before any * service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in * transit or retrying. * * @param endpoint * The endpoint (ex: "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. * @deprecated use {@link AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} for * example: * {@code builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));} */ @Deprecated void setEndpoint(String endpoint); /** * An alternative to {@link 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) * @deprecated use {@link AwsClientBuilder#setRegion(String)} */ @Deprecated 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 * @see AWS API * Documentation */ 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); /** *

* 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. *

*

* To resume sending messages, you can opt in the number by using the OptInPhoneNumber action. *

* * @param checkIfPhoneNumberIsOptedOutRequest * The input for the CheckIfPhoneNumberIsOptedOut action. * @return Result of the CheckIfPhoneNumberIsOptedOut operation returned by the service. * @throws ThrottledException * Indicates that the rate at which requests have been submitted for this action exceeds the limit for your * account. * @throws InternalErrorException * Indicates an internal service error. * @throws AuthorizationErrorException * Indicates that the user has been denied access to the requested resource. * @throws InvalidParameterException * Indicates that a request parameter does not comply with the associated constraints. * @sample AmazonSNS.CheckIfPhoneNumberIsOptedOut * @see AWS API Documentation */ CheckIfPhoneNumberIsOptedOutResult checkIfPhoneNumberIsOptedOut(CheckIfPhoneNumberIsOptedOutRequest checkIfPhoneNumberIsOptedOutRequest); /** *

* 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. * @throws FilterPolicyLimitExceededException * Indicates that the number of filter polices in your AWS account exceeds the limit. To add more filter * polices, submit an SNS Limit Increase case in the AWS Support Center. * @sample AmazonSNS.ConfirmSubscription * @see AWS API * Documentation */ 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 FCM, * 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 FCM, * 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". *

*

* For APNS/APNS_SANDBOX, PlatformCredential is "private key". For FCM, 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 CreatePlatformApplication is then used as an attribute for the * CreatePlatformEndpoint action. *

* * @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 * @see AWS * API Documentation */ CreatePlatformApplicationResult createPlatformApplication(CreatePlatformApplicationRequest createPlatformApplicationRequest); /** *

* Creates an endpoint for a device and mobile app on one of the supported push notification services, such as FCM * 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 * @see AWS API * Documentation */ CreatePlatformEndpointResult createPlatformEndpoint(CreatePlatformEndpointRequest createPlatformEndpointRequest); /** *

* Creates a topic to which notifications can be published. Users can create at most 100,000 topics. For more * information, see https://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. * @throws InvalidSecurityException * The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using * Signature Version 4. * @throws TagLimitExceededException * Can't add more than 50 tags to a topic. * @throws StaleTagException * A tag has been added to a resource with the same ARN as a deleted resource. Wait a short while and then * retry the operation. * @throws TagPolicyException * The request doesn't comply with the IAM tag policy. Correct your request and then retry it. * @throws ConcurrentAccessException * Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially. * @sample AmazonSNS.CreateTopic * @see AWS API * Documentation */ CreateTopicResult createTopic(CreateTopicRequest createTopicRequest); /** * Simplified method form for invoking the CreateTopic operation. * * @see #createTopic(CreateTopicRequest) */ CreateTopicResult createTopic(String name); /** *

* Deletes the endpoint for a device and mobile app from Amazon SNS. This action is idempotent. For more * information, see Using Amazon SNS Mobile * Push Notifications. *

*

* When you delete an endpoint that is also subscribed to a topic, then you must also unsubscribe the endpoint from * the topic. *

* * @param deleteEndpointRequest * Input for DeleteEndpoint action. * @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 * @see AWS API * Documentation */ DeleteEndpointResult deleteEndpoint(DeleteEndpointRequest deleteEndpointRequest); /** *

* Deletes a platform application object for one of the supported push notification services, such as APNS and FCM. * 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 * @see AWS * API Documentation */ 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. * @throws StaleTagException * A tag has been added to a resource with the same ARN as a deleted resource. Wait a short while and then * retry the operation. * @throws TagPolicyException * The request doesn't comply with the IAM tag policy. Correct your request and then retry it. * @throws ConcurrentAccessException * Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially. * @sample AmazonSNS.DeleteTopic * @see AWS API * Documentation */ 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 FCM * 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 * @see AWS API * Documentation */ GetEndpointAttributesResult getEndpointAttributes(GetEndpointAttributesRequest getEndpointAttributesRequest); /** *

* Retrieves the attributes of the platform application object for the supported push notification services, such as * APNS and FCM. 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 * @see AWS API Documentation */ GetPlatformApplicationAttributesResult getPlatformApplicationAttributes(GetPlatformApplicationAttributesRequest getPlatformApplicationAttributesRequest); /** *

* Returns the settings for sending SMS messages from your account. *

*

* These settings are set with the SetSMSAttributes action. *

* * @param getSMSAttributesRequest * The input for the GetSMSAttributes request. * @return Result of the GetSMSAttributes operation returned by the service. * @throws ThrottledException * Indicates that the rate at which requests have been submitted for this action exceeds the limit for your * account. * @throws InternalErrorException * Indicates an internal service error. * @throws AuthorizationErrorException * Indicates that the user has been denied access to the requested resource. * @throws InvalidParameterException * Indicates that a request parameter does not comply with the associated constraints. * @sample AmazonSNS.GetSMSAttributes * @see AWS API * Documentation */ GetSMSAttributesResult getSMSAttributes(GetSMSAttributesRequest getSMSAttributesRequest); /** *

* 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 * @see AWS * API Documentation */ 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. * @throws InvalidSecurityException * The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using * Signature Version 4. * @sample AmazonSNS.GetTopicAttributes * @see AWS API * Documentation */ 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 FCM and * APNS. The results for ListEndpointsByPlatformApplication are paginated and return a limited list of * endpoints, up to 100. If additional records are available after the first page results, then a NextToken string * will be returned. To receive the next page, you call ListEndpointsByPlatformApplication again using * the NextToken string received from the previous call. When there are no more records to return, NextToken will be * null. For more information, see Using * Amazon SNS Mobile Push Notifications. *

*

* This action is throttled at 30 transactions per second (TPS). *

* * @param listEndpointsByPlatformApplicationRequest * Input for ListEndpointsByPlatformApplication action. * @return 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 * @see AWS API Documentation */ ListEndpointsByPlatformApplicationResult listEndpointsByPlatformApplication( ListEndpointsByPlatformApplicationRequest listEndpointsByPlatformApplicationRequest); /** *

* Returns a list of phone numbers that are opted out, meaning you cannot send SMS messages to them. *

*

* The results for ListPhoneNumbersOptedOut are paginated, and each page returns up to 100 phone * numbers. If additional phone numbers are available after the first page of results, then a NextToken * string will be returned. To receive the next page, you call ListPhoneNumbersOptedOut again using the * NextToken string received from the previous call. When there are no more records to return, * NextToken will be null. *

* * @param listPhoneNumbersOptedOutRequest * The input for the ListPhoneNumbersOptedOut action. * @return Result of the ListPhoneNumbersOptedOut operation returned by the service. * @throws ThrottledException * Indicates that the rate at which requests have been submitted for this action exceeds the limit for your * account. * @throws InternalErrorException * Indicates an internal service error. * @throws AuthorizationErrorException * Indicates that the user has been denied access to the requested resource. * @throws InvalidParameterException * Indicates that a request parameter does not comply with the associated constraints. * @sample AmazonSNS.ListPhoneNumbersOptedOut * @see AWS * API Documentation */ ListPhoneNumbersOptedOutResult listPhoneNumbersOptedOut(ListPhoneNumbersOptedOutRequest listPhoneNumbersOptedOutRequest); /** *

* Lists the platform application objects for the supported push notification services, such as APNS and FCM. The * results for ListPlatformApplications are paginated and return a limited list of applications, up to * 100. If additional records are available after the first page results, then a NextToken string will be returned. * To receive the next page, you call ListPlatformApplications using the NextToken string received from * the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push * Notifications. *

*

* This action is throttled at 15 transactions per second (TPS). *

* * @param listPlatformApplicationsRequest * Input for ListPlatformApplications action. * @return 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 * @see AWS * API Documentation */ 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. *

*

* This action is throttled at 30 transactions per second (TPS). *

* * @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 * @see AWS API * Documentation */ 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. *

*

* This action is throttled at 30 transactions per second (TPS). *

* * @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 * @see AWS * API Documentation */ 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); /** *

* List all tags added to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon Simple * Notification Service Developer Guide. *

* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws ResourceNotFoundException * Can't tag resource. Verify that the topic exists. * @throws TagPolicyException * The request doesn't comply with the IAM tag policy. Correct your request and then retry it. * @throws InvalidParameterException * Indicates that a request parameter does not comply with the associated constraints. * @throws AuthorizationErrorException * Indicates that the user has been denied access to the requested resource. * @throws ConcurrentAccessException * Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially. * @sample AmazonSNS.ListTagsForResource * @see AWS API * Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** *

* Returns a list of the requester's topics. Each call returns a limited list of topics, up to 100. If there are * more topics, a NextToken is also returned. Use the NextToken parameter in a new * ListTopics call to get further results. *

*

* This action is throttled at 30 transactions per second (TPS). *

* * @param listTopicsRequest * @return 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 * @see AWS API * Documentation */ 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); /** *

* Use this request to opt in a phone number that is opted out, which enables you to resume sending SMS messages to * the number. *

*

* You can opt in a phone number only once every 30 days. *

* * @param optInPhoneNumberRequest * Input for the OptInPhoneNumber action. * @return Result of the OptInPhoneNumber operation returned by the service. * @throws ThrottledException * Indicates that the rate at which requests have been submitted for this action exceeds the limit for your * account. * @throws InternalErrorException * Indicates an internal service error. * @throws AuthorizationErrorException * Indicates that the user has been denied access to the requested resource. * @throws InvalidParameterException * Indicates that a request parameter does not comply with the associated constraints. * @sample AmazonSNS.OptInPhoneNumber * @see AWS API * Documentation */ OptInPhoneNumberResult optInPhoneNumber(OptInPhoneNumberRequest optInPhoneNumberRequest); /** *

* Sends a message to an Amazon SNS topic or sends a text message (SMS message) directly to a phone number. *

*

* If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the * topic. The format of the message depends on the notification protocol for each subscribed endpoint. *

*

* When a messageId is returned, the message has been saved and Amazon SNS will attempt to deliver it * shortly. *

*

* 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 for the TargetArn parameter. The EndpointArn is returned * when making a call with the CreatePlatformEndpoint action. *

*

* For more information about formatting messages, see Send Custom * Platform-Specific Payloads in Messages to Mobile Devices. *

* * @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. * @throws KMSDisabledException * The request was rejected because the specified customer master key (CMK) isn't enabled. * @throws KMSInvalidStateException * The request was rejected because the state of the specified resource isn't valid for this request. For * more information, see How * Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer * Guide. * @throws KMSNotFoundException * The request was rejected because the specified entity or resource can't be found. * @throws KMSOptInRequiredException * The AWS access key ID needs a subscription for the service. * @throws KMSThrottlingException * The request was denied due to request throttling. For more information about throttling, see Limits * in the AWS Key Management Service Developer Guide. * @throws KMSAccessDeniedException * The ciphertext references a key that doesn't exist or that you don't have access to. * @throws InvalidSecurityException * The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using * Signature Version 4. * @sample AmazonSNS.Publish * @see AWS API * Documentation */ 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 * @see AWS API * Documentation */ 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 FCM * 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 * @see AWS API * Documentation */ SetEndpointAttributesResult setEndpointAttributes(SetEndpointAttributesRequest setEndpointAttributesRequest); /** *

* Sets the attributes of the platform application object for the supported push notification services, such as APNS * and FCM. For more information, see Using * Amazon SNS Mobile Push Notifications. For information on configuring attributes for message delivery status, * see Using Amazon SNS Application * Attributes for Message Delivery Status. *

* * @param setPlatformApplicationAttributesRequest * Input for SetPlatformApplicationAttributes action. * @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 * @see AWS API Documentation */ SetPlatformApplicationAttributesResult setPlatformApplicationAttributes(SetPlatformApplicationAttributesRequest setPlatformApplicationAttributesRequest); /** *

* Use this request to set the default settings for sending SMS messages and receiving daily SMS usage reports. *

*

* You can override some of these settings for a single message when you use the Publish action with * the MessageAttributes.entry.N parameter. For more information, see Sending an SMS Message in the * Amazon SNS Developer Guide. *

* * @param setSMSAttributesRequest * The input for the SetSMSAttributes action. * @return Result of the SetSMSAttributes operation returned by the service. * @throws InvalidParameterException * Indicates that a request parameter does not comply with the associated constraints. * @throws ThrottledException * Indicates that the rate at which requests have been submitted for this action exceeds the limit for your * account. * @throws InternalErrorException * Indicates an internal service error. * @throws AuthorizationErrorException * Indicates that the user has been denied access to the requested resource. * @sample AmazonSNS.SetSMSAttributes * @see AWS API * Documentation */ SetSMSAttributesResult setSMSAttributes(SetSMSAttributesRequest setSMSAttributesRequest); /** *

* Allows a subscription owner to set an attribute of the subscription 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 FilterPolicyLimitExceededException * Indicates that the number of filter polices in your AWS account exceeds the limit. To add more filter * polices, submit an SNS Limit Increase case in the AWS Support Center. * @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 * @see AWS * API Documentation */ 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. * @throws InvalidSecurityException * The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using * Signature Version 4. * @sample AmazonSNS.SetTopicAttributes * @see AWS API * Documentation */ 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. *

*

* This action is throttled at 100 transactions per second (TPS). *

* * @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 FilterPolicyLimitExceededException * Indicates that the number of filter polices in your AWS account exceeds the limit. To add more filter * polices, submit an SNS Limit Increase case in the AWS Support Center. * @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. * @throws InvalidSecurityException * The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using * Signature Version 4. * @sample AmazonSNS.Subscribe * @see AWS API * Documentation */ SubscribeResult subscribe(SubscribeRequest subscribeRequest); /** * Simplified method form for invoking the Subscribe operation. * * @see #subscribe(SubscribeRequest) */ SubscribeResult subscribe(String topicArn, String protocol, String endpoint); /** *

* Add tags to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer * Guide. *

*

* When you use topic tags, keep the following guidelines in mind: *

*
    *
  • *

    * Adding more than 50 tags to a topic isn't recommended. *

    *
  • *
  • *

    * Tags don't have any semantic meaning. Amazon SNS interprets tags as character strings. *

    *
  • *
  • *

    * Tags are case-sensitive. *

    *
  • *
  • *

    * A new tag with a key identical to that of an existing tag overwrites the existing tag. *

    *
  • *
  • *

    * Tagging actions are limited to 10 TPS per AWS account, per AWS region. If your application requires a higher * throughput, file a technical support * request. *

    *
  • *
* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws ResourceNotFoundException * Can't tag resource. Verify that the topic exists. * @throws TagLimitExceededException * Can't add more than 50 tags to a topic. * @throws StaleTagException * A tag has been added to a resource with the same ARN as a deleted resource. Wait a short while and then * retry the operation. * @throws TagPolicyException * The request doesn't comply with the IAM tag policy. Correct your request and then retry it. * @throws InvalidParameterException * Indicates that a request parameter does not comply with the associated constraints. * @throws AuthorizationErrorException * Indicates that the user has been denied access to the requested resource. * @throws ConcurrentAccessException * Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially. * @sample AmazonSNS.TagResource * @see AWS API * Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** *

* 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. *

*

* This action is throttled at 100 transactions per second (TPS). *

* * @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. * @throws InvalidSecurityException * The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using * Signature Version 4. * @sample AmazonSNS.Unsubscribe * @see AWS API * Documentation */ UnsubscribeResult unsubscribe(UnsubscribeRequest unsubscribeRequest); /** * Simplified method form for invoking the Unsubscribe operation. * * @see #unsubscribe(UnsubscribeRequest) */ UnsubscribeResult unsubscribe(String subscriptionArn); /** *

* Remove tags from the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer * Guide. *

* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws ResourceNotFoundException * Can't tag resource. Verify that the topic exists. * @throws TagLimitExceededException * Can't add more than 50 tags to a topic. * @throws StaleTagException * A tag has been added to a resource with the same ARN as a deleted resource. Wait a short while and then * retry the operation. * @throws TagPolicyException * The request doesn't comply with the IAM tag policy. Correct your request and then retry it. * @throws InvalidParameterException * Indicates that a request parameter does not comply with the associated constraints. * @throws AuthorizationErrorException * Indicates that the user has been denied access to the requested resource. * @throws ConcurrentAccessException * Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially. * @sample AmazonSNS.UntagResource * @see AWS API * Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** * 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 - 2024 Weber Informatics LLC | Privacy Policy