{ "$schema": "http://json-schema.org/draft-07/schema#", "$exportedModuleInfo": { "path": [] }, "type": "object", "additionalProperties": false, "required": ["services", "userModules"], "properties": { "name": { "$exportedModuleInfo": { "path": ["name"] }, "type": "string", "default": "John Doe", "description": "The name of the user" }, "age": { "$exportedModuleInfo": { "path": ["age"] }, "type": "integer", "default": 42, "description": "The age of the user" }, "isAdmin": { "$exportedModuleInfo": { "path": ["isAdmin"] }, "type": "boolean", "default": false, "description": "Is the user an admin?" }, "kernelModules": { "$exportedModuleInfo": { "path": ["kernelModules"] }, "type": "array", "items": { "$exportedModuleInfo": { "path": ["kernelModules"] }, "type": "string" }, "default": ["nvme", "xhci_pci", "ahci"], "description": "A list of enabled kernel modules" }, "userIds": { "$exportedModuleInfo": { "path": ["userIds"] }, "type": "object", "default": { "horst": 1, "peter": 2, "albrecht": 3 }, "additionalProperties": { "$exportedModuleInfo": { "path": ["userIds"] }, "type": "integer" }, "description": "Some attributes" }, "userModules": { "$exportedModuleInfo": { "path": ["userModules"] }, "type": "object", "additionalProperties": { "$exportedModuleInfo": { "path": ["userModules", ""] }, "additionalProperties": false, "type": "object", "properties": { "foo": { "$exportedModuleInfo": { "path": ["userModules", "", "foo"] }, "type": [ "boolean", "integer", "number", "string", "array", "object", "null" ] } }, "required": ["foo"] } }, "colour": { "$exportedModuleInfo": { "path": ["colour"] }, "default": "red", "description": "The colour of the user", "enum": ["red", "blue", "green"] }, "services": { "$exportedModuleInfo": { "path": ["services"] }, "type": "object", "additionalProperties": false, "properties": { "opt": { "$exportedModuleInfo": { "path": ["services", "opt"] }, "type": "string", "default": "foo", "description": "A submodule option" } } }, "programs": { "$exportedModuleInfo": { "path": ["programs"] }, "type": "object", "additionalProperties": false, "properties": { "opt": { "$exportedModuleInfo": { "path": ["programs", "opt"] }, "type": "string", "default": "bar", "description": "Another submodule option" } }, "default": {} }, "destinations": { "$exportedModuleInfo": { "path": ["destinations"] }, "additionalProperties": { "$exportedModuleInfo": { "path": ["destinations", ""] }, "properties": { "name": { "$exportedModuleInfo": { "path": ["destinations", "", "name"] }, "default": "‹name›", "description": "the name of the backup job", "type": "string" }, "repo": { "$exportedModuleInfo": { "path": ["destinations", "", "repo"] }, "description": "the borgbackup repository to backup to", "type": "string" } }, "required": ["repo"], "additionalProperties": false, "type": "object" }, "default": {}, "type": "object" } } }