aws-sdk-sns 1.30.0 → 1.34.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: 7e668714dc4d73930de81431ca74a1450d96645a4c28d9c1c597f6266e4dc484
4
- data.tar.gz: 468f0a09f42d130fb172a3a012898322eb3e18cd3bf516c843d9866ab7da8f2b
3
+ metadata.gz: 1f2ec23f109fe4dc267eb632787f6654932a668b74fa7d9077f09b204754e7fd
4
+ data.tar.gz: f3dba051717d1a04cd288cd9c3eaa303967534abebd766b19412695ff9d5906b
5
5
  SHA512:
6
- metadata.gz: d4864308e82b91bbe2df517c69b327cafc56671c7437f34071e4c60e109a8e945e8df601ca5619596c839a44ee4856b0b30f8faa502643a295a1e10a1a042717
7
- data.tar.gz: f11d25301facbaf4836fedd3d3b022cac89232389875fc466dbc078cde1c1ad7ff95c1a7dcdf56b670f29551716ed704cd6d0dd8a69902aa6755f74cf36ab158
6
+ metadata.gz: 733fded3d3755b48ed9aedc3060b7f78d1eb00afe93948fad91580bf683b47d0770c3228e19b5ad1288bb7eaac8474fb79b53206c3ea90299b0528a37e495868
7
+ data.tar.gz: 981bf2e8cb615e6b161ed21d089c4cff6091a5a580b754029924b8d3ea73d3df3a581c7debc9c0f0c6ab185280f22d5a3eeb0520573ee1b8d7ab3e9d5312a0a3
@@ -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.30.0'
55
+ GEM_VERSION = '1.34.0'
55
56
 
56
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,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` - 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 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` - The ID of an AWS-managed customer master key
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.30.0'
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
- def initialize
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
- http = Net::HTTP.new(uri.host, uri.port)
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)
@@ -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` - 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 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
@@ -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` - The ID of an AWS-managed customer master key
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
@@ -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` - 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 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` - The ID of an AWS-managed customer master key
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.30.0
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-08-25 00:00:00.000000000 Z
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.99.0
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.99.0
32
+ version: 3.109.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement