{ "id": "https://raw.githubusercontent.com/databricks/cli/feat/labs/cmd/labs/project/schema.json#", "$schema": "http://json-schema.org/draft-04/schema", "definitions": { "entrypoint": { "type": "object", "properties": { "require_running_cluster": { "type": "boolean", "default": false }, "is_unauthenticated": { "type": "boolean", "default": false }, "is_account_level": { "type": "boolean", "default": false }, "is_bundle_aware": { "type": "boolean", "default": false } } }, "hook": { "type": "object", "$ref": "#/definitions/entrypoint", "unevaluatedProperties": true, "properties": { "script": { "type": "string", "pattern": "^[A-Za-z0-9_-/\\.]+$" }, "min_runtime_version": { "type": "string", "pattern": "^[0-9]+.[0-9]+$" }, "require_databricks_connect": { "type": "boolean", "default": false }, "warehouse_types": { "enum": [ "PRO", "CLASSIC", "TYPE_UNSPECIFIED" ] } } }, "alphanum": { "type": "string", "pattern": "^[a-z0-9-]$" }, "command": { "type": "object", "$ref": "#/definitions/entrypoint", "unevaluatedProperties": true, "required": ["name", "description"], "properties": { "name": { "$ref": "#/definitions/alphanum" }, "description": { "type": "string" }, "table_template": { "type": "string" }, "flags": { "$ref": "#/definitions/flag" } } }, "flag": { "type": "object", "required": ["name", "description"], "properties": { "name": { "$ref": "#/definitions/alphanum" }, "description": { "type": "string" }, "default": {} } } }, "type": "object", "additionalProperties": false, "required": ["name", "description", "entrypoint"], "properties": { "$version": { "type": "integer", "default": 1 }, "name": { "$ref": "#/definitions/alphanum", "description": "Name of the project" }, "description": { "type": "string", "description": "Short description of the project" }, "entrypoint": { "type": "string", "description": "Script that routes subcommands" }, "min_python": { "type": "string", "pattern": "^3.[0-9]+$", "description": "Minimal Python version required" }, "install": { "$ref": "#/definitions/hook", "description": "Installation configuration" }, "uninstall": { "$ref": "#/definitions/hook" }, "commands": { "type": "array", "description": "Exposed commands", "items": { "$ref": "#/definitions/command" } } } }