INNER CODE UNIT · Ruby
audit
stelligent/cfn_nag · lib/cfn-nag/cfn_nag.rb:84
def audit(cloudformation_string:, parameter_values_string: nil, condition_values_string: nil)
violations = []
begin
cfn_model = CfnParser.new.parse cloudformation_string,
parameter_values_string,
true,
condition_values_string
CustomRuleLoader.rule_arguments = @config.rule_arguments
violations += @config.custom_rule_loader.execute_custom_rules(
cfn_model,
@config.custom_rule_loader.rule_definitions
)
violations = filter_violations_by_deny_list_and_profile(violations)
violations = mark_line_numbers_and_element_types(violations, cfn_model)
rescue RuleRepoException, Psych::SyntaxError, ParserError => fatal_error
violations << Violation.fatal_violation(fatal_error.to_s)
rescue JSON::ParserError => json_parameters_error