Sha256: b5840fdf68355522760980b5ef939a55b943adc6ba29e0df77cede828d7660ec
Contents?: true
Size: 1.17 KB
Versions: 7
Compression:
Stored size: 1.17 KB
Contents
module Awspec::Type class SnsTopic < ResourceBase def initialize(topic_arn) super @topic_arn = topic_arn # lazy instantiation @subscriptions = nil end def subscriptions fetch_subscriptions @subscriptions.keys end def resource_via_client @resource_via_client ||= find_sns_topic(@topic_arn) end def id # A SNS Topic doesn't have an ID... @id ||= resource_via_client.topic_arn if resource_via_client end def has_subscription?(subscribed_arn) fetch_subscriptions @subscriptions.key?(subscribed_arn.to_sym) end def subscribed(subscribed_arn) subs_key = subscribed_arn.to_sym fetch_subscriptions raise "'#{subscribed_arn}' is not a valid subscription ARN" unless @subscriptions.key?(subs_key) @subscriptions[subs_key] end def method_missing(method_name) # delegates the method invocation to Awspec::Helper::Finder::SnsTopic::SnsTopic class @resource_via_client.send method_name end private def fetch_subscriptions @subscriptions = find_sns_topic_subs(@topic_arn) if @subscriptions.nil? @subscriptions end end end
Version data entries
7 entries across 7 versions & 1 rubygems