aws-sdk-sns 1.33.0 → 1.38.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b390099af9da27241a7bf31dacae9567b22709ce5428a166dade893121da02f4
4
- data.tar.gz: 20a343e906d29214f10b5545749a7b0e8bc887b18c032de04d0f78268e3fc5f8
3
+ metadata.gz: fb4083c544c356daa44e6569fe2b5bc063969636bf38bd4e338934e1b4b04c4e
4
+ data.tar.gz: 9757945b73520d1ea5aa121e7e9d184f5e191771d40fe3e0f53a7a97eeee6134
5
5
  SHA512:
6
- metadata.gz: b5bbbf8d705ed1e0ef3ece707714b51ea192d3076f9a38222e8869ec496b8f52ecb364d0a75052e195c02a59a76cea6618fcf9f907e45e9075a74e751fb4d095
7
- data.tar.gz: 860ec6364dd8da8f7ca890afaa3af60b75d60f40aff464fe5e681bc8a437a9452fc19f77f20192a10b58d9c9b524fe1bed9c15fc627bf961cd103c2acadaddc2
6
+ metadata.gz: '086e902937fcd6927e216ff0553abfd684617548f68ab317ad6137d3bb47fac11e45276e632a2f08d3d8965954cd4c34ee53c979153a1b5ce1122fa568eac5f0'
7
+ data.tar.gz: 965625e08f1c24aba6fa990121a37c72e3bcffbf49197295572d28347a5ff3c5e955deb4535538e0e33eb358c25982e4a8844b3cb9b0fa2b38c64f2699304c72
data/lib/aws-sdk-sns.rb CHANGED
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-sns/customizations'
52
52
  # @!group service
53
53
  module Aws::SNS
54
54
 
55
- GEM_VERSION = '1.33.0'
55
+ GEM_VERSION = '1.38.0'
56
56
 
57
57
  end
@@ -591,10 +591,11 @@ module Aws::SNS
591
591
  end
592
592
 
593
593
  # Creates a topic to which notifications can be published. Users can
594
- # create at most 100,000 topics. For more information, see
595
- # [https://aws.amazon.com/sns][1]. This action is idempotent, so if the
596
- # requester already owns a topic with the specified name, that topic's
597
- # ARN is returned without creating a new topic.
594
+ # create at most 100,000 standard topics (at most 1,000 FIFO topics).
595
+ # For more information, see [https://aws.amazon.com/sns][1]. This action
596
+ # is idempotent, so if the requester already owns a topic with the
597
+ # specified name, that topic's ARN is returned without creating a new
598
+ # topic.
598
599
  #
599
600
  #
600
601
  #
@@ -607,6 +608,9 @@ module Aws::SNS
607
608
  # lowercase ASCII letters, numbers, underscores, and hyphens, and must
608
609
  # be between 1 and 256 characters long.
609
610
  #
611
+ # For a FIFO (first-in-first-out) topic, the name must end with the
612
+ # `.fifo` suffix.
613
+ #
610
614
  # @option params [Hash<String,String>] :attributes
611
615
  # A map of attributes with their corresponding values.
612
616
  #
@@ -619,23 +623,47 @@ module Aws::SNS
619
623
  # * `DisplayName` – The display name to use for a topic with SMS
620
624
  # subscriptions.
621
625
  #
626
+ # * `FifoTopic` – Set to true to create a FIFO topic.
627
+ #
622
628
  # * `Policy` – The policy that defines who can access your topic. By
623
629
  # default, only the topic owner can publish or subscribe to the topic.
624
630
  #
625
631
  # The following attribute applies only to [server-side-encryption][1]\:
626
632
  #
627
- # * `KmsMasterKeyId` - The ID of an AWS-managed customer master key
633
+ # * `KmsMasterKeyId` The ID of an AWS-managed customer master key
628
634
  # (CMK) for Amazon SNS or a custom CMK. For more information, see [Key
629
635
  # Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
630
636
  # Management Service API Reference*.
631
637
  #
632
638
  # ^
633
639
  #
640
+ # The following attributes apply only to [FIFO topics][4]\:
641
+ #
642
+ # * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
643
+ #
644
+ # * `ContentBasedDeduplication` – Enables content-based deduplication
645
+ # for FIFO topics.
646
+ #
647
+ # * By default, `ContentBasedDeduplication` is set to `false`. If you
648
+ # create a FIFO topic and this attribute is `false`, you must
649
+ # specify a value for the `MessageDeduplicationId` parameter for the
650
+ # [Publish][5] action.
651
+ #
652
+ # * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
653
+ # uses a SHA-256 hash to generate the `MessageDeduplicationId` using
654
+ # the body of the message (but not the attributes of the message).
655
+ #
656
+ # (Optional) To override the generated value, you can specify a
657
+ # value for the the `MessageDeduplicationId` parameter for the
658
+ # `Publish` action.
659
+ #
634
660
  #
635
661
  #
636
662
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
637
663
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
638
664
  # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
665
+ # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
666
+ # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
639
667
  #
640
668
  # @option params [Array<Types::Tag>] :tags
641
669
  # The list of tags to add to a new topic.
@@ -1403,9 +1431,37 @@ module Aws::SNS
1403
1431
  # @option params [Hash<String,Types::MessageAttributeValue>] :message_attributes
1404
1432
  # Message attributes for Publish action.
1405
1433
  #
1434
+ # @option params [String] :message_deduplication_id
1435
+ # This parameter applies only to FIFO (first-in-first-out) topics. The
1436
+ # `MessageDeduplicationId` can contain up to 128 alphanumeric characters
1437
+ # (a-z, A-Z, 0-9) and punctuation ``
1438
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1439
+ #
1440
+ # Every message must have a unique `MessageDeduplicationId`, which is a
1441
+ # token used for deduplication of sent messages. If a message with a
1442
+ # particular `MessageDeduplicationId` is sent successfully, any message
1443
+ # sent with the same `MessageDeduplicationId` during the 5-minute
1444
+ # deduplication interval is treated as a duplicate.
1445
+ #
1446
+ # If the topic has `ContentBasedDeduplication` set, the system generates
1447
+ # a `MessageDeduplicationId` based on the contents of the message. Your
1448
+ # `MessageDeduplicationId` overrides the generated one.
1449
+ #
1450
+ # @option params [String] :message_group_id
1451
+ # This parameter applies only to FIFO (first-in-first-out) topics. The
1452
+ # `MessageGroupId` can contain up to 128 alphanumeric characters (a-z,
1453
+ # A-Z, 0-9) and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1454
+ #
1455
+ # The `MessageGroupId` is a tag that specifies that a message belongs to
1456
+ # a specific message group. Messages that belong to the same message
1457
+ # group are processed in a FIFO manner (however, messages in different
1458
+ # message groups might be processed out of order). Every message must
1459
+ # include a `MessageGroupId`.
1460
+ #
1406
1461
  # @return [Types::PublishResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1407
1462
  #
1408
1463
  # * {Types::PublishResponse#message_id #message_id} => String
1464
+ # * {Types::PublishResponse#sequence_number #sequence_number} => String
1409
1465
  #
1410
1466
  # @example Request syntax with placeholder values
1411
1467
  #
@@ -1423,11 +1479,14 @@ module Aws::SNS
1423
1479
  # binary_value: "data",
1424
1480
  # },
1425
1481
  # },
1482
+ # message_deduplication_id: "String",
1483
+ # message_group_id: "String",
1426
1484
  # })
1427
1485
  #
1428
1486
  # @example Response structure
1429
1487
  #
1430
1488
  # resp.message_id #=> String
1489
+ # resp.sequence_number #=> String
1431
1490
  #
1432
1491
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/Publish AWS API Documentation
1433
1492
  #
@@ -1591,8 +1650,14 @@ module Aws::SNS
1591
1650
  #
1592
1651
  # You can override some of these settings for a single message when you
1593
1652
  # use the `Publish` action with the `MessageAttributes.entry.N`
1594
- # parameter. For more information, see [Sending an SMS Message][1] in
1595
- # the *Amazon SNS Developer Guide*.
1653
+ # parameter. For more information, see [Publishing to a mobile phone][1]
1654
+ # in the *Amazon SNS Developer Guide*.
1655
+ #
1656
+ # <note markdown="1"> To use this operation, you must grant the Amazon SNS service principal
1657
+ # (`sns.amazonaws.com`) permission to perform the `s3:ListBucket`
1658
+ # action.
1659
+ #
1660
+ # </note>
1596
1661
  #
1597
1662
  #
1598
1663
  #
@@ -1711,7 +1776,7 @@ module Aws::SNS
1711
1776
  # A map of attributes with their corresponding values.
1712
1777
  #
1713
1778
  # The following lists the names, descriptions, and values of the special
1714
- # request parameters that the `SetTopicAttributes` action uses:
1779
+ # request parameters that this action uses:
1715
1780
  #
1716
1781
  # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
1717
1782
  # failed deliveries to HTTP/S endpoints.
@@ -1732,6 +1797,25 @@ module Aws::SNS
1732
1797
  # service that powers the subscribed endpoint becomes unavailable) are
1733
1798
  # held in the dead-letter queue for further analysis or reprocessing.
1734
1799
  #
1800
+ # The following attribute applies only to Amazon Kinesis Data Firehose
1801
+ # delivery stream subscriptions:
1802
+ #
1803
+ # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
1804
+ # following:
1805
+ #
1806
+ # * Permission to write to the Kinesis Data Firehose delivery stream
1807
+ #
1808
+ # * Amazon SNS listed as a trusted entity
1809
+ #
1810
+ # Specifying a valid ARN for this attribute is required for Kinesis
1811
+ # Data Firehose delivery stream subscriptions. For more information,
1812
+ # see [Fanout to Kinesis Data Firehose delivery streams][1] in the
1813
+ # *Amazon SNS Developer Guide*.
1814
+ #
1815
+ #
1816
+ #
1817
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
1818
+ #
1735
1819
  # @option params [String] :attribute_value
1736
1820
  # The new value for the attribute in JSON format.
1737
1821
  #
@@ -1776,18 +1860,38 @@ module Aws::SNS
1776
1860
  #
1777
1861
  # The following attribute applies only to [server-side-encryption][1]\:
1778
1862
  #
1779
- # * `KmsMasterKeyId` - The ID of an AWS-managed customer master key
1863
+ # * `KmsMasterKeyId` The ID of an AWS-managed customer master key
1780
1864
  # (CMK) for Amazon SNS or a custom CMK. For more information, see [Key
1781
1865
  # Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
1782
1866
  # Management Service API Reference*.
1783
1867
  #
1784
1868
  # ^
1785
1869
  #
1870
+ # The following attribute applies only to [FIFO topics][4]\:
1871
+ #
1872
+ # * `ContentBasedDeduplication` – Enables content-based deduplication
1873
+ # for FIFO topics.
1874
+ #
1875
+ # * By default, `ContentBasedDeduplication` is set to `false`. If you
1876
+ # create a FIFO topic and this attribute is `false`, you must
1877
+ # specify a value for the `MessageDeduplicationId` parameter for the
1878
+ # [Publish][5] action.
1879
+ #
1880
+ # * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
1881
+ # uses a SHA-256 hash to generate the `MessageDeduplicationId` using
1882
+ # the body of the message (but not the attributes of the message).
1883
+ #
1884
+ # (Optional) To override the generated value, you can specify a
1885
+ # value for the the `MessageDeduplicationId` parameter for the
1886
+ # `Publish` action.
1887
+ #
1786
1888
  #
1787
1889
  #
1788
1890
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
1789
1891
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
1790
1892
  # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
1893
+ # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
1894
+ # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
1791
1895
  #
1792
1896
  # @option params [String] :attribute_value
1793
1897
  # The new value for the attribute.
@@ -1813,8 +1917,8 @@ module Aws::SNS
1813
1917
 
1814
1918
  # Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is
1815
1919
  # HTTP/S or email, or if the endpoint and the topic are not in the same
1816
- # AWS account, the endpoint owner must the `ConfirmSubscription` action
1817
- # to confirm the subscription.
1920
+ # AWS account, the endpoint owner must run the `ConfirmSubscription`
1921
+ # action to confirm the subscription.
1818
1922
  #
1819
1923
  # You call the `ConfirmSubscription` action with the token from the
1820
1924
  # subscription response. Confirmation tokens are valid for three days.
@@ -1825,7 +1929,7 @@ module Aws::SNS
1825
1929
  # The ARN of the topic you want to subscribe to.
1826
1930
  #
1827
1931
  # @option params [required, String] :protocol
1828
- # The protocol you want to use. Supported protocols include:
1932
+ # The protocol that you want to use. Supported protocols include:
1829
1933
  #
1830
1934
  # * `http` – delivery of JSON-encoded message via HTTP POST
1831
1935
  #
@@ -1840,36 +1944,42 @@ module Aws::SNS
1840
1944
  # * `sqs` – delivery of JSON-encoded message to an Amazon SQS queue
1841
1945
  #
1842
1946
  # * `application` – delivery of JSON-encoded message to an EndpointArn
1843
- # for a mobile app and device.
1947
+ # for a mobile app and device
1844
1948
  #
1845
- # * `lambda` – delivery of JSON-encoded message to an Amazon Lambda
1846
- # function.
1949
+ # * `lambda` – delivery of JSON-encoded message to an AWS Lambda
1950
+ # function
1951
+ #
1952
+ # * `firehose` – delivery of JSON-encoded message to an Amazon Kinesis
1953
+ # Data Firehose delivery stream.
1847
1954
  #
1848
1955
  # @option params [String] :endpoint
1849
1956
  # The endpoint that you want to receive notifications. Endpoints vary by
1850
1957
  # protocol:
1851
1958
  #
1852
1959
  # * For the `http` protocol, the (public) endpoint is a URL beginning
1853
- # with `http://`
1960
+ # with `http://`.
1854
1961
  #
1855
1962
  # * For the `https` protocol, the (public) endpoint is a URL beginning
1856
- # with `https://`
1963
+ # with `https://`.
1857
1964
  #
1858
- # * For the `email` protocol, the endpoint is an email address
1965
+ # * For the `email` protocol, the endpoint is an email address.
1859
1966
  #
1860
- # * For the `email-json` protocol, the endpoint is an email address
1967
+ # * For the `email-json` protocol, the endpoint is an email address.
1861
1968
  #
1862
1969
  # * For the `sms` protocol, the endpoint is a phone number of an
1863
- # SMS-enabled device
1970
+ # SMS-enabled device.
1864
1971
  #
1865
1972
  # * For the `sqs` protocol, the endpoint is the ARN of an Amazon SQS
1866
- # queue
1973
+ # queue.
1867
1974
  #
1868
1975
  # * For the `application` protocol, the endpoint is the EndpointArn of a
1869
1976
  # mobile app and device.
1870
1977
  #
1871
- # * For the `lambda` protocol, the endpoint is the ARN of an Amazon
1872
- # Lambda function.
1978
+ # * For the `lambda` protocol, the endpoint is the ARN of an AWS Lambda
1979
+ # function.
1980
+ #
1981
+ # * For the `firehose` protocol, the endpoint is the ARN of an Amazon
1982
+ # Kinesis Data Firehose delivery stream.
1873
1983
  #
1874
1984
  # @option params [Hash<String,String>] :attributes
1875
1985
  # A map of attributes with their corresponding values.
@@ -1896,6 +2006,25 @@ module Aws::SNS
1896
2006
  # service that powers the subscribed endpoint becomes unavailable) are
1897
2007
  # held in the dead-letter queue for further analysis or reprocessing.
1898
2008
  #
2009
+ # The following attribute applies only to Amazon Kinesis Data Firehose
2010
+ # delivery stream subscriptions:
2011
+ #
2012
+ # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
2013
+ # following:
2014
+ #
2015
+ # * Permission to write to the Kinesis Data Firehose delivery stream
2016
+ #
2017
+ # * Amazon SNS listed as a trusted entity
2018
+ #
2019
+ # Specifying a valid ARN for this attribute is required for Kinesis
2020
+ # Data Firehose delivery stream subscriptions. For more information,
2021
+ # see [Fanout to Kinesis Data Firehose delivery streams][1] in the
2022
+ # *Amazon SNS Developer Guide*.
2023
+ #
2024
+ #
2025
+ #
2026
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
2027
+ #
1899
2028
  # @option params [Boolean] :return_subscription_arn
1900
2029
  # Sets whether the response from the `Subscribe` request includes the
1901
2030
  # subscription ARN, even if the subscription is not yet confirmed.
@@ -2068,7 +2197,7 @@ module Aws::SNS
2068
2197
  params: params,
2069
2198
  config: config)
2070
2199
  context[:gem_name] = 'aws-sdk-sns'
2071
- context[:gem_version] = '1.33.0'
2200
+ context[:gem_version] = '1.38.0'
2072
2201
  Seahorse::Client::Request.new(handlers, context)
2073
2202
  end
2074
2203
 
@@ -364,9 +364,12 @@ module Aws::SNS
364
364
  PublishInput.add_member(:subject, Shapes::ShapeRef.new(shape: subject, location_name: "Subject"))
365
365
  PublishInput.add_member(:message_structure, Shapes::ShapeRef.new(shape: messageStructure, location_name: "MessageStructure"))
366
366
  PublishInput.add_member(:message_attributes, Shapes::ShapeRef.new(shape: MessageAttributeMap, location_name: "MessageAttributes"))
367
+ PublishInput.add_member(:message_deduplication_id, Shapes::ShapeRef.new(shape: String, location_name: "MessageDeduplicationId"))
368
+ PublishInput.add_member(:message_group_id, Shapes::ShapeRef.new(shape: String, location_name: "MessageGroupId"))
367
369
  PublishInput.struct_class = Types::PublishInput
368
370
 
369
371
  PublishResponse.add_member(:message_id, Shapes::ShapeRef.new(shape: messageId, location_name: "MessageId"))
372
+ PublishResponse.add_member(:sequence_number, Shapes::ShapeRef.new(shape: String, location_name: "SequenceNumber"))
370
373
  PublishResponse.struct_class = Types::PublishResponse
371
374
 
372
375
  RemovePermissionInput.add_member(:topic_arn, Shapes::ShapeRef.new(shape: topicARN, required: true, location_name: "TopicArn"))
@@ -121,6 +121,8 @@ module Aws::SNS
121
121
  # binary_value: "data",
122
122
  # },
123
123
  # },
124
+ # message_deduplication_id: "String",
125
+ # message_group_id: "String",
124
126
  # })
125
127
  # @param [Hash] options ({})
126
128
  # @option options [String] :topic_arn
@@ -215,6 +217,31 @@ module Aws::SNS
215
217
  # Valid value: `json`
216
218
  # @option options [Hash<String,Types::MessageAttributeValue>] :message_attributes
217
219
  # Message attributes for Publish action.
220
+ # @option options [String] :message_deduplication_id
221
+ # This parameter applies only to FIFO (first-in-first-out) topics. The
222
+ # `MessageDeduplicationId` can contain up to 128 alphanumeric characters
223
+ # (a-z, A-Z, 0-9) and punctuation ``
224
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
225
+ #
226
+ # Every message must have a unique `MessageDeduplicationId`, which is a
227
+ # token used for deduplication of sent messages. If a message with a
228
+ # particular `MessageDeduplicationId` is sent successfully, any message
229
+ # sent with the same `MessageDeduplicationId` during the 5-minute
230
+ # deduplication interval is treated as a duplicate.
231
+ #
232
+ # If the topic has `ContentBasedDeduplication` set, the system generates
233
+ # a `MessageDeduplicationId` based on the contents of the message. Your
234
+ # `MessageDeduplicationId` overrides the generated one.
235
+ # @option options [String] :message_group_id
236
+ # This parameter applies only to FIFO (first-in-first-out) topics. The
237
+ # `MessageGroupId` can contain up to 128 alphanumeric characters (a-z,
238
+ # A-Z, 0-9) and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
239
+ #
240
+ # The `MessageGroupId` is a tag that specifies that a message belongs to
241
+ # a specific message group. Messages that belong to the same message
242
+ # group are processed in a FIFO manner (however, messages in different
243
+ # message groups might be processed out of order). Every message must
244
+ # include a `MessageGroupId`.
218
245
  # @return [Types::PublishResponse]
219
246
  def publish(options = {})
220
247
  options = options.merge(target_arn: @arn)
@@ -89,6 +89,9 @@ module Aws::SNS
89
89
  # Constraints: Topic names must be made up of only uppercase and
90
90
  # lowercase ASCII letters, numbers, underscores, and hyphens, and must
91
91
  # be between 1 and 256 characters long.
92
+ #
93
+ # For a FIFO (first-in-first-out) topic, the name must end with the
94
+ # `.fifo` suffix.
92
95
  # @option options [Hash<String,String>] :attributes
93
96
  # A map of attributes with their corresponding values.
94
97
  #
@@ -101,23 +104,47 @@ module Aws::SNS
101
104
  # * `DisplayName` – The display name to use for a topic with SMS
102
105
  # subscriptions.
103
106
  #
107
+ # * `FifoTopic` – Set to true to create a FIFO topic.
108
+ #
104
109
  # * `Policy` – The policy that defines who can access your topic. By
105
110
  # default, only the topic owner can publish or subscribe to the topic.
106
111
  #
107
112
  # The following attribute applies only to [server-side-encryption][1]\:
108
113
  #
109
- # * `KmsMasterKeyId` - The ID of an AWS-managed customer master key
114
+ # * `KmsMasterKeyId` The ID of an AWS-managed customer master key
110
115
  # (CMK) for Amazon SNS or a custom CMK. For more information, see [Key
111
116
  # Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
112
117
  # Management Service API Reference*.
113
118
  #
114
119
  # ^
115
120
  #
121
+ # The following attributes apply only to [FIFO topics][4]\:
122
+ #
123
+ # * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
124
+ #
125
+ # * `ContentBasedDeduplication` – Enables content-based deduplication
126
+ # for FIFO topics.
127
+ #
128
+ # * By default, `ContentBasedDeduplication` is set to `false`. If you
129
+ # create a FIFO topic and this attribute is `false`, you must
130
+ # specify a value for the `MessageDeduplicationId` parameter for the
131
+ # [Publish][5] action.
132
+ #
133
+ # * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
134
+ # uses a SHA-256 hash to generate the `MessageDeduplicationId` using
135
+ # the body of the message (but not the attributes of the message).
136
+ #
137
+ # (Optional) To override the generated value, you can specify a
138
+ # value for the the `MessageDeduplicationId` parameter for the
139
+ # `Publish` action.
140
+ #
116
141
  #
117
142
  #
118
143
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
119
144
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
120
145
  # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
146
+ # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
147
+ # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
121
148
  # @option options [Array<Types::Tag>] :tags
122
149
  # The list of tags to add to a new topic.
123
150
  #
@@ -72,9 +72,25 @@ module Aws::SNS
72
72
  #
73
73
  # * `TopicArn` – The topic ARN that the subscription is associated with.
74
74
  #
75
+ # The following attribute applies only to Amazon Kinesis Data Firehose
76
+ # delivery stream subscriptions:
77
+ #
78
+ # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
79
+ # following:
80
+ #
81
+ # * Permission to write to the Kinesis Data Firehose delivery stream
82
+ #
83
+ # * Amazon SNS listed as a trusted entity
84
+ #
85
+ # Specifying a valid ARN for this attribute is required for Kinesis
86
+ # Data Firehose delivery stream subscriptions. For more information,
87
+ # see [Fanout to Kinesis Data Firehose delivery streams][2] in the
88
+ # *Amazon SNS Developer Guide*.
89
+ #
75
90
  #
76
91
  #
77
92
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html
93
+ # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
78
94
  # @return [Hash<String,String>]
79
95
  def attributes
80
96
  data[:attributes]
@@ -139,7 +155,7 @@ module Aws::SNS
139
155
  # A map of attributes with their corresponding values.
140
156
  #
141
157
  # The following lists the names, descriptions, and values of the special
142
- # request parameters that the `SetTopicAttributes` action uses:
158
+ # request parameters that this action uses:
143
159
  #
144
160
  # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
145
161
  # failed deliveries to HTTP/S endpoints.
@@ -159,6 +175,25 @@ module Aws::SNS
159
175
  # endpoint is unreachable) or server errors (for example, when the
160
176
  # service that powers the subscribed endpoint becomes unavailable) are
161
177
  # held in the dead-letter queue for further analysis or reprocessing.
178
+ #
179
+ # The following attribute applies only to Amazon Kinesis Data Firehose
180
+ # delivery stream subscriptions:
181
+ #
182
+ # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
183
+ # following:
184
+ #
185
+ # * Permission to write to the Kinesis Data Firehose delivery stream
186
+ #
187
+ # * Amazon SNS listed as a trusted entity
188
+ #
189
+ # Specifying a valid ARN for this attribute is required for Kinesis
190
+ # Data Firehose delivery stream subscriptions. For more information,
191
+ # see [Fanout to Kinesis Data Firehose delivery streams][1] in the
192
+ # *Amazon SNS Developer Guide*.
193
+ #
194
+ #
195
+ #
196
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
162
197
  # @option options [String] :attribute_value
163
198
  # The new value for the attribute in JSON format.
164
199
  # @return [EmptyStructure]
@@ -71,11 +71,33 @@ module Aws::SNS
71
71
  #
72
72
  # ^
73
73
  #
74
+ # The following attributes apply only to [FIFO topics][4]\:
75
+ #
76
+ # * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
77
+ #
78
+ # * `ContentBasedDeduplication` – Enables content-based deduplication
79
+ # for FIFO topics.
80
+ #
81
+ # * By default, `ContentBasedDeduplication` is set to `false`. If you
82
+ # create a FIFO topic and this attribute is `false`, you must
83
+ # specify a value for the `MessageDeduplicationId` parameter for the
84
+ # [Publish][5] action.
85
+ #
86
+ # * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
87
+ # uses a SHA-256 hash to generate the `MessageDeduplicationId` using
88
+ # the body of the message (but not the attributes of the message).
89
+ #
90
+ # (Optional) To override the generated value, you can specify a
91
+ # value for the the `MessageDeduplicationId` parameter for the
92
+ # `Publish` action.
93
+ #
74
94
  #
75
95
  #
76
96
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
77
97
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
78
98
  # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
99
+ # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
100
+ # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
79
101
  # @return [Hash<String,String>]
80
102
  def attributes
81
103
  data[:attributes]
@@ -194,6 +216,8 @@ module Aws::SNS
194
216
  # binary_value: "data",
195
217
  # },
196
218
  # },
219
+ # message_deduplication_id: "String",
220
+ # message_group_id: "String",
197
221
  # })
198
222
  # @param [Hash] options ({})
199
223
  # @option options [String] :target_arn
@@ -286,6 +310,31 @@ module Aws::SNS
286
310
  # Valid value: `json`
287
311
  # @option options [Hash<String,Types::MessageAttributeValue>] :message_attributes
288
312
  # Message attributes for Publish action.
313
+ # @option options [String] :message_deduplication_id
314
+ # This parameter applies only to FIFO (first-in-first-out) topics. The
315
+ # `MessageDeduplicationId` can contain up to 128 alphanumeric characters
316
+ # (a-z, A-Z, 0-9) and punctuation ``
317
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
318
+ #
319
+ # Every message must have a unique `MessageDeduplicationId`, which is a
320
+ # token used for deduplication of sent messages. If a message with a
321
+ # particular `MessageDeduplicationId` is sent successfully, any message
322
+ # sent with the same `MessageDeduplicationId` during the 5-minute
323
+ # deduplication interval is treated as a duplicate.
324
+ #
325
+ # If the topic has `ContentBasedDeduplication` set, the system generates
326
+ # a `MessageDeduplicationId` based on the contents of the message. Your
327
+ # `MessageDeduplicationId` overrides the generated one.
328
+ # @option options [String] :message_group_id
329
+ # This parameter applies only to FIFO (first-in-first-out) topics. The
330
+ # `MessageGroupId` can contain up to 128 alphanumeric characters (a-z,
331
+ # A-Z, 0-9) and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
332
+ #
333
+ # The `MessageGroupId` is a tag that specifies that a message belongs to
334
+ # a specific message group. Messages that belong to the same message
335
+ # group are processed in a FIFO manner (however, messages in different
336
+ # message groups might be processed out of order). Every message must
337
+ # include a `MessageGroupId`.
289
338
  # @return [Types::PublishResponse]
290
339
  def publish(options = {})
291
340
  options = options.merge(topic_arn: @arn)
@@ -332,18 +381,38 @@ module Aws::SNS
332
381
  #
333
382
  # The following attribute applies only to [server-side-encryption][1]\:
334
383
  #
335
- # * `KmsMasterKeyId` - The ID of an AWS-managed customer master key
384
+ # * `KmsMasterKeyId` The ID of an AWS-managed customer master key
336
385
  # (CMK) for Amazon SNS or a custom CMK. For more information, see [Key
337
386
  # Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
338
387
  # Management Service API Reference*.
339
388
  #
340
389
  # ^
341
390
  #
391
+ # The following attribute applies only to [FIFO topics][4]\:
392
+ #
393
+ # * `ContentBasedDeduplication` – Enables content-based deduplication
394
+ # for FIFO topics.
395
+ #
396
+ # * By default, `ContentBasedDeduplication` is set to `false`. If you
397
+ # create a FIFO topic and this attribute is `false`, you must
398
+ # specify a value for the `MessageDeduplicationId` parameter for the
399
+ # [Publish][5] action.
400
+ #
401
+ # * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
402
+ # uses a SHA-256 hash to generate the `MessageDeduplicationId` using
403
+ # the body of the message (but not the attributes of the message).
404
+ #
405
+ # (Optional) To override the generated value, you can specify a
406
+ # value for the the `MessageDeduplicationId` parameter for the
407
+ # `Publish` action.
408
+ #
342
409
  #
343
410
  #
344
411
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
345
412
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
346
413
  # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
414
+ # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
415
+ # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
347
416
  # @option options [String] :attribute_value
348
417
  # The new value for the attribute.
349
418
  # @return [EmptyStructure]
@@ -365,7 +434,7 @@ module Aws::SNS
365
434
  # })
366
435
  # @param [Hash] options ({})
367
436
  # @option options [required, String] :protocol
368
- # The protocol you want to use. Supported protocols include:
437
+ # The protocol that you want to use. Supported protocols include:
369
438
  #
370
439
  # * `http` – delivery of JSON-encoded message via HTTP POST
371
440
  #
@@ -380,35 +449,41 @@ module Aws::SNS
380
449
  # * `sqs` – delivery of JSON-encoded message to an Amazon SQS queue
381
450
  #
382
451
  # * `application` – delivery of JSON-encoded message to an EndpointArn
383
- # for a mobile app and device.
452
+ # for a mobile app and device
384
453
  #
385
- # * `lambda` – delivery of JSON-encoded message to an Amazon Lambda
386
- # function.
454
+ # * `lambda` – delivery of JSON-encoded message to an AWS Lambda
455
+ # function
456
+ #
457
+ # * `firehose` – delivery of JSON-encoded message to an Amazon Kinesis
458
+ # Data Firehose delivery stream.
387
459
  # @option options [String] :endpoint
388
460
  # The endpoint that you want to receive notifications. Endpoints vary by
389
461
  # protocol:
390
462
  #
391
463
  # * For the `http` protocol, the (public) endpoint is a URL beginning
392
- # with `http://`
464
+ # with `http://`.
393
465
  #
394
466
  # * For the `https` protocol, the (public) endpoint is a URL beginning
395
- # with `https://`
467
+ # with `https://`.
396
468
  #
397
- # * For the `email` protocol, the endpoint is an email address
469
+ # * For the `email` protocol, the endpoint is an email address.
398
470
  #
399
- # * For the `email-json` protocol, the endpoint is an email address
471
+ # * For the `email-json` protocol, the endpoint is an email address.
400
472
  #
401
473
  # * For the `sms` protocol, the endpoint is a phone number of an
402
- # SMS-enabled device
474
+ # SMS-enabled device.
403
475
  #
404
476
  # * For the `sqs` protocol, the endpoint is the ARN of an Amazon SQS
405
- # queue
477
+ # queue.
406
478
  #
407
479
  # * For the `application` protocol, the endpoint is the EndpointArn of a
408
480
  # mobile app and device.
409
481
  #
410
- # * For the `lambda` protocol, the endpoint is the ARN of an Amazon
411
- # Lambda function.
482
+ # * For the `lambda` protocol, the endpoint is the ARN of an AWS Lambda
483
+ # function.
484
+ #
485
+ # * For the `firehose` protocol, the endpoint is the ARN of an Amazon
486
+ # Kinesis Data Firehose delivery stream.
412
487
  # @option options [Hash<String,String>] :attributes
413
488
  # A map of attributes with their corresponding values.
414
489
  #
@@ -433,6 +508,25 @@ module Aws::SNS
433
508
  # endpoint is unreachable) or server errors (for example, when the
434
509
  # service that powers the subscribed endpoint becomes unavailable) are
435
510
  # held in the dead-letter queue for further analysis or reprocessing.
511
+ #
512
+ # The following attribute applies only to Amazon Kinesis Data Firehose
513
+ # delivery stream subscriptions:
514
+ #
515
+ # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
516
+ # following:
517
+ #
518
+ # * Permission to write to the Kinesis Data Firehose delivery stream
519
+ #
520
+ # * Amazon SNS listed as a trusted entity
521
+ #
522
+ # Specifying a valid ARN for this attribute is required for Kinesis
523
+ # Data Firehose delivery stream subscriptions. For more information,
524
+ # see [Fanout to Kinesis Data Firehose delivery streams][1] in the
525
+ # *Amazon SNS Developer Guide*.
526
+ #
527
+ #
528
+ #
529
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
436
530
  # @option options [Boolean] :return_subscription_arn
437
531
  # Sets whether the response from the `Subscribe` request includes the
438
532
  # subscription ARN, even if the subscription is not yet confirmed.
@@ -319,6 +319,9 @@ module Aws::SNS
319
319
  # Constraints: Topic names must be made up of only uppercase and
320
320
  # lowercase ASCII letters, numbers, underscores, and hyphens, and must
321
321
  # be between 1 and 256 characters long.
322
+ #
323
+ # For a FIFO (first-in-first-out) topic, the name must end with the
324
+ # `.fifo` suffix.
322
325
  # @return [String]
323
326
  #
324
327
  # @!attribute [rw] attributes
@@ -333,6 +336,8 @@ module Aws::SNS
333
336
  # * `DisplayName` – The display name to use for a topic with SMS
334
337
  # subscriptions.
335
338
  #
339
+ # * `FifoTopic` – Set to true to create a FIFO topic.
340
+ #
336
341
  # * `Policy` – The policy that defines who can access your topic. By
337
342
  # default, only the topic owner can publish or subscribe to the
338
343
  # topic.
@@ -340,18 +345,41 @@ module Aws::SNS
340
345
  # The following attribute applies only to
341
346
  # [server-side-encryption][1]\:
342
347
  #
343
- # * `KmsMasterKeyId` - The ID of an AWS-managed customer master key
348
+ # * `KmsMasterKeyId` The ID of an AWS-managed customer master key
344
349
  # (CMK) for Amazon SNS or a custom CMK. For more information, see
345
350
  # [Key Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
346
351
  # Management Service API Reference*.
347
352
  #
348
353
  # ^
349
354
  #
355
+ # The following attributes apply only to [FIFO topics][4]\:
356
+ #
357
+ # * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
358
+ #
359
+ # * `ContentBasedDeduplication` – Enables content-based deduplication
360
+ # for FIFO topics.
361
+ #
362
+ # * By default, `ContentBasedDeduplication` is set to `false`. If
363
+ # you create a FIFO topic and this attribute is `false`, you must
364
+ # specify a value for the `MessageDeduplicationId` parameter for
365
+ # the [Publish][5] action.
366
+ #
367
+ # * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
368
+ # uses a SHA-256 hash to generate the `MessageDeduplicationId`
369
+ # using the body of the message (but not the attributes of the
370
+ # message).
371
+ #
372
+ # (Optional) To override the generated value, you can specify a
373
+ # value for the the `MessageDeduplicationId` parameter for the
374
+ # `Publish` action.
375
+ #
350
376
  #
351
377
  #
352
378
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
353
379
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
354
380
  # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
381
+ # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
382
+ # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
355
383
  # @return [Hash<String,String>]
356
384
  #
357
385
  # @!attribute [rw] tags
@@ -706,9 +734,25 @@ module Aws::SNS
706
734
  # * `TopicArn` – The topic ARN that the subscription is associated
707
735
  # with.
708
736
  #
737
+ # The following attribute applies only to Amazon Kinesis Data Firehose
738
+ # delivery stream subscriptions:
739
+ #
740
+ # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
741
+ # following:
742
+ #
743
+ # * Permission to write to the Kinesis Data Firehose delivery stream
744
+ #
745
+ # * Amazon SNS listed as a trusted entity
746
+ #
747
+ # Specifying a valid ARN for this attribute is required for Kinesis
748
+ # Data Firehose delivery stream subscriptions. For more information,
749
+ # see [Fanout to Kinesis Data Firehose delivery streams][2] in the
750
+ # *Amazon SNS Developer Guide*.
751
+ #
709
752
  #
710
753
  #
711
754
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html
755
+ # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
712
756
  # @return [Hash<String,String>]
713
757
  #
714
758
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSubscriptionAttributesResponse AWS API Documentation
@@ -781,11 +825,34 @@ module Aws::SNS
781
825
  #
782
826
  # ^
783
827
  #
828
+ # The following attributes apply only to [FIFO topics][4]\:
829
+ #
830
+ # * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
831
+ #
832
+ # * `ContentBasedDeduplication` – Enables content-based deduplication
833
+ # for FIFO topics.
834
+ #
835
+ # * By default, `ContentBasedDeduplication` is set to `false`. If
836
+ # you create a FIFO topic and this attribute is `false`, you must
837
+ # specify a value for the `MessageDeduplicationId` parameter for
838
+ # the [Publish][5] action.
839
+ #
840
+ # * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
841
+ # uses a SHA-256 hash to generate the `MessageDeduplicationId`
842
+ # using the body of the message (but not the attributes of the
843
+ # message).
844
+ #
845
+ # (Optional) To override the generated value, you can specify a
846
+ # value for the the `MessageDeduplicationId` parameter for the
847
+ # `Publish` action.
848
+ #
784
849
  #
785
850
  #
786
851
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
787
852
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
788
853
  # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
854
+ # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
855
+ # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
789
856
  # @return [Hash<String,String>]
790
857
  #
791
858
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetTopicAttributesResponse AWS API Documentation
@@ -1255,12 +1322,14 @@ module Aws::SNS
1255
1322
  # message body should not be empty or null. All parts of the message
1256
1323
  # attribute, including name, type, and value, are included in the
1257
1324
  # message size restriction, which is currently 256 KB (262,144 bytes).
1258
- # For more information, see [Using Amazon SNS Message Attributes][2].
1325
+ # For more information, see [Amazon SNS message attributes][2] and
1326
+ # [Publishing to a mobile phone][3] in the *Amazon SNS Developer Guide.*
1259
1327
  #
1260
1328
  #
1261
1329
  #
1262
1330
  # [1]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
1263
1331
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/SNSMessageAttributes.html
1332
+ # [3]: https://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html
1264
1333
  #
1265
1334
  # @note When making an API call, you may pass MessageAttributeValue
1266
1335
  # data as a hash:
@@ -1397,6 +1466,8 @@ module Aws::SNS
1397
1466
  # binary_value: "data",
1398
1467
  # },
1399
1468
  # },
1469
+ # message_deduplication_id: "String",
1470
+ # message_group_id: "String",
1400
1471
  # }
1401
1472
  #
1402
1473
  # @!attribute [rw] topic_arn
@@ -1511,6 +1582,36 @@ module Aws::SNS
1511
1582
  # Message attributes for Publish action.
1512
1583
  # @return [Hash<String,Types::MessageAttributeValue>]
1513
1584
  #
1585
+ # @!attribute [rw] message_deduplication_id
1586
+ # This parameter applies only to FIFO (first-in-first-out) topics. The
1587
+ # `MessageDeduplicationId` can contain up to 128 alphanumeric
1588
+ # characters (a-z, A-Z, 0-9) and punctuation ``
1589
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1590
+ #
1591
+ # Every message must have a unique `MessageDeduplicationId`, which is
1592
+ # a token used for deduplication of sent messages. If a message with a
1593
+ # particular `MessageDeduplicationId` is sent successfully, any
1594
+ # message sent with the same `MessageDeduplicationId` during the
1595
+ # 5-minute deduplication interval is treated as a duplicate.
1596
+ #
1597
+ # If the topic has `ContentBasedDeduplication` set, the system
1598
+ # generates a `MessageDeduplicationId` based on the contents of the
1599
+ # message. Your `MessageDeduplicationId` overrides the generated one.
1600
+ # @return [String]
1601
+ #
1602
+ # @!attribute [rw] message_group_id
1603
+ # This parameter applies only to FIFO (first-in-first-out) topics. The
1604
+ # `MessageGroupId` can contain up to 128 alphanumeric characters (a-z,
1605
+ # A-Z, 0-9) and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~)
1606
+ # ``.
1607
+ #
1608
+ # The `MessageGroupId` is a tag that specifies that a message belongs
1609
+ # to a specific message group. Messages that belong to the same
1610
+ # message group are processed in a FIFO manner (however, messages in
1611
+ # different message groups might be processed out of order). Every
1612
+ # message must include a `MessageGroupId`.
1613
+ # @return [String]
1614
+ #
1514
1615
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishInput AWS API Documentation
1515
1616
  #
1516
1617
  class PublishInput < Struct.new(
@@ -1520,7 +1621,9 @@ module Aws::SNS
1520
1621
  :message,
1521
1622
  :subject,
1522
1623
  :message_structure,
1523
- :message_attributes)
1624
+ :message_attributes,
1625
+ :message_deduplication_id,
1626
+ :message_group_id)
1524
1627
  SENSITIVE = []
1525
1628
  include Aws::Structure
1526
1629
  end
@@ -1533,10 +1636,21 @@ module Aws::SNS
1533
1636
  # Length Constraint: Maximum 100 characters
1534
1637
  # @return [String]
1535
1638
  #
1639
+ # @!attribute [rw] sequence_number
1640
+ # This response element applies only to FIFO (first-in-first-out)
1641
+ # topics.
1642
+ #
1643
+ # The sequence number is a large, non-consecutive number that Amazon
1644
+ # SNS assigns to each message. The length of `SequenceNumber` is 128
1645
+ # bits. `SequenceNumber` continues to increase for each
1646
+ # `MessageGroupId`.
1647
+ # @return [String]
1648
+ #
1536
1649
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishResponse AWS API Documentation
1537
1650
  #
1538
1651
  class PublishResponse < Struct.new(
1539
- :message_id)
1652
+ :message_id,
1653
+ :sequence_number)
1540
1654
  SENSITIVE = []
1541
1655
  include Aws::Structure
1542
1656
  end
@@ -1818,8 +1932,7 @@ module Aws::SNS
1818
1932
  # A map of attributes with their corresponding values.
1819
1933
  #
1820
1934
  # The following lists the names, descriptions, and values of the
1821
- # special request parameters that the `SetTopicAttributes` action
1822
- # uses:
1935
+ # special request parameters that this action uses:
1823
1936
  #
1824
1937
  # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
1825
1938
  # failed deliveries to HTTP/S endpoints.
@@ -1840,6 +1953,25 @@ module Aws::SNS
1840
1953
  # when the service that powers the subscribed endpoint becomes
1841
1954
  # unavailable) are held in the dead-letter queue for further
1842
1955
  # analysis or reprocessing.
1956
+ #
1957
+ # The following attribute applies only to Amazon Kinesis Data Firehose
1958
+ # delivery stream subscriptions:
1959
+ #
1960
+ # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
1961
+ # following:
1962
+ #
1963
+ # * Permission to write to the Kinesis Data Firehose delivery stream
1964
+ #
1965
+ # * Amazon SNS listed as a trusted entity
1966
+ #
1967
+ # Specifying a valid ARN for this attribute is required for Kinesis
1968
+ # Data Firehose delivery stream subscriptions. For more information,
1969
+ # see [Fanout to Kinesis Data Firehose delivery streams][1] in the
1970
+ # *Amazon SNS Developer Guide*.
1971
+ #
1972
+ #
1973
+ #
1974
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
1843
1975
  # @return [String]
1844
1976
  #
1845
1977
  # @!attribute [rw] attribute_value
@@ -1891,18 +2023,39 @@ module Aws::SNS
1891
2023
  # The following attribute applies only to
1892
2024
  # [server-side-encryption][1]\:
1893
2025
  #
1894
- # * `KmsMasterKeyId` - The ID of an AWS-managed customer master key
2026
+ # * `KmsMasterKeyId` The ID of an AWS-managed customer master key
1895
2027
  # (CMK) for Amazon SNS or a custom CMK. For more information, see
1896
2028
  # [Key Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
1897
2029
  # Management Service API Reference*.
1898
2030
  #
1899
2031
  # ^
1900
2032
  #
2033
+ # The following attribute applies only to [FIFO topics][4]\:
2034
+ #
2035
+ # * `ContentBasedDeduplication` – Enables content-based deduplication
2036
+ # for FIFO topics.
2037
+ #
2038
+ # * By default, `ContentBasedDeduplication` is set to `false`. If
2039
+ # you create a FIFO topic and this attribute is `false`, you must
2040
+ # specify a value for the `MessageDeduplicationId` parameter for
2041
+ # the [Publish][5] action.
2042
+ #
2043
+ # * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
2044
+ # uses a SHA-256 hash to generate the `MessageDeduplicationId`
2045
+ # using the body of the message (but not the attributes of the
2046
+ # message).
2047
+ #
2048
+ # (Optional) To override the generated value, you can specify a
2049
+ # value for the the `MessageDeduplicationId` parameter for the
2050
+ # `Publish` action.
2051
+ #
1901
2052
  #
1902
2053
  #
1903
2054
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
1904
2055
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
1905
2056
  # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
2057
+ # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
2058
+ # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
1906
2059
  # @return [String]
1907
2060
  #
1908
2061
  # @!attribute [rw] attribute_value
@@ -1953,7 +2106,7 @@ module Aws::SNS
1953
2106
  # @return [String]
1954
2107
  #
1955
2108
  # @!attribute [rw] protocol
1956
- # The protocol you want to use. Supported protocols include:
2109
+ # The protocol that you want to use. Supported protocols include:
1957
2110
  #
1958
2111
  # * `http` – delivery of JSON-encoded message via HTTP POST
1959
2112
  #
@@ -1968,10 +2121,13 @@ module Aws::SNS
1968
2121
  # * `sqs` – delivery of JSON-encoded message to an Amazon SQS queue
1969
2122
  #
1970
2123
  # * `application` – delivery of JSON-encoded message to an EndpointArn
1971
- # for a mobile app and device.
2124
+ # for a mobile app and device
1972
2125
  #
1973
- # * `lambda` – delivery of JSON-encoded message to an Amazon Lambda
1974
- # function.
2126
+ # * `lambda` – delivery of JSON-encoded message to an AWS Lambda
2127
+ # function
2128
+ #
2129
+ # * `firehose` – delivery of JSON-encoded message to an Amazon Kinesis
2130
+ # Data Firehose delivery stream.
1975
2131
  # @return [String]
1976
2132
  #
1977
2133
  # @!attribute [rw] endpoint
@@ -1979,26 +2135,29 @@ module Aws::SNS
1979
2135
  # by protocol:
1980
2136
  #
1981
2137
  # * For the `http` protocol, the (public) endpoint is a URL beginning
1982
- # with `http://`
2138
+ # with `http://`.
1983
2139
  #
1984
2140
  # * For the `https` protocol, the (public) endpoint is a URL beginning
1985
- # with `https://`
2141
+ # with `https://`.
1986
2142
  #
1987
- # * For the `email` protocol, the endpoint is an email address
2143
+ # * For the `email` protocol, the endpoint is an email address.
1988
2144
  #
1989
- # * For the `email-json` protocol, the endpoint is an email address
2145
+ # * For the `email-json` protocol, the endpoint is an email address.
1990
2146
  #
1991
2147
  # * For the `sms` protocol, the endpoint is a phone number of an
1992
- # SMS-enabled device
2148
+ # SMS-enabled device.
1993
2149
  #
1994
2150
  # * For the `sqs` protocol, the endpoint is the ARN of an Amazon SQS
1995
- # queue
2151
+ # queue.
1996
2152
  #
1997
2153
  # * For the `application` protocol, the endpoint is the EndpointArn of
1998
2154
  # a mobile app and device.
1999
2155
  #
2000
- # * For the `lambda` protocol, the endpoint is the ARN of an Amazon
2156
+ # * For the `lambda` protocol, the endpoint is the ARN of an AWS
2001
2157
  # Lambda function.
2158
+ #
2159
+ # * For the `firehose` protocol, the endpoint is the ARN of an Amazon
2160
+ # Kinesis Data Firehose delivery stream.
2002
2161
  # @return [String]
2003
2162
  #
2004
2163
  # @!attribute [rw] attributes
@@ -2027,6 +2186,25 @@ module Aws::SNS
2027
2186
  # when the service that powers the subscribed endpoint becomes
2028
2187
  # unavailable) are held in the dead-letter queue for further
2029
2188
  # analysis or reprocessing.
2189
+ #
2190
+ # The following attribute applies only to Amazon Kinesis Data Firehose
2191
+ # delivery stream subscriptions:
2192
+ #
2193
+ # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
2194
+ # following:
2195
+ #
2196
+ # * Permission to write to the Kinesis Data Firehose delivery stream
2197
+ #
2198
+ # * Amazon SNS listed as a trusted entity
2199
+ #
2200
+ # Specifying a valid ARN for this attribute is required for Kinesis
2201
+ # Data Firehose delivery stream subscriptions. For more information,
2202
+ # see [Fanout to Kinesis Data Firehose delivery streams][1] in the
2203
+ # *Amazon SNS Developer Guide*.
2204
+ #
2205
+ #
2206
+ #
2207
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
2030
2208
  # @return [Hash<String,String>]
2031
2209
  #
2032
2210
  # @!attribute [rw] return_subscription_arn
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-sns
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.33.0
4
+ version: 1.38.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-08 00:00:00.000000000 Z
11
+ date: 2021-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.109.0
22
+ version: 3.112.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.109.0
32
+ version: 3.112.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement