aws-sdk-sns 1.42.0 → 1.77.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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