# Policy evaluation violation printer ========================================== # Constructs enriched violation objects for use in control packages. package common.outputs violation(policy_id, meta, message) := { "rule_id": policy_id, "title": meta.title, "description": meta.description, "message": message, "remediation": meta.remediation, "severity": meta.severity, "provider": data.providers[split(policy_id, "-")[2]], "category": data.categories[split(policy_id, "-")[3]], "references": meta.references, "summary": sprintf("%s %s %s", [policy_id, upper(meta.severity), message]), }