cfn-nag 0.6.4 → 0.6.5
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/cfn_nag.rb +5 -0
- data/lib/cfn-nag/cfn_nag_config.rb +3 -0
- data/lib/cfn-nag/cfn_nag_executor.rb +1 -0
- data/lib/cfn-nag/cli_options.rb +11 -0
- data/lib/cfn-nag/iam_complexity_metric/condition_metric.rb +0 -2
- data/lib/cfn-nag/result_view/colored_stdout_results.rb +0 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fcec15f2d25123e50039b0618dbd0da02e2e798ade4b35fea7abb3f6e9035eba
|
4
|
+
data.tar.gz: 8eeea21427d600ce45addb7ebe595ddeeeec469b6ebf8fe7fde1f62685ad4b83
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b242c9866270499f2e1b87594043813dd6078ab7cea40eaaa6fff6835a48405c3645a1895e8e6630d1d04c337fbfb90d6a6b7c168cbffd97df8339076aec69dd
|
7
|
+
data.tar.gz: 02ec8b6dfc2b4409bffb5f9339e41e59a79f076b6d288d74d9752e1357ad9918acc0360ba07fa3017c633951c47ee238a6f6ad0a4deca7b61c7d43109c6e023e
|
data/lib/cfn-nag/cfn_nag.rb
CHANGED
@@ -102,9 +102,14 @@ class CfnNag
|
|
102
102
|
violations << fatal_violation(error)
|
103
103
|
end
|
104
104
|
|
105
|
+
violations = prune_fatal_violations(violations) if @config.ignore_fatal
|
105
106
|
audit_result(violations)
|
106
107
|
end
|
107
108
|
|
109
|
+
def prune_fatal_violations(violations)
|
110
|
+
violations.reject { |violation| violation.type == Violation::FAILING_VIOLATION }
|
111
|
+
end
|
112
|
+
|
108
113
|
def render_results(aggregate_results:,
|
109
114
|
output_format:)
|
110
115
|
results_renderer(output_format).new.render(aggregate_results)
|
@@ -9,6 +9,7 @@ class CfnNagConfig
|
|
9
9
|
print_suppression: false,
|
10
10
|
isolate_custom_rule_exceptions: false,
|
11
11
|
fail_on_warnings: false,
|
12
|
+
ignore_fatal: false,
|
12
13
|
rule_repository_definitions: [],
|
13
14
|
rule_arguments: {})
|
14
15
|
@rule_directory = rule_directory
|
@@ -24,6 +25,7 @@ class CfnNagConfig
|
|
24
25
|
@fail_on_warnings = fail_on_warnings
|
25
26
|
@rule_repositories = rule_repositories
|
26
27
|
@rule_arguments = rule_arguments
|
28
|
+
@ignore_fatal = ignore_fatal
|
27
29
|
end
|
28
30
|
# rubocop:enable Metrics/ParameterLists
|
29
31
|
|
@@ -34,4 +36,5 @@ class CfnNagConfig
|
|
34
36
|
attr_reader :blacklist_definition
|
35
37
|
attr_reader :fail_on_warnings
|
36
38
|
attr_reader :rule_repositories
|
39
|
+
attr_reader :ignore_fatal
|
37
40
|
end
|
@@ -129,6 +129,7 @@ class CfnNagExecutor
|
|
129
129
|
isolate_custom_rule_exceptions: opts[:isolate_custom_rule_exceptions],
|
130
130
|
fail_on_warnings: opts[:fail_on_warnings],
|
131
131
|
rule_repository_definitions: @rule_repository_definitions,
|
132
|
+
ignore_fatal: opts[:ignore_fatal],
|
132
133
|
rule_arguments: merge_rule_arguments(opts)
|
133
134
|
)
|
134
135
|
end
|
data/lib/cfn-nag/cli_options.rb
CHANGED
@@ -100,6 +100,11 @@ class Options
|
|
100
100
|
type: :string,
|
101
101
|
required: false,
|
102
102
|
default: nil
|
103
|
+
opt :ignore_fatal,
|
104
|
+
'Ignore files with fatal violations. Useful for ignoring non-Cloudformation yaml/yml/json in a path',
|
105
|
+
type: :boolean,
|
106
|
+
required: false,
|
107
|
+
default: false
|
103
108
|
end
|
104
109
|
end
|
105
110
|
|
@@ -193,6 +198,12 @@ class Options
|
|
193
198
|
type: :string,
|
194
199
|
required: false,
|
195
200
|
default: nil
|
201
|
+
opt :ignore_fatal,
|
202
|
+
'Ignore files with fatal violations. Useful for ignoring non-Cloudformation yaml/yml/json in a path',
|
203
|
+
short: 'g',
|
204
|
+
type: :boolean,
|
205
|
+
required: false,
|
206
|
+
default: false
|
196
207
|
end
|
197
208
|
end
|
198
209
|
# rubocop:enable Metrics/BlockLength
|
@@ -6,7 +6,6 @@ require 'set'
|
|
6
6
|
class ConditionMetric
|
7
7
|
include Weights
|
8
8
|
|
9
|
-
# rubocop:disable Metrics/AbcSize
|
10
9
|
def metric(statement)
|
11
10
|
return 0 if statement.condition.nil?
|
12
11
|
|
@@ -18,7 +17,6 @@ class ConditionMetric
|
|
18
17
|
aggregate += values_with_policy_tags(statement.condition)
|
19
18
|
aggregate
|
20
19
|
end
|
21
|
-
# rubocop:enable Metrics/AbcSize
|
22
20
|
|
23
21
|
private
|
24
22
|
|
@@ -6,7 +6,6 @@ require 'cfn-nag/violation'
|
|
6
6
|
class ColoredStdoutResults < StdoutResults
|
7
7
|
private
|
8
8
|
|
9
|
-
# rubocop:disable Metrics/AbcSize
|
10
9
|
def message(message_type:,
|
11
10
|
color:,
|
12
11
|
message:,
|
@@ -24,7 +23,6 @@ class ColoredStdoutResults < StdoutResults
|
|
24
23
|
puts colorize(color, '|') unless line_numbers.empty? && logical_resource_ids.nil?
|
25
24
|
puts colorize(color, "| #{message}")
|
26
25
|
end
|
27
|
-
# rubocop:enable Metrics/AbcSize
|
28
26
|
|
29
27
|
def color_code(color_symbol)
|
30
28
|
case color_symbol
|