Class: Lono::Inspector::Summary
- Inherits:
-
Base
show all
- Defined in:
- lib/lono/inspector/summary.rb
Instance Method Summary
collapse
Methods inherited from Base
#all_templates, #generate, #generate_templates, #run
#initialize, #reinitialize, #template_path
#find_blueprint_root, #set_blueprint_root
Instance Method Details
#description_example(description) ⇒ Object
52
53
54
55
56
57
58
|
# File 'lib/lono/inspector/summary.rb', line 52
def description_example(description)
default = ''
return default unless description
md = description.match(/(Example|IE): (.*)/)
return default unless md
md[2]
end
|
#output_template ⇒ Object
86
87
88
|
# File 'lib/lono/inspector/summary.rb', line 86
def output_template
Lono::Output::Template.new(@blueprint, @template)
end
|
#parameter_line(name) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/lono/inspector/summary.rb', line 39
def parameter_line(name)
data = parameters[name]
example = description_example(data["Description"])
if data["Default"].nil?
line = "#{name}=#{example} # (required)"
else
default = data["Default"]
line = "# #{name}=#{default}"
line = "#{line} # #{example}" if example
end
line
end
|
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/lono/inspector/summary.rb', line 6
def perform(template)
@template = template
puts "=> CloudFormation Template Summary for template #{@template.color(:sienna)}:"
return if @options[:noop]
print_parameters_summary
puts "# Resources:"
print_resource_types
end
|
#print_parameters_summary ⇒ Object
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/lono/inspector/summary.rb', line 18
def print_parameters_summary
if parameters.empty?
puts "There are no parameters in this template."
return
end
shown = []
puts "# Parameters Total (#{parameters.size})"
parameter_groups.each do |label, parameters|
puts "# Parameter Group (#{parameters.size}): #{label}".color(:sienna)
parameters.each do |name|
puts parameter_line(name)
shown << name
end
end if output_template.parameter_groups
parameters.each do |name, data|
puts parameter_line(name) unless shown.include?(name)
end
end
|
#print_resource_types ⇒ Object
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# File 'lib/lono/inspector/summary.rb', line 71
def print_resource_types
unless resource_types
puts "No resources found."
return
end
types = resource_types.sort_by {|r| r[1] * -1}
types.each do |a|
type, count = a
printf "%3s %s\n", count, type
end
total = types.inject(0) { |sum,(type,count)| sum += count }
printf "%3s %s\n", total, "Total"
end
|
#resource_types ⇒ Object
60
61
62
63
64
65
66
67
68
69
|
# File 'lib/lono/inspector/summary.rb', line 60
def resource_types
resources = data["Resources"]
return unless resources
types = Hash.new(0)
resources.each do |logical_id, resource|
types[resource["Type"]] += 1
end
types
end
|