class Ufo::Stack::Builder
Public Class Methods
new(context)
click to toggle source
# File lib/ufo/stack/builder.rb, line 5 def initialize(context) @context = context # This builder class is really used as a singleton. # To avoid having to pass context to all the builder classes. self.class.context = @context @template = { Description: "Ufo ECS stack #{context.stack_name}", } end
Public Instance Methods
build()
click to toggle source
# File lib/ufo/stack/builder.rb, line 15 def build @template[:Parameters] = Parameters.new.build @template[:Conditions] = Conditions.new.build @template[:Resources] = Resources.new.build @template[:Outputs] = Outputs.new.build @template.deep_stringify_keys! @template = Ufo::Utils::Squeezer.new(@template).squeeze @template = CustomProperties.new(@template, @context.stack_name).apply YAML.dump(@template) end