Class: CloudFormation::Bridge::Executor
- Inherits:
-
Object
- Object
- CloudFormation::Bridge::Executor
- Includes:
- Names
- Defined in:
- lib/cloud_formation/bridge/executor.rb
Constant Summary collapse
- DEFAULT_REGISTRY =
{ "Custom::SubscribeSQSQueueToSNSTopic" => CloudFormation::Bridge::Resources::SubscribeQueueToTopic.new, "Custom::CloudFormationOutputs" => CloudFormation::Bridge::Resources::CloudFormationOutputs.new, }
Instance Attribute Summary collapse
-
#registry ⇒ Object
readonly
Returns the value of attribute registry.
Instance Method Summary collapse
- #execute(request) ⇒ Object
-
#initialize(registry = DEFAULT_REGISTRY) ⇒ Executor
constructor
A new instance of Executor.
Constructor Details
#initialize(registry = DEFAULT_REGISTRY) ⇒ Executor
Returns a new instance of Executor.
21 22 23 |
# File 'lib/cloud_formation/bridge/executor.rb', line 21 def initialize(registry = DEFAULT_REGISTRY) @registry = registry end |
Instance Attribute Details
#registry ⇒ Object (readonly)
Returns the value of attribute registry.
19 20 21 |
# File 'lib/cloud_formation/bridge/executor.rb', line 19 def registry @registry end |
Instance Method Details
#execute(request) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/cloud_formation/bridge/executor.rb', line 25 def execute(request) begin if resource = registry[request.resource_type] response = if request.create? resource.create(request) elsif request.update? resource.update(request) else resource.delete(request) end request.succeed!(response) else request.fail!("Don't know what to do with resource #{request.resource_type}") end rescue => ex ExceptionNotifier.report_exception(ex, request.request) request.fail!(ex.) end end |