{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://flex-auth.netkingdom/schemas/policy_package.schema.json", "title": "PolicyPackageMetadata", "type": "object", "additionalProperties": false, "required": ["id", "version", "package", "caring"], "properties": { "id": {"type": "string", "minLength": 1}, "name": {"type": "string", "minLength": 1}, "namespace": {"type": "string", "minLength": 1}, "version": {"type": "string", "minLength": 1}, "status": {"type": "string", "minLength": 1}, "package": {"type": "string", "minLength": 1}, "actions": { "type": "array", "items": {"type": "string", "minLength": 1}, "uniqueItems": true }, "owner": {"type": "string", "minLength": 1}, "fixtures": { "type": "array", "items": {"type": "string", "minLength": 1}, "uniqueItems": true }, "caring": {"$ref": "#/$defs/caring_policy_metadata"}, "activation": {"type": "object", "additionalProperties": true}, "metadata": {"type": "object", "additionalProperties": true} }, "$defs": { "caring_policy_metadata": { "type": "object", "additionalProperties": false, "required": ["profile"], "properties": { "profile": {"const": "caring-0.4.0-rc2"}, "enforce": {"type": "boolean"}, "canonical_roles": { "type": "array", "items": {"$ref": "https://flex-auth.netkingdom/schemas/caring_access_descriptor.schema.json#/$defs/canonical_role"}, "uniqueItems": true }, "organization_relations": { "type": "array", "items": {"$ref": "https://flex-auth.netkingdom/schemas/caring_access_descriptor.schema.json#/$defs/organization_relation"}, "uniqueItems": true }, "scopes": { "type": "array", "items": {"$ref": "https://flex-auth.netkingdom/schemas/caring_access_descriptor.schema.json#/$defs/scope"} }, "planes": { "type": "array", "items": {"$ref": "https://flex-auth.netkingdom/schemas/caring_access_descriptor.schema.json#/$defs/plane"}, "uniqueItems": true }, "capabilities": { "type": "array", "items": {"$ref": "https://flex-auth.netkingdom/schemas/caring_access_descriptor.schema.json#/$defs/capability"}, "uniqueItems": true }, "exposure_modes": { "type": "array", "items": {"$ref": "https://flex-auth.netkingdom/schemas/caring_access_descriptor.schema.json#/$defs/exposure_mode"}, "uniqueItems": true }, "conditions": { "type": "array", "items": {"$ref": "https://flex-auth.netkingdom/schemas/caring_access_descriptor.schema.json#/$defs/condition"}, "uniqueItems": true }, "restrictions": { "type": "array", "items": {"$ref": "https://flex-auth.netkingdom/schemas/caring_access_descriptor.schema.json#/$defs/restriction"}, "uniqueItems": true }, "metadata": {"type": "object", "additionalProperties": true} } } } }