{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/elyra-ai/elyra/main/elyra/metadata/schemas/meta-schema.json",
  "title": "Meta-schema for metadata service schemas",
  "properties": {
    "schemaspace_id": {
      "description": "The ID of the schemaspace in which this schema and its instances resides.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "name": {
      "description": "The name of the schema.",
      "type": "string",
      "pattern": "^[a-z][a-z0-9-_]*[a-z0-9]$"
    },
    "description": {
      "title": "Description",
      "description": "Description of this schema.",
      "type": "string",
      "maxLength": 80
    },
    "metadata_class_name": {
      "title": "Metadata Instance Class",
      "description": "Class used by metadata service to alter instances on load, save, and deletion.",
      "type": "string"
    },
    "deprecated": {
      "title": "Deprecated",
      "description": "Indicates this schema is deprecated.  When deprecated, the schema can only be retrieved by name.",
      "type": "boolean"
    },
    "properties": {
      "type": "object",
      "required": ["schema_name", "display_name", "metadata"],
      "additionalProperties": true
    }
  },
  "required": ["schemaspace_id", "name", "properties"]
}
