aws-sdk-sns 1.30.0 → 1.34.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 +4 -4
- data/lib/aws-sdk-sns.rb +2 -1
- data/lib/aws-sdk-sns/client.rb +72 -7
- data/lib/aws-sdk-sns/client_api.rb +3 -0
- data/lib/aws-sdk-sns/message_verifier.rb +22 -5
- data/lib/aws-sdk-sns/platform_endpoint.rb +27 -0
- data/lib/aws-sdk-sns/resource.rb +20 -1
- data/lib/aws-sdk-sns/topic.rb +42 -1
- data/lib/aws-sdk-sns/types.rb +84 -4
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1f2ec23f109fe4dc267eb632787f6654932a668b74fa7d9077f09b204754e7fd
|
4
|
+
data.tar.gz: f3dba051717d1a04cd288cd9c3eaa303967534abebd766b19412695ff9d5906b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 733fded3d3755b48ed9aedc3060b7f78d1eb00afe93948fad91580bf683b47d0770c3228e19b5ad1288bb7eaac8474fb79b53206c3ea90299b0528a37e495868
|
7
|
+
data.tar.gz: 981bf2e8cb615e6b161ed21d089c4cff6091a5a580b754029924b8d3ea73d3df3a581c7debc9c0f0c6ab185280f22d5a3eeb0520573ee1b8d7ab3e9d5312a0a3
|
data/lib/aws-sdk-sns.rb
CHANGED
@@ -7,6 +7,7 @@
|
|
7
7
|
#
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
9
9
|
|
10
|
+
|
10
11
|
require 'aws-sdk-core'
|
11
12
|
require 'aws-sigv4'
|
12
13
|
|
@@ -51,6 +52,6 @@ require_relative 'aws-sdk-sns/customizations'
|
|
51
52
|
# @!group service
|
52
53
|
module Aws::SNS
|
53
54
|
|
54
|
-
GEM_VERSION = '1.
|
55
|
+
GEM_VERSION = '1.34.0'
|
55
56
|
|
56
57
|
end
|
data/lib/aws-sdk-sns/client.rb
CHANGED
@@ -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
|
595
|
-
# [https://aws.amazon.com/sns][1]. This action
|
596
|
-
# requester already owns a topic with the
|
597
|
-
# ARN is returned without creating a new
|
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,18 +623,34 @@ 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`
|
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 attribute applies only to FIFO topics:
|
641
|
+
#
|
642
|
+
# * `ContentBasedDeduplication` – Enables content-based deduplication.
|
643
|
+
# Amazon SNS uses a SHA-256 hash to generate the
|
644
|
+
# `MessageDeduplicationId` using the body of the message (but not the
|
645
|
+
# attributes of the message).
|
646
|
+
#
|
647
|
+
# * When `ContentBasedDeduplication` is in effect, messages with
|
648
|
+
# identical content sent within the deduplication interval are treated
|
649
|
+
# as duplicates and only one copy of the message is delivered.
|
650
|
+
#
|
651
|
+
# * If the queue has `ContentBasedDeduplication` set, your
|
652
|
+
# `MessageDeduplicationId` overrides the generated one.
|
653
|
+
#
|
634
654
|
#
|
635
655
|
#
|
636
656
|
# [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
|
@@ -1403,9 +1423,37 @@ module Aws::SNS
|
|
1403
1423
|
# @option params [Hash<String,Types::MessageAttributeValue>] :message_attributes
|
1404
1424
|
# Message attributes for Publish action.
|
1405
1425
|
#
|
1426
|
+
# @option params [String] :message_deduplication_id
|
1427
|
+
# This parameter applies only to FIFO (first-in-first-out) topics. The
|
1428
|
+
# `MessageDeduplicationId` can contain up to 128 alphanumeric characters
|
1429
|
+
# (a-z, A-Z, 0-9) and punctuation ``
|
1430
|
+
# (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
|
1431
|
+
#
|
1432
|
+
# Every message must have a unique `MessageDeduplicationId`, which is a
|
1433
|
+
# token used for deduplication of sent messages. If a message with a
|
1434
|
+
# particular `MessageDeduplicationId` is sent successfully, any message
|
1435
|
+
# sent with the same `MessageDeduplicationId` during the 5-minute
|
1436
|
+
# deduplication interval is treated as a duplicate.
|
1437
|
+
#
|
1438
|
+
# If the topic has `ContentBasedDeduplication` set, the system generates
|
1439
|
+
# a `MessageDeduplicationId` based on the contents of the message. Your
|
1440
|
+
# `MessageDeduplicationId` overrides the generated one.
|
1441
|
+
#
|
1442
|
+
# @option params [String] :message_group_id
|
1443
|
+
# This parameter applies only to FIFO (first-in-first-out) topics. The
|
1444
|
+
# `MessageGroupId` can contain up to 128 alphanumeric characters (a-z,
|
1445
|
+
# A-Z, 0-9) and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
|
1446
|
+
#
|
1447
|
+
# The `MessageGroupId` is a tag that specifies that a message belongs to
|
1448
|
+
# a specific message group. Messages that belong to the same message
|
1449
|
+
# group are processed in a FIFO manner (however, messages in different
|
1450
|
+
# message groups might be processed out of order). Every message must
|
1451
|
+
# include a `MessageGroupId`.
|
1452
|
+
#
|
1406
1453
|
# @return [Types::PublishResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1407
1454
|
#
|
1408
1455
|
# * {Types::PublishResponse#message_id #message_id} => String
|
1456
|
+
# * {Types::PublishResponse#sequence_number #sequence_number} => String
|
1409
1457
|
#
|
1410
1458
|
# @example Request syntax with placeholder values
|
1411
1459
|
#
|
@@ -1423,11 +1471,14 @@ module Aws::SNS
|
|
1423
1471
|
# binary_value: "data",
|
1424
1472
|
# },
|
1425
1473
|
# },
|
1474
|
+
# message_deduplication_id: "String",
|
1475
|
+
# message_group_id: "String",
|
1426
1476
|
# })
|
1427
1477
|
#
|
1428
1478
|
# @example Response structure
|
1429
1479
|
#
|
1430
1480
|
# resp.message_id #=> String
|
1481
|
+
# resp.sequence_number #=> String
|
1431
1482
|
#
|
1432
1483
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/Publish AWS API Documentation
|
1433
1484
|
#
|
@@ -1776,13 +1827,27 @@ module Aws::SNS
|
|
1776
1827
|
#
|
1777
1828
|
# The following attribute applies only to [server-side-encryption][1]\:
|
1778
1829
|
#
|
1779
|
-
# * `KmsMasterKeyId`
|
1830
|
+
# * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
|
1780
1831
|
# (CMK) for Amazon SNS or a custom CMK. For more information, see [Key
|
1781
1832
|
# Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
|
1782
1833
|
# Management Service API Reference*.
|
1783
1834
|
#
|
1784
1835
|
# ^
|
1785
1836
|
#
|
1837
|
+
# The following attribute applies only to FIFO topics:
|
1838
|
+
#
|
1839
|
+
# * `ContentBasedDeduplication` – Enables content-based deduplication.
|
1840
|
+
# Amazon SNS uses a SHA-256 hash to generate the
|
1841
|
+
# `MessageDeduplicationId` using the body of the message (but not the
|
1842
|
+
# attributes of the message).
|
1843
|
+
#
|
1844
|
+
# * When `ContentBasedDeduplication` is in effect, messages with
|
1845
|
+
# identical content sent within the deduplication interval are treated
|
1846
|
+
# as duplicates and only one copy of the message is delivered.
|
1847
|
+
#
|
1848
|
+
# * If the queue has `ContentBasedDeduplication` set, your
|
1849
|
+
# `MessageDeduplicationId` overrides the generated one.
|
1850
|
+
#
|
1786
1851
|
#
|
1787
1852
|
#
|
1788
1853
|
# [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
|
@@ -2071,7 +2136,7 @@ module Aws::SNS
|
|
2071
2136
|
params: params,
|
2072
2137
|
config: config)
|
2073
2138
|
context[:gem_name] = 'aws-sdk-sns'
|
2074
|
-
context[:gem_version] = '1.
|
2139
|
+
context[:gem_version] = '1.34.0'
|
2075
2140
|
Seahorse::Client::Request.new(handlers, context)
|
2076
2141
|
end
|
2077
2142
|
|
@@ -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"))
|
@@ -6,7 +6,6 @@ require 'base64'
|
|
6
6
|
|
7
7
|
module Aws
|
8
8
|
module SNS
|
9
|
-
|
10
9
|
# A utility class that can be used to verify the authenticity of messages
|
11
10
|
# sent by Amazon SNS.
|
12
11
|
#
|
@@ -33,16 +32,20 @@ module Aws
|
|
33
32
|
'Timestamp',
|
34
33
|
'Token',
|
35
34
|
'TopicArn',
|
36
|
-
'Type'
|
35
|
+
'Type'
|
37
36
|
].freeze
|
38
37
|
|
39
38
|
# @api private
|
40
39
|
AWS_HOSTNAMES = [
|
41
40
|
/^sns\.[a-zA-Z0-9\-]{3,}\.amazonaws\.com(\.cn)?$/
|
42
|
-
]
|
41
|
+
].freeze
|
43
42
|
|
44
|
-
|
43
|
+
# @param [Hash] http_options Supported options to be passed to Net::HTTP.
|
44
|
+
# @option http_options [String] :http_proxy A proxy to send
|
45
|
+
# requests through. Formatted like 'http://proxy.com:123'.
|
46
|
+
def initialize(http_options = {})
|
45
47
|
@cached_pems = {}
|
48
|
+
@http_proxy = http_options[:http_proxy]
|
46
49
|
end
|
47
50
|
|
48
51
|
# @param [String<JSON>] message_body
|
@@ -151,7 +154,11 @@ module Aws
|
|
151
154
|
end
|
152
155
|
|
153
156
|
def https_get(uri, failed_attempts = 0)
|
154
|
-
|
157
|
+
args = []
|
158
|
+
args << uri.host
|
159
|
+
args << uri.port
|
160
|
+
args += http_proxy_parts
|
161
|
+
http = Net::HTTP.new(*args.compact)
|
155
162
|
http.use_ssl = true
|
156
163
|
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
157
164
|
http.start
|
@@ -168,6 +175,16 @@ module Aws
|
|
168
175
|
raise VerificationError, error.message
|
169
176
|
end
|
170
177
|
|
178
|
+
def http_proxy_parts
|
179
|
+
# empty string if not configured, URI parts return nil
|
180
|
+
http_proxy = URI.parse(@http_proxy.to_s)
|
181
|
+
[
|
182
|
+
http_proxy.host,
|
183
|
+
http_proxy.port,
|
184
|
+
(http_proxy.user && CGI.unescape(http_proxy.user)),
|
185
|
+
(http_proxy.password && CGI.unescape(http_proxy.password))
|
186
|
+
]
|
187
|
+
end
|
171
188
|
end
|
172
189
|
end
|
173
190
|
end
|
@@ -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)
|
data/lib/aws-sdk-sns/resource.rb
CHANGED
@@ -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,18 +104,34 @@ 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`
|
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 attribute applies only to FIFO topics:
|
122
|
+
#
|
123
|
+
# * `ContentBasedDeduplication` – Enables content-based deduplication.
|
124
|
+
# Amazon SNS uses a SHA-256 hash to generate the
|
125
|
+
# `MessageDeduplicationId` using the body of the message (but not the
|
126
|
+
# attributes of the message).
|
127
|
+
#
|
128
|
+
# * When `ContentBasedDeduplication` is in effect, messages with
|
129
|
+
# identical content sent within the deduplication interval are treated
|
130
|
+
# as duplicates and only one copy of the message is delivered.
|
131
|
+
#
|
132
|
+
# * If the queue has `ContentBasedDeduplication` set, your
|
133
|
+
# `MessageDeduplicationId` overrides the generated one.
|
134
|
+
#
|
116
135
|
#
|
117
136
|
#
|
118
137
|
# [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
|
data/lib/aws-sdk-sns/topic.rb
CHANGED
@@ -194,6 +194,8 @@ module Aws::SNS
|
|
194
194
|
# binary_value: "data",
|
195
195
|
# },
|
196
196
|
# },
|
197
|
+
# message_deduplication_id: "String",
|
198
|
+
# message_group_id: "String",
|
197
199
|
# })
|
198
200
|
# @param [Hash] options ({})
|
199
201
|
# @option options [String] :target_arn
|
@@ -286,6 +288,31 @@ module Aws::SNS
|
|
286
288
|
# Valid value: `json`
|
287
289
|
# @option options [Hash<String,Types::MessageAttributeValue>] :message_attributes
|
288
290
|
# Message attributes for Publish action.
|
291
|
+
# @option options [String] :message_deduplication_id
|
292
|
+
# This parameter applies only to FIFO (first-in-first-out) topics. The
|
293
|
+
# `MessageDeduplicationId` can contain up to 128 alphanumeric characters
|
294
|
+
# (a-z, A-Z, 0-9) and punctuation ``
|
295
|
+
# (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
|
296
|
+
#
|
297
|
+
# Every message must have a unique `MessageDeduplicationId`, which is a
|
298
|
+
# token used for deduplication of sent messages. If a message with a
|
299
|
+
# particular `MessageDeduplicationId` is sent successfully, any message
|
300
|
+
# sent with the same `MessageDeduplicationId` during the 5-minute
|
301
|
+
# deduplication interval is treated as a duplicate.
|
302
|
+
#
|
303
|
+
# If the topic has `ContentBasedDeduplication` set, the system generates
|
304
|
+
# a `MessageDeduplicationId` based on the contents of the message. Your
|
305
|
+
# `MessageDeduplicationId` overrides the generated one.
|
306
|
+
# @option options [String] :message_group_id
|
307
|
+
# This parameter applies only to FIFO (first-in-first-out) topics. The
|
308
|
+
# `MessageGroupId` can contain up to 128 alphanumeric characters (a-z,
|
309
|
+
# A-Z, 0-9) and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
|
310
|
+
#
|
311
|
+
# The `MessageGroupId` is a tag that specifies that a message belongs to
|
312
|
+
# a specific message group. Messages that belong to the same message
|
313
|
+
# group are processed in a FIFO manner (however, messages in different
|
314
|
+
# message groups might be processed out of order). Every message must
|
315
|
+
# include a `MessageGroupId`.
|
289
316
|
# @return [Types::PublishResponse]
|
290
317
|
def publish(options = {})
|
291
318
|
options = options.merge(topic_arn: @arn)
|
@@ -332,13 +359,27 @@ module Aws::SNS
|
|
332
359
|
#
|
333
360
|
# The following attribute applies only to [server-side-encryption][1]\:
|
334
361
|
#
|
335
|
-
# * `KmsMasterKeyId`
|
362
|
+
# * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
|
336
363
|
# (CMK) for Amazon SNS or a custom CMK. For more information, see [Key
|
337
364
|
# Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
|
338
365
|
# Management Service API Reference*.
|
339
366
|
#
|
340
367
|
# ^
|
341
368
|
#
|
369
|
+
# The following attribute applies only to FIFO topics:
|
370
|
+
#
|
371
|
+
# * `ContentBasedDeduplication` – Enables content-based deduplication.
|
372
|
+
# Amazon SNS uses a SHA-256 hash to generate the
|
373
|
+
# `MessageDeduplicationId` using the body of the message (but not the
|
374
|
+
# attributes of the message).
|
375
|
+
#
|
376
|
+
# * When `ContentBasedDeduplication` is in effect, messages with
|
377
|
+
# identical content sent within the deduplication interval are treated
|
378
|
+
# as duplicates and only one copy of the message is delivered.
|
379
|
+
#
|
380
|
+
# * If the queue has `ContentBasedDeduplication` set, your
|
381
|
+
# `MessageDeduplicationId` overrides the generated one.
|
382
|
+
#
|
342
383
|
#
|
343
384
|
#
|
344
385
|
# [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
|
data/lib/aws-sdk-sns/types.rb
CHANGED
@@ -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,13 +345,28 @@ module Aws::SNS
|
|
340
345
|
# The following attribute applies only to
|
341
346
|
# [server-side-encryption][1]\:
|
342
347
|
#
|
343
|
-
# * `KmsMasterKeyId`
|
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 attribute applies only to FIFO topics:
|
356
|
+
#
|
357
|
+
# * `ContentBasedDeduplication` – Enables content-based deduplication.
|
358
|
+
# Amazon SNS uses a SHA-256 hash to generate the
|
359
|
+
# `MessageDeduplicationId` using the body of the message (but not
|
360
|
+
# the attributes of the message).
|
361
|
+
#
|
362
|
+
# * When `ContentBasedDeduplication` is in effect, messages with
|
363
|
+
# identical content sent within the deduplication interval are
|
364
|
+
# treated as duplicates and only one copy of the message is
|
365
|
+
# delivered.
|
366
|
+
#
|
367
|
+
# * If the queue has `ContentBasedDeduplication` set, your
|
368
|
+
# `MessageDeduplicationId` overrides the generated one.
|
369
|
+
#
|
350
370
|
#
|
351
371
|
#
|
352
372
|
# [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
|
@@ -1397,6 +1417,8 @@ module Aws::SNS
|
|
1397
1417
|
# binary_value: "data",
|
1398
1418
|
# },
|
1399
1419
|
# },
|
1420
|
+
# message_deduplication_id: "String",
|
1421
|
+
# message_group_id: "String",
|
1400
1422
|
# }
|
1401
1423
|
#
|
1402
1424
|
# @!attribute [rw] topic_arn
|
@@ -1511,6 +1533,36 @@ module Aws::SNS
|
|
1511
1533
|
# Message attributes for Publish action.
|
1512
1534
|
# @return [Hash<String,Types::MessageAttributeValue>]
|
1513
1535
|
#
|
1536
|
+
# @!attribute [rw] message_deduplication_id
|
1537
|
+
# This parameter applies only to FIFO (first-in-first-out) topics. The
|
1538
|
+
# `MessageDeduplicationId` can contain up to 128 alphanumeric
|
1539
|
+
# characters (a-z, A-Z, 0-9) and punctuation ``
|
1540
|
+
# (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
|
1541
|
+
#
|
1542
|
+
# Every message must have a unique `MessageDeduplicationId`, which is
|
1543
|
+
# a token used for deduplication of sent messages. If a message with a
|
1544
|
+
# particular `MessageDeduplicationId` is sent successfully, any
|
1545
|
+
# message sent with the same `MessageDeduplicationId` during the
|
1546
|
+
# 5-minute deduplication interval is treated as a duplicate.
|
1547
|
+
#
|
1548
|
+
# If the topic has `ContentBasedDeduplication` set, the system
|
1549
|
+
# generates a `MessageDeduplicationId` based on the contents of the
|
1550
|
+
# message. Your `MessageDeduplicationId` overrides the generated one.
|
1551
|
+
# @return [String]
|
1552
|
+
#
|
1553
|
+
# @!attribute [rw] message_group_id
|
1554
|
+
# This parameter applies only to FIFO (first-in-first-out) topics. The
|
1555
|
+
# `MessageGroupId` can contain up to 128 alphanumeric characters (a-z,
|
1556
|
+
# A-Z, 0-9) and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~)
|
1557
|
+
# ``.
|
1558
|
+
#
|
1559
|
+
# The `MessageGroupId` is a tag that specifies that a message belongs
|
1560
|
+
# to a specific message group. Messages that belong to the same
|
1561
|
+
# message group are processed in a FIFO manner (however, messages in
|
1562
|
+
# different message groups might be processed out of order). Every
|
1563
|
+
# message must include a `MessageGroupId`.
|
1564
|
+
# @return [String]
|
1565
|
+
#
|
1514
1566
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishInput AWS API Documentation
|
1515
1567
|
#
|
1516
1568
|
class PublishInput < Struct.new(
|
@@ -1520,7 +1572,9 @@ module Aws::SNS
|
|
1520
1572
|
:message,
|
1521
1573
|
:subject,
|
1522
1574
|
:message_structure,
|
1523
|
-
:message_attributes
|
1575
|
+
:message_attributes,
|
1576
|
+
:message_deduplication_id,
|
1577
|
+
:message_group_id)
|
1524
1578
|
SENSITIVE = []
|
1525
1579
|
include Aws::Structure
|
1526
1580
|
end
|
@@ -1533,10 +1587,21 @@ module Aws::SNS
|
|
1533
1587
|
# Length Constraint: Maximum 100 characters
|
1534
1588
|
# @return [String]
|
1535
1589
|
#
|
1590
|
+
# @!attribute [rw] sequence_number
|
1591
|
+
# This response element applies only to FIFO (first-in-first-out)
|
1592
|
+
# topics.
|
1593
|
+
#
|
1594
|
+
# The sequence number is a large, non-consecutive number that Amazon
|
1595
|
+
# SNS assigns to each message. The length of `SequenceNumber` is 128
|
1596
|
+
# bits. `SequenceNumber` continues to increase for each
|
1597
|
+
# `MessageGroupId`.
|
1598
|
+
# @return [String]
|
1599
|
+
#
|
1536
1600
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishResponse AWS API Documentation
|
1537
1601
|
#
|
1538
1602
|
class PublishResponse < Struct.new(
|
1539
|
-
:message_id
|
1603
|
+
:message_id,
|
1604
|
+
:sequence_number)
|
1540
1605
|
SENSITIVE = []
|
1541
1606
|
include Aws::Structure
|
1542
1607
|
end
|
@@ -1891,13 +1956,28 @@ module Aws::SNS
|
|
1891
1956
|
# The following attribute applies only to
|
1892
1957
|
# [server-side-encryption][1]\:
|
1893
1958
|
#
|
1894
|
-
# * `KmsMasterKeyId`
|
1959
|
+
# * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
|
1895
1960
|
# (CMK) for Amazon SNS or a custom CMK. For more information, see
|
1896
1961
|
# [Key Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
|
1897
1962
|
# Management Service API Reference*.
|
1898
1963
|
#
|
1899
1964
|
# ^
|
1900
1965
|
#
|
1966
|
+
# The following attribute applies only to FIFO topics:
|
1967
|
+
#
|
1968
|
+
# * `ContentBasedDeduplication` – Enables content-based deduplication.
|
1969
|
+
# Amazon SNS uses a SHA-256 hash to generate the
|
1970
|
+
# `MessageDeduplicationId` using the body of the message (but not
|
1971
|
+
# the attributes of the message).
|
1972
|
+
#
|
1973
|
+
# * When `ContentBasedDeduplication` is in effect, messages with
|
1974
|
+
# identical content sent within the deduplication interval are
|
1975
|
+
# treated as duplicates and only one copy of the message is
|
1976
|
+
# delivered.
|
1977
|
+
#
|
1978
|
+
# * If the queue has `ContentBasedDeduplication` set, your
|
1979
|
+
# `MessageDeduplicationId` overrides the generated one.
|
1980
|
+
#
|
1901
1981
|
#
|
1902
1982
|
#
|
1903
1983
|
# [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
|
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.
|
4
|
+
version: 1.34.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-
|
11
|
+
date: 2020-10-22 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.
|
22
|
+
version: 3.109.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.
|
32
|
+
version: 3.109.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: aws-sigv4
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|