Class: StackMaster::ParameterResolvers::StackOutput
- Inherits:
-
Object
- Object
- StackMaster::ParameterResolvers::StackOutput
- Defined in:
- lib/stack_master/parameter_resolvers/stack_output.rb
Constant Summary collapse
- StackNotFound =
Class.new(StandardError)
- StackOutputNotFound =
Class.new(StandardError)
Instance Method Summary collapse
-
#initialize(config, stack_definition) ⇒ StackOutput
constructor
A new instance of StackOutput.
- #resolve(value) ⇒ Object
Constructor Details
#initialize(config, stack_definition) ⇒ StackOutput
Returns a new instance of StackOutput.
7 8 9 10 11 |
# File 'lib/stack_master/parameter_resolvers/stack_output.rb', line 7 def initialize(config, stack_definition) @config = config @stack_definition = stack_definition @stacks = {} end |
Instance Method Details
#resolve(value) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/stack_master/parameter_resolvers/stack_output.rb', line 13 def resolve(value) validate_value!(value) stack_name, output_name = value.split('/') stack = find_stack(stack_name) if stack output = stack.outputs.find { |output| output.output_key == output_name.camelize } if output output.output_value else raise StackOutputNotFound, "Stack exists (#{stack_name}), but output does not: #{output_name}" end else raise StackNotFound, "Stack in StackOutput not found: #{value}" end end |