Esempio n. 1
0
 def run_tests(self, rulename):
     for _, values in self.filenames.items():
         filename = values.get('filename')
         template = cfnlint.decode.cfn_yaml.load(filename)
         cfn = Template(filename, template, ['us-east-1'])
         rules = RulesCollection(None, None, None, False, None)
         rules.create_from_custom_rules_file(rulename)
         runner = cfnlint.runner.Runner(rules, filename, template, None,
                                        None)
         return runner.run()
Esempio n. 2
0
def get_rules(append_rules, ignore_rules, include_rules, configure_rules=None, include_experimental=False,
              mandatory_rules=None, custom_rules=None):
    rules = RulesCollection(ignore_rules, include_rules, configure_rules,
                            include_experimental, mandatory_rules)
    rules_paths = [DEFAULT_RULESDIR] + append_rules
    try:
        for rules_path in rules_paths:
            if rules_path and os.path.isdir(os.path.expanduser(rules_path)):
                rules.create_from_directory(rules_path)
            else:
                rules.create_from_module(rules_path)

        rules.create_from_custom_rules_file(custom_rules)
    except (OSError, ImportError) as e:
        raise UnexpectedRuleException('Tried to append rules but got an error: %s' % str(e), 1)
    return rules