class Lono::Template::ConfigsetInjector
Public Class Methods
new(options={})
click to toggle source
Calls superclass method
Lono::AbstractBase::new
# File lib/lono/template/configset_injector.rb, line 3 def initialize(options={}) super end
Public Instance Methods
inject()
click to toggle source
# File lib/lono/template/configset_injector.rb, line 14 def inject metadata_map.each do |logical_id, metadata_configset| resource = @cfn["Resources"][logical_id] unless resource puts "WARN: Resources.#{logical_id} not found in the template. Are you sure you are specifying the correct resource id in your configsets configs?".color(:yellow) next end resource["Metadata"] ||= metadata_configset["Metadata"] # metdata = resource["Metadata"] ||= {} # metdata["AWS::CloudFormation::Init"] ||= {} # # The metadata_configset has been combined with the original AWS::CloudFormation::Init if it exists # metdata["AWS::CloudFormation::Init"] = metadata_configset["AWS::CloudFormation::Init"] end @cfn end
load_template()
click to toggle source
# File lib/lono/template/configset_injector.rb, line 44 def load_template YAML.load_file(template_path) end
metadata_map()
click to toggle source
# File lib/lono/template/configset_injector.rb, line 34 def metadata_map combiner = Lono::Configset::Combiner.new(@cfn, @options) combiner.metadata_map end
run()
click to toggle source
# File lib/lono/template/configset_injector.rb, line 7 def run @cfn = load_template # initial @cfn = inject # overwrite write(@cfn) @cfn end
template_path()
click to toggle source
# File lib/lono/template/configset_injector.rb, line 48 def template_path "#{Lono.config.output_path}/#{@blueprint}/templates/#{@template}.yml" end
write(cfn)
click to toggle source
# File lib/lono/template/configset_injector.rb, line 40 def write(cfn) IO.write(template_path, YAML.dump(cfn)) end