aws-sdk-sns 1.97.0 → 1.106.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.
@@ -17,15 +17,15 @@ module Aws::SNS
17
17
  ActionsList = Shapes::ListShape.new(name: 'ActionsList')
18
18
  AddPermissionInput = Shapes::StructureShape.new(name: 'AddPermissionInput')
19
19
  AmazonResourceName = Shapes::StringShape.new(name: 'AmazonResourceName')
20
- AuthorizationErrorException = Shapes::StructureShape.new(name: 'AuthorizationErrorException', error: {"code"=>"AuthorizationError", "httpStatusCode"=>403, "senderFault"=>true})
21
- BatchEntryIdsNotDistinctException = Shapes::StructureShape.new(name: 'BatchEntryIdsNotDistinctException', error: {"code"=>"BatchEntryIdsNotDistinct", "httpStatusCode"=>400, "senderFault"=>true})
22
- BatchRequestTooLongException = Shapes::StructureShape.new(name: 'BatchRequestTooLongException', error: {"code"=>"BatchRequestTooLong", "httpStatusCode"=>400, "senderFault"=>true})
20
+ AuthorizationErrorException = Shapes::StructureShape.new(name: 'AuthorizationErrorException', error: {"code" => "AuthorizationError", "httpStatusCode" => 403, "senderFault" => true})
21
+ BatchEntryIdsNotDistinctException = Shapes::StructureShape.new(name: 'BatchEntryIdsNotDistinctException', error: {"code" => "BatchEntryIdsNotDistinct", "httpStatusCode" => 400, "senderFault" => true})
22
+ BatchRequestTooLongException = Shapes::StructureShape.new(name: 'BatchRequestTooLongException', error: {"code" => "BatchRequestTooLong", "httpStatusCode" => 400, "senderFault" => true})
23
23
  BatchResultErrorEntry = Shapes::StructureShape.new(name: 'BatchResultErrorEntry')
24
24
  BatchResultErrorEntryList = Shapes::ListShape.new(name: 'BatchResultErrorEntryList')
25
25
  Binary = Shapes::BlobShape.new(name: 'Binary')
26
26
  CheckIfPhoneNumberIsOptedOutInput = Shapes::StructureShape.new(name: 'CheckIfPhoneNumberIsOptedOutInput')
27
27
  CheckIfPhoneNumberIsOptedOutResponse = Shapes::StructureShape.new(name: 'CheckIfPhoneNumberIsOptedOutResponse')
28
- ConcurrentAccessException = Shapes::StructureShape.new(name: 'ConcurrentAccessException', error: {"code"=>"ConcurrentAccess", "httpStatusCode"=>400, "senderFault"=>true})
28
+ ConcurrentAccessException = Shapes::StructureShape.new(name: 'ConcurrentAccessException', error: {"code" => "ConcurrentAccess", "httpStatusCode" => 400, "senderFault" => true})
29
29
  ConfirmSubscriptionInput = Shapes::StructureShape.new(name: 'ConfirmSubscriptionInput')
30
30
  ConfirmSubscriptionResponse = Shapes::StructureShape.new(name: 'ConfirmSubscriptionResponse')
31
31
  CreateEndpointResponse = Shapes::StructureShape.new(name: 'CreateEndpointResponse')
@@ -42,10 +42,10 @@ module Aws::SNS
42
42
  DeleteSMSSandboxPhoneNumberInput = Shapes::StructureShape.new(name: 'DeleteSMSSandboxPhoneNumberInput')
43
43
  DeleteSMSSandboxPhoneNumberResult = Shapes::StructureShape.new(name: 'DeleteSMSSandboxPhoneNumberResult')
44
44
  DeleteTopicInput = Shapes::StructureShape.new(name: 'DeleteTopicInput')
45
- EmptyBatchRequestException = Shapes::StructureShape.new(name: 'EmptyBatchRequestException', error: {"code"=>"EmptyBatchRequest", "httpStatusCode"=>400, "senderFault"=>true})
45
+ EmptyBatchRequestException = Shapes::StructureShape.new(name: 'EmptyBatchRequestException', error: {"code" => "EmptyBatchRequest", "httpStatusCode" => 400, "senderFault" => true})
46
46
  Endpoint = Shapes::StructureShape.new(name: 'Endpoint')
47
- EndpointDisabledException = Shapes::StructureShape.new(name: 'EndpointDisabledException', error: {"code"=>"EndpointDisabled", "httpStatusCode"=>400, "senderFault"=>true})
48
- FilterPolicyLimitExceededException = Shapes::StructureShape.new(name: 'FilterPolicyLimitExceededException', error: {"code"=>"FilterPolicyLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
47
+ EndpointDisabledException = Shapes::StructureShape.new(name: 'EndpointDisabledException', error: {"code" => "EndpointDisabled", "httpStatusCode" => 400, "senderFault" => true})
48
+ FilterPolicyLimitExceededException = Shapes::StructureShape.new(name: 'FilterPolicyLimitExceededException', error: {"code" => "FilterPolicyLimitExceeded", "httpStatusCode" => 403, "senderFault" => true})
49
49
  GetDataProtectionPolicyInput = Shapes::StructureShape.new(name: 'GetDataProtectionPolicyInput')
50
50
  GetDataProtectionPolicyResponse = Shapes::StructureShape.new(name: 'GetDataProtectionPolicyResponse')
51
51
  GetEndpointAttributesInput = Shapes::StructureShape.new(name: 'GetEndpointAttributesInput')
@@ -60,19 +60,19 @@ module Aws::SNS
60
60
  GetSubscriptionAttributesResponse = Shapes::StructureShape.new(name: 'GetSubscriptionAttributesResponse')
61
61
  GetTopicAttributesInput = Shapes::StructureShape.new(name: 'GetTopicAttributesInput')
62
62
  GetTopicAttributesResponse = Shapes::StructureShape.new(name: 'GetTopicAttributesResponse')
63
- InternalErrorException = Shapes::StructureShape.new(name: 'InternalErrorException', error: {"code"=>"InternalError", "httpStatusCode"=>500})
64
- InvalidBatchEntryIdException = Shapes::StructureShape.new(name: 'InvalidBatchEntryIdException', error: {"code"=>"InvalidBatchEntryId", "httpStatusCode"=>400, "senderFault"=>true})
65
- InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException', error: {"code"=>"InvalidParameter", "httpStatusCode"=>400, "senderFault"=>true})
66
- InvalidParameterValueException = Shapes::StructureShape.new(name: 'InvalidParameterValueException', error: {"code"=>"ParameterValueInvalid", "httpStatusCode"=>400, "senderFault"=>true})
67
- InvalidSecurityException = Shapes::StructureShape.new(name: 'InvalidSecurityException', error: {"code"=>"InvalidSecurity", "httpStatusCode"=>403, "senderFault"=>true})
68
- InvalidStateException = Shapes::StructureShape.new(name: 'InvalidStateException', error: {"code"=>"InvalidState", "httpStatusCode"=>400, "senderFault"=>true})
63
+ InternalErrorException = Shapes::StructureShape.new(name: 'InternalErrorException', error: {"code" => "InternalError", "httpStatusCode" => 500})
64
+ InvalidBatchEntryIdException = Shapes::StructureShape.new(name: 'InvalidBatchEntryIdException', error: {"code" => "InvalidBatchEntryId", "httpStatusCode" => 400, "senderFault" => true})
65
+ InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException', error: {"code" => "InvalidParameter", "httpStatusCode" => 400, "senderFault" => true})
66
+ InvalidParameterValueException = Shapes::StructureShape.new(name: 'InvalidParameterValueException', error: {"code" => "ParameterValueInvalid", "httpStatusCode" => 400, "senderFault" => true})
67
+ InvalidSecurityException = Shapes::StructureShape.new(name: 'InvalidSecurityException', error: {"code" => "InvalidSecurity", "httpStatusCode" => 403, "senderFault" => true})
68
+ InvalidStateException = Shapes::StructureShape.new(name: 'InvalidStateException', error: {"code" => "InvalidState", "httpStatusCode" => 400, "senderFault" => true})
69
69
  Iso2CountryCode = Shapes::StringShape.new(name: 'Iso2CountryCode')
70
- KMSAccessDeniedException = Shapes::StructureShape.new(name: 'KMSAccessDeniedException', error: {"code"=>"KMSAccessDenied", "httpStatusCode"=>400, "senderFault"=>true})
71
- KMSDisabledException = Shapes::StructureShape.new(name: 'KMSDisabledException', error: {"code"=>"KMSDisabled", "httpStatusCode"=>400, "senderFault"=>true})
72
- KMSInvalidStateException = Shapes::StructureShape.new(name: 'KMSInvalidStateException', error: {"code"=>"KMSInvalidState", "httpStatusCode"=>400, "senderFault"=>true})
73
- KMSNotFoundException = Shapes::StructureShape.new(name: 'KMSNotFoundException', error: {"code"=>"KMSNotFound", "httpStatusCode"=>400, "senderFault"=>true})
74
- KMSOptInRequired = Shapes::StructureShape.new(name: 'KMSOptInRequired', error: {"code"=>"KMSOptInRequired", "httpStatusCode"=>403, "senderFault"=>true})
75
- KMSThrottlingException = Shapes::StructureShape.new(name: 'KMSThrottlingException', error: {"code"=>"KMSThrottling", "httpStatusCode"=>400, "senderFault"=>true})
70
+ KMSAccessDeniedException = Shapes::StructureShape.new(name: 'KMSAccessDeniedException', error: {"code" => "KMSAccessDenied", "httpStatusCode" => 400, "senderFault" => true})
71
+ KMSDisabledException = Shapes::StructureShape.new(name: 'KMSDisabledException', error: {"code" => "KMSDisabled", "httpStatusCode" => 400, "senderFault" => true})
72
+ KMSInvalidStateException = Shapes::StructureShape.new(name: 'KMSInvalidStateException', error: {"code" => "KMSInvalidState", "httpStatusCode" => 400, "senderFault" => true})
73
+ KMSNotFoundException = Shapes::StructureShape.new(name: 'KMSNotFoundException', error: {"code" => "KMSNotFound", "httpStatusCode" => 400, "senderFault" => true})
74
+ KMSOptInRequired = Shapes::StructureShape.new(name: 'KMSOptInRequired', error: {"code" => "KMSOptInRequired", "httpStatusCode" => 403, "senderFault" => true})
75
+ KMSThrottlingException = Shapes::StructureShape.new(name: 'KMSThrottlingException', error: {"code" => "KMSThrottling", "httpStatusCode" => 400, "senderFault" => true})
76
76
  LanguageCodeString = Shapes::StringShape.new(name: 'LanguageCodeString')
77
77
  ListEndpointsByPlatformApplicationInput = Shapes::StructureShape.new(name: 'ListEndpointsByPlatformApplicationInput')
78
78
  ListEndpointsByPlatformApplicationResponse = Shapes::StructureShape.new(name: 'ListEndpointsByPlatformApplicationResponse')
@@ -100,20 +100,20 @@ module Aws::SNS
100
100
  MaxItemsListOriginationNumbers = Shapes::IntegerShape.new(name: 'MaxItemsListOriginationNumbers')
101
101
  MessageAttributeMap = Shapes::MapShape.new(name: 'MessageAttributeMap')
102
102
  MessageAttributeValue = Shapes::StructureShape.new(name: 'MessageAttributeValue')
103
- NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException', error: {"code"=>"NotFound", "httpStatusCode"=>404, "senderFault"=>true})
103
+ NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException', error: {"code" => "NotFound", "httpStatusCode" => 404, "senderFault" => true})
104
104
  NumberCapability = Shapes::StringShape.new(name: 'NumberCapability')
105
105
  NumberCapabilityList = Shapes::ListShape.new(name: 'NumberCapabilityList')
106
106
  OTPCode = Shapes::StringShape.new(name: 'OTPCode')
107
107
  OptInPhoneNumberInput = Shapes::StructureShape.new(name: 'OptInPhoneNumberInput')
108
108
  OptInPhoneNumberResponse = Shapes::StructureShape.new(name: 'OptInPhoneNumberResponse')
109
- OptedOutException = Shapes::StructureShape.new(name: 'OptedOutException', error: {"code"=>"OptedOut", "httpStatusCode"=>400, "senderFault"=>true})
109
+ OptedOutException = Shapes::StructureShape.new(name: 'OptedOutException', error: {"code" => "OptedOut", "httpStatusCode" => 400, "senderFault" => true})
110
110
  PhoneNumber = Shapes::StringShape.new(name: 'PhoneNumber')
111
111
  PhoneNumberInformation = Shapes::StructureShape.new(name: 'PhoneNumberInformation')
112
112
  PhoneNumberInformationList = Shapes::ListShape.new(name: 'PhoneNumberInformationList')
113
113
  PhoneNumberList = Shapes::ListShape.new(name: 'PhoneNumberList')
114
114
  PhoneNumberString = Shapes::StringShape.new(name: 'PhoneNumberString')
115
115
  PlatformApplication = Shapes::StructureShape.new(name: 'PlatformApplication')
116
- PlatformApplicationDisabledException = Shapes::StructureShape.new(name: 'PlatformApplicationDisabledException', error: {"code"=>"PlatformApplicationDisabled", "httpStatusCode"=>400, "senderFault"=>true})
116
+ PlatformApplicationDisabledException = Shapes::StructureShape.new(name: 'PlatformApplicationDisabledException', error: {"code" => "PlatformApplicationDisabled", "httpStatusCode" => 400, "senderFault" => true})
117
117
  PublishBatchInput = Shapes::StructureShape.new(name: 'PublishBatchInput')
118
118
  PublishBatchRequestEntry = Shapes::StructureShape.new(name: 'PublishBatchRequestEntry')
119
119
  PublishBatchRequestEntryList = Shapes::ListShape.new(name: 'PublishBatchRequestEntryList')
@@ -124,8 +124,8 @@ module Aws::SNS
124
124
  PublishResponse = Shapes::StructureShape.new(name: 'PublishResponse')
125
125
  PutDataProtectionPolicyInput = Shapes::StructureShape.new(name: 'PutDataProtectionPolicyInput')
126
126
  RemovePermissionInput = Shapes::StructureShape.new(name: 'RemovePermissionInput')
127
- ReplayLimitExceededException = Shapes::StructureShape.new(name: 'ReplayLimitExceededException', error: {"code"=>"ReplayLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
128
- ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException', error: {"code"=>"ResourceNotFound", "httpStatusCode"=>404, "senderFault"=>true})
127
+ ReplayLimitExceededException = Shapes::StructureShape.new(name: 'ReplayLimitExceededException', error: {"code" => "ReplayLimitExceeded", "httpStatusCode" => 403, "senderFault" => true})
128
+ ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException', error: {"code" => "ResourceNotFound", "httpStatusCode" => 404, "senderFault" => true})
129
129
  RouteType = Shapes::StringShape.new(name: 'RouteType')
130
130
  SMSSandboxPhoneNumber = Shapes::StructureShape.new(name: 'SMSSandboxPhoneNumber')
131
131
  SMSSandboxPhoneNumberList = Shapes::ListShape.new(name: 'SMSSandboxPhoneNumberList')
@@ -136,35 +136,35 @@ module Aws::SNS
136
136
  SetSMSAttributesResponse = Shapes::StructureShape.new(name: 'SetSMSAttributesResponse')
137
137
  SetSubscriptionAttributesInput = Shapes::StructureShape.new(name: 'SetSubscriptionAttributesInput')
138
138
  SetTopicAttributesInput = Shapes::StructureShape.new(name: 'SetTopicAttributesInput')
139
- StaleTagException = Shapes::StructureShape.new(name: 'StaleTagException', error: {"code"=>"StaleTag", "httpStatusCode"=>400, "senderFault"=>true})
139
+ StaleTagException = Shapes::StructureShape.new(name: 'StaleTagException', error: {"code" => "StaleTag", "httpStatusCode" => 400, "senderFault" => true})
140
140
  String = Shapes::StringShape.new(name: 'String')
141
141
  SubscribeInput = Shapes::StructureShape.new(name: 'SubscribeInput')
142
142
  SubscribeResponse = Shapes::StructureShape.new(name: 'SubscribeResponse')
143
143
  Subscription = Shapes::StructureShape.new(name: 'Subscription')
144
144
  SubscriptionAttributesMap = Shapes::MapShape.new(name: 'SubscriptionAttributesMap')
145
- SubscriptionLimitExceededException = Shapes::StructureShape.new(name: 'SubscriptionLimitExceededException', error: {"code"=>"SubscriptionLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
145
+ SubscriptionLimitExceededException = Shapes::StructureShape.new(name: 'SubscriptionLimitExceededException', error: {"code" => "SubscriptionLimitExceeded", "httpStatusCode" => 403, "senderFault" => true})
146
146
  SubscriptionsList = Shapes::ListShape.new(name: 'SubscriptionsList')
147
147
  Tag = Shapes::StructureShape.new(name: 'Tag')
148
148
  TagKey = Shapes::StringShape.new(name: 'TagKey')
149
149
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
150
- TagLimitExceededException = Shapes::StructureShape.new(name: 'TagLimitExceededException', error: {"code"=>"TagLimitExceeded", "httpStatusCode"=>400, "senderFault"=>true})
150
+ TagLimitExceededException = Shapes::StructureShape.new(name: 'TagLimitExceededException', error: {"code" => "TagLimitExceeded", "httpStatusCode" => 400, "senderFault" => true})
151
151
  TagList = Shapes::ListShape.new(name: 'TagList')
152
- TagPolicyException = Shapes::StructureShape.new(name: 'TagPolicyException', error: {"code"=>"TagPolicy", "httpStatusCode"=>400, "senderFault"=>true})
152
+ TagPolicyException = Shapes::StructureShape.new(name: 'TagPolicyException', error: {"code" => "TagPolicy", "httpStatusCode" => 400, "senderFault" => true})
153
153
  TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
154
154
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
155
155
  TagValue = Shapes::StringShape.new(name: 'TagValue')
156
- ThrottledException = Shapes::StructureShape.new(name: 'ThrottledException', error: {"code"=>"Throttled", "httpStatusCode"=>429, "senderFault"=>true})
156
+ ThrottledException = Shapes::StructureShape.new(name: 'ThrottledException', error: {"code" => "Throttled", "httpStatusCode" => 429, "senderFault" => true})
157
157
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
158
- TooManyEntriesInBatchRequestException = Shapes::StructureShape.new(name: 'TooManyEntriesInBatchRequestException', error: {"code"=>"TooManyEntriesInBatchRequest", "httpStatusCode"=>400, "senderFault"=>true})
158
+ TooManyEntriesInBatchRequestException = Shapes::StructureShape.new(name: 'TooManyEntriesInBatchRequestException', error: {"code" => "TooManyEntriesInBatchRequest", "httpStatusCode" => 400, "senderFault" => true})
159
159
  Topic = Shapes::StructureShape.new(name: 'Topic')
160
160
  TopicAttributesMap = Shapes::MapShape.new(name: 'TopicAttributesMap')
161
- TopicLimitExceededException = Shapes::StructureShape.new(name: 'TopicLimitExceededException', error: {"code"=>"TopicLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
161
+ TopicLimitExceededException = Shapes::StructureShape.new(name: 'TopicLimitExceededException', error: {"code" => "TopicLimitExceeded", "httpStatusCode" => 403, "senderFault" => true})
162
162
  TopicsList = Shapes::ListShape.new(name: 'TopicsList')
163
163
  UnsubscribeInput = Shapes::StructureShape.new(name: 'UnsubscribeInput')
164
164
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
165
165
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
166
- UserErrorException = Shapes::StructureShape.new(name: 'UserErrorException', error: {"code"=>"UserError", "httpStatusCode"=>400, "senderFault"=>true})
167
- ValidationException = Shapes::StructureShape.new(name: 'ValidationException', error: {"code"=>"ValidationException", "httpStatusCode"=>400, "senderFault"=>true})
166
+ UserErrorException = Shapes::StructureShape.new(name: 'UserErrorException', error: {"code" => "UserError", "httpStatusCode" => 400, "senderFault" => true})
167
+ ValidationException = Shapes::StructureShape.new(name: 'ValidationException', error: {"code" => "ValidationException", "httpStatusCode" => 400, "senderFault" => true})
168
168
  VerificationException = Shapes::StructureShape.new(name: 'VerificationException')
169
169
  VerifySMSSandboxPhoneNumberInput = Shapes::StructureShape.new(name: 'VerifySMSSandboxPhoneNumberInput')
170
170
  VerifySMSSandboxPhoneNumberResult = Shapes::StructureShape.new(name: 'VerifySMSSandboxPhoneNumberResult')
@@ -95,7 +95,6 @@ module Aws::SNS
95
95
  #
96
96
  # Additionally, error classes are dynamically generated for service errors based on the error code
97
97
  # if they are not defined above.
98
- # Some existing error classes may use a different class name than the one documented.
99
98
  module Errors
100
99
 
101
100
  extend Aws::Errors::DynamicErrors
@@ -266,15 +266,25 @@ module Aws::SNS
266
266
  # the two messages are treated as duplicates, within the deduplication
267
267
  # scope and interval, and only one copy of the message is delivered.
268
268
  # @option options [String] :message_group_id
269
- # This parameter applies only to FIFO (first-in-first-out) topics. The
270
- # `MessageGroupId` can contain up to 128 alphanumeric characters `(a-z,
271
- # A-Z, 0-9)` and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
272
- #
273
- # The `MessageGroupId` is a tag that specifies that a message belongs to
274
- # a specific message group. Messages that belong to the same message
275
- # group are processed in a FIFO manner (however, messages in different
276
- # message groups might be processed out of order). Every message must
277
- # include a `MessageGroupId`.
269
+ # The `MessageGroupId` can contain up to 128 alphanumeric characters
270
+ # `(a-z, A-Z, 0-9)` and punctuation ``
271
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
272
+ #
273
+ # For FIFO topics: The `MessageGroupId` is a tag that specifies that a
274
+ # message belongs to a specific message group. Messages that belong to
275
+ # the same message group are processed in a FIFO manner (however,
276
+ # messages in different message groups might be processed out of order).
277
+ # Every message must include a `MessageGroupId`.
278
+ #
279
+ # For standard topics: The `MessageGroupId` is optional and is forwarded
280
+ # only to Amazon SQS standard subscriptions to activate [fair
281
+ # queues][1]. The `MessageGroupId` is not used for, or sent to, any
282
+ # other endpoint types. When provided, the same validation rules apply
283
+ # as for FIFO topics.
284
+ #
285
+ #
286
+ #
287
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fair-queues.html
278
288
  # @return [Types::PublishResponse]
279
289
  def publish(options = {})
280
290
  options = options.merge(target_arn: @arn)
@@ -108,17 +108,9 @@ module Aws::SNS
108
108
  # * `DisplayName` – The display name to use for a topic with SMS
109
109
  # subscriptions.
110
110
  #
111
- # * `FifoTopic` – Set to true to create a FIFO topic.
112
- #
113
111
  # * `Policy` – The policy that defines who can access your topic. By
114
112
  # default, only the topic owner can publish or subscribe to the topic.
115
113
  #
116
- # * `SignatureVersion` – The signature version corresponds to the
117
- # hashing algorithm used while creating the signature of the
118
- # notifications, subscription confirmations, or unsubscribe
119
- # confirmation messages sent by Amazon SNS. By default,
120
- # `SignatureVersion` is set to `1`.
121
- #
122
114
  # * `TracingConfig` – Tracing mode of an Amazon SNS topic. By default
123
115
  # `TracingConfig` is set to `PassThrough`, and the topic passes
124
116
  # through the tracing header it receives from an Amazon SNS publisher
@@ -126,16 +118,104 @@ module Aws::SNS
126
118
  # segment data to topic owner account if the sampled flag in the
127
119
  # tracing header is true. This is only supported on standard topics.
128
120
  #
129
- # The following attribute applies only to [server-side encryption][1]:
121
+ # * HTTP
122
+ #
123
+ # * `HTTPSuccessFeedbackRoleArn` – Indicates successful message
124
+ # delivery status for an Amazon SNS topic that is subscribed to an
125
+ # HTTP endpoint.
126
+ #
127
+ # * `HTTPSuccessFeedbackSampleRate` – Indicates percentage of
128
+ # successful messages to sample for an Amazon SNS topic that is
129
+ # subscribed to an HTTP endpoint.
130
+ #
131
+ # * `HTTPFailureFeedbackRoleArn` – Indicates failed message delivery
132
+ # status for an Amazon SNS topic that is subscribed to an HTTP
133
+ # endpoint.
134
+ # * Amazon Data Firehose
135
+ #
136
+ # * `FirehoseSuccessFeedbackRoleArn` – Indicates successful message
137
+ # delivery status for an Amazon SNS topic that is subscribed to an
138
+ # Amazon Data Firehose endpoint.
139
+ #
140
+ # * `FirehoseSuccessFeedbackSampleRate` – Indicates percentage of
141
+ # successful messages to sample for an Amazon SNS topic that is
142
+ # subscribed to an Amazon Data Firehose endpoint.
143
+ #
144
+ # * `FirehoseFailureFeedbackRoleArn` – Indicates failed message
145
+ # delivery status for an Amazon SNS topic that is subscribed to an
146
+ # Amazon Data Firehose endpoint.
147
+ # * Lambda
148
+ #
149
+ # * `LambdaSuccessFeedbackRoleArn` – Indicates successful message
150
+ # delivery status for an Amazon SNS topic that is subscribed to an
151
+ # Lambda endpoint.
152
+ #
153
+ # * `LambdaSuccessFeedbackSampleRate` – Indicates percentage of
154
+ # successful messages to sample for an Amazon SNS topic that is
155
+ # subscribed to an Lambda endpoint.
156
+ #
157
+ # * `LambdaFailureFeedbackRoleArn` – Indicates failed message delivery
158
+ # status for an Amazon SNS topic that is subscribed to an Lambda
159
+ # endpoint.
160
+ # * Platform application endpoint
161
+ #
162
+ # * `ApplicationSuccessFeedbackRoleArn` – Indicates successful message
163
+ # delivery status for an Amazon SNS topic that is subscribed to a
164
+ # platform application endpoint.
165
+ #
166
+ # * `ApplicationSuccessFeedbackSampleRate` – Indicates percentage of
167
+ # successful messages to sample for an Amazon SNS topic that is
168
+ # subscribed to an platform application endpoint.
169
+ #
170
+ # * `ApplicationFailureFeedbackRoleArn` – Indicates failed message
171
+ # delivery status for an Amazon SNS topic that is subscribed to an
172
+ # platform application endpoint.
173
+ # <note markdown="1"> In addition to being able to configure topic attributes for message
174
+ # delivery status of notification messages sent to Amazon SNS
175
+ # application endpoints, you can also configure application attributes
176
+ # for the delivery status of push notification messages sent to push
177
+ # notification services.
178
+ #
179
+ # For example, For more information, see [Using Amazon SNS Application
180
+ # Attributes for Message Delivery Status][1].
181
+ #
182
+ # </note>
183
+ #
184
+ # * Amazon SQS
185
+ #
186
+ # * `SQSSuccessFeedbackRoleArn` – Indicates successful message
187
+ # delivery status for an Amazon SNS topic that is subscribed to an
188
+ # Amazon SQS endpoint.
189
+ #
190
+ # * `SQSSuccessFeedbackSampleRate` – Indicates percentage of
191
+ # successful messages to sample for an Amazon SNS topic that is
192
+ # subscribed to an Amazon SQS endpoint.
193
+ #
194
+ # * `SQSFailureFeedbackRoleArn` – Indicates failed message delivery
195
+ # status for an Amazon SNS topic that is subscribed to an Amazon SQS
196
+ # endpoint.
197
+ #
198
+ # <note markdown="1"> The &lt;ENDPOINT&gt;SuccessFeedbackRoleArn and
199
+ # &lt;ENDPOINT&gt;FailureFeedbackRoleArn attributes are used to give
200
+ # Amazon SNS write access to use CloudWatch Logs on your behalf. The
201
+ # &lt;ENDPOINT&gt;SuccessFeedbackSampleRate attribute is for specifying
202
+ # the sample rate percentage (0-100) of successfully delivered messages.
203
+ # After you configure the &lt;ENDPOINT&gt;FailureFeedbackRoleArn
204
+ # attribute, then all failed message deliveries generate CloudWatch
205
+ # Logs.
206
+ #
207
+ # </note>
208
+ #
209
+ # The following attribute applies only to [server-side encryption][2]:
130
210
  #
131
211
  # * `KmsMasterKeyId` – The ID of an Amazon Web Services managed customer
132
212
  # master key (CMK) for Amazon SNS or a custom CMK. For more
133
- # information, see [Key Terms][2]. For more examples, see [KeyId][3]
213
+ # information, see [Key Terms][3]. For more examples, see [KeyId][4]
134
214
  # in the *Key Management Service API Reference*.
135
215
  #
136
216
  # ^
137
217
  #
138
- # The following attributes apply only to [FIFO topics][4]:
218
+ # The following attributes apply only to [FIFO topics][5]:
139
219
  #
140
220
  # * `ArchivePolicy` – The policy that sets the retention period for
141
221
  # messages stored in the message archive of an Amazon SNS FIFO topic.
@@ -146,7 +226,7 @@ module Aws::SNS
146
226
  # * By default, `ContentBasedDeduplication` is set to `false`. If you
147
227
  # create a FIFO topic and this attribute is `false`, you must
148
228
  # specify a value for the `MessageDeduplicationId` parameter for the
149
- # [Publish][5] action.
229
+ # [Publish][6] action.
150
230
  #
151
231
  # * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
152
232
  # uses a SHA-256 hash to generate the `MessageDeduplicationId` using
@@ -169,17 +249,18 @@ module Aws::SNS
169
249
  # * `MessageGroup` – The scope of deduplication is within each
170
250
  # individual message group, which enables higher throughput per
171
251
  # topic subject to regional quotas. For more information on quotas
172
- # or to request an increase, see [Amazon SNS service quotas][6] in
252
+ # or to request an increase, see [Amazon SNS service quotas][7] in
173
253
  # the Amazon Web Services General Reference.
174
254
  #
175
255
  #
176
256
  #
177
- # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
178
- # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
179
- # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
180
- # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
181
- # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
182
- # [6]: https://docs.aws.amazon.com/general/latest/gr/sns.html
257
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.html
258
+ # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
259
+ # [3]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
260
+ # [4]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
261
+ # [5]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
262
+ # [6]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
263
+ # [7]: https://docs.aws.amazon.com/general/latest/gr/sns.html
183
264
  # @option options [Array<Types::Tag>] :tags
184
265
  # The list of tags to add to a new topic.
185
266
  #
@@ -394,15 +394,25 @@ module Aws::SNS
394
394
  # the two messages are treated as duplicates, within the deduplication
395
395
  # scope and interval, and only one copy of the message is delivered.
396
396
  # @option options [String] :message_group_id
397
- # This parameter applies only to FIFO (first-in-first-out) topics. The
398
- # `MessageGroupId` can contain up to 128 alphanumeric characters `(a-z,
399
- # A-Z, 0-9)` and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
400
- #
401
- # The `MessageGroupId` is a tag that specifies that a message belongs to
402
- # a specific message group. Messages that belong to the same message
403
- # group are processed in a FIFO manner (however, messages in different
404
- # message groups might be processed out of order). Every message must
405
- # include a `MessageGroupId`.
397
+ # The `MessageGroupId` can contain up to 128 alphanumeric characters
398
+ # `(a-z, A-Z, 0-9)` and punctuation ``
399
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
400
+ #
401
+ # For FIFO topics: The `MessageGroupId` is a tag that specifies that a
402
+ # message belongs to a specific message group. Messages that belong to
403
+ # the same message group are processed in a FIFO manner (however,
404
+ # messages in different message groups might be processed out of order).
405
+ # Every message must include a `MessageGroupId`.
406
+ #
407
+ # For standard topics: The `MessageGroupId` is optional and is forwarded
408
+ # only to Amazon SQS standard subscriptions to activate [fair
409
+ # queues][1]. The `MessageGroupId` is not used for, or sent to, any
410
+ # other endpoint types. When provided, the same validation rules apply
411
+ # as for FIFO topics.
412
+ #
413
+ #
414
+ #
415
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fair-queues.html
406
416
  # @return [Types::PublishResponse]
407
417
  def publish(options = {})
408
418
  options = options.merge(topic_arn: @arn)
@@ -442,10 +452,6 @@ module Aws::SNS
442
452
  # The following lists the names, descriptions, and values of the special
443
453
  # request parameters that the `SetTopicAttributes` action uses:
444
454
  #
445
- # * `ApplicationSuccessFeedbackRoleArn` – Indicates failed message
446
- # delivery status for an Amazon SNS topic that is subscribed to a
447
- # platform application endpoint.
448
- #
449
455
  # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
450
456
  # failed deliveries to HTTP/S endpoints.
451
457
  #
@@ -475,19 +481,19 @@ module Aws::SNS
475
481
  # * `HTTPFailureFeedbackRoleArn` – Indicates failed message delivery
476
482
  # status for an Amazon SNS topic that is subscribed to an HTTP
477
483
  # endpoint.
478
- # * Amazon Kinesis Data Firehose
484
+ # * Amazon Data Firehose
479
485
  #
480
486
  # * `FirehoseSuccessFeedbackRoleArn` – Indicates successful message
481
487
  # delivery status for an Amazon SNS topic that is subscribed to an
482
- # Amazon Kinesis Data Firehose endpoint.
488
+ # Amazon Data Firehose endpoint.
483
489
  #
484
490
  # * `FirehoseSuccessFeedbackSampleRate` – Indicates percentage of
485
491
  # successful messages to sample for an Amazon SNS topic that is
486
- # subscribed to an Amazon Kinesis Data Firehose endpoint.
492
+ # subscribed to an Amazon Data Firehose endpoint.
487
493
  #
488
494
  # * `FirehoseFailureFeedbackRoleArn` – Indicates failed message
489
495
  # delivery status for an Amazon SNS topic that is subscribed to an
490
- # Amazon Kinesis Data Firehose endpoint.
496
+ # Amazon Data Firehose endpoint.
491
497
  # * Lambda
492
498
  #
493
499
  # * `LambdaSuccessFeedbackRoleArn` – Indicates successful message
@@ -505,15 +511,15 @@ module Aws::SNS
505
511
  #
506
512
  # * `ApplicationSuccessFeedbackRoleArn` – Indicates successful message
507
513
  # delivery status for an Amazon SNS topic that is subscribed to an
508
- # Amazon Web Services application endpoint.
514
+ # platform application endpoint.
509
515
  #
510
516
  # * `ApplicationSuccessFeedbackSampleRate` – Indicates percentage of
511
517
  # successful messages to sample for an Amazon SNS topic that is
512
- # subscribed to an Amazon Web Services application endpoint.
518
+ # subscribed to an platform application endpoint.
513
519
  #
514
520
  # * `ApplicationFailureFeedbackRoleArn` – Indicates failed message
515
521
  # delivery status for an Amazon SNS topic that is subscribed to an
516
- # Amazon Web Services application endpoint.
522
+ # platform application endpoint.
517
523
  # <note markdown="1"> In addition to being able to configure topic attributes for message
518
524
  # delivery status of notification messages sent to Amazon SNS
519
525
  # application endpoints, you can also configure application attributes
@@ -651,8 +657,8 @@ module Aws::SNS
651
657
  #
652
658
  # * `lambda` – delivery of JSON-encoded message to an Lambda function
653
659
  #
654
- # * `firehose` – delivery of JSON-encoded message to an Amazon Kinesis
655
- # Data Firehose delivery stream.
660
+ # * `firehose` – delivery of JSON-encoded message to an Amazon Data
661
+ # Firehose delivery stream.
656
662
  # @option options [String] :endpoint
657
663
  # The endpoint that you want to receive notifications. Endpoints vary by
658
664
  # protocol:
@@ -680,7 +686,7 @@ module Aws::SNS
680
686
  # function.
681
687
  #
682
688
  # * For the `firehose` protocol, the endpoint is the ARN of an Amazon
683
- # Kinesis Data Firehose delivery stream.
689
+ # Data Firehose delivery stream.
684
690
  # @option options [Hash<String,String>] :attributes
685
691
  # A map of attributes with their corresponding values.
686
692
  #