aws-sdk-sns 1.42.0 → 1.77.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +182 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-sns/client.rb +684 -180
- data/lib/aws-sdk-sns/client_api.rb +173 -28
- data/lib/aws-sdk-sns/endpoint_parameters.rb +66 -0
- data/lib/aws-sdk-sns/endpoint_provider.rb +60 -0
- data/lib/aws-sdk-sns/endpoints.rb +604 -0
- data/lib/aws-sdk-sns/errors.rb +112 -0
- data/lib/aws-sdk-sns/message_verifier.rb +32 -5
- data/lib/aws-sdk-sns/platform_application.rb +76 -13
- data/lib/aws-sdk-sns/platform_endpoint.rb +18 -11
- data/lib/aws-sdk-sns/plugins/endpoints.rb +154 -0
- data/lib/aws-sdk-sns/resource.rb +49 -10
- data/lib/aws-sdk-sns/subscription.rb +39 -18
- data/lib/aws-sdk-sns/topic.rb +220 -41
- data/lib/aws-sdk-sns/types.rb +793 -479
- data/lib/aws-sdk-sns.rb +5 -1
- data/sig/client.rbs +525 -0
- data/sig/errors.rbs +119 -0
- data/sig/platform_application.rbs +64 -0
- data/sig/platform_endpoint.rbs +68 -0
- data/sig/resource.rbs +128 -0
- data/sig/subscription.rbs +52 -0
- data/sig/topic.rbs +104 -0
- data/sig/types.rbs +664 -0
- data/sig/waiters.rbs +13 -0
- metadata +22 -9
data/lib/aws-sdk-sns/resource.rb
CHANGED
@@ -54,14 +54,17 @@ module Aws::SNS
|
|
54
54
|
# APNS (Apple Push Notification Service), APNS\_SANDBOX, and GCM
|
55
55
|
# (Firebase Cloud Messaging).
|
56
56
|
# @option options [required, Hash<String,String>] :attributes
|
57
|
-
# For a list of attributes, see [SetPlatformApplicationAttributes
|
57
|
+
# For a list of attributes, see [ `SetPlatformApplicationAttributes`
|
58
|
+
# ][1].
|
58
59
|
#
|
59
60
|
#
|
60
61
|
#
|
61
62
|
# [1]: https://docs.aws.amazon.com/sns/latest/api/API_SetPlatformApplicationAttributes.html
|
62
63
|
# @return [PlatformApplication]
|
63
64
|
def create_platform_application(options = {})
|
64
|
-
resp =
|
65
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
66
|
+
@client.create_platform_application(options)
|
67
|
+
end
|
65
68
|
PlatformApplication.new(
|
66
69
|
arn: resp.data.platform_application_arn,
|
67
70
|
client: @client
|
@@ -81,6 +84,7 @@ module Aws::SNS
|
|
81
84
|
# value: "TagValue", # required
|
82
85
|
# },
|
83
86
|
# ],
|
87
|
+
# data_protection_policy: "attributeValue",
|
84
88
|
# })
|
85
89
|
# @param [Hash] options ({})
|
86
90
|
# @option options [required, String] :name
|
@@ -95,7 +99,7 @@ module Aws::SNS
|
|
95
99
|
# @option options [Hash<String,String>] :attributes
|
96
100
|
# A map of attributes with their corresponding values.
|
97
101
|
#
|
98
|
-
# The following lists
|
102
|
+
# The following lists names, descriptions, and values of the special
|
99
103
|
# request parameters that the `CreateTopic` action uses:
|
100
104
|
#
|
101
105
|
# * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
|
@@ -109,7 +113,20 @@ module Aws::SNS
|
|
109
113
|
# * `Policy` – The policy that defines who can access your topic. By
|
110
114
|
# default, only the topic owner can publish or subscribe to the topic.
|
111
115
|
#
|
112
|
-
# The
|
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
|
+
# * `TracingConfig` – Tracing mode of an Amazon SNS topic. By default
|
123
|
+
# `TracingConfig` is set to `PassThrough`, and the topic passes
|
124
|
+
# through the tracing header it receives from an Amazon SNS publisher
|
125
|
+
# to its subscriptions. If set to `Active`, Amazon SNS will vend X-Ray
|
126
|
+
# segment data to topic owner account if the sampled flag in the
|
127
|
+
# tracing header is true. This is only supported on standard topics.
|
128
|
+
#
|
129
|
+
# The following attribute applies only to [server-side encryption][1]:
|
113
130
|
#
|
114
131
|
# * `KmsMasterKeyId` – The ID of an Amazon Web Services managed customer
|
115
132
|
# master key (CMK) for Amazon SNS or a custom CMK. For more
|
@@ -118,9 +135,15 @@ module Aws::SNS
|
|
118
135
|
#
|
119
136
|
# ^
|
120
137
|
#
|
121
|
-
# The following attributes apply only to [FIFO topics][4]
|
138
|
+
# The following attributes apply only to [FIFO topics][4]:
|
122
139
|
#
|
123
|
-
# * `
|
140
|
+
# * `ArchivePolicy` – Adds or updates an inline policy document to
|
141
|
+
# archive messages stored in the specified Amazon SNS topic.
|
142
|
+
#
|
143
|
+
# * `BeginningArchiveTime` – The earliest starting point at which a
|
144
|
+
# message in the topic’s archive can be replayed from. This point in
|
145
|
+
# time is based on the configured message retention period set by the
|
146
|
+
# topic’s message archiving policy.
|
124
147
|
#
|
125
148
|
# * `ContentBasedDeduplication` – Enables content-based deduplication
|
126
149
|
# for FIFO topics.
|
@@ -152,9 +175,19 @@ module Aws::SNS
|
|
152
175
|
# `sns:CreateTopic` and `sns:TagResource` permissions.
|
153
176
|
#
|
154
177
|
# </note>
|
178
|
+
# @option options [String] :data_protection_policy
|
179
|
+
# The body of the policy document you want to use for this topic.
|
180
|
+
#
|
181
|
+
# You can only add one policy per topic.
|
182
|
+
#
|
183
|
+
# The policy must be in JSON string format.
|
184
|
+
#
|
185
|
+
# Length Constraints: Maximum length of 30,720.
|
155
186
|
# @return [Topic]
|
156
187
|
def create_topic(options = {})
|
157
|
-
resp =
|
188
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
189
|
+
@client.create_topic(options)
|
190
|
+
end
|
158
191
|
Topic.new(
|
159
192
|
arn: resp.data.topic_arn,
|
160
193
|
client: @client
|
@@ -179,7 +212,9 @@ module Aws::SNS
|
|
179
212
|
# @return [PlatformApplication::Collection]
|
180
213
|
def platform_applications(options = {})
|
181
214
|
batches = Enumerator.new do |y|
|
182
|
-
resp =
|
215
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
216
|
+
@client.list_platform_applications(options)
|
217
|
+
end
|
183
218
|
resp.each_page do |page|
|
184
219
|
batch = []
|
185
220
|
page.data.platform_applications.each do |p|
|
@@ -219,7 +254,9 @@ module Aws::SNS
|
|
219
254
|
# @return [Subscription::Collection]
|
220
255
|
def subscriptions(options = {})
|
221
256
|
batches = Enumerator.new do |y|
|
222
|
-
resp =
|
257
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
258
|
+
@client.list_subscriptions(options)
|
259
|
+
end
|
223
260
|
resp.each_page do |page|
|
224
261
|
batch = []
|
225
262
|
page.data.subscriptions.each do |s|
|
@@ -250,7 +287,9 @@ module Aws::SNS
|
|
250
287
|
# @return [Topic::Collection]
|
251
288
|
def topics(options = {})
|
252
289
|
batches = Enumerator.new do |y|
|
253
|
-
resp =
|
290
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
291
|
+
@client.list_topics(options)
|
292
|
+
end
|
254
293
|
resp.each_page do |page|
|
255
294
|
batch = []
|
256
295
|
page.data.topics.each do |t|
|
@@ -51,7 +51,16 @@ module Aws::SNS
|
|
51
51
|
# subscription. For more information, see [Amazon SNS Message
|
52
52
|
# Filtering][1] in the *Amazon SNS Developer Guide*.
|
53
53
|
#
|
54
|
-
# * `
|
54
|
+
# * `FilterPolicyScope` – This attribute lets you choose the filtering
|
55
|
+
# scope by using one of the following string value types:
|
56
|
+
#
|
57
|
+
# * `MessageAttributes` (default) – The filter is applied on the
|
58
|
+
# message attributes.
|
59
|
+
#
|
60
|
+
# * `MessageBody` – The filter is applied on the message body.
|
61
|
+
#
|
62
|
+
# * `Owner` – The Amazon Web Services account ID of the subscription's
|
63
|
+
# owner.
|
55
64
|
#
|
56
65
|
# * `PendingConfirmation` – `true` if the subscription hasn't been
|
57
66
|
# confirmed. To confirm a pending subscription, call the
|
@@ -72,20 +81,19 @@ module Aws::SNS
|
|
72
81
|
#
|
73
82
|
# * `TopicArn` – The topic ARN that the subscription is associated with.
|
74
83
|
#
|
75
|
-
# The following attribute applies only to Amazon
|
76
|
-
#
|
84
|
+
# The following attribute applies only to Amazon Data Firehose delivery
|
85
|
+
# stream subscriptions:
|
77
86
|
#
|
78
87
|
# * `SubscriptionRoleArn` – The ARN of the IAM role that has the
|
79
88
|
# following:
|
80
89
|
#
|
81
|
-
# * Permission to write to the
|
90
|
+
# * Permission to write to the Firehose delivery stream
|
82
91
|
#
|
83
92
|
# * Amazon SNS listed as a trusted entity
|
84
93
|
#
|
85
|
-
# Specifying a valid ARN for this attribute is required for
|
86
|
-
#
|
87
|
-
#
|
88
|
-
# *Amazon SNS Developer Guide*.
|
94
|
+
# Specifying a valid ARN for this attribute is required for Firehose
|
95
|
+
# delivery stream subscriptions. For more information, see [Fanout to
|
96
|
+
# Firehose delivery streams][2] in the *Amazon SNS Developer Guide*.
|
89
97
|
#
|
90
98
|
#
|
91
99
|
#
|
@@ -110,7 +118,9 @@ module Aws::SNS
|
|
110
118
|
#
|
111
119
|
# @return [self]
|
112
120
|
def load
|
113
|
-
resp =
|
121
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
122
|
+
@client.get_subscription_attributes(subscription_arn: @arn)
|
123
|
+
end
|
114
124
|
@data = resp.data
|
115
125
|
self
|
116
126
|
end
|
@@ -140,7 +150,9 @@ module Aws::SNS
|
|
140
150
|
# @return [EmptyStructure]
|
141
151
|
def delete(options = {})
|
142
152
|
options = options.merge(subscription_arn: @arn)
|
143
|
-
resp =
|
153
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
154
|
+
@client.unsubscribe(options)
|
155
|
+
end
|
144
156
|
resp.data
|
145
157
|
end
|
146
158
|
|
@@ -164,6 +176,14 @@ module Aws::SNS
|
|
164
176
|
# receive only a subset of messages, rather than receiving every
|
165
177
|
# message published to the topic.
|
166
178
|
#
|
179
|
+
# * `FilterPolicyScope` – This attribute lets you choose the filtering
|
180
|
+
# scope by using one of the following string value types:
|
181
|
+
#
|
182
|
+
# * `MessageAttributes` (default) – The filter is applied on the
|
183
|
+
# message attributes.
|
184
|
+
#
|
185
|
+
# * `MessageBody` – The filter is applied on the message body.
|
186
|
+
#
|
167
187
|
# * `RawMessageDelivery` – When set to `true`, enables raw message
|
168
188
|
# delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need
|
169
189
|
# for the endpoints to process JSON formatting, which is otherwise
|
@@ -176,20 +196,19 @@ module Aws::SNS
|
|
176
196
|
# service that powers the subscribed endpoint becomes unavailable) are
|
177
197
|
# held in the dead-letter queue for further analysis or reprocessing.
|
178
198
|
#
|
179
|
-
# The following attribute applies only to Amazon
|
180
|
-
#
|
199
|
+
# The following attribute applies only to Amazon Data Firehose delivery
|
200
|
+
# stream subscriptions:
|
181
201
|
#
|
182
202
|
# * `SubscriptionRoleArn` – The ARN of the IAM role that has the
|
183
203
|
# following:
|
184
204
|
#
|
185
|
-
# * Permission to write to the
|
205
|
+
# * Permission to write to the Firehose delivery stream
|
186
206
|
#
|
187
207
|
# * Amazon SNS listed as a trusted entity
|
188
208
|
#
|
189
|
-
# Specifying a valid ARN for this attribute is required for
|
190
|
-
#
|
191
|
-
#
|
192
|
-
# *Amazon SNS Developer Guide*.
|
209
|
+
# Specifying a valid ARN for this attribute is required for Firehose
|
210
|
+
# delivery stream subscriptions. For more information, see [Fanout to
|
211
|
+
# Firehose delivery streams][1] in the *Amazon SNS Developer Guide*.
|
193
212
|
#
|
194
213
|
#
|
195
214
|
#
|
@@ -199,7 +218,9 @@ module Aws::SNS
|
|
199
218
|
# @return [EmptyStructure]
|
200
219
|
def set_attributes(options = {})
|
201
220
|
options = options.merge(subscription_arn: @arn)
|
202
|
-
resp =
|
221
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
222
|
+
@client.set_subscription_attributes(options)
|
223
|
+
end
|
203
224
|
resp.data
|
204
225
|
end
|
205
226
|
|