class Awspec::Type::SnsTopic
Public Class Methods
Source
# File lib/awspec/type/sns_topic.rb, line 5 def initialize(topic_arn) super @topic_arn = topic_arn # lazy instantiation @subscriptions = nil end
Calls superclass method
Awspec::Type::ResourceBase::new
Public Instance Methods
Source
# File lib/awspec/type/sns_topic.rb, line 26 def has_subscription?(subscribed_arn) fetch_subscriptions @subscriptions.key?(subscribed_arn.to_sym) end
Source
# File lib/awspec/type/sns_topic.rb, line 21 def id # A SNS Topic doesn't have an ID... @id ||= resource_via_client.topic_arn if resource_via_client end
Source
# File lib/awspec/type/sns_topic.rb, line 39 def method_missing(method_name) check_existence # delegates the method invocation to Awspec::Helper::Finder::SnsTopic::SnsTopic class @resource_via_client.send method_name end
Source
# File lib/awspec/type/sns_topic.rb, line 17 def resource_via_client @resource_via_client ||= find_sns_topic(@topic_arn) end
Source
# File lib/awspec/type/sns_topic.rb, line 31 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
Source
# File lib/awspec/type/sns_topic.rb, line 12 def subscriptions fetch_subscriptions @subscriptions.keys end
Private Instance Methods
Source
# File lib/awspec/type/sns_topic.rb, line 47 def fetch_subscriptions @subscriptions = find_sns_topic_subs(@topic_arn) if @subscriptions.nil? raise Awspec::NoExistingResource.new(self.class, @display_name) if @subscriptions.nil? @subscriptions end