aws-sdk-sns 1.67.0 → 1.92.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,6 +22,7 @@ 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'
@@ -31,11 +32,10 @@ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
32
  require 'aws-sdk-core/plugins/request_compression.rb'
32
33
  require 'aws-sdk-core/plugins/defaults_mode.rb'
33
34
  require 'aws-sdk-core/plugins/recursion_detection.rb'
35
+ require 'aws-sdk-core/plugins/telemetry.rb'
34
36
  require 'aws-sdk-core/plugins/sign.rb'
35
37
  require 'aws-sdk-core/plugins/protocols/query.rb'
36
38
 
37
- Aws::Plugins::GlobalConfiguration.add_identifier(:sns)
38
-
39
39
  module Aws::SNS
40
40
  # An API client for SNS. To construct a client, you need to configure a `:region` and `:credentials`.
41
41
  #
@@ -72,6 +72,7 @@ module Aws::SNS
72
72
  add_plugin(Aws::Plugins::ResponsePaging)
73
73
  add_plugin(Aws::Plugins::StubResponses)
74
74
  add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::InvocationId)
75
76
  add_plugin(Aws::Plugins::JsonvalueConverter)
76
77
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
78
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -81,12 +82,18 @@ module Aws::SNS
81
82
  add_plugin(Aws::Plugins::RequestCompression)
82
83
  add_plugin(Aws::Plugins::DefaultsMode)
83
84
  add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Telemetry)
84
86
  add_plugin(Aws::Plugins::Sign)
85
87
  add_plugin(Aws::Plugins::Protocols::Query)
86
88
  add_plugin(Aws::SNS::Plugins::Endpoints)
87
89
 
88
90
  # @overload initialize(options)
89
91
  # @param [Hash] options
92
+ #
93
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
94
+ # A list of plugins to apply to the client. Each plugin is either a
95
+ # class name or an instance of a plugin class.
96
+ #
90
97
  # @option options [required, Aws::CredentialProvider] :credentials
91
98
  # Your AWS credentials. This can be an instance of any one of the
92
99
  # following classes:
@@ -121,13 +128,15 @@ module Aws::SNS
121
128
  # locations will be searched for credentials:
122
129
  #
123
130
  # * `Aws.config[:credentials]`
124
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
125
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
126
135
  # * `~/.aws/credentials`
127
136
  # * `~/.aws/config`
128
137
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
129
138
  # are very aggressive. Construct and pass an instance of
130
- # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
139
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
131
140
  # enable retries and extended timeouts. Instance profile credential
132
141
  # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
133
142
  # to true.
@@ -146,6 +155,8 @@ module Aws::SNS
146
155
  #
147
156
  # @option options [String] :access_key_id
148
157
  #
158
+ # @option options [String] :account_id
159
+ #
149
160
  # @option options [Boolean] :active_endpoint_cache (false)
150
161
  # When set to `true`, a thread polling for endpoints will be running in
151
162
  # the background every 60 secs (default). Defaults to `false`.
@@ -196,10 +207,16 @@ module Aws::SNS
196
207
  # When set to 'true' the request body will not be compressed
197
208
  # for supported operations.
198
209
  #
199
- # @option options [String] :endpoint
200
- # The client endpoint is normally constructed from the `:region`
201
- # option. You should only configure an `:endpoint` when connecting
202
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
210
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
211
+ # Normally you should not configure the `:endpoint` option
212
+ # directly. This is normally constructed from the `:region`
213
+ # option. Configuring `:endpoint` is normally reserved for
214
+ # connecting to test or custom endpoints. The endpoint should
215
+ # be a URI formatted like:
216
+ #
217
+ # 'http://example.com'
218
+ # 'https://example.com'
219
+ # 'http://example.com:123'
203
220
  #
204
221
  # @option options [Integer] :endpoint_cache_max_entries (1000)
205
222
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -289,16 +306,25 @@ module Aws::SNS
289
306
  # throttling. This is a provisional mode that may change behavior
290
307
  # in the future.
291
308
  #
292
- #
293
309
  # @option options [String] :sdk_ua_app_id
294
310
  # A unique and opaque application ID that is appended to the
295
- # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
- # maximum length of 50.
311
+ # User-Agent header as app/sdk_ua_app_id. It should have a
312
+ # maximum length of 50. This variable is sourced from environment
313
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
297
314
  #
298
315
  # @option options [String] :secret_access_key
299
316
  #
300
317
  # @option options [String] :session_token
301
318
  #
319
+ # @option options [Array] :sigv4a_signing_region_set
320
+ # A list of regions that should be signed with SigV4a signing. When
321
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
322
+ # in the following locations:
323
+ #
324
+ # * `Aws.config[:sigv4a_signing_region_set]`
325
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
326
+ # * `~/.aws/config`
327
+ #
302
328
  # @option options [Boolean] :stub_responses (false)
303
329
  # Causes the client to return stubbed responses. By default
304
330
  # fake responses are generated and returned. You can specify
@@ -308,6 +334,16 @@ module Aws::SNS
308
334
  # ** Please note ** When response stubbing is enabled, no HTTP
309
335
  # requests are made, and retries are disabled.
310
336
  #
337
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
338
+ # Allows you to provide a telemetry provider, which is used to
339
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
340
+ # will not record or emit any telemetry data. The SDK supports the
341
+ # following telemetry providers:
342
+ #
343
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
344
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
345
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
346
+ #
311
347
  # @option options [Aws::TokenProvider] :token_provider
312
348
  # A Bearer Token Provider. This can be an instance of any one of the
313
349
  # following classes:
@@ -335,52 +371,75 @@ module Aws::SNS
335
371
  # sending the request.
336
372
  #
337
373
  # @option options [Aws::SNS::EndpointProvider] :endpoint_provider
338
- # 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`
339
- #
340
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
341
- # requests through. Formatted like 'http://proxy.com:123'.
342
- #
343
- # @option options [Float] :http_open_timeout (15) The number of
344
- # seconds to wait when opening a HTTP session before raising a
345
- # `Timeout::Error`.
346
- #
347
- # @option options [Float] :http_read_timeout (60) The default
348
- # number of seconds to wait for response data. This value can
349
- # safely be set per-request on the session.
350
- #
351
- # @option options [Float] :http_idle_timeout (5) The number of
352
- # seconds a connection is allowed to sit idle before it is
353
- # considered stale. Stale connections are closed and removed
354
- # from the pool before making a request.
374
+ # The endpoint provider used to resolve endpoints. Any object that responds to
375
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
376
+ # `Aws::SNS::EndpointParameters`.
377
+ #
378
+ # @option options [Float] :http_continue_timeout (1)
379
+ # The number of seconds to wait for a 100-continue response before sending the
380
+ # request body. This option has no effect unless the request has "Expect"
381
+ # header set to "100-continue". Defaults to `nil` which disables this
382
+ # behaviour. This value can safely be set per request on the session.
383
+ #
384
+ # @option options [Float] :http_idle_timeout (5)
385
+ # The number of seconds a connection is allowed to sit idle before it
386
+ # is considered stale. Stale connections are closed and removed from the
387
+ # pool before making a request.
388
+ #
389
+ # @option options [Float] :http_open_timeout (15)
390
+ # The default number of seconds to wait for response data.
391
+ # This value can safely be set per-request on the session.
392
+ #
393
+ # @option options [URI::HTTP,String] :http_proxy
394
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
395
+ #
396
+ # @option options [Float] :http_read_timeout (60)
397
+ # The default number of seconds to wait for response data.
398
+ # This value can safely be set per-request on the session.
399
+ #
400
+ # @option options [Boolean] :http_wire_trace (false)
401
+ # When `true`, HTTP debug output will be sent to the `:logger`.
402
+ #
403
+ # @option options [Proc] :on_chunk_received
404
+ # When a Proc object is provided, it will be used as callback when each chunk
405
+ # of the response body is received. It provides three arguments: the chunk,
406
+ # the number of bytes received, and the total number of
407
+ # bytes in the response (or nil if the server did not send a `content-length`).
408
+ #
409
+ # @option options [Proc] :on_chunk_sent
410
+ # When a Proc object is provided, it will be used as callback when each chunk
411
+ # of the request body is sent. It provides three arguments: the chunk,
412
+ # the number of bytes read from the body, and the total number of
413
+ # bytes in the body.
414
+ #
415
+ # @option options [Boolean] :raise_response_errors (true)
416
+ # When `true`, response errors are raised.
417
+ #
418
+ # @option options [String] :ssl_ca_bundle
419
+ # Full path to the SSL certificate authority bundle file that should be used when
420
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
421
+ # `:ssl_ca_directory` the the system default will be used if available.
422
+ #
423
+ # @option options [String] :ssl_ca_directory
424
+ # Full path of the directory that contains the unbundled SSL certificate
425
+ # authority files for verifying peer certificates. If you do
426
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
427
+ # default will be used if available.
355
428
  #
356
- # @option options [Float] :http_continue_timeout (1) The number of
357
- # seconds to wait for a 100-continue response before sending the
358
- # request body. This option has no effect unless the request has
359
- # "Expect" header set to "100-continue". Defaults to `nil` which
360
- # disables this behaviour. This value can safely be set per
361
- # request on the session.
429
+ # @option options [String] :ssl_ca_store
430
+ # Sets the X509::Store to verify peer certificate.
362
431
  #
363
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
- # in seconds.
432
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
433
+ # Sets a client certificate when creating http connections.
365
434
  #
366
- # @option options [Boolean] :http_wire_trace (false) When `true`,
367
- # HTTP debug output will be sent to the `:logger`.
435
+ # @option options [OpenSSL::PKey] :ssl_key
436
+ # Sets a client key when creating http connections.
368
437
  #
369
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
- # SSL peer certificates are verified when establishing a
371
- # connection.
438
+ # @option options [Float] :ssl_timeout
439
+ # Sets the SSL timeout in seconds
372
440
  #
373
- # @option options [String] :ssl_ca_bundle Full path to the SSL
374
- # certificate authority bundle file that should be used when
375
- # verifying peer certificates. If you do not pass
376
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
377
- # will be used if available.
378
- #
379
- # @option options [String] :ssl_ca_directory Full path of the
380
- # directory that contains the unbundled SSL certificate
381
- # authority files for verifying peer certificates. If you do
382
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
383
- # system default will be used if available.
441
+ # @option options [Boolean] :ssl_verify_peer (true)
442
+ # When `true`, SSL peer certificates are verified when establishing a connection.
384
443
  #
385
444
  def initialize(*args)
386
445
  super
@@ -521,27 +580,34 @@ module Aws::SNS
521
580
  # `PlatformPrincipal` and `PlatformCredential` are received from the
522
581
  # notification service.
523
582
  #
524
- # * For `ADM`, `PlatformPrincipal` is `client id` and
525
- # `PlatformCredential` is `client secret`.
526
- #
527
- # * For `Baidu`, `PlatformPrincipal` is `API key` and
528
- # `PlatformCredential` is `secret key`.
583
+ # * For ADM, `PlatformPrincipal` is `client id` and `PlatformCredential`
584
+ # is `client secret`.
529
585
  #
530
- # * For `APNS` and `APNS_SANDBOX` using certificate credentials,
586
+ # * For APNS and `APNS_SANDBOX` using certificate credentials,
531
587
  # `PlatformPrincipal` is `SSL certificate` and `PlatformCredential` is
532
588
  # `private key`.
533
589
  #
534
- # * For `APNS` and `APNS_SANDBOX` using token credentials,
590
+ # * For APNS and `APNS_SANDBOX` using token credentials,
535
591
  # `PlatformPrincipal` is `signing key ID` and `PlatformCredential` is
536
592
  # `signing key`.
537
593
  #
538
- # * For `GCM` (Firebase Cloud Messaging), there is no
539
- # `PlatformPrincipal` and the `PlatformCredential` is `API key`.
594
+ # * For Baidu, `PlatformPrincipal` is `API key` and `PlatformCredential`
595
+ # is `secret key`.
596
+ #
597
+ # * For GCM (Firebase Cloud Messaging) using key credentials, there is
598
+ # no `PlatformPrincipal`. The `PlatformCredential` is `API key`.
599
+ #
600
+ # * For GCM (Firebase Cloud Messaging) using token credentials, there is
601
+ # no `PlatformPrincipal`. The `PlatformCredential` is a JSON formatted
602
+ # private key file. When using the Amazon Web Services CLI, the file
603
+ # must be in string format and special characters must be ignored. To
604
+ # format the file correctly, Amazon SNS recommends using the following
605
+ # command: `` SERVICE_JSON=`jq @json <<< cat service.json` ``.
540
606
  #
541
- # * For `MPNS`, `PlatformPrincipal` is `TLS certificate` and
607
+ # * For MPNS, `PlatformPrincipal` is `TLS certificate` and
542
608
  # `PlatformCredential` is `private key`.
543
609
  #
544
- # * For `WNS`, `PlatformPrincipal` is `Package Security Identifier` and
610
+ # * For WNS, `PlatformPrincipal` is `Package Security Identifier` and
545
611
  # `PlatformCredential` is `secret key`.
546
612
  #
547
613
  # You can use the returned `PlatformApplicationArn` as an attribute for
@@ -558,7 +624,8 @@ module Aws::SNS
558
624
  # (Firebase Cloud Messaging).
559
625
  #
560
626
  # @option params [required, Hash<String,String>] :attributes
561
- # For a list of attributes, see [SetPlatformApplicationAttributes][1].
627
+ # For a list of attributes, see [ `SetPlatformApplicationAttributes`
628
+ # ][1].
562
629
  #
563
630
  #
564
631
  #
@@ -614,8 +681,8 @@ module Aws::SNS
614
681
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePushBaiduEndpoint.html
615
682
  #
616
683
  # @option params [required, String] :platform_application_arn
617
- # PlatformApplicationArn returned from CreatePlatformApplication is used
618
- # to create a an endpoint.
684
+ # `PlatformApplicationArn` returned from CreatePlatformApplication is
685
+ # used to create a an endpoint.
619
686
  #
620
687
  # @option params [required, String] :token
621
688
  # Unique identifier created by the notification service for an app on a
@@ -630,7 +697,7 @@ module Aws::SNS
630
697
  # not use this data. The data must be in UTF-8 format and less than 2KB.
631
698
  #
632
699
  # @option params [Hash<String,String>] :attributes
633
- # For a list of attributes, see [SetEndpointAttributes][1].
700
+ # For a list of attributes, see [ `SetEndpointAttributes` ][1].
634
701
  #
635
702
  #
636
703
  #
@@ -732,7 +799,7 @@ module Aws::SNS
732
799
  # @option params [Hash<String,String>] :attributes
733
800
  # A map of attributes with their corresponding values.
734
801
  #
735
- # The following lists the names, descriptions, and values of the special
802
+ # The following lists names, descriptions, and values of the special
736
803
  # request parameters that the `CreateTopic` action uses:
737
804
  #
738
805
  # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
@@ -770,7 +837,8 @@ module Aws::SNS
770
837
  #
771
838
  # The following attributes apply only to [FIFO topics][4]:
772
839
  #
773
- # * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
840
+ # * `ArchivePolicy` – The policy that sets the retention period for
841
+ # messages stored in the message archive of an Amazon SNS FIFO topic.
774
842
  #
775
843
  # * `ContentBasedDeduplication` – Enables content-based deduplication
776
844
  # for FIFO topics.
@@ -858,7 +926,7 @@ module Aws::SNS
858
926
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html
859
927
  #
860
928
  # @option params [required, String] :endpoint_arn
861
- # EndpointArn of endpoint to delete.
929
+ # `EndpointArn` of endpoint to delete.
862
930
  #
863
931
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
864
932
  #
@@ -887,7 +955,7 @@ module Aws::SNS
887
955
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html
888
956
  #
889
957
  # @option params [required, String] :platform_application_arn
890
- # PlatformApplicationArn of platform application object to delete.
958
+ # `PlatformApplicationArn` of platform application object to delete.
891
959
  #
892
960
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
893
961
  #
@@ -1014,7 +1082,7 @@ module Aws::SNS
1014
1082
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html
1015
1083
  #
1016
1084
  # @option params [required, String] :endpoint_arn
1017
- # EndpointArn for GetEndpointAttributes input.
1085
+ # `EndpointArn` for `GetEndpointAttributes` input.
1018
1086
  #
1019
1087
  # @return [Types::GetEndpointAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1020
1088
  #
@@ -1050,7 +1118,7 @@ module Aws::SNS
1050
1118
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html
1051
1119
  #
1052
1120
  # @option params [required, String] :platform_application_arn
1053
- # PlatformApplicationArn for GetPlatformApplicationAttributesInput.
1121
+ # `PlatformApplicationArn` for GetPlatformApplicationAttributesInput.
1054
1122
  #
1055
1123
  # @return [Types::GetPlatformApplicationAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1056
1124
  #
@@ -1229,12 +1297,12 @@ module Aws::SNS
1229
1297
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html
1230
1298
  #
1231
1299
  # @option params [required, String] :platform_application_arn
1232
- # PlatformApplicationArn for ListEndpointsByPlatformApplicationInput
1300
+ # `PlatformApplicationArn` for `ListEndpointsByPlatformApplicationInput`
1233
1301
  # action.
1234
1302
  #
1235
1303
  # @option params [String] :next_token
1236
- # NextToken string is used when calling
1237
- # ListEndpointsByPlatformApplication action to retrieve additional
1304
+ # `NextToken` string is used when calling
1305
+ # `ListEndpointsByPlatformApplication` action to retrieve additional
1238
1306
  # records that are available after the first page results.
1239
1307
  #
1240
1308
  # @return [Types::ListEndpointsByPlatformApplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -1380,9 +1448,9 @@ module Aws::SNS
1380
1448
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html
1381
1449
  #
1382
1450
  # @option params [String] :next_token
1383
- # NextToken string is used when calling ListPlatformApplications action
1384
- # to retrieve additional records that are available after the first page
1385
- # results.
1451
+ # `NextToken` string is used when calling `ListPlatformApplications`
1452
+ # action to retrieve additional records that are available after the
1453
+ # first page results.
1386
1454
  #
1387
1455
  # @return [Types::ListPlatformApplicationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1388
1456
  #
@@ -1762,9 +1830,8 @@ module Aws::SNS
1762
1830
  # is delivered to email endpoints. This field will also be included, if
1763
1831
  # present, in the standard JSON messages delivered to other endpoints.
1764
1832
  #
1765
- # Constraints: Subjects must be ASCII text that begins with a letter,
1766
- # number, or punctuation mark; must not include line breaks or control
1767
- # characters; and must be less than 100 characters long.
1833
+ # Constraints: Subjects must be UTF-8 text with no line breaks or
1834
+ # control characters, and less than 100 characters long.
1768
1835
  #
1769
1836
  # @option params [String] :message_structure
1770
1837
  # Set `MessageStructure` to `json` if you want to send a different
@@ -1790,7 +1857,7 @@ module Aws::SNS
1790
1857
  # This parameter applies only to FIFO (first-in-first-out) topics. The
1791
1858
  # `MessageDeduplicationId` can contain up to 128 alphanumeric characters
1792
1859
  # `(a-z, A-Z, 0-9)` and punctuation ``
1793
- # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1860
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
1794
1861
  #
1795
1862
  # Every message must have a unique `MessageDeduplicationId`, which is a
1796
1863
  # token used for deduplication of sent messages. If a message with a
@@ -1805,7 +1872,7 @@ module Aws::SNS
1805
1872
  # @option params [String] :message_group_id
1806
1873
  # This parameter applies only to FIFO (first-in-first-out) topics. The
1807
1874
  # `MessageGroupId` can contain up to 128 alphanumeric characters `(a-z,
1808
- # A-Z, 0-9)` and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1875
+ # A-Z, 0-9)` and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
1809
1876
  #
1810
1877
  # The `MessageGroupId` is a tag that specifies that a message belongs to
1811
1878
  # a specific message group. Messages that belong to the same message
@@ -1823,7 +1890,7 @@ module Aws::SNS
1823
1890
  # resp = client.publish({
1824
1891
  # topic_arn: "topicARN",
1825
1892
  # target_arn: "String",
1826
- # phone_number: "String",
1893
+ # phone_number: "PhoneNumber",
1827
1894
  # message: "message", # required
1828
1895
  # subject: "subject",
1829
1896
  # message_structure: "messageStructure",
@@ -2019,7 +2086,7 @@ module Aws::SNS
2019
2086
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html
2020
2087
  #
2021
2088
  # @option params [required, String] :endpoint_arn
2022
- # EndpointArn used for SetEndpointAttributes action.
2089
+ # EndpointArn used for `SetEndpointAttributes` action.
2023
2090
  #
2024
2091
  # @option params [required, Hash<String,String>] :attributes
2025
2092
  # A map of the endpoint attributes. Attributes in this map include the
@@ -2072,7 +2139,8 @@ module Aws::SNS
2072
2139
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.html
2073
2140
  #
2074
2141
  # @option params [required, String] :platform_application_arn
2075
- # PlatformApplicationArn for SetPlatformApplicationAttributes action.
2142
+ # `PlatformApplicationArn` for `SetPlatformApplicationAttributes`
2143
+ # action.
2076
2144
  #
2077
2145
  # @option params [required, Hash<String,String>] :attributes
2078
2146
  # A map of the platform application attributes. Attributes in this map
@@ -2089,8 +2157,16 @@ module Aws::SNS
2089
2157
  # * For Apple Services using token credentials, `PlatformCredential`
2090
2158
  # is signing key.
2091
2159
  #
2092
- # * For GCM (Firebase Cloud Messaging), `PlatformCredential` is API
2093
- # key.
2160
+ # * For GCM (Firebase Cloud Messaging) using key credentials, there is
2161
+ # no `PlatformPrincipal`. The `PlatformCredential` is `API key`.
2162
+ #
2163
+ # * For GCM (Firebase Cloud Messaging) using token credentials, there
2164
+ # is no `PlatformPrincipal`. The `PlatformCredential` is a JSON
2165
+ # formatted private key file. When using the Amazon Web Services
2166
+ # CLI, the file must be in string format and special characters must
2167
+ # be ignored. To format the file correctly, Amazon SNS recommends
2168
+ # using the following command: `` SERVICE_JSON=`jq @json <<< cat
2169
+ # service.json` ``.
2094
2170
  # ^
2095
2171
  #
2096
2172
  # * `PlatformPrincipal` – The principal received from the notification
@@ -2307,7 +2383,6 @@ module Aws::SNS
2307
2383
  # message attributes.
2308
2384
  #
2309
2385
  # * `MessageBody` – The filter is applied on the message body.
2310
- #
2311
2386
  # * `RawMessageDelivery` – When set to `true`, enables raw message
2312
2387
  # delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need
2313
2388
  # for the endpoints to process JSON formatting, which is otherwise
@@ -2320,20 +2395,18 @@ module Aws::SNS
2320
2395
  # service that powers the subscribed endpoint becomes unavailable) are
2321
2396
  # held in the dead-letter queue for further analysis or reprocessing.
2322
2397
  #
2323
- # The following attribute applies only to Amazon Kinesis Data Firehose
2324
- # delivery stream subscriptions:
2398
+ # The following attribute applies only to Amazon Data Firehose delivery
2399
+ # stream subscriptions:
2325
2400
  #
2326
2401
  # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
2327
2402
  # following:
2328
2403
  #
2329
- # * Permission to write to the Kinesis Data Firehose delivery stream
2404
+ # * Permission to write to the Firehose delivery stream
2330
2405
  #
2331
2406
  # * Amazon SNS listed as a trusted entity
2332
- #
2333
- # Specifying a valid ARN for this attribute is required for Kinesis
2334
- # Data Firehose delivery stream subscriptions. For more information,
2335
- # see [Fanout to Kinesis Data Firehose delivery streams][1] in the
2336
- # *Amazon SNS Developer Guide*.
2407
+ # Specifying a valid ARN for this attribute is required for Firehose
2408
+ # delivery stream subscriptions. For more information, see [Fanout to
2409
+ # Firehose delivery streams][1] in the *Amazon SNS Developer Guide*.
2337
2410
  #
2338
2411
  #
2339
2412
  #
@@ -2411,7 +2484,6 @@ module Aws::SNS
2411
2484
  # * `HTTPFailureFeedbackRoleArn` – Indicates failed message delivery
2412
2485
  # status for an Amazon SNS topic that is subscribed to an HTTP
2413
2486
  # endpoint.
2414
- #
2415
2487
  # * Amazon Kinesis Data Firehose
2416
2488
  #
2417
2489
  # * `FirehoseSuccessFeedbackRoleArn` – Indicates successful message
@@ -2425,7 +2497,6 @@ module Aws::SNS
2425
2497
  # * `FirehoseFailureFeedbackRoleArn` – Indicates failed message
2426
2498
  # delivery status for an Amazon SNS topic that is subscribed to an
2427
2499
  # Amazon Kinesis Data Firehose endpoint.
2428
- #
2429
2500
  # * Lambda
2430
2501
  #
2431
2502
  # * `LambdaSuccessFeedbackRoleArn` – Indicates successful message
@@ -2439,7 +2510,6 @@ module Aws::SNS
2439
2510
  # * `LambdaFailureFeedbackRoleArn` – Indicates failed message delivery
2440
2511
  # status for an Amazon SNS topic that is subscribed to an Lambda
2441
2512
  # endpoint.
2442
- #
2443
2513
  # * Platform application endpoint
2444
2514
  #
2445
2515
  # * `ApplicationSuccessFeedbackRoleArn` – Indicates successful message
@@ -2453,7 +2523,6 @@ module Aws::SNS
2453
2523
  # * `ApplicationFailureFeedbackRoleArn` – Indicates failed message
2454
2524
  # delivery status for an Amazon SNS topic that is subscribed to an
2455
2525
  # Amazon Web Services application endpoint.
2456
- #
2457
2526
  # <note markdown="1"> In addition to being able to configure topic attributes for message
2458
2527
  # delivery status of notification messages sent to Amazon SNS
2459
2528
  # application endpoints, you can also configure application attributes
@@ -2505,6 +2574,9 @@ module Aws::SNS
2505
2574
  #
2506
2575
  # The following attribute applies only to [FIFO topics][5]:
2507
2576
  #
2577
+ # * `ArchivePolicy` – The policy that sets the retention period for
2578
+ # messages stored in the message archive of an Amazon SNS FIFO topic.
2579
+ #
2508
2580
  # * `ContentBasedDeduplication` – Enables content-based deduplication
2509
2581
  # for FIFO topics.
2510
2582
  #
@@ -2558,7 +2630,7 @@ module Aws::SNS
2558
2630
  # `ConfirmSubscription` action to confirm the subscription.
2559
2631
  #
2560
2632
  # You call the `ConfirmSubscription` action with the token from the
2561
- # subscription response. Confirmation tokens are valid for three days.
2633
+ # subscription response. Confirmation tokens are valid for two days.
2562
2634
  #
2563
2635
  # This action is throttled at 100 transactions per second (TPS).
2564
2636
  #
@@ -2637,7 +2709,6 @@ module Aws::SNS
2637
2709
  # message attributes.
2638
2710
  #
2639
2711
  # * `MessageBody` – The filter is applied on the message body.
2640
- #
2641
2712
  # * `RawMessageDelivery` – When set to `true`, enables raw message
2642
2713
  # delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need
2643
2714
  # for the endpoints to process JSON formatting, which is otherwise
@@ -2650,24 +2721,44 @@ module Aws::SNS
2650
2721
  # service that powers the subscribed endpoint becomes unavailable) are
2651
2722
  # held in the dead-letter queue for further analysis or reprocessing.
2652
2723
  #
2653
- # The following attribute applies only to Amazon Kinesis Data Firehose
2654
- # delivery stream subscriptions:
2724
+ # The following attribute applies only to Amazon Data Firehose delivery
2725
+ # stream subscriptions:
2655
2726
  #
2656
2727
  # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
2657
2728
  # following:
2658
2729
  #
2659
- # * Permission to write to the Kinesis Data Firehose delivery stream
2730
+ # * Permission to write to the Firehose delivery stream
2660
2731
  #
2661
2732
  # * Amazon SNS listed as a trusted entity
2733
+ # Specifying a valid ARN for this attribute is required for Firehose
2734
+ # delivery stream subscriptions. For more information, see [Fanout to
2735
+ # Firehose delivery streams][1] in the *Amazon SNS Developer Guide*.
2736
+ #
2737
+ # The following attributes apply only to [FIFO topics][2]:
2738
+ #
2739
+ # * `ReplayPolicy` – Adds or updates an inline policy document for a
2740
+ # subscription to replay messages stored in the specified Amazon SNS
2741
+ # topic.
2742
+ #
2743
+ # * `ReplayStatus` – Retrieves the status of the subscription message
2744
+ # replay, which can be one of the following:
2745
+ #
2746
+ # * `Completed` – The replay has successfully redelivered all
2747
+ # messages, and is now delivering newly published messages. If an
2748
+ # ending point was specified in the `ReplayPolicy` then the
2749
+ # subscription will no longer receive newly published messages.
2750
+ #
2751
+ # * `In progress` – The replay is currently replaying the selected
2752
+ # messages.
2753
+ #
2754
+ # * `Failed` – The replay was unable to complete.
2662
2755
  #
2663
- # Specifying a valid ARN for this attribute is required for Kinesis
2664
- # Data Firehose delivery stream subscriptions. For more information,
2665
- # see [Fanout to Kinesis Data Firehose delivery streams][1] in the
2666
- # *Amazon SNS Developer Guide*.
2756
+ # * `Pending` The default state while the replay initiates.
2667
2757
  #
2668
2758
  #
2669
2759
  #
2670
2760
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html
2761
+ # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
2671
2762
  #
2672
2763
  # @option params [Boolean] :return_subscription_arn
2673
2764
  # Sets whether the response from the `Subscribe` request includes the
@@ -2882,14 +2973,19 @@ module Aws::SNS
2882
2973
  # @api private
2883
2974
  def build_request(operation_name, params = {})
2884
2975
  handlers = @handlers.for(operation_name)
2976
+ tracer = config.telemetry_provider.tracer_provider.tracer(
2977
+ Aws::Telemetry.module_to_tracer_name('Aws::SNS')
2978
+ )
2885
2979
  context = Seahorse::Client::RequestContext.new(
2886
2980
  operation_name: operation_name,
2887
2981
  operation: config.api.operation(operation_name),
2888
2982
  client: self,
2889
2983
  params: params,
2890
- config: config)
2984
+ config: config,
2985
+ tracer: tracer
2986
+ )
2891
2987
  context[:gem_name] = 'aws-sdk-sns'
2892
- context[:gem_version] = '1.67.0'
2988
+ context[:gem_version] = '1.92.0'
2893
2989
  Seahorse::Client::Request.new(handlers, context)
2894
2990
  end
2895
2991