Created
January 16, 2026 11:00
-
-
Save xqm32/af58ae905933ce080d45abe170616029 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "$defs": { | |
| "GroupConfig": { | |
| "properties": { | |
| "name": { | |
| "anyOf": [{ "type": "string" }, { "type": "null" }], | |
| "default": null, | |
| "title": "Name" | |
| }, | |
| "schedule": { | |
| "anyOf": [ | |
| { "format": "date-time", "type": "string" }, | |
| { "type": "null" } | |
| ], | |
| "default": null, | |
| "title": "Schedule" | |
| }, | |
| "timeout": { | |
| "anyOf": [ | |
| { "exclusiveMinimum": 0, "type": "number" }, | |
| { "type": "null" } | |
| ], | |
| "default": null, | |
| "title": "Timeout" | |
| }, | |
| "concurrent": { | |
| "anyOf": [ | |
| { "exclusiveMinimum": 0, "type": "integer" }, | |
| { "type": "null" } | |
| ], | |
| "default": null, | |
| "title": "Concurrent" | |
| }, | |
| "webhook": { | |
| "anyOf": [{ "type": "string" }, { "type": "null" }], | |
| "default": null, | |
| "title": "Webhook" | |
| }, | |
| "tasks": { | |
| "items": { "$ref": "#/$defs/TaskConfig" }, | |
| "title": "Tasks", | |
| "type": "array" | |
| } | |
| }, | |
| "title": "GroupConfig", | |
| "type": "object" | |
| }, | |
| "Source": { | |
| "discriminator": { | |
| "mapping": { | |
| "files": "#/$defs/SourceFiles", | |
| "os": "#/$defs/SourceOS", | |
| "sqlserver": "#/$defs/SourceSQLServer" | |
| }, | |
| "propertyName": "type" | |
| }, | |
| "oneOf": [ | |
| { "$ref": "#/$defs/SourceOS" }, | |
| { "$ref": "#/$defs/SourceFiles" }, | |
| { "$ref": "#/$defs/SourceSQLServer" } | |
| ] | |
| }, | |
| "SourceFiles": { | |
| "properties": { | |
| "type": { "const": "files", "title": "Type", "type": "string" }, | |
| "host": { | |
| "format": "ipvanyaddress", | |
| "title": "Host", | |
| "type": "string" | |
| }, | |
| "paths": { | |
| "items": { "type": "string" }, | |
| "title": "Paths", | |
| "type": "array" | |
| } | |
| }, | |
| "required": ["type", "host", "paths"], | |
| "title": "SourceFiles", | |
| "type": "object" | |
| }, | |
| "SourceOS": { | |
| "properties": { | |
| "type": { "const": "os", "title": "Type", "type": "string" }, | |
| "host": { | |
| "format": "ipvanyaddress", | |
| "title": "Host", | |
| "type": "string" | |
| }, | |
| "drives": { | |
| "anyOf": [ | |
| { "items": { "type": "string" }, "type": "array" }, | |
| { "type": "null" } | |
| ], | |
| "default": null, | |
| "title": "Drives" | |
| } | |
| }, | |
| "required": ["type", "host"], | |
| "title": "SourceOS", | |
| "type": "object" | |
| }, | |
| "SourceSQLServer": { | |
| "properties": { | |
| "type": { "const": "sqlserver", "title": "Type", "type": "string" }, | |
| "host": { | |
| "format": "ipvanyaddress", | |
| "title": "Host", | |
| "type": "string" | |
| }, | |
| "username": { | |
| "anyOf": [{ "type": "string" }, { "type": "null" }], | |
| "default": null, | |
| "title": "Username" | |
| }, | |
| "password": { | |
| "anyOf": [{ "type": "string" }, { "type": "null" }], | |
| "default": null, | |
| "title": "Password" | |
| }, | |
| "port": { | |
| "anyOf": [ | |
| { "exclusiveMinimum": 0, "type": "integer" }, | |
| { "type": "null" } | |
| ], | |
| "default": null, | |
| "title": "Port" | |
| }, | |
| "stagingPath": { "title": "Stagingpath", "type": "string" } | |
| }, | |
| "required": ["type", "host", "stagingPath"], | |
| "title": "SourceSQLServer", | |
| "type": "object" | |
| }, | |
| "Target": { | |
| "discriminator": { | |
| "mapping": { | |
| "local": "#/$defs/TargetLocal", | |
| "samba": "#/$defs/TargetSamba" | |
| }, | |
| "propertyName": "type" | |
| }, | |
| "oneOf": [ | |
| { "$ref": "#/$defs/TargetSamba" }, | |
| { "$ref": "#/$defs/TargetLocal" } | |
| ] | |
| }, | |
| "TargetLocal": { | |
| "properties": { | |
| "type": { "const": "local", "title": "Type", "type": "string" }, | |
| "path": { "title": "Path", "type": "string" } | |
| }, | |
| "required": ["type", "path"], | |
| "title": "TargetLocal", | |
| "type": "object" | |
| }, | |
| "TargetSamba": { | |
| "properties": { | |
| "type": { "const": "samba", "title": "Type", "type": "string" }, | |
| "host": { | |
| "format": "ipvanyaddress", | |
| "title": "Host", | |
| "type": "string" | |
| }, | |
| "username": { | |
| "anyOf": [{ "type": "string" }, { "type": "null" }], | |
| "default": null, | |
| "title": "Username" | |
| }, | |
| "password": { | |
| "anyOf": [{ "type": "string" }, { "type": "null" }], | |
| "default": null, | |
| "title": "Password" | |
| }, | |
| "path": { "title": "Path", "type": "string" } | |
| }, | |
| "required": ["type", "host", "path"], | |
| "title": "TargetSamba", | |
| "type": "object" | |
| }, | |
| "TaskConfig": { | |
| "properties": { | |
| "name": { | |
| "anyOf": [{ "type": "string" }, { "type": "null" }], | |
| "default": null, | |
| "title": "Name" | |
| }, | |
| "source": { | |
| "anyOf": [{ "type": "string" }, { "$ref": "#/$defs/Source" }], | |
| "title": "Source" | |
| }, | |
| "target": { | |
| "anyOf": [{ "type": "string" }, { "$ref": "#/$defs/Target" }], | |
| "title": "Target" | |
| }, | |
| "runner": { | |
| "anyOf": [ | |
| { "format": "ipvanyaddress", "type": "string" }, | |
| { "type": "null" } | |
| ], | |
| "default": null, | |
| "title": "Runner" | |
| } | |
| }, | |
| "required": ["source", "target"], | |
| "title": "TaskConfig", | |
| "type": "object" | |
| } | |
| }, | |
| "properties": { | |
| "id": { "format": "uuid7", "title": "Id", "type": "string" }, | |
| "station": { "title": "Station", "type": "string" }, | |
| "sources": { | |
| "additionalProperties": { "$ref": "#/$defs/Source" }, | |
| "title": "Sources", | |
| "type": "object" | |
| }, | |
| "targets": { | |
| "additionalProperties": { "$ref": "#/$defs/Target" }, | |
| "title": "Targets", | |
| "type": "object" | |
| }, | |
| "groups": { | |
| "items": { "$ref": "#/$defs/GroupConfig" }, | |
| "title": "Groups", | |
| "type": "array" | |
| } | |
| }, | |
| "required": ["station"], | |
| "title": "Config", | |
| "type": "object" | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment