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
64 65 66 67 68 69 70 71 72 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 64 def create_platform_application( = {}) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.create_platform_application() end PlatformApplication.new( arn: resp.data.platform_application_arn, client: @client ) end |
#create_topic(options = {}) ⇒ Topic
187 188 189 190 191 192 193 194 195 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 187 def create_topic( = {}) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.create_topic() end Topic.new( arn: resp.data.topic_arn, client: @client ) end |
#platform_application(arn) ⇒ PlatformApplication
201 202 203 204 205 206 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 201 def platform_application(arn) PlatformApplication.new( arn: arn, client: @client ) end |
#platform_applications(options = {}) ⇒ PlatformApplication::Collection
213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 213 def platform_applications( = {}) batches = Enumerator.new do |y| resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') 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
234 235 236 237 238 239 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 234 def platform_endpoint(arn) PlatformEndpoint.new( arn: arn, client: @client ) end |
#subscription(arn) ⇒ Subscription
243 244 245 246 247 248 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 243 def subscription(arn) Subscription.new( arn: arn, client: @client ) end |
#subscriptions(options = {}) ⇒ Subscription::Collection
255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 255 def subscriptions( = {}) batches = Enumerator.new do |y| resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') 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
276 277 278 279 280 281 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 276 def topic(arn) Topic.new( arn: arn, client: @client ) end |
#topics(options = {}) ⇒ Topic::Collection
288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 |
# File 'gems/aws-sdk-sns/lib/aws-sdk-sns/resource.rb', line 288 def topics( = {}) batches = Enumerator.new do |y| resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') 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 |