Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
   /*
    * Copyright 2010-2015 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 org.w3c.dom.*;
  
  import java.net.*;
  import java.util.*;
  
  import com.amazonaws.*;
  
Client for accessing AmazonSNS. All service calls made using this client are blocking, and will not return until the service call completes.

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 class AmazonSNSClient extends AmazonWebServiceClient implements AmazonSNS {

    
Provider for AWS credentials.
  
      private AWSCredentialsProvider awsCredentialsProvider;

    
List of exception unmarshallers for all AmazonSNS exceptions.
  
              = new ArrayList<Unmarshaller<AmazonServiceExceptionNode>>();

    
Constructs a new client to invoke service methods on AmazonSNS. A credentials provider chain will be used that searches for credentials in this order:
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • Instance profile credentials delivered through the Amazon EC2 metadata service

All service calls made using this new client object are blocking, and will not return until the service call completes.

  
      public AmazonSNSClient() {
          this(new DefaultAWSCredentialsProviderChain(), new ClientConfiguration());
      }

    
Constructs a new client to invoke service methods on AmazonSNS. A credentials provider chain will be used that searches for credentials in this order:
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • Instance profile credentials delivered through the Amazon EC2 metadata service

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
clientConfiguration The client configuration options controlling how this client connects to AmazonSNS (ex: proxy settings, retry counts, etc.).
See also:
com.amazonaws.auth.DefaultAWSCredentialsProviderChain
 
     public AmazonSNSClient(ClientConfiguration clientConfiguration) {
         this(new DefaultAWSCredentialsProviderChain(), clientConfiguration);
     }

    
Constructs a new client to invoke service methods on AmazonSNS using the specified AWS account credentials.

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
awsCredentials The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
 
     public AmazonSNSClient(AWSCredentials awsCredentials) {
         this(awsCredentialsnew ClientConfiguration());
     }

    
Constructs a new client to invoke service methods on AmazonSNS using the specified AWS account credentials and client configuration options.

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
awsCredentials The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
clientConfiguration The client configuration options controlling how this client connects to AmazonSNS (ex: proxy settings, retry counts, etc.).
 
     public AmazonSNSClient(AWSCredentials awsCredentialsClientConfiguration clientConfiguration) {
         super(clientConfiguration);
         this. = new StaticCredentialsProvider(awsCredentials);
         init();
     }

    
Constructs a new client to invoke service methods on AmazonSNS using the specified AWS account credentials provider.

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
awsCredentialsProvider The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
 
     public AmazonSNSClient(AWSCredentialsProvider awsCredentialsProvider) {
         this(awsCredentialsProvidernew ClientConfiguration());
     }

    
Constructs a new client to invoke service methods on AmazonSNS using the specified AWS account credentials provider and client configuration options.

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
awsCredentialsProvider The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
clientConfiguration The client configuration options controlling how this client connects to AmazonSNS (ex: proxy settings, retry counts, etc.).
 
     public AmazonSNSClient(AWSCredentialsProvider awsCredentialsProviderClientConfiguration clientConfiguration) {
         this(awsCredentialsProviderclientConfigurationnull);
     }

    
Constructs a new client to invoke service methods on AmazonSNS using the specified AWS account credentials provider, client configuration options, and request metric collector.

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
awsCredentialsProvider The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
clientConfiguration The client configuration options controlling how this client connects to AmazonSNS (ex: proxy settings, retry counts, etc.).
requestMetricCollector optional request metric collector
 
     public AmazonSNSClient(AWSCredentialsProvider awsCredentialsProvider,
             ClientConfiguration clientConfiguration,
             RequestMetricCollector requestMetricCollector) {
         super(clientConfigurationrequestMetricCollector);
         this. = awsCredentialsProvider;
         init();
     }
 
     private void init() {
         
         
         // calling this.setEndPoint(...) will also modify the signer accordingly
         this.setEndpoint("sns.us-east-1.amazonaws.com");
         
         HandlerChainFactory chainFactory = new HandlerChainFactory();
         .addAll(chainFactory.newRequestHandlerChain(
                 "/com/amazonaws/services/sns/request.handlers"));
         .addAll(chainFactory.newRequestHandler2Chain(
                 "/com/amazonaws/services/sns/request.handler2s"));
     }

    

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

Parameters:
confirmSubscriptionRequest Container for the necessary parameters to execute the ConfirmSubscription service method on AmazonSNS.
Returns:
The response from the ConfirmSubscription service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.SubscriptionLimitExceededException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
 
     public ConfirmSubscriptionResult confirmSubscription(ConfirmSubscriptionRequest confirmSubscriptionRequest) {
         ExecutionContext executionContext = createExecutionContext(confirmSubscriptionRequest);
         AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
         awsRequestMetrics.startEvent(.);
         Request<ConfirmSubscriptionRequestrequest = null;
         Response<ConfirmSubscriptionResultresponse = null;
         
         try {
             awsRequestMetrics.startEvent(.);
             try {
                 request = new ConfirmSubscriptionRequestMarshaller().marshall(super.beforeMarshalling(confirmSubscriptionRequest));
                 // Binds the request metrics to the current request.
                 request.setAWSRequestMetrics(awsRequestMetrics);
             } finally {
                 awsRequestMetrics.endEvent(.);
             }
 
             response = invoke(requestnew ConfirmSubscriptionResultStaxUnmarshaller(), executionContext);
             return response.getAwsResponse();
 
         } finally {
             
             endClientExecution(awsRequestMetricsrequestresponse);
         }
     }
    
    

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 .

Parameters:
createPlatformApplicationRequest Container for the necessary parameters to execute the CreatePlatformApplication service method on AmazonSNS.
Returns:
The response from the CreatePlatformApplication service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
 
         ExecutionContext executionContext = createExecutionContext(createPlatformApplicationRequest);
         AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
         awsRequestMetrics.startEvent(.);
         Request<CreatePlatformApplicationRequestrequest = null;
         Response<CreatePlatformApplicationResultresponse = null;
         
         try {
             awsRequestMetrics.startEvent(.);
             try {
                 request = new CreatePlatformApplicationRequestMarshaller().marshall(super.beforeMarshalling(createPlatformApplicationRequest));
                 // Binds the request metrics to the current request.
                 request.setAWSRequestMetrics(awsRequestMetrics);
             } finally {
                 awsRequestMetrics.endEvent(.);
             }
 
             response = invoke(requestnew CreatePlatformApplicationResultStaxUnmarshaller(), executionContext);
             return response.getAwsResponse();
 
         } finally {
             
             endClientExecution(awsRequestMetricsrequestresponse);
         }
     }
    
    

Returns all of the properties of a topic. Topic properties returned might differ based on the authorization of the user.

Parameters:
getTopicAttributesRequest Container for the necessary parameters to execute the GetTopicAttributes service method on AmazonSNS.
Returns:
The response from the GetTopicAttributes service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
 
     public GetTopicAttributesResult getTopicAttributes(GetTopicAttributesRequest getTopicAttributesRequest) {
         ExecutionContext executionContext = createExecutionContext(getTopicAttributesRequest);
         AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
         awsRequestMetrics.startEvent(.);
         Request<GetTopicAttributesRequestrequest = null;
         Response<GetTopicAttributesResultresponse = null;
         
         try {
             awsRequestMetrics.startEvent(.);
             try {
                 request = new GetTopicAttributesRequestMarshaller().marshall(super.beforeMarshalling(getTopicAttributesRequest));
                 // Binds the request metrics to the current request.
                 request.setAWSRequestMetrics(awsRequestMetrics);
             } finally {
                 awsRequestMetrics.endEvent(.);
             }
 
             response = invoke(requestnew GetTopicAttributesResultStaxUnmarshaller(), executionContext);
             return response.getAwsResponse();
 
         } finally {
             
             endClientExecution(awsRequestMetricsrequestresponse);
         }
     }
    
    

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.

Parameters:
subscribeRequest Container for the necessary parameters to execute the Subscribe service method on AmazonSNS.
Returns:
The response from the Subscribe service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.SubscriptionLimitExceededException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
 
     public SubscribeResult subscribe(SubscribeRequest subscribeRequest) {
         ExecutionContext executionContext = createExecutionContext(subscribeRequest);
         AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
         awsRequestMetrics.startEvent(.);
         Request<SubscribeRequestrequest = null;
         Response<SubscribeResultresponse = null;
         
         try {
             awsRequestMetrics.startEvent(.);
             try {
                 request = new SubscribeRequestMarshaller().marshall(super.beforeMarshalling(subscribeRequest));
                 // Binds the request metrics to the current request.
                 request.setAWSRequestMetrics(awsRequestMetrics);
             } finally {
                 awsRequestMetrics.endEvent(.);
             }
 
             response = invoke(requestnew SubscribeResultStaxUnmarshaller(), executionContext);
             return response.getAwsResponse();
 
         } finally {
             
             endClientExecution(awsRequestMetricsrequestresponse);
         }
     }
    
    

Deletes the endpoint from Amazon SNS. This action is idempotent. For more information, see Using Amazon SNS Mobile Push Notifications .

Parameters:
deleteEndpointRequest Container for the necessary parameters to execute the DeleteEndpoint service method on AmazonSNS.
Throws:
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
 
     public void deleteEndpoint(DeleteEndpointRequest deleteEndpointRequest) {
         ExecutionContext executionContext = createExecutionContext(deleteEndpointRequest);
         AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
         Request<DeleteEndpointRequestrequest = null;
         awsRequestMetrics.startEvent(.);
         
         try {
             awsRequestMetrics.startEvent(.);
             try {
                 request = new DeleteEndpointRequestMarshaller().marshall(super.beforeMarshalling(deleteEndpointRequest));
                 // Binds the request metrics to the current request.
                 request.setAWSRequestMetrics(awsRequestMetrics);
             } finally {
                 awsRequestMetrics.endEvent(.);
             }
 
             invoke(requestnullexecutionContext);
 
         } finally {
             
             endClientExecution(awsRequestMetricsrequestnull);
         }
     }
    
    

Allows a topic owner to set an attribute of the topic to a new value.

Parameters:
setTopicAttributesRequest Container for the necessary parameters to execute the SetTopicAttributes service method on AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
 
     public void setTopicAttributes(SetTopicAttributesRequest setTopicAttributesRequest) {
         ExecutionContext executionContext = createExecutionContext(setTopicAttributesRequest);
         AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
         Request<SetTopicAttributesRequestrequest = null;
         awsRequestMetrics.startEvent(.);
         
         try {
             awsRequestMetrics.startEvent(.);
             try {
                 request = new SetTopicAttributesRequestMarshaller().marshall(super.beforeMarshalling(setTopicAttributesRequest));
                 // Binds the request metrics to the current request.
                 request.setAWSRequestMetrics(awsRequestMetrics);
             } finally {
                 awsRequestMetrics.endEvent(.);
             }
 
             invoke(requestnullexecutionContext);
 
         } finally {
             
             endClientExecution(awsRequestMetricsrequestnull);
         }
     }
    
    

Removes a statement from a topic's access control policy.

Parameters:
removePermissionRequest Container for the necessary parameters to execute the RemovePermission service method on AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
 
     public void removePermission(RemovePermissionRequest removePermissionRequest) {
         ExecutionContext executionContext = createExecutionContext(removePermissionRequest);
         AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
         Request<RemovePermissionRequestrequest = null;
         awsRequestMetrics.startEvent(.);
         
         try {
             awsRequestMetrics.startEvent(.);
             try {
                 request = new RemovePermissionRequestMarshaller().marshall(super.beforeMarshalling(removePermissionRequest));
                 // Binds the request metrics to the current request.
                 request.setAWSRequestMetrics(awsRequestMetrics);
             } finally {
                 awsRequestMetrics.endEvent(.);
             }
 
             invoke(requestnullexecutionContext);
 
         } finally {
             
             endClientExecution(awsRequestMetricsrequestnull);
         }
     }
    
    

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 .

Parameters:
getEndpointAttributesRequest Container for the necessary parameters to execute the GetEndpointAttributes service method on AmazonSNS.
Returns:
The response from the GetEndpointAttributes service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
 
     public GetEndpointAttributesResult getEndpointAttributes(GetEndpointAttributesRequest getEndpointAttributesRequest) {
         ExecutionContext executionContext = createExecutionContext(getEndpointAttributesRequest);
         AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
         awsRequestMetrics.startEvent(.);
         Request<GetEndpointAttributesRequestrequest = null;
         Response<GetEndpointAttributesResultresponse = null;
         
         try {
             awsRequestMetrics.startEvent(.);
             try {
                 request = new GetEndpointAttributesRequestMarshaller().marshall(super.beforeMarshalling(getEndpointAttributesRequest));
                 // Binds the request metrics to the current request.
                 request.setAWSRequestMetrics(awsRequestMetrics);
             } finally {
                 awsRequestMetrics.endEvent(.);
             }
 
             response = invoke(requestnew GetEndpointAttributesResultStaxUnmarshaller(), executionContext);
             return response.getAwsResponse();
 
         } finally {
             
             endClientExecution(awsRequestMetricsrequestresponse);
         }
     }
    
    

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.

Parameters:
listSubscriptionsRequest Container for the necessary parameters to execute the ListSubscriptions service method on AmazonSNS.
Returns:
The response from the ListSubscriptions service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
 
     public ListSubscriptionsResult listSubscriptions(ListSubscriptionsRequest listSubscriptionsRequest) {
         ExecutionContext executionContext = createExecutionContext(listSubscriptionsRequest);
         AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
         awsRequestMetrics.startEvent(.);
         Request<ListSubscriptionsRequestrequest = null;
         Response<ListSubscriptionsResultresponse = null;
         
         try {
             awsRequestMetrics.startEvent(.);
             try {
                 request = new ListSubscriptionsRequestMarshaller().marshall(super.beforeMarshalling(listSubscriptionsRequest));
                 // Binds the request metrics to the current request.
                 request.setAWSRequestMetrics(awsRequestMetrics);
             } finally {
                 awsRequestMetrics.endEvent(.);
             }
 
             response = invoke(requestnew ListSubscriptionsResultStaxUnmarshaller(), executionContext);
             return response.getAwsResponse();
 
         } finally {
             
             endClientExecution(awsRequestMetricsrequestresponse);
         }
     }
    
    

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 .

Parameters:
createPlatformEndpointRequest Container for the necessary parameters to execute the CreatePlatformEndpoint service method on AmazonSNS.
Returns:
The response from the CreatePlatformEndpoint service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
 
     public CreatePlatformEndpointResult createPlatformEndpoint(CreatePlatformEndpointRequest createPlatformEndpointRequest) {
         ExecutionContext executionContext = createExecutionContext(createPlatformEndpointRequest);
         AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
         awsRequestMetrics.startEvent(.);
         Request<CreatePlatformEndpointRequestrequest = null;
         Response<CreatePlatformEndpointResultresponse = null;
         
         try {
             awsRequestMetrics.startEvent(.);
             try {
                 request = new CreatePlatformEndpointRequestMarshaller().marshall(super.beforeMarshalling(createPlatformEndpointRequest));
                 // Binds the request metrics to the current request.
                 request.setAWSRequestMetrics(awsRequestMetrics);
             } finally {
                 awsRequestMetrics.endEvent(.);
             }
 
             response = invoke(requestnew CreatePlatformEndpointResultStaxUnmarshaller(), executionContext);
             return response.getAwsResponse();
 
         } finally {
             
             endClientExecution(awsRequestMetricsrequestresponse);
         }
     }
    
    

Allows a subscription owner to set an attribute of the topic to a new value.

Parameters:
setSubscriptionAttributesRequest Container for the necessary parameters to execute the SetSubscriptionAttributes service method on AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
 
     public void setSubscriptionAttributes(SetSubscriptionAttributesRequest setSubscriptionAttributesRequest) {
         ExecutionContext executionContext = createExecutionContext(setSubscriptionAttributesRequest);
         AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
         Request<SetSubscriptionAttributesRequestrequest = null;
         awsRequestMetrics.startEvent(.);
         
         try {
             awsRequestMetrics.startEvent(.);
             try {
                 request = new SetSubscriptionAttributesRequestMarshaller().marshall(super.beforeMarshalling(setSubscriptionAttributesRequest));
                 // Binds the request metrics to the current request.
                 request.setAWSRequestMetrics(awsRequestMetrics);
             } finally {
                 awsRequestMetrics.endEvent(.);
             }
 
             invoke(requestnullexecutionContext);
 
         } finally {
             
             endClientExecution(awsRequestMetricsrequestnull);
         }
     }
    
    

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.

Parameters:
createTopicRequest Container for the necessary parameters to execute the CreateTopic service method on AmazonSNS.
Returns:
The response from the CreateTopic service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.services.sns.model.TopicLimitExceededException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
 
     public CreateTopicResult createTopic(CreateTopicRequest createTopicRequest) {
         ExecutionContext executionContext = createExecutionContext(createTopicRequest);
         AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
         awsRequestMetrics.startEvent(.);
         Request<CreateTopicRequestrequest = null;
         Response<CreateTopicResultresponse = null;
         
         try {
             awsRequestMetrics.startEvent(.);
             try {
                 request = new CreateTopicRequestMarshaller().marshall(super.beforeMarshalling(createTopicRequest));
                 // Binds the request metrics to the current request.
                 request.setAWSRequestMetrics(awsRequestMetrics);
             } finally {
                 awsRequestMetrics.endEvent(.);
             }
 
             response = invoke(requestnew CreateTopicResultStaxUnmarshaller(), executionContext);
             return response.getAwsResponse();
 
         } finally {
             
             endClientExecution(awsRequestMetricsrequestresponse);
         }
     }
    
    

Returns all of the properties of a subscription.

Parameters:
getSubscriptionAttributesRequest Container for the necessary parameters to execute the GetSubscriptionAttributes service method on AmazonSNS.
Returns:
The response from the GetSubscriptionAttributes service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
 
         ExecutionContext executionContext = createExecutionContext(getSubscriptionAttributesRequest);
         AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
         awsRequestMetrics.startEvent(.);
         Request<GetSubscriptionAttributesRequestrequest = null;
         Response<GetSubscriptionAttributesResultresponse = null;
         
         try {
             awsRequestMetrics.startEvent(.);
             try {
                 request = new GetSubscriptionAttributesRequestMarshaller().marshall(super.beforeMarshalling(getSubscriptionAttributesRequest));
                 // Binds the request metrics to the current request.
                 request.setAWSRequestMetrics(awsRequestMetrics);
             } finally {
                 awsRequestMetrics.endEvent(.);
             }
 
             response = invoke(requestnew GetSubscriptionAttributesResultStaxUnmarshaller(), executionContext);
             return response.getAwsResponse();
 
         } finally {
             
             endClientExecution(awsRequestMetricsrequestresponse);
         }
     }
    
    

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.

Parameters:
listTopicsRequest Container for the necessary parameters to execute the ListTopics service method on AmazonSNS.
Returns:
The response from the ListTopics service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
 
     public ListTopicsResult listTopics(ListTopicsRequest listTopicsRequest) {
         ExecutionContext executionContext = createExecutionContext(listTopicsRequest);
         AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
         awsRequestMetrics.startEvent(.);
         Request<ListTopicsRequestrequest = null;
         Response<ListTopicsResultresponse = null;
         
         try {
             awsRequestMetrics.startEvent(.);
             try {
                 request = new ListTopicsRequestMarshaller().marshall(super.beforeMarshalling(listTopicsRequest));
                 // Binds the request metrics to the current request.
                 request.setAWSRequestMetrics(awsRequestMetrics);
             } finally {
                 awsRequestMetrics.endEvent(.);
             }
 
             response = invoke(requestnew ListTopicsResultStaxUnmarshaller(), executionContext);
             return response.getAwsResponse();
 
         } finally {
             
             endClientExecution(awsRequestMetricsrequestresponse);
         }
     }
    
    

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 .

Parameters:
deletePlatformApplicationRequest Container for the necessary parameters to execute the DeletePlatformApplication service method on AmazonSNS.
Throws:
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
    public void deletePlatformApplication(DeletePlatformApplicationRequest deletePlatformApplicationRequest) {
        ExecutionContext executionContext = createExecutionContext(deletePlatformApplicationRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        Request<DeletePlatformApplicationRequestrequest = null;
        awsRequestMetrics.startEvent(.);
        
        try {
            awsRequestMetrics.startEvent(.);
            try {
                request = new DeletePlatformApplicationRequestMarshaller().marshall(super.beforeMarshalling(deletePlatformApplicationRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
            } finally {
                awsRequestMetrics.endEvent(.);
            }
            invoke(requestnullexecutionContext);
        } finally {
            
            endClientExecution(awsRequestMetricsrequestnull);
        }
    }
    
    

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 .

Parameters:
listPlatformApplicationsRequest Container for the necessary parameters to execute the ListPlatformApplications service method on AmazonSNS.
Returns:
The response from the ListPlatformApplications service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
        ExecutionContext executionContext = createExecutionContext(listPlatformApplicationsRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(.);
        Request<ListPlatformApplicationsRequestrequest = null;
        Response<ListPlatformApplicationsResultresponse = null;
        
        try {
            awsRequestMetrics.startEvent(.);
            try {
                request = new ListPlatformApplicationsRequestMarshaller().marshall(super.beforeMarshalling(listPlatformApplicationsRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
            } finally {
                awsRequestMetrics.endEvent(.);
            }
            response = invoke(requestnew ListPlatformApplicationsResultStaxUnmarshaller(), executionContext);
            return response.getAwsResponse();
        } finally {
            
            endClientExecution(awsRequestMetricsrequestresponse);
        }
    }
    
    

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 .

Parameters:
setEndpointAttributesRequest Container for the necessary parameters to execute the SetEndpointAttributes service method on AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
    public void setEndpointAttributes(SetEndpointAttributesRequest setEndpointAttributesRequest) {
        ExecutionContext executionContext = createExecutionContext(setEndpointAttributesRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        Request<SetEndpointAttributesRequestrequest = null;
        awsRequestMetrics.startEvent(.);
        
        try {
            awsRequestMetrics.startEvent(.);
            try {
                request = new SetEndpointAttributesRequestMarshaller().marshall(super.beforeMarshalling(setEndpointAttributesRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
            } finally {
                awsRequestMetrics.endEvent(.);
            }
            invoke(requestnullexecutionContext);
        } finally {
            
            endClientExecution(awsRequestMetricsrequestnull);
        }
    }
    
    

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.

Parameters:
unsubscribeRequest Container for the necessary parameters to execute the Unsubscribe service method on AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
    public void unsubscribe(UnsubscribeRequest unsubscribeRequest) {
        ExecutionContext executionContext = createExecutionContext(unsubscribeRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        Request<UnsubscribeRequestrequest = null;
        awsRequestMetrics.startEvent(.);
        
        try {
            awsRequestMetrics.startEvent(.);
            try {
                request = new UnsubscribeRequestMarshaller().marshall(super.beforeMarshalling(unsubscribeRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
            } finally {
                awsRequestMetrics.endEvent(.);
            }
            invoke(requestnullexecutionContext);
        } finally {
            
            endClientExecution(awsRequestMetricsrequestnull);
        }
    }
    
    

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.

Parameters:
deleteTopicRequest Container for the necessary parameters to execute the DeleteTopic service method on AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
    public void deleteTopic(DeleteTopicRequest deleteTopicRequest) {
        ExecutionContext executionContext = createExecutionContext(deleteTopicRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        Request<DeleteTopicRequestrequest = null;
        awsRequestMetrics.startEvent(.);
        
        try {
            awsRequestMetrics.startEvent(.);
            try {
                request = new DeleteTopicRequestMarshaller().marshall(super.beforeMarshalling(deleteTopicRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
            } finally {
                awsRequestMetrics.endEvent(.);
            }
            invoke(requestnullexecutionContext);
        } finally {
            
            endClientExecution(awsRequestMetricsrequestnull);
        }
    }
    
    

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 .

Parameters:
getPlatformApplicationAttributesRequest Container for the necessary parameters to execute the GetPlatformApplicationAttributes service method on AmazonSNS.
Returns:
The response from the GetPlatformApplicationAttributes service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
        ExecutionContext executionContext = createExecutionContext(getPlatformApplicationAttributesRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(.);
        Request<GetPlatformApplicationAttributesRequestrequest = null;
        Response<GetPlatformApplicationAttributesResultresponse = null;
        
        try {
            awsRequestMetrics.startEvent(.);
            try {
                request = new GetPlatformApplicationAttributesRequestMarshaller().marshall(super.beforeMarshalling(getPlatformApplicationAttributesRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
            } finally {
                awsRequestMetrics.endEvent(.);
            }
            response = invoke(requestnew GetPlatformApplicationAttributesResultStaxUnmarshaller(), executionContext);
            return response.getAwsResponse();
        } finally {
            
            endClientExecution(awsRequestMetricsrequestresponse);
        }
    }
    
    

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 .

Parameters:
setPlatformApplicationAttributesRequest Container for the necessary parameters to execute the SetPlatformApplicationAttributes service method on AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
    public void setPlatformApplicationAttributes(SetPlatformApplicationAttributesRequest setPlatformApplicationAttributesRequest) {
        ExecutionContext executionContext = createExecutionContext(setPlatformApplicationAttributesRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        Request<SetPlatformApplicationAttributesRequestrequest = null;
        awsRequestMetrics.startEvent(.);
        
        try {
            awsRequestMetrics.startEvent(.);
            try {
                request = new SetPlatformApplicationAttributesRequestMarshaller().marshall(super.beforeMarshalling(setPlatformApplicationAttributesRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
            } finally {
                awsRequestMetrics.endEvent(.);
            }
            invoke(requestnullexecutionContext);
        } finally {
            
            endClientExecution(awsRequestMetricsrequestnull);
        }
    }
    
    

Adds a statement to a topic's access control policy, granting access for the specified AWS accounts to the specified actions.

Parameters:
addPermissionRequest Container for the necessary parameters to execute the AddPermission service method on AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
    public void addPermission(AddPermissionRequest addPermissionRequest) {
        ExecutionContext executionContext = createExecutionContext(addPermissionRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        Request<AddPermissionRequestrequest = null;
        awsRequestMetrics.startEvent(.);
        
        try {
            awsRequestMetrics.startEvent(.);
            try {
                request = new AddPermissionRequestMarshaller().marshall(super.beforeMarshalling(addPermissionRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
            } finally {
                awsRequestMetrics.endEvent(.);
            }
            invoke(requestnullexecutionContext);
        } finally {
            
            endClientExecution(awsRequestMetricsrequestnull);
        }
    }
    
    

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 .

Parameters:
listEndpointsByPlatformApplicationRequest Container for the necessary parameters to execute the ListEndpointsByPlatformApplication service method on AmazonSNS.
Returns:
The response from the ListEndpointsByPlatformApplication service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
        ExecutionContext executionContext = createExecutionContext(listEndpointsByPlatformApplicationRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(.);
        Request<ListEndpointsByPlatformApplicationRequestrequest = null;
        Response<ListEndpointsByPlatformApplicationResultresponse = null;
        
        try {
            awsRequestMetrics.startEvent(.);
            try {
                request = new ListEndpointsByPlatformApplicationRequestMarshaller().marshall(super.beforeMarshalling(listEndpointsByPlatformApplicationRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
            } finally {
                awsRequestMetrics.endEvent(.);
            }
            response = invoke(requestnew ListEndpointsByPlatformApplicationResultStaxUnmarshaller(), executionContext);
            return response.getAwsResponse();
        } finally {
            
            endClientExecution(awsRequestMetricsrequestresponse);
        }
    }
    
    

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.

Parameters:
listSubscriptionsByTopicRequest Container for the necessary parameters to execute the ListSubscriptionsByTopic service method on AmazonSNS.
Returns:
The response from the ListSubscriptionsByTopic service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
        ExecutionContext executionContext = createExecutionContext(listSubscriptionsByTopicRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(.);
        Request<ListSubscriptionsByTopicRequestrequest = null;
        Response<ListSubscriptionsByTopicResultresponse = null;
        
        try {
            awsRequestMetrics.startEvent(.);
            try {
                request = new ListSubscriptionsByTopicRequestMarshaller().marshall(super.beforeMarshalling(listSubscriptionsByTopicRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
            } finally {
                awsRequestMetrics.endEvent(.);
            }
            response = invoke(requestnew ListSubscriptionsByTopicResultStaxUnmarshaller(), executionContext);
            return response.getAwsResponse();
        } finally {
            
            endClientExecution(awsRequestMetricsrequestresponse);
        }
    }
    
    

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.

Parameters:
publishRequest Container for the necessary parameters to execute the Publish service method on AmazonSNS.
Returns:
The response from the Publish service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.PlatformApplicationDisabledException
com.amazonaws.services.sns.model.EndpointDisabledException
com.amazonaws.services.sns.model.InvalidParameterValueException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
    public PublishResult publish(PublishRequest publishRequest) {
        ExecutionContext executionContext = createExecutionContext(publishRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(.);
        Request<PublishRequestrequest = null;
        Response<PublishResultresponse = null;
        
        try {
            awsRequestMetrics.startEvent(.);
            try {
                request = new PublishRequestMarshaller().marshall(super.beforeMarshalling(publishRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
            } finally {
                awsRequestMetrics.endEvent(.);
            }
            response = invoke(requestnew PublishResultStaxUnmarshaller(), executionContext);
            return response.getAwsResponse();
        } finally {
            
            endClientExecution(awsRequestMetricsrequestresponse);
        }
    }
    
    

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.

Returns:
The response from the ListSubscriptions service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
        return listSubscriptions(new ListSubscriptionsRequest());
    }
    
    

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.

Returns:
The response from the ListTopics service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
        return listTopics(new ListTopicsRequest());
    }
    
    

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 .

Returns:
The response from the ListPlatformApplications service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
    }
    
    

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

Parameters:
topicArn The ARN of the topic for which you wish to confirm a subscription.
token Short-lived token sent to an endpoint during the Subscribe action.
authenticateOnUnsubscribe Disallows unauthenticated unsubscribes of the subscription. If the value of this parameter is true and the request has an AWS signature, then only the topic owner and the subscription owner can unsubscribe the endpoint. The unsubscribe action requires AWS authentication.
Returns:
The response from the ConfirmSubscription service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.SubscriptionLimitExceededException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
    public ConfirmSubscriptionResult confirmSubscription(String topicArnString tokenString authenticateOnUnsubscribe) {
        ConfirmSubscriptionRequest confirmSubscriptionRequest = new ConfirmSubscriptionRequest();
        confirmSubscriptionRequest.setTopicArn(topicArn);
        confirmSubscriptionRequest.setToken(token);
        confirmSubscriptionRequest.setAuthenticateOnUnsubscribe(authenticateOnUnsubscribe);
        return confirmSubscription(confirmSubscriptionRequest);
    }
    
    

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

Parameters:
topicArn The ARN of the topic for which you wish to confirm a subscription.
token Short-lived token sent to an endpoint during the Subscribe action.
Returns:
The response from the ConfirmSubscription service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.SubscriptionLimitExceededException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
    public ConfirmSubscriptionResult confirmSubscription(String topicArnString token) {
        ConfirmSubscriptionRequest confirmSubscriptionRequest = new ConfirmSubscriptionRequest();
        confirmSubscriptionRequest.setTopicArn(topicArn);
        confirmSubscriptionRequest.setToken(token);
        return confirmSubscription(confirmSubscriptionRequest);
    }
    
    

Returns all of the properties of a topic. Topic properties returned might differ based on the authorization of the user.

Parameters:
topicArn The ARN of the topic whose properties you want to get.
Returns:
The response from the GetTopicAttributes service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
        GetTopicAttributesRequest getTopicAttributesRequest = new GetTopicAttributesRequest();
        getTopicAttributesRequest.setTopicArn(topicArn);
        return getTopicAttributes(getTopicAttributesRequest);
    }
    
    

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.

Parameters:
topicArn The ARN of the topic you want to subscribe to.
protocol The protocol you want to use. Supported protocols include:
  • http -- delivery of JSON-encoded message via HTTP POST
  • https -- delivery of JSON-encoded message via HTTPS POST
  • email -- delivery of message via SMTP
  • email-json -- delivery of JSON-encoded message via SMTP
  • sms -- delivery of message via SMS
  • sqs -- delivery of JSON-encoded message to an Amazon SQS queue
  • application -- delivery of JSON-encoded message to an EndpointArn for a mobile app and device.
endpoint The endpoint that you want to receive notifications. Endpoints vary by protocol:
  • For the http protocol, the endpoint is an URL beginning with "http://"
  • For the https protocol, the endpoint is a URL beginning with "https://"
  • For the email protocol, the endpoint is an email address
  • For the email-json protocol, the endpoint is an email address
  • For the sms protocol, the endpoint is a phone number of an SMS-enabled device
  • For the sqs protocol, the endpoint is the ARN of an Amazon SQS queue
  • For the application protocol, the endpoint is the EndpointArn of a mobile app and device.
Returns:
The response from the Subscribe service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.SubscriptionLimitExceededException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
    public SubscribeResult subscribe(String topicArnString protocolString endpoint) {
        SubscribeRequest subscribeRequest = new SubscribeRequest();
        subscribeRequest.setTopicArn(topicArn);
        subscribeRequest.setProtocol(protocol);
        subscribeRequest.setEndpoint(endpoint);
        return subscribe(subscribeRequest);
    }
    
    

Allows a topic owner to set an attribute of the topic to a new value.

Parameters:
topicArn The ARN of the topic to modify.
attributeName The name of the attribute you want to set. Only a subset of the topic's attributes are mutable.

Valid values: Policy | DisplayName | DeliveryPolicy

attributeValue The new value for the attribute.
Returns:
The response from the SetTopicAttributes service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
    public void setTopicAttributes(String topicArnString attributeNameString attributeValue) {
        SetTopicAttributesRequest setTopicAttributesRequest = new SetTopicAttributesRequest();
        setTopicAttributesRequest.setTopicArn(topicArn);
        setTopicAttributesRequest.setAttributeName(attributeName);
        setTopicAttributesRequest.setAttributeValue(attributeValue);
        setTopicAttributes(setTopicAttributesRequest);
    }
    
    

Removes a statement from a topic's access control policy.

Parameters:
topicArn The ARN of the topic whose access control policy you wish to modify.
label The unique label of the statement you want to remove.
Returns:
The response from the RemovePermission service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
    public void removePermission(String topicArnString label) {
        RemovePermissionRequest removePermissionRequest = new RemovePermissionRequest();
        removePermissionRequest.setTopicArn(topicArn);
        removePermissionRequest.setLabel(label);
        removePermission(removePermissionRequest);
    }
    
    

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.

Parameters:
nextToken Token returned by the previous ListSubscriptions request.
Returns:
The response from the ListSubscriptions service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
    public ListSubscriptionsResult listSubscriptions(String nextToken) {
        ListSubscriptionsRequest listSubscriptionsRequest = new ListSubscriptionsRequest();
        listSubscriptionsRequest.setNextToken(nextToken);
        return listSubscriptions(listSubscriptionsRequest);
    }
    
    

Allows a subscription owner to set an attribute of the topic to a new value.

Parameters:
subscriptionArn The ARN of the subscription to modify.
attributeName The name of the attribute you want to set. Only a subset of the subscriptions attributes are mutable.

Valid values: DeliveryPolicy | RawMessageDelivery

attributeValue The new value for the attribute in JSON format.
Returns:
The response from the SetSubscriptionAttributes service method, as returned by AmazonSNS.
Throws:
com.amazonaws.services.sns.model.NotFoundException
com.amazonaws.services.sns.model.AuthorizationErrorException
com.amazonaws.services.sns.model.InternalErrorException
com.amazonaws.services.sns.model.InvalidParameterException
com.amazonaws.AmazonClientException If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
com.amazonaws.AmazonServiceException If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.
    public void setSubscriptionAttributes(String subscriptionArnString attributeNameString attributeValue) {
        SetSubscriptionAttributesRequest setSubscriptionAttributesRequest = new SetSubscriptionAttributesRequest();
        setSubscriptionAttributesRequest.