1{ 2 "definitions": {}, 3 "$schema": "http://json-schema.org/draft-06/schema#", 4 "type": "object", 5 "id": "config_schema.json", 6 "required": [ 7 "Nodes", 8 "Actions" 9 ], 10 "properties": { 11 "Nodes": { 12 "type": "array", 13 "id": "/properties/Nodes", 14 "minItems": 1, 15 "uniqueItems": true, 16 "items": { 17 "type": "object", 18 "id": "/properties/Nodes/items", 19 "required": [ 20 "Name", 21 "Path", 22 "Values" 23 ], 24 "properties": { 25 "Name": { 26 "type": "string", 27 "id": "/properties/Nodes/items/properties/Name", 28 "title": "The Name Schema.", 29 "description": "The name of the node.", 30 "minLength": 1 31 }, 32 "Path": { 33 "type": "string", 34 "id": "/properties/Nodes/items/properties/Path", 35 "title": "The Path Schema.", 36 "description": "For File type node, it is filesystem path of the file; for Property type node, it is the key of the property.", 37 "minLength": 1 38 }, 39 "Values": { 40 "type": "array", 41 "id": "/properties/Nodes/items/properties/Values", 42 "minItems": 1, 43 "uniqueItems": true, 44 "items": { 45 "type": "string", 46 "id": "/properties/Nodes/items/properties/Values/items", 47 "title": "The Values Schema.", 48 "description": "The Values array lists all possible values that can be set in the Actions section, and the list of values is sorted based on their priority, with the highest priority first." 49 } 50 }, 51 "DefaultIndex": { 52 "type": "integer", 53 "id": "/properties/Nodes/items/properties/DefaultIndex", 54 "title": "The Default Index Schema.", 55 "description": "The default index of the node, if not present, it will be set to max index of Values.", 56 "minimum": 0 57 }, 58 "ResetOnInit": { 59 "type": "boolean", 60 "id": "/properties/Nodes/items/properties/ResetOnInit", 61 "title": "The Reset On Init Schema.", 62 "description": "Flag if node will be set to default value on initialization; if not present, it will be set to false." 63 }, 64 "Type": { 65 "type": "string", 66 "id": "/properties/Nodes/items/properties/Type", 67 "title": "The type Schema.", 68 "description": "Type of Node (File or Property), if not present, it will be set to File." 69 }, 70 "HoldFd": { 71 "type": "boolean", 72 "id": "/properties/Nodes/items/properties/HoldFd", 73 "title": "The Hold Fd Schema.", 74 "description": "Flag if node will hold the file descriptor on non-default values; if not present, it will be set to false. This is only honoured for File type node." 75 } 76 } 77 } 78 }, 79 "Actions": { 80 "type": "array", 81 "id": "/properties/Actions", 82 "minItems": 1, 83 "uniqueItems": true, 84 "items": { 85 "type": "object", 86 "id": "/properties/Actions/items", 87 "required": [ 88 "PowerHint", 89 "Node", 90 "ValueIndex", 91 "Duration" 92 ], 93 "properties": { 94 "PowerHint": { 95 "type": "string", 96 "id": "/properties/Actions/items/properties/PowerHint", 97 "title": "The PowerHint Schema.", 98 "description": "The PowerHint name of the action.", 99 "minLength": 1 100 }, 101 "Node": { 102 "type": "string", 103 "id": "/properties/Actions/items/properties/Node", 104 "title": "The Node Schema.", 105 "description": "The Node name of the action, which is defined in Nodes.", 106 "minLength": 1 107 }, 108 "Value": { 109 "type": "string", 110 "id": "/properties/Actions/items/properties/Value", 111 "title": "The Value Index Schema.", 112 "description": "The value of action, which is defined in Nodes.", 113 "minLength": 1 114 }, 115 "Duration": { 116 "type": "integer", 117 "id": "/properties/Actions/items/properties/Duration", 118 "title": "The Duration Schema.", 119 "description": "The number of milliseconds that this action will be active (zero means forever).", 120 "minimum": 0 121 } 122 } 123 } 124 } 125 } 126} 127