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 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