cfn-nag 0.0.35 → 0.0.36
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/cfn_nag.rb +2 -17
- data/lib/result_view/rules_view.rb +33 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e9bcf207078e6643d3d0f2c74b04813d27c1b2c6
|
4
|
+
data.tar.gz: 5fac3032cbfb69d9ec845115316df99c872bbccd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cfb8b979362c846b61e30da5c1bbadd9464beedf061bf56f207e0b0e611faa843ba439b45244638f52e884cb55a51a410768369f93b08f162f58772aba9a368e
|
7
|
+
data.tar.gz: 911098c165973f8ff6300081201a180659d5bd2705fc87c15dc1df7f7b3b2cf13dcfe34d9e25b7132bb0dcfdb4b760fba141aee0a2469319465877f4870b842e
|
data/lib/cfn_nag.rb
CHANGED
@@ -5,6 +5,7 @@ require_relative 'profile_loader'
|
|
5
5
|
require_relative 'model/cfn_model'
|
6
6
|
require_relative 'result_view/simple_stdout_results'
|
7
7
|
require_relative 'result_view/json_results'
|
8
|
+
require_relative 'result_view/rules_view'
|
8
9
|
require 'tempfile'
|
9
10
|
|
10
11
|
class CfnNag
|
@@ -46,23 +47,7 @@ class CfnNag
|
|
46
47
|
profile = ProfileLoader.new(@rule_registry).load(profile_definition: @profile_definition)
|
47
48
|
end
|
48
49
|
|
49
|
-
|
50
|
-
@rule_registry.warnings.sort {|left, right| left.id <=> right.id}.each do |warning|
|
51
|
-
if profile.nil?
|
52
|
-
puts "#{warning.id} #{warning.message}"
|
53
|
-
else
|
54
|
-
puts "#{warning.id} #{warning.message}" if profile.execute_rule?(warning.id)
|
55
|
-
end
|
56
|
-
|
57
|
-
end
|
58
|
-
puts 'FAILING VIOLATIONS:'
|
59
|
-
@rule_registry.failings.sort {|left, right| left.id <=> right.id}.each do |failing|
|
60
|
-
if profile.nil?
|
61
|
-
puts "#{failing.id} #{failing.message}"
|
62
|
-
else
|
63
|
-
puts "#{failing.id} #{failing.message}" if profile.execute_rule?(failing.id)
|
64
|
-
end
|
65
|
-
end
|
50
|
+
RulesView.new.emit(@rule_registry, profile)
|
66
51
|
end
|
67
52
|
|
68
53
|
def audit(input_json_path:,
|
@@ -0,0 +1,33 @@
|
|
1
|
+
class RulesView
|
2
|
+
|
3
|
+
def emit(rule_registry, profile)
|
4
|
+
|
5
|
+
puts 'WARNING VIOLATIONS:'
|
6
|
+
rule_registry.warnings.sort {|left, right| sort_id(left, right) }.each do |warning|
|
7
|
+
if profile.nil?
|
8
|
+
puts "#{warning.id} #{warning.message}"
|
9
|
+
else
|
10
|
+
puts "#{warning.id} #{warning.message}" if profile.execute_rule?(warning.id)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
puts
|
14
|
+
puts 'FAILING VIOLATIONS:'
|
15
|
+
rule_registry.failings.sort {|left, right| sort_id(left, right) }.each do |failing|
|
16
|
+
if profile.nil?
|
17
|
+
puts "#{failing.id} #{failing.message}"
|
18
|
+
else
|
19
|
+
puts "#{failing.id} #{failing.message}" if profile.execute_rule?(failing.id)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def sort_id(left, right)
|
27
|
+
if left.id.match /[FW][0-9]+/ and right.id.match /[FW][0-9]+/
|
28
|
+
left.id[1..-1].to_i <=> right.id[1..-1].to_i
|
29
|
+
else
|
30
|
+
left.id <=> right.id
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cfn-nag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.36
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- someguy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logging
|
@@ -76,6 +76,7 @@ files:
|
|
76
76
|
- lib/profile.rb
|
77
77
|
- lib/profile_loader.rb
|
78
78
|
- lib/result_view/json_results.rb
|
79
|
+
- lib/result_view/rules_view.rb
|
79
80
|
- lib/result_view/simple_stdout_results.rb
|
80
81
|
- lib/rule.rb
|
81
82
|
- lib/rule_registry.rb
|