/* * Copyright 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. */ /* * Do not modify this file. This file is generated from the sns-2010-03-31.normal.json service model. */ using System; using System.Collections.Generic; using System.Net; using Amazon.SimpleNotificationService.Model; using Amazon.SimpleNotificationService.Model.Internal.MarshallTransformations; using Amazon.SimpleNotificationService.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.SimpleNotificationService { /// /// Implementation for accessing SimpleNotificationService /// /// 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 the Amazon /// SNS product page. For detailed information about Amazon SNS features and their /// associated API calls, see the Amazon /// SNS Developer Guide. /// /// /// /// For information on the permissions you need to use this API, see Identity /// and access management in Amazon SNS in 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 partial class AmazonSimpleNotificationServiceClient : AmazonServiceClient, IAmazonSimpleNotificationService { private static IServiceMetadata serviceMetadata = new AmazonSimpleNotificationServiceMetadata(); #if BCL45 || AWS_ASYNC_ENUMERABLES_API private ISimpleNotificationServicePaginatorFactory _paginators; /// /// Paginators for the service /// public ISimpleNotificationServicePaginatorFactory Paginators { get { if (this._paginators == null) { this._paginators = new SimpleNotificationServicePaginatorFactory(this); } return this._paginators; } } #endif #region Constructors /// /// Constructs AmazonSimpleNotificationServiceClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// public AmazonSimpleNotificationServiceClient() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonSimpleNotificationServiceConfig()) { } /// /// Constructs AmazonSimpleNotificationServiceClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The region to connect. public AmazonSimpleNotificationServiceClient(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonSimpleNotificationServiceConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonSimpleNotificationServiceClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The AmazonSimpleNotificationServiceClient Configuration Object public AmazonSimpleNotificationServiceClient(AmazonSimpleNotificationServiceConfig config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonSimpleNotificationServiceClient with AWS Credentials /// /// AWS Credentials public AmazonSimpleNotificationServiceClient(AWSCredentials credentials) : this(credentials, new AmazonSimpleNotificationServiceConfig()) { } /// /// Constructs AmazonSimpleNotificationServiceClient with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonSimpleNotificationServiceClient(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonSimpleNotificationServiceConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonSimpleNotificationServiceClient with AWS Credentials and an /// AmazonSimpleNotificationServiceClient Configuration object. /// /// AWS Credentials /// The AmazonSimpleNotificationServiceClient Configuration Object public AmazonSimpleNotificationServiceClient(AWSCredentials credentials, AmazonSimpleNotificationServiceConfig clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonSimpleNotificationServiceClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonSimpleNotificationServiceClient(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonSimpleNotificationServiceConfig()) { } /// /// Constructs AmazonSimpleNotificationServiceClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonSimpleNotificationServiceClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonSimpleNotificationServiceConfig() {RegionEndpoint=region}) { } /// /// Constructs AmazonSimpleNotificationServiceClient with AWS Access Key ID, AWS Secret Key and an /// AmazonSimpleNotificationServiceClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonSimpleNotificationServiceClient Configuration Object public AmazonSimpleNotificationServiceClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonSimpleNotificationServiceConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonSimpleNotificationServiceClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonSimpleNotificationServiceClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonSimpleNotificationServiceConfig()) { } /// /// Constructs AmazonSimpleNotificationServiceClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The region to connect. public AmazonSimpleNotificationServiceClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonSimpleNotificationServiceConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonSimpleNotificationServiceClient with AWS Access Key ID, AWS Secret Key and an /// AmazonSimpleNotificationServiceClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonSimpleNotificationServiceClient Configuration Object public AmazonSimpleNotificationServiceClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonSimpleNotificationServiceConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// /// Customize the pipeline /// /// protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonSimpleNotificationServiceEndpointResolver()); } /// /// Capture metadata for the service. /// protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// /// Disposes the service client. /// protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region AddPermission /// /// Adds a statement to a topic's access control policy, granting access for the specified /// Amazon Web Services accounts to the specified actions. /// /// /// /// To remove the ability to change topic permissions, you must deny permissions to the /// AddPermission, RemovePermission, and SetTopicAttributes /// actions in your IAM policy. /// /// /// /// The ARN of the topic whose access control policy you wish to modify. /// A unique identifier for the new policy statement. /// The Amazon Web Services account IDs of the users (principals) who will be given access to the specified actions. The users must have Amazon Web Services account, but do not need to be signed up for this service. /// The action you want to allow for the specified principal(s). Valid values: Any Amazon SNS action name, for example Publish. /// /// The response from the AddPermission service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for AddPermission Operation public virtual AddPermissionResponse AddPermission(string topicArn, string label, List awsAccountId, List actionName) { var request = new AddPermissionRequest(); request.TopicArn = topicArn; request.Label = label; request.AWSAccountId = awsAccountId; request.ActionName = actionName; return AddPermission(request); } /// /// Adds a statement to a topic's access control policy, granting access for the specified /// Amazon Web Services accounts to the specified actions. /// /// /// /// To remove the ability to change topic permissions, you must deny permissions to the /// AddPermission, RemovePermission, and SetTopicAttributes /// actions in your IAM policy. /// /// /// /// Container for the necessary parameters to execute the AddPermission service method. /// /// The response from the AddPermission service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for AddPermission Operation public virtual AddPermissionResponse AddPermission(AddPermissionRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = AddPermissionRequestMarshaller.Instance; options.ResponseUnmarshaller = AddPermissionResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the AddPermission operation. /// /// /// Container for the necessary parameters to execute the AddPermission operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAddPermission /// operation. /// REST API Reference for AddPermission Operation public virtual IAsyncResult BeginAddPermission(AddPermissionRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = AddPermissionRequestMarshaller.Instance; options.ResponseUnmarshaller = AddPermissionResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the AddPermission operation. /// /// /// The IAsyncResult returned by the call to BeginAddPermission. /// /// Returns a AddPermissionResult from SimpleNotificationService. /// REST API Reference for AddPermission Operation public virtual AddPermissionResponse EndAddPermission(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region CheckIfPhoneNumberIsOptedOut /// /// Accepts a phone number and indicates whether the phone holder has opted out of receiving /// SMS messages from your Amazon Web Services 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. /// /// /// Container for the necessary parameters to execute the CheckIfPhoneNumberIsOptedOut service method. /// /// The response from the CheckIfPhoneNumberIsOptedOut service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the rate at which requests have been submitted for this action exceeds /// the limit for your Amazon Web Services account. /// /// REST API Reference for CheckIfPhoneNumberIsOptedOut Operation public virtual CheckIfPhoneNumberIsOptedOutResponse CheckIfPhoneNumberIsOptedOut(CheckIfPhoneNumberIsOptedOutRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CheckIfPhoneNumberIsOptedOutRequestMarshaller.Instance; options.ResponseUnmarshaller = CheckIfPhoneNumberIsOptedOutResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the CheckIfPhoneNumberIsOptedOut operation. /// /// /// Container for the necessary parameters to execute the CheckIfPhoneNumberIsOptedOut operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCheckIfPhoneNumberIsOptedOut /// operation. /// REST API Reference for CheckIfPhoneNumberIsOptedOut Operation public virtual IAsyncResult BeginCheckIfPhoneNumberIsOptedOut(CheckIfPhoneNumberIsOptedOutRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = CheckIfPhoneNumberIsOptedOutRequestMarshaller.Instance; options.ResponseUnmarshaller = CheckIfPhoneNumberIsOptedOutResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the CheckIfPhoneNumberIsOptedOut operation. /// /// /// The IAsyncResult returned by the call to BeginCheckIfPhoneNumberIsOptedOut. /// /// Returns a CheckIfPhoneNumberIsOptedOutResult from SimpleNotificationService. /// REST API Reference for CheckIfPhoneNumberIsOptedOut Operation public virtual CheckIfPhoneNumberIsOptedOutResponse EndCheckIfPhoneNumberIsOptedOut(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region ConfirmSubscription /// /// 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". /// /// The ARN of the topic for which you wish to confirm a subscription. /// Short-lived token sent to an endpoint during the Subscribe action. /// Disallows unauthenticated unsubscribes of the subscription. If the value of this parameter is true and the request has an Amazon Web Services signature, then only the topic owner and the subscription owner can unsubscribe the endpoint. The unsubscribe action requires Amazon Web Services authentication. /// /// The response from the ConfirmSubscription service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates that the number of filter polices in your Amazon Web Services account exceeds /// the limit. To add more filter polices, submit an Amazon SNS Limit Increase case in /// the Amazon Web Services Support Center. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// /// Indicates that the customer already owns the maximum allowed number of subscriptions. /// /// REST API Reference for ConfirmSubscription Operation public virtual ConfirmSubscriptionResponse ConfirmSubscription(string topicArn, string token, string authenticateOnUnsubscribe) { var request = new ConfirmSubscriptionRequest(); request.TopicArn = topicArn; request.Token = token; request.AuthenticateOnUnsubscribe = authenticateOnUnsubscribe; return ConfirmSubscription(request); } /// /// 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". /// /// The ARN of the topic for which you wish to confirm a subscription. /// Short-lived token sent to an endpoint during the Subscribe action. /// /// The response from the ConfirmSubscription service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates that the number of filter polices in your Amazon Web Services account exceeds /// the limit. To add more filter polices, submit an Amazon SNS Limit Increase case in /// the Amazon Web Services Support Center. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// /// Indicates that the customer already owns the maximum allowed number of subscriptions. /// /// REST API Reference for ConfirmSubscription Operation public virtual ConfirmSubscriptionResponse ConfirmSubscription(string topicArn, string token) { var request = new ConfirmSubscriptionRequest(); request.TopicArn = topicArn; request.Token = token; return ConfirmSubscription(request); } /// /// 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". /// /// Container for the necessary parameters to execute the ConfirmSubscription service method. /// /// The response from the ConfirmSubscription service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates that the number of filter polices in your Amazon Web Services account exceeds /// the limit. To add more filter polices, submit an Amazon SNS Limit Increase case in /// the Amazon Web Services Support Center. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// /// Indicates that the customer already owns the maximum allowed number of subscriptions. /// /// REST API Reference for ConfirmSubscription Operation public virtual ConfirmSubscriptionResponse ConfirmSubscription(ConfirmSubscriptionRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ConfirmSubscriptionRequestMarshaller.Instance; options.ResponseUnmarshaller = ConfirmSubscriptionResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the ConfirmSubscription operation. /// /// /// Container for the necessary parameters to execute the ConfirmSubscription operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndConfirmSubscription /// operation. /// REST API Reference for ConfirmSubscription Operation public virtual IAsyncResult BeginConfirmSubscription(ConfirmSubscriptionRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ConfirmSubscriptionRequestMarshaller.Instance; options.ResponseUnmarshaller = ConfirmSubscriptionResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the ConfirmSubscription operation. /// /// /// The IAsyncResult returned by the call to BeginConfirmSubscription. /// /// Returns a ConfirmSubscriptionResult from SimpleNotificationService. /// REST API Reference for ConfirmSubscription Operation public virtual ConfirmSubscriptionResponse EndConfirmSubscription(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region CreatePlatformApplication /// /// Creates a platform application object for one of the supported push notification services, /// such as APNS and GCM (Firebase Cloud Messaging), to which devices and mobile apps /// may register. You must specify PlatformPrincipal and PlatformCredential /// attributes when using the CreatePlatformApplication action. /// /// /// /// PlatformPrincipal and PlatformCredential are received from /// the notification service. /// ///
  • /// /// For ADM, PlatformPrincipal is client id and /// PlatformCredential is client secret. /// ///
  • /// /// For Baidu, PlatformPrincipal is API key and /// PlatformCredential is secret key. /// ///
  • /// /// For APNS and APNS_SANDBOX using certificate credentials, /// PlatformPrincipal is SSL certificate and PlatformCredential /// is private key. /// ///
  • /// /// For APNS and APNS_SANDBOX using token credentials, PlatformPrincipal /// is signing key ID and PlatformCredential is signing /// key. /// ///
  • /// /// For GCM (Firebase Cloud Messaging), there is no PlatformPrincipal /// and the PlatformCredential is API key. /// ///
  • /// /// For MPNS, PlatformPrincipal is TLS certificate /// and PlatformCredential is private key. /// ///
  • /// /// For WNS, PlatformPrincipal is Package Security Identifier /// and PlatformCredential is secret key. /// ///
/// /// You can use the returned PlatformApplicationArn as an attribute for the /// CreatePlatformEndpoint action. /// ///
/// Container for the necessary parameters to execute the CreatePlatformApplication service method. /// /// The response from the CreatePlatformApplication service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// REST API Reference for CreatePlatformApplication Operation public virtual CreatePlatformApplicationResponse CreatePlatformApplication(CreatePlatformApplicationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreatePlatformApplicationRequestMarshaller.Instance; options.ResponseUnmarshaller = CreatePlatformApplicationResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the CreatePlatformApplication operation. /// /// /// Container for the necessary parameters to execute the CreatePlatformApplication operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreatePlatformApplication /// operation. /// REST API Reference for CreatePlatformApplication Operation public virtual IAsyncResult BeginCreatePlatformApplication(CreatePlatformApplicationRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = CreatePlatformApplicationRequestMarshaller.Instance; options.ResponseUnmarshaller = CreatePlatformApplicationResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the CreatePlatformApplication operation. /// /// /// The IAsyncResult returned by the call to BeginCreatePlatformApplication. /// /// Returns a CreatePlatformApplicationResult from SimpleNotificationService. /// REST API Reference for CreatePlatformApplication Operation public virtual CreatePlatformApplicationResponse EndCreatePlatformApplication(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region CreatePlatformEndpoint /// /// Creates an endpoint for a device and mobile app on one of the supported push notification /// services, such as GCM (Firebase Cloud Messaging) and APNS. CreatePlatformEndpoint /// requires the PlatformApplicationArn that is returned from CreatePlatformApplication. /// You can use the returned EndpointArn 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. /// /// /// Container for the necessary parameters to execute the CreatePlatformEndpoint service method. /// /// The response from the CreatePlatformEndpoint service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for CreatePlatformEndpoint Operation public virtual CreatePlatformEndpointResponse CreatePlatformEndpoint(CreatePlatformEndpointRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreatePlatformEndpointRequestMarshaller.Instance; options.ResponseUnmarshaller = CreatePlatformEndpointResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the CreatePlatformEndpoint operation. /// /// /// Container for the necessary parameters to execute the CreatePlatformEndpoint operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreatePlatformEndpoint /// operation. /// REST API Reference for CreatePlatformEndpoint Operation public virtual IAsyncResult BeginCreatePlatformEndpoint(CreatePlatformEndpointRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = CreatePlatformEndpointRequestMarshaller.Instance; options.ResponseUnmarshaller = CreatePlatformEndpointResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the CreatePlatformEndpoint operation. /// /// /// The IAsyncResult returned by the call to BeginCreatePlatformEndpoint. /// /// Returns a CreatePlatformEndpointResult from SimpleNotificationService. /// REST API Reference for CreatePlatformEndpoint Operation public virtual CreatePlatformEndpointResponse EndCreatePlatformEndpoint(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region CreateSMSSandboxPhoneNumber /// /// Adds a destination phone number to an Amazon Web Services account in the SMS sandbox /// and sends a one-time password (OTP) to that phone number. /// /// /// /// When you start using Amazon SNS to send SMS messages, your Amazon Web Services account /// is in the SMS sandbox. The SMS sandbox provides a safe environment for you /// to try Amazon SNS features without risking your reputation as an SMS sender. While /// your Amazon Web Services account is in the SMS sandbox, you can use all of the features /// of Amazon SNS. However, you can send SMS messages only to verified destination phone /// numbers. For more information, including how to move out of the sandbox to send messages /// without restrictions, see SMS /// sandbox in the Amazon SNS Developer Guide. /// /// /// Container for the necessary parameters to execute the CreateSMSSandboxPhoneNumber service method. /// /// The response from the CreateSMSSandboxPhoneNumber service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the specified phone number opted out of receiving SMS messages from /// your Amazon Web Services account. You can't send SMS messages to phone numbers that /// opt out. /// /// /// Indicates that the rate at which requests have been submitted for this action exceeds /// the limit for your Amazon Web Services account. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// REST API Reference for CreateSMSSandboxPhoneNumber Operation public virtual CreateSMSSandboxPhoneNumberResponse CreateSMSSandboxPhoneNumber(CreateSMSSandboxPhoneNumberRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateSMSSandboxPhoneNumberRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateSMSSandboxPhoneNumberResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the CreateSMSSandboxPhoneNumber operation. /// /// /// Container for the necessary parameters to execute the CreateSMSSandboxPhoneNumber operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateSMSSandboxPhoneNumber /// operation. /// REST API Reference for CreateSMSSandboxPhoneNumber Operation public virtual IAsyncResult BeginCreateSMSSandboxPhoneNumber(CreateSMSSandboxPhoneNumberRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = CreateSMSSandboxPhoneNumberRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateSMSSandboxPhoneNumberResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the CreateSMSSandboxPhoneNumber operation. /// /// /// The IAsyncResult returned by the call to BeginCreateSMSSandboxPhoneNumber. /// /// Returns a CreateSMSSandboxPhoneNumberResult from SimpleNotificationService. /// REST API Reference for CreateSMSSandboxPhoneNumber Operation public virtual CreateSMSSandboxPhoneNumberResponse EndCreateSMSSandboxPhoneNumber(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region CreateTopic /// /// Creates a topic to which notifications can be published. Users can create at most /// 100,000 standard topics (at most 1,000 FIFO topics). For more information, see Creating an /// Amazon SNS topic in the Amazon SNS Developer Guide. 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. /// /// The name of the topic you want to create. Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. For a FIFO (first-in-first-out) topic, the name must end with the .fifo suffix. /// /// The response from the CreateTopic service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Can't perform multiple operations on a tag simultaneously. Perform the operations /// sequentially. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// 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. /// /// /// Can't add more than 50 tags to a topic. /// /// /// The request doesn't comply with the IAM tag policy. Correct your request and then /// retry it. /// /// /// Indicates that the customer already owns the maximum allowed number of topics. /// /// REST API Reference for CreateTopic Operation public virtual CreateTopicResponse CreateTopic(string name) { var request = new CreateTopicRequest(); request.Name = name; return CreateTopic(request); } /// /// Creates a topic to which notifications can be published. Users can create at most /// 100,000 standard topics (at most 1,000 FIFO topics). For more information, see Creating an /// Amazon SNS topic in the Amazon SNS Developer Guide. 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. /// /// Container for the necessary parameters to execute the CreateTopic service method. /// /// The response from the CreateTopic service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Can't perform multiple operations on a tag simultaneously. Perform the operations /// sequentially. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// 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. /// /// /// Can't add more than 50 tags to a topic. /// /// /// The request doesn't comply with the IAM tag policy. Correct your request and then /// retry it. /// /// /// Indicates that the customer already owns the maximum allowed number of topics. /// /// REST API Reference for CreateTopic Operation public virtual CreateTopicResponse CreateTopic(CreateTopicRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateTopicRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateTopicResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the CreateTopic operation. /// /// /// Container for the necessary parameters to execute the CreateTopic operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateTopic /// operation. /// REST API Reference for CreateTopic Operation public virtual IAsyncResult BeginCreateTopic(CreateTopicRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = CreateTopicRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateTopicResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the CreateTopic operation. /// /// /// The IAsyncResult returned by the call to BeginCreateTopic. /// /// Returns a CreateTopicResult from SimpleNotificationService. /// REST API Reference for CreateTopic Operation public virtual CreateTopicResponse EndCreateTopic(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region DeleteEndpoint /// /// 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. /// /// /// Container for the necessary parameters to execute the DeleteEndpoint service method. /// /// The response from the DeleteEndpoint service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// REST API Reference for DeleteEndpoint Operation public virtual DeleteEndpointResponse DeleteEndpoint(DeleteEndpointRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteEndpointRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteEndpointResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the DeleteEndpoint operation. /// /// /// Container for the necessary parameters to execute the DeleteEndpoint operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteEndpoint /// operation. /// REST API Reference for DeleteEndpoint Operation public virtual IAsyncResult BeginDeleteEndpoint(DeleteEndpointRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteEndpointRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteEndpointResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the DeleteEndpoint operation. /// /// /// The IAsyncResult returned by the call to BeginDeleteEndpoint. /// /// Returns a DeleteEndpointResult from SimpleNotificationService. /// REST API Reference for DeleteEndpoint Operation public virtual DeleteEndpointResponse EndDeleteEndpoint(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region DeletePlatformApplication /// /// Deletes a platform application object for one of the supported push notification services, /// such as APNS and GCM (Firebase Cloud Messaging). For more information, see Using /// Amazon SNS Mobile Push Notifications. /// /// Container for the necessary parameters to execute the DeletePlatformApplication service method. /// /// The response from the DeletePlatformApplication service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// REST API Reference for DeletePlatformApplication Operation public virtual DeletePlatformApplicationResponse DeletePlatformApplication(DeletePlatformApplicationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeletePlatformApplicationRequestMarshaller.Instance; options.ResponseUnmarshaller = DeletePlatformApplicationResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the DeletePlatformApplication operation. /// /// /// Container for the necessary parameters to execute the DeletePlatformApplication operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeletePlatformApplication /// operation. /// REST API Reference for DeletePlatformApplication Operation public virtual IAsyncResult BeginDeletePlatformApplication(DeletePlatformApplicationRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = DeletePlatformApplicationRequestMarshaller.Instance; options.ResponseUnmarshaller = DeletePlatformApplicationResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the DeletePlatformApplication operation. /// /// /// The IAsyncResult returned by the call to BeginDeletePlatformApplication. /// /// Returns a DeletePlatformApplicationResult from SimpleNotificationService. /// REST API Reference for DeletePlatformApplication Operation public virtual DeletePlatformApplicationResponse EndDeletePlatformApplication(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region DeleteSMSSandboxPhoneNumber /// /// Deletes an Amazon Web Services account's verified or pending phone number from the /// SMS sandbox. /// /// /// /// When you start using Amazon SNS to send SMS messages, your Amazon Web Services account /// is in the SMS sandbox. The SMS sandbox provides a safe environment for you /// to try Amazon SNS features without risking your reputation as an SMS sender. While /// your Amazon Web Services account is in the SMS sandbox, you can use all of the features /// of Amazon SNS. However, you can send SMS messages only to verified destination phone /// numbers. For more information, including how to move out of the sandbox to send messages /// without restrictions, see SMS /// sandbox in the Amazon SNS Developer Guide. /// /// /// Container for the necessary parameters to execute the DeleteSMSSandboxPhoneNumber service method. /// /// The response from the DeleteSMSSandboxPhoneNumber service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Can’t perform the action on the specified resource. Make sure that the resource exists. /// /// /// Indicates that the rate at which requests have been submitted for this action exceeds /// the limit for your Amazon Web Services account. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// REST API Reference for DeleteSMSSandboxPhoneNumber Operation public virtual DeleteSMSSandboxPhoneNumberResponse DeleteSMSSandboxPhoneNumber(DeleteSMSSandboxPhoneNumberRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSMSSandboxPhoneNumberRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSMSSandboxPhoneNumberResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the DeleteSMSSandboxPhoneNumber operation. /// /// /// Container for the necessary parameters to execute the DeleteSMSSandboxPhoneNumber operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteSMSSandboxPhoneNumber /// operation. /// REST API Reference for DeleteSMSSandboxPhoneNumber Operation public virtual IAsyncResult BeginDeleteSMSSandboxPhoneNumber(DeleteSMSSandboxPhoneNumberRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSMSSandboxPhoneNumberRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSMSSandboxPhoneNumberResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the DeleteSMSSandboxPhoneNumber operation. /// /// /// The IAsyncResult returned by the call to BeginDeleteSMSSandboxPhoneNumber. /// /// Returns a DeleteSMSSandboxPhoneNumberResult from SimpleNotificationService. /// REST API Reference for DeleteSMSSandboxPhoneNumber Operation public virtual DeleteSMSSandboxPhoneNumberResponse EndDeleteSMSSandboxPhoneNumber(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region DeleteTopic /// /// 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. /// /// The ARN of the topic you want to delete. /// /// The response from the DeleteTopic service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Can't perform multiple operations on a tag simultaneously. Perform the operations /// sequentially. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// /// 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. /// /// /// The request doesn't comply with the IAM tag policy. Correct your request and then /// retry it. /// /// REST API Reference for DeleteTopic Operation public virtual DeleteTopicResponse DeleteTopic(string topicArn) { var request = new DeleteTopicRequest(); request.TopicArn = topicArn; return DeleteTopic(request); } /// /// 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. /// /// Container for the necessary parameters to execute the DeleteTopic service method. /// /// The response from the DeleteTopic service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Can't perform multiple operations on a tag simultaneously. Perform the operations /// sequentially. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// /// 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. /// /// /// The request doesn't comply with the IAM tag policy. Correct your request and then /// retry it. /// /// REST API Reference for DeleteTopic Operation public virtual DeleteTopicResponse DeleteTopic(DeleteTopicRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteTopicRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteTopicResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the DeleteTopic operation. /// /// /// Container for the necessary parameters to execute the DeleteTopic operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteTopic /// operation. /// REST API Reference for DeleteTopic Operation public virtual IAsyncResult BeginDeleteTopic(DeleteTopicRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteTopicRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteTopicResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the DeleteTopic operation. /// /// /// The IAsyncResult returned by the call to BeginDeleteTopic. /// /// Returns a DeleteTopicResult from SimpleNotificationService. /// REST API Reference for DeleteTopic Operation public virtual DeleteTopicResponse EndDeleteTopic(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region GetDataProtectionPolicy /// /// Retrieves the specified inline DataProtectionPolicy document that is /// stored in the specified Amazon SNS topic. /// /// Container for the necessary parameters to execute the GetDataProtectionPolicy service method. /// /// The response from the GetDataProtectionPolicy service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for GetDataProtectionPolicy Operation public virtual GetDataProtectionPolicyResponse GetDataProtectionPolicy(GetDataProtectionPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetDataProtectionPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetDataProtectionPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the GetDataProtectionPolicy operation. /// /// /// Container for the necessary parameters to execute the GetDataProtectionPolicy operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetDataProtectionPolicy /// operation. /// REST API Reference for GetDataProtectionPolicy Operation public virtual IAsyncResult BeginGetDataProtectionPolicy(GetDataProtectionPolicyRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = GetDataProtectionPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetDataProtectionPolicyResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the GetDataProtectionPolicy operation. /// /// /// The IAsyncResult returned by the call to BeginGetDataProtectionPolicy. /// /// Returns a GetDataProtectionPolicyResult from SimpleNotificationService. /// REST API Reference for GetDataProtectionPolicy Operation public virtual GetDataProtectionPolicyResponse EndGetDataProtectionPolicy(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region GetEndpointAttributes /// /// Retrieves the endpoint attributes for a device on one of the supported push notification /// services, such as GCM (Firebase Cloud Messaging) and APNS. For more information, see /// Using Amazon /// SNS Mobile Push Notifications. /// /// Container for the necessary parameters to execute the GetEndpointAttributes service method. /// /// The response from the GetEndpointAttributes service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for GetEndpointAttributes Operation public virtual GetEndpointAttributesResponse GetEndpointAttributes(GetEndpointAttributesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetEndpointAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = GetEndpointAttributesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the GetEndpointAttributes operation. /// /// /// Container for the necessary parameters to execute the GetEndpointAttributes operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetEndpointAttributes /// operation. /// REST API Reference for GetEndpointAttributes Operation public virtual IAsyncResult BeginGetEndpointAttributes(GetEndpointAttributesRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = GetEndpointAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = GetEndpointAttributesResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the GetEndpointAttributes operation. /// /// /// The IAsyncResult returned by the call to BeginGetEndpointAttributes. /// /// Returns a GetEndpointAttributesResult from SimpleNotificationService. /// REST API Reference for GetEndpointAttributes Operation public virtual GetEndpointAttributesResponse EndGetEndpointAttributes(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region GetPlatformApplicationAttributes /// /// Retrieves the attributes of the platform application object for the supported push /// notification services, such as APNS and GCM (Firebase Cloud Messaging). For more information, /// see Using Amazon /// SNS Mobile Push Notifications. /// /// Container for the necessary parameters to execute the GetPlatformApplicationAttributes service method. /// /// The response from the GetPlatformApplicationAttributes service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for GetPlatformApplicationAttributes Operation public virtual GetPlatformApplicationAttributesResponse GetPlatformApplicationAttributes(GetPlatformApplicationAttributesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetPlatformApplicationAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = GetPlatformApplicationAttributesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the GetPlatformApplicationAttributes operation. /// /// /// Container for the necessary parameters to execute the GetPlatformApplicationAttributes operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetPlatformApplicationAttributes /// operation. /// REST API Reference for GetPlatformApplicationAttributes Operation public virtual IAsyncResult BeginGetPlatformApplicationAttributes(GetPlatformApplicationAttributesRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = GetPlatformApplicationAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = GetPlatformApplicationAttributesResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the GetPlatformApplicationAttributes operation. /// /// /// The IAsyncResult returned by the call to BeginGetPlatformApplicationAttributes. /// /// Returns a GetPlatformApplicationAttributesResult from SimpleNotificationService. /// REST API Reference for GetPlatformApplicationAttributes Operation public virtual GetPlatformApplicationAttributesResponse EndGetPlatformApplicationAttributes(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region GetSMSAttributes /// /// Returns the settings for sending SMS messages from your Amazon Web Services account. /// /// /// /// These settings are set with the SetSMSAttributes action. /// /// /// Container for the necessary parameters to execute the GetSMSAttributes service method. /// /// The response from the GetSMSAttributes service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the rate at which requests have been submitted for this action exceeds /// the limit for your Amazon Web Services account. /// /// REST API Reference for GetSMSAttributes Operation public virtual GetSMSAttributesResponse GetSMSAttributes(GetSMSAttributesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetSMSAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSMSAttributesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the GetSMSAttributes operation. /// /// /// Container for the necessary parameters to execute the GetSMSAttributes operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetSMSAttributes /// operation. /// REST API Reference for GetSMSAttributes Operation public virtual IAsyncResult BeginGetSMSAttributes(GetSMSAttributesRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = GetSMSAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSMSAttributesResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the GetSMSAttributes operation. /// /// /// The IAsyncResult returned by the call to BeginGetSMSAttributes. /// /// Returns a GetSMSAttributesResult from SimpleNotificationService. /// REST API Reference for GetSMSAttributes Operation public virtual GetSMSAttributesResponse EndGetSMSAttributes(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region GetSMSSandboxAccountStatus /// /// Retrieves the SMS sandbox status for the calling Amazon Web Services account in the /// target Amazon Web Services Region. /// /// /// /// When you start using Amazon SNS to send SMS messages, your Amazon Web Services account /// is in the SMS sandbox. The SMS sandbox provides a safe environment for you /// to try Amazon SNS features without risking your reputation as an SMS sender. While /// your Amazon Web Services account is in the SMS sandbox, you can use all of the features /// of Amazon SNS. However, you can send SMS messages only to verified destination phone /// numbers. For more information, including how to move out of the sandbox to send messages /// without restrictions, see SMS /// sandbox in the Amazon SNS Developer Guide. /// /// /// Container for the necessary parameters to execute the GetSMSSandboxAccountStatus service method. /// /// The response from the GetSMSSandboxAccountStatus service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that the rate at which requests have been submitted for this action exceeds /// the limit for your Amazon Web Services account. /// /// REST API Reference for GetSMSSandboxAccountStatus Operation public virtual GetSMSSandboxAccountStatusResponse GetSMSSandboxAccountStatus(GetSMSSandboxAccountStatusRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetSMSSandboxAccountStatusRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSMSSandboxAccountStatusResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the GetSMSSandboxAccountStatus operation. /// /// /// Container for the necessary parameters to execute the GetSMSSandboxAccountStatus operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetSMSSandboxAccountStatus /// operation. /// REST API Reference for GetSMSSandboxAccountStatus Operation public virtual IAsyncResult BeginGetSMSSandboxAccountStatus(GetSMSSandboxAccountStatusRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = GetSMSSandboxAccountStatusRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSMSSandboxAccountStatusResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the GetSMSSandboxAccountStatus operation. /// /// /// The IAsyncResult returned by the call to BeginGetSMSSandboxAccountStatus. /// /// Returns a GetSMSSandboxAccountStatusResult from SimpleNotificationService. /// REST API Reference for GetSMSSandboxAccountStatus Operation public virtual GetSMSSandboxAccountStatusResponse EndGetSMSSandboxAccountStatus(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region GetSubscriptionAttributes /// /// Returns all of the properties of a subscription. /// /// The ARN of the subscription whose properties you want to get. /// /// The response from the GetSubscriptionAttributes service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for GetSubscriptionAttributes Operation public virtual GetSubscriptionAttributesResponse GetSubscriptionAttributes(string subscriptionArn) { var request = new GetSubscriptionAttributesRequest(); request.SubscriptionArn = subscriptionArn; return GetSubscriptionAttributes(request); } /// /// Returns all of the properties of a subscription. /// /// Container for the necessary parameters to execute the GetSubscriptionAttributes service method. /// /// The response from the GetSubscriptionAttributes service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for GetSubscriptionAttributes Operation public virtual GetSubscriptionAttributesResponse GetSubscriptionAttributes(GetSubscriptionAttributesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetSubscriptionAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSubscriptionAttributesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the GetSubscriptionAttributes operation. /// /// /// Container for the necessary parameters to execute the GetSubscriptionAttributes operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetSubscriptionAttributes /// operation. /// REST API Reference for GetSubscriptionAttributes Operation public virtual IAsyncResult BeginGetSubscriptionAttributes(GetSubscriptionAttributesRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = GetSubscriptionAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSubscriptionAttributesResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the GetSubscriptionAttributes operation. /// /// /// The IAsyncResult returned by the call to BeginGetSubscriptionAttributes. /// /// Returns a GetSubscriptionAttributesResult from SimpleNotificationService. /// REST API Reference for GetSubscriptionAttributes Operation public virtual GetSubscriptionAttributesResponse EndGetSubscriptionAttributes(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region GetTopicAttributes /// /// Returns all of the properties of a topic. Topic properties returned might differ based /// on the authorization of the user. /// /// The ARN of the topic whose properties you want to get. /// /// The response from the GetTopicAttributes service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for GetTopicAttributes Operation public virtual GetTopicAttributesResponse GetTopicAttributes(string topicArn) { var request = new GetTopicAttributesRequest(); request.TopicArn = topicArn; return GetTopicAttributes(request); } /// /// Returns all of the properties of a topic. Topic properties returned might differ based /// on the authorization of the user. /// /// Container for the necessary parameters to execute the GetTopicAttributes service method. /// /// The response from the GetTopicAttributes service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for GetTopicAttributes Operation public virtual GetTopicAttributesResponse GetTopicAttributes(GetTopicAttributesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetTopicAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = GetTopicAttributesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the GetTopicAttributes operation. /// /// /// Container for the necessary parameters to execute the GetTopicAttributes operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetTopicAttributes /// operation. /// REST API Reference for GetTopicAttributes Operation public virtual IAsyncResult BeginGetTopicAttributes(GetTopicAttributesRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = GetTopicAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = GetTopicAttributesResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the GetTopicAttributes operation. /// /// /// The IAsyncResult returned by the call to BeginGetTopicAttributes. /// /// Returns a GetTopicAttributesResult from SimpleNotificationService. /// REST API Reference for GetTopicAttributes Operation public virtual GetTopicAttributesResponse EndGetTopicAttributes(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region ListEndpointsByPlatformApplication /// /// Lists the endpoints and endpoint attributes for devices in a supported push notification /// service, such as GCM (Firebase Cloud Messaging) 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). /// /// /// Container for the necessary parameters to execute the ListEndpointsByPlatformApplication service method. /// /// The response from the ListEndpointsByPlatformApplication service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for ListEndpointsByPlatformApplication Operation public virtual ListEndpointsByPlatformApplicationResponse ListEndpointsByPlatformApplication(ListEndpointsByPlatformApplicationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListEndpointsByPlatformApplicationRequestMarshaller.Instance; options.ResponseUnmarshaller = ListEndpointsByPlatformApplicationResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the ListEndpointsByPlatformApplication operation. /// /// /// Container for the necessary parameters to execute the ListEndpointsByPlatformApplication operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListEndpointsByPlatformApplication /// operation. /// REST API Reference for ListEndpointsByPlatformApplication Operation public virtual IAsyncResult BeginListEndpointsByPlatformApplication(ListEndpointsByPlatformApplicationRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListEndpointsByPlatformApplicationRequestMarshaller.Instance; options.ResponseUnmarshaller = ListEndpointsByPlatformApplicationResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the ListEndpointsByPlatformApplication operation. /// /// /// The IAsyncResult returned by the call to BeginListEndpointsByPlatformApplication. /// /// Returns a ListEndpointsByPlatformApplicationResult from SimpleNotificationService. /// REST API Reference for ListEndpointsByPlatformApplication Operation public virtual ListEndpointsByPlatformApplicationResponse EndListEndpointsByPlatformApplication(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region ListOriginationNumbers /// /// Lists the calling Amazon Web Services account's dedicated origination numbers and /// their metadata. For more information about origination numbers, see Origination /// numbers in the Amazon SNS Developer Guide. /// /// Container for the necessary parameters to execute the ListOriginationNumbers service method. /// /// The response from the ListOriginationNumbers service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the rate at which requests have been submitted for this action exceeds /// the limit for your Amazon Web Services account. /// /// /// Indicates that a parameter in the request is invalid. /// /// REST API Reference for ListOriginationNumbers Operation public virtual ListOriginationNumbersResponse ListOriginationNumbers(ListOriginationNumbersRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListOriginationNumbersRequestMarshaller.Instance; options.ResponseUnmarshaller = ListOriginationNumbersResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the ListOriginationNumbers operation. /// /// /// Container for the necessary parameters to execute the ListOriginationNumbers operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListOriginationNumbers /// operation. /// REST API Reference for ListOriginationNumbers Operation public virtual IAsyncResult BeginListOriginationNumbers(ListOriginationNumbersRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListOriginationNumbersRequestMarshaller.Instance; options.ResponseUnmarshaller = ListOriginationNumbersResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the ListOriginationNumbers operation. /// /// /// The IAsyncResult returned by the call to BeginListOriginationNumbers. /// /// Returns a ListOriginationNumbersResult from SimpleNotificationService. /// REST API Reference for ListOriginationNumbers Operation public virtual ListOriginationNumbersResponse EndListOriginationNumbers(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region ListPhoneNumbersOptedOut /// /// 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. /// /// /// Container for the necessary parameters to execute the ListPhoneNumbersOptedOut service method. /// /// The response from the ListPhoneNumbersOptedOut service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the rate at which requests have been submitted for this action exceeds /// the limit for your Amazon Web Services account. /// /// REST API Reference for ListPhoneNumbersOptedOut Operation public virtual ListPhoneNumbersOptedOutResponse ListPhoneNumbersOptedOut(ListPhoneNumbersOptedOutRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListPhoneNumbersOptedOutRequestMarshaller.Instance; options.ResponseUnmarshaller = ListPhoneNumbersOptedOutResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the ListPhoneNumbersOptedOut operation. /// /// /// Container for the necessary parameters to execute the ListPhoneNumbersOptedOut operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListPhoneNumbersOptedOut /// operation. /// REST API Reference for ListPhoneNumbersOptedOut Operation public virtual IAsyncResult BeginListPhoneNumbersOptedOut(ListPhoneNumbersOptedOutRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListPhoneNumbersOptedOutRequestMarshaller.Instance; options.ResponseUnmarshaller = ListPhoneNumbersOptedOutResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the ListPhoneNumbersOptedOut operation. /// /// /// The IAsyncResult returned by the call to BeginListPhoneNumbersOptedOut. /// /// Returns a ListPhoneNumbersOptedOutResult from SimpleNotificationService. /// REST API Reference for ListPhoneNumbersOptedOut Operation public virtual ListPhoneNumbersOptedOutResponse EndListPhoneNumbersOptedOut(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region ListPlatformApplications /// /// Lists the platform application objects for the supported push notification services, /// such as APNS and GCM (Firebase Cloud Messaging). 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). /// /// /// /// The response from the ListPlatformApplications service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// REST API Reference for ListPlatformApplications Operation public virtual ListPlatformApplicationsResponse ListPlatformApplications() { return ListPlatformApplications(new ListPlatformApplicationsRequest()); } /// /// Lists the platform application objects for the supported push notification services, /// such as APNS and GCM (Firebase Cloud Messaging). 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). /// /// /// Container for the necessary parameters to execute the ListPlatformApplications service method. /// /// The response from the ListPlatformApplications service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// REST API Reference for ListPlatformApplications Operation public virtual ListPlatformApplicationsResponse ListPlatformApplications(ListPlatformApplicationsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListPlatformApplicationsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListPlatformApplicationsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the ListPlatformApplications operation. /// /// /// Container for the necessary parameters to execute the ListPlatformApplications operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListPlatformApplications /// operation. /// REST API Reference for ListPlatformApplications Operation public virtual IAsyncResult BeginListPlatformApplications(ListPlatformApplicationsRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListPlatformApplicationsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListPlatformApplicationsResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the ListPlatformApplications operation. /// /// /// The IAsyncResult returned by the call to BeginListPlatformApplications. /// /// Returns a ListPlatformApplicationsResult from SimpleNotificationService. /// REST API Reference for ListPlatformApplications Operation public virtual ListPlatformApplicationsResponse EndListPlatformApplications(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region ListSMSSandboxPhoneNumbers /// /// Lists the calling Amazon Web Services account's current verified and pending destination /// phone numbers in the SMS sandbox. /// /// /// /// When you start using Amazon SNS to send SMS messages, your Amazon Web Services account /// is in the SMS sandbox. The SMS sandbox provides a safe environment for you /// to try Amazon SNS features without risking your reputation as an SMS sender. While /// your Amazon Web Services account is in the SMS sandbox, you can use all of the features /// of Amazon SNS. However, you can send SMS messages only to verified destination phone /// numbers. For more information, including how to move out of the sandbox to send messages /// without restrictions, see SMS /// sandbox in the Amazon SNS Developer Guide. /// /// /// Container for the necessary parameters to execute the ListSMSSandboxPhoneNumbers service method. /// /// The response from the ListSMSSandboxPhoneNumbers service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Can’t perform the action on the specified resource. Make sure that the resource exists. /// /// /// Indicates that the rate at which requests have been submitted for this action exceeds /// the limit for your Amazon Web Services account. /// /// REST API Reference for ListSMSSandboxPhoneNumbers Operation public virtual ListSMSSandboxPhoneNumbersResponse ListSMSSandboxPhoneNumbers(ListSMSSandboxPhoneNumbersRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListSMSSandboxPhoneNumbersRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSMSSandboxPhoneNumbersResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the ListSMSSandboxPhoneNumbers operation. /// /// /// Container for the necessary parameters to execute the ListSMSSandboxPhoneNumbers operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListSMSSandboxPhoneNumbers /// operation. /// REST API Reference for ListSMSSandboxPhoneNumbers Operation public virtual IAsyncResult BeginListSMSSandboxPhoneNumbers(ListSMSSandboxPhoneNumbersRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListSMSSandboxPhoneNumbersRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSMSSandboxPhoneNumbersResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the ListSMSSandboxPhoneNumbers operation. /// /// /// The IAsyncResult returned by the call to BeginListSMSSandboxPhoneNumbers. /// /// Returns a ListSMSSandboxPhoneNumbersResult from SimpleNotificationService. /// REST API Reference for ListSMSSandboxPhoneNumbers Operation public virtual ListSMSSandboxPhoneNumbersResponse EndListSMSSandboxPhoneNumbers(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region ListSubscriptions /// /// 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). /// /// /// /// The response from the ListSubscriptions service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// REST API Reference for ListSubscriptions Operation public virtual ListSubscriptionsResponse ListSubscriptions() { return ListSubscriptions(new ListSubscriptionsRequest()); } /// /// 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). /// /// /// Token returned by the previous ListSubscriptions request. /// /// The response from the ListSubscriptions service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// REST API Reference for ListSubscriptions Operation public virtual ListSubscriptionsResponse ListSubscriptions(string nextToken) { var request = new ListSubscriptionsRequest(); request.NextToken = nextToken; return ListSubscriptions(request); } /// /// 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). /// /// /// Container for the necessary parameters to execute the ListSubscriptions service method. /// /// The response from the ListSubscriptions service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// REST API Reference for ListSubscriptions Operation public virtual ListSubscriptionsResponse ListSubscriptions(ListSubscriptionsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListSubscriptionsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSubscriptionsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the ListSubscriptions operation. /// /// /// Container for the necessary parameters to execute the ListSubscriptions operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListSubscriptions /// operation. /// REST API Reference for ListSubscriptions Operation public virtual IAsyncResult BeginListSubscriptions(ListSubscriptionsRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListSubscriptionsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSubscriptionsResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the ListSubscriptions operation. /// /// /// The IAsyncResult returned by the call to BeginListSubscriptions. /// /// Returns a ListSubscriptionsResult from SimpleNotificationService. /// REST API Reference for ListSubscriptions Operation public virtual ListSubscriptionsResponse EndListSubscriptions(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region ListSubscriptionsByTopic /// /// 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). /// /// /// The ARN of the topic for which you wish to find subscriptions. /// Token returned by the previous ListSubscriptionsByTopic request. /// /// The response from the ListSubscriptionsByTopic service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for ListSubscriptionsByTopic Operation public virtual ListSubscriptionsByTopicResponse ListSubscriptionsByTopic(string topicArn, string nextToken) { var request = new ListSubscriptionsByTopicRequest(); request.TopicArn = topicArn; request.NextToken = nextToken; return ListSubscriptionsByTopic(request); } /// /// 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). /// /// /// The ARN of the topic for which you wish to find subscriptions. /// /// The response from the ListSubscriptionsByTopic service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for ListSubscriptionsByTopic Operation public virtual ListSubscriptionsByTopicResponse ListSubscriptionsByTopic(string topicArn) { var request = new ListSubscriptionsByTopicRequest(); request.TopicArn = topicArn; return ListSubscriptionsByTopic(request); } /// /// 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). /// /// /// Container for the necessary parameters to execute the ListSubscriptionsByTopic service method. /// /// The response from the ListSubscriptionsByTopic service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for ListSubscriptionsByTopic Operation public virtual ListSubscriptionsByTopicResponse ListSubscriptionsByTopic(ListSubscriptionsByTopicRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListSubscriptionsByTopicRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSubscriptionsByTopicResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the ListSubscriptionsByTopic operation. /// /// /// Container for the necessary parameters to execute the ListSubscriptionsByTopic operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListSubscriptionsByTopic /// operation. /// REST API Reference for ListSubscriptionsByTopic Operation public virtual IAsyncResult BeginListSubscriptionsByTopic(ListSubscriptionsByTopicRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListSubscriptionsByTopicRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSubscriptionsByTopicResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the ListSubscriptionsByTopic operation. /// /// /// The IAsyncResult returned by the call to BeginListSubscriptionsByTopic. /// /// Returns a ListSubscriptionsByTopicResult from SimpleNotificationService. /// REST API Reference for ListSubscriptionsByTopic Operation public virtual ListSubscriptionsByTopicResponse EndListSubscriptionsByTopic(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region ListTagsForResource /// /// 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. /// /// Container for the necessary parameters to execute the ListTagsForResource service method. /// /// The response from the ListTagsForResource service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Can't perform multiple operations on a tag simultaneously. Perform the operations /// sequentially. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Can’t perform the action on the specified resource. Make sure that the resource exists. /// /// /// The request doesn't comply with the IAM tag policy. Correct your request and then /// retry it. /// /// REST API Reference for ListTagsForResource Operation public virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the ListTagsForResource operation. /// /// /// Container for the necessary parameters to execute the ListTagsForResource operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListTagsForResource /// operation. /// REST API Reference for ListTagsForResource Operation public virtual IAsyncResult BeginListTagsForResource(ListTagsForResourceRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the ListTagsForResource operation. /// /// /// The IAsyncResult returned by the call to BeginListTagsForResource. /// /// Returns a ListTagsForResourceResult from SimpleNotificationService. /// REST API Reference for ListTagsForResource Operation public virtual ListTagsForResourceResponse EndListTagsForResource(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region ListTopics /// /// 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). /// /// /// /// The response from the ListTopics service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// REST API Reference for ListTopics Operation public virtual ListTopicsResponse ListTopics() { return ListTopics(new ListTopicsRequest()); } /// /// 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). /// /// /// Token returned by the previous ListTopics request. /// /// The response from the ListTopics service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// REST API Reference for ListTopics Operation public virtual ListTopicsResponse ListTopics(string nextToken) { var request = new ListTopicsRequest(); request.NextToken = nextToken; return ListTopics(request); } /// /// 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). /// /// /// Container for the necessary parameters to execute the ListTopics service method. /// /// The response from the ListTopics service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// REST API Reference for ListTopics Operation public virtual ListTopicsResponse ListTopics(ListTopicsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListTopicsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTopicsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the ListTopics operation. /// /// /// Container for the necessary parameters to execute the ListTopics operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListTopics /// operation. /// REST API Reference for ListTopics Operation public virtual IAsyncResult BeginListTopics(ListTopicsRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListTopicsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTopicsResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the ListTopics operation. /// /// /// The IAsyncResult returned by the call to BeginListTopics. /// /// Returns a ListTopicsResult from SimpleNotificationService. /// REST API Reference for ListTopics Operation public virtual ListTopicsResponse EndListTopics(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region OptInPhoneNumber /// /// 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. /// /// /// Container for the necessary parameters to execute the OptInPhoneNumber service method. /// /// The response from the OptInPhoneNumber service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the rate at which requests have been submitted for this action exceeds /// the limit for your Amazon Web Services account. /// /// REST API Reference for OptInPhoneNumber Operation public virtual OptInPhoneNumberResponse OptInPhoneNumber(OptInPhoneNumberRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = OptInPhoneNumberRequestMarshaller.Instance; options.ResponseUnmarshaller = OptInPhoneNumberResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the OptInPhoneNumber operation. /// /// /// Container for the necessary parameters to execute the OptInPhoneNumber operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndOptInPhoneNumber /// operation. /// REST API Reference for OptInPhoneNumber Operation public virtual IAsyncResult BeginOptInPhoneNumber(OptInPhoneNumberRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = OptInPhoneNumberRequestMarshaller.Instance; options.ResponseUnmarshaller = OptInPhoneNumberResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the OptInPhoneNumber operation. /// /// /// The IAsyncResult returned by the call to BeginOptInPhoneNumber. /// /// Returns a OptInPhoneNumberResult from SimpleNotificationService. /// REST API Reference for OptInPhoneNumber Operation public virtual OptInPhoneNumberResponse EndOptInPhoneNumber(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region Publish /// /// Sends a message to an Amazon SNS topic, a text message (SMS message) directly to a /// phone number, or a message to a mobile platform endpoint (when you specify the TargetArn). /// /// /// /// 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 is saved and Amazon SNS immediately /// delivers it to subscribers. /// /// /// /// To use the Publish action for publishing 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. /// /// /// /// You can publish messages only to topics and endpoints in the same Amazon Web Services /// Region. /// /// /// /// The topic you want to publish to. If you don't specify a value for the TopicArn parameter, you must specify a value for the PhoneNumber or TargetArn parameters. /// The message you want to send. If you are publishing to a topic and you want to send the same message to all transport protocols, include the text of the message as a String value. If you want to send different messages for each transport protocol, set the value of the MessageStructure parameter to json and use a JSON object for the Message parameter.

Constraints:

  • With the exception of SMS, messages must be UTF-8 encoded strings and at most 256 KB in size (262,144 bytes, not 262,144 characters).
  • For SMS, each message can contain up to 140 characters. This character limit depends on the encoding schema. For example, an SMS message can contain 160 GSM characters, 140 ASCII characters, or 70 UCS-2 characters. If you publish a message that exceeds this size limit, Amazon SNS sends the message as multiple messages, each fitting within the size limit. Messages aren't truncated mid-word but are cut off at whole-word boundaries. The total size limit for a single SMS Publish action is 1,600 characters.
JSON-specific constraints:
  • Keys in the JSON object that correspond to supported transport protocols must have simple JSON string values.
  • The values will be parsed (unescaped) before they are used in outgoing messages.
  • Outbound notifications are JSON encoded (meaning that the characters will be reescaped for sending).
  • Values have a minimum length of 0 (the empty string, "", is allowed).
  • Values have a maximum length bounded by the overall message size (so, including multiple protocols may limit message sizes).
  • Non-string values will cause the key to be ignored.
  • Keys that do not correspond to supported transport protocols are ignored.
  • Duplicate keys are not allowed.
  • Failure to parse or validate any key or value in the message will cause the Publish call to return an error (no partial delivery).
/// /// The response from the Publish service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Exception error indicating endpoint disabled. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// The ciphertext references a key that doesn't exist or that you don't have access to. /// /// /// The request was rejected because the specified customer master key (CMK) isn't enabled. /// /// /// 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 Key Management Service /// Developer Guide. /// /// /// The request was rejected because the specified entity or resource can't be found. /// /// /// The Amazon Web Services access key ID needs a subscription for the service. /// /// /// The request was denied due to request throttling. For more information about throttling, /// see Limits /// in the Key Management Service Developer Guide. /// /// /// Indicates that the requested resource does not exist. /// /// /// Exception error indicating platform application disabled. /// /// /// Indicates that a parameter in the request is invalid. /// /// REST API Reference for Publish Operation public virtual PublishResponse Publish(string topicArn, string message) { var request = new PublishRequest(); request.TopicArn = topicArn; request.Message = message; return Publish(request); } /// /// Sends a message to an Amazon SNS topic, a text message (SMS message) directly to a /// phone number, or a message to a mobile platform endpoint (when you specify the TargetArn). /// /// /// /// 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 is saved and Amazon SNS immediately /// delivers it to subscribers. /// /// /// /// To use the Publish action for publishing 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. /// /// /// /// You can publish messages only to topics and endpoints in the same Amazon Web Services /// Region. /// /// /// /// The topic you want to publish to. If you don't specify a value for the TopicArn parameter, you must specify a value for the PhoneNumber or TargetArn parameters. /// The message you want to send. If you are publishing to a topic and you want to send the same message to all transport protocols, include the text of the message as a String value. If you want to send different messages for each transport protocol, set the value of the MessageStructure parameter to json and use a JSON object for the Message parameter.

Constraints:

  • With the exception of SMS, messages must be UTF-8 encoded strings and at most 256 KB in size (262,144 bytes, not 262,144 characters).
  • For SMS, each message can contain up to 140 characters. This character limit depends on the encoding schema. For example, an SMS message can contain 160 GSM characters, 140 ASCII characters, or 70 UCS-2 characters. If you publish a message that exceeds this size limit, Amazon SNS sends the message as multiple messages, each fitting within the size limit. Messages aren't truncated mid-word but are cut off at whole-word boundaries. The total size limit for a single SMS Publish action is 1,600 characters.
JSON-specific constraints:
  • Keys in the JSON object that correspond to supported transport protocols must have simple JSON string values.
  • The values will be parsed (unescaped) before they are used in outgoing messages.
  • Outbound notifications are JSON encoded (meaning that the characters will be reescaped for sending).
  • Values have a minimum length of 0 (the empty string, "", is allowed).
  • Values have a maximum length bounded by the overall message size (so, including multiple protocols may limit message sizes).
  • Non-string values will cause the key to be ignored.
  • Keys that do not correspond to supported transport protocols are ignored.
  • Duplicate keys are not allowed.
  • Failure to parse or validate any key or value in the message will cause the Publish call to return an error (no partial delivery).
/// Optional parameter to be used as the "Subject" line when the message is delivered to email endpoints. This field will also be included, if present, in the standard JSON messages delivered to other endpoints. Constraints: Subjects must be ASCII text that begins with a letter, number, or punctuation mark; must not include line breaks or control characters; and must be less than 100 characters long. /// /// The response from the Publish service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Exception error indicating endpoint disabled. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// The ciphertext references a key that doesn't exist or that you don't have access to. /// /// /// The request was rejected because the specified customer master key (CMK) isn't enabled. /// /// /// 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 Key Management Service /// Developer Guide. /// /// /// The request was rejected because the specified entity or resource can't be found. /// /// /// The Amazon Web Services access key ID needs a subscription for the service. /// /// /// The request was denied due to request throttling. For more information about throttling, /// see Limits /// in the Key Management Service Developer Guide. /// /// /// Indicates that the requested resource does not exist. /// /// /// Exception error indicating platform application disabled. /// /// /// Indicates that a parameter in the request is invalid. /// /// REST API Reference for Publish Operation public virtual PublishResponse Publish(string topicArn, string message, string subject) { var request = new PublishRequest(); request.TopicArn = topicArn; request.Message = message; request.Subject = subject; return Publish(request); } /// /// Sends a message to an Amazon SNS topic, a text message (SMS message) directly to a /// phone number, or a message to a mobile platform endpoint (when you specify the TargetArn). /// /// /// /// 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 is saved and Amazon SNS immediately /// delivers it to subscribers. /// /// /// /// To use the Publish action for publishing 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. /// /// /// /// You can publish messages only to topics and endpoints in the same Amazon Web Services /// Region. /// /// /// /// Container for the necessary parameters to execute the Publish service method. /// /// The response from the Publish service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Exception error indicating endpoint disabled. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// The ciphertext references a key that doesn't exist or that you don't have access to. /// /// /// The request was rejected because the specified customer master key (CMK) isn't enabled. /// /// /// 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 Key Management Service /// Developer Guide. /// /// /// The request was rejected because the specified entity or resource can't be found. /// /// /// The Amazon Web Services access key ID needs a subscription for the service. /// /// /// The request was denied due to request throttling. For more information about throttling, /// see Limits /// in the Key Management Service Developer Guide. /// /// /// Indicates that the requested resource does not exist. /// /// /// Exception error indicating platform application disabled. /// /// /// Indicates that a parameter in the request is invalid. /// /// REST API Reference for Publish Operation public virtual PublishResponse Publish(PublishRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PublishRequestMarshaller.Instance; options.ResponseUnmarshaller = PublishResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the Publish operation. /// /// /// Container for the necessary parameters to execute the Publish operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPublish /// operation. /// REST API Reference for Publish Operation public virtual IAsyncResult BeginPublish(PublishRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = PublishRequestMarshaller.Instance; options.ResponseUnmarshaller = PublishResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the Publish operation. /// /// /// The IAsyncResult returned by the call to BeginPublish. /// /// Returns a PublishResult from SimpleNotificationService. /// REST API Reference for Publish Operation public virtual PublishResponse EndPublish(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region PublishBatch /// /// Publishes up to ten messages to the specified topic. This is a batch version of Publish. /// For FIFO topics, multiple messages within a single batch are published in the order /// they are sent, and messages are deduplicated within the batch and across batches for /// 5 minutes. /// /// /// /// The result of publishing each message is reported individually in the response. Because /// the batch request can result in a combination of successful and unsuccessful actions, /// you should check for batch errors even when the call returns an HTTP status code of /// 200. /// /// /// /// The maximum allowed individual message size and the maximum total payload size (the /// sum of the individual lengths of all of the batched messages) are both 256 KB (262,144 /// bytes). /// /// /// /// Some actions take lists of parameters. These lists are specified using the param.n /// notation. Values of n are integers starting from 1. For example, a parameter /// list with two elements looks like this: /// /// /// /// &AttributeName.1=first /// /// /// /// &AttributeName.2=second /// /// /// /// If you send a batch message to a topic, Amazon SNS publishes the batch message to /// each endpoint that is subscribed to the topic. The format of the batch message depends /// on the notification protocol for each subscribed endpoint. /// /// /// /// When a messageId is returned, the batch message is saved and Amazon SNS /// immediately delivers the message to subscribers. /// /// /// Container for the necessary parameters to execute the PublishBatch service method. /// /// The response from the PublishBatch service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Two or more batch entries in the request have the same Id. /// /// /// The length of all the batch messages put together is more than the limit. /// /// /// The batch request doesn't contain any entries. /// /// /// Exception error indicating endpoint disabled. /// /// /// Indicates an internal service error. /// /// /// The Id of a batch entry in a batch request doesn't abide by the specification. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// The ciphertext references a key that doesn't exist or that you don't have access to. /// /// /// The request was rejected because the specified customer master key (CMK) isn't enabled. /// /// /// 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 Key Management Service /// Developer Guide. /// /// /// The request was rejected because the specified entity or resource can't be found. /// /// /// The Amazon Web Services access key ID needs a subscription for the service. /// /// /// The request was denied due to request throttling. For more information about throttling, /// see Limits /// in the Key Management Service Developer Guide. /// /// /// Indicates that the requested resource does not exist. /// /// /// Exception error indicating platform application disabled. /// /// /// The batch request contains more entries than permissible. /// /// /// Indicates that a parameter in the request is invalid. /// /// REST API Reference for PublishBatch Operation public virtual PublishBatchResponse PublishBatch(PublishBatchRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PublishBatchRequestMarshaller.Instance; options.ResponseUnmarshaller = PublishBatchResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the PublishBatch operation. /// /// /// Container for the necessary parameters to execute the PublishBatch operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPublishBatch /// operation. /// REST API Reference for PublishBatch Operation public virtual IAsyncResult BeginPublishBatch(PublishBatchRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = PublishBatchRequestMarshaller.Instance; options.ResponseUnmarshaller = PublishBatchResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the PublishBatch operation. /// /// /// The IAsyncResult returned by the call to BeginPublishBatch. /// /// Returns a PublishBatchResult from SimpleNotificationService. /// REST API Reference for PublishBatch Operation public virtual PublishBatchResponse EndPublishBatch(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region PutDataProtectionPolicy /// /// Adds or updates an inline policy document that is stored in the specified Amazon SNS /// topic. /// /// Container for the necessary parameters to execute the PutDataProtectionPolicy service method. /// /// The response from the PutDataProtectionPolicy service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for PutDataProtectionPolicy Operation public virtual PutDataProtectionPolicyResponse PutDataProtectionPolicy(PutDataProtectionPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutDataProtectionPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = PutDataProtectionPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the PutDataProtectionPolicy operation. /// /// /// Container for the necessary parameters to execute the PutDataProtectionPolicy operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutDataProtectionPolicy /// operation. /// REST API Reference for PutDataProtectionPolicy Operation public virtual IAsyncResult BeginPutDataProtectionPolicy(PutDataProtectionPolicyRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = PutDataProtectionPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = PutDataProtectionPolicyResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the PutDataProtectionPolicy operation. /// /// /// The IAsyncResult returned by the call to BeginPutDataProtectionPolicy. /// /// Returns a PutDataProtectionPolicyResult from SimpleNotificationService. /// REST API Reference for PutDataProtectionPolicy Operation public virtual PutDataProtectionPolicyResponse EndPutDataProtectionPolicy(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region RemovePermission /// /// Removes a statement from a topic's access control policy. /// /// /// /// To remove the ability to change topic permissions, you must deny permissions to the /// AddPermission, RemovePermission, and SetTopicAttributes /// actions in your IAM policy. /// /// /// /// The ARN of the topic whose access control policy you wish to modify. /// The unique label of the statement you want to remove. /// /// The response from the RemovePermission service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for RemovePermission Operation public virtual RemovePermissionResponse RemovePermission(string topicArn, string label) { var request = new RemovePermissionRequest(); request.TopicArn = topicArn; request.Label = label; return RemovePermission(request); } /// /// Removes a statement from a topic's access control policy. /// /// /// /// To remove the ability to change topic permissions, you must deny permissions to the /// AddPermission, RemovePermission, and SetTopicAttributes /// actions in your IAM policy. /// /// /// /// Container for the necessary parameters to execute the RemovePermission service method. /// /// The response from the RemovePermission service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for RemovePermission Operation public virtual RemovePermissionResponse RemovePermission(RemovePermissionRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = RemovePermissionRequestMarshaller.Instance; options.ResponseUnmarshaller = RemovePermissionResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the RemovePermission operation. /// /// /// Container for the necessary parameters to execute the RemovePermission operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndRemovePermission /// operation. /// REST API Reference for RemovePermission Operation public virtual IAsyncResult BeginRemovePermission(RemovePermissionRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = RemovePermissionRequestMarshaller.Instance; options.ResponseUnmarshaller = RemovePermissionResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the RemovePermission operation. /// /// /// The IAsyncResult returned by the call to BeginRemovePermission. /// /// Returns a RemovePermissionResult from SimpleNotificationService. /// REST API Reference for RemovePermission Operation public virtual RemovePermissionResponse EndRemovePermission(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region SetEndpointAttributes /// /// Sets the attributes for an endpoint for a device on one of the supported push notification /// services, such as GCM (Firebase Cloud Messaging) and APNS. For more information, see /// Using Amazon /// SNS Mobile Push Notifications. /// /// Container for the necessary parameters to execute the SetEndpointAttributes service method. /// /// The response from the SetEndpointAttributes service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for SetEndpointAttributes Operation public virtual SetEndpointAttributesResponse SetEndpointAttributes(SetEndpointAttributesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SetEndpointAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = SetEndpointAttributesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the SetEndpointAttributes operation. /// /// /// Container for the necessary parameters to execute the SetEndpointAttributes operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSetEndpointAttributes /// operation. /// REST API Reference for SetEndpointAttributes Operation public virtual IAsyncResult BeginSetEndpointAttributes(SetEndpointAttributesRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = SetEndpointAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = SetEndpointAttributesResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the SetEndpointAttributes operation. /// /// /// The IAsyncResult returned by the call to BeginSetEndpointAttributes. /// /// Returns a SetEndpointAttributesResult from SimpleNotificationService. /// REST API Reference for SetEndpointAttributes Operation public virtual SetEndpointAttributesResponse EndSetEndpointAttributes(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region SetPlatformApplicationAttributes /// /// Sets the attributes of the platform application object for the supported push notification /// services, such as APNS and GCM (Firebase Cloud Messaging). 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. /// /// Container for the necessary parameters to execute the SetPlatformApplicationAttributes service method. /// /// The response from the SetPlatformApplicationAttributes service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for SetPlatformApplicationAttributes Operation public virtual SetPlatformApplicationAttributesResponse SetPlatformApplicationAttributes(SetPlatformApplicationAttributesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SetPlatformApplicationAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = SetPlatformApplicationAttributesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the SetPlatformApplicationAttributes operation. /// /// /// Container for the necessary parameters to execute the SetPlatformApplicationAttributes operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSetPlatformApplicationAttributes /// operation. /// REST API Reference for SetPlatformApplicationAttributes Operation public virtual IAsyncResult BeginSetPlatformApplicationAttributes(SetPlatformApplicationAttributesRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = SetPlatformApplicationAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = SetPlatformApplicationAttributesResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the SetPlatformApplicationAttributes operation. /// /// /// The IAsyncResult returned by the call to BeginSetPlatformApplicationAttributes. /// /// Returns a SetPlatformApplicationAttributesResult from SimpleNotificationService. /// REST API Reference for SetPlatformApplicationAttributes Operation public virtual SetPlatformApplicationAttributesResponse EndSetPlatformApplicationAttributes(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region SetSMSAttributes /// /// 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 Publishing /// to a mobile phone in the Amazon SNS Developer Guide. /// /// /// /// To use this operation, you must grant the Amazon SNS service principal (sns.amazonaws.com) /// permission to perform the s3:ListBucket action. /// /// /// /// Container for the necessary parameters to execute the SetSMSAttributes service method. /// /// The response from the SetSMSAttributes service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the rate at which requests have been submitted for this action exceeds /// the limit for your Amazon Web Services account. /// /// REST API Reference for SetSMSAttributes Operation public virtual SetSMSAttributesResponse SetSMSAttributes(SetSMSAttributesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SetSMSAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = SetSMSAttributesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the SetSMSAttributes operation. /// /// /// Container for the necessary parameters to execute the SetSMSAttributes operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSetSMSAttributes /// operation. /// REST API Reference for SetSMSAttributes Operation public virtual IAsyncResult BeginSetSMSAttributes(SetSMSAttributesRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = SetSMSAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = SetSMSAttributesResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the SetSMSAttributes operation. /// /// /// The IAsyncResult returned by the call to BeginSetSMSAttributes. /// /// Returns a SetSMSAttributesResult from SimpleNotificationService. /// REST API Reference for SetSMSAttributes Operation public virtual SetSMSAttributesResponse EndSetSMSAttributes(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region SetSubscriptionAttributes /// /// Allows a subscription owner to set an attribute of the subscription to a new value. /// /// The ARN of the subscription to modify. /// A map of attributes with their corresponding values. The following lists the names, descriptions, and values of the special request parameters that this action uses:
  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
  • FilterPolicy – The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic.
  • FilterPolicyScope – This attribute lets you choose the filtering scope by using one of the following string value types:
    • MessageAttributes (default) – The filter is applied on the message attributes.
    • MessageBody – The filter is applied on the message body.
  • RawMessageDelivery – When set to true, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata.
  • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.
The following attribute applies only to Amazon Kinesis Data Firehose delivery stream subscriptions:
  • SubscriptionRoleArn – The ARN of the IAM role that has the following:
    • Permission to write to the Kinesis Data Firehose delivery stream
    • Amazon SNS listed as a trusted entity
    Specifying a valid ARN for this attribute is required for Kinesis Data Firehose delivery stream subscriptions. For more information, see Fanout to Kinesis Data Firehose delivery streams in the Amazon SNS Developer Guide.
/// The new value for the attribute in JSON format. /// /// The response from the SetSubscriptionAttributes service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates that the number of filter polices in your Amazon Web Services account exceeds /// the limit. To add more filter polices, submit an Amazon SNS Limit Increase case in /// the Amazon Web Services Support Center. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for SetSubscriptionAttributes Operation public virtual SetSubscriptionAttributesResponse SetSubscriptionAttributes(string subscriptionArn, string attributeName, string attributeValue) { var request = new SetSubscriptionAttributesRequest(); request.SubscriptionArn = subscriptionArn; request.AttributeName = attributeName; request.AttributeValue = attributeValue; return SetSubscriptionAttributes(request); } /// /// Allows a subscription owner to set an attribute of the subscription to a new value. /// /// Container for the necessary parameters to execute the SetSubscriptionAttributes service method. /// /// The response from the SetSubscriptionAttributes service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates that the number of filter polices in your Amazon Web Services account exceeds /// the limit. To add more filter polices, submit an Amazon SNS Limit Increase case in /// the Amazon Web Services Support Center. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for SetSubscriptionAttributes Operation public virtual SetSubscriptionAttributesResponse SetSubscriptionAttributes(SetSubscriptionAttributesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SetSubscriptionAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = SetSubscriptionAttributesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the SetSubscriptionAttributes operation. /// /// /// Container for the necessary parameters to execute the SetSubscriptionAttributes operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSetSubscriptionAttributes /// operation. /// REST API Reference for SetSubscriptionAttributes Operation public virtual IAsyncResult BeginSetSubscriptionAttributes(SetSubscriptionAttributesRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = SetSubscriptionAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = SetSubscriptionAttributesResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the SetSubscriptionAttributes operation. /// /// /// The IAsyncResult returned by the call to BeginSetSubscriptionAttributes. /// /// Returns a SetSubscriptionAttributesResult from SimpleNotificationService. /// REST API Reference for SetSubscriptionAttributes Operation public virtual SetSubscriptionAttributesResponse EndSetSubscriptionAttributes(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region SetTopicAttributes /// /// Allows a topic owner to set an attribute of the topic to a new value. /// /// /// /// To remove the ability to change topic permissions, you must deny permissions to the /// AddPermission, RemovePermission, and SetTopicAttributes /// actions in your IAM policy. /// /// /// /// The ARN of the topic to modify. /// A map of attributes with their corresponding values. The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes action uses:
  • ApplicationSuccessFeedbackRoleArn – Indicates failed message delivery status for an Amazon SNS topic that is subscribed to a platform application endpoint.
  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
  • DisplayName – The display name to use for a topic with SMS subscriptions.
  • Policy – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.
  • TracingConfig – Tracing mode of an Amazon SNS topic. By default TracingConfig is set to PassThrough, and the topic passes through the tracing header it receives from an Amazon SNS publisher to its subscriptions. If set to Active, Amazon SNS will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true. This is only supported on standard topics.
  • HTTP
    • HTTPSuccessFeedbackRoleArn – Indicates successful message delivery status for an Amazon SNS topic that is subscribed to an HTTP endpoint.
    • HTTPSuccessFeedbackSampleRate – Indicates percentage of successful messages to sample for an Amazon SNS topic that is subscribed to an HTTP endpoint.
    • HTTPFailureFeedbackRoleArn – Indicates failed message delivery status for an Amazon SNS topic that is subscribed to an HTTP endpoint.
  • Amazon Kinesis Data Firehose
    • FirehoseSuccessFeedbackRoleArn – Indicates successful message delivery status for an Amazon SNS topic that is subscribed to an Amazon Kinesis Data Firehose endpoint.
    • FirehoseSuccessFeedbackSampleRate – Indicates percentage of successful messages to sample for an Amazon SNS topic that is subscribed to an Amazon Kinesis Data Firehose endpoint.
    • FirehoseFailureFeedbackRoleArn – Indicates failed message delivery status for an Amazon SNS topic that is subscribed to an Amazon Kinesis Data Firehose endpoint.
  • Lambda
    • LambdaSuccessFeedbackRoleArn – Indicates successful message delivery status for an Amazon SNS topic that is subscribed to an Lambda endpoint.
    • LambdaSuccessFeedbackSampleRate – Indicates percentage of successful messages to sample for an Amazon SNS topic that is subscribed to an Lambda endpoint.
    • LambdaFailureFeedbackRoleArn – Indicates failed message delivery status for an Amazon SNS topic that is subscribed to an Lambda endpoint.
  • Platform application endpoint
    • ApplicationSuccessFeedbackRoleArn – Indicates successful message delivery status for an Amazon SNS topic that is subscribed to an Amazon Web Services application endpoint.
    • ApplicationSuccessFeedbackSampleRate – Indicates percentage of successful messages to sample for an Amazon SNS topic that is subscribed to an Amazon Web Services application endpoint.
    • ApplicationFailureFeedbackRoleArn – Indicates failed message delivery status for an Amazon SNS topic that is subscribed to an Amazon Web Services application endpoint.
    In addition to being able to configure topic attributes for message delivery status of notification messages sent to Amazon SNS application endpoints, you can also configure application attributes for the delivery status of push notification messages sent to push notification services. For example, For more information, see Using Amazon SNS Application Attributes for Message Delivery Status.
  • Amazon SQS
    • SQSSuccessFeedbackRoleArn – Indicates successful message delivery status for an Amazon SNS topic that is subscribed to an Amazon SQS endpoint.
    • SQSSuccessFeedbackSampleRate – Indicates percentage of successful messages to sample for an Amazon SNS topic that is subscribed to an Amazon SQS endpoint.
    • SQSFailureFeedbackRoleArn – Indicates failed message delivery status for an Amazon SNS topic that is subscribed to an Amazon SQS endpoint.
The <ENDPOINT>SuccessFeedbackRoleArn and <ENDPOINT>FailureFeedbackRoleArn attributes are used to give Amazon SNS write access to use CloudWatch Logs on your behalf. The <ENDPOINT>SuccessFeedbackSampleRate attribute is for specifying the sample rate percentage (0-100) of successfully delivered messages. After you configure the <ENDPOINT>FailureFeedbackRoleArn attribute, then all failed message deliveries generate CloudWatch Logs. The following attribute applies only to server-side-encryption:
  • KmsMasterKeyId – The ID of an Amazon Web Services managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the Key Management Service API Reference.
  • SignatureVersion – The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By default, SignatureVersion is set to 1.
The following attribute applies only to FIFO topics:
  • ContentBasedDeduplication – Enables content-based deduplication for FIFO topics.
    • By default, ContentBasedDeduplication is set to false. If you create a FIFO topic and this attribute is false, you must specify a value for the MessageDeduplicationId parameter for the Publish action.
    • When you set ContentBasedDeduplication to true, Amazon SNS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message). (Optional) To override the generated value, you can specify a value for the MessageDeduplicationId parameter for the Publish action.
/// The new value for the attribute. /// /// The response from the SetTopicAttributes service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for SetTopicAttributes Operation public virtual SetTopicAttributesResponse SetTopicAttributes(string topicArn, string attributeName, string attributeValue) { var request = new SetTopicAttributesRequest(); request.TopicArn = topicArn; request.AttributeName = attributeName; request.AttributeValue = attributeValue; return SetTopicAttributes(request); } /// /// Allows a topic owner to set an attribute of the topic to a new value. /// /// /// /// To remove the ability to change topic permissions, you must deny permissions to the /// AddPermission, RemovePermission, and SetTopicAttributes /// actions in your IAM policy. /// /// /// /// Container for the necessary parameters to execute the SetTopicAttributes service method. /// /// The response from the SetTopicAttributes service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for SetTopicAttributes Operation public virtual SetTopicAttributesResponse SetTopicAttributes(SetTopicAttributesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SetTopicAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = SetTopicAttributesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the SetTopicAttributes operation. /// /// /// Container for the necessary parameters to execute the SetTopicAttributes operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSetTopicAttributes /// operation. /// REST API Reference for SetTopicAttributes Operation public virtual IAsyncResult BeginSetTopicAttributes(SetTopicAttributesRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = SetTopicAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = SetTopicAttributesResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the SetTopicAttributes operation. /// /// /// The IAsyncResult returned by the call to BeginSetTopicAttributes. /// /// Returns a SetTopicAttributesResult from SimpleNotificationService. /// REST API Reference for SetTopicAttributes Operation public virtual SetTopicAttributesResponse EndSetTopicAttributes(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region Subscribe /// /// Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is HTTP/S or email, /// or if the endpoint and the topic are not in the same Amazon Web Services account, /// the endpoint owner must run the ConfirmSubscription action to confirm /// the subscription. /// /// /// /// You call the ConfirmSubscription action with the token from the subscription /// response. Confirmation tokens are valid for three days. /// /// /// /// This action is throttled at 100 transactions per second (TPS). /// /// /// The ARN of the topic you want to subscribe to. /// The protocol that 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
  • lambda – delivery of JSON-encoded message to an Lambda function
  • firehose – delivery of JSON-encoded message to an Amazon Kinesis Data Firehose delivery stream.
/// The endpoint that you want to receive notifications. Endpoints vary by protocol:
  • For the http protocol, the (public) endpoint is a URL beginning with http://.
  • For the https protocol, the (public) 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.
  • For the lambda protocol, the endpoint is the ARN of an Lambda function.
  • For the firehose protocol, the endpoint is the ARN of an Amazon Kinesis Data Firehose delivery stream.
/// /// The response from the Subscribe service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates that the number of filter polices in your Amazon Web Services account exceeds /// the limit. To add more filter polices, submit an Amazon SNS Limit Increase case in /// the Amazon Web Services Support Center. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// Indicates that the requested resource does not exist. /// /// /// Indicates that the customer already owns the maximum allowed number of subscriptions. /// /// REST API Reference for Subscribe Operation public virtual SubscribeResponse Subscribe(string topicArn, string protocol, string endpoint) { var request = new SubscribeRequest(); request.TopicArn = topicArn; request.Protocol = protocol; request.Endpoint = endpoint; return Subscribe(request); } /// /// Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is HTTP/S or email, /// or if the endpoint and the topic are not in the same Amazon Web Services account, /// the endpoint owner must run the ConfirmSubscription action to confirm /// the subscription. /// /// /// /// You call the ConfirmSubscription action with the token from the subscription /// response. Confirmation tokens are valid for three days. /// /// /// /// This action is throttled at 100 transactions per second (TPS). /// /// /// Container for the necessary parameters to execute the Subscribe service method. /// /// The response from the Subscribe service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates that the number of filter polices in your Amazon Web Services account exceeds /// the limit. To add more filter polices, submit an Amazon SNS Limit Increase case in /// the Amazon Web Services Support Center. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// Indicates that the requested resource does not exist. /// /// /// Indicates that the customer already owns the maximum allowed number of subscriptions. /// /// REST API Reference for Subscribe Operation public virtual SubscribeResponse Subscribe(SubscribeRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SubscribeRequestMarshaller.Instance; options.ResponseUnmarshaller = SubscribeResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the Subscribe operation. /// /// /// Container for the necessary parameters to execute the Subscribe operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSubscribe /// operation. /// REST API Reference for Subscribe Operation public virtual IAsyncResult BeginSubscribe(SubscribeRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = SubscribeRequestMarshaller.Instance; options.ResponseUnmarshaller = SubscribeResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the Subscribe operation. /// /// /// The IAsyncResult returned by the call to BeginSubscribe. /// /// Returns a SubscribeResult from SimpleNotificationService. /// REST API Reference for Subscribe Operation public virtual SubscribeResponse EndSubscribe(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region TagResource /// /// 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 Amazon Web Services account, per Amazon /// Web Services Region. If your application requires a higher throughput, file a technical /// support request. /// ///
///
/// Container for the necessary parameters to execute the TagResource service method. /// /// The response from the TagResource service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Can't perform multiple operations on a tag simultaneously. Perform the operations /// sequentially. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Can’t perform the action on the specified resource. Make sure that the resource exists. /// /// /// 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. /// /// /// Can't add more than 50 tags to a topic. /// /// /// The request doesn't comply with the IAM tag policy. Correct your request and then /// retry it. /// /// REST API Reference for TagResource Operation public virtual TagResourceResponse TagResource(TagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the TagResource operation. /// /// /// Container for the necessary parameters to execute the TagResource operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndTagResource /// operation. /// REST API Reference for TagResource Operation public virtual IAsyncResult BeginTagResource(TagResourceRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the TagResource operation. /// /// /// The IAsyncResult returned by the call to BeginTagResource. /// /// Returns a TagResourceResult from SimpleNotificationService. /// REST API Reference for TagResource Operation public virtual TagResourceResponse EndTagResource(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region Unsubscribe /// /// 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 Amazon /// Web Services 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. /// /// /// /// Amazon SQS queue subscriptions require authentication for deletion. Only the owner /// of the subscription, or the owner of the topic can unsubscribe using the required /// Amazon Web Services signature. /// /// /// /// This action is throttled at 100 transactions per second (TPS). /// /// /// The ARN of the subscription to be deleted. /// /// The response from the Unsubscribe service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for Unsubscribe Operation public virtual UnsubscribeResponse Unsubscribe(string subscriptionArn) { var request = new UnsubscribeRequest(); request.SubscriptionArn = subscriptionArn; return Unsubscribe(request); } /// /// 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 Amazon /// Web Services 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. /// /// /// /// Amazon SQS queue subscriptions require authentication for deletion. Only the owner /// of the subscription, or the owner of the topic can unsubscribe using the required /// Amazon Web Services signature. /// /// /// /// This action is throttled at 100 transactions per second (TPS). /// /// /// Container for the necessary parameters to execute the Unsubscribe service method. /// /// The response from the Unsubscribe service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// The credential signature isn't valid. You must use an HTTPS endpoint and sign your /// request using Signature Version 4. /// /// /// Indicates that the requested resource does not exist. /// /// REST API Reference for Unsubscribe Operation public virtual UnsubscribeResponse Unsubscribe(UnsubscribeRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UnsubscribeRequestMarshaller.Instance; options.ResponseUnmarshaller = UnsubscribeResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the Unsubscribe operation. /// /// /// Container for the necessary parameters to execute the Unsubscribe operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUnsubscribe /// operation. /// REST API Reference for Unsubscribe Operation public virtual IAsyncResult BeginUnsubscribe(UnsubscribeRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = UnsubscribeRequestMarshaller.Instance; options.ResponseUnmarshaller = UnsubscribeResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the Unsubscribe operation. /// /// /// The IAsyncResult returned by the call to BeginUnsubscribe. /// /// Returns a UnsubscribeResult from SimpleNotificationService. /// REST API Reference for Unsubscribe Operation public virtual UnsubscribeResponse EndUnsubscribe(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region UntagResource /// /// Remove tags from the specified Amazon SNS topic. For an overview, see Amazon /// SNS Tags in the Amazon SNS Developer Guide. /// /// Container for the necessary parameters to execute the UntagResource service method. /// /// The response from the UntagResource service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Can't perform multiple operations on a tag simultaneously. Perform the operations /// sequentially. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Can’t perform the action on the specified resource. Make sure that the resource exists. /// /// /// 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. /// /// /// Can't add more than 50 tags to a topic. /// /// /// The request doesn't comply with the IAM tag policy. Correct your request and then /// retry it. /// /// REST API Reference for UntagResource Operation public virtual UntagResourceResponse UntagResource(UntagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the UntagResource operation. /// /// /// Container for the necessary parameters to execute the UntagResource operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUntagResource /// operation. /// REST API Reference for UntagResource Operation public virtual IAsyncResult BeginUntagResource(UntagResourceRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the UntagResource operation. /// /// /// The IAsyncResult returned by the call to BeginUntagResource. /// /// Returns a UntagResourceResult from SimpleNotificationService. /// REST API Reference for UntagResource Operation public virtual UntagResourceResponse EndUntagResource(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region VerifySMSSandboxPhoneNumber /// /// Verifies a destination phone number with a one-time password (OTP) for the calling /// Amazon Web Services account. /// /// /// /// When you start using Amazon SNS to send SMS messages, your Amazon Web Services account /// is in the SMS sandbox. The SMS sandbox provides a safe environment for you /// to try Amazon SNS features without risking your reputation as an SMS sender. While /// your Amazon Web Services account is in the SMS sandbox, you can use all of the features /// of Amazon SNS. However, you can send SMS messages only to verified destination phone /// numbers. For more information, including how to move out of the sandbox to send messages /// without restrictions, see SMS /// sandbox in the Amazon SNS Developer Guide. /// /// /// Container for the necessary parameters to execute the VerifySMSSandboxPhoneNumber service method. /// /// The response from the VerifySMSSandboxPhoneNumber service method, as returned by SimpleNotificationService. /// /// Indicates that the user has been denied access to the requested resource. /// /// /// Indicates an internal service error. /// /// /// Indicates that a request parameter does not comply with the associated constraints. /// /// /// Can’t perform the action on the specified resource. Make sure that the resource exists. /// /// /// Indicates that the rate at which requests have been submitted for this action exceeds /// the limit for your Amazon Web Services account. /// /// /// Indicates that the one-time password (OTP) used for verification is invalid. /// /// REST API Reference for VerifySMSSandboxPhoneNumber Operation public virtual VerifySMSSandboxPhoneNumberResponse VerifySMSSandboxPhoneNumber(VerifySMSSandboxPhoneNumberRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = VerifySMSSandboxPhoneNumberRequestMarshaller.Instance; options.ResponseUnmarshaller = VerifySMSSandboxPhoneNumberResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the VerifySMSSandboxPhoneNumber operation. /// /// /// Container for the necessary parameters to execute the VerifySMSSandboxPhoneNumber operation on AmazonSimpleNotificationServiceClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndVerifySMSSandboxPhoneNumber /// operation. /// REST API Reference for VerifySMSSandboxPhoneNumber Operation public virtual IAsyncResult BeginVerifySMSSandboxPhoneNumber(VerifySMSSandboxPhoneNumberRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = VerifySMSSandboxPhoneNumberRequestMarshaller.Instance; options.ResponseUnmarshaller = VerifySMSSandboxPhoneNumberResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the VerifySMSSandboxPhoneNumber operation. /// /// /// The IAsyncResult returned by the call to BeginVerifySMSSandboxPhoneNumber. /// /// Returns a VerifySMSSandboxPhoneNumberResult from SimpleNotificationService. /// REST API Reference for VerifySMSSandboxPhoneNumber Operation public virtual VerifySMSSandboxPhoneNumberResponse EndVerifySMSSandboxPhoneNumber(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion } }