Sha256: 9bb29ae6baf8cff24786bd36edbbe0ca95d8e0d197d2520e51ded5a0e1a5d1ca

Contents?: true

Size: 1.09 KB

Versions: 19

Compression:

Stored size: 1.09 KB

Contents

module Lono::Cfn::Preview
  class Codediff < Lono::Cfn::Base
    include DiffViewer
    include Lono::AwsServices

    def run
      puts "Code Diff Preview:".color(:green)

      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_diff(existing_template_path, new_cfn_template)
      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

    # for clarity
    def new_cfn_template
      @template_path
    end

    def existing_template_path
      "/tmp/existing_cfn_template.yml"
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
lono-6.1.11 lib/lono/cfn/preview/codediff.rb
lono-6.1.10 lib/lono/cfn/preview/codediff.rb
lono-6.1.9 lib/lono/cfn/preview/codediff.rb
lono-6.1.8 lib/lono/cfn/preview/codediff.rb
lono-6.1.7 lib/lono/cfn/preview/codediff.rb
lono-6.1.6 lib/lono/cfn/preview/codediff.rb
lono-6.1.5 lib/lono/cfn/preview/codediff.rb
lono-6.1.4 lib/lono/cfn/preview/codediff.rb
lono-6.1.3 lib/lono/cfn/preview/codediff.rb
lono-6.1.2 lib/lono/cfn/preview/codediff.rb
lono-6.1.1 lib/lono/cfn/preview/codediff.rb
lono-6.1.0 lib/lono/cfn/preview/codediff.rb
lono-6.0.1 lib/lono/cfn/preview/codediff.rb
lono-6.0.0 lib/lono/cfn/preview/codediff.rb
lono-5.3.4 lib/lono/cfn/preview/codediff.rb
lono-5.3.3 lib/lono/cfn/preview/codediff.rb
lono-5.3.2 lib/lono/cfn/preview/codediff.rb
lono-5.3.1 lib/lono/cfn/preview/codediff.rb
lono-5.3.0 lib/lono/cfn/preview/codediff.rb