class Aws::Cfn::DeCompiler::Base
Attributes
template[RW]
Public Instance Methods
save_dsl(output_dir, decompiled=@items)
click to toggle source
# File lib/aws/cfn/decompiler/base.rb, line 17 def save_dsl(output_dir, decompiled=@items) specification = {} format = @config[:format] rescue 'yaml' ruby = (not format.match(%r'^ruby|rb$').nil?) if ruby pprint_cfn_template simplify(decompiled) end decompiled.each do |section, section_items| case section when /Mappings|Parameters|Conditions|Resources|Outputs/ specification[section] = [] section_items.each do |name,value| unless ruby dir = File.join(output_dir,section.to_s) unless File.directory?(dir) Dir.mkdir(dir) end file = "#{name}.#{format}" hash = { name => value } save_section(dir, file, format, section, hash) end specification[section] << name end when /AWSTemplateFormatVersion|Description/ specification[section] = section_items else abort! "Unsupported section '#{section}' in template" end end # Save specification unless @config[:specification].nil? dir = File.dirname(@config[:specification]) dir = output_dir unless dir save_section(dir, File.basename(@config[:specification]), format, '', specification, '', "specification") end end