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.
@@ -16,11 +16,15 @@ module Aws::SNS
16
16
  ActionsList = Shapes::ListShape.new(name: 'ActionsList')
17
17
  AddPermissionInput = Shapes::StructureShape.new(name: 'AddPermissionInput')
18
18
  AmazonResourceName = Shapes::StringShape.new(name: 'AmazonResourceName')
19
- AuthorizationErrorException = Shapes::StructureShape.new(name: 'AuthorizationErrorException')
19
+ AuthorizationErrorException = Shapes::StructureShape.new(name: 'AuthorizationErrorException', error: {"code"=>"AuthorizationError", "httpStatusCode"=>403, "senderFault"=>true})
20
+ BatchEntryIdsNotDistinctException = Shapes::StructureShape.new(name: 'BatchEntryIdsNotDistinctException', error: {"code"=>"BatchEntryIdsNotDistinct", "httpStatusCode"=>400, "senderFault"=>true})
21
+ BatchRequestTooLongException = Shapes::StructureShape.new(name: 'BatchRequestTooLongException', error: {"code"=>"BatchRequestTooLong", "httpStatusCode"=>400, "senderFault"=>true})
22
+ BatchResultErrorEntry = Shapes::StructureShape.new(name: 'BatchResultErrorEntry')
23
+ BatchResultErrorEntryList = Shapes::ListShape.new(name: 'BatchResultErrorEntryList')
20
24
  Binary = Shapes::BlobShape.new(name: 'Binary')
21
25
  CheckIfPhoneNumberIsOptedOutInput = Shapes::StructureShape.new(name: 'CheckIfPhoneNumberIsOptedOutInput')
22
26
  CheckIfPhoneNumberIsOptedOutResponse = Shapes::StructureShape.new(name: 'CheckIfPhoneNumberIsOptedOutResponse')
23
- ConcurrentAccessException = Shapes::StructureShape.new(name: 'ConcurrentAccessException')
27
+ ConcurrentAccessException = Shapes::StructureShape.new(name: 'ConcurrentAccessException', error: {"code"=>"ConcurrentAccess", "httpStatusCode"=>400, "senderFault"=>true})
24
28
  ConfirmSubscriptionInput = Shapes::StructureShape.new(name: 'ConfirmSubscriptionInput')
25
29
  ConfirmSubscriptionResponse = Shapes::StructureShape.new(name: 'ConfirmSubscriptionResponse')
26
30
  CreateEndpointResponse = Shapes::StructureShape.new(name: 'CreateEndpointResponse')
@@ -37,9 +41,12 @@ module Aws::SNS
37
41
  DeleteSMSSandboxPhoneNumberInput = Shapes::StructureShape.new(name: 'DeleteSMSSandboxPhoneNumberInput')
38
42
  DeleteSMSSandboxPhoneNumberResult = Shapes::StructureShape.new(name: 'DeleteSMSSandboxPhoneNumberResult')
39
43
  DeleteTopicInput = Shapes::StructureShape.new(name: 'DeleteTopicInput')
44
+ EmptyBatchRequestException = Shapes::StructureShape.new(name: 'EmptyBatchRequestException', error: {"code"=>"EmptyBatchRequest", "httpStatusCode"=>400, "senderFault"=>true})
40
45
  Endpoint = Shapes::StructureShape.new(name: 'Endpoint')
41
- EndpointDisabledException = Shapes::StructureShape.new(name: 'EndpointDisabledException')
42
- FilterPolicyLimitExceededException = Shapes::StructureShape.new(name: 'FilterPolicyLimitExceededException')
46
+ EndpointDisabledException = Shapes::StructureShape.new(name: 'EndpointDisabledException', error: {"code"=>"EndpointDisabled", "httpStatusCode"=>400, "senderFault"=>true})
47
+ FilterPolicyLimitExceededException = Shapes::StructureShape.new(name: 'FilterPolicyLimitExceededException', error: {"code"=>"FilterPolicyLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
48
+ GetDataProtectionPolicyInput = Shapes::StructureShape.new(name: 'GetDataProtectionPolicyInput')
49
+ GetDataProtectionPolicyResponse = Shapes::StructureShape.new(name: 'GetDataProtectionPolicyResponse')
43
50
  GetEndpointAttributesInput = Shapes::StructureShape.new(name: 'GetEndpointAttributesInput')
44
51
  GetEndpointAttributesResponse = Shapes::StructureShape.new(name: 'GetEndpointAttributesResponse')
45
52
  GetPlatformApplicationAttributesInput = Shapes::StructureShape.new(name: 'GetPlatformApplicationAttributesInput')
@@ -52,17 +59,19 @@ module Aws::SNS
52
59
  GetSubscriptionAttributesResponse = Shapes::StructureShape.new(name: 'GetSubscriptionAttributesResponse')
53
60
  GetTopicAttributesInput = Shapes::StructureShape.new(name: 'GetTopicAttributesInput')
54
61
  GetTopicAttributesResponse = Shapes::StructureShape.new(name: 'GetTopicAttributesResponse')
55
- InternalErrorException = Shapes::StructureShape.new(name: 'InternalErrorException')
56
- InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
57
- InvalidParameterValueException = Shapes::StructureShape.new(name: 'InvalidParameterValueException')
58
- InvalidSecurityException = Shapes::StructureShape.new(name: 'InvalidSecurityException')
62
+ InternalErrorException = Shapes::StructureShape.new(name: 'InternalErrorException', error: {"code"=>"InternalError", "httpStatusCode"=>500})
63
+ InvalidBatchEntryIdException = Shapes::StructureShape.new(name: 'InvalidBatchEntryIdException', error: {"code"=>"InvalidBatchEntryId", "httpStatusCode"=>400, "senderFault"=>true})
64
+ InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException', error: {"code"=>"InvalidParameter", "httpStatusCode"=>400, "senderFault"=>true})
65
+ InvalidParameterValueException = Shapes::StructureShape.new(name: 'InvalidParameterValueException', error: {"code"=>"ParameterValueInvalid", "httpStatusCode"=>400, "senderFault"=>true})
66
+ InvalidSecurityException = Shapes::StructureShape.new(name: 'InvalidSecurityException', error: {"code"=>"InvalidSecurity", "httpStatusCode"=>403, "senderFault"=>true})
67
+ InvalidStateException = Shapes::StructureShape.new(name: 'InvalidStateException', error: {"code"=>"InvalidState", "httpStatusCode"=>400, "senderFault"=>true})
59
68
  Iso2CountryCode = Shapes::StringShape.new(name: 'Iso2CountryCode')
60
- KMSAccessDeniedException = Shapes::StructureShape.new(name: 'KMSAccessDeniedException')
61
- KMSDisabledException = Shapes::StructureShape.new(name: 'KMSDisabledException')
62
- KMSInvalidStateException = Shapes::StructureShape.new(name: 'KMSInvalidStateException')
63
- KMSNotFoundException = Shapes::StructureShape.new(name: 'KMSNotFoundException')
64
- KMSOptInRequired = Shapes::StructureShape.new(name: 'KMSOptInRequired')
65
- KMSThrottlingException = Shapes::StructureShape.new(name: 'KMSThrottlingException')
69
+ KMSAccessDeniedException = Shapes::StructureShape.new(name: 'KMSAccessDeniedException', error: {"code"=>"KMSAccessDenied", "httpStatusCode"=>400, "senderFault"=>true})
70
+ KMSDisabledException = Shapes::StructureShape.new(name: 'KMSDisabledException', error: {"code"=>"KMSDisabled", "httpStatusCode"=>400, "senderFault"=>true})
71
+ KMSInvalidStateException = Shapes::StructureShape.new(name: 'KMSInvalidStateException', error: {"code"=>"KMSInvalidState", "httpStatusCode"=>400, "senderFault"=>true})
72
+ KMSNotFoundException = Shapes::StructureShape.new(name: 'KMSNotFoundException', error: {"code"=>"KMSNotFound", "httpStatusCode"=>400, "senderFault"=>true})
73
+ KMSOptInRequired = Shapes::StructureShape.new(name: 'KMSOptInRequired', error: {"code"=>"KMSOptInRequired", "httpStatusCode"=>403, "senderFault"=>true})
74
+ KMSThrottlingException = Shapes::StructureShape.new(name: 'KMSThrottlingException', error: {"code"=>"KMSThrottling", "httpStatusCode"=>400, "senderFault"=>true})
66
75
  LanguageCodeString = Shapes::StringShape.new(name: 'LanguageCodeString')
67
76
  ListEndpointsByPlatformApplicationInput = Shapes::StructureShape.new(name: 'ListEndpointsByPlatformApplicationInput')
68
77
  ListEndpointsByPlatformApplicationResponse = Shapes::StructureShape.new(name: 'ListEndpointsByPlatformApplicationResponse')
@@ -90,24 +99,32 @@ module Aws::SNS
90
99
  MaxItemsListOriginationNumbers = Shapes::IntegerShape.new(name: 'MaxItemsListOriginationNumbers')
91
100
  MessageAttributeMap = Shapes::MapShape.new(name: 'MessageAttributeMap')
92
101
  MessageAttributeValue = Shapes::StructureShape.new(name: 'MessageAttributeValue')
93
- NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException')
102
+ NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException', error: {"code"=>"NotFound", "httpStatusCode"=>404, "senderFault"=>true})
94
103
  NumberCapability = Shapes::StringShape.new(name: 'NumberCapability')
95
104
  NumberCapabilityList = Shapes::ListShape.new(name: 'NumberCapabilityList')
96
105
  OTPCode = Shapes::StringShape.new(name: 'OTPCode')
97
106
  OptInPhoneNumberInput = Shapes::StructureShape.new(name: 'OptInPhoneNumberInput')
98
107
  OptInPhoneNumberResponse = Shapes::StructureShape.new(name: 'OptInPhoneNumberResponse')
99
- OptedOutException = Shapes::StructureShape.new(name: 'OptedOutException')
108
+ OptedOutException = Shapes::StructureShape.new(name: 'OptedOutException', error: {"code"=>"OptedOut", "httpStatusCode"=>400, "senderFault"=>true})
100
109
  PhoneNumber = Shapes::StringShape.new(name: 'PhoneNumber')
101
110
  PhoneNumberInformation = Shapes::StructureShape.new(name: 'PhoneNumberInformation')
102
111
  PhoneNumberInformationList = Shapes::ListShape.new(name: 'PhoneNumberInformationList')
103
112
  PhoneNumberList = Shapes::ListShape.new(name: 'PhoneNumberList')
104
113
  PhoneNumberString = Shapes::StringShape.new(name: 'PhoneNumberString')
105
114
  PlatformApplication = Shapes::StructureShape.new(name: 'PlatformApplication')
106
- PlatformApplicationDisabledException = Shapes::StructureShape.new(name: 'PlatformApplicationDisabledException')
115
+ PlatformApplicationDisabledException = Shapes::StructureShape.new(name: 'PlatformApplicationDisabledException', error: {"code"=>"PlatformApplicationDisabled", "httpStatusCode"=>400, "senderFault"=>true})
116
+ PublishBatchInput = Shapes::StructureShape.new(name: 'PublishBatchInput')
117
+ PublishBatchRequestEntry = Shapes::StructureShape.new(name: 'PublishBatchRequestEntry')
118
+ PublishBatchRequestEntryList = Shapes::ListShape.new(name: 'PublishBatchRequestEntryList')
119
+ PublishBatchResponse = Shapes::StructureShape.new(name: 'PublishBatchResponse')
120
+ PublishBatchResultEntry = Shapes::StructureShape.new(name: 'PublishBatchResultEntry')
121
+ PublishBatchResultEntryList = Shapes::ListShape.new(name: 'PublishBatchResultEntryList')
107
122
  PublishInput = Shapes::StructureShape.new(name: 'PublishInput')
108
123
  PublishResponse = Shapes::StructureShape.new(name: 'PublishResponse')
124
+ PutDataProtectionPolicyInput = Shapes::StructureShape.new(name: 'PutDataProtectionPolicyInput')
109
125
  RemovePermissionInput = Shapes::StructureShape.new(name: 'RemovePermissionInput')
110
- ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
126
+ ReplayLimitExceededException = Shapes::StructureShape.new(name: 'ReplayLimitExceededException', error: {"code"=>"ReplayLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
127
+ ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException', error: {"code"=>"ResourceNotFound", "httpStatusCode"=>404, "senderFault"=>true})
111
128
  RouteType = Shapes::StringShape.new(name: 'RouteType')
112
129
  SMSSandboxPhoneNumber = Shapes::StructureShape.new(name: 'SMSSandboxPhoneNumber')
113
130
  SMSSandboxPhoneNumberList = Shapes::ListShape.new(name: 'SMSSandboxPhoneNumberList')
@@ -118,34 +135,35 @@ module Aws::SNS
118
135
  SetSMSAttributesResponse = Shapes::StructureShape.new(name: 'SetSMSAttributesResponse')
119
136
  SetSubscriptionAttributesInput = Shapes::StructureShape.new(name: 'SetSubscriptionAttributesInput')
120
137
  SetTopicAttributesInput = Shapes::StructureShape.new(name: 'SetTopicAttributesInput')
121
- StaleTagException = Shapes::StructureShape.new(name: 'StaleTagException')
138
+ StaleTagException = Shapes::StructureShape.new(name: 'StaleTagException', error: {"code"=>"StaleTag", "httpStatusCode"=>400, "senderFault"=>true})
122
139
  String = Shapes::StringShape.new(name: 'String')
123
140
  SubscribeInput = Shapes::StructureShape.new(name: 'SubscribeInput')
124
141
  SubscribeResponse = Shapes::StructureShape.new(name: 'SubscribeResponse')
125
142
  Subscription = Shapes::StructureShape.new(name: 'Subscription')
126
143
  SubscriptionAttributesMap = Shapes::MapShape.new(name: 'SubscriptionAttributesMap')
127
- SubscriptionLimitExceededException = Shapes::StructureShape.new(name: 'SubscriptionLimitExceededException')
144
+ SubscriptionLimitExceededException = Shapes::StructureShape.new(name: 'SubscriptionLimitExceededException', error: {"code"=>"SubscriptionLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
128
145
  SubscriptionsList = Shapes::ListShape.new(name: 'SubscriptionsList')
129
146
  Tag = Shapes::StructureShape.new(name: 'Tag')
130
147
  TagKey = Shapes::StringShape.new(name: 'TagKey')
131
148
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
132
- TagLimitExceededException = Shapes::StructureShape.new(name: 'TagLimitExceededException')
149
+ TagLimitExceededException = Shapes::StructureShape.new(name: 'TagLimitExceededException', error: {"code"=>"TagLimitExceeded", "httpStatusCode"=>400, "senderFault"=>true})
133
150
  TagList = Shapes::ListShape.new(name: 'TagList')
134
- TagPolicyException = Shapes::StructureShape.new(name: 'TagPolicyException')
151
+ TagPolicyException = Shapes::StructureShape.new(name: 'TagPolicyException', error: {"code"=>"TagPolicy", "httpStatusCode"=>400, "senderFault"=>true})
135
152
  TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
136
153
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
137
154
  TagValue = Shapes::StringShape.new(name: 'TagValue')
138
- ThrottledException = Shapes::StructureShape.new(name: 'ThrottledException')
155
+ ThrottledException = Shapes::StructureShape.new(name: 'ThrottledException', error: {"code"=>"Throttled", "httpStatusCode"=>429, "senderFault"=>true})
139
156
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
157
+ TooManyEntriesInBatchRequestException = Shapes::StructureShape.new(name: 'TooManyEntriesInBatchRequestException', error: {"code"=>"TooManyEntriesInBatchRequest", "httpStatusCode"=>400, "senderFault"=>true})
140
158
  Topic = Shapes::StructureShape.new(name: 'Topic')
141
159
  TopicAttributesMap = Shapes::MapShape.new(name: 'TopicAttributesMap')
142
- TopicLimitExceededException = Shapes::StructureShape.new(name: 'TopicLimitExceededException')
160
+ TopicLimitExceededException = Shapes::StructureShape.new(name: 'TopicLimitExceededException', error: {"code"=>"TopicLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
143
161
  TopicsList = Shapes::ListShape.new(name: 'TopicsList')
144
162
  UnsubscribeInput = Shapes::StructureShape.new(name: 'UnsubscribeInput')
145
163
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
146
164
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
147
- UserErrorException = Shapes::StructureShape.new(name: 'UserErrorException')
148
- ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
165
+ UserErrorException = Shapes::StructureShape.new(name: 'UserErrorException', error: {"code"=>"UserError", "httpStatusCode"=>400, "senderFault"=>true})
166
+ ValidationException = Shapes::StructureShape.new(name: 'ValidationException', error: {"code"=>"ValidationException", "httpStatusCode"=>400, "senderFault"=>true})
149
167
  VerificationException = Shapes::StructureShape.new(name: 'VerificationException')
150
168
  VerifySMSSandboxPhoneNumberInput = Shapes::StructureShape.new(name: 'VerifySMSSandboxPhoneNumberInput')
151
169
  VerifySMSSandboxPhoneNumberResult = Shapes::StructureShape.new(name: 'VerifySMSSandboxPhoneNumberResult')
@@ -181,6 +199,20 @@ module Aws::SNS
181
199
  AuthorizationErrorException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
182
200
  AuthorizationErrorException.struct_class = Types::AuthorizationErrorException
183
201
 
202
+ BatchEntryIdsNotDistinctException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
203
+ BatchEntryIdsNotDistinctException.struct_class = Types::BatchEntryIdsNotDistinctException
204
+
205
+ BatchRequestTooLongException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
206
+ BatchRequestTooLongException.struct_class = Types::BatchRequestTooLongException
207
+
208
+ BatchResultErrorEntry.add_member(:id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Id"))
209
+ BatchResultErrorEntry.add_member(:code, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Code"))
210
+ BatchResultErrorEntry.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
211
+ BatchResultErrorEntry.add_member(:sender_fault, Shapes::ShapeRef.new(shape: boolean, required: true, location_name: "SenderFault"))
212
+ BatchResultErrorEntry.struct_class = Types::BatchResultErrorEntry
213
+
214
+ BatchResultErrorEntryList.member = Shapes::ShapeRef.new(shape: BatchResultErrorEntry)
215
+
184
216
  CheckIfPhoneNumberIsOptedOutInput.add_member(:phone_number, Shapes::ShapeRef.new(shape: PhoneNumber, required: true, location_name: "phoneNumber"))
185
217
  CheckIfPhoneNumberIsOptedOutInput.struct_class = Types::CheckIfPhoneNumberIsOptedOutInput
186
218
 
@@ -224,6 +256,7 @@ module Aws::SNS
224
256
  CreateTopicInput.add_member(:name, Shapes::ShapeRef.new(shape: topicName, required: true, location_name: "Name"))
225
257
  CreateTopicInput.add_member(:attributes, Shapes::ShapeRef.new(shape: TopicAttributesMap, location_name: "Attributes"))
226
258
  CreateTopicInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
259
+ CreateTopicInput.add_member(:data_protection_policy, Shapes::ShapeRef.new(shape: attributeValue, location_name: "DataProtectionPolicy"))
227
260
  CreateTopicInput.struct_class = Types::CreateTopicInput
228
261
 
229
262
  CreateTopicResponse.add_member(:topic_arn, Shapes::ShapeRef.new(shape: topicARN, location_name: "TopicArn"))
@@ -245,6 +278,9 @@ module Aws::SNS
245
278
  DeleteTopicInput.add_member(:topic_arn, Shapes::ShapeRef.new(shape: topicARN, required: true, location_name: "TopicArn"))
246
279
  DeleteTopicInput.struct_class = Types::DeleteTopicInput
247
280
 
281
+ EmptyBatchRequestException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
282
+ EmptyBatchRequestException.struct_class = Types::EmptyBatchRequestException
283
+
248
284
  Endpoint.add_member(:endpoint_arn, Shapes::ShapeRef.new(shape: String, location_name: "EndpointArn"))
249
285
  Endpoint.add_member(:attributes, Shapes::ShapeRef.new(shape: MapStringToString, location_name: "Attributes"))
250
286
  Endpoint.struct_class = Types::Endpoint
@@ -255,6 +291,12 @@ module Aws::SNS
255
291
  FilterPolicyLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
256
292
  FilterPolicyLimitExceededException.struct_class = Types::FilterPolicyLimitExceededException
257
293
 
294
+ GetDataProtectionPolicyInput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: topicARN, required: true, location_name: "ResourceArn"))
295
+ GetDataProtectionPolicyInput.struct_class = Types::GetDataProtectionPolicyInput
296
+
297
+ GetDataProtectionPolicyResponse.add_member(:data_protection_policy, Shapes::ShapeRef.new(shape: attributeValue, location_name: "DataProtectionPolicy"))
298
+ GetDataProtectionPolicyResponse.struct_class = Types::GetDataProtectionPolicyResponse
299
+
258
300
  GetEndpointAttributesInput.add_member(:endpoint_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "EndpointArn"))
259
301
  GetEndpointAttributesInput.struct_class = Types::GetEndpointAttributesInput
260
302
 
@@ -293,6 +335,9 @@ module Aws::SNS
293
335
  InternalErrorException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
294
336
  InternalErrorException.struct_class = Types::InternalErrorException
295
337
 
338
+ InvalidBatchEntryIdException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
339
+ InvalidBatchEntryIdException.struct_class = Types::InvalidBatchEntryIdException
340
+
296
341
  InvalidParameterException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
297
342
  InvalidParameterException.struct_class = Types::InvalidParameterException
298
343
 
@@ -302,6 +347,9 @@ module Aws::SNS
302
347
  InvalidSecurityException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
303
348
  InvalidSecurityException.struct_class = Types::InvalidSecurityException
304
349
 
350
+ InvalidStateException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
351
+ InvalidStateException.struct_class = Types::InvalidStateException
352
+
305
353
  KMSAccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
306
354
  KMSAccessDeniedException.struct_class = Types::KMSAccessDeniedException
307
355
 
@@ -417,7 +465,7 @@ module Aws::SNS
417
465
  OptedOutException.struct_class = Types::OptedOutException
418
466
 
419
467
  PhoneNumberInformation.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedAt"))
420
- PhoneNumberInformation.add_member(:phone_number, Shapes::ShapeRef.new(shape: String, location_name: "PhoneNumber"))
468
+ PhoneNumberInformation.add_member(:phone_number, Shapes::ShapeRef.new(shape: PhoneNumber, location_name: "PhoneNumber"))
421
469
  PhoneNumberInformation.add_member(:status, Shapes::ShapeRef.new(shape: String, location_name: "Status"))
422
470
  PhoneNumberInformation.add_member(:iso_2_country_code, Shapes::ShapeRef.new(shape: Iso2CountryCode, location_name: "Iso2CountryCode"))
423
471
  PhoneNumberInformation.add_member(:route_type, Shapes::ShapeRef.new(shape: RouteType, location_name: "RouteType"))
@@ -435,9 +483,35 @@ module Aws::SNS
435
483
  PlatformApplicationDisabledException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
436
484
  PlatformApplicationDisabledException.struct_class = Types::PlatformApplicationDisabledException
437
485
 
486
+ PublishBatchInput.add_member(:topic_arn, Shapes::ShapeRef.new(shape: topicARN, required: true, location_name: "TopicArn"))
487
+ PublishBatchInput.add_member(:publish_batch_request_entries, Shapes::ShapeRef.new(shape: PublishBatchRequestEntryList, required: true, location_name: "PublishBatchRequestEntries"))
488
+ PublishBatchInput.struct_class = Types::PublishBatchInput
489
+
490
+ PublishBatchRequestEntry.add_member(:id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Id"))
491
+ PublishBatchRequestEntry.add_member(:message, Shapes::ShapeRef.new(shape: message, required: true, location_name: "Message"))
492
+ PublishBatchRequestEntry.add_member(:subject, Shapes::ShapeRef.new(shape: subject, location_name: "Subject"))
493
+ PublishBatchRequestEntry.add_member(:message_structure, Shapes::ShapeRef.new(shape: messageStructure, location_name: "MessageStructure"))
494
+ PublishBatchRequestEntry.add_member(:message_attributes, Shapes::ShapeRef.new(shape: MessageAttributeMap, location_name: "MessageAttributes"))
495
+ PublishBatchRequestEntry.add_member(:message_deduplication_id, Shapes::ShapeRef.new(shape: String, location_name: "MessageDeduplicationId"))
496
+ PublishBatchRequestEntry.add_member(:message_group_id, Shapes::ShapeRef.new(shape: String, location_name: "MessageGroupId"))
497
+ PublishBatchRequestEntry.struct_class = Types::PublishBatchRequestEntry
498
+
499
+ PublishBatchRequestEntryList.member = Shapes::ShapeRef.new(shape: PublishBatchRequestEntry)
500
+
501
+ PublishBatchResponse.add_member(:successful, Shapes::ShapeRef.new(shape: PublishBatchResultEntryList, location_name: "Successful"))
502
+ PublishBatchResponse.add_member(:failed, Shapes::ShapeRef.new(shape: BatchResultErrorEntryList, location_name: "Failed"))
503
+ PublishBatchResponse.struct_class = Types::PublishBatchResponse
504
+
505
+ PublishBatchResultEntry.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "Id"))
506
+ PublishBatchResultEntry.add_member(:message_id, Shapes::ShapeRef.new(shape: messageId, location_name: "MessageId"))
507
+ PublishBatchResultEntry.add_member(:sequence_number, Shapes::ShapeRef.new(shape: String, location_name: "SequenceNumber"))
508
+ PublishBatchResultEntry.struct_class = Types::PublishBatchResultEntry
509
+
510
+ PublishBatchResultEntryList.member = Shapes::ShapeRef.new(shape: PublishBatchResultEntry)
511
+
438
512
  PublishInput.add_member(:topic_arn, Shapes::ShapeRef.new(shape: topicARN, location_name: "TopicArn"))
439
513
  PublishInput.add_member(:target_arn, Shapes::ShapeRef.new(shape: String, location_name: "TargetArn"))
440
- PublishInput.add_member(:phone_number, Shapes::ShapeRef.new(shape: String, location_name: "PhoneNumber"))
514
+ PublishInput.add_member(:phone_number, Shapes::ShapeRef.new(shape: PhoneNumber, location_name: "PhoneNumber"))
441
515
  PublishInput.add_member(:message, Shapes::ShapeRef.new(shape: message, required: true, location_name: "Message"))
442
516
  PublishInput.add_member(:subject, Shapes::ShapeRef.new(shape: subject, location_name: "Subject"))
443
517
  PublishInput.add_member(:message_structure, Shapes::ShapeRef.new(shape: messageStructure, location_name: "MessageStructure"))
@@ -450,10 +524,17 @@ module Aws::SNS
450
524
  PublishResponse.add_member(:sequence_number, Shapes::ShapeRef.new(shape: String, location_name: "SequenceNumber"))
451
525
  PublishResponse.struct_class = Types::PublishResponse
452
526
 
527
+ PutDataProtectionPolicyInput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: topicARN, required: true, location_name: "ResourceArn"))
528
+ PutDataProtectionPolicyInput.add_member(:data_protection_policy, Shapes::ShapeRef.new(shape: attributeValue, required: true, location_name: "DataProtectionPolicy"))
529
+ PutDataProtectionPolicyInput.struct_class = Types::PutDataProtectionPolicyInput
530
+
453
531
  RemovePermissionInput.add_member(:topic_arn, Shapes::ShapeRef.new(shape: topicARN, required: true, location_name: "TopicArn"))
454
532
  RemovePermissionInput.add_member(:label, Shapes::ShapeRef.new(shape: label, required: true, location_name: "Label"))
455
533
  RemovePermissionInput.struct_class = Types::RemovePermissionInput
456
534
 
535
+ ReplayLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
536
+ ReplayLimitExceededException.struct_class = Types::ReplayLimitExceededException
537
+
457
538
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
458
539
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
459
540
 
@@ -537,6 +618,9 @@ module Aws::SNS
537
618
  ThrottledException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
538
619
  ThrottledException.struct_class = Types::ThrottledException
539
620
 
621
+ TooManyEntriesInBatchRequestException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
622
+ TooManyEntriesInBatchRequestException.struct_class = Types::TooManyEntriesInBatchRequestException
623
+
540
624
  Topic.add_member(:topic_arn, Shapes::ShapeRef.new(shape: topicARN, location_name: "TopicArn"))
541
625
  Topic.struct_class = Types::Topic
542
626
 
@@ -581,8 +665,10 @@ module Aws::SNS
581
665
 
582
666
  api.metadata = {
583
667
  "apiVersion" => "2010-03-31",
668
+ "auth" => ["aws.auth#sigv4"],
584
669
  "endpointPrefix" => "sns",
585
670
  "protocol" => "query",
671
+ "protocols" => ["query"],
586
672
  "serviceAbbreviation" => "Amazon SNS",
587
673
  "serviceFullName" => "Amazon Simple Notification Service",
588
674
  "serviceId" => "SNS",
@@ -627,6 +713,7 @@ module Aws::SNS
627
713
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
628
714
  o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
629
715
  o.errors << Shapes::ShapeRef.new(shape: FilterPolicyLimitExceededException)
716
+ o.errors << Shapes::ShapeRef.new(shape: ReplayLimitExceededException)
630
717
  end)
631
718
 
632
719
  api.add_operation(:create_platform_application, Seahorse::Model::Operation.new.tap do |o|
@@ -726,6 +813,7 @@ module Aws::SNS
726
813
  o.input = Shapes::ShapeRef.new(shape: DeleteTopicInput)
727
814
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
728
815
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
816
+ o.errors << Shapes::ShapeRef.new(shape: InvalidStateException)
729
817
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
730
818
  o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
731
819
  o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
@@ -734,6 +822,19 @@ module Aws::SNS
734
822
  o.errors << Shapes::ShapeRef.new(shape: ConcurrentAccessException)
735
823
  end)
736
824
 
825
+ api.add_operation(:get_data_protection_policy, Seahorse::Model::Operation.new.tap do |o|
826
+ o.name = "GetDataProtectionPolicy"
827
+ o.http_method = "POST"
828
+ o.http_request_uri = "/"
829
+ o.input = Shapes::ShapeRef.new(shape: GetDataProtectionPolicyInput)
830
+ o.output = Shapes::ShapeRef.new(shape: GetDataProtectionPolicyResponse)
831
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
832
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
833
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
834
+ o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
835
+ o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
836
+ end)
837
+
737
838
  api.add_operation(:get_endpoint_attributes, Seahorse::Model::Operation.new.tap do |o|
738
839
  o.name = "GetEndpointAttributes"
739
840
  o.http_method = "POST"
@@ -988,6 +1089,48 @@ module Aws::SNS
988
1089
  o.errors << Shapes::ShapeRef.new(shape: KMSThrottlingException)
989
1090
  o.errors << Shapes::ShapeRef.new(shape: KMSAccessDeniedException)
990
1091
  o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
1092
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1093
+ end)
1094
+
1095
+ api.add_operation(:publish_batch, Seahorse::Model::Operation.new.tap do |o|
1096
+ o.name = "PublishBatch"
1097
+ o.http_method = "POST"
1098
+ o.http_request_uri = "/"
1099
+ o.input = Shapes::ShapeRef.new(shape: PublishBatchInput)
1100
+ o.output = Shapes::ShapeRef.new(shape: PublishBatchResponse)
1101
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1102
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1103
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1104
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1105
+ o.errors << Shapes::ShapeRef.new(shape: EndpointDisabledException)
1106
+ o.errors << Shapes::ShapeRef.new(shape: PlatformApplicationDisabledException)
1107
+ o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
1108
+ o.errors << Shapes::ShapeRef.new(shape: BatchEntryIdsNotDistinctException)
1109
+ o.errors << Shapes::ShapeRef.new(shape: BatchRequestTooLongException)
1110
+ o.errors << Shapes::ShapeRef.new(shape: EmptyBatchRequestException)
1111
+ o.errors << Shapes::ShapeRef.new(shape: InvalidBatchEntryIdException)
1112
+ o.errors << Shapes::ShapeRef.new(shape: TooManyEntriesInBatchRequestException)
1113
+ o.errors << Shapes::ShapeRef.new(shape: KMSDisabledException)
1114
+ o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
1115
+ o.errors << Shapes::ShapeRef.new(shape: KMSNotFoundException)
1116
+ o.errors << Shapes::ShapeRef.new(shape: KMSOptInRequired)
1117
+ o.errors << Shapes::ShapeRef.new(shape: KMSThrottlingException)
1118
+ o.errors << Shapes::ShapeRef.new(shape: KMSAccessDeniedException)
1119
+ o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
1120
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1121
+ end)
1122
+
1123
+ api.add_operation(:put_data_protection_policy, Seahorse::Model::Operation.new.tap do |o|
1124
+ o.name = "PutDataProtectionPolicy"
1125
+ o.http_method = "POST"
1126
+ o.http_request_uri = "/"
1127
+ o.input = Shapes::ShapeRef.new(shape: PutDataProtectionPolicyInput)
1128
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1129
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1130
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1131
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1132
+ o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
1133
+ o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
991
1134
  end)
992
1135
 
993
1136
  api.add_operation(:remove_permission, Seahorse::Model::Operation.new.tap do |o|
@@ -1046,6 +1189,7 @@ module Aws::SNS
1046
1189
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1047
1190
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1048
1191
  o.errors << Shapes::ShapeRef.new(shape: FilterPolicyLimitExceededException)
1192
+ o.errors << Shapes::ShapeRef.new(shape: ReplayLimitExceededException)
1049
1193
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1050
1194
  o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1051
1195
  o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
@@ -1072,6 +1216,7 @@ module Aws::SNS
1072
1216
  o.output = Shapes::ShapeRef.new(shape: SubscribeResponse)
1073
1217
  o.errors << Shapes::ShapeRef.new(shape: SubscriptionLimitExceededException)
1074
1218
  o.errors << Shapes::ShapeRef.new(shape: FilterPolicyLimitExceededException)
1219
+ o.errors << Shapes::ShapeRef.new(shape: ReplayLimitExceededException)
1075
1220
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1076
1221
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1077
1222
  o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::SNS
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::SNS
11
+ class EndpointProvider
12
+ def resolve_endpoint(parameters)
13
+ region = parameters.region
14
+ use_dual_stack = parameters.use_dual_stack
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
18
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
20
+ end
21
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
25
+ end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://sns-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
+ if Aws::Endpoints::Matchers.string_equals?(region, "us-gov-east-1")
37
+ return Aws::Endpoints::Endpoint.new(url: "https://sns.us-gov-east-1.amazonaws.com", headers: {}, properties: {})
38
+ end
39
+ if Aws::Endpoints::Matchers.string_equals?(region, "us-gov-west-1")
40
+ return Aws::Endpoints::Endpoint.new(url: "https://sns.us-gov-west-1.amazonaws.com", headers: {}, properties: {})
41
+ end
42
+ return Aws::Endpoints::Endpoint.new(url: "https://sns-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
45
+ end
46
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
47
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
48
+ return Aws::Endpoints::Endpoint.new(url: "https://sns.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
49
+ end
50
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
51
+ end
52
+ return Aws::Endpoints::Endpoint.new(url: "https://sns.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
53
+ end
54
+ end
55
+ raise ArgumentError, "Invalid Configuration: Missing Region"
56
+ raise ArgumentError, 'No endpoint could be resolved'
57
+
58
+ end
59
+ end
60
+ end