aws-sdk-sns 1.22.0 → 1.39.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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