Class: CloudFormation::Bridge::Resources::SubscribeQueueToTopic
- Defined in:
- lib/cloud_formation/bridge/resources/subscribe_queue_to_topic.rb
Constant Summary collapse
- ARN =
'Arn'- ENDPOINT =
'Endpoint'- PROTOCOL =
'Protocol'- TOPIC_ARN =
'TopicArn'- QUEUE_NAME =
'QueueName'- RAW_MESSAGE_DELIVERY =
'RawMessageDelivery'- REQUIRED_FIELDS =
[ TOPIC_ARN, QUEUE_NAME, ]
Instance Method Summary collapse
- #create(request) ⇒ Object
- #delete(request) ⇒ Object
- #queues ⇒ Object
- #sns ⇒ Object
- #subscriptions ⇒ Object
- #topics ⇒ Object
Methods inherited from Base
Instance Method Details
#create(request) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/cloud_formation/bridge/resources/subscribe_queue_to_topic.rb', line 24 def create(request) require_fields(request, REQUIRED_FIELDS) queue = queues.named(request.resource_properties[QUEUE_NAME]) topic = topics[request.resource_properties[TOPIC_ARN]] subscription = topic.subscribe(queue) if request.resource_properties[RAW_MESSAGE_DELIVERY] subscription. = true end { FIELDS::PHYSICAL_RESOURCE_ID => subscription.arn, FIELDS::DATA => { ARN => subscription.arn, ENDPOINT => subscription.endpoint, PROTOCOL => subscription.protocol, }, } end |
#delete(request) ⇒ Object
46 47 48 49 |
# File 'lib/cloud_formation/bridge/resources/subscribe_queue_to_topic.rb', line 46 def delete(request) subscription = subscriptions[request.physical_resource_id] subscription.unsubscribe if subscription && subscription.exists? end |
#queues ⇒ Object
63 64 65 |
# File 'lib/cloud_formation/bridge/resources/subscribe_queue_to_topic.rb', line 63 def queues @queues ||= AWS::SQS.new.queues end |
#sns ⇒ Object
59 60 61 |
# File 'lib/cloud_formation/bridge/resources/subscribe_queue_to_topic.rb', line 59 def sns @sns ||= AWS::SNS.new end |
#subscriptions ⇒ Object
55 56 57 |
# File 'lib/cloud_formation/bridge/resources/subscribe_queue_to_topic.rb', line 55 def subscriptions @subscriptions ||= sns.subscriptions end |
#topics ⇒ Object
51 52 53 |
# File 'lib/cloud_formation/bridge/resources/subscribe_queue_to_topic.rb', line 51 def topics @topics ||= sns.topics end |