| { |
| "$schema": "http://json-schema.org/draft-07/schema#", |
| "type": "object", |
| "properties": { |
| "options": { |
| "type": "object", |
| "additionalProperties": { |
| "type": "object", |
| "properties": { |
| "name": { "type": "string" }, |
| "description": { "type": "string" }, |
| "value": { |
| "type": [ |
| "string", |
| "number", |
| "boolean", |
| "integer" |
| ] |
| }, |
| "type": { "type": "string" }, |
| "range": { |
| "type": "object", |
| "properties": { |
| "minimum": { |
| "type": [ |
| "number", |
| "integer" |
| ] |
| }, |
| "maximum": { |
| "type": [ |
| "number", |
| "integer" |
| ] |
| } |
| }, |
| "required": [ "minimum", "maximum"] |
| }, |
| "possibleValues": { |
| "type": "array", |
| "items": { |
| "type": [ |
| "number", |
| "integer", |
| "string" |
| ] |
| }, |
| "uniqueItems": true, |
| "minItems": 1 |
| }, |
| "conditions": { |
| "type": "array", |
| "items": { |
| "type": "object", |
| "properties": { |
| "property": { "type": "string" }, |
| "value": { |
| "type": [ |
| "string", |
| "number", |
| "boolean", |
| "integer" |
| ] |
| }, |
| "mode": { |
| "type": "string", |
| "enum": ["Equals", "NotEquals", "GreaterThan", "LessThan"] |
| } |
| }, |
| "required": [ "property", "value", "mode"], |
| "minItems": 1 |
| } |
| } |
| }, |
| "required": [ |
| "name", |
| "description", |
| "value", |
| "type" |
| ] |
| } |
| }, |
| "groups": { |
| "type": "object", |
| "additionalProperties": { |
| "type": "object", |
| "properties": { |
| "name": { "type": "string" }, |
| "items": { |
| "type": "array", |
| "items": { "type": "string" }, |
| "uniqueItems": true, |
| "minItems": 1 |
| } |
| }, |
| "required": [ |
| "name", |
| "items" |
| ] |
| } |
| } |
| } |
| } |