databricks-cli/cmd/labs/project/schema.json

127 lines
3.7 KiB
JSON
Raw Normal View History

{
"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"
}
}
}
}