Class: Aws::SNS::Resource
- Inherits:
-
Object
- Object
- Aws::SNS::Resource
- Defined in:
- gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb
Overview
This class provides a resource oriented interface for SNS. To create a resource object:
resource = Aws::SNS::Resource.new(region: 'us-west-2')
You can supply a client object with custom configuration that will be used for all resource operations.
If you do not pass :client
, a default client will be constructed.
client = Aws::SNS::Client.new(region: 'us-west-2')
resource = Aws::SNS::Resource.new(client: client)
Actions collapse
-
#create_platform_application(options = {}) ⇒ PlatformApplication
-
#create_topic(options = {}) ⇒ Topic
Associations collapse
-
#platform_application(arn) ⇒ PlatformApplication
-
#platform_applications(options = {}) ⇒ PlatformApplication::Collection
-
#platform_endpoint(arn) ⇒ PlatformEndpoint
-
#subscription(arn) ⇒ Subscription
-
#subscriptions(options = {}) ⇒ Subscription::Collection
-
#topic(arn) ⇒ Topic
-
#topics(options = {}) ⇒ Topic::Collection
Instance Method Summary collapse
-
#client ⇒ Client
-
#initialize(options = {}) ⇒ Resource
constructor
A new instance of Resource.
Constructor Details
Instance Method Details
#client ⇒ Client
32 33 34 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 32 def client @client end |
#create_platform_application(options = {}) ⇒ PlatformApplication
63 64 65 66 67 68 69 70 71 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 63 def create_platform_application( = {}) resp = Aws::Plugins::UserAgent.feature('resource') do @client.create_platform_application() end PlatformApplication.new( arn: resp.data.platform_application_arn, client: @client ) end |
#create_topic(options = {}) ⇒ Topic
180 181 182 183 184 185 186 187 188 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 180 def create_topic( = {}) resp = Aws::Plugins::UserAgent.feature('resource') do @client.create_topic() end Topic.new( arn: resp.data.topic_arn, client: @client ) end |
#platform_application(arn) ⇒ PlatformApplication
194 195 196 197 198 199 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 194 def platform_application(arn) PlatformApplication.new( arn: arn, client: @client ) end |
#platform_applications(options = {}) ⇒ PlatformApplication::Collection
206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 206 def platform_applications( = {}) batches = Enumerator.new do |y| resp = Aws::Plugins::UserAgent.feature('resource') do @client.list_platform_applications() end resp.each_page do |page| batch = [] page.data.platform_applications.each do |p| batch << PlatformApplication.new( arn: p.platform_application_arn, client: @client ) end y.yield(batch) end end PlatformApplication::Collection.new(batches) end |
#platform_endpoint(arn) ⇒ PlatformEndpoint
227 228 229 230 231 232 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 227 def platform_endpoint(arn) PlatformEndpoint.new( arn: arn, client: @client ) end |
#subscription(arn) ⇒ Subscription
236 237 238 239 240 241 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 236 def subscription(arn) Subscription.new( arn: arn, client: @client ) end |
#subscriptions(options = {}) ⇒ Subscription::Collection
248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 248 def subscriptions( = {}) batches = Enumerator.new do |y| resp = Aws::Plugins::UserAgent.feature('resource') do @client.list_subscriptions() end resp.each_page do |page| batch = [] page.data.subscriptions.each do |s| batch << Subscription.new( arn: s.subscription_arn, client: @client ) end y.yield(batch) end end Subscription::Collection.new(batches) end |
#topic(arn) ⇒ Topic
269 270 271 272 273 274 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 269 def topic(arn) Topic.new( arn: arn, client: @client ) end |
#topics(options = {}) ⇒ Topic::Collection
281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 281 def topics( = {}) batches = Enumerator.new do |y| resp = Aws::Plugins::UserAgent.feature('resource') do @client.list_topics() end resp.each_page do |page| batch = [] page.data.topics.each do |t| batch << Topic.new( arn: t.topic_arn, client: @client ) end y.yield(batch) end end Topic::Collection.new(batches) end |