89 lines
1.9 KiB
JSON
89 lines
1.9 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://hwlab.pikastech.local/protocol/schemas/wiring-config.schema.json",
|
|
"title": "HWLAB Wiring Config",
|
|
"type": "object",
|
|
"required": [
|
|
"wiringConfigId",
|
|
"projectId",
|
|
"gatewaySessionId",
|
|
"status",
|
|
"connections",
|
|
"createdAt",
|
|
"updatedAt"
|
|
],
|
|
"properties": {
|
|
"wiringConfigId": {
|
|
"$ref": "common.json#/$defs/id"
|
|
},
|
|
"projectId": {
|
|
"$ref": "common.json#/$defs/id"
|
|
},
|
|
"gatewaySessionId": {
|
|
"$ref": "common.json#/$defs/id"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"maxLength": 160
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["draft", "valid", "active", "rejected", "retired"]
|
|
},
|
|
"connections": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"$ref": "#/$defs/connection"
|
|
}
|
|
},
|
|
"constraints": {
|
|
"$ref": "common.json#/$defs/jsonObject"
|
|
},
|
|
"createdAt": {
|
|
"$ref": "common.json#/$defs/timestamp"
|
|
},
|
|
"updatedAt": {
|
|
"$ref": "common.json#/$defs/timestamp"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"$defs": {
|
|
"endpoint": {
|
|
"type": "object",
|
|
"required": ["resourceId", "port"],
|
|
"properties": {
|
|
"resourceId": {
|
|
"$ref": "common.json#/$defs/id"
|
|
},
|
|
"port": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 128
|
|
},
|
|
"capabilityId": {
|
|
"$ref": "common.json#/$defs/id"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"connection": {
|
|
"type": "object",
|
|
"required": ["from", "to"],
|
|
"properties": {
|
|
"from": {
|
|
"$ref": "#/$defs/endpoint"
|
|
},
|
|
"to": {
|
|
"$ref": "#/$defs/endpoint"
|
|
},
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": ["exclusive", "shared", "monitor"]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|