{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "PolicyRule", "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name", "description": "Optional display name for the rule", "default": "" }, "authorized": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Authorized", "description": "Determines if the actions are allowed (True) or denied (False)", "default": false }, "actions": { "items": { "type": "string" }, "type": "array", "title": "Actions", "description": "Actions this rule applies to" }, "roles_groups": { "items": { "type": "string" }, "type": "array", "title": "Roles Groups", "description": "Roles or groups this rule applies to" }, "condition": { "anyOf": [ { "properties": { "match": { "oneOf": [ { "properties": { "expr": { "type": "string", "title": "Expr" } }, "type": "object", "required": [ "expr" ], "title": "Expression" }, { "properties": { "all": { "type": "object" } }, "type": "object", "required": [ "all" ], "title": "OperatorAll" }, { "properties": { "any": { "type": "object" } }, "type": "object", "required": [ "any" ], "title": "OperatorAny" }, { "properties": { "none": { "type": "object" } }, "type": "object", "required": [ "none" ], "title": "OperatorNone" } ], "title": "Match" } }, "type": "object", "required": [ "match" ], "title": "PolicyRuleCondition" }, { "type": "null" } ], "description": "Optional condition that must be met for the rule to apply" } }, "type": "object", "description": "Represents a single policy rule with compatible conditions." }