Sha256: 8a16e0ce5a5eb510f57b0ba37e1550022b668e81cd967bed34633aa17716d68e
Contents?: true
Size: 1.37 KB
Versions: 15
Compression:
Stored size: 1.37 KB
Contents
class Lono::Template class ConfigsetInjector < Lono::AbstractBase def initialize(options={}) super end def run @cfn = load_template # initial @cfn = inject # overwrite write(@cfn) @cfn end 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 def metadata_map combiner = Lono::Configset::Combiner.new(@cfn, @options) combiner.metadata_map end memoize :metadata_map def write(cfn) IO.write(template_path, YAML.dump(cfn)) end def load_template YAML.load_file(template_path) end def template_path "#{Lono.config.output_path}/#{@blueprint}/templates/#{@template}.yml" end end end
Version data entries
15 entries across 15 versions & 1 rubygems