aws-sdk-sns 1.88.0 → 1.112.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.
@@ -7,34 +7,34 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
- require 'seahorse/client/plugins/content_length.rb'
11
- require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
- require 'aws-sdk-core/plugins/logging.rb'
13
- require 'aws-sdk-core/plugins/param_converter.rb'
14
- require 'aws-sdk-core/plugins/param_validator.rb'
15
- require 'aws-sdk-core/plugins/user_agent.rb'
16
- require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
- require 'aws-sdk-core/plugins/retry_errors.rb'
18
- require 'aws-sdk-core/plugins/global_configuration.rb'
19
- require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
- require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
- require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
- require 'aws-sdk-core/plugins/response_paging.rb'
23
- require 'aws-sdk-core/plugins/stub_responses.rb'
24
- require 'aws-sdk-core/plugins/idempotency_token.rb'
25
- require 'aws-sdk-core/plugins/invocation_id.rb'
26
- require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
27
- require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
28
- require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
29
- require 'aws-sdk-core/plugins/transfer_encoding.rb'
30
- require 'aws-sdk-core/plugins/http_checksum.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/telemetry.rb'
36
- require 'aws-sdk-core/plugins/sign.rb'
37
- require 'aws-sdk-core/plugins/protocols/query.rb'
10
+ require 'seahorse/client/plugins/content_length'
11
+ require 'aws-sdk-core/plugins/credentials_configuration'
12
+ require 'aws-sdk-core/plugins/logging'
13
+ require 'aws-sdk-core/plugins/param_converter'
14
+ require 'aws-sdk-core/plugins/param_validator'
15
+ require 'aws-sdk-core/plugins/user_agent'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors'
17
+ require 'aws-sdk-core/plugins/retry_errors'
18
+ require 'aws-sdk-core/plugins/global_configuration'
19
+ require 'aws-sdk-core/plugins/regional_endpoint'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern'
22
+ require 'aws-sdk-core/plugins/response_paging'
23
+ require 'aws-sdk-core/plugins/stub_responses'
24
+ require 'aws-sdk-core/plugins/idempotency_token'
25
+ require 'aws-sdk-core/plugins/invocation_id'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin'
29
+ require 'aws-sdk-core/plugins/transfer_encoding'
30
+ require 'aws-sdk-core/plugins/http_checksum'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm'
32
+ require 'aws-sdk-core/plugins/request_compression'
33
+ require 'aws-sdk-core/plugins/defaults_mode'
34
+ require 'aws-sdk-core/plugins/recursion_detection'
35
+ require 'aws-sdk-core/plugins/telemetry'
36
+ require 'aws-sdk-core/plugins/sign'
37
+ require 'aws-sdk-core/plugins/protocols/query'
38
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`.
@@ -95,8 +95,8 @@ module Aws::SNS
95
95
  # class name or an instance of a plugin class.
96
96
  #
97
97
  # @option options [required, Aws::CredentialProvider] :credentials
98
- # Your AWS credentials. This can be an instance of any one of the
99
- # following classes:
98
+ # Your AWS credentials used for authentication. This can be any class that includes and implements
99
+ # `Aws::CredentialProvider`, or instance of any one of the following classes:
100
100
  #
101
101
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
102
102
  # credentials.
@@ -124,22 +124,24 @@ module Aws::SNS
124
124
  # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
125
125
  # from the Cognito Identity service.
126
126
  #
127
- # When `:credentials` are not configured directly, the following
128
- # locations will be searched for credentials:
127
+ # When `:credentials` are not configured directly, the following locations will be searched for credentials:
129
128
  #
130
129
  # * `Aws.config[:credentials]`
130
+ #
131
131
  # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
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']
133
+ #
134
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
135
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
136
+ #
135
137
  # * `~/.aws/credentials`
138
+ #
136
139
  # * `~/.aws/config`
137
- # * EC2/ECS IMDS instance profile - When used by default, the timeouts
138
- # are very aggressive. Construct and pass an instance of
139
- # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
140
- # enable retries and extended timeouts. Instance profile credential
141
- # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
142
- # to true.
140
+ #
141
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive.
142
+ # Construct and pass an instance of `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
143
+ # enable retries and extended timeouts. Instance profile credential fetching can be disabled by
144
+ # setting `ENV['AWS_EC2_METADATA_DISABLED']` to `true`.
143
145
  #
144
146
  # @option options [required, String] :region
145
147
  # The AWS region to connect to. The configured `:region` is
@@ -167,6 +169,11 @@ module Aws::SNS
167
169
  # When false, the request will raise a `RetryCapacityNotAvailableError` and will
168
170
  # not retry instead of sleeping.
169
171
  #
172
+ # @option options [Array<String>] :auth_scheme_preference
173
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
174
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
175
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
176
+ #
170
177
  # @option options [Boolean] :client_side_monitoring (false)
171
178
  # When `true`, client-side metrics will be collected for all API requests from
172
179
  # this client.
@@ -200,8 +207,7 @@ module Aws::SNS
200
207
  # accepted modes and the configuration defaults that are included.
201
208
  #
202
209
  # @option options [Boolean] :disable_host_prefix_injection (false)
203
- # Set to true to disable SDK automatically adding host prefix
204
- # to default service endpoint when available.
210
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
205
211
  #
206
212
  # @option options [Boolean] :disable_request_compression (false)
207
213
  # When set to 'true' the request body will not be compressed
@@ -254,14 +260,37 @@ module Aws::SNS
254
260
  # 4 times. Used in `standard` and `adaptive` retry modes.
255
261
  #
256
262
  # @option options [String] :profile ("default")
257
- # Used when loading credentials from the shared credentials file
258
- # at HOME/.aws/credentials. When not specified, 'default' is used.
263
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
264
+ # When not specified, 'default' is used.
265
+ #
266
+ # @option options [String] :request_checksum_calculation ("when_supported")
267
+ # Determines when a checksum will be calculated for request payloads. Values are:
268
+ #
269
+ # * `when_supported` - (default) When set, a checksum will be
270
+ # calculated for all request payloads of operations modeled with the
271
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
272
+ # `requestAlgorithmMember` is modeled.
273
+ # * `when_required` - When set, a checksum will only be calculated for
274
+ # request payloads of operations modeled with the `httpChecksum` trait where
275
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
276
+ # is modeled and supplied.
259
277
  #
260
278
  # @option options [Integer] :request_min_compression_size_bytes (10240)
261
279
  # The minimum size in bytes that triggers compression for request
262
280
  # bodies. The value must be non-negative integer value between 0
263
281
  # and 10485780 bytes inclusive.
264
282
  #
283
+ # @option options [String] :response_checksum_validation ("when_supported")
284
+ # Determines when checksum validation will be performed on response payloads. Values are:
285
+ #
286
+ # * `when_supported` - (default) When set, checksum validation is performed on all
287
+ # response payloads of operations modeled with the `httpChecksum` trait where
288
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
289
+ # are supported.
290
+ # * `when_required` - When set, checksum validation is not performed on
291
+ # response payloads of operations unless the checksum algorithm is supported and
292
+ # the `requestValidationModeMember` member is set to `ENABLED`.
293
+ #
265
294
  # @option options [Proc] :retry_backoff
266
295
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
267
296
  # This option is only used in the `legacy` retry mode.
@@ -345,8 +374,8 @@ module Aws::SNS
345
374
  # `Aws::Telemetry::OTelProvider` for telemetry provider.
346
375
  #
347
376
  # @option options [Aws::TokenProvider] :token_provider
348
- # A Bearer Token Provider. This can be an instance of any one of the
349
- # following classes:
377
+ # Your Bearer token used for authentication. This can be any class that includes and implements
378
+ # `Aws::TokenProvider`, or instance of any one of the following classes:
350
379
  #
351
380
  # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
352
381
  # tokens.
@@ -599,10 +628,11 @@ module Aws::SNS
599
628
  #
600
629
  # * For GCM (Firebase Cloud Messaging) using token credentials, there is
601
630
  # 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` ``.
631
+ # private key file. When using the Amazon Web Services CLI or Amazon
632
+ # Web Services SDKs, the file must be in string format and special
633
+ # characters must be ignored. To format the file correctly, Amazon SNS
634
+ # recommends using the following command: `SERVICE_JSON=$(jq @json <
635
+ # service.json)`.
606
636
  #
607
637
  # * For MPNS, `PlatformPrincipal` is `TLS certificate` and
608
638
  # `PlatformCredential` is `private key`.
@@ -808,17 +838,9 @@ module Aws::SNS
808
838
  # * `DisplayName` – The display name to use for a topic with SMS
809
839
  # subscriptions.
810
840
  #
811
- # * `FifoTopic` – Set to true to create a FIFO topic.
812
- #
813
841
  # * `Policy` – The policy that defines who can access your topic. By
814
842
  # default, only the topic owner can publish or subscribe to the topic.
815
843
  #
816
- # * `SignatureVersion` – The signature version corresponds to the
817
- # hashing algorithm used while creating the signature of the
818
- # notifications, subscription confirmations, or unsubscribe
819
- # confirmation messages sent by Amazon SNS. By default,
820
- # `SignatureVersion` is set to `1`.
821
- #
822
844
  # * `TracingConfig` – Tracing mode of an Amazon SNS topic. By default
823
845
  # `TracingConfig` is set to `PassThrough`, and the topic passes
824
846
  # through the tracing header it receives from an Amazon SNS publisher
@@ -826,24 +848,107 @@ module Aws::SNS
826
848
  # segment data to topic owner account if the sampled flag in the
827
849
  # tracing header is true. This is only supported on standard topics.
828
850
  #
829
- # The following attribute applies only to [server-side encryption][1]:
851
+ # * HTTP
852
+ #
853
+ # * `HTTPSuccessFeedbackRoleArn` – Indicates successful message
854
+ # delivery status for an Amazon SNS topic that is subscribed to an
855
+ # HTTP endpoint.
856
+ #
857
+ # * `HTTPSuccessFeedbackSampleRate` – Indicates percentage of
858
+ # successful messages to sample for an Amazon SNS topic that is
859
+ # subscribed to an HTTP endpoint.
860
+ #
861
+ # * `HTTPFailureFeedbackRoleArn` – Indicates failed message delivery
862
+ # status for an Amazon SNS topic that is subscribed to an HTTP
863
+ # endpoint.
864
+ # * Amazon Data Firehose
865
+ #
866
+ # * `FirehoseSuccessFeedbackRoleArn` – Indicates successful message
867
+ # delivery status for an Amazon SNS topic that is subscribed to an
868
+ # Amazon Data Firehose endpoint.
869
+ #
870
+ # * `FirehoseSuccessFeedbackSampleRate` – Indicates percentage of
871
+ # successful messages to sample for an Amazon SNS topic that is
872
+ # subscribed to an Amazon Data Firehose endpoint.
873
+ #
874
+ # * `FirehoseFailureFeedbackRoleArn` – Indicates failed message
875
+ # delivery status for an Amazon SNS topic that is subscribed to an
876
+ # Amazon Data Firehose endpoint.
877
+ # * Lambda
878
+ #
879
+ # * `LambdaSuccessFeedbackRoleArn` – Indicates successful message
880
+ # delivery status for an Amazon SNS topic that is subscribed to an
881
+ # Lambda endpoint.
882
+ #
883
+ # * `LambdaSuccessFeedbackSampleRate` – Indicates percentage of
884
+ # successful messages to sample for an Amazon SNS topic that is
885
+ # subscribed to an Lambda endpoint.
886
+ #
887
+ # * `LambdaFailureFeedbackRoleArn` – Indicates failed message delivery
888
+ # status for an Amazon SNS topic that is subscribed to an Lambda
889
+ # endpoint.
890
+ # * Platform application endpoint
891
+ #
892
+ # * `ApplicationSuccessFeedbackRoleArn` – Indicates successful message
893
+ # delivery status for an Amazon SNS topic that is subscribed to a
894
+ # platform application endpoint.
895
+ #
896
+ # * `ApplicationSuccessFeedbackSampleRate` – Indicates percentage of
897
+ # successful messages to sample for an Amazon SNS topic that is
898
+ # subscribed to an platform application endpoint.
899
+ #
900
+ # * `ApplicationFailureFeedbackRoleArn` – Indicates failed message
901
+ # delivery status for an Amazon SNS topic that is subscribed to an
902
+ # platform application endpoint.
903
+ # <note markdown="1"> In addition to being able to configure topic attributes for message
904
+ # delivery status of notification messages sent to Amazon SNS
905
+ # application endpoints, you can also configure application attributes
906
+ # for the delivery status of push notification messages sent to push
907
+ # notification services.
908
+ #
909
+ # For example, For more information, see [Using Amazon SNS Application
910
+ # Attributes for Message Delivery Status][1].
911
+ #
912
+ # </note>
913
+ #
914
+ # * Amazon SQS
915
+ #
916
+ # * `SQSSuccessFeedbackRoleArn` – Indicates successful message
917
+ # delivery status for an Amazon SNS topic that is subscribed to an
918
+ # Amazon SQS endpoint.
919
+ #
920
+ # * `SQSSuccessFeedbackSampleRate` – Indicates percentage of
921
+ # successful messages to sample for an Amazon SNS topic that is
922
+ # subscribed to an Amazon SQS endpoint.
923
+ #
924
+ # * `SQSFailureFeedbackRoleArn` – Indicates failed message delivery
925
+ # status for an Amazon SNS topic that is subscribed to an Amazon SQS
926
+ # endpoint.
927
+ #
928
+ # <note markdown="1"> The &lt;ENDPOINT&gt;SuccessFeedbackRoleArn and
929
+ # &lt;ENDPOINT&gt;FailureFeedbackRoleArn attributes are used to give
930
+ # Amazon SNS write access to use CloudWatch Logs on your behalf. The
931
+ # &lt;ENDPOINT&gt;SuccessFeedbackSampleRate attribute is for specifying
932
+ # the sample rate percentage (0-100) of successfully delivered messages.
933
+ # After you configure the &lt;ENDPOINT&gt;FailureFeedbackRoleArn
934
+ # attribute, then all failed message deliveries generate CloudWatch
935
+ # Logs.
936
+ #
937
+ # </note>
938
+ #
939
+ # The following attribute applies only to [server-side encryption][2]:
830
940
  #
831
941
  # * `KmsMasterKeyId` – The ID of an Amazon Web Services managed customer
832
942
  # master key (CMK) for Amazon SNS or a custom CMK. For more
833
- # information, see [Key Terms][2]. For more examples, see [KeyId][3]
943
+ # information, see [Key Terms][3]. For more examples, see [KeyId][4]
834
944
  # in the *Key Management Service API Reference*.
835
945
  #
836
946
  # ^
837
947
  #
838
- # The following attributes apply only to [FIFO topics][4]:
948
+ # The following attributes apply only to [FIFO topics][5]:
839
949
  #
840
- # * `ArchivePolicy` – Adds or updates an inline policy document to
841
- # archive messages stored in the specified Amazon SNS topic.
842
- #
843
- # * `BeginningArchiveTime` – The earliest starting point at which a
844
- # message in the topic’s archive can be replayed from. This point in
845
- # time is based on the configured message retention period set by the
846
- # topic’s message archiving policy.
950
+ # * `ArchivePolicy` – The policy that sets the retention period for
951
+ # messages stored in the message archive of an Amazon SNS FIFO topic.
847
952
  #
848
953
  # * `ContentBasedDeduplication` – Enables content-based deduplication
849
954
  # for FIFO topics.
@@ -851,7 +956,7 @@ module Aws::SNS
851
956
  # * By default, `ContentBasedDeduplication` is set to `false`. If you
852
957
  # create a FIFO topic and this attribute is `false`, you must
853
958
  # specify a value for the `MessageDeduplicationId` parameter for the
854
- # [Publish][5] action.
959
+ # [Publish][6] action.
855
960
  #
856
961
  # * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
857
962
  # uses a SHA-256 hash to generate the `MessageDeduplicationId` using
@@ -860,14 +965,32 @@ module Aws::SNS
860
965
  # (Optional) To override the generated value, you can specify a
861
966
  # value for the `MessageDeduplicationId` parameter for the `Publish`
862
967
  # action.
968
+ # ^
969
+ #
970
+ # * `FifoThroughputScope` – Enables higher throughput for your FIFO
971
+ # topic by adjusting the scope of deduplication. This attribute has
972
+ # two possible values:
863
973
  #
974
+ # * `Topic` – The scope of message deduplication is across the entire
975
+ # topic. This is the default value and maintains existing behavior,
976
+ # with a maximum throughput of 3000 messages per second or 20MB per
977
+ # second, whichever comes first.
864
978
  #
979
+ # * `MessageGroup` – The scope of deduplication is within each
980
+ # individual message group, which enables higher throughput per
981
+ # topic subject to regional quotas. For more information on quotas
982
+ # or to request an increase, see [Amazon SNS service quotas][7] in
983
+ # the Amazon Web Services General Reference.
865
984
  #
866
- # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
867
- # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
868
- # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
869
- # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
870
- # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
985
+ #
986
+ #
987
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.html
988
+ # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
989
+ # [3]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
990
+ # [4]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
991
+ # [5]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
992
+ # [6]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
993
+ # [7]: https://docs.aws.amazon.com/general/latest/gr/sns.html
871
994
  #
872
995
  # @option params [Array<Types::Tag>] :tags
873
996
  # The list of tags to add to a new topic.
@@ -1859,31 +1982,71 @@ module Aws::SNS
1859
1982
  # Message attributes for Publish action.
1860
1983
  #
1861
1984
  # @option params [String] :message_deduplication_id
1862
- # This parameter applies only to FIFO (first-in-first-out) topics. The
1863
- # `MessageDeduplicationId` can contain up to 128 alphanumeric characters
1985
+ # * This parameter applies only to FIFO (first-in-first-out) topics. The
1986
+ # `MessageDeduplicationId` can contain up to 128 alphanumeric
1987
+ # characters `(a-z, A-Z, 0-9)` and punctuation ``
1988
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
1989
+ #
1990
+ # * Every message must have a unique `MessageDeduplicationId`, which is
1991
+ # a token used for deduplication of sent messages within the 5 minute
1992
+ # minimum deduplication interval.
1993
+ #
1994
+ # * The scope of deduplication depends on the `FifoThroughputScope`
1995
+ # attribute, when set to `Topic` the message deduplication scope is
1996
+ # across the entire topic, when set to `MessageGroup` the message
1997
+ # deduplication scope is within each individual message group.
1998
+ #
1999
+ # * If a message with a particular `MessageDeduplicationId` is sent
2000
+ # successfully, subsequent messages within the deduplication scope and
2001
+ # interval, with the same `MessageDeduplicationId`, are accepted
2002
+ # successfully but aren't delivered.
2003
+ #
2004
+ # * Every message must have a unique `MessageDeduplicationId`:
2005
+ #
2006
+ # * You may provide a `MessageDeduplicationId` explicitly.
2007
+ #
2008
+ # * If you aren't able to provide a `MessageDeduplicationId` and you
2009
+ # enable `ContentBasedDeduplication` for your topic, Amazon SNS uses
2010
+ # a SHA-256 hash to generate the `MessageDeduplicationId` using the
2011
+ # body of the message (but not the attributes of the message).
2012
+ #
2013
+ # * If you don't provide a `MessageDeduplicationId` and the topic
2014
+ # doesn't have `ContentBasedDeduplication` set, the action fails
2015
+ # with an error.
2016
+ #
2017
+ # * If the topic has a `ContentBasedDeduplication` set, your
2018
+ # `MessageDeduplicationId` overrides the generated one.
2019
+ # * When `ContentBasedDeduplication` is in effect, messages with
2020
+ # identical content sent within the deduplication scope and interval
2021
+ # are treated as duplicates and only one copy of the message is
2022
+ # delivered.
2023
+ #
2024
+ # * If you send one message with `ContentBasedDeduplication` enabled,
2025
+ # and then another message with a `MessageDeduplicationId` that is the
2026
+ # same as the one generated for the first `MessageDeduplicationId`,
2027
+ # the two messages are treated as duplicates, within the deduplication
2028
+ # scope and interval, and only one copy of the message is delivered.
2029
+ #
2030
+ # @option params [String] :message_group_id
2031
+ # The `MessageGroupId` can contain up to 128 alphanumeric characters
1864
2032
  # `(a-z, A-Z, 0-9)` and punctuation ``
1865
- # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
2033
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
1866
2034
  #
1867
- # Every message must have a unique `MessageDeduplicationId`, which is a
1868
- # token used for deduplication of sent messages. If a message with a
1869
- # particular `MessageDeduplicationId` is sent successfully, any message
1870
- # sent with the same `MessageDeduplicationId` during the 5-minute
1871
- # deduplication interval is treated as a duplicate.
2035
+ # For FIFO topics: The `MessageGroupId` is a tag that specifies that a
2036
+ # message belongs to a specific message group. Messages that belong to
2037
+ # the same message group are processed in a FIFO manner (however,
2038
+ # messages in different message groups might be processed out of order).
2039
+ # Every message must include a `MessageGroupId`.
1872
2040
  #
1873
- # If the topic has `ContentBasedDeduplication` set, the system generates
1874
- # a `MessageDeduplicationId` based on the contents of the message. Your
1875
- # `MessageDeduplicationId` overrides the generated one.
2041
+ # For standard topics: The `MessageGroupId` is optional and is forwarded
2042
+ # only to Amazon SQS standard subscriptions to activate [fair
2043
+ # queues][1]. The `MessageGroupId` is not used for, or sent to, any
2044
+ # other endpoint types. When provided, the same validation rules apply
2045
+ # as for FIFO topics.
1876
2046
  #
1877
- # @option params [String] :message_group_id
1878
- # This parameter applies only to FIFO (first-in-first-out) topics. The
1879
- # `MessageGroupId` can contain up to 128 alphanumeric characters `(a-z,
1880
- # A-Z, 0-9)` and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1881
2047
  #
1882
- # The `MessageGroupId` is a tag that specifies that a message belongs to
1883
- # a specific message group. Messages that belong to the same message
1884
- # group are processed in a FIFO manner (however, messages in different
1885
- # message groups might be processed out of order). Every message must
1886
- # include a `MessageGroupId`.
2048
+ #
2049
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fair-queues.html
1887
2050
  #
1888
2051
  # @return [Types::PublishResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1889
2052
  #
@@ -1924,34 +2087,45 @@ module Aws::SNS
1924
2087
  req.send_request(options)
1925
2088
  end
1926
2089
 
1927
- # Publishes up to ten messages to the specified topic. This is a batch
1928
- # version of `Publish`. For FIFO topics, multiple messages within a
1929
- # single batch are published in the order they are sent, and messages
1930
- # are deduplicated within the batch and across batches for 5 minutes.
2090
+ # Publishes up to 10 messages to the specified topic in a single batch.
2091
+ # This is a batch version of the `Publish` API. If you try to send more
2092
+ # than 10 messages in a single batch request, you will receive a
2093
+ # `TooManyEntriesInBatchRequest` exception.
2094
+ #
2095
+ # For FIFO topics, multiple messages within a single batch are published
2096
+ # in the order they are sent, and messages are deduplicated within the
2097
+ # batch and across batches for five minutes.
1931
2098
  #
1932
2099
  # The result of publishing each message is reported individually in the
1933
2100
  # response. Because the batch request can result in a combination of
1934
2101
  # successful and unsuccessful actions, you should check for batch errors
1935
- # even when the call returns an HTTP status code of `200`.
2102
+ # even when the call returns an HTTP status code of 200.
1936
2103
  #
1937
2104
  # The maximum allowed individual message size and the maximum total
1938
2105
  # payload size (the sum of the individual lengths of all of the batched
1939
2106
  # messages) are both 256 KB (262,144 bytes).
1940
2107
  #
2108
+ # The `PublishBatch` API can send up to 10 messages at a time. If you
2109
+ # attempt to send more than 10 messages in one request, you will
2110
+ # encounter a `TooManyEntriesInBatchRequest` exception. In such cases,
2111
+ # split your messages into multiple requests, each containing no more
2112
+ # than 10 messages.
2113
+ #
1941
2114
  # Some actions take lists of parameters. These lists are specified using
1942
- # the `param.n` notation. Values of `n` are integers starting from 1.
1943
- # For example, a parameter list with two elements looks like this:
2115
+ # the `param.n` notation. Values of `n` are integers starting from
2116
+ # **1**. For example, a parameter list with two elements looks like
2117
+ # this:
1944
2118
  #
1945
- # &amp;AttributeName.1=first
2119
+ # `&AttributeName.1=first`
1946
2120
  #
1947
- # &amp;AttributeName.2=second
2121
+ # `&AttributeName.2=second`
1948
2122
  #
1949
2123
  # If you send a batch message to a topic, Amazon SNS publishes the batch
1950
2124
  # message to each endpoint that is subscribed to the topic. The format
1951
2125
  # of the batch message depends on the notification protocol for each
1952
2126
  # subscribed endpoint.
1953
2127
  #
1954
- # When a `messageId` is returned, the batch message is saved and Amazon
2128
+ # When a `messageId` is returned, the batch message is saved, and Amazon
1955
2129
  # SNS immediately delivers the message to subscribers.
1956
2130
  #
1957
2131
  # @option params [required, String] :topic_arn
@@ -2388,7 +2562,6 @@ module Aws::SNS
2388
2562
  # message attributes.
2389
2563
  #
2390
2564
  # * `MessageBody` – The filter is applied on the message body.
2391
- #
2392
2565
  # * `RawMessageDelivery` – When set to `true`, enables raw message
2393
2566
  # delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need
2394
2567
  # for the endpoints to process JSON formatting, which is otherwise
@@ -2410,7 +2583,6 @@ module Aws::SNS
2410
2583
  # * Permission to write to the Firehose delivery stream
2411
2584
  #
2412
2585
  # * Amazon SNS listed as a trusted entity
2413
- #
2414
2586
  # Specifying a valid ARN for this attribute is required for Firehose
2415
2587
  # delivery stream subscriptions. For more information, see [Fanout to
2416
2588
  # Firehose delivery streams][1] in the *Amazon SNS Developer Guide*.
@@ -2458,10 +2630,6 @@ module Aws::SNS
2458
2630
  # The following lists the names, descriptions, and values of the special
2459
2631
  # request parameters that the `SetTopicAttributes` action uses:
2460
2632
  #
2461
- # * `ApplicationSuccessFeedbackRoleArn` – Indicates failed message
2462
- # delivery status for an Amazon SNS topic that is subscribed to a
2463
- # platform application endpoint.
2464
- #
2465
2633
  # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
2466
2634
  # failed deliveries to HTTP/S endpoints.
2467
2635
  #
@@ -2491,21 +2659,19 @@ module Aws::SNS
2491
2659
  # * `HTTPFailureFeedbackRoleArn` – Indicates failed message delivery
2492
2660
  # status for an Amazon SNS topic that is subscribed to an HTTP
2493
2661
  # endpoint.
2494
- #
2495
- # * Amazon Kinesis Data Firehose
2662
+ # * Amazon Data Firehose
2496
2663
  #
2497
2664
  # * `FirehoseSuccessFeedbackRoleArn` – Indicates successful message
2498
2665
  # delivery status for an Amazon SNS topic that is subscribed to an
2499
- # Amazon Kinesis Data Firehose endpoint.
2666
+ # Amazon Data Firehose endpoint.
2500
2667
  #
2501
2668
  # * `FirehoseSuccessFeedbackSampleRate` – Indicates percentage of
2502
2669
  # successful messages to sample for an Amazon SNS topic that is
2503
- # subscribed to an Amazon Kinesis Data Firehose endpoint.
2670
+ # subscribed to an Amazon Data Firehose endpoint.
2504
2671
  #
2505
2672
  # * `FirehoseFailureFeedbackRoleArn` – Indicates failed message
2506
2673
  # delivery status for an Amazon SNS topic that is subscribed to an
2507
- # Amazon Kinesis Data Firehose endpoint.
2508
- #
2674
+ # Amazon Data Firehose endpoint.
2509
2675
  # * Lambda
2510
2676
  #
2511
2677
  # * `LambdaSuccessFeedbackRoleArn` – Indicates successful message
@@ -2519,21 +2685,19 @@ module Aws::SNS
2519
2685
  # * `LambdaFailureFeedbackRoleArn` – Indicates failed message delivery
2520
2686
  # status for an Amazon SNS topic that is subscribed to an Lambda
2521
2687
  # endpoint.
2522
- #
2523
2688
  # * Platform application endpoint
2524
2689
  #
2525
2690
  # * `ApplicationSuccessFeedbackRoleArn` – Indicates successful message
2526
2691
  # delivery status for an Amazon SNS topic that is subscribed to an
2527
- # Amazon Web Services application endpoint.
2692
+ # platform application endpoint.
2528
2693
  #
2529
2694
  # * `ApplicationSuccessFeedbackSampleRate` – Indicates percentage of
2530
2695
  # successful messages to sample for an Amazon SNS topic that is
2531
- # subscribed to an Amazon Web Services application endpoint.
2696
+ # subscribed to an platform application endpoint.
2532
2697
  #
2533
2698
  # * `ApplicationFailureFeedbackRoleArn` – Indicates failed message
2534
2699
  # delivery status for an Amazon SNS topic that is subscribed to an
2535
- # Amazon Web Services application endpoint.
2536
- #
2700
+ # platform application endpoint.
2537
2701
  # <note markdown="1"> In addition to being able to configure topic attributes for message
2538
2702
  # delivery status of notification messages sent to Amazon SNS
2539
2703
  # application endpoints, you can also configure application attributes
@@ -2585,6 +2749,9 @@ module Aws::SNS
2585
2749
  #
2586
2750
  # The following attribute applies only to [FIFO topics][5]:
2587
2751
  #
2752
+ # * `ArchivePolicy` – The policy that sets the retention period for
2753
+ # messages stored in the message archive of an Amazon SNS FIFO topic.
2754
+ #
2588
2755
  # * `ContentBasedDeduplication` – Enables content-based deduplication
2589
2756
  # for FIFO topics.
2590
2757
  #
@@ -2600,6 +2767,22 @@ module Aws::SNS
2600
2767
  # (Optional) To override the generated value, you can specify a
2601
2768
  # value for the `MessageDeduplicationId` parameter for the `Publish`
2602
2769
  # action.
2770
+ # ^
2771
+ #
2772
+ # * `FifoThroughputScope` – Enables higher throughput for your FIFO
2773
+ # topic by adjusting the scope of deduplication. This attribute has
2774
+ # two possible values:
2775
+ #
2776
+ # * `Topic` – The scope of message deduplication is across the entire
2777
+ # topic. This is the default value and maintains existing behavior,
2778
+ # with a maximum throughput of 3000 messages per second or 20MB per
2779
+ # second, whichever comes first.
2780
+ #
2781
+ # * `MessageGroup` – The scope of deduplication is within each
2782
+ # individual message group, which enables higher throughput per
2783
+ # topic subject to regional quotas. For more information on quotas
2784
+ # or to request an increase, see [Amazon SNS service quotas][7] in
2785
+ # the Amazon Web Services General Reference.
2603
2786
  #
2604
2787
  #
2605
2788
  #
@@ -2609,6 +2792,7 @@ module Aws::SNS
2609
2792
  # [4]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
2610
2793
  # [5]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
2611
2794
  # [6]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
2795
+ # [7]: https://docs.aws.amazon.com/general/latest/gr/sns.html
2612
2796
  #
2613
2797
  # @option params [String] :attribute_value
2614
2798
  # The new value for the attribute.
@@ -2665,8 +2849,8 @@ module Aws::SNS
2665
2849
  #
2666
2850
  # * `lambda` – delivery of JSON-encoded message to an Lambda function
2667
2851
  #
2668
- # * `firehose` – delivery of JSON-encoded message to an Amazon Kinesis
2669
- # Data Firehose delivery stream.
2852
+ # * `firehose` – delivery of JSON-encoded message to an Amazon Data
2853
+ # Firehose delivery stream.
2670
2854
  #
2671
2855
  # @option params [String] :endpoint
2672
2856
  # The endpoint that you want to receive notifications. Endpoints vary by
@@ -2695,7 +2879,7 @@ module Aws::SNS
2695
2879
  # function.
2696
2880
  #
2697
2881
  # * For the `firehose` protocol, the endpoint is the ARN of an Amazon
2698
- # Kinesis Data Firehose delivery stream.
2882
+ # Data Firehose delivery stream.
2699
2883
  #
2700
2884
  # @option params [Hash<String,String>] :attributes
2701
2885
  # A map of attributes with their corresponding values.
@@ -2717,7 +2901,6 @@ module Aws::SNS
2717
2901
  # message attributes.
2718
2902
  #
2719
2903
  # * `MessageBody` – The filter is applied on the message body.
2720
- #
2721
2904
  # * `RawMessageDelivery` – When set to `true`, enables raw message
2722
2905
  # delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need
2723
2906
  # for the endpoints to process JSON formatting, which is otherwise
@@ -2739,7 +2922,6 @@ module Aws::SNS
2739
2922
  # * Permission to write to the Firehose delivery stream
2740
2923
  #
2741
2924
  # * Amazon SNS listed as a trusted entity
2742
- #
2743
2925
  # Specifying a valid ARN for this attribute is required for Firehose
2744
2926
  # delivery stream subscriptions. For more information, see [Fanout to
2745
2927
  # Firehose delivery streams][1] in the *Amazon SNS Developer Guide*.
@@ -2876,12 +3058,6 @@ module Aws::SNS
2876
3058
  # is delivered to the endpoint, so that the endpoint owner can easily
2877
3059
  # resubscribe to the topic if the `Unsubscribe` request was unintended.
2878
3060
  #
2879
- # <note markdown="1"> Amazon SQS queue subscriptions require authentication for deletion.
2880
- # Only the owner of the subscription, or the owner of the topic can
2881
- # unsubscribe using the required Amazon Web Services signature.
2882
- #
2883
- # </note>
2884
- #
2885
3061
  # This action is throttled at 100 transactions per second (TPS).
2886
3062
  #
2887
3063
  # @option params [required, String] :subscription_arn
@@ -2995,7 +3171,7 @@ module Aws::SNS
2995
3171
  tracer: tracer
2996
3172
  )
2997
3173
  context[:gem_name] = 'aws-sdk-sns'
2998
- context[:gem_version] = '1.88.0'
3174
+ context[:gem_version] = '1.112.0'
2999
3175
  Seahorse::Client::Request.new(handlers, context)
3000
3176
  end
3001
3177