def create_rules()

in frauddetector/frauddetector.py [0:0]


    def create_rules(self, rules):
        """Create rules by passing in a list of dictionaries with expressions and outcomes they map to
        Args:

            :rules:          list; list of dictionaries
                            [{'ruleId': 'name_of_rule',
                                'expression': 'rule_expression_for_evaluating_rule',
                                'outcomes': [list_of, outcomes_for, matching_rule]
                                },
                             {'ruleId': 'name-of-next-rule'...
                            ]
        https://docs.aws.amazon.com/frauddetector/latest/ug/rule-language-reference.html
        """
        # ToDo Checks: rules map to existing outcomes
        responses = []
        try:
            existing_rules = [r['ruleId'] for r in self.rules]
        except KeyError:
            lh.info("create_rules: No pre-existing rules found")
        for rule in rules:
            if rule['ruleId'] not in existing_rules:
                response = self.fd.create_rule(
                    ruleId=rule['ruleId'],
                    detectorId=self.detector_name,
                    description="Rule: " + rule['ruleId'] + " for outcomes " + str(rule['outcomes']),
                    expression=rule['expression'],
                    outcomes=rule['outcomes'],
                    language="DETECTORPL"
                )
                responses.append(response)
            else:
                lh.warning("create_rules: rule {} already exists, skipping".format(rule['ruleId']))
                responses.append("skipped")

        return responses