aws-sdk-sns 1.33.0 → 1.38.0

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