{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://flex-auth.netkingdom/schemas/protected_system_manifest.schema.json", "title": "ProtectedSystemManifest", "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": {"type": "string", "minLength": 1}, "name": {"type": "string", "minLength": 1}, "description": {"type": "string"}, "resource_types": { "type": "array", "items": {"$ref": "#/$defs/resource_type"} }, "actions": { "type": "array", "items": {"$ref": "#/$defs/action"} }, "caring_profiles": { "type": "array", "items": {"const": "caring-0.4.0-rc2"}, "uniqueItems": true }, "metadata": {"type": "object", "additionalProperties": true} }, "$defs": { "resource_type": { "type": "object", "additionalProperties": false, "required": ["name"], "properties": { "name": {"type": "string", "minLength": 1}, "parent_types": {"type": "array", "items": {"type": "string", "minLength": 1}}, "scope_level": {"$ref": "https://flex-auth.netkingdom/schemas/caring_access_descriptor.schema.json#/$defs/scope_level"}, "planes": { "type": "array", "items": {"$ref": "https://flex-auth.netkingdom/schemas/caring_access_descriptor.schema.json#/$defs/plane"}, "uniqueItems": true }, "metadata": {"type": "object", "additionalProperties": true} } }, "action": { "type": "object", "additionalProperties": false, "required": ["name"], "properties": { "name": {"type": "string", "minLength": 1}, "capabilities": { "type": "array", "items": {"$ref": "https://flex-auth.netkingdom/schemas/caring_access_descriptor.schema.json#/$defs/capability"}, "uniqueItems": true }, "planes": { "type": "array", "items": {"$ref": "https://flex-auth.netkingdom/schemas/caring_access_descriptor.schema.json#/$defs/plane"}, "uniqueItems": true }, "exposure_modes": { "type": "array", "items": {"$ref": "https://flex-auth.netkingdom/schemas/caring_access_descriptor.schema.json#/$defs/exposure_mode"}, "uniqueItems": true }, "metadata": {"type": "object", "additionalProperties": true} } } } }