| { |
| "$schema": "http://json-schema.org/draft-04/schema#", |
| "typeDefs": { |
| "name": { |
| "type": "string", |
| "pattern": "^[_a-zA-Z0-9]{3,}", |
| "description": "String that is at least 3 chars with letters/numbers/underscrores" |
| } |
| }, |
| |
| "type": "object", |
| "properties": { |
| "name": { |
| "$ref": "#/typeDefs/name" |
| }, |
| "models": { |
| "type": "array", |
| "items": { |
| "type": "object", |
| "properties": { |
| "name": { |
| "$ref": "#/typeDefs/name" |
| }, |
| "componentConfig": { |
| "type": "object", |
| "properties": { |
| "bluetoothConfigPath": { |
| "description": "Path to the bluetooth config file that will be used.", |
| "type": "string", |
| "pattern": "^(/[^/ ]*)+/?$" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "bluetoothConfigPath" |
| ] |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "name", |
| "componentConfig" |
| ] |
| } |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "name" |
| ] |
| } |