aws-sdk-sns 1.42.0 → 1.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,12 +22,17 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
29
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
30
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/signature_v4.rb'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
+ require 'aws-sdk-core/plugins/request_compression.rb'
33
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
34
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
35
+ require 'aws-sdk-core/plugins/sign.rb'
31
36
  require 'aws-sdk-core/plugins/protocols/query.rb'
32
37
 
33
38
  Aws::Plugins::GlobalConfiguration.add_identifier(:sns)
@@ -68,13 +73,19 @@ module Aws::SNS
68
73
  add_plugin(Aws::Plugins::ResponsePaging)
69
74
  add_plugin(Aws::Plugins::StubResponses)
70
75
  add_plugin(Aws::Plugins::IdempotencyToken)
76
+ add_plugin(Aws::Plugins::InvocationId)
71
77
  add_plugin(Aws::Plugins::JsonvalueConverter)
72
78
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
73
79
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
80
  add_plugin(Aws::Plugins::TransferEncoding)
75
81
  add_plugin(Aws::Plugins::HttpChecksum)
76
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
83
+ add_plugin(Aws::Plugins::RequestCompression)
84
+ add_plugin(Aws::Plugins::DefaultsMode)
85
+ add_plugin(Aws::Plugins::RecursionDetection)
86
+ add_plugin(Aws::Plugins::Sign)
77
87
  add_plugin(Aws::Plugins::Protocols::Query)
88
+ add_plugin(Aws::SNS::Plugins::Endpoints)
78
89
 
79
90
  # @overload initialize(options)
80
91
  # @param [Hash] options
@@ -119,7 +130,9 @@ module Aws::SNS
119
130
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
131
  # are very aggressive. Construct and pass an instance of
121
132
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
133
+ # enable retries and extended timeouts. Instance profile credential
134
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
135
+ # to true.
123
136
  #
124
137
  # @option options [required, String] :region
125
138
  # The AWS region to connect to. The configured `:region` is
@@ -173,14 +186,29 @@ module Aws::SNS
173
186
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
187
  # a clock skew correction and retry requests with skewed client clocks.
175
188
  #
189
+ # @option options [String] :defaults_mode ("legacy")
190
+ # See {Aws::DefaultsModeConfiguration} for a list of the
191
+ # accepted modes and the configuration defaults that are included.
192
+ #
176
193
  # @option options [Boolean] :disable_host_prefix_injection (false)
177
194
  # Set to true to disable SDK automatically adding host prefix
178
195
  # to default service endpoint when available.
179
196
  #
180
- # @option options [String] :endpoint
181
- # The client endpoint is normally constructed from the `:region`
182
- # option. You should only configure an `:endpoint` when connecting
183
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
197
+ # @option options [Boolean] :disable_request_compression (false)
198
+ # When set to 'true' the request body will not be compressed
199
+ # for supported operations.
200
+ #
201
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
202
+ # Normally you should not configure the `:endpoint` option
203
+ # directly. This is normally constructed from the `:region`
204
+ # option. Configuring `:endpoint` is normally reserved for
205
+ # connecting to test or custom endpoints. The endpoint should
206
+ # be a URI formatted like:
207
+ #
208
+ # 'http://example.com'
209
+ # 'https://example.com'
210
+ # 'http://example.com:123'
211
+ #
184
212
  #
185
213
  # @option options [Integer] :endpoint_cache_max_entries (1000)
186
214
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -197,6 +225,10 @@ module Aws::SNS
197
225
  # @option options [Boolean] :endpoint_discovery (false)
198
226
  # When set to `true`, endpoint discovery will be enabled for operations when available.
199
227
  #
228
+ # @option options [Boolean] :ignore_configured_endpoint_urls
229
+ # Setting to true disables use of endpoint URLs provided via environment
230
+ # variables and the shared configuration file.
231
+ #
200
232
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
201
233
  # The log formatter.
202
234
  #
@@ -217,6 +249,11 @@ module Aws::SNS
217
249
  # Used when loading credentials from the shared credentials file
218
250
  # at HOME/.aws/credentials. When not specified, 'default' is used.
219
251
  #
252
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
253
+ # The minimum size in bytes that triggers compression for request
254
+ # bodies. The value must be non-negative integer value between 0
255
+ # and 10485780 bytes inclusive.
256
+ #
220
257
  # @option options [Proc] :retry_backoff
221
258
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
222
259
  # This option is only used in the `legacy` retry mode.
@@ -262,6 +299,12 @@ module Aws::SNS
262
299
  # in the future.
263
300
  #
264
301
  #
302
+ # @option options [String] :sdk_ua_app_id
303
+ # A unique and opaque application ID that is appended to the
304
+ # User-Agent header as app/sdk_ua_app_id. It should have a
305
+ # maximum length of 50. This variable is sourced from environment
306
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
307
+ #
265
308
  # @option options [String] :secret_access_key
266
309
  #
267
310
  # @option options [String] :session_token
@@ -275,51 +318,94 @@ module Aws::SNS
275
318
  # ** Please note ** When response stubbing is enabled, no HTTP
276
319
  # requests are made, and retries are disabled.
277
320
  #
321
+ # @option options [Aws::TokenProvider] :token_provider
322
+ # A Bearer Token Provider. This can be an instance of any one of the
323
+ # following classes:
324
+ #
325
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
326
+ # tokens.
327
+ #
328
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
329
+ # access token generated from `aws login`.
330
+ #
331
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
332
+ # will be used to search for tokens configured for your profile in shared configuration files.
333
+ #
334
+ # @option options [Boolean] :use_dualstack_endpoint
335
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
336
+ # will be used if available.
337
+ #
338
+ # @option options [Boolean] :use_fips_endpoint
339
+ # When set to `true`, fips compatible endpoints will be used if available.
340
+ # When a `fips` region is used, the region is normalized and this config
341
+ # is set to `true`.
342
+ #
278
343
  # @option options [Boolean] :validate_params (true)
279
344
  # When `true`, request parameters are validated before
280
345
  # sending the request.
281
346
  #
282
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
283
- # requests through. Formatted like 'http://proxy.com:123'.
347
+ # @option options [Aws::SNS::EndpointProvider] :endpoint_provider
348
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::SNS::EndpointParameters`
284
349
  #
285
- # @option options [Float] :http_open_timeout (15) The number of
286
- # seconds to wait when opening a HTTP session before raising a
287
- # `Timeout::Error`.
350
+ # @option options [Float] :http_continue_timeout (1)
351
+ # The number of seconds to wait for a 100-continue response before sending the
352
+ # request body. This option has no effect unless the request has "Expect"
353
+ # header set to "100-continue". Defaults to `nil` which disables this
354
+ # behaviour. This value can safely be set per request on the session.
288
355
  #
289
- # @option options [Integer] :http_read_timeout (60) The default
290
- # number of seconds to wait for response data. This value can
291
- # safely be set per-request on the session.
356
+ # @option options [Float] :http_idle_timeout (5)
357
+ # The number of seconds a connection is allowed to sit idle before it
358
+ # is considered stale. Stale connections are closed and removed from the
359
+ # pool before making a request.
292
360
  #
293
- # @option options [Float] :http_idle_timeout (5) The number of
294
- # seconds a connection is allowed to sit idle before it is
295
- # considered stale. Stale connections are closed and removed
296
- # from the pool before making a request.
361
+ # @option options [Float] :http_open_timeout (15)
362
+ # The default number of seconds to wait for response data.
363
+ # This value can safely be set per-request on the session.
297
364
  #
298
- # @option options [Float] :http_continue_timeout (1) The number of
299
- # seconds to wait for a 100-continue response before sending the
300
- # request body. This option has no effect unless the request has
301
- # "Expect" header set to "100-continue". Defaults to `nil` which
302
- # disables this behaviour. This value can safely be set per
303
- # request on the session.
365
+ # @option options [URI::HTTP,String] :http_proxy
366
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
304
367
  #
305
- # @option options [Boolean] :http_wire_trace (false) When `true`,
306
- # HTTP debug output will be sent to the `:logger`.
368
+ # @option options [Float] :http_read_timeout (60)
369
+ # The default number of seconds to wait for response data.
370
+ # This value can safely be set per-request on the session.
307
371
  #
308
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
309
- # SSL peer certificates are verified when establishing a
310
- # connection.
372
+ # @option options [Boolean] :http_wire_trace (false)
373
+ # When `true`, HTTP debug output will be sent to the `:logger`.
311
374
  #
312
- # @option options [String] :ssl_ca_bundle Full path to the SSL
313
- # certificate authority bundle file that should be used when
314
- # verifying peer certificates. If you do not pass
315
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
316
- # will be used if available.
375
+ # @option options [Proc] :on_chunk_received
376
+ # When a Proc object is provided, it will be used as callback when each chunk
377
+ # of the response body is received. It provides three arguments: the chunk,
378
+ # the number of bytes received, and the total number of
379
+ # bytes in the response (or nil if the server did not send a `content-length`).
380
+ #
381
+ # @option options [Proc] :on_chunk_sent
382
+ # When a Proc object is provided, it will be used as callback when each chunk
383
+ # of the request body is sent. It provides three arguments: the chunk,
384
+ # the number of bytes read from the body, and the total number of
385
+ # bytes in the body.
317
386
  #
318
- # @option options [String] :ssl_ca_directory Full path of the
319
- # directory that contains the unbundled SSL certificate
387
+ # @option options [Boolean] :raise_response_errors (true)
388
+ # When `true`, response errors are raised.
389
+ #
390
+ # @option options [String] :ssl_ca_bundle
391
+ # Full path to the SSL certificate authority bundle file that should be used when
392
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
393
+ # `:ssl_ca_directory` the the system default will be used if available.
394
+ #
395
+ # @option options [String] :ssl_ca_directory
396
+ # Full path of the directory that contains the unbundled SSL certificate
320
397
  # authority files for verifying peer certificates. If you do
321
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
322
- # system default will be used if available.
398
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
399
+ # default will be used if available.
400
+ #
401
+ # @option options [String] :ssl_ca_store
402
+ # Sets the X509::Store to verify peer certificate.
403
+ #
404
+ # @option options [Float] :ssl_timeout
405
+ # Sets the SSL timeout in seconds
406
+ #
407
+ # @option options [Boolean] :ssl_verify_peer (true)
408
+ # When `true`, SSL peer certificates are verified when establishing a connection.
323
409
  #
324
410
  def initialize(*args)
325
411
  super
@@ -328,7 +414,14 @@ module Aws::SNS
328
414
  # @!group API Operations
329
415
 
330
416
  # Adds a statement to a topic's access control policy, granting access
331
- # for the specified accounts to the specified actions.
417
+ # for the specified Amazon Web Services accounts to the specified
418
+ # actions.
419
+ #
420
+ # <note markdown="1"> To remove the ability to change topic permissions, you must deny
421
+ # permissions to the `AddPermission`, `RemovePermission`, and
422
+ # `SetTopicAttributes` actions in your IAM policy.
423
+ #
424
+ # </note>
332
425
  #
333
426
  # @option params [required, String] :topic_arn
334
427
  # The ARN of the topic whose access control policy you wish to modify.
@@ -337,9 +430,10 @@ module Aws::SNS
337
430
  # A unique identifier for the new policy statement.
338
431
  #
339
432
  # @option params [required, Array<String>] :aws_account_id
340
- # The account IDs of the users (principals) who will be given access to
341
- # the specified actions. The users must have account, but do not need to
342
- # be signed up for this service.
433
+ # The Amazon Web Services account IDs of the users (principals) who will
434
+ # be given access to the specified actions. The users must have Amazon
435
+ # Web Services account, but do not need to be signed up for this
436
+ # service.
343
437
  #
344
438
  # @option params [required, Array<String>] :action_name
345
439
  # The action you want to allow for the specified principal(s).
@@ -367,8 +461,8 @@ module Aws::SNS
367
461
  end
368
462
 
369
463
  # Accepts a phone number and indicates whether the phone holder has
370
- # opted out of receiving SMS messages from your account. You cannot send
371
- # SMS messages to a number that is opted out.
464
+ # opted out of receiving SMS messages from your Amazon Web Services
465
+ # account. You cannot send SMS messages to a number that is opted out.
372
466
  #
373
467
  # To resume sending messages, you can opt in the number by using the
374
468
  # `OptInPhoneNumber` action.
@@ -452,22 +546,34 @@ module Aws::SNS
452
546
  # `PlatformPrincipal` and `PlatformCredential` are received from the
453
547
  # notification service.
454
548
  #
455
- # * For `ADM`, `PlatformPrincipal` is `client id` and
456
- # `PlatformCredential` is `client secret`.
549
+ # * For ADM, `PlatformPrincipal` is `client id` and `PlatformCredential`
550
+ # is `client secret`.
457
551
  #
458
- # * For `Baidu`, `PlatformPrincipal` is `API key` and
459
- # `PlatformCredential` is `secret key`.
552
+ # * For APNS and `APNS_SANDBOX` using certificate credentials,
553
+ # `PlatformPrincipal` is `SSL certificate` and `PlatformCredential` is
554
+ # `private key`.
555
+ #
556
+ # * For APNS and `APNS_SANDBOX` using token credentials,
557
+ # `PlatformPrincipal` is `signing key ID` and `PlatformCredential` is
558
+ # `signing key`.
559
+ #
560
+ # * For Baidu, `PlatformPrincipal` is `API key` and `PlatformCredential`
561
+ # is `secret key`.
460
562
  #
461
- # * For `APNS` and `APNS_SANDBOX`, `PlatformPrincipal` is `SSL
462
- # certificate` and `PlatformCredential` is `private key`.
563
+ # * For GCM (Firebase Cloud Messaging) using key credentials, there is
564
+ # no `PlatformPrincipal`. The `PlatformCredential` is `API key`.
463
565
  #
464
- # * For `GCM` (Firebase Cloud Messaging), there is no
465
- # `PlatformPrincipal` and the `PlatformCredential` is `API key`.
566
+ # * For GCM (Firebase Cloud Messaging) using token credentials, there is
567
+ # no `PlatformPrincipal`. The `PlatformCredential` is a JSON formatted
568
+ # private key file. When using the Amazon Web Services CLI, the file
569
+ # must be in string format and special characters must be ignored. To
570
+ # format the file correctly, Amazon SNS recommends using the following
571
+ # command: `` SERVICE_JSON=`jq @json <<< cat service.json` ``.
466
572
  #
467
- # * For `MPNS`, `PlatformPrincipal` is `TLS certificate` and
573
+ # * For MPNS, `PlatformPrincipal` is `TLS certificate` and
468
574
  # `PlatformCredential` is `private key`.
469
575
  #
470
- # * For `WNS`, `PlatformPrincipal` is `Package Security Identifier` and
576
+ # * For WNS, `PlatformPrincipal` is `Package Security Identifier` and
471
577
  # `PlatformCredential` is `secret key`.
472
578
  #
473
579
  # You can use the returned `PlatformApplicationArn` as an attribute for
@@ -484,7 +590,8 @@ module Aws::SNS
484
590
  # (Firebase Cloud Messaging).
485
591
  #
486
592
  # @option params [required, Hash<String,String>] :attributes
487
- # For a list of attributes, see [SetPlatformApplicationAttributes][1].
593
+ # For a list of attributes, see [ `SetPlatformApplicationAttributes`
594
+ # ][1].
488
595
  #
489
596
  #
490
597
  #
@@ -540,8 +647,8 @@ module Aws::SNS
540
647
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePushBaiduEndpoint.html
541
648
  #
542
649
  # @option params [required, String] :platform_application_arn
543
- # PlatformApplicationArn returned from CreatePlatformApplication is used
544
- # to create a an endpoint.
650
+ # `PlatformApplicationArn` returned from CreatePlatformApplication is
651
+ # used to create a an endpoint.
545
652
  #
546
653
  # @option params [required, String] :token
547
654
  # Unique identifier created by the notification service for an app on a
@@ -556,7 +663,7 @@ module Aws::SNS
556
663
  # not use this data. The data must be in UTF-8 format and less than 2KB.
557
664
  #
558
665
  # @option params [Hash<String,String>] :attributes
559
- # For a list of attributes, see [SetEndpointAttributes][1].
666
+ # For a list of attributes, see [ `SetEndpointAttributes` ][1].
560
667
  #
561
668
  #
562
669
  #
@@ -590,17 +697,19 @@ module Aws::SNS
590
697
  req.send_request(options)
591
698
  end
592
699
 
593
- # Adds a destination phone number to an account in the SMS sandbox and
594
- # sends a one-time password (OTP) to that phone number.
700
+ # Adds a destination phone number to an Amazon Web Services account in
701
+ # the SMS sandbox and sends a one-time password (OTP) to that phone
702
+ # number.
595
703
  #
596
- # When you start using Amazon SNS to send SMS messages, your account is
597
- # in the *SMS sandbox*. The SMS sandbox provides a safe environment for
598
- # you to try Amazon SNS features without risking your reputation as an
599
- # SMS sender. While your account is in the SMS sandbox, you can use all
600
- # of the features of Amazon SNS. However, you can send SMS messages only
601
- # to verified destination phone numbers. For more information, including
602
- # how to move out of the sandbox to send messages without restrictions,
603
- # see [SMS sandbox][1] in the *Amazon SNS Developer Guide*.
704
+ # When you start using Amazon SNS to send SMS messages, your Amazon Web
705
+ # Services account is in the *SMS sandbox*. The SMS sandbox provides a
706
+ # safe environment for you to try Amazon SNS features without risking
707
+ # your reputation as an SMS sender. While your Amazon Web Services
708
+ # account is in the SMS sandbox, you can use all of the features of
709
+ # Amazon SNS. However, you can send SMS messages only to verified
710
+ # destination phone numbers. For more information, including how to move
711
+ # out of the sandbox to send messages without restrictions, see [SMS
712
+ # sandbox][1] in the *Amazon SNS Developer Guide*.
604
713
  #
605
714
  #
606
715
  #
@@ -656,7 +765,7 @@ module Aws::SNS
656
765
  # @option params [Hash<String,String>] :attributes
657
766
  # A map of attributes with their corresponding values.
658
767
  #
659
- # The following lists the names, descriptions, and values of the special
768
+ # The following lists names, descriptions, and values of the special
660
769
  # request parameters that the `CreateTopic` action uses:
661
770
  #
662
771
  # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
@@ -670,7 +779,20 @@ module Aws::SNS
670
779
  # * `Policy` – The policy that defines who can access your topic. By
671
780
  # default, only the topic owner can publish or subscribe to the topic.
672
781
  #
673
- # The following attribute applies only to [server-side encryption][1]\:
782
+ # * `SignatureVersion` – The signature version corresponds to the
783
+ # hashing algorithm used while creating the signature of the
784
+ # notifications, subscription confirmations, or unsubscribe
785
+ # confirmation messages sent by Amazon SNS. By default,
786
+ # `SignatureVersion` is set to `1`.
787
+ #
788
+ # * `TracingConfig` – Tracing mode of an Amazon SNS topic. By default
789
+ # `TracingConfig` is set to `PassThrough`, and the topic passes
790
+ # through the tracing header it receives from an Amazon SNS publisher
791
+ # to its subscriptions. If set to `Active`, Amazon SNS will vend X-Ray
792
+ # segment data to topic owner account if the sampled flag in the
793
+ # tracing header is true. This is only supported on standard topics.
794
+ #
795
+ # The following attribute applies only to [server-side encryption][1]:
674
796
  #
675
797
  # * `KmsMasterKeyId` – The ID of an Amazon Web Services managed customer
676
798
  # master key (CMK) for Amazon SNS or a custom CMK. For more
@@ -679,9 +801,15 @@ module Aws::SNS
679
801
  #
680
802
  # ^
681
803
  #
682
- # The following attributes apply only to [FIFO topics][4]\:
804
+ # The following attributes apply only to [FIFO topics][4]:
683
805
  #
684
- # * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
806
+ # * `ArchivePolicy` – Adds or updates an inline policy document to
807
+ # archive messages stored in the specified Amazon SNS topic.
808
+ #
809
+ # * `BeginningArchiveTime` – The earliest starting point at which a
810
+ # message in the topic’s archive can be replayed from. This point in
811
+ # time is based on the configured message retention period set by the
812
+ # topic’s message archiving policy.
685
813
  #
686
814
  # * `ContentBasedDeduplication` – Enables content-based deduplication
687
815
  # for FIFO topics.
@@ -715,6 +843,15 @@ module Aws::SNS
715
843
  #
716
844
  # </note>
717
845
  #
846
+ # @option params [String] :data_protection_policy
847
+ # The body of the policy document you want to use for this topic.
848
+ #
849
+ # You can only add one policy per topic.
850
+ #
851
+ # The policy must be in JSON string format.
852
+ #
853
+ # Length Constraints: Maximum length of 30,720.
854
+ #
718
855
  # @return [Types::CreateTopicResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
719
856
  #
720
857
  # * {Types::CreateTopicResponse#topic_arn #topic_arn} => String
@@ -732,6 +869,7 @@ module Aws::SNS
732
869
  # value: "TagValue", # required
733
870
  # },
734
871
  # ],
872
+ # data_protection_policy: "attributeValue",
735
873
  # })
736
874
  #
737
875
  # @example Response structure
@@ -759,7 +897,7 @@ module Aws::SNS
759
897
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html
760
898
  #
761
899
  # @option params [required, String] :endpoint_arn
762
- # EndpointArn of endpoint to delete.
900
+ # `EndpointArn` of endpoint to delete.
763
901
  #
764
902
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
765
903
  #
@@ -788,7 +926,7 @@ module Aws::SNS
788
926
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html
789
927
  #
790
928
  # @option params [required, String] :platform_application_arn
791
- # PlatformApplicationArn of platform application object to delete.
929
+ # `PlatformApplicationArn` of platform application object to delete.
792
930
  #
793
931
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
794
932
  #
@@ -807,17 +945,18 @@ module Aws::SNS
807
945
  req.send_request(options)
808
946
  end
809
947
 
810
- # Deletes an account's verified or pending phone number from the SMS
811
- # sandbox.
948
+ # Deletes an Amazon Web Services account's verified or pending phone
949
+ # number from the SMS sandbox.
812
950
  #
813
- # When you start using Amazon SNS to send SMS messages, your account is
814
- # in the *SMS sandbox*. The SMS sandbox provides a safe environment for
815
- # you to try Amazon SNS features without risking your reputation as an
816
- # SMS sender. While your account is in the SMS sandbox, you can use all
817
- # of the features of Amazon SNS. However, you can send SMS messages only
818
- # to verified destination phone numbers. For more information, including
819
- # how to move out of the sandbox to send messages without restrictions,
820
- # see [SMS sandbox][1] in the *Amazon SNS Developer Guide*.
951
+ # When you start using Amazon SNS to send SMS messages, your Amazon Web
952
+ # Services account is in the *SMS sandbox*. The SMS sandbox provides a
953
+ # safe environment for you to try Amazon SNS features without risking
954
+ # your reputation as an SMS sender. While your Amazon Web Services
955
+ # account is in the SMS sandbox, you can use all of the features of
956
+ # Amazon SNS. However, you can send SMS messages only to verified
957
+ # destination phone numbers. For more information, including how to move
958
+ # out of the sandbox to send messages without restrictions, see [SMS
959
+ # sandbox][1] in the *Amazon SNS Developer Guide*.
821
960
  #
822
961
  #
823
962
  #
@@ -868,6 +1007,42 @@ module Aws::SNS
868
1007
  req.send_request(options)
869
1008
  end
870
1009
 
1010
+ # Retrieves the specified inline `DataProtectionPolicy` document that is
1011
+ # stored in the specified Amazon SNS topic.
1012
+ #
1013
+ # @option params [required, String] :resource_arn
1014
+ # The ARN of the topic whose `DataProtectionPolicy` you want to get.
1015
+ #
1016
+ # For more information about ARNs, see [Amazon Resource Names (ARNs)][1]
1017
+ # in the Amazon Web Services General Reference.
1018
+ #
1019
+ #
1020
+ #
1021
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1022
+ #
1023
+ # @return [Types::GetDataProtectionPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1024
+ #
1025
+ # * {Types::GetDataProtectionPolicyResponse#data_protection_policy #data_protection_policy} => String
1026
+ #
1027
+ # @example Request syntax with placeholder values
1028
+ #
1029
+ # resp = client.get_data_protection_policy({
1030
+ # resource_arn: "topicARN", # required
1031
+ # })
1032
+ #
1033
+ # @example Response structure
1034
+ #
1035
+ # resp.data_protection_policy #=> String
1036
+ #
1037
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetDataProtectionPolicy AWS API Documentation
1038
+ #
1039
+ # @overload get_data_protection_policy(params = {})
1040
+ # @param [Hash] params ({})
1041
+ def get_data_protection_policy(params = {}, options = {})
1042
+ req = build_request(:get_data_protection_policy, params)
1043
+ req.send_request(options)
1044
+ end
1045
+
871
1046
  # Retrieves the endpoint attributes for a device on one of the supported
872
1047
  # push notification services, such as GCM (Firebase Cloud Messaging) and
873
1048
  # APNS. For more information, see [Using Amazon SNS Mobile Push
@@ -878,7 +1053,7 @@ module Aws::SNS
878
1053
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html
879
1054
  #
880
1055
  # @option params [required, String] :endpoint_arn
881
- # EndpointArn for GetEndpointAttributes input.
1056
+ # `EndpointArn` for `GetEndpointAttributes` input.
882
1057
  #
883
1058
  # @return [Types::GetEndpointAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
884
1059
  #
@@ -914,7 +1089,7 @@ module Aws::SNS
914
1089
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html
915
1090
  #
916
1091
  # @option params [required, String] :platform_application_arn
917
- # PlatformApplicationArn for GetPlatformApplicationAttributesInput.
1092
+ # `PlatformApplicationArn` for GetPlatformApplicationAttributesInput.
918
1093
  #
919
1094
  # @return [Types::GetPlatformApplicationAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
920
1095
  #
@@ -940,7 +1115,8 @@ module Aws::SNS
940
1115
  req.send_request(options)
941
1116
  end
942
1117
 
943
- # Returns the settings for sending SMS messages from your account.
1118
+ # Returns the settings for sending SMS messages from your Amazon Web
1119
+ # Services account.
944
1120
  #
945
1121
  # These settings are set with the `SetSMSAttributes` action.
946
1122
  #
@@ -981,17 +1157,18 @@ module Aws::SNS
981
1157
  req.send_request(options)
982
1158
  end
983
1159
 
984
- # Retrieves the SMS sandbox status for the calling account in the target
985
- # Region.
1160
+ # Retrieves the SMS sandbox status for the calling Amazon Web Services
1161
+ # account in the target Amazon Web Services Region.
986
1162
  #
987
- # When you start using Amazon SNS to send SMS messages, your account is
988
- # in the *SMS sandbox*. The SMS sandbox provides a safe environment for
989
- # you to try Amazon SNS features without risking your reputation as an
990
- # SMS sender. While your account is in the SMS sandbox, you can use all
991
- # of the features of Amazon SNS. However, you can send SMS messages only
992
- # to verified destination phone numbers. For more information, including
993
- # how to move out of the sandbox to send messages without restrictions,
994
- # see [SMS sandbox][1] in the *Amazon SNS Developer Guide*.
1163
+ # When you start using Amazon SNS to send SMS messages, your Amazon Web
1164
+ # Services account is in the *SMS sandbox*. The SMS sandbox provides a
1165
+ # safe environment for you to try Amazon SNS features without risking
1166
+ # your reputation as an SMS sender. While your Amazon Web Services
1167
+ # account is in the SMS sandbox, you can use all of the features of
1168
+ # Amazon SNS. However, you can send SMS messages only to verified
1169
+ # destination phone numbers. For more information, including how to move
1170
+ # out of the sandbox to send messages without restrictions, see [SMS
1171
+ # sandbox][1] in the *Amazon SNS Developer Guide*.
995
1172
  #
996
1173
  #
997
1174
  #
@@ -1091,12 +1268,12 @@ module Aws::SNS
1091
1268
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html
1092
1269
  #
1093
1270
  # @option params [required, String] :platform_application_arn
1094
- # PlatformApplicationArn for ListEndpointsByPlatformApplicationInput
1271
+ # `PlatformApplicationArn` for `ListEndpointsByPlatformApplicationInput`
1095
1272
  # action.
1096
1273
  #
1097
1274
  # @option params [String] :next_token
1098
- # NextToken string is used when calling
1099
- # ListEndpointsByPlatformApplication action to retrieve additional
1275
+ # `NextToken` string is used when calling
1276
+ # `ListEndpointsByPlatformApplication` action to retrieve additional
1100
1277
  # records that are available after the first page results.
1101
1278
  #
1102
1279
  # @return [Types::ListEndpointsByPlatformApplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -1130,9 +1307,10 @@ module Aws::SNS
1130
1307
  req.send_request(options)
1131
1308
  end
1132
1309
 
1133
- # Lists the calling account's dedicated origination numbers and their
1134
- # metadata. For more information about origination numbers, see
1135
- # [Origination numbers][1] in the *Amazon SNS Developer Guide*.
1310
+ # Lists the calling Amazon Web Services account's dedicated origination
1311
+ # numbers and their metadata. For more information about origination
1312
+ # numbers, see [Origination numbers][1] in the *Amazon SNS Developer
1313
+ # Guide*.
1136
1314
  #
1137
1315
  #
1138
1316
  #
@@ -1241,9 +1419,9 @@ module Aws::SNS
1241
1419
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html
1242
1420
  #
1243
1421
  # @option params [String] :next_token
1244
- # NextToken string is used when calling ListPlatformApplications action
1245
- # to retrieve additional records that are available after the first page
1246
- # results.
1422
+ # `NextToken` string is used when calling `ListPlatformApplications`
1423
+ # action to retrieve additional records that are available after the
1424
+ # first page results.
1247
1425
  #
1248
1426
  # @return [Types::ListPlatformApplicationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1249
1427
  #
@@ -1275,17 +1453,18 @@ module Aws::SNS
1275
1453
  req.send_request(options)
1276
1454
  end
1277
1455
 
1278
- # Lists the calling account's current verified and pending destination
1279
- # phone numbers in the SMS sandbox.
1456
+ # Lists the calling Amazon Web Services account's current verified and
1457
+ # pending destination phone numbers in the SMS sandbox.
1280
1458
  #
1281
- # When you start using Amazon SNS to send SMS messages, your account is
1282
- # in the *SMS sandbox*. The SMS sandbox provides a safe environment for
1283
- # you to try Amazon SNS features without risking your reputation as an
1284
- # SMS sender. While your account is in the SMS sandbox, you can use all
1285
- # of the features of Amazon SNS. However, you can send SMS messages only
1286
- # to verified destination phone numbers. For more information, including
1287
- # how to move out of the sandbox to send messages without restrictions,
1288
- # see [SMS sandbox][1] in the *Amazon SNS Developer Guide*.
1459
+ # When you start using Amazon SNS to send SMS messages, your Amazon Web
1460
+ # Services account is in the *SMS sandbox*. The SMS sandbox provides a
1461
+ # safe environment for you to try Amazon SNS features without risking
1462
+ # your reputation as an SMS sender. While your Amazon Web Services
1463
+ # account is in the SMS sandbox, you can use all of the features of
1464
+ # Amazon SNS. However, you can send SMS messages only to verified
1465
+ # destination phone numbers. For more information, including how to move
1466
+ # out of the sandbox to send messages without restrictions, see [SMS
1467
+ # sandbox][1] in the *Amazon SNS Developer Guide*.
1289
1468
  #
1290
1469
  #
1291
1470
  #
@@ -1525,10 +1704,10 @@ module Aws::SNS
1525
1704
  # message depends on the notification protocol for each subscribed
1526
1705
  # endpoint.
1527
1706
  #
1528
- # When a `messageId` is returned, the message has been saved and Amazon
1529
- # SNS will attempt to deliver it shortly.
1707
+ # When a `messageId` is returned, the message is saved and Amazon SNS
1708
+ # immediately delivers it to subscribers.
1530
1709
  #
1531
- # To use the `Publish` action for sending a message to a mobile
1710
+ # To use the `Publish` action for publishing a message to a mobile
1532
1711
  # endpoint, such as an app on a Kindle device or mobile phone, you must
1533
1712
  # specify the EndpointArn for the TargetArn parameter. The EndpointArn
1534
1713
  # is returned when making a call with the `CreatePlatformEndpoint`
@@ -1538,7 +1717,7 @@ module Aws::SNS
1538
1717
  # Platform-Specific Payloads in Messages to Mobile Devices][1].
1539
1718
  #
1540
1719
  # You can publish messages only to topics and endpoints in the same
1541
- # Region.
1720
+ # Amazon Web Services Region.
1542
1721
  #
1543
1722
  #
1544
1723
  #
@@ -1622,9 +1801,8 @@ module Aws::SNS
1622
1801
  # is delivered to email endpoints. This field will also be included, if
1623
1802
  # present, in the standard JSON messages delivered to other endpoints.
1624
1803
  #
1625
- # Constraints: Subjects must be ASCII text that begins with a letter,
1626
- # number, or punctuation mark; must not include line breaks or control
1627
- # characters; and must be less than 100 characters long.
1804
+ # Constraints: Subjects must be UTF-8 text with no line breaks or
1805
+ # control characters, and less than 100 characters long.
1628
1806
  #
1629
1807
  # @option params [String] :message_structure
1630
1808
  # Set `MessageStructure` to `json` if you want to send a different
@@ -1649,7 +1827,7 @@ module Aws::SNS
1649
1827
  # @option params [String] :message_deduplication_id
1650
1828
  # This parameter applies only to FIFO (first-in-first-out) topics. The
1651
1829
  # `MessageDeduplicationId` can contain up to 128 alphanumeric characters
1652
- # (a-z, A-Z, 0-9) and punctuation ``
1830
+ # `(a-z, A-Z, 0-9)` and punctuation ``
1653
1831
  # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1654
1832
  #
1655
1833
  # Every message must have a unique `MessageDeduplicationId`, which is a
@@ -1664,8 +1842,8 @@ module Aws::SNS
1664
1842
  #
1665
1843
  # @option params [String] :message_group_id
1666
1844
  # This parameter applies only to FIFO (first-in-first-out) topics. The
1667
- # `MessageGroupId` can contain up to 128 alphanumeric characters (a-z,
1668
- # A-Z, 0-9) and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1845
+ # `MessageGroupId` can contain up to 128 alphanumeric characters `(a-z,
1846
+ # A-Z, 0-9)` and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1669
1847
  #
1670
1848
  # The `MessageGroupId` is a tag that specifies that a message belongs to
1671
1849
  # a specific message group. Messages that belong to the same message
@@ -1683,7 +1861,7 @@ module Aws::SNS
1683
1861
  # resp = client.publish({
1684
1862
  # topic_arn: "topicARN",
1685
1863
  # target_arn: "String",
1686
- # phone_number: "String",
1864
+ # phone_number: "PhoneNumber",
1687
1865
  # message: "message", # required
1688
1866
  # subject: "subject",
1689
1867
  # message_structure: "messageStructure",
@@ -1712,8 +1890,139 @@ module Aws::SNS
1712
1890
  req.send_request(options)
1713
1891
  end
1714
1892
 
1893
+ # Publishes up to ten messages to the specified topic. This is a batch
1894
+ # version of `Publish`. For FIFO topics, multiple messages within a
1895
+ # single batch are published in the order they are sent, and messages
1896
+ # are deduplicated within the batch and across batches for 5 minutes.
1897
+ #
1898
+ # The result of publishing each message is reported individually in the
1899
+ # response. Because the batch request can result in a combination of
1900
+ # successful and unsuccessful actions, you should check for batch errors
1901
+ # even when the call returns an HTTP status code of `200`.
1902
+ #
1903
+ # The maximum allowed individual message size and the maximum total
1904
+ # payload size (the sum of the individual lengths of all of the batched
1905
+ # messages) are both 256 KB (262,144 bytes).
1906
+ #
1907
+ # Some actions take lists of parameters. These lists are specified using
1908
+ # the `param.n` notation. Values of `n` are integers starting from 1.
1909
+ # For example, a parameter list with two elements looks like this:
1910
+ #
1911
+ # &amp;AttributeName.1=first
1912
+ #
1913
+ # &amp;AttributeName.2=second
1914
+ #
1915
+ # If you send a batch message to a topic, Amazon SNS publishes the batch
1916
+ # message to each endpoint that is subscribed to the topic. The format
1917
+ # of the batch message depends on the notification protocol for each
1918
+ # subscribed endpoint.
1919
+ #
1920
+ # When a `messageId` is returned, the batch message is saved and Amazon
1921
+ # SNS immediately delivers the message to subscribers.
1922
+ #
1923
+ # @option params [required, String] :topic_arn
1924
+ # The Amazon resource name (ARN) of the topic you want to batch publish
1925
+ # to.
1926
+ #
1927
+ # @option params [required, Array<Types::PublishBatchRequestEntry>] :publish_batch_request_entries
1928
+ # A list of `PublishBatch` request entries to be sent to the SNS topic.
1929
+ #
1930
+ # @return [Types::PublishBatchResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1931
+ #
1932
+ # * {Types::PublishBatchResponse#successful #successful} => Array&lt;Types::PublishBatchResultEntry&gt;
1933
+ # * {Types::PublishBatchResponse#failed #failed} => Array&lt;Types::BatchResultErrorEntry&gt;
1934
+ #
1935
+ # @example Request syntax with placeholder values
1936
+ #
1937
+ # resp = client.publish_batch({
1938
+ # topic_arn: "topicARN", # required
1939
+ # publish_batch_request_entries: [ # required
1940
+ # {
1941
+ # id: "String", # required
1942
+ # message: "message", # required
1943
+ # subject: "subject",
1944
+ # message_structure: "messageStructure",
1945
+ # message_attributes: {
1946
+ # "String" => {
1947
+ # data_type: "String", # required
1948
+ # string_value: "String",
1949
+ # binary_value: "data",
1950
+ # },
1951
+ # },
1952
+ # message_deduplication_id: "String",
1953
+ # message_group_id: "String",
1954
+ # },
1955
+ # ],
1956
+ # })
1957
+ #
1958
+ # @example Response structure
1959
+ #
1960
+ # resp.successful #=> Array
1961
+ # resp.successful[0].id #=> String
1962
+ # resp.successful[0].message_id #=> String
1963
+ # resp.successful[0].sequence_number #=> String
1964
+ # resp.failed #=> Array
1965
+ # resp.failed[0].id #=> String
1966
+ # resp.failed[0].code #=> String
1967
+ # resp.failed[0].message #=> String
1968
+ # resp.failed[0].sender_fault #=> Boolean
1969
+ #
1970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishBatch AWS API Documentation
1971
+ #
1972
+ # @overload publish_batch(params = {})
1973
+ # @param [Hash] params ({})
1974
+ def publish_batch(params = {}, options = {})
1975
+ req = build_request(:publish_batch, params)
1976
+ req.send_request(options)
1977
+ end
1978
+
1979
+ # Adds or updates an inline policy document that is stored in the
1980
+ # specified Amazon SNS topic.
1981
+ #
1982
+ # @option params [required, String] :resource_arn
1983
+ # The ARN of the topic whose `DataProtectionPolicy` you want to add or
1984
+ # update.
1985
+ #
1986
+ # For more information about ARNs, see [Amazon Resource Names (ARNs)][1]
1987
+ # in the Amazon Web Services General Reference.
1988
+ #
1989
+ #
1990
+ #
1991
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1992
+ #
1993
+ # @option params [required, String] :data_protection_policy
1994
+ # The JSON serialization of the topic's `DataProtectionPolicy`.
1995
+ #
1996
+ # The `DataProtectionPolicy` must be in JSON string format.
1997
+ #
1998
+ # Length Constraints: Maximum length of 30,720.
1999
+ #
2000
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2001
+ #
2002
+ # @example Request syntax with placeholder values
2003
+ #
2004
+ # resp = client.put_data_protection_policy({
2005
+ # resource_arn: "topicARN", # required
2006
+ # data_protection_policy: "attributeValue", # required
2007
+ # })
2008
+ #
2009
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PutDataProtectionPolicy AWS API Documentation
2010
+ #
2011
+ # @overload put_data_protection_policy(params = {})
2012
+ # @param [Hash] params ({})
2013
+ def put_data_protection_policy(params = {}, options = {})
2014
+ req = build_request(:put_data_protection_policy, params)
2015
+ req.send_request(options)
2016
+ end
2017
+
1715
2018
  # Removes a statement from a topic's access control policy.
1716
2019
  #
2020
+ # <note markdown="1"> To remove the ability to change topic permissions, you must deny
2021
+ # permissions to the `AddPermission`, `RemovePermission`, and
2022
+ # `SetTopicAttributes` actions in your IAM policy.
2023
+ #
2024
+ # </note>
2025
+ #
1717
2026
  # @option params [required, String] :topic_arn
1718
2027
  # The ARN of the topic whose access control policy you wish to modify.
1719
2028
  #
@@ -1748,7 +2057,7 @@ module Aws::SNS
1748
2057
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html
1749
2058
  #
1750
2059
  # @option params [required, String] :endpoint_arn
1751
- # EndpointArn used for SetEndpointAttributes action.
2060
+ # EndpointArn used for `SetEndpointAttributes` action.
1752
2061
  #
1753
2062
  # @option params [required, Hash<String,String>] :attributes
1754
2063
  # A map of the endpoint attributes. Attributes in this map include the
@@ -1801,22 +2110,50 @@ module Aws::SNS
1801
2110
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.html
1802
2111
  #
1803
2112
  # @option params [required, String] :platform_application_arn
1804
- # PlatformApplicationArn for SetPlatformApplicationAttributes action.
2113
+ # `PlatformApplicationArn` for `SetPlatformApplicationAttributes`
2114
+ # action.
1805
2115
  #
1806
2116
  # @option params [required, Hash<String,String>] :attributes
1807
2117
  # A map of the platform application attributes. Attributes in this map
1808
2118
  # include the following:
1809
2119
  #
1810
2120
  # * `PlatformCredential` – The credential received from the notification
1811
- # service. For `APNS` and `APNS_SANDBOX`, `PlatformCredential` is
1812
- # `private key`. For `GCM` (Firebase Cloud Messaging),
1813
- # `PlatformCredential` is `API key`. For `ADM`, `PlatformCredential`
1814
- # is `client secret`.
2121
+ # service.
2122
+ #
2123
+ # * For ADM, `PlatformCredential`is client secret.
2124
+ #
2125
+ # * For Apple Services using certificate credentials,
2126
+ # `PlatformCredential` is private key.
2127
+ #
2128
+ # * For Apple Services using token credentials, `PlatformCredential`
2129
+ # is signing key.
2130
+ #
2131
+ # * For GCM (Firebase Cloud Messaging) using key credentials, there is
2132
+ # no `PlatformPrincipal`. The `PlatformCredential` is `API key`.
2133
+ #
2134
+ # * For GCM (Firebase Cloud Messaging) using token credentials, there
2135
+ # is no `PlatformPrincipal`. The `PlatformCredential` is a JSON
2136
+ # formatted private key file. When using the Amazon Web Services
2137
+ # CLI, the file must be in string format and special characters must
2138
+ # be ignored. To format the file correctly, Amazon SNS recommends
2139
+ # using the following command: `` SERVICE_JSON=`jq @json <<< cat
2140
+ # service.json` ``.
2141
+ # ^
1815
2142
  #
1816
2143
  # * `PlatformPrincipal` – The principal received from the notification
1817
- # service. For `APNS` and `APNS_SANDBOX`, `PlatformPrincipal` is `SSL
1818
- # certificate`. For `GCM` (Firebase Cloud Messaging), there is no
1819
- # `PlatformPrincipal`. For `ADM`, `PlatformPrincipal` is `client id`.
2144
+ # service.
2145
+ #
2146
+ # * For ADM, `PlatformPrincipal`is client id.
2147
+ #
2148
+ # * For Apple Services using certificate credentials,
2149
+ # `PlatformPrincipal` is SSL certificate.
2150
+ #
2151
+ # * For Apple Services using token credentials, `PlatformPrincipal` is
2152
+ # signing key ID.
2153
+ #
2154
+ # * For GCM (Firebase Cloud Messaging), there is no
2155
+ # `PlatformPrincipal`.
2156
+ # ^
1820
2157
  #
1821
2158
  # * `EventEndpointCreated` – Topic ARN to which `EndpointCreated` event
1822
2159
  # notifications are sent.
@@ -1840,6 +2177,15 @@ module Aws::SNS
1840
2177
  # * `SuccessFeedbackSampleRate` – Sample rate percentage (0-100) of
1841
2178
  # successfully delivered messages.
1842
2179
  #
2180
+ # The following attributes only apply to `APNs` token-based
2181
+ # authentication:
2182
+ #
2183
+ # * `ApplePlatformTeamID` – The identifier that's assigned to your
2184
+ # Apple developer account team.
2185
+ #
2186
+ # * `ApplePlatformBundleID` – The bundle identifier that's assigned to
2187
+ # your iOS app.
2188
+ #
1843
2189
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1844
2190
  #
1845
2191
  # @example Request syntax with placeholder values
@@ -1879,8 +2225,9 @@ module Aws::SNS
1879
2225
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html
1880
2226
  #
1881
2227
  # @option params [required, Hash<String,String>] :attributes
1882
- # The default settings for sending SMS messages from your account. You
1883
- # can set values for the following attribute names:
2228
+ # The default settings for sending SMS messages from your Amazon Web
2229
+ # Services account. You can set values for the following attribute
2230
+ # names:
1884
2231
  #
1885
2232
  # `MonthlySpendLimit` – The maximum amount in USD that you are willing
1886
2233
  # to spend each month to send SMS messages. When Amazon SNS determines
@@ -1931,7 +2278,7 @@ module Aws::SNS
1931
2278
  # daily SMS usage reports from Amazon SNS. Each day, Amazon SNS will
1932
2279
  # deliver a usage report as a CSV file to the bucket. The report
1933
2280
  # includes the following information for each SMS message that was
1934
- # successfully delivered by your account:
2281
+ # successfully delivered by your Amazon Web Services account:
1935
2282
  #
1936
2283
  # * Time that the message was published (in UTC)
1937
2284
  #
@@ -2000,6 +2347,14 @@ module Aws::SNS
2000
2347
  # receive only a subset of messages, rather than receiving every
2001
2348
  # message published to the topic.
2002
2349
  #
2350
+ # * `FilterPolicyScope` – This attribute lets you choose the filtering
2351
+ # scope by using one of the following string value types:
2352
+ #
2353
+ # * `MessageAttributes` (default) – The filter is applied on the
2354
+ # message attributes.
2355
+ #
2356
+ # * `MessageBody` – The filter is applied on the message body.
2357
+ #
2003
2358
  # * `RawMessageDelivery` – When set to `true`, enables raw message
2004
2359
  # delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need
2005
2360
  # for the endpoints to process JSON formatting, which is otherwise
@@ -2012,20 +2367,19 @@ module Aws::SNS
2012
2367
  # service that powers the subscribed endpoint becomes unavailable) are
2013
2368
  # held in the dead-letter queue for further analysis or reprocessing.
2014
2369
  #
2015
- # The following attribute applies only to Amazon Kinesis Data Firehose
2016
- # delivery stream subscriptions:
2370
+ # The following attribute applies only to Amazon Data Firehose delivery
2371
+ # stream subscriptions:
2017
2372
  #
2018
2373
  # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
2019
2374
  # following:
2020
2375
  #
2021
- # * Permission to write to the Kinesis Data Firehose delivery stream
2376
+ # * Permission to write to the Firehose delivery stream
2022
2377
  #
2023
2378
  # * Amazon SNS listed as a trusted entity
2024
2379
  #
2025
- # Specifying a valid ARN for this attribute is required for Kinesis
2026
- # Data Firehose delivery stream subscriptions. For more information,
2027
- # see [Fanout to Kinesis Data Firehose delivery streams][1] in the
2028
- # *Amazon SNS Developer Guide*.
2380
+ # Specifying a valid ARN for this attribute is required for Firehose
2381
+ # delivery stream subscriptions. For more information, see [Fanout to
2382
+ # Firehose delivery streams][1] in the *Amazon SNS Developer Guide*.
2029
2383
  #
2030
2384
  #
2031
2385
  #
@@ -2055,6 +2409,12 @@ module Aws::SNS
2055
2409
 
2056
2410
  # Allows a topic owner to set an attribute of the topic to a new value.
2057
2411
  #
2412
+ # <note markdown="1"> To remove the ability to change topic permissions, you must deny
2413
+ # permissions to the `AddPermission`, `RemovePermission`, and
2414
+ # `SetTopicAttributes` actions in your IAM policy.
2415
+ #
2416
+ # </note>
2417
+ #
2058
2418
  # @option params [required, String] :topic_arn
2059
2419
  # The ARN of the topic to modify.
2060
2420
  #
@@ -2064,6 +2424,10 @@ module Aws::SNS
2064
2424
  # The following lists the names, descriptions, and values of the special
2065
2425
  # request parameters that the `SetTopicAttributes` action uses:
2066
2426
  #
2427
+ # * `ApplicationSuccessFeedbackRoleArn` – Indicates failed message
2428
+ # delivery status for an Amazon SNS topic that is subscribed to a
2429
+ # platform application endpoint.
2430
+ #
2067
2431
  # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
2068
2432
  # failed deliveries to HTTP/S endpoints.
2069
2433
  #
@@ -2073,16 +2437,119 @@ module Aws::SNS
2073
2437
  # * `Policy` – The policy that defines who can access your topic. By
2074
2438
  # default, only the topic owner can publish or subscribe to the topic.
2075
2439
  #
2076
- # The following attribute applies only to [server-side-encryption][1]\:
2440
+ # * `TracingConfig` Tracing mode of an Amazon SNS topic. By default
2441
+ # `TracingConfig` is set to `PassThrough`, and the topic passes
2442
+ # through the tracing header it receives from an Amazon SNS publisher
2443
+ # to its subscriptions. If set to `Active`, Amazon SNS will vend X-Ray
2444
+ # segment data to topic owner account if the sampled flag in the
2445
+ # tracing header is true. This is only supported on standard topics.
2446
+ #
2447
+ # * HTTP
2448
+ #
2449
+ # * `HTTPSuccessFeedbackRoleArn` – Indicates successful message
2450
+ # delivery status for an Amazon SNS topic that is subscribed to an
2451
+ # HTTP endpoint.
2452
+ #
2453
+ # * `HTTPSuccessFeedbackSampleRate` – Indicates percentage of
2454
+ # successful messages to sample for an Amazon SNS topic that is
2455
+ # subscribed to an HTTP endpoint.
2456
+ #
2457
+ # * `HTTPFailureFeedbackRoleArn` – Indicates failed message delivery
2458
+ # status for an Amazon SNS topic that is subscribed to an HTTP
2459
+ # endpoint.
2460
+ #
2461
+ # * Amazon Kinesis Data Firehose
2462
+ #
2463
+ # * `FirehoseSuccessFeedbackRoleArn` – Indicates successful message
2464
+ # delivery status for an Amazon SNS topic that is subscribed to an
2465
+ # Amazon Kinesis Data Firehose endpoint.
2466
+ #
2467
+ # * `FirehoseSuccessFeedbackSampleRate` – Indicates percentage of
2468
+ # successful messages to sample for an Amazon SNS topic that is
2469
+ # subscribed to an Amazon Kinesis Data Firehose endpoint.
2470
+ #
2471
+ # * `FirehoseFailureFeedbackRoleArn` – Indicates failed message
2472
+ # delivery status for an Amazon SNS topic that is subscribed to an
2473
+ # Amazon Kinesis Data Firehose endpoint.
2474
+ #
2475
+ # * Lambda
2476
+ #
2477
+ # * `LambdaSuccessFeedbackRoleArn` – Indicates successful message
2478
+ # delivery status for an Amazon SNS topic that is subscribed to an
2479
+ # Lambda endpoint.
2480
+ #
2481
+ # * `LambdaSuccessFeedbackSampleRate` – Indicates percentage of
2482
+ # successful messages to sample for an Amazon SNS topic that is
2483
+ # subscribed to an Lambda endpoint.
2484
+ #
2485
+ # * `LambdaFailureFeedbackRoleArn` – Indicates failed message delivery
2486
+ # status for an Amazon SNS topic that is subscribed to an Lambda
2487
+ # endpoint.
2488
+ #
2489
+ # * Platform application endpoint
2490
+ #
2491
+ # * `ApplicationSuccessFeedbackRoleArn` – Indicates successful message
2492
+ # delivery status for an Amazon SNS topic that is subscribed to an
2493
+ # Amazon Web Services application endpoint.
2494
+ #
2495
+ # * `ApplicationSuccessFeedbackSampleRate` – Indicates percentage of
2496
+ # successful messages to sample for an Amazon SNS topic that is
2497
+ # subscribed to an Amazon Web Services application endpoint.
2498
+ #
2499
+ # * `ApplicationFailureFeedbackRoleArn` – Indicates failed message
2500
+ # delivery status for an Amazon SNS topic that is subscribed to an
2501
+ # Amazon Web Services application endpoint.
2502
+ #
2503
+ # <note markdown="1"> In addition to being able to configure topic attributes for message
2504
+ # delivery status of notification messages sent to Amazon SNS
2505
+ # application endpoints, you can also configure application attributes
2506
+ # for the delivery status of push notification messages sent to push
2507
+ # notification services.
2508
+ #
2509
+ # For example, For more information, see [Using Amazon SNS Application
2510
+ # Attributes for Message Delivery Status][1].
2511
+ #
2512
+ # </note>
2513
+ #
2514
+ # * Amazon SQS
2515
+ #
2516
+ # * `SQSSuccessFeedbackRoleArn` – Indicates successful message
2517
+ # delivery status for an Amazon SNS topic that is subscribed to an
2518
+ # Amazon SQS endpoint.
2519
+ #
2520
+ # * `SQSSuccessFeedbackSampleRate` – Indicates percentage of
2521
+ # successful messages to sample for an Amazon SNS topic that is
2522
+ # subscribed to an Amazon SQS endpoint.
2523
+ #
2524
+ # * `SQSFailureFeedbackRoleArn` – Indicates failed message delivery
2525
+ # status for an Amazon SNS topic that is subscribed to an Amazon SQS
2526
+ # endpoint.
2527
+ #
2528
+ # <note markdown="1"> The &lt;ENDPOINT&gt;SuccessFeedbackRoleArn and
2529
+ # &lt;ENDPOINT&gt;FailureFeedbackRoleArn attributes are used to give
2530
+ # Amazon SNS write access to use CloudWatch Logs on your behalf. The
2531
+ # &lt;ENDPOINT&gt;SuccessFeedbackSampleRate attribute is for specifying
2532
+ # the sample rate percentage (0-100) of successfully delivered messages.
2533
+ # After you configure the &lt;ENDPOINT&gt;FailureFeedbackRoleArn
2534
+ # attribute, then all failed message deliveries generate CloudWatch
2535
+ # Logs.
2536
+ #
2537
+ # </note>
2538
+ #
2539
+ # The following attribute applies only to [server-side-encryption][2]:
2077
2540
  #
2078
2541
  # * `KmsMasterKeyId` – The ID of an Amazon Web Services managed customer
2079
2542
  # master key (CMK) for Amazon SNS or a custom CMK. For more
2080
- # information, see [Key Terms][2]. For more examples, see [KeyId][3]
2543
+ # information, see [Key Terms][3]. For more examples, see [KeyId][4]
2081
2544
  # in the *Key Management Service API Reference*.
2082
2545
  #
2083
- # ^
2546
+ # * `SignatureVersion` – The signature version corresponds to the
2547
+ # hashing algorithm used while creating the signature of the
2548
+ # notifications, subscription confirmations, or unsubscribe
2549
+ # confirmation messages sent by Amazon SNS. By default,
2550
+ # `SignatureVersion` is set to `1`.
2084
2551
  #
2085
- # The following attribute applies only to [FIFO topics][4]\:
2552
+ # The following attribute applies only to [FIFO topics][5]:
2086
2553
  #
2087
2554
  # * `ContentBasedDeduplication` – Enables content-based deduplication
2088
2555
  # for FIFO topics.
@@ -2090,7 +2557,7 @@ module Aws::SNS
2090
2557
  # * By default, `ContentBasedDeduplication` is set to `false`. If you
2091
2558
  # create a FIFO topic and this attribute is `false`, you must
2092
2559
  # specify a value for the `MessageDeduplicationId` parameter for the
2093
- # [Publish][5] action.
2560
+ # [Publish][6] action.
2094
2561
  #
2095
2562
  # * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
2096
2563
  # uses a SHA-256 hash to generate the `MessageDeduplicationId` using
@@ -2102,11 +2569,12 @@ module Aws::SNS
2102
2569
  #
2103
2570
  #
2104
2571
  #
2105
- # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
2106
- # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
2107
- # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
2108
- # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
2109
- # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
2572
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.html
2573
+ # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
2574
+ # [3]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
2575
+ # [4]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
2576
+ # [5]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
2577
+ # [6]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
2110
2578
  #
2111
2579
  # @option params [String] :attribute_value
2112
2580
  # The new value for the attribute.
@@ -2132,11 +2600,11 @@ module Aws::SNS
2132
2600
 
2133
2601
  # Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is
2134
2602
  # HTTP/S or email, or if the endpoint and the topic are not in the same
2135
- # account, the endpoint owner must run the `ConfirmSubscription` action
2136
- # to confirm the subscription.
2603
+ # Amazon Web Services account, the endpoint owner must run the
2604
+ # `ConfirmSubscription` action to confirm the subscription.
2137
2605
  #
2138
2606
  # You call the `ConfirmSubscription` action with the token from the
2139
- # subscription response. Confirmation tokens are valid for three days.
2607
+ # subscription response. Confirmation tokens are valid for two days.
2140
2608
  #
2141
2609
  # This action is throttled at 100 transactions per second (TPS).
2142
2610
  #
@@ -2208,6 +2676,14 @@ module Aws::SNS
2208
2676
  # receive only a subset of messages, rather than receiving every
2209
2677
  # message published to the topic.
2210
2678
  #
2679
+ # * `FilterPolicyScope` – This attribute lets you choose the filtering
2680
+ # scope by using one of the following string value types:
2681
+ #
2682
+ # * `MessageAttributes` (default) – The filter is applied on the
2683
+ # message attributes.
2684
+ #
2685
+ # * `MessageBody` – The filter is applied on the message body.
2686
+ #
2211
2687
  # * `RawMessageDelivery` – When set to `true`, enables raw message
2212
2688
  # delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need
2213
2689
  # for the endpoints to process JSON formatting, which is otherwise
@@ -2220,24 +2696,45 @@ module Aws::SNS
2220
2696
  # service that powers the subscribed endpoint becomes unavailable) are
2221
2697
  # held in the dead-letter queue for further analysis or reprocessing.
2222
2698
  #
2223
- # The following attribute applies only to Amazon Kinesis Data Firehose
2224
- # delivery stream subscriptions:
2699
+ # The following attribute applies only to Amazon Data Firehose delivery
2700
+ # stream subscriptions:
2225
2701
  #
2226
2702
  # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
2227
2703
  # following:
2228
2704
  #
2229
- # * Permission to write to the Kinesis Data Firehose delivery stream
2705
+ # * Permission to write to the Firehose delivery stream
2230
2706
  #
2231
2707
  # * Amazon SNS listed as a trusted entity
2232
2708
  #
2233
- # Specifying a valid ARN for this attribute is required for Kinesis
2234
- # Data Firehose delivery stream subscriptions. For more information,
2235
- # see [Fanout to Kinesis Data Firehose delivery streams][1] in the
2236
- # *Amazon SNS Developer Guide*.
2709
+ # Specifying a valid ARN for this attribute is required for Firehose
2710
+ # delivery stream subscriptions. For more information, see [Fanout to
2711
+ # Firehose delivery streams][1] in the *Amazon SNS Developer Guide*.
2712
+ #
2713
+ # The following attributes apply only to [FIFO topics][2]:
2714
+ #
2715
+ # * `ReplayPolicy` – Adds or updates an inline policy document for a
2716
+ # subscription to replay messages stored in the specified Amazon SNS
2717
+ # topic.
2718
+ #
2719
+ # * `ReplayStatus` – Retrieves the status of the subscription message
2720
+ # replay, which can be one of the following:
2721
+ #
2722
+ # * `Completed` – The replay has successfully redelivered all
2723
+ # messages, and is now delivering newly published messages. If an
2724
+ # ending point was specified in the `ReplayPolicy` then the
2725
+ # subscription will no longer receive newly published messages.
2726
+ #
2727
+ # * `In progress` – The replay is currently replaying the selected
2728
+ # messages.
2729
+ #
2730
+ # * `Failed` – The replay was unable to complete.
2731
+ #
2732
+ # * `Pending` – The default state while the replay initiates.
2237
2733
  #
2238
2734
  #
2239
2735
  #
2240
2736
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html
2737
+ # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
2241
2738
  #
2242
2739
  # @option params [Boolean] :return_subscription_arn
2243
2740
  # Sets whether the response from the `Subscribe` request includes the
@@ -2298,9 +2795,9 @@ module Aws::SNS
2298
2795
  # * A new tag with a key identical to that of an existing tag overwrites
2299
2796
  # the existing tag.
2300
2797
  #
2301
- # * Tagging actions are limited to 10 TPS per account, per Region. If
2302
- # your application requires a higher throughput, file a [technical
2303
- # support request][2].
2798
+ # * Tagging actions are limited to 10 TPS per Amazon Web Services
2799
+ # account, per Amazon Web Services Region. If your application
2800
+ # requires a higher throughput, file a [technical support request][2].
2304
2801
  #
2305
2802
  #
2306
2803
  #
@@ -2345,6 +2842,12 @@ module Aws::SNS
2345
2842
  # is delivered to the endpoint, so that the endpoint owner can easily
2346
2843
  # resubscribe to the topic if the `Unsubscribe` request was unintended.
2347
2844
  #
2845
+ # <note markdown="1"> Amazon SQS queue subscriptions require authentication for deletion.
2846
+ # Only the owner of the subscription, or the owner of the topic can
2847
+ # unsubscribe using the required Amazon Web Services signature.
2848
+ #
2849
+ # </note>
2850
+ #
2348
2851
  # This action is throttled at 100 transactions per second (TPS).
2349
2852
  #
2350
2853
  # @option params [required, String] :subscription_arn
@@ -2399,16 +2902,17 @@ module Aws::SNS
2399
2902
  end
2400
2903
 
2401
2904
  # Verifies a destination phone number with a one-time password (OTP) for
2402
- # the calling account.
2905
+ # the calling Amazon Web Services account.
2403
2906
  #
2404
- # When you start using Amazon SNS to send SMS messages, your account is
2405
- # in the *SMS sandbox*. The SMS sandbox provides a safe environment for
2406
- # you to try Amazon SNS features without risking your reputation as an
2407
- # SMS sender. While your account is in the SMS sandbox, you can use all
2408
- # of the features of Amazon SNS. However, you can send SMS messages only
2409
- # to verified destination phone numbers. For more information, including
2410
- # how to move out of the sandbox to send messages without restrictions,
2411
- # see [SMS sandbox][1] in the *Amazon SNS Developer Guide*.
2907
+ # When you start using Amazon SNS to send SMS messages, your Amazon Web
2908
+ # Services account is in the *SMS sandbox*. The SMS sandbox provides a
2909
+ # safe environment for you to try Amazon SNS features without risking
2910
+ # your reputation as an SMS sender. While your Amazon Web Services
2911
+ # account is in the SMS sandbox, you can use all of the features of
2912
+ # Amazon SNS. However, you can send SMS messages only to verified
2913
+ # destination phone numbers. For more information, including how to move
2914
+ # out of the sandbox to send messages without restrictions, see [SMS
2915
+ # sandbox][1] in the *Amazon SNS Developer Guide*.
2412
2916
  #
2413
2917
  #
2414
2918
  #
@@ -2452,7 +2956,7 @@ module Aws::SNS
2452
2956
  params: params,
2453
2957
  config: config)
2454
2958
  context[:gem_name] = 'aws-sdk-sns'
2455
- context[:gem_version] = '1.42.0'
2959
+ context[:gem_version] = '1.77.0'
2456
2960
  Seahorse::Client::Request.new(handlers, context)
2457
2961
  end
2458
2962