Class: Aws::Cfn::DeCompiler::Main

Inherits:
Base
  • Object
show all
Defined in:
lib/aws/cfn/decompiler/main.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#save_dsl

Methods included from Options

#parse_options, #set_config_options

Instance Attribute Details

#templateObject

Returns the value of attribute template.



10
11
12
# File 'lib/aws/cfn/decompiler/main.rb', line 10

def template
  @template
end

Instance Method Details

#runObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/aws/cfn/decompiler/main.rb', line 12

def run

  parse_options

  set_config_options

  unless @config[:directory].nil?
    unless File.directory?(@config[:directory])
      Dir.mkdir(@config[:directory])
    end
    unless File.directory?(@config[:directory])
      @logger.error "Cannot see output directory: #{@config[:directory]}"
      @logger.error @config.to_s
      exit
    end
  end

  decompiled = load_template @config[:template]

  validate(decompiled)

  output_dir = @config[:directory] || Dir.pwd
  save_dsl(output_dir,decompiled)

  @logger.step '*** Decompiled Successfully ***'
end