aws-sdk-sns 1.42.0 → 1.77.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,16 +10,6 @@
10
10
  module Aws::SNS
11
11
  module Types
12
12
 
13
- # @note When making an API call, you may pass AddPermissionInput
14
- # data as a hash:
15
- #
16
- # {
17
- # topic_arn: "topicARN", # required
18
- # label: "label", # required
19
- # aws_account_id: ["delegate"], # required
20
- # action_name: ["action"], # required
21
- # }
22
- #
23
13
  # @!attribute [rw] topic_arn
24
14
  # The ARN of the topic whose access control policy you wish to modify.
25
15
  # @return [String]
@@ -29,9 +19,10 @@ module Aws::SNS
29
19
  # @return [String]
30
20
  #
31
21
  # @!attribute [rw] aws_account_id
32
- # The account IDs of the users (principals) who will be given access
33
- # to the specified actions. The users must have account, but do not
34
- # need to be signed up for this service.
22
+ # The Amazon Web Services account IDs of the users (principals) who
23
+ # will be given access to the specified actions. The users must have
24
+ # Amazon Web Services account, but do not need to be signed up for
25
+ # this service.
35
26
  # @return [Array<String>]
36
27
  #
37
28
  # @!attribute [rw] action_name
@@ -65,14 +56,64 @@ module Aws::SNS
65
56
  include Aws::Structure
66
57
  end
67
58
 
68
- # The input for the `CheckIfPhoneNumberIsOptedOut` action.
59
+ # Two or more batch entries in the request have the same `Id`.
60
+ #
61
+ # @!attribute [rw] message
62
+ # @return [String]
63
+ #
64
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/BatchEntryIdsNotDistinctException AWS API Documentation
65
+ #
66
+ class BatchEntryIdsNotDistinctException < Struct.new(
67
+ :message)
68
+ SENSITIVE = []
69
+ include Aws::Structure
70
+ end
71
+
72
+ # The length of all the batch messages put together is more than the
73
+ # limit.
74
+ #
75
+ # @!attribute [rw] message
76
+ # @return [String]
77
+ #
78
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/BatchRequestTooLongException AWS API Documentation
79
+ #
80
+ class BatchRequestTooLongException < Struct.new(
81
+ :message)
82
+ SENSITIVE = []
83
+ include Aws::Structure
84
+ end
85
+
86
+ # Gives a detailed description of failed messages in the batch.
87
+ #
88
+ # @!attribute [rw] id
89
+ # The `Id` of an entry in a batch request
90
+ # @return [String]
91
+ #
92
+ # @!attribute [rw] code
93
+ # An error code representing why the action failed on this entry.
94
+ # @return [String]
69
95
  #
70
- # @note When making an API call, you may pass CheckIfPhoneNumberIsOptedOutInput
71
- # data as a hash:
96
+ # @!attribute [rw] message
97
+ # A message explaining why the action failed on this entry.
98
+ # @return [String]
72
99
  #
73
- # {
74
- # phone_number: "PhoneNumber", # required
75
- # }
100
+ # @!attribute [rw] sender_fault
101
+ # Specifies whether the error happened due to the caller of the batch
102
+ # API action.
103
+ # @return [Boolean]
104
+ #
105
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/BatchResultErrorEntry AWS API Documentation
106
+ #
107
+ class BatchResultErrorEntry < Struct.new(
108
+ :id,
109
+ :code,
110
+ :message,
111
+ :sender_fault)
112
+ SENSITIVE = []
113
+ include Aws::Structure
114
+ end
115
+
116
+ # The input for the `CheckIfPhoneNumberIsOptedOut` action.
76
117
  #
77
118
  # @!attribute [rw] phone_number
78
119
  # The phone number for which you want to check the opt out status.
@@ -82,7 +123,7 @@ module Aws::SNS
82
123
  #
83
124
  class CheckIfPhoneNumberIsOptedOutInput < Struct.new(
84
125
  :phone_number)
85
- SENSITIVE = []
126
+ SENSITIVE = [:phone_number]
86
127
  include Aws::Structure
87
128
  end
88
129
 
@@ -122,15 +163,6 @@ module Aws::SNS
122
163
 
123
164
  # Input for ConfirmSubscription action.
124
165
  #
125
- # @note When making an API call, you may pass ConfirmSubscriptionInput
126
- # data as a hash:
127
- #
128
- # {
129
- # topic_arn: "topicARN", # required
130
- # token: "token", # required
131
- # authenticate_on_unsubscribe: "authenticateOnUnsubscribe",
132
- # }
133
- #
134
166
  # @!attribute [rw] topic_arn
135
167
  # The ARN of the topic for which you wish to confirm a subscription.
136
168
  # @return [String]
@@ -187,17 +219,6 @@ module Aws::SNS
187
219
 
188
220
  # Input for CreatePlatformApplication action.
189
221
  #
190
- # @note When making an API call, you may pass CreatePlatformApplicationInput
191
- # data as a hash:
192
- #
193
- # {
194
- # name: "String", # required
195
- # platform: "String", # required
196
- # attributes: { # required
197
- # "String" => "String",
198
- # },
199
- # }
200
- #
201
222
  # @!attribute [rw] name
202
223
  # Application names must be made up of only uppercase and lowercase
203
224
  # ASCII letters, numbers, underscores, hyphens, and periods, and must
@@ -211,7 +232,8 @@ module Aws::SNS
211
232
  # @return [String]
212
233
  #
213
234
  # @!attribute [rw] attributes
214
- # For a list of attributes, see [SetPlatformApplicationAttributes][1].
235
+ # For a list of attributes, see [ `SetPlatformApplicationAttributes`
236
+ # ][1].
215
237
  #
216
238
  #
217
239
  #
@@ -231,7 +253,7 @@ module Aws::SNS
231
253
  # Response from CreatePlatformApplication action.
232
254
  #
233
255
  # @!attribute [rw] platform_application_arn
234
- # PlatformApplicationArn is returned.
256
+ # `PlatformApplicationArn` is returned.
235
257
  # @return [String]
236
258
  #
237
259
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreatePlatformApplicationResponse AWS API Documentation
@@ -244,20 +266,8 @@ module Aws::SNS
244
266
 
245
267
  # Input for CreatePlatformEndpoint action.
246
268
  #
247
- # @note When making an API call, you may pass CreatePlatformEndpointInput
248
- # data as a hash:
249
- #
250
- # {
251
- # platform_application_arn: "String", # required
252
- # token: "String", # required
253
- # custom_user_data: "String",
254
- # attributes: {
255
- # "String" => "String",
256
- # },
257
- # }
258
- #
259
269
  # @!attribute [rw] platform_application_arn
260
- # PlatformApplicationArn returned from CreatePlatformApplication is
270
+ # `PlatformApplicationArn` returned from CreatePlatformApplication is
261
271
  # used to create a an endpoint.
262
272
  # @return [String]
263
273
  #
@@ -277,7 +287,7 @@ module Aws::SNS
277
287
  # @return [String]
278
288
  #
279
289
  # @!attribute [rw] attributes
280
- # For a list of attributes, see [SetEndpointAttributes][1].
290
+ # For a list of attributes, see [ `SetEndpointAttributes` ][1].
281
291
  #
282
292
  #
283
293
  #
@@ -295,14 +305,6 @@ module Aws::SNS
295
305
  include Aws::Structure
296
306
  end
297
307
 
298
- # @note When making an API call, you may pass CreateSMSSandboxPhoneNumberInput
299
- # data as a hash:
300
- #
301
- # {
302
- # phone_number: "PhoneNumberString", # required
303
- # language_code: "en-US", # accepts en-US, en-GB, es-419, es-ES, de-DE, fr-CA, fr-FR, it-IT, ja-JP, pt-BR, kr-KR, zh-CN, zh-TW
304
- # }
305
- #
306
308
  # @!attribute [rw] phone_number
307
309
  # The destination phone number to verify. On verification, Amazon SNS
308
310
  # adds this phone number to the list of verified phone numbers that
@@ -319,7 +321,7 @@ module Aws::SNS
319
321
  class CreateSMSSandboxPhoneNumberInput < Struct.new(
320
322
  :phone_number,
321
323
  :language_code)
322
- SENSITIVE = []
324
+ SENSITIVE = [:phone_number]
323
325
  include Aws::Structure
324
326
  end
325
327
 
@@ -329,22 +331,6 @@ module Aws::SNS
329
331
 
330
332
  # Input for CreateTopic action.
331
333
  #
332
- # @note When making an API call, you may pass CreateTopicInput
333
- # data as a hash:
334
- #
335
- # {
336
- # name: "topicName", # required
337
- # attributes: {
338
- # "attributeName" => "attributeValue",
339
- # },
340
- # tags: [
341
- # {
342
- # key: "TagKey", # required
343
- # value: "TagValue", # required
344
- # },
345
- # ],
346
- # }
347
- #
348
334
  # @!attribute [rw] name
349
335
  # The name of the topic you want to create.
350
336
  #
@@ -359,8 +345,8 @@ module Aws::SNS
359
345
  # @!attribute [rw] attributes
360
346
  # A map of attributes with their corresponding values.
361
347
  #
362
- # The following lists the names, descriptions, and values of the
363
- # special request parameters that the `CreateTopic` action uses:
348
+ # The following lists names, descriptions, and values of the special
349
+ # request parameters that the `CreateTopic` action uses:
364
350
  #
365
351
  # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
366
352
  # failed deliveries to HTTP/S endpoints.
@@ -374,8 +360,21 @@ module Aws::SNS
374
360
  # default, only the topic owner can publish or subscribe to the
375
361
  # topic.
376
362
  #
377
- # The following attribute applies only to [server-side
378
- # encryption][1]\:
363
+ # * `SignatureVersion` – The signature version corresponds to the
364
+ # hashing algorithm used while creating the signature of the
365
+ # notifications, subscription confirmations, or unsubscribe
366
+ # confirmation messages sent by Amazon SNS. By default,
367
+ # `SignatureVersion` is set to `1`.
368
+ #
369
+ # * `TracingConfig` – Tracing mode of an Amazon SNS topic. By default
370
+ # `TracingConfig` is set to `PassThrough`, and the topic passes
371
+ # through the tracing header it receives from an Amazon SNS
372
+ # publisher to its subscriptions. If set to `Active`, Amazon SNS
373
+ # will vend X-Ray segment data to topic owner account if the sampled
374
+ # flag in the tracing header is true. This is only supported on
375
+ # standard topics.
376
+ #
377
+ # The following attribute applies only to [server-side encryption][1]:
379
378
  #
380
379
  # * `KmsMasterKeyId` – The ID of an Amazon Web Services managed
381
380
  # customer master key (CMK) for Amazon SNS or a custom CMK. For more
@@ -384,9 +383,15 @@ module Aws::SNS
384
383
  #
385
384
  # ^
386
385
  #
387
- # The following attributes apply only to [FIFO topics][4]\:
386
+ # The following attributes apply only to [FIFO topics][4]:
388
387
  #
389
- # * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
388
+ # * `ArchivePolicy` – Adds or updates an inline policy document to
389
+ # archive messages stored in the specified Amazon SNS topic.
390
+ #
391
+ # * `BeginningArchiveTime` – The earliest starting point at which a
392
+ # message in the topic’s archive can be replayed from. This point in
393
+ # time is based on the configured message retention period set by
394
+ # the topic’s message archiving policy.
390
395
  #
391
396
  # * `ContentBasedDeduplication` – Enables content-based deduplication
392
397
  # for FIFO topics.
@@ -423,12 +428,23 @@ module Aws::SNS
423
428
  # </note>
424
429
  # @return [Array<Types::Tag>]
425
430
  #
431
+ # @!attribute [rw] data_protection_policy
432
+ # The body of the policy document you want to use for this topic.
433
+ #
434
+ # You can only add one policy per topic.
435
+ #
436
+ # The policy must be in JSON string format.
437
+ #
438
+ # Length Constraints: Maximum length of 30,720.
439
+ # @return [String]
440
+ #
426
441
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreateTopicInput AWS API Documentation
427
442
  #
428
443
  class CreateTopicInput < Struct.new(
429
444
  :name,
430
445
  :attributes,
431
- :tags)
446
+ :tags,
447
+ :data_protection_policy)
432
448
  SENSITIVE = []
433
449
  include Aws::Structure
434
450
  end
@@ -447,17 +463,10 @@ module Aws::SNS
447
463
  include Aws::Structure
448
464
  end
449
465
 
450
- # Input for DeleteEndpoint action.
451
- #
452
- # @note When making an API call, you may pass DeleteEndpointInput
453
- # data as a hash:
454
- #
455
- # {
456
- # endpoint_arn: "String", # required
457
- # }
466
+ # Input for `DeleteEndpoint` action.
458
467
  #
459
468
  # @!attribute [rw] endpoint_arn
460
- # EndpointArn of endpoint to delete.
469
+ # `EndpointArn` of endpoint to delete.
461
470
  # @return [String]
462
471
  #
463
472
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeleteEndpointInput AWS API Documentation
@@ -468,17 +477,10 @@ module Aws::SNS
468
477
  include Aws::Structure
469
478
  end
470
479
 
471
- # Input for DeletePlatformApplication action.
472
- #
473
- # @note When making an API call, you may pass DeletePlatformApplicationInput
474
- # data as a hash:
475
- #
476
- # {
477
- # platform_application_arn: "String", # required
478
- # }
480
+ # Input for `DeletePlatformApplication` action.
479
481
  #
480
482
  # @!attribute [rw] platform_application_arn
481
- # PlatformApplicationArn of platform application object to delete.
483
+ # `PlatformApplicationArn` of platform application object to delete.
482
484
  # @return [String]
483
485
  #
484
486
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeletePlatformApplicationInput AWS API Documentation
@@ -489,13 +491,6 @@ module Aws::SNS
489
491
  include Aws::Structure
490
492
  end
491
493
 
492
- # @note When making an API call, you may pass DeleteSMSSandboxPhoneNumberInput
493
- # data as a hash:
494
- #
495
- # {
496
- # phone_number: "PhoneNumberString", # required
497
- # }
498
- #
499
494
  # @!attribute [rw] phone_number
500
495
  # The destination phone number to delete.
501
496
  # @return [String]
@@ -504,7 +499,7 @@ module Aws::SNS
504
499
  #
505
500
  class DeleteSMSSandboxPhoneNumberInput < Struct.new(
506
501
  :phone_number)
507
- SENSITIVE = []
502
+ SENSITIVE = [:phone_number]
508
503
  include Aws::Structure
509
504
  end
510
505
 
@@ -512,13 +507,6 @@ module Aws::SNS
512
507
  #
513
508
  class DeleteSMSSandboxPhoneNumberResult < Aws::EmptyStructure; end
514
509
 
515
- # @note When making an API call, you may pass DeleteTopicInput
516
- # data as a hash:
517
- #
518
- # {
519
- # topic_arn: "topicARN", # required
520
- # }
521
- #
522
510
  # @!attribute [rw] topic_arn
523
511
  # The ARN of the topic you want to delete.
524
512
  # @return [String]
@@ -531,10 +519,23 @@ module Aws::SNS
531
519
  include Aws::Structure
532
520
  end
533
521
 
534
- # Endpoint for mobile app and device.
522
+ # The batch request doesn't contain any entries.
523
+ #
524
+ # @!attribute [rw] message
525
+ # @return [String]
526
+ #
527
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/EmptyBatchRequestException AWS API Documentation
528
+ #
529
+ class EmptyBatchRequestException < Struct.new(
530
+ :message)
531
+ SENSITIVE = []
532
+ include Aws::Structure
533
+ end
534
+
535
+ # The endpoint for mobile app and device.
535
536
  #
536
537
  # @!attribute [rw] endpoint_arn
537
- # EndpointArn for mobile app and device.
538
+ # The `EndpointArn` for mobile app and device.
538
539
  # @return [String]
539
540
  #
540
541
  # @!attribute [rw] attributes
@@ -564,9 +565,10 @@ module Aws::SNS
564
565
  include Aws::Structure
565
566
  end
566
567
 
567
- # Indicates that the number of filter polices in your account exceeds
568
- # the limit. To add more filter polices, submit an SNS Limit Increase
569
- # case in the Amazon Web Services Support Center.
568
+ # Indicates that the number of filter polices in your Amazon Web
569
+ # Services account exceeds the limit. To add more filter polices, submit
570
+ # an Amazon SNS Limit Increase case in the Amazon Web Services Support
571
+ # Center.
570
572
  #
571
573
  # @!attribute [rw] message
572
574
  # @return [String]
@@ -579,17 +581,41 @@ module Aws::SNS
579
581
  include Aws::Structure
580
582
  end
581
583
 
582
- # Input for GetEndpointAttributes action.
584
+ # @!attribute [rw] resource_arn
585
+ # The ARN of the topic whose `DataProtectionPolicy` you want to get.
586
+ #
587
+ # For more information about ARNs, see [Amazon Resource Names
588
+ # (ARNs)][1] in the Amazon Web Services General Reference.
589
+ #
590
+ #
591
+ #
592
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
593
+ # @return [String]
594
+ #
595
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetDataProtectionPolicyInput AWS API Documentation
596
+ #
597
+ class GetDataProtectionPolicyInput < Struct.new(
598
+ :resource_arn)
599
+ SENSITIVE = []
600
+ include Aws::Structure
601
+ end
602
+
603
+ # @!attribute [rw] data_protection_policy
604
+ # Retrieves the `DataProtectionPolicy` in JSON string format.
605
+ # @return [String]
583
606
  #
584
- # @note When making an API call, you may pass GetEndpointAttributesInput
585
- # data as a hash:
607
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetDataProtectionPolicyResponse AWS API Documentation
586
608
  #
587
- # {
588
- # endpoint_arn: "String", # required
589
- # }
609
+ class GetDataProtectionPolicyResponse < Struct.new(
610
+ :data_protection_policy)
611
+ SENSITIVE = []
612
+ include Aws::Structure
613
+ end
614
+
615
+ # Input for `GetEndpointAttributes` action.
590
616
  #
591
617
  # @!attribute [rw] endpoint_arn
592
- # EndpointArn for GetEndpointAttributes input.
618
+ # `EndpointArn` for `GetEndpointAttributes` input.
593
619
  # @return [String]
594
620
  #
595
621
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetEndpointAttributesInput AWS API Documentation
@@ -600,7 +626,7 @@ module Aws::SNS
600
626
  include Aws::Structure
601
627
  end
602
628
 
603
- # Response from GetEndpointAttributes of the EndpointArn.
629
+ # Response from `GetEndpointAttributes` of the `EndpointArn`.
604
630
  #
605
631
  # @!attribute [rw] attributes
606
632
  # Attributes include the following:
@@ -632,17 +658,10 @@ module Aws::SNS
632
658
  include Aws::Structure
633
659
  end
634
660
 
635
- # Input for GetPlatformApplicationAttributes action.
636
- #
637
- # @note When making an API call, you may pass GetPlatformApplicationAttributesInput
638
- # data as a hash:
639
- #
640
- # {
641
- # platform_application_arn: "String", # required
642
- # }
661
+ # Input for `GetPlatformApplicationAttributes` action.
643
662
  #
644
663
  # @!attribute [rw] platform_application_arn
645
- # PlatformApplicationArn for GetPlatformApplicationAttributesInput.
664
+ # `PlatformApplicationArn` for GetPlatformApplicationAttributesInput.
646
665
  # @return [String]
647
666
  #
648
667
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetPlatformApplicationAttributesInput AWS API Documentation
@@ -653,11 +672,28 @@ module Aws::SNS
653
672
  include Aws::Structure
654
673
  end
655
674
 
656
- # Response for GetPlatformApplicationAttributes action.
675
+ # Response for `GetPlatformApplicationAttributes` action.
657
676
  #
658
677
  # @!attribute [rw] attributes
659
678
  # Attributes include the following:
660
679
  #
680
+ # * `AppleCertificateExpiryDate` – The expiry date of the SSL
681
+ # certificate used to configure certificate-based authentication.
682
+ #
683
+ # * `ApplePlatformTeamID` – The Apple developer account ID used to
684
+ # configure token-based authentication.
685
+ #
686
+ # * `ApplePlatformBundleID` – The app identifier used to configure
687
+ # token-based authentication.
688
+ #
689
+ # * `AuthenticationMethod` – Returns the credential type used when
690
+ # sending push notifications from application to APNS/APNS\_Sandbox,
691
+ # or application to GCM.
692
+ #
693
+ # * APNS – Returns the token or certificate.
694
+ #
695
+ # * GCM – Returns the token or key.
696
+ #
661
697
  # * `EventEndpointCreated` – Topic ARN to which EndpointCreated event
662
698
  # notifications should be sent.
663
699
  #
@@ -682,13 +718,6 @@ module Aws::SNS
682
718
 
683
719
  # The input for the `GetSMSAttributes` request.
684
720
  #
685
- # @note When making an API call, you may pass GetSMSAttributesInput
686
- # data as a hash:
687
- #
688
- # {
689
- # attributes: ["String"],
690
- # }
691
- #
692
721
  # @!attribute [rw] attributes
693
722
  # A list of the individual attribute names, such as
694
723
  # `MonthlySpendLimit`, for which you want values.
@@ -732,7 +761,8 @@ module Aws::SNS
732
761
  class GetSMSSandboxAccountStatusInput < Aws::EmptyStructure; end
733
762
 
734
763
  # @!attribute [rw] is_in_sandbox
735
- # Indicates whether the calling account is in the SMS sandbox.
764
+ # Indicates whether the calling Amazon Web Services account is in the
765
+ # SMS sandbox.
736
766
  # @return [Boolean]
737
767
  #
738
768
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSMSSandboxAccountStatusResult AWS API Documentation
@@ -745,13 +775,6 @@ module Aws::SNS
745
775
 
746
776
  # Input for GetSubscriptionAttributes.
747
777
  #
748
- # @note When making an API call, you may pass GetSubscriptionAttributesInput
749
- # data as a hash:
750
- #
751
- # {
752
- # subscription_arn: "subscriptionARN", # required
753
- # }
754
- #
755
778
  # @!attribute [rw] subscription_arn
756
779
  # The ARN of the subscription whose properties you want to get.
757
780
  # @return [String]
@@ -784,7 +807,16 @@ module Aws::SNS
784
807
  # subscription. For more information, see [Amazon SNS Message
785
808
  # Filtering][1] in the *Amazon SNS Developer Guide*.
786
809
  #
787
- # * `Owner` – The account ID of the subscription's owner.
810
+ # * `FilterPolicyScope` – This attribute lets you choose the filtering
811
+ # scope by using one of the following string value types:
812
+ #
813
+ # * `MessageAttributes` (default) – The filter is applied on the
814
+ # message attributes.
815
+ #
816
+ # * `MessageBody` – The filter is applied on the message body.
817
+ #
818
+ # * `Owner` – The Amazon Web Services account ID of the
819
+ # subscription's owner.
788
820
  #
789
821
  # * `PendingConfirmation` – `true` if the subscription hasn't been
790
822
  # confirmed. To confirm a pending subscription, call the
@@ -807,20 +839,20 @@ module Aws::SNS
807
839
  # * `TopicArn` – The topic ARN that the subscription is associated
808
840
  # with.
809
841
  #
810
- # The following attribute applies only to Amazon Kinesis Data Firehose
842
+ # The following attribute applies only to Amazon Data Firehose
811
843
  # delivery stream subscriptions:
812
844
  #
813
845
  # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
814
846
  # following:
815
847
  #
816
- # * Permission to write to the Kinesis Data Firehose delivery stream
848
+ # * Permission to write to the Firehose delivery stream
817
849
  #
818
850
  # * Amazon SNS listed as a trusted entity
819
851
  #
820
- # Specifying a valid ARN for this attribute is required for Kinesis
821
- # Data Firehose delivery stream subscriptions. For more information,
822
- # see [Fanout to Kinesis Data Firehose delivery streams][2] in the
823
- # *Amazon SNS Developer Guide*.
852
+ # Specifying a valid ARN for this attribute is required for Firehose
853
+ # delivery stream subscriptions. For more information, see [Fanout
854
+ # to Firehose delivery streams][2] in the *Amazon SNS Developer
855
+ # Guide*.
824
856
  #
825
857
  #
826
858
  #
@@ -838,13 +870,6 @@ module Aws::SNS
838
870
 
839
871
  # Input for GetTopicAttributes action.
840
872
  #
841
- # @note When making an API call, you may pass GetTopicAttributesInput
842
- # data as a hash:
843
- #
844
- # {
845
- # topic_arn: "topicARN", # required
846
- # }
847
- #
848
873
  # @!attribute [rw] topic_arn
849
874
  # The ARN of the topic whose properties you want to get.
850
875
  # @return [String]
@@ -869,11 +894,32 @@ module Aws::SNS
869
894
  # * `DisplayName` – The human-readable name used in the `From` field
870
895
  # for notifications to `email` and `email-json` endpoints.
871
896
  #
872
- # * `Owner` – The account ID of the topic's owner.
897
+ # * `EffectiveDeliveryPolicy` – The JSON serialization of the
898
+ # effective delivery policy, taking system defaults into account.
899
+ #
900
+ # * `Owner` – The Amazon Web Services account ID of the topic's
901
+ # owner.
873
902
  #
874
903
  # * `Policy` – The JSON serialization of the topic's access control
875
904
  # policy.
876
905
  #
906
+ # * `SignatureVersion` – The signature version corresponds to the
907
+ # hashing algorithm used while creating the signature of the
908
+ # notifications, subscription confirmations, or unsubscribe
909
+ # confirmation messages sent by Amazon SNS.
910
+ #
911
+ # * By default, `SignatureVersion` is set to **1**. The signature is
912
+ # a Base64-encoded **SHA1withRSA** signature.
913
+ #
914
+ # * When you set `SignatureVersion` to **2**. Amazon SNS uses a
915
+ # Base64-encoded **SHA256withRSA** signature.
916
+ #
917
+ # <note markdown="1"> If the API response does not include the `SignatureVersion`
918
+ # attribute, it means that the `SignatureVersion` for the topic
919
+ # has value **1**.
920
+ #
921
+ # </note>
922
+ #
877
923
  # * `SubscriptionsConfirmed` – The number of confirmed subscriptions
878
924
  # for the topic.
879
925
  #
@@ -885,11 +931,15 @@ module Aws::SNS
885
931
  #
886
932
  # * `TopicArn` – The topic's ARN.
887
933
  #
888
- # * `EffectiveDeliveryPolicy` – The JSON serialization of the
889
- # effective delivery policy, taking system defaults into account.
934
+ # * `TracingConfig` – Tracing mode of an Amazon SNS topic. By default
935
+ # `TracingConfig` is set to `PassThrough`, and the topic passes
936
+ # through the tracing header it receives from an Amazon SNS
937
+ # publisher to its subscriptions. If set to `Active`, Amazon SNS
938
+ # will vend X-Ray segment data to topic owner account if the sampled
939
+ # flag in the tracing header is true. This is only supported on
940
+ # standard topics.
890
941
  #
891
- # The following attribute applies only to
892
- # [server-side-encryption][1]\:
942
+ # The following attribute applies only to [server-side-encryption][1]:
893
943
  #
894
944
  # * `KmsMasterKeyId` - The ID of an Amazon Web Services managed
895
945
  # customer master key (CMK) for Amazon SNS or a custom CMK. For more
@@ -898,7 +948,7 @@ module Aws::SNS
898
948
  #
899
949
  # ^
900
950
  #
901
- # The following attributes apply only to [FIFO topics][4]\:
951
+ # The following attributes apply only to [FIFO topics][4]:
902
952
  #
903
953
  # * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
904
954
  #
@@ -949,6 +999,20 @@ module Aws::SNS
949
999
  include Aws::Structure
950
1000
  end
951
1001
 
1002
+ # The `Id` of a batch entry in a batch request doesn't abide by the
1003
+ # specification.
1004
+ #
1005
+ # @!attribute [rw] message
1006
+ # @return [String]
1007
+ #
1008
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/InvalidBatchEntryIdException AWS API Documentation
1009
+ #
1010
+ class InvalidBatchEntryIdException < Struct.new(
1011
+ :message)
1012
+ SENSITIVE = []
1013
+ include Aws::Structure
1014
+ end
1015
+
952
1016
  # Indicates that a request parameter does not comply with the associated
953
1017
  # constraints.
954
1018
  #
@@ -967,7 +1031,8 @@ module Aws::SNS
967
1031
  # constraints.
968
1032
  #
969
1033
  # @!attribute [rw] message
970
- # The parameter value is invalid.
1034
+ # The parameter of an entry in a request doesn't abide by the
1035
+ # specification.
971
1036
  # @return [String]
972
1037
  #
973
1038
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/InvalidParameterValueException AWS API Documentation
@@ -992,6 +1057,20 @@ module Aws::SNS
992
1057
  include Aws::Structure
993
1058
  end
994
1059
 
1060
+ # Indicates that the specified state is not a valid state for an event
1061
+ # source.
1062
+ #
1063
+ # @!attribute [rw] message
1064
+ # @return [String]
1065
+ #
1066
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/InvalidStateException AWS API Documentation
1067
+ #
1068
+ class InvalidStateException < Struct.new(
1069
+ :message)
1070
+ SENSITIVE = []
1071
+ include Aws::Structure
1072
+ end
1073
+
995
1074
  # The ciphertext references a key that doesn't exist or that you don't
996
1075
  # have access to.
997
1076
  #
@@ -1006,8 +1085,8 @@ module Aws::SNS
1006
1085
  include Aws::Structure
1007
1086
  end
1008
1087
 
1009
- # The request was rejected because the specified customer master key
1010
- # (CMK) isn't enabled.
1088
+ # The request was rejected because the specified Amazon Web Services KMS
1089
+ # key isn't enabled.
1011
1090
  #
1012
1091
  # @!attribute [rw] message
1013
1092
  # @return [String]
@@ -1021,9 +1100,9 @@ module Aws::SNS
1021
1100
  end
1022
1101
 
1023
1102
  # The request was rejected because the state of the specified resource
1024
- # isn't valid for this request. For more information, see [How Key
1025
- # State Affects Use of a Customer Master Key][1] in the *Key Management
1026
- # Service Developer Guide*.
1103
+ # isn't valid for this request. For more information, see [Key states
1104
+ # of Amazon Web Services KMS keys][1] in the *Key Management Service
1105
+ # Developer Guide*.
1027
1106
  #
1028
1107
  #
1029
1108
  #
@@ -1087,24 +1166,16 @@ module Aws::SNS
1087
1166
  include Aws::Structure
1088
1167
  end
1089
1168
 
1090
- # Input for ListEndpointsByPlatformApplication action.
1091
- #
1092
- # @note When making an API call, you may pass ListEndpointsByPlatformApplicationInput
1093
- # data as a hash:
1094
- #
1095
- # {
1096
- # platform_application_arn: "String", # required
1097
- # next_token: "String",
1098
- # }
1169
+ # Input for `ListEndpointsByPlatformApplication` action.
1099
1170
  #
1100
1171
  # @!attribute [rw] platform_application_arn
1101
- # PlatformApplicationArn for ListEndpointsByPlatformApplicationInput
1102
- # action.
1172
+ # `PlatformApplicationArn` for
1173
+ # `ListEndpointsByPlatformApplicationInput` action.
1103
1174
  # @return [String]
1104
1175
  #
1105
1176
  # @!attribute [rw] next_token
1106
- # NextToken string is used when calling
1107
- # ListEndpointsByPlatformApplication action to retrieve additional
1177
+ # `NextToken` string is used when calling
1178
+ # `ListEndpointsByPlatformApplication` action to retrieve additional
1108
1179
  # records that are available after the first page results.
1109
1180
  # @return [String]
1110
1181
  #
@@ -1117,16 +1188,16 @@ module Aws::SNS
1117
1188
  include Aws::Structure
1118
1189
  end
1119
1190
 
1120
- # Response for ListEndpointsByPlatformApplication action.
1191
+ # Response for `ListEndpointsByPlatformApplication` action.
1121
1192
  #
1122
1193
  # @!attribute [rw] endpoints
1123
- # Endpoints returned for ListEndpointsByPlatformApplication action.
1194
+ # Endpoints returned for `ListEndpointsByPlatformApplication` action.
1124
1195
  # @return [Array<Types::Endpoint>]
1125
1196
  #
1126
1197
  # @!attribute [rw] next_token
1127
- # NextToken string is returned when calling
1128
- # ListEndpointsByPlatformApplication action if additional records are
1129
- # available after the first page results.
1198
+ # `NextToken` string is returned when calling
1199
+ # `ListEndpointsByPlatformApplication` action if additional records
1200
+ # are available after the first page results.
1130
1201
  # @return [String]
1131
1202
  #
1132
1203
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListEndpointsByPlatformApplicationResponse AWS API Documentation
@@ -1138,14 +1209,6 @@ module Aws::SNS
1138
1209
  include Aws::Structure
1139
1210
  end
1140
1211
 
1141
- # @note When making an API call, you may pass ListOriginationNumbersRequest
1142
- # data as a hash:
1143
- #
1144
- # {
1145
- # next_token: "nextToken",
1146
- # max_results: 1,
1147
- # }
1148
- #
1149
1212
  # @!attribute [rw] next_token
1150
1213
  # Token that the previous `ListOriginationNumbers` request returns.
1151
1214
  # @return [String]
@@ -1185,13 +1248,6 @@ module Aws::SNS
1185
1248
 
1186
1249
  # The input for the `ListPhoneNumbersOptedOut` action.
1187
1250
  #
1188
- # @note When making an API call, you may pass ListPhoneNumbersOptedOutInput
1189
- # data as a hash:
1190
- #
1191
- # {
1192
- # next_token: "string",
1193
- # }
1194
- #
1195
1251
  # @!attribute [rw] next_token
1196
1252
  # A `NextToken` string is used when you call the
1197
1253
  # `ListPhoneNumbersOptedOut` action to retrieve additional records
@@ -1229,17 +1285,10 @@ module Aws::SNS
1229
1285
  include Aws::Structure
1230
1286
  end
1231
1287
 
1232
- # Input for ListPlatformApplications action.
1233
- #
1234
- # @note When making an API call, you may pass ListPlatformApplicationsInput
1235
- # data as a hash:
1236
- #
1237
- # {
1238
- # next_token: "String",
1239
- # }
1288
+ # Input for `ListPlatformApplications` action.
1240
1289
  #
1241
1290
  # @!attribute [rw] next_token
1242
- # NextToken string is used when calling ListPlatformApplications
1291
+ # `NextToken` string is used when calling `ListPlatformApplications`
1243
1292
  # action to retrieve additional records that are available after the
1244
1293
  # first page results.
1245
1294
  # @return [String]
@@ -1252,17 +1301,17 @@ module Aws::SNS
1252
1301
  include Aws::Structure
1253
1302
  end
1254
1303
 
1255
- # Response for ListPlatformApplications action.
1304
+ # Response for `ListPlatformApplications` action.
1256
1305
  #
1257
1306
  # @!attribute [rw] platform_applications
1258
- # Platform applications returned when calling ListPlatformApplications
1259
- # action.
1307
+ # Platform applications returned when calling
1308
+ # `ListPlatformApplications` action.
1260
1309
  # @return [Array<Types::PlatformApplication>]
1261
1310
  #
1262
1311
  # @!attribute [rw] next_token
1263
- # NextToken string is returned when calling ListPlatformApplications
1264
- # action if additional records are available after the first page
1265
- # results.
1312
+ # `NextToken` string is returned when calling
1313
+ # `ListPlatformApplications` action if additional records are
1314
+ # available after the first page results.
1266
1315
  # @return [String]
1267
1316
  #
1268
1317
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListPlatformApplicationsResponse AWS API Documentation
@@ -1274,14 +1323,6 @@ module Aws::SNS
1274
1323
  include Aws::Structure
1275
1324
  end
1276
1325
 
1277
- # @note When making an API call, you may pass ListSMSSandboxPhoneNumbersInput
1278
- # data as a hash:
1279
- #
1280
- # {
1281
- # next_token: "nextToken",
1282
- # max_results: 1,
1283
- # }
1284
- #
1285
1326
  # @!attribute [rw] next_token
1286
1327
  # Token that the previous `ListSMSSandboxPhoneNumbersInput` request
1287
1328
  # returns.
@@ -1321,14 +1362,6 @@ module Aws::SNS
1321
1362
 
1322
1363
  # Input for ListSubscriptionsByTopic action.
1323
1364
  #
1324
- # @note When making an API call, you may pass ListSubscriptionsByTopicInput
1325
- # data as a hash:
1326
- #
1327
- # {
1328
- # topic_arn: "topicARN", # required
1329
- # next_token: "nextToken",
1330
- # }
1331
- #
1332
1365
  # @!attribute [rw] topic_arn
1333
1366
  # The ARN of the topic for which you wish to find subscriptions.
1334
1367
  # @return [String]
@@ -1369,13 +1402,6 @@ module Aws::SNS
1369
1402
 
1370
1403
  # Input for ListSubscriptions action.
1371
1404
  #
1372
- # @note When making an API call, you may pass ListSubscriptionsInput
1373
- # data as a hash:
1374
- #
1375
- # {
1376
- # next_token: "nextToken",
1377
- # }
1378
- #
1379
1405
  # @!attribute [rw] next_token
1380
1406
  # Token returned by the previous `ListSubscriptions` request.
1381
1407
  # @return [String]
@@ -1408,13 +1434,6 @@ module Aws::SNS
1408
1434
  include Aws::Structure
1409
1435
  end
1410
1436
 
1411
- # @note When making an API call, you may pass ListTagsForResourceRequest
1412
- # data as a hash:
1413
- #
1414
- # {
1415
- # resource_arn: "AmazonResourceName", # required
1416
- # }
1417
- #
1418
1437
  # @!attribute [rw] resource_arn
1419
1438
  # The ARN of the topic for which to list tags.
1420
1439
  # @return [String]
@@ -1439,13 +1458,6 @@ module Aws::SNS
1439
1458
  include Aws::Structure
1440
1459
  end
1441
1460
 
1442
- # @note When making an API call, you may pass ListTopicsInput
1443
- # data as a hash:
1444
- #
1445
- # {
1446
- # next_token: "nextToken",
1447
- # }
1448
- #
1449
1461
  # @!attribute [rw] next_token
1450
1462
  # Token returned by the previous `ListTopics` request.
1451
1463
  # @return [String]
@@ -1495,15 +1507,6 @@ module Aws::SNS
1495
1507
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/SNSMessageAttributes.html
1496
1508
  # [3]: https://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html
1497
1509
  #
1498
- # @note When making an API call, you may pass MessageAttributeValue
1499
- # data as a hash:
1500
- #
1501
- # {
1502
- # data_type: "String", # required
1503
- # string_value: "String",
1504
- # binary_value: "data",
1505
- # }
1506
- #
1507
1510
  # @!attribute [rw] data_type
1508
1511
  # Amazon SNS supports the following logical data types: String,
1509
1512
  # String.Array, Number, and Binary. For more information, see [Message
@@ -1553,13 +1556,6 @@ module Aws::SNS
1553
1556
 
1554
1557
  # Input for the OptInPhoneNumber action.
1555
1558
  #
1556
- # @note When making an API call, you may pass OptInPhoneNumberInput
1557
- # data as a hash:
1558
- #
1559
- # {
1560
- # phone_number: "PhoneNumber", # required
1561
- # }
1562
- #
1563
1559
  # @!attribute [rw] phone_number
1564
1560
  # The phone number to opt in. Use E.164 format.
1565
1561
  # @return [String]
@@ -1568,7 +1564,7 @@ module Aws::SNS
1568
1564
  #
1569
1565
  class OptInPhoneNumberInput < Struct.new(
1570
1566
  :phone_number)
1571
- SENSITIVE = []
1567
+ SENSITIVE = [:phone_number]
1572
1568
  include Aws::Structure
1573
1569
  end
1574
1570
 
@@ -1579,8 +1575,8 @@ module Aws::SNS
1579
1575
  class OptInPhoneNumberResponse < Aws::EmptyStructure; end
1580
1576
 
1581
1577
  # Indicates that the specified phone number opted out of receiving SMS
1582
- # messages from your account. You can't send SMS messages to phone
1583
- # numbers that opt out.
1578
+ # messages from your Amazon Web Services account. You can't send SMS
1579
+ # messages to phone numbers that opt out.
1584
1580
  #
1585
1581
  # @!attribute [rw] message
1586
1582
  # @return [String]
@@ -1629,7 +1625,7 @@ module Aws::SNS
1629
1625
  :iso_2_country_code,
1630
1626
  :route_type,
1631
1627
  :number_capabilities)
1632
- SENSITIVE = []
1628
+ SENSITIVE = [:phone_number]
1633
1629
  include Aws::Structure
1634
1630
  end
1635
1631
 
@@ -1666,28 +1662,218 @@ module Aws::SNS
1666
1662
  include Aws::Structure
1667
1663
  end
1668
1664
 
1669
- # Input for Publish action.
1665
+ # @!attribute [rw] topic_arn
1666
+ # The Amazon resource name (ARN) of the topic you want to batch
1667
+ # publish to.
1668
+ # @return [String]
1669
+ #
1670
+ # @!attribute [rw] publish_batch_request_entries
1671
+ # A list of `PublishBatch` request entries to be sent to the SNS
1672
+ # topic.
1673
+ # @return [Array<Types::PublishBatchRequestEntry>]
1670
1674
  #
1671
- # @note When making an API call, you may pass PublishInput
1672
- # data as a hash:
1673
- #
1674
- # {
1675
- # topic_arn: "topicARN",
1676
- # target_arn: "String",
1677
- # phone_number: "String",
1678
- # message: "message", # required
1679
- # subject: "subject",
1680
- # message_structure: "messageStructure",
1681
- # message_attributes: {
1682
- # "String" => {
1683
- # data_type: "String", # required
1684
- # string_value: "String",
1685
- # binary_value: "data",
1686
- # },
1687
- # },
1688
- # message_deduplication_id: "String",
1689
- # message_group_id: "String",
1690
- # }
1675
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishBatchInput AWS API Documentation
1676
+ #
1677
+ class PublishBatchInput < Struct.new(
1678
+ :topic_arn,
1679
+ :publish_batch_request_entries)
1680
+ SENSITIVE = []
1681
+ include Aws::Structure
1682
+ end
1683
+
1684
+ # Contains the details of a single Amazon SNS message along with an `Id`
1685
+ # that identifies a message within the batch.
1686
+ #
1687
+ # @!attribute [rw] id
1688
+ # An identifier for the message in this batch.
1689
+ #
1690
+ # <note markdown="1"> The `Ids` of a batch request must be unique within a request.
1691
+ #
1692
+ # This identifier can have up to 80 characters. The following
1693
+ # characters are accepted: alphanumeric characters, hyphens(-), and
1694
+ # underscores (\_).
1695
+ #
1696
+ # </note>
1697
+ # @return [String]
1698
+ #
1699
+ # @!attribute [rw] message
1700
+ # The body of the message.
1701
+ # @return [String]
1702
+ #
1703
+ # @!attribute [rw] subject
1704
+ # The subject of the batch message.
1705
+ # @return [String]
1706
+ #
1707
+ # @!attribute [rw] message_structure
1708
+ # Set `MessageStructure` to `json` if you want to send a different
1709
+ # message for each protocol. For example, using one publish action,
1710
+ # you can send a short message to your SMS subscribers and a longer
1711
+ # message to your email subscribers. If you set `MessageStructure` to
1712
+ # `json`, the value of the `Message` parameter must:
1713
+ #
1714
+ # * be a syntactically valid JSON object; and
1715
+ #
1716
+ # * contain at least a top-level JSON key of "default" with a value
1717
+ # that is a string.
1718
+ #
1719
+ # You can define other top-level keys that define the message you want
1720
+ # to send to a specific transport protocol (e.g. http).
1721
+ # @return [String]
1722
+ #
1723
+ # @!attribute [rw] message_attributes
1724
+ # Each message attribute consists of a `Name`, `Type`, and `Value`.
1725
+ # For more information, see [Amazon SNS message attributes][1] in the
1726
+ # Amazon SNS Developer Guide.
1727
+ #
1728
+ #
1729
+ #
1730
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-message-attributes.html
1731
+ # @return [Hash<String,Types::MessageAttributeValue>]
1732
+ #
1733
+ # @!attribute [rw] message_deduplication_id
1734
+ # This parameter applies only to FIFO (first-in-first-out) topics.
1735
+ #
1736
+ # The token used for deduplication of messages within a 5-minute
1737
+ # minimum deduplication interval. If a message with a particular
1738
+ # `MessageDeduplicationId` is sent successfully, subsequent messages
1739
+ # with the same `MessageDeduplicationId` are accepted successfully but
1740
+ # aren't delivered.
1741
+ #
1742
+ # * Every message must have a unique `MessageDeduplicationId`.
1743
+ #
1744
+ # * You may provide a `MessageDeduplicationId` explicitly.
1745
+ #
1746
+ # * If you aren't able to provide a `MessageDeduplicationId` and
1747
+ # you enable `ContentBasedDeduplication` for your topic, Amazon
1748
+ # SNS uses a SHA-256 hash to generate the `MessageDeduplicationId`
1749
+ # using the body of the message (but not the attributes of the
1750
+ # message).
1751
+ #
1752
+ # * If you don't provide a `MessageDeduplicationId` and the topic
1753
+ # doesn't have `ContentBasedDeduplication` set, the action fails
1754
+ # with an error.
1755
+ #
1756
+ # * If the topic has a `ContentBasedDeduplication` set, your
1757
+ # `MessageDeduplicationId` overrides the generated one.
1758
+ #
1759
+ # * When `ContentBasedDeduplication` is in effect, messages with
1760
+ # identical content sent within the deduplication interval are
1761
+ # treated as duplicates and only one copy of the message is
1762
+ # delivered.
1763
+ #
1764
+ # * If you send one message with `ContentBasedDeduplication` enabled,
1765
+ # and then another message with a `MessageDeduplicationId` that is
1766
+ # the same as the one generated for the first
1767
+ # `MessageDeduplicationId`, the two messages are treated as
1768
+ # duplicates and only one copy of the message is delivered.
1769
+ #
1770
+ # <note markdown="1"> The `MessageDeduplicationId` is available to the consumer of the
1771
+ # message (this can be useful for troubleshooting delivery issues).
1772
+ #
1773
+ # If a message is sent successfully but the acknowledgement is lost
1774
+ # and the message is resent with the same `MessageDeduplicationId`
1775
+ # after the deduplication interval, Amazon SNS can't detect duplicate
1776
+ # messages.
1777
+ #
1778
+ # Amazon SNS continues to keep track of the message deduplication ID
1779
+ # even after the message is received and deleted.
1780
+ #
1781
+ # </note>
1782
+ #
1783
+ # The length of `MessageDeduplicationId` is 128 characters.
1784
+ #
1785
+ # `MessageDeduplicationId` can contain alphanumeric characters `(a-z,
1786
+ # A-Z, 0-9)` and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~)
1787
+ # ``.
1788
+ # @return [String]
1789
+ #
1790
+ # @!attribute [rw] message_group_id
1791
+ # This parameter applies only to FIFO (first-in-first-out) topics.
1792
+ #
1793
+ # The tag that specifies that a message belongs to a specific message
1794
+ # group. Messages that belong to the same message group are processed
1795
+ # in a FIFO manner (however, messages in different message groups
1796
+ # might be processed out of order). To interleave multiple ordered
1797
+ # streams within a single topic, use `MessageGroupId` values (for
1798
+ # example, session data for multiple users). In this scenario,
1799
+ # multiple consumers can process the topic, but the session data of
1800
+ # each user is processed in a FIFO fashion.
1801
+ #
1802
+ # You must associate a non-empty `MessageGroupId` with a message. If
1803
+ # you don't provide a `MessageGroupId`, the action fails.
1804
+ #
1805
+ # The length of `MessageGroupId` is 128 characters.
1806
+ #
1807
+ # `MessageGroupId` can contain alphanumeric characters `(a-z, A-Z,
1808
+ # 0-9)` and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1809
+ #
1810
+ # `MessageGroupId` is required for FIFO topics. You can't use it for
1811
+ # standard topics.
1812
+ # @return [String]
1813
+ #
1814
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishBatchRequestEntry AWS API Documentation
1815
+ #
1816
+ class PublishBatchRequestEntry < Struct.new(
1817
+ :id,
1818
+ :message,
1819
+ :subject,
1820
+ :message_structure,
1821
+ :message_attributes,
1822
+ :message_deduplication_id,
1823
+ :message_group_id)
1824
+ SENSITIVE = []
1825
+ include Aws::Structure
1826
+ end
1827
+
1828
+ # @!attribute [rw] successful
1829
+ # A list of successful `PublishBatch` responses.
1830
+ # @return [Array<Types::PublishBatchResultEntry>]
1831
+ #
1832
+ # @!attribute [rw] failed
1833
+ # A list of failed `PublishBatch` responses.
1834
+ # @return [Array<Types::BatchResultErrorEntry>]
1835
+ #
1836
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishBatchResponse AWS API Documentation
1837
+ #
1838
+ class PublishBatchResponse < Struct.new(
1839
+ :successful,
1840
+ :failed)
1841
+ SENSITIVE = []
1842
+ include Aws::Structure
1843
+ end
1844
+
1845
+ # Encloses data related to a successful message in a batch request for
1846
+ # topic.
1847
+ #
1848
+ # @!attribute [rw] id
1849
+ # The `Id` of an entry in a batch request.
1850
+ # @return [String]
1851
+ #
1852
+ # @!attribute [rw] message_id
1853
+ # An identifier for the message.
1854
+ # @return [String]
1855
+ #
1856
+ # @!attribute [rw] sequence_number
1857
+ # This parameter applies only to FIFO (first-in-first-out) topics.
1858
+ #
1859
+ # The large, non-consecutive number that Amazon SNS assigns to each
1860
+ # message.
1861
+ #
1862
+ # The length of `SequenceNumber` is 128 bits. `SequenceNumber`
1863
+ # continues to increase for a particular `MessageGroupId`.
1864
+ # @return [String]
1865
+ #
1866
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishBatchResultEntry AWS API Documentation
1867
+ #
1868
+ class PublishBatchResultEntry < Struct.new(
1869
+ :id,
1870
+ :message_id,
1871
+ :sequence_number)
1872
+ SENSITIVE = []
1873
+ include Aws::Structure
1874
+ end
1875
+
1876
+ # Input for Publish action.
1691
1877
  #
1692
1878
  # @!attribute [rw] topic_arn
1693
1879
  # The topic you want to publish to.
@@ -1774,9 +1960,8 @@ module Aws::SNS
1774
1960
  # included, if present, in the standard JSON messages delivered to
1775
1961
  # other endpoints.
1776
1962
  #
1777
- # Constraints: Subjects must be ASCII text that begins with a letter,
1778
- # number, or punctuation mark; must not include line breaks or control
1779
- # characters; and must be less than 100 characters long.
1963
+ # Constraints: Subjects must be UTF-8 text with no line breaks or
1964
+ # control characters, and less than 100 characters long.
1780
1965
  # @return [String]
1781
1966
  #
1782
1967
  # @!attribute [rw] message_structure
@@ -1804,7 +1989,7 @@ module Aws::SNS
1804
1989
  # @!attribute [rw] message_deduplication_id
1805
1990
  # This parameter applies only to FIFO (first-in-first-out) topics. The
1806
1991
  # `MessageDeduplicationId` can contain up to 128 alphanumeric
1807
- # characters (a-z, A-Z, 0-9) and punctuation ``
1992
+ # characters `(a-z, A-Z, 0-9)` and punctuation ``
1808
1993
  # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1809
1994
  #
1810
1995
  # Every message must have a unique `MessageDeduplicationId`, which is
@@ -1820,9 +2005,9 @@ module Aws::SNS
1820
2005
  #
1821
2006
  # @!attribute [rw] message_group_id
1822
2007
  # This parameter applies only to FIFO (first-in-first-out) topics. The
1823
- # `MessageGroupId` can contain up to 128 alphanumeric characters (a-z,
1824
- # A-Z, 0-9) and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~)
1825
- # ``.
2008
+ # `MessageGroupId` can contain up to 128 alphanumeric characters
2009
+ # `(a-z, A-Z, 0-9)` and punctuation ``
2010
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1826
2011
  #
1827
2012
  # The `MessageGroupId` is a tag that specifies that a message belongs
1828
2013
  # to a specific message group. Messages that belong to the same
@@ -1843,7 +2028,7 @@ module Aws::SNS
1843
2028
  :message_attributes,
1844
2029
  :message_deduplication_id,
1845
2030
  :message_group_id)
1846
- SENSITIVE = []
2031
+ SENSITIVE = [:phone_number]
1847
2032
  include Aws::Structure
1848
2033
  end
1849
2034
 
@@ -1874,15 +2059,36 @@ module Aws::SNS
1874
2059
  include Aws::Structure
1875
2060
  end
1876
2061
 
1877
- # Input for RemovePermission action.
2062
+ # @!attribute [rw] resource_arn
2063
+ # The ARN of the topic whose `DataProtectionPolicy` you want to add or
2064
+ # update.
2065
+ #
2066
+ # For more information about ARNs, see [Amazon Resource Names
2067
+ # (ARNs)][1] in the Amazon Web Services General Reference.
2068
+ #
2069
+ #
2070
+ #
2071
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2072
+ # @return [String]
1878
2073
  #
1879
- # @note When making an API call, you may pass RemovePermissionInput
1880
- # data as a hash:
2074
+ # @!attribute [rw] data_protection_policy
2075
+ # The JSON serialization of the topic's `DataProtectionPolicy`.
1881
2076
  #
1882
- # {
1883
- # topic_arn: "topicARN", # required
1884
- # label: "label", # required
1885
- # }
2077
+ # The `DataProtectionPolicy` must be in JSON string format.
2078
+ #
2079
+ # Length Constraints: Maximum length of 30,720.
2080
+ # @return [String]
2081
+ #
2082
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PutDataProtectionPolicyInput AWS API Documentation
2083
+ #
2084
+ class PutDataProtectionPolicyInput < Struct.new(
2085
+ :resource_arn,
2086
+ :data_protection_policy)
2087
+ SENSITIVE = []
2088
+ include Aws::Structure
2089
+ end
2090
+
2091
+ # Input for RemovePermission action.
1886
2092
  #
1887
2093
  # @!attribute [rw] topic_arn
1888
2094
  # The ARN of the topic whose access control policy you wish to modify.
@@ -1901,6 +2107,20 @@ module Aws::SNS
1901
2107
  include Aws::Structure
1902
2108
  end
1903
2109
 
2110
+ # Indicates that the request parameter has exceeded the maximum number
2111
+ # of concurrent message replays.
2112
+ #
2113
+ # @!attribute [rw] message
2114
+ # @return [String]
2115
+ #
2116
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ReplayLimitExceededException AWS API Documentation
2117
+ #
2118
+ class ReplayLimitExceededException < Struct.new(
2119
+ :message)
2120
+ SENSITIVE = []
2121
+ include Aws::Structure
2122
+ end
2123
+
1904
2124
  # Can’t perform the action on the specified resource. Make sure that the
1905
2125
  # resource exists.
1906
2126
  #
@@ -1917,14 +2137,15 @@ module Aws::SNS
1917
2137
 
1918
2138
  # A verified or pending destination phone number in the SMS sandbox.
1919
2139
  #
1920
- # When you start using Amazon SNS to send SMS messages, your account is
1921
- # in the *SMS sandbox*. The SMS sandbox provides a safe environment for
1922
- # you to try Amazon SNS features without risking your reputation as an
1923
- # SMS sender. While your account is in the SMS sandbox, you can use all
1924
- # of the features of Amazon SNS. However, you can send SMS messages only
1925
- # to verified destination phone numbers. For more information, including
1926
- # how to move out of the sandbox to send messages without restrictions,
1927
- # see [SMS sandbox][1] in the *Amazon SNS Developer Guide*.
2140
+ # When you start using Amazon SNS to send SMS messages, your Amazon Web
2141
+ # Services account is in the *SMS sandbox*. The SMS sandbox provides a
2142
+ # safe environment for you to try Amazon SNS features without risking
2143
+ # your reputation as an SMS sender. While your Amazon Web Services
2144
+ # account is in the SMS sandbox, you can use all of the features of
2145
+ # Amazon SNS. However, you can send SMS messages only to verified
2146
+ # destination phone numbers. For more information, including how to move
2147
+ # out of the sandbox to send messages without restrictions, see [SMS
2148
+ # sandbox][1] in the *Amazon SNS Developer Guide*.
1928
2149
  #
1929
2150
  #
1930
2151
  #
@@ -1943,24 +2164,14 @@ module Aws::SNS
1943
2164
  class SMSSandboxPhoneNumber < Struct.new(
1944
2165
  :phone_number,
1945
2166
  :status)
1946
- SENSITIVE = []
2167
+ SENSITIVE = [:phone_number]
1947
2168
  include Aws::Structure
1948
2169
  end
1949
2170
 
1950
- # Input for SetEndpointAttributes action.
1951
- #
1952
- # @note When making an API call, you may pass SetEndpointAttributesInput
1953
- # data as a hash:
1954
- #
1955
- # {
1956
- # endpoint_arn: "String", # required
1957
- # attributes: { # required
1958
- # "String" => "String",
1959
- # },
1960
- # }
2171
+ # Input for `SetEndpointAttributes` action.
1961
2172
  #
1962
2173
  # @!attribute [rw] endpoint_arn
1963
- # EndpointArn used for SetEndpointAttributes action.
2174
+ # EndpointArn used for `SetEndpointAttributes` action.
1964
2175
  # @return [String]
1965
2176
  #
1966
2177
  # @!attribute [rw] attributes
@@ -1991,20 +2202,11 @@ module Aws::SNS
1991
2202
  include Aws::Structure
1992
2203
  end
1993
2204
 
1994
- # Input for SetPlatformApplicationAttributes action.
1995
- #
1996
- # @note When making an API call, you may pass SetPlatformApplicationAttributesInput
1997
- # data as a hash:
1998
- #
1999
- # {
2000
- # platform_application_arn: "String", # required
2001
- # attributes: { # required
2002
- # "String" => "String",
2003
- # },
2004
- # }
2205
+ # Input for `SetPlatformApplicationAttributes` action.
2005
2206
  #
2006
2207
  # @!attribute [rw] platform_application_arn
2007
- # PlatformApplicationArn for SetPlatformApplicationAttributes action.
2208
+ # `PlatformApplicationArn` for `SetPlatformApplicationAttributes`
2209
+ # action.
2008
2210
  # @return [String]
2009
2211
  #
2010
2212
  # @!attribute [rw] attributes
@@ -2012,16 +2214,43 @@ module Aws::SNS
2012
2214
  # include the following:
2013
2215
  #
2014
2216
  # * `PlatformCredential` – The credential received from the
2015
- # notification service. For `APNS` and `APNS_SANDBOX`,
2016
- # `PlatformCredential` is `private key`. For `GCM` (Firebase Cloud
2017
- # Messaging), `PlatformCredential` is `API key`. For `ADM`,
2018
- # `PlatformCredential` is `client secret`.
2217
+ # notification service.
2218
+ #
2219
+ # * For ADM, `PlatformCredential`is client secret.
2220
+ #
2221
+ # * For Apple Services using certificate credentials,
2222
+ # `PlatformCredential` is private key.
2223
+ #
2224
+ # * For Apple Services using token credentials, `PlatformCredential`
2225
+ # is signing key.
2226
+ #
2227
+ # * For GCM (Firebase Cloud Messaging) using key credentials, there
2228
+ # is no `PlatformPrincipal`. The `PlatformCredential` is `API
2229
+ # key`.
2230
+ #
2231
+ # * For GCM (Firebase Cloud Messaging) using token credentials,
2232
+ # there is no `PlatformPrincipal`. The `PlatformCredential` is a
2233
+ # JSON formatted private key file. When using the Amazon Web
2234
+ # Services CLI, the file must be in string format and special
2235
+ # characters must be ignored. To format the file correctly, Amazon
2236
+ # SNS recommends using the following command: `` SERVICE_JSON=`jq
2237
+ # @json <<< cat service.json` ``.
2238
+ # ^
2019
2239
  #
2020
2240
  # * `PlatformPrincipal` – The principal received from the notification
2021
- # service. For `APNS` and `APNS_SANDBOX`, `PlatformPrincipal` is
2022
- # `SSL certificate`. For `GCM` (Firebase Cloud Messaging), there is
2023
- # no `PlatformPrincipal`. For `ADM`, `PlatformPrincipal` is `client
2024
- # id`.
2241
+ # service.
2242
+ #
2243
+ # * For ADM, `PlatformPrincipal`is client id.
2244
+ #
2245
+ # * For Apple Services using certificate credentials,
2246
+ # `PlatformPrincipal` is SSL certificate.
2247
+ #
2248
+ # * For Apple Services using token credentials, `PlatformPrincipal`
2249
+ # is signing key ID.
2250
+ #
2251
+ # * For GCM (Firebase Cloud Messaging), there is no
2252
+ # `PlatformPrincipal`.
2253
+ # ^
2025
2254
  #
2026
2255
  # * `EventEndpointCreated` – Topic ARN to which `EndpointCreated`
2027
2256
  # event notifications are sent.
@@ -2044,6 +2273,15 @@ module Aws::SNS
2044
2273
  #
2045
2274
  # * `SuccessFeedbackSampleRate` – Sample rate percentage (0-100) of
2046
2275
  # successfully delivered messages.
2276
+ #
2277
+ # The following attributes only apply to `APNs` token-based
2278
+ # authentication:
2279
+ #
2280
+ # * `ApplePlatformTeamID` – The identifier that's assigned to your
2281
+ # Apple developer account team.
2282
+ #
2283
+ # * `ApplePlatformBundleID` – The bundle identifier that's assigned
2284
+ # to your iOS app.
2047
2285
  # @return [Hash<String,String>]
2048
2286
  #
2049
2287
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetPlatformApplicationAttributesInput AWS API Documentation
@@ -2057,18 +2295,10 @@ module Aws::SNS
2057
2295
 
2058
2296
  # The input for the SetSMSAttributes action.
2059
2297
  #
2060
- # @note When making an API call, you may pass SetSMSAttributesInput
2061
- # data as a hash:
2062
- #
2063
- # {
2064
- # attributes: { # required
2065
- # "String" => "String",
2066
- # },
2067
- # }
2068
- #
2069
2298
  # @!attribute [rw] attributes
2070
- # The default settings for sending SMS messages from your account. You
2071
- # can set values for the following attribute names:
2299
+ # The default settings for sending SMS messages from your Amazon Web
2300
+ # Services account. You can set values for the following attribute
2301
+ # names:
2072
2302
  #
2073
2303
  # `MonthlySpendLimit` – The maximum amount in USD that you are willing
2074
2304
  # to spend each month to send SMS messages. When Amazon SNS determines
@@ -2119,7 +2349,7 @@ module Aws::SNS
2119
2349
  # daily SMS usage reports from Amazon SNS. Each day, Amazon SNS will
2120
2350
  # deliver a usage report as a CSV file to the bucket. The report
2121
2351
  # includes the following information for each SMS message that was
2122
- # successfully delivered by your account:
2352
+ # successfully delivered by your Amazon Web Services account:
2123
2353
  #
2124
2354
  # * Time that the message was published (in UTC)
2125
2355
  #
@@ -2167,15 +2397,6 @@ module Aws::SNS
2167
2397
 
2168
2398
  # Input for SetSubscriptionAttributes action.
2169
2399
  #
2170
- # @note When making an API call, you may pass SetSubscriptionAttributesInput
2171
- # data as a hash:
2172
- #
2173
- # {
2174
- # subscription_arn: "subscriptionARN", # required
2175
- # attribute_name: "attributeName", # required
2176
- # attribute_value: "attributeValue",
2177
- # }
2178
- #
2179
2400
  # @!attribute [rw] subscription_arn
2180
2401
  # The ARN of the subscription to modify.
2181
2402
  # @return [String]
@@ -2193,6 +2414,14 @@ module Aws::SNS
2193
2414
  # receive only a subset of messages, rather than receiving every
2194
2415
  # message published to the topic.
2195
2416
  #
2417
+ # * `FilterPolicyScope` – This attribute lets you choose the filtering
2418
+ # scope by using one of the following string value types:
2419
+ #
2420
+ # * `MessageAttributes` (default) – The filter is applied on the
2421
+ # message attributes.
2422
+ #
2423
+ # * `MessageBody` – The filter is applied on the message body.
2424
+ #
2196
2425
  # * `RawMessageDelivery` – When set to `true`, enables raw message
2197
2426
  # delivery to Amazon SQS or HTTP/S endpoints. This eliminates the
2198
2427
  # need for the endpoints to process JSON formatting, which is
@@ -2206,20 +2435,20 @@ module Aws::SNS
2206
2435
  # unavailable) are held in the dead-letter queue for further
2207
2436
  # analysis or reprocessing.
2208
2437
  #
2209
- # The following attribute applies only to Amazon Kinesis Data Firehose
2438
+ # The following attribute applies only to Amazon Data Firehose
2210
2439
  # delivery stream subscriptions:
2211
2440
  #
2212
2441
  # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
2213
2442
  # following:
2214
2443
  #
2215
- # * Permission to write to the Kinesis Data Firehose delivery stream
2444
+ # * Permission to write to the Firehose delivery stream
2216
2445
  #
2217
2446
  # * Amazon SNS listed as a trusted entity
2218
2447
  #
2219
- # Specifying a valid ARN for this attribute is required for Kinesis
2220
- # Data Firehose delivery stream subscriptions. For more information,
2221
- # see [Fanout to Kinesis Data Firehose delivery streams][1] in the
2222
- # *Amazon SNS Developer Guide*.
2448
+ # Specifying a valid ARN for this attribute is required for Firehose
2449
+ # delivery stream subscriptions. For more information, see [Fanout
2450
+ # to Firehose delivery streams][1] in the *Amazon SNS Developer
2451
+ # Guide*.
2223
2452
  #
2224
2453
  #
2225
2454
  #
@@ -2242,15 +2471,6 @@ module Aws::SNS
2242
2471
 
2243
2472
  # Input for SetTopicAttributes action.
2244
2473
  #
2245
- # @note When making an API call, you may pass SetTopicAttributesInput
2246
- # data as a hash:
2247
- #
2248
- # {
2249
- # topic_arn: "topicARN", # required
2250
- # attribute_name: "attributeName", # required
2251
- # attribute_value: "attributeValue",
2252
- # }
2253
- #
2254
2474
  # @!attribute [rw] topic_arn
2255
2475
  # The ARN of the topic to modify.
2256
2476
  # @return [String]
@@ -2262,6 +2482,10 @@ module Aws::SNS
2262
2482
  # special request parameters that the `SetTopicAttributes` action
2263
2483
  # uses:
2264
2484
  #
2485
+ # * `ApplicationSuccessFeedbackRoleArn` – Indicates failed message
2486
+ # delivery status for an Amazon SNS topic that is subscribed to a
2487
+ # platform application endpoint.
2488
+ #
2265
2489
  # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
2266
2490
  # failed deliveries to HTTP/S endpoints.
2267
2491
  #
@@ -2272,17 +2496,120 @@ module Aws::SNS
2272
2496
  # default, only the topic owner can publish or subscribe to the
2273
2497
  # topic.
2274
2498
  #
2275
- # The following attribute applies only to
2276
- # [server-side-encryption][1]\:
2499
+ # * `TracingConfig` Tracing mode of an Amazon SNS topic. By default
2500
+ # `TracingConfig` is set to `PassThrough`, and the topic passes
2501
+ # through the tracing header it receives from an Amazon SNS
2502
+ # publisher to its subscriptions. If set to `Active`, Amazon SNS
2503
+ # will vend X-Ray segment data to topic owner account if the sampled
2504
+ # flag in the tracing header is true. This is only supported on
2505
+ # standard topics.
2506
+ #
2507
+ # * HTTP
2508
+ #
2509
+ # * `HTTPSuccessFeedbackRoleArn` – Indicates successful message
2510
+ # delivery status for an Amazon SNS topic that is subscribed to an
2511
+ # HTTP endpoint.
2512
+ #
2513
+ # * `HTTPSuccessFeedbackSampleRate` – Indicates percentage of
2514
+ # successful messages to sample for an Amazon SNS topic that is
2515
+ # subscribed to an HTTP endpoint.
2516
+ #
2517
+ # * `HTTPFailureFeedbackRoleArn` – Indicates failed message delivery
2518
+ # status for an Amazon SNS topic that is subscribed to an HTTP
2519
+ # endpoint.
2520
+ #
2521
+ # * Amazon Kinesis Data Firehose
2522
+ #
2523
+ # * `FirehoseSuccessFeedbackRoleArn` – Indicates successful message
2524
+ # delivery status for an Amazon SNS topic that is subscribed to an
2525
+ # Amazon Kinesis Data Firehose endpoint.
2526
+ #
2527
+ # * `FirehoseSuccessFeedbackSampleRate` – Indicates percentage of
2528
+ # successful messages to sample for an Amazon SNS topic that is
2529
+ # subscribed to an Amazon Kinesis Data Firehose endpoint.
2530
+ #
2531
+ # * `FirehoseFailureFeedbackRoleArn` – Indicates failed message
2532
+ # delivery status for an Amazon SNS topic that is subscribed to an
2533
+ # Amazon Kinesis Data Firehose endpoint.
2534
+ #
2535
+ # * Lambda
2536
+ #
2537
+ # * `LambdaSuccessFeedbackRoleArn` – Indicates successful message
2538
+ # delivery status for an Amazon SNS topic that is subscribed to an
2539
+ # Lambda endpoint.
2540
+ #
2541
+ # * `LambdaSuccessFeedbackSampleRate` – Indicates percentage of
2542
+ # successful messages to sample for an Amazon SNS topic that is
2543
+ # subscribed to an Lambda endpoint.
2544
+ #
2545
+ # * `LambdaFailureFeedbackRoleArn` – Indicates failed message
2546
+ # delivery status for an Amazon SNS topic that is subscribed to an
2547
+ # Lambda endpoint.
2548
+ #
2549
+ # * Platform application endpoint
2550
+ #
2551
+ # * `ApplicationSuccessFeedbackRoleArn` – Indicates successful
2552
+ # message delivery status for an Amazon SNS topic that is
2553
+ # subscribed to an Amazon Web Services application endpoint.
2554
+ #
2555
+ # * `ApplicationSuccessFeedbackSampleRate` – Indicates percentage of
2556
+ # successful messages to sample for an Amazon SNS topic that is
2557
+ # subscribed to an Amazon Web Services application endpoint.
2558
+ #
2559
+ # * `ApplicationFailureFeedbackRoleArn` – Indicates failed message
2560
+ # delivery status for an Amazon SNS topic that is subscribed to an
2561
+ # Amazon Web Services application endpoint.
2562
+ #
2563
+ # <note markdown="1"> In addition to being able to configure topic attributes for
2564
+ # message delivery status of notification messages sent to Amazon
2565
+ # SNS application endpoints, you can also configure application
2566
+ # attributes for the delivery status of push notification messages
2567
+ # sent to push notification services.
2568
+ #
2569
+ # For example, For more information, see [Using Amazon SNS
2570
+ # Application Attributes for Message Delivery Status][1].
2571
+ #
2572
+ # </note>
2573
+ #
2574
+ # * Amazon SQS
2575
+ #
2576
+ # * `SQSSuccessFeedbackRoleArn` – Indicates successful message
2577
+ # delivery status for an Amazon SNS topic that is subscribed to an
2578
+ # Amazon SQS endpoint.
2579
+ #
2580
+ # * `SQSSuccessFeedbackSampleRate` – Indicates percentage of
2581
+ # successful messages to sample for an Amazon SNS topic that is
2582
+ # subscribed to an Amazon SQS endpoint.
2583
+ #
2584
+ # * `SQSFailureFeedbackRoleArn` – Indicates failed message delivery
2585
+ # status for an Amazon SNS topic that is subscribed to an Amazon
2586
+ # SQS endpoint.
2587
+ #
2588
+ # <note markdown="1"> The &lt;ENDPOINT&gt;SuccessFeedbackRoleArn and
2589
+ # &lt;ENDPOINT&gt;FailureFeedbackRoleArn attributes are used to give
2590
+ # Amazon SNS write access to use CloudWatch Logs on your behalf. The
2591
+ # &lt;ENDPOINT&gt;SuccessFeedbackSampleRate attribute is for
2592
+ # specifying the sample rate percentage (0-100) of successfully
2593
+ # delivered messages. After you configure the
2594
+ # &lt;ENDPOINT&gt;FailureFeedbackRoleArn attribute, then all failed
2595
+ # message deliveries generate CloudWatch Logs.
2596
+ #
2597
+ # </note>
2598
+ #
2599
+ # The following attribute applies only to [server-side-encryption][2]:
2277
2600
  #
2278
2601
  # * `KmsMasterKeyId` – The ID of an Amazon Web Services managed
2279
2602
  # customer master key (CMK) for Amazon SNS or a custom CMK. For more
2280
- # information, see [Key Terms][2]. For more examples, see [KeyId][3]
2603
+ # information, see [Key Terms][3]. For more examples, see [KeyId][4]
2281
2604
  # in the *Key Management Service API Reference*.
2282
2605
  #
2283
- # ^
2606
+ # * `SignatureVersion` – The signature version corresponds to the
2607
+ # hashing algorithm used while creating the signature of the
2608
+ # notifications, subscription confirmations, or unsubscribe
2609
+ # confirmation messages sent by Amazon SNS. By default,
2610
+ # `SignatureVersion` is set to `1`.
2284
2611
  #
2285
- # The following attribute applies only to [FIFO topics][4]\:
2612
+ # The following attribute applies only to [FIFO topics][5]:
2286
2613
  #
2287
2614
  # * `ContentBasedDeduplication` – Enables content-based deduplication
2288
2615
  # for FIFO topics.
@@ -2290,7 +2617,7 @@ module Aws::SNS
2290
2617
  # * By default, `ContentBasedDeduplication` is set to `false`. If
2291
2618
  # you create a FIFO topic and this attribute is `false`, you must
2292
2619
  # specify a value for the `MessageDeduplicationId` parameter for
2293
- # the [Publish][5] action.
2620
+ # the [Publish][6] action.
2294
2621
  #
2295
2622
  # * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
2296
2623
  # uses a SHA-256 hash to generate the `MessageDeduplicationId`
@@ -2303,11 +2630,12 @@ module Aws::SNS
2303
2630
  #
2304
2631
  #
2305
2632
  #
2306
- # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
2307
- # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
2308
- # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
2309
- # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
2310
- # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
2633
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.html
2634
+ # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
2635
+ # [3]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
2636
+ # [4]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
2637
+ # [5]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
2638
+ # [6]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
2311
2639
  # @return [String]
2312
2640
  #
2313
2641
  # @!attribute [rw] attribute_value
@@ -2340,19 +2668,6 @@ module Aws::SNS
2340
2668
 
2341
2669
  # Input for Subscribe action.
2342
2670
  #
2343
- # @note When making an API call, you may pass SubscribeInput
2344
- # data as a hash:
2345
- #
2346
- # {
2347
- # topic_arn: "topicARN", # required
2348
- # protocol: "protocol", # required
2349
- # endpoint: "endpoint",
2350
- # attributes: {
2351
- # "attributeName" => "attributeValue",
2352
- # },
2353
- # return_subscription_arn: false,
2354
- # }
2355
- #
2356
2671
  # @!attribute [rw] topic_arn
2357
2672
  # The ARN of the topic you want to subscribe to.
2358
2673
  # @return [String]
@@ -2424,6 +2739,14 @@ module Aws::SNS
2424
2739
  # receive only a subset of messages, rather than receiving every
2425
2740
  # message published to the topic.
2426
2741
  #
2742
+ # * `FilterPolicyScope` – This attribute lets you choose the filtering
2743
+ # scope by using one of the following string value types:
2744
+ #
2745
+ # * `MessageAttributes` (default) – The filter is applied on the
2746
+ # message attributes.
2747
+ #
2748
+ # * `MessageBody` – The filter is applied on the message body.
2749
+ #
2427
2750
  # * `RawMessageDelivery` – When set to `true`, enables raw message
2428
2751
  # delivery to Amazon SQS or HTTP/S endpoints. This eliminates the
2429
2752
  # need for the endpoints to process JSON formatting, which is
@@ -2437,24 +2760,46 @@ module Aws::SNS
2437
2760
  # unavailable) are held in the dead-letter queue for further
2438
2761
  # analysis or reprocessing.
2439
2762
  #
2440
- # The following attribute applies only to Amazon Kinesis Data Firehose
2763
+ # The following attribute applies only to Amazon Data Firehose
2441
2764
  # delivery stream subscriptions:
2442
2765
  #
2443
2766
  # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
2444
2767
  # following:
2445
2768
  #
2446
- # * Permission to write to the Kinesis Data Firehose delivery stream
2769
+ # * Permission to write to the Firehose delivery stream
2447
2770
  #
2448
2771
  # * Amazon SNS listed as a trusted entity
2449
2772
  #
2450
- # Specifying a valid ARN for this attribute is required for Kinesis
2451
- # Data Firehose delivery stream subscriptions. For more information,
2452
- # see [Fanout to Kinesis Data Firehose delivery streams][1] in the
2453
- # *Amazon SNS Developer Guide*.
2773
+ # Specifying a valid ARN for this attribute is required for Firehose
2774
+ # delivery stream subscriptions. For more information, see [Fanout
2775
+ # to Firehose delivery streams][1] in the *Amazon SNS Developer
2776
+ # Guide*.
2777
+ #
2778
+ # The following attributes apply only to [FIFO topics][2]:
2779
+ #
2780
+ # * `ReplayPolicy` – Adds or updates an inline policy document for a
2781
+ # subscription to replay messages stored in the specified Amazon SNS
2782
+ # topic.
2783
+ #
2784
+ # * `ReplayStatus` – Retrieves the status of the subscription message
2785
+ # replay, which can be one of the following:
2786
+ #
2787
+ # * `Completed` – The replay has successfully redelivered all
2788
+ # messages, and is now delivering newly published messages. If an
2789
+ # ending point was specified in the `ReplayPolicy` then the
2790
+ # subscription will no longer receive newly published messages.
2791
+ #
2792
+ # * `In progress` – The replay is currently replaying the selected
2793
+ # messages.
2794
+ #
2795
+ # * `Failed` – The replay was unable to complete.
2796
+ #
2797
+ # * `Pending` – The default state while the replay initiates.
2454
2798
  #
2455
2799
  #
2456
2800
  #
2457
2801
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html
2802
+ # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
2458
2803
  # @return [Hash<String,String>]
2459
2804
  #
2460
2805
  # @!attribute [rw] return_subscription_arn
@@ -2554,14 +2899,6 @@ module Aws::SNS
2554
2899
 
2555
2900
  # The list of tags to be added to the specified topic.
2556
2901
  #
2557
- # @note When making an API call, you may pass Tag
2558
- # data as a hash:
2559
- #
2560
- # {
2561
- # key: "TagKey", # required
2562
- # value: "TagValue", # required
2563
- # }
2564
- #
2565
2902
  # @!attribute [rw] key
2566
2903
  # The required key portion of the tag.
2567
2904
  # @return [String]
@@ -2606,19 +2943,6 @@ module Aws::SNS
2606
2943
  include Aws::Structure
2607
2944
  end
2608
2945
 
2609
- # @note When making an API call, you may pass TagResourceRequest
2610
- # data as a hash:
2611
- #
2612
- # {
2613
- # resource_arn: "AmazonResourceName", # required
2614
- # tags: [ # required
2615
- # {
2616
- # key: "TagKey", # required
2617
- # value: "TagValue", # required
2618
- # },
2619
- # ],
2620
- # }
2621
- #
2622
2946
  # @!attribute [rw] resource_arn
2623
2947
  # The ARN of the topic to which to add tags.
2624
2948
  # @return [String]
@@ -2642,7 +2966,7 @@ module Aws::SNS
2642
2966
  class TagResourceResponse < Aws::EmptyStructure; end
2643
2967
 
2644
2968
  # Indicates that the rate at which requests have been submitted for this
2645
- # action exceeds the limit for your account.
2969
+ # action exceeds the limit for your Amazon Web Services account.
2646
2970
  #
2647
2971
  # @!attribute [rw] message
2648
2972
  # Throttled request.
@@ -2656,6 +2980,19 @@ module Aws::SNS
2656
2980
  include Aws::Structure
2657
2981
  end
2658
2982
 
2983
+ # The batch request contains more entries than permissible.
2984
+ #
2985
+ # @!attribute [rw] message
2986
+ # @return [String]
2987
+ #
2988
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/TooManyEntriesInBatchRequestException AWS API Documentation
2989
+ #
2990
+ class TooManyEntriesInBatchRequestException < Struct.new(
2991
+ :message)
2992
+ SENSITIVE = []
2993
+ include Aws::Structure
2994
+ end
2995
+
2659
2996
  # A wrapper type for the topic's Amazon Resource Name (ARN). To
2660
2997
  # retrieve a topic's attributes, use `GetTopicAttributes`.
2661
2998
  #
@@ -2687,13 +3024,6 @@ module Aws::SNS
2687
3024
 
2688
3025
  # Input for Unsubscribe action.
2689
3026
  #
2690
- # @note When making an API call, you may pass UnsubscribeInput
2691
- # data as a hash:
2692
- #
2693
- # {
2694
- # subscription_arn: "subscriptionARN", # required
2695
- # }
2696
- #
2697
3027
  # @!attribute [rw] subscription_arn
2698
3028
  # The ARN of the subscription to be deleted.
2699
3029
  # @return [String]
@@ -2706,14 +3036,6 @@ module Aws::SNS
2706
3036
  include Aws::Structure
2707
3037
  end
2708
3038
 
2709
- # @note When making an API call, you may pass UntagResourceRequest
2710
- # data as a hash:
2711
- #
2712
- # {
2713
- # resource_arn: "AmazonResourceName", # required
2714
- # tag_keys: ["TagKey"], # required
2715
- # }
2716
- #
2717
3039
  # @!attribute [rw] resource_arn
2718
3040
  # The ARN of the topic from which to remove tags.
2719
3041
  # @return [String]
@@ -2781,14 +3103,6 @@ module Aws::SNS
2781
3103
  include Aws::Structure
2782
3104
  end
2783
3105
 
2784
- # @note When making an API call, you may pass VerifySMSSandboxPhoneNumberInput
2785
- # data as a hash:
2786
- #
2787
- # {
2788
- # phone_number: "PhoneNumberString", # required
2789
- # one_time_password: "OTPCode", # required
2790
- # }
2791
- #
2792
3106
  # @!attribute [rw] phone_number
2793
3107
  # The destination phone number to verify.
2794
3108
  # @return [String]
@@ -2803,7 +3117,7 @@ module Aws::SNS
2803
3117
  class VerifySMSSandboxPhoneNumberInput < Struct.new(
2804
3118
  :phone_number,
2805
3119
  :one_time_password)
2806
- SENSITIVE = []
3120
+ SENSITIVE = [:phone_number]
2807
3121
  include Aws::Structure
2808
3122
  end
2809
3123