class Stacco::Layer
Attributes
config[R]
name[R]
stack[R]
Public Class Methods
load(stack, name)
click to toggle source
# File lib/stacco/layer.rb, line 4 def self.load(stack, name) self.new(stack, name, Stacco::Resources::LayerTemplates[name]) end
new(stack, name, config)
click to toggle source
# File lib/stacco/layer.rb, line 8 def initialize(stack, name, config) @stack = stack @name = name.gsub(/^task-/, '') @is_task = (not name.scan(/^task-/).empty?) @config = config end
Public Instance Methods
condition_definitions()
click to toggle source
# File lib/stacco/layer.rb, line 58 def condition_definitions @config['Conditions'] || {} end
enabled?()
click to toggle source
# File lib/stacco/layer.rb, line 15 def enabled? @stack.enabled_layer_names.include? self.name end
full_name()
click to toggle source
# File lib/stacco/layer.rb, line 33 def full_name [@stack.name, self.name].join('/') end
has_live_resources?()
click to toggle source
# File lib/stacco/layer.rb, line 41 def has_live_resources? not self.resource_summaries.empty? end
inspect()
click to toggle source
# File lib/stacco/layer.rb, line 37 def inspect "#<layer #{self.full_name}: #{self.resource_definitions.length} resource(s) defined>" end
output_definitions()
click to toggle source
# File lib/stacco/layer.rb, line 71 def output_definitions @config['Outputs'] || {} end
parameter_definitions()
click to toggle source
# File lib/stacco/layer.rb, line 75 def parameter_definitions @config['Parameters'] || {} end
resource_definitions()
click to toggle source
# File lib/stacco/layer.rb, line 62 def resource_definitions @config['Resources'] || {} end
resource_summaries()
click to toggle source
# File lib/stacco/layer.rb, line 66 def resource_summaries provided_resource_names = self.resource_definitions.keys @stack.resource_summaries.find_all{ |rsum| provided_resource_names.include? rsum[:logical_resource_id] } end
service?()
click to toggle source
# File lib/stacco/layer.rb, line 25 def service? not @is_task end
state()
click to toggle source
# File lib/stacco/layer.rb, line 45 def state case [self.enabled?, self.has_live_resources?] when [false, false] :down when [false, true] :zombie when [true, false] :queued when [true, true] :healthy end end
task?()
click to toggle source
# File lib/stacco/layer.rb, line 21 def task? @is_task end
to_s()
click to toggle source
# File lib/stacco/layer.rb, line 29 def to_s [('task' if @is_task), @name].compact.join('-') end