aws-sdk-sns 1.22.0 → 1.39.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.
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
4
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
7
  #
6
8
  # WARNING ABOUT GENERATED CODE
7
9
 
@@ -45,6 +47,7 @@ module Aws::SNS
45
47
  :label,
46
48
  :aws_account_id,
47
49
  :action_name)
50
+ SENSITIVE = []
48
51
  include Aws::Structure
49
52
  end
50
53
 
@@ -58,6 +61,7 @@ module Aws::SNS
58
61
  #
59
62
  class AuthorizationErrorException < Struct.new(
60
63
  :message)
64
+ SENSITIVE = []
61
65
  include Aws::Structure
62
66
  end
63
67
 
@@ -78,6 +82,7 @@ module Aws::SNS
78
82
  #
79
83
  class CheckIfPhoneNumberIsOptedOutInput < Struct.new(
80
84
  :phone_number)
85
+ SENSITIVE = []
81
86
  include Aws::Structure
82
87
  end
83
88
 
@@ -97,6 +102,7 @@ module Aws::SNS
97
102
  #
98
103
  class CheckIfPhoneNumberIsOptedOutResponse < Struct.new(
99
104
  :is_opted_out)
105
+ SENSITIVE = []
100
106
  include Aws::Structure
101
107
  end
102
108
 
@@ -110,6 +116,7 @@ module Aws::SNS
110
116
  #
111
117
  class ConcurrentAccessException < Struct.new(
112
118
  :message)
119
+ SENSITIVE = []
113
120
  include Aws::Structure
114
121
  end
115
122
 
@@ -146,6 +153,7 @@ module Aws::SNS
146
153
  :topic_arn,
147
154
  :token,
148
155
  :authenticate_on_unsubscribe)
156
+ SENSITIVE = []
149
157
  include Aws::Structure
150
158
  end
151
159
 
@@ -159,6 +167,7 @@ module Aws::SNS
159
167
  #
160
168
  class ConfirmSubscriptionResponse < Struct.new(
161
169
  :subscription_arn)
170
+ SENSITIVE = []
162
171
  include Aws::Structure
163
172
  end
164
173
 
@@ -172,6 +181,7 @@ module Aws::SNS
172
181
  #
173
182
  class CreateEndpointResponse < Struct.new(
174
183
  :endpoint_arn)
184
+ SENSITIVE = []
175
185
  include Aws::Structure
176
186
  end
177
187
 
@@ -197,7 +207,7 @@ module Aws::SNS
197
207
  # @!attribute [rw] platform
198
208
  # The following platforms are supported: ADM (Amazon Device
199
209
  # Messaging), APNS (Apple Push Notification Service), APNS\_SANDBOX,
200
- # and FCM (Firebase Cloud Messaging).
210
+ # and GCM (Firebase Cloud Messaging).
201
211
  # @return [String]
202
212
  #
203
213
  # @!attribute [rw] attributes
@@ -214,6 +224,7 @@ module Aws::SNS
214
224
  :name,
215
225
  :platform,
216
226
  :attributes)
227
+ SENSITIVE = []
217
228
  include Aws::Structure
218
229
  end
219
230
 
@@ -227,6 +238,7 @@ module Aws::SNS
227
238
  #
228
239
  class CreatePlatformApplicationResponse < Struct.new(
229
240
  :platform_application_arn)
241
+ SENSITIVE = []
230
242
  include Aws::Structure
231
243
  end
232
244
 
@@ -254,8 +266,8 @@ module Aws::SNS
254
266
  # a device. The specific name for Token will vary, depending on which
255
267
  # notification service is being used. For example, when using APNS as
256
268
  # the notification service, you need the device token. Alternatively,
257
- # when using FCM or ADM, the device token equivalent is called the
258
- # registration ID.
269
+ # when using GCM (Firebase Cloud Messaging) or ADM, the device token
270
+ # equivalent is called the registration ID.
259
271
  # @return [String]
260
272
  #
261
273
  # @!attribute [rw] custom_user_data
@@ -279,6 +291,7 @@ module Aws::SNS
279
291
  :token,
280
292
  :custom_user_data,
281
293
  :attributes)
294
+ SENSITIVE = []
282
295
  include Aws::Structure
283
296
  end
284
297
 
@@ -306,6 +319,9 @@ module Aws::SNS
306
319
  # Constraints: Topic names must be made up of only uppercase and
307
320
  # lowercase ASCII letters, numbers, underscores, and hyphens, and must
308
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.
309
325
  # @return [String]
310
326
  #
311
327
  # @!attribute [rw] attributes
@@ -320,6 +336,8 @@ module Aws::SNS
320
336
  # * `DisplayName` – The display name to use for a topic with SMS
321
337
  # subscriptions.
322
338
  #
339
+ # * `FifoTopic` – Set to true to create a FIFO topic.
340
+ #
323
341
  # * `Policy` – The policy that defines who can access your topic. By
324
342
  # default, only the topic owner can publish or subscribe to the
325
343
  # topic.
@@ -327,18 +345,41 @@ module Aws::SNS
327
345
  # The following attribute applies only to
328
346
  # [server-side-encryption][1]\:
329
347
  #
330
- # * `KmsMasterKeyId` - The ID of an AWS-managed customer master key
348
+ # * `KmsMasterKeyId` The ID of an AWS-managed customer master key
331
349
  # (CMK) for Amazon SNS or a custom CMK. For more information, see
332
350
  # [Key Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
333
351
  # Management Service API Reference*.
334
352
  #
335
353
  # ^
336
354
  #
355
+ # The following attributes apply only to [FIFO topics][4]\:
356
+ #
357
+ # * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
358
+ #
359
+ # * `ContentBasedDeduplication` – Enables content-based deduplication
360
+ # for FIFO topics.
361
+ #
362
+ # * By default, `ContentBasedDeduplication` is set to `false`. If
363
+ # you create a FIFO topic and this attribute is `false`, you must
364
+ # specify a value for the `MessageDeduplicationId` parameter for
365
+ # the [Publish][5] action.
366
+ #
367
+ # * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
368
+ # uses a SHA-256 hash to generate the `MessageDeduplicationId`
369
+ # using the body of the message (but not the attributes of the
370
+ # message).
371
+ #
372
+ # (Optional) To override the generated value, you can specify a
373
+ # value for the the `MessageDeduplicationId` parameter for the
374
+ # `Publish` action.
375
+ #
337
376
  #
338
377
  #
339
378
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
340
379
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
341
380
  # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
381
+ # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
382
+ # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
342
383
  # @return [Hash<String,String>]
343
384
  #
344
385
  # @!attribute [rw] tags
@@ -356,6 +397,7 @@ module Aws::SNS
356
397
  :name,
357
398
  :attributes,
358
399
  :tags)
400
+ SENSITIVE = []
359
401
  include Aws::Structure
360
402
  end
361
403
 
@@ -369,6 +411,7 @@ module Aws::SNS
369
411
  #
370
412
  class CreateTopicResponse < Struct.new(
371
413
  :topic_arn)
414
+ SENSITIVE = []
372
415
  include Aws::Structure
373
416
  end
374
417
 
@@ -389,6 +432,7 @@ module Aws::SNS
389
432
  #
390
433
  class DeleteEndpointInput < Struct.new(
391
434
  :endpoint_arn)
435
+ SENSITIVE = []
392
436
  include Aws::Structure
393
437
  end
394
438
 
@@ -409,6 +453,7 @@ module Aws::SNS
409
453
  #
410
454
  class DeletePlatformApplicationInput < Struct.new(
411
455
  :platform_application_arn)
456
+ SENSITIVE = []
412
457
  include Aws::Structure
413
458
  end
414
459
 
@@ -427,6 +472,7 @@ module Aws::SNS
427
472
  #
428
473
  class DeleteTopicInput < Struct.new(
429
474
  :topic_arn)
475
+ SENSITIVE = []
430
476
  include Aws::Structure
431
477
  end
432
478
 
@@ -445,6 +491,7 @@ module Aws::SNS
445
491
  class Endpoint < Struct.new(
446
492
  :endpoint_arn,
447
493
  :attributes)
494
+ SENSITIVE = []
448
495
  include Aws::Structure
449
496
  end
450
497
 
@@ -458,6 +505,7 @@ module Aws::SNS
458
505
  #
459
506
  class EndpointDisabledException < Struct.new(
460
507
  :message)
508
+ SENSITIVE = []
461
509
  include Aws::Structure
462
510
  end
463
511
 
@@ -472,6 +520,7 @@ module Aws::SNS
472
520
  #
473
521
  class FilterPolicyLimitExceededException < Struct.new(
474
522
  :message)
523
+ SENSITIVE = []
475
524
  include Aws::Structure
476
525
  end
477
526
 
@@ -492,6 +541,7 @@ module Aws::SNS
492
541
  #
493
542
  class GetEndpointAttributesInput < Struct.new(
494
543
  :endpoint_arn)
544
+ SENSITIVE = []
495
545
  include Aws::Structure
496
546
  end
497
547
 
@@ -523,6 +573,7 @@ module Aws::SNS
523
573
  #
524
574
  class GetEndpointAttributesResponse < Struct.new(
525
575
  :attributes)
576
+ SENSITIVE = []
526
577
  include Aws::Structure
527
578
  end
528
579
 
@@ -543,6 +594,7 @@ module Aws::SNS
543
594
  #
544
595
  class GetPlatformApplicationAttributesInput < Struct.new(
545
596
  :platform_application_arn)
597
+ SENSITIVE = []
546
598
  include Aws::Structure
547
599
  end
548
600
 
@@ -569,6 +621,7 @@ module Aws::SNS
569
621
  #
570
622
  class GetPlatformApplicationAttributesResponse < Struct.new(
571
623
  :attributes)
624
+ SENSITIVE = []
572
625
  include Aws::Structure
573
626
  end
574
627
 
@@ -599,6 +652,7 @@ module Aws::SNS
599
652
  #
600
653
  class GetSMSAttributesInput < Struct.new(
601
654
  :attributes)
655
+ SENSITIVE = []
602
656
  include Aws::Structure
603
657
  end
604
658
 
@@ -612,6 +666,7 @@ module Aws::SNS
612
666
  #
613
667
  class GetSMSAttributesResponse < Struct.new(
614
668
  :attributes)
669
+ SENSITIVE = []
615
670
  include Aws::Structure
616
671
  end
617
672
 
@@ -632,6 +687,7 @@ module Aws::SNS
632
687
  #
633
688
  class GetSubscriptionAttributesInput < Struct.new(
634
689
  :subscription_arn)
690
+ SENSITIVE = []
635
691
  include Aws::Structure
636
692
  end
637
693
 
@@ -652,7 +708,8 @@ module Aws::SNS
652
708
  # delivery policy and account system defaults.
653
709
  #
654
710
  # * `FilterPolicy` – The filter policy JSON that is assigned to the
655
- # subscription.
711
+ # subscription. For more information, see [Amazon SNS Message
712
+ # Filtering][1] in the *Amazon SNS Developer Guide*.
656
713
  #
657
714
  # * `Owner` – The AWS account ID of the subscription's owner.
658
715
  #
@@ -676,12 +733,33 @@ module Aws::SNS
676
733
  #
677
734
  # * `TopicArn` – The topic ARN that the subscription is associated
678
735
  # with.
736
+ #
737
+ # The following attribute applies only to Amazon Kinesis Data Firehose
738
+ # delivery stream subscriptions:
739
+ #
740
+ # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
741
+ # following:
742
+ #
743
+ # * Permission to write to the Kinesis Data Firehose delivery stream
744
+ #
745
+ # * Amazon SNS listed as a trusted entity
746
+ #
747
+ # Specifying a valid ARN for this attribute is required for Kinesis
748
+ # Data Firehose delivery stream subscriptions. For more information,
749
+ # see [Fanout to Kinesis Data Firehose delivery streams][2] in the
750
+ # *Amazon SNS Developer Guide*.
751
+ #
752
+ #
753
+ #
754
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html
755
+ # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
679
756
  # @return [Hash<String,String>]
680
757
  #
681
758
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSubscriptionAttributesResponse AWS API Documentation
682
759
  #
683
760
  class GetSubscriptionAttributesResponse < Struct.new(
684
761
  :attributes)
762
+ SENSITIVE = []
685
763
  include Aws::Structure
686
764
  end
687
765
 
@@ -702,6 +780,7 @@ module Aws::SNS
702
780
  #
703
781
  class GetTopicAttributesInput < Struct.new(
704
782
  :topic_arn)
783
+ SENSITIVE = []
705
784
  include Aws::Structure
706
785
  end
707
786
 
@@ -733,7 +812,7 @@ module Aws::SNS
733
812
  #
734
813
  # * `TopicArn` – The topic's ARN.
735
814
  #
736
- # * `EffectiveDeliveryPolicy` – Yhe JSON serialization of the
815
+ # * `EffectiveDeliveryPolicy` – The JSON serialization of the
737
816
  # effective delivery policy, taking system defaults into account.
738
817
  #
739
818
  # The following attribute applies only to
@@ -746,17 +825,41 @@ module Aws::SNS
746
825
  #
747
826
  # ^
748
827
  #
828
+ # The following attributes apply only to [FIFO topics][4]\:
829
+ #
830
+ # * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
831
+ #
832
+ # * `ContentBasedDeduplication` – Enables content-based deduplication
833
+ # for FIFO topics.
834
+ #
835
+ # * By default, `ContentBasedDeduplication` is set to `false`. If
836
+ # you create a FIFO topic and this attribute is `false`, you must
837
+ # specify a value for the `MessageDeduplicationId` parameter for
838
+ # the [Publish][5] action.
839
+ #
840
+ # * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
841
+ # uses a SHA-256 hash to generate the `MessageDeduplicationId`
842
+ # using the body of the message (but not the attributes of the
843
+ # message).
844
+ #
845
+ # (Optional) To override the generated value, you can specify a
846
+ # value for the the `MessageDeduplicationId` parameter for the
847
+ # `Publish` action.
848
+ #
749
849
  #
750
850
  #
751
851
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
752
852
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
753
853
  # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
854
+ # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
855
+ # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
754
856
  # @return [Hash<String,String>]
755
857
  #
756
858
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetTopicAttributesResponse AWS API Documentation
757
859
  #
758
860
  class GetTopicAttributesResponse < Struct.new(
759
861
  :attributes)
862
+ SENSITIVE = []
760
863
  include Aws::Structure
761
864
  end
762
865
 
@@ -769,6 +872,7 @@ module Aws::SNS
769
872
  #
770
873
  class InternalErrorException < Struct.new(
771
874
  :message)
875
+ SENSITIVE = []
772
876
  include Aws::Structure
773
877
  end
774
878
 
@@ -782,6 +886,7 @@ module Aws::SNS
782
886
  #
783
887
  class InvalidParameterException < Struct.new(
784
888
  :message)
889
+ SENSITIVE = []
785
890
  include Aws::Structure
786
891
  end
787
892
 
@@ -796,6 +901,7 @@ module Aws::SNS
796
901
  #
797
902
  class InvalidParameterValueException < Struct.new(
798
903
  :message)
904
+ SENSITIVE = []
799
905
  include Aws::Structure
800
906
  end
801
907
 
@@ -809,6 +915,7 @@ module Aws::SNS
809
915
  #
810
916
  class InvalidSecurityException < Struct.new(
811
917
  :message)
918
+ SENSITIVE = []
812
919
  include Aws::Structure
813
920
  end
814
921
 
@@ -822,6 +929,7 @@ module Aws::SNS
822
929
  #
823
930
  class KMSAccessDeniedException < Struct.new(
824
931
  :message)
932
+ SENSITIVE = []
825
933
  include Aws::Structure
826
934
  end
827
935
 
@@ -835,6 +943,7 @@ module Aws::SNS
835
943
  #
836
944
  class KMSDisabledException < Struct.new(
837
945
  :message)
946
+ SENSITIVE = []
838
947
  include Aws::Structure
839
948
  end
840
949
 
@@ -854,6 +963,7 @@ module Aws::SNS
854
963
  #
855
964
  class KMSInvalidStateException < Struct.new(
856
965
  :message)
966
+ SENSITIVE = []
857
967
  include Aws::Structure
858
968
  end
859
969
 
@@ -867,6 +977,7 @@ module Aws::SNS
867
977
  #
868
978
  class KMSNotFoundException < Struct.new(
869
979
  :message)
980
+ SENSITIVE = []
870
981
  include Aws::Structure
871
982
  end
872
983
 
@@ -879,6 +990,7 @@ module Aws::SNS
879
990
  #
880
991
  class KMSOptInRequired < Struct.new(
881
992
  :message)
993
+ SENSITIVE = []
882
994
  include Aws::Structure
883
995
  end
884
996
 
@@ -897,6 +1009,7 @@ module Aws::SNS
897
1009
  #
898
1010
  class KMSThrottlingException < Struct.new(
899
1011
  :message)
1012
+ SENSITIVE = []
900
1013
  include Aws::Structure
901
1014
  end
902
1015
 
@@ -926,6 +1039,7 @@ module Aws::SNS
926
1039
  class ListEndpointsByPlatformApplicationInput < Struct.new(
927
1040
  :platform_application_arn,
928
1041
  :next_token)
1042
+ SENSITIVE = []
929
1043
  include Aws::Structure
930
1044
  end
931
1045
 
@@ -946,6 +1060,7 @@ module Aws::SNS
946
1060
  class ListEndpointsByPlatformApplicationResponse < Struct.new(
947
1061
  :endpoints,
948
1062
  :next_token)
1063
+ SENSITIVE = []
949
1064
  include Aws::Structure
950
1065
  end
951
1066
 
@@ -968,6 +1083,7 @@ module Aws::SNS
968
1083
  #
969
1084
  class ListPhoneNumbersOptedOutInput < Struct.new(
970
1085
  :next_token)
1086
+ SENSITIVE = []
971
1087
  include Aws::Structure
972
1088
  end
973
1089
 
@@ -990,6 +1106,7 @@ module Aws::SNS
990
1106
  class ListPhoneNumbersOptedOutResponse < Struct.new(
991
1107
  :phone_numbers,
992
1108
  :next_token)
1109
+ SENSITIVE = []
993
1110
  include Aws::Structure
994
1111
  end
995
1112
 
@@ -1012,6 +1129,7 @@ module Aws::SNS
1012
1129
  #
1013
1130
  class ListPlatformApplicationsInput < Struct.new(
1014
1131
  :next_token)
1132
+ SENSITIVE = []
1015
1133
  include Aws::Structure
1016
1134
  end
1017
1135
 
@@ -1033,6 +1151,7 @@ module Aws::SNS
1033
1151
  class ListPlatformApplicationsResponse < Struct.new(
1034
1152
  :platform_applications,
1035
1153
  :next_token)
1154
+ SENSITIVE = []
1036
1155
  include Aws::Structure
1037
1156
  end
1038
1157
 
@@ -1059,6 +1178,7 @@ module Aws::SNS
1059
1178
  class ListSubscriptionsByTopicInput < Struct.new(
1060
1179
  :topic_arn,
1061
1180
  :next_token)
1181
+ SENSITIVE = []
1062
1182
  include Aws::Structure
1063
1183
  end
1064
1184
 
@@ -1079,6 +1199,7 @@ module Aws::SNS
1079
1199
  class ListSubscriptionsByTopicResponse < Struct.new(
1080
1200
  :subscriptions,
1081
1201
  :next_token)
1202
+ SENSITIVE = []
1082
1203
  include Aws::Structure
1083
1204
  end
1084
1205
 
@@ -1099,6 +1220,7 @@ module Aws::SNS
1099
1220
  #
1100
1221
  class ListSubscriptionsInput < Struct.new(
1101
1222
  :next_token)
1223
+ SENSITIVE = []
1102
1224
  include Aws::Structure
1103
1225
  end
1104
1226
 
@@ -1118,6 +1240,7 @@ module Aws::SNS
1118
1240
  class ListSubscriptionsResponse < Struct.new(
1119
1241
  :subscriptions,
1120
1242
  :next_token)
1243
+ SENSITIVE = []
1121
1244
  include Aws::Structure
1122
1245
  end
1123
1246
 
@@ -1136,6 +1259,7 @@ module Aws::SNS
1136
1259
  #
1137
1260
  class ListTagsForResourceRequest < Struct.new(
1138
1261
  :resource_arn)
1262
+ SENSITIVE = []
1139
1263
  include Aws::Structure
1140
1264
  end
1141
1265
 
@@ -1147,6 +1271,7 @@ module Aws::SNS
1147
1271
  #
1148
1272
  class ListTagsForResourceResponse < Struct.new(
1149
1273
  :tags)
1274
+ SENSITIVE = []
1150
1275
  include Aws::Structure
1151
1276
  end
1152
1277
 
@@ -1165,6 +1290,7 @@ module Aws::SNS
1165
1290
  #
1166
1291
  class ListTopicsInput < Struct.new(
1167
1292
  :next_token)
1293
+ SENSITIVE = []
1168
1294
  include Aws::Structure
1169
1295
  end
1170
1296
 
@@ -1184,6 +1310,7 @@ module Aws::SNS
1184
1310
  class ListTopicsResponse < Struct.new(
1185
1311
  :topics,
1186
1312
  :next_token)
1313
+ SENSITIVE = []
1187
1314
  include Aws::Structure
1188
1315
  end
1189
1316
 
@@ -1195,12 +1322,14 @@ module Aws::SNS
1195
1322
  # message body should not be empty or null. All parts of the message
1196
1323
  # attribute, including name, type, and value, are included in the
1197
1324
  # message size restriction, which is currently 256 KB (262,144 bytes).
1198
- # For more information, see [Using Amazon SNS Message Attributes][2].
1325
+ # For more information, see [Amazon SNS message attributes][2] and
1326
+ # [Publishing to a mobile phone][3] in the *Amazon SNS Developer Guide.*
1199
1327
  #
1200
1328
  #
1201
1329
  #
1202
1330
  # [1]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
1203
1331
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/SNSMessageAttributes.html
1332
+ # [3]: https://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html
1204
1333
  #
1205
1334
  # @note When making an API call, you may pass MessageAttributeValue
1206
1335
  # data as a hash:
@@ -1241,6 +1370,7 @@ module Aws::SNS
1241
1370
  :data_type,
1242
1371
  :string_value,
1243
1372
  :binary_value)
1373
+ SENSITIVE = []
1244
1374
  include Aws::Structure
1245
1375
  end
1246
1376
 
@@ -1253,6 +1383,7 @@ module Aws::SNS
1253
1383
  #
1254
1384
  class NotFoundException < Struct.new(
1255
1385
  :message)
1386
+ SENSITIVE = []
1256
1387
  include Aws::Structure
1257
1388
  end
1258
1389
 
@@ -1273,6 +1404,7 @@ module Aws::SNS
1273
1404
  #
1274
1405
  class OptInPhoneNumberInput < Struct.new(
1275
1406
  :phone_number)
1407
+ SENSITIVE = []
1276
1408
  include Aws::Structure
1277
1409
  end
1278
1410
 
@@ -1297,6 +1429,7 @@ module Aws::SNS
1297
1429
  class PlatformApplication < Struct.new(
1298
1430
  :platform_application_arn,
1299
1431
  :attributes)
1432
+ SENSITIVE = []
1300
1433
  include Aws::Structure
1301
1434
  end
1302
1435
 
@@ -1310,6 +1443,7 @@ module Aws::SNS
1310
1443
  #
1311
1444
  class PlatformApplicationDisabledException < Struct.new(
1312
1445
  :message)
1446
+ SENSITIVE = []
1313
1447
  include Aws::Structure
1314
1448
  end
1315
1449
 
@@ -1332,6 +1466,8 @@ module Aws::SNS
1332
1466
  # binary_value: "data",
1333
1467
  # },
1334
1468
  # },
1469
+ # message_deduplication_id: "String",
1470
+ # message_group_id: "String",
1335
1471
  # }
1336
1472
  #
1337
1473
  # @!attribute [rw] topic_arn
@@ -1446,6 +1582,36 @@ module Aws::SNS
1446
1582
  # Message attributes for Publish action.
1447
1583
  # @return [Hash<String,Types::MessageAttributeValue>]
1448
1584
  #
1585
+ # @!attribute [rw] message_deduplication_id
1586
+ # This parameter applies only to FIFO (first-in-first-out) topics. The
1587
+ # `MessageDeduplicationId` can contain up to 128 alphanumeric
1588
+ # characters (a-z, A-Z, 0-9) and punctuation ``
1589
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1590
+ #
1591
+ # Every message must have a unique `MessageDeduplicationId`, which is
1592
+ # a token used for deduplication of sent messages. If a message with a
1593
+ # particular `MessageDeduplicationId` is sent successfully, any
1594
+ # message sent with the same `MessageDeduplicationId` during the
1595
+ # 5-minute deduplication interval is treated as a duplicate.
1596
+ #
1597
+ # If the topic has `ContentBasedDeduplication` set, the system
1598
+ # generates a `MessageDeduplicationId` based on the contents of the
1599
+ # message. Your `MessageDeduplicationId` overrides the generated one.
1600
+ # @return [String]
1601
+ #
1602
+ # @!attribute [rw] message_group_id
1603
+ # This parameter applies only to FIFO (first-in-first-out) topics. The
1604
+ # `MessageGroupId` can contain up to 128 alphanumeric characters (a-z,
1605
+ # A-Z, 0-9) and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~)
1606
+ # ``.
1607
+ #
1608
+ # The `MessageGroupId` is a tag that specifies that a message belongs
1609
+ # to a specific message group. Messages that belong to the same
1610
+ # message group are processed in a FIFO manner (however, messages in
1611
+ # different message groups might be processed out of order). Every
1612
+ # message must include a `MessageGroupId`.
1613
+ # @return [String]
1614
+ #
1449
1615
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishInput AWS API Documentation
1450
1616
  #
1451
1617
  class PublishInput < Struct.new(
@@ -1455,7 +1621,10 @@ module Aws::SNS
1455
1621
  :message,
1456
1622
  :subject,
1457
1623
  :message_structure,
1458
- :message_attributes)
1624
+ :message_attributes,
1625
+ :message_deduplication_id,
1626
+ :message_group_id)
1627
+ SENSITIVE = []
1459
1628
  include Aws::Structure
1460
1629
  end
1461
1630
 
@@ -1467,10 +1636,22 @@ module Aws::SNS
1467
1636
  # Length Constraint: Maximum 100 characters
1468
1637
  # @return [String]
1469
1638
  #
1639
+ # @!attribute [rw] sequence_number
1640
+ # This response element applies only to FIFO (first-in-first-out)
1641
+ # topics.
1642
+ #
1643
+ # The sequence number is a large, non-consecutive number that Amazon
1644
+ # SNS assigns to each message. The length of `SequenceNumber` is 128
1645
+ # bits. `SequenceNumber` continues to increase for each
1646
+ # `MessageGroupId`.
1647
+ # @return [String]
1648
+ #
1470
1649
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishResponse AWS API Documentation
1471
1650
  #
1472
1651
  class PublishResponse < Struct.new(
1473
- :message_id)
1652
+ :message_id,
1653
+ :sequence_number)
1654
+ SENSITIVE = []
1474
1655
  include Aws::Structure
1475
1656
  end
1476
1657
 
@@ -1497,6 +1678,7 @@ module Aws::SNS
1497
1678
  class RemovePermissionInput < Struct.new(
1498
1679
  :topic_arn,
1499
1680
  :label)
1681
+ SENSITIVE = []
1500
1682
  include Aws::Structure
1501
1683
  end
1502
1684
 
@@ -1509,6 +1691,7 @@ module Aws::SNS
1509
1691
  #
1510
1692
  class ResourceNotFoundException < Struct.new(
1511
1693
  :message)
1694
+ SENSITIVE = []
1512
1695
  include Aws::Structure
1513
1696
  end
1514
1697
 
@@ -1552,6 +1735,7 @@ module Aws::SNS
1552
1735
  class SetEndpointAttributesInput < Struct.new(
1553
1736
  :endpoint_arn,
1554
1737
  :attributes)
1738
+ SENSITIVE = []
1555
1739
  include Aws::Structure
1556
1740
  end
1557
1741
 
@@ -1576,26 +1760,28 @@ module Aws::SNS
1576
1760
  # include the following:
1577
1761
  #
1578
1762
  # * `PlatformCredential` – The credential received from the
1579
- # notification service. For APNS/APNS\_SANDBOX, PlatformCredential
1580
- # is private key. For FCM, PlatformCredential is "API key". For
1581
- # ADM, PlatformCredential is "client secret".
1763
+ # notification service. For `APNS` and `APNS_SANDBOX`,
1764
+ # `PlatformCredential` is `private key`. For `GCM` (Firebase Cloud
1765
+ # Messaging), `PlatformCredential` is `API key`. For `ADM`,
1766
+ # `PlatformCredential` is `client secret`.
1582
1767
  #
1583
1768
  # * `PlatformPrincipal` – The principal received from the notification
1584
- # service. For APNS/APNS\_SANDBOX, PlatformPrincipal is SSL
1585
- # certificate. For FCM, PlatformPrincipal is not applicable. For
1586
- # ADM, PlatformPrincipal is "client id".
1769
+ # service. For `APNS` and `APNS_SANDBOX`, `PlatformPrincipal` is
1770
+ # `SSL certificate`. For `GCM` (Firebase Cloud Messaging), there is
1771
+ # no `PlatformPrincipal`. For `ADM`, `PlatformPrincipal` is `client
1772
+ # id`.
1587
1773
  #
1588
- # * `EventEndpointCreated` – Topic ARN to which EndpointCreated event
1589
- # notifications should be sent.
1774
+ # * `EventEndpointCreated` – Topic ARN to which `EndpointCreated`
1775
+ # event notifications are sent.
1590
1776
  #
1591
- # * `EventEndpointDeleted` – Topic ARN to which EndpointDeleted event
1592
- # notifications should be sent.
1777
+ # * `EventEndpointDeleted` – Topic ARN to which `EndpointDeleted`
1778
+ # event notifications are sent.
1593
1779
  #
1594
- # * `EventEndpointUpdated` – Topic ARN to which EndpointUpdate event
1595
- # notifications should be sent.
1780
+ # * `EventEndpointUpdated` – Topic ARN to which `EndpointUpdate` event
1781
+ # notifications are sent.
1596
1782
  #
1597
- # * `EventDeliveryFailure` – Topic ARN to which DeliveryFailure event
1598
- # notifications should be sent upon Direct Publish delivery failure
1783
+ # * `EventDeliveryFailure` – Topic ARN to which `DeliveryFailure`
1784
+ # event notifications are sent upon Direct Publish delivery failure
1599
1785
  # (permanent) to one of the application's endpoints.
1600
1786
  #
1601
1787
  # * `SuccessFeedbackRoleArn` – IAM role ARN used to give Amazon SNS
@@ -1613,6 +1799,7 @@ module Aws::SNS
1613
1799
  class SetPlatformApplicationAttributesInput < Struct.new(
1614
1800
  :platform_application_arn,
1615
1801
  :attributes)
1802
+ SENSITIVE = []
1616
1803
  include Aws::Structure
1617
1804
  end
1618
1805
 
@@ -1716,6 +1903,7 @@ module Aws::SNS
1716
1903
  #
1717
1904
  class SetSMSAttributesInput < Struct.new(
1718
1905
  :attributes)
1906
+ SENSITIVE = []
1719
1907
  include Aws::Structure
1720
1908
  end
1721
1909
 
@@ -1744,8 +1932,7 @@ module Aws::SNS
1744
1932
  # A map of attributes with their corresponding values.
1745
1933
  #
1746
1934
  # The following lists the names, descriptions, and values of the
1747
- # special request parameters that the `SetTopicAttributes` action
1748
- # uses:
1935
+ # special request parameters that this action uses:
1749
1936
  #
1750
1937
  # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
1751
1938
  # failed deliveries to HTTP/S endpoints.
@@ -1766,6 +1953,25 @@ module Aws::SNS
1766
1953
  # when the service that powers the subscribed endpoint becomes
1767
1954
  # unavailable) are held in the dead-letter queue for further
1768
1955
  # analysis or reprocessing.
1956
+ #
1957
+ # The following attribute applies only to Amazon Kinesis Data Firehose
1958
+ # delivery stream subscriptions:
1959
+ #
1960
+ # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
1961
+ # following:
1962
+ #
1963
+ # * Permission to write to the Kinesis Data Firehose delivery stream
1964
+ #
1965
+ # * Amazon SNS listed as a trusted entity
1966
+ #
1967
+ # Specifying a valid ARN for this attribute is required for Kinesis
1968
+ # Data Firehose delivery stream subscriptions. For more information,
1969
+ # see [Fanout to Kinesis Data Firehose delivery streams][1] in the
1970
+ # *Amazon SNS Developer Guide*.
1971
+ #
1972
+ #
1973
+ #
1974
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
1769
1975
  # @return [String]
1770
1976
  #
1771
1977
  # @!attribute [rw] attribute_value
@@ -1778,6 +1984,7 @@ module Aws::SNS
1778
1984
  :subscription_arn,
1779
1985
  :attribute_name,
1780
1986
  :attribute_value)
1987
+ SENSITIVE = []
1781
1988
  include Aws::Structure
1782
1989
  end
1783
1990
 
@@ -1816,18 +2023,39 @@ module Aws::SNS
1816
2023
  # The following attribute applies only to
1817
2024
  # [server-side-encryption][1]\:
1818
2025
  #
1819
- # * `KmsMasterKeyId` - The ID of an AWS-managed customer master key
2026
+ # * `KmsMasterKeyId` The ID of an AWS-managed customer master key
1820
2027
  # (CMK) for Amazon SNS or a custom CMK. For more information, see
1821
2028
  # [Key Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
1822
2029
  # Management Service API Reference*.
1823
2030
  #
1824
2031
  # ^
1825
2032
  #
2033
+ # The following attribute applies only to [FIFO topics][4]\:
2034
+ #
2035
+ # * `ContentBasedDeduplication` – Enables content-based deduplication
2036
+ # for FIFO topics.
2037
+ #
2038
+ # * By default, `ContentBasedDeduplication` is set to `false`. If
2039
+ # you create a FIFO topic and this attribute is `false`, you must
2040
+ # specify a value for the `MessageDeduplicationId` parameter for
2041
+ # the [Publish][5] action.
2042
+ #
2043
+ # * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
2044
+ # uses a SHA-256 hash to generate the `MessageDeduplicationId`
2045
+ # using the body of the message (but not the attributes of the
2046
+ # message).
2047
+ #
2048
+ # (Optional) To override the generated value, you can specify a
2049
+ # value for the the `MessageDeduplicationId` parameter for the
2050
+ # `Publish` action.
2051
+ #
1826
2052
  #
1827
2053
  #
1828
2054
  # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
1829
2055
  # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
1830
2056
  # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
2057
+ # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
2058
+ # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
1831
2059
  # @return [String]
1832
2060
  #
1833
2061
  # @!attribute [rw] attribute_value
@@ -1840,6 +2068,7 @@ module Aws::SNS
1840
2068
  :topic_arn,
1841
2069
  :attribute_name,
1842
2070
  :attribute_value)
2071
+ SENSITIVE = []
1843
2072
  include Aws::Structure
1844
2073
  end
1845
2074
 
@@ -1853,6 +2082,7 @@ module Aws::SNS
1853
2082
  #
1854
2083
  class StaleTagException < Struct.new(
1855
2084
  :message)
2085
+ SENSITIVE = []
1856
2086
  include Aws::Structure
1857
2087
  end
1858
2088
 
@@ -1876,7 +2106,7 @@ module Aws::SNS
1876
2106
  # @return [String]
1877
2107
  #
1878
2108
  # @!attribute [rw] protocol
1879
- # The protocol you want to use. Supported protocols include:
2109
+ # The protocol that you want to use. Supported protocols include:
1880
2110
  #
1881
2111
  # * `http` – delivery of JSON-encoded message via HTTP POST
1882
2112
  #
@@ -1891,37 +2121,43 @@ module Aws::SNS
1891
2121
  # * `sqs` – delivery of JSON-encoded message to an Amazon SQS queue
1892
2122
  #
1893
2123
  # * `application` – delivery of JSON-encoded message to an EndpointArn
1894
- # for a mobile app and device.
2124
+ # for a mobile app and device
1895
2125
  #
1896
- # * `lambda` – delivery of JSON-encoded message to an Amazon Lambda
1897
- # function.
2126
+ # * `lambda` – delivery of JSON-encoded message to an AWS Lambda
2127
+ # function
2128
+ #
2129
+ # * `firehose` – delivery of JSON-encoded message to an Amazon Kinesis
2130
+ # Data Firehose delivery stream.
1898
2131
  # @return [String]
1899
2132
  #
1900
2133
  # @!attribute [rw] endpoint
1901
2134
  # The endpoint that you want to receive notifications. Endpoints vary
1902
2135
  # by protocol:
1903
2136
  #
1904
- # * For the `http` protocol, the endpoint is an URL beginning with
1905
- # `http://`
2137
+ # * For the `http` protocol, the (public) endpoint is a URL beginning
2138
+ # with `http://`.
1906
2139
  #
1907
- # * For the `https` protocol, the endpoint is a URL beginning with
1908
- # `https://`
2140
+ # * For the `https` protocol, the (public) endpoint is a URL beginning
2141
+ # with `https://`.
1909
2142
  #
1910
- # * For the `email` protocol, the endpoint is an email address
2143
+ # * For the `email` protocol, the endpoint is an email address.
1911
2144
  #
1912
- # * For the `email-json` protocol, the endpoint is an email address
2145
+ # * For the `email-json` protocol, the endpoint is an email address.
1913
2146
  #
1914
2147
  # * For the `sms` protocol, the endpoint is a phone number of an
1915
- # SMS-enabled device
2148
+ # SMS-enabled device.
1916
2149
  #
1917
2150
  # * For the `sqs` protocol, the endpoint is the ARN of an Amazon SQS
1918
- # queue
2151
+ # queue.
1919
2152
  #
1920
2153
  # * For the `application` protocol, the endpoint is the EndpointArn of
1921
2154
  # a mobile app and device.
1922
2155
  #
1923
- # * For the `lambda` protocol, the endpoint is the ARN of an Amazon
2156
+ # * For the `lambda` protocol, the endpoint is the ARN of an AWS
1924
2157
  # Lambda function.
2158
+ #
2159
+ # * For the `firehose` protocol, the endpoint is the ARN of an Amazon
2160
+ # Kinesis Data Firehose delivery stream.
1925
2161
  # @return [String]
1926
2162
  #
1927
2163
  # @!attribute [rw] attributes
@@ -1950,24 +2186,40 @@ module Aws::SNS
1950
2186
  # when the service that powers the subscribed endpoint becomes
1951
2187
  # unavailable) are held in the dead-letter queue for further
1952
2188
  # analysis or reprocessing.
2189
+ #
2190
+ # The following attribute applies only to Amazon Kinesis Data Firehose
2191
+ # delivery stream subscriptions:
2192
+ #
2193
+ # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
2194
+ # following:
2195
+ #
2196
+ # * Permission to write to the Kinesis Data Firehose delivery stream
2197
+ #
2198
+ # * Amazon SNS listed as a trusted entity
2199
+ #
2200
+ # Specifying a valid ARN for this attribute is required for Kinesis
2201
+ # Data Firehose delivery stream subscriptions. For more information,
2202
+ # see [Fanout to Kinesis Data Firehose delivery streams][1] in the
2203
+ # *Amazon SNS Developer Guide*.
2204
+ #
2205
+ #
2206
+ #
2207
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
1953
2208
  # @return [Hash<String,String>]
1954
2209
  #
1955
2210
  # @!attribute [rw] return_subscription_arn
1956
2211
  # Sets whether the response from the `Subscribe` request includes the
1957
2212
  # subscription ARN, even if the subscription is not yet confirmed.
1958
2213
  #
1959
- # * If you have the subscription ARN returned, the response includes
1960
- # the ARN in all cases, even if the subscription is not yet
1961
- # confirmed.
2214
+ # If you set this parameter to `true`, the response includes the ARN
2215
+ # in all cases, even if the subscription is not yet confirmed. In
2216
+ # addition to the ARN for confirmed subscriptions, the response also
2217
+ # includes the `pending subscription` ARN value for subscriptions that
2218
+ # aren't yet confirmed. A subscription becomes confirmed when the
2219
+ # subscriber calls the `ConfirmSubscription` action with a
2220
+ # confirmation token.
1962
2221
  #
1963
- # * If you don't have the subscription ARN returned, in addition to
1964
- # the ARN for confirmed subscriptions, the response also includes
1965
- # the `pending subscription` ARN value for subscriptions that
1966
- # aren't yet confirmed. A subscription becomes confirmed when the
1967
- # subscriber calls the `ConfirmSubscription` action with a
1968
- # confirmation token.
1969
2222
  #
1970
- # If you set this parameter to `true`, .
1971
2223
  #
1972
2224
  # The default value is `false`.
1973
2225
  # @return [Boolean]
@@ -1980,6 +2232,7 @@ module Aws::SNS
1980
2232
  :endpoint,
1981
2233
  :attributes,
1982
2234
  :return_subscription_arn)
2235
+ SENSITIVE = []
1983
2236
  include Aws::Structure
1984
2237
  end
1985
2238
 
@@ -1997,6 +2250,7 @@ module Aws::SNS
1997
2250
  #
1998
2251
  class SubscribeResponse < Struct.new(
1999
2252
  :subscription_arn)
2253
+ SENSITIVE = []
2000
2254
  include Aws::Structure
2001
2255
  end
2002
2256
 
@@ -2030,6 +2284,7 @@ module Aws::SNS
2030
2284
  :protocol,
2031
2285
  :endpoint,
2032
2286
  :topic_arn)
2287
+ SENSITIVE = []
2033
2288
  include Aws::Structure
2034
2289
  end
2035
2290
 
@@ -2043,6 +2298,7 @@ module Aws::SNS
2043
2298
  #
2044
2299
  class SubscriptionLimitExceededException < Struct.new(
2045
2300
  :message)
2301
+ SENSITIVE = []
2046
2302
  include Aws::Structure
2047
2303
  end
2048
2304
 
@@ -2069,6 +2325,7 @@ module Aws::SNS
2069
2325
  class Tag < Struct.new(
2070
2326
  :key,
2071
2327
  :value)
2328
+ SENSITIVE = []
2072
2329
  include Aws::Structure
2073
2330
  end
2074
2331
 
@@ -2081,6 +2338,7 @@ module Aws::SNS
2081
2338
  #
2082
2339
  class TagLimitExceededException < Struct.new(
2083
2340
  :message)
2341
+ SENSITIVE = []
2084
2342
  include Aws::Structure
2085
2343
  end
2086
2344
 
@@ -2094,6 +2352,7 @@ module Aws::SNS
2094
2352
  #
2095
2353
  class TagPolicyException < Struct.new(
2096
2354
  :message)
2355
+ SENSITIVE = []
2097
2356
  include Aws::Structure
2098
2357
  end
2099
2358
 
@@ -2124,6 +2383,7 @@ module Aws::SNS
2124
2383
  class TagResourceRequest < Struct.new(
2125
2384
  :resource_arn,
2126
2385
  :tags)
2386
+ SENSITIVE = []
2127
2387
  include Aws::Structure
2128
2388
  end
2129
2389
 
@@ -2142,6 +2402,7 @@ module Aws::SNS
2142
2402
  #
2143
2403
  class ThrottledException < Struct.new(
2144
2404
  :message)
2405
+ SENSITIVE = []
2145
2406
  include Aws::Structure
2146
2407
  end
2147
2408
 
@@ -2156,6 +2417,7 @@ module Aws::SNS
2156
2417
  #
2157
2418
  class Topic < Struct.new(
2158
2419
  :topic_arn)
2420
+ SENSITIVE = []
2159
2421
  include Aws::Structure
2160
2422
  end
2161
2423
 
@@ -2169,6 +2431,7 @@ module Aws::SNS
2169
2431
  #
2170
2432
  class TopicLimitExceededException < Struct.new(
2171
2433
  :message)
2434
+ SENSITIVE = []
2172
2435
  include Aws::Structure
2173
2436
  end
2174
2437
 
@@ -2189,6 +2452,7 @@ module Aws::SNS
2189
2452
  #
2190
2453
  class UnsubscribeInput < Struct.new(
2191
2454
  :subscription_arn)
2455
+ SENSITIVE = []
2192
2456
  include Aws::Structure
2193
2457
  end
2194
2458
 
@@ -2213,6 +2477,7 @@ module Aws::SNS
2213
2477
  class UntagResourceRequest < Struct.new(
2214
2478
  :resource_arn,
2215
2479
  :tag_keys)
2480
+ SENSITIVE = []
2216
2481
  include Aws::Structure
2217
2482
  end
2218
2483