Sha256: ef78bf934df6c05745931d9e29674f98e2cd0e84ad4d71c4531d2237bb0865a9
Contents?: true
Size: 1.19 KB
Versions: 3
Compression:
Stored size: 1.19 KB
Contents
class Lono::Cfn::Diff < Lono::Cfn::Base include Lono::Cfn::AwsService def run unless stack_exists?(@stack_name) puts "WARN: Cannot create a diff for the stack because the #{@stack_name} does not exists.".color(:yellow) return end if @options[:noop] puts "NOOP Generating CloudFormation source code diff..." else generate_all # from Base superclass. Generates the output lono teplates puts "Generating CloudFormation source code diff..." download_existing_cfn_template show_changes end end def download_existing_cfn_template resp = cfn.get_template( stack_name: @stack_name, template_stage: "Original" ) resp.template_body IO.write(existing_template_path, resp.template_body) end def show_changes command = "#{diff_viewer} #{existing_template_path} #{new_cfn_template}" puts "Running: #{command}" system(command) end # for clarity def new_cfn_template @template_path end def diff_viewer return ENV['LONO_DIFF'] if ENV['LONO_DIFF'] system("type colordiff > /dev/null") ? "colordiff" : "diff" end def existing_template_path "/tmp/existing_cfn_template.yml" end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
lono-4.2.7 | lib/lono/cfn/diff.rb |
lono-4.2.6 | lib/lono/cfn/diff.rb |
lono-4.2.5 | lib/lono/cfn/diff.rb |