Sha256: 7372817bb8903545620739a94f66c07315393e6cf56d46aa73a731960c9de1d6
Contents?: true
Size: 1.42 KB
Versions: 5
Compression:
Stored size: 1.42 KB
Contents
require 'stacco/base' class Stacco::Layer def self.load(stack, name) self.new(stack, name, Stacco::Resources::LayerTemplates[name]) end def initialize(stack, name, config) @stack = stack @name = name.gsub(/^task-/, '') @is_task = (not name.scan(/^task-/).empty?) @config = config end def enabled? @stack.enabled_layer_names.include? self.name end attr_reader :stack, :name, :config def task? @is_task end def service? not @is_task end def to_s @name end def full_name [@stack.name, self.name].join('/') end def inspect "#<layer #{self.full_name}: #{self.resource_definitions.length} resource(s) defined>" end def has_live_resources? not self.resource_summaries.empty? end 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 def condition_definitions @config['Conditions'] || {} end def resource_definitions @config['Resources'] || {} end 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 def output_definitions @config['Outputs'] || {} end def parameter_definitions @config['Parameters'] || {} end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
stacco-0.1.35 | ./lib/stacco/layer.rb |
stacco-0.1.33 | ./lib/stacco/layer.rb |
stacco-0.1.32 | ./lib/stacco/layer.rb |
stacco-0.1.30 | ./lib/stacco/layer.rb |
stacco-0.1.29 | ./lib/stacco/layer.rb |