Skip to content

Commit

Permalink
add JSON schemas for each config file
Browse files Browse the repository at this point in the history
Signed-off-by: PatriceKammognie <[email protected]>
  • Loading branch information
PatriceKammognie committed Jan 23, 2024
1 parent a18b286 commit 8eb4a2d
Show file tree
Hide file tree
Showing 6 changed files with 346 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"$id": "https://example.com/person.schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "activemqconsumer.json",
"type": "object",
"required": [
"uniqueId",
"queue"
],
"properties": {
"uniqueId": {
"type": "string",
"description": "Unique ID to match options",
"pattern": "^[a-z0-9-]+$"
},
"serverUrl": {
"type": "string",
"description": "IP or Hostname of the MQTT Broker",
"default": "127.0.0.1",
"pattern": "^([a-z0-9-_\\.]+\\.[a-z]{1,3}|[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3})$"
},
"serverPort": {
"description": "Port of the MQTT Broker",
"type": "integer",
"minimum": 0,
"maximum": 65535,
"default": "61616"
},
"queue": {
"type": "string",
"description": "Name of the queue",
"pattern": "[a-z0-9-]+"
}
}
}
51 changes: 51 additions & 0 deletions databridge.camel-hono/src/main/resources/honoconsumer.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"$id": "https://example.com/person.schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "honoconsumer.json",
"type": "object",
"required": [
"uniqueId",
"topic",
"userName",
"password",
"tenantId",
"deviceId"
],
"properties": {
"uniqueId": {
"type": "string",
"description": "Unique ID to match options",
"pattern": "^[a-z0-9-]+$"
},
"serverUrl": {
"type": "string",
"description": "IP or Hostname of the Kafka Server",
"default": "127.0.0.1",
"pattern": "^([a-z0-9-_\\.]+\\.[a-z]{1,3}|[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3})$"
},
"serverPort": {
"description": "Port of the Kafka Server",
"type": "integer",
"minimum": 0,
"maximum": 65535,
"default": "15672"
},
"userName": {
"type": "string",
"description": "Username for Hono instance"
},
"password": {
"type": "string",
"description": "Password for username"
},
"tenantId": {
"type": "string",
"description": "ID of the tenant which want to use"
},
"deviceId": {
"type": "string",
"description": "ID of the device",
"pattern": "[a-z0-9-]+"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"$id": "https://example.com/person.schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "httpconsumer.json",
"type": "object",
"required": [
"uniqueId",
"serverUrl"
],
"properties": {
"uniqueId": {
"type": "string",
"description": "Unique ID to match options",
"pattern": "^[a-z0-9-]+$"
},
"serverUrl": {
"type": "string",
"description": "IP or Hostname of the MQTT Broker",
"pattern": "[a-zA-Z0-9:/-\\._\\?=&%\\$]+"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
"$id": "https://example.com/person.schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "kafkaconsumer.json",
"type": "object",
"required": [
"uniqueId",
"topic"
],
"properties": {
"uniqueId": {
"type": "string",
"description": "Unique ID to match options",
"pattern": "^[a-z0-9-]+$"
},
"serverUrl": {
"type": "string",
"description": "IP or Hostname of the Kafka Server",
"default": "127.0.0.1",
"pattern": "^([a-z0-9-_\\.]+\\.[a-z]{1,3}|[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3})$"
},
"serverPort": {
"description": "Port of the Kafka Server",
"type": "integer",
"minimum": 0,
"maximum": 65535,
"default": "9092"
},
"topic": {
"type": "string",
"description": "Topic of the variable in the MQTT Broker"
},
"maxPollRecords": {
"type": "integer",
"description": "The maximum number of records returned in a single call",
"minimum": 500,
"default": "5000"
},
"groupId": {
"type": "string",
"description": "A unique identifier of the consumer instance.",
"pattern": "[a-z0-9-]+",
"default": "basyx-updater"
},
"consumersCount": {
"type": "integer",
"description": "The number of consumers that connect to kafka server. Each consumer is run on a separate thread, that retrieves and process the incoming data.",
"minimum": 1,
"default": "1"
},
"seekTo": {
"enum": ["BEGINNING", "END"],
"description": "Define where to start reading from",
"default": "BEGINNING"
}
}
}
121 changes: 121 additions & 0 deletions databridge.camel-opcua/src/main/resources/opcuaconsumer.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
{
"$id": "https://example.com/person.schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "opcuaconsumer.json",
"type": "object",
"required": [
"uniqueId",
"pathToService",
"nodeInformation"
],
"properties": {
"uniqueId": {
"title": "Unique ID",
"type": "string",
"description": "Unique ID to match options",
"pattern": "^[a-z0-9-]+$"
},
"serverUrl": {
"title": "Hostname or IP",
"type": "string",
"description": "IP or Hostname of the OPC UA Server",
"default": "127.0.0.1",
"pattern": "^([a-z0-9-_\\.]+\\.[a-z]{1,3}|[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3})$"
},
"serverPort": {
"title": "Port",
"description": "Port of the OPC UA Server",
"type": "integer",
"minimum": 0,
"maximum": 65535,
"default": "4048"
},
"pathToService": {
"title": "Path to Service",
"type": "string",
"description": "URI of the Service in the OPC UA Server",
"pattern": "[a-z/]+"
},
"nodeInformation": {
"title": "OPC UA Node ID",
"type": "string",
"description": "Path to a variable node in the OPC UA Server"
},
"username": {
"title": "Username",
"type": "string",
"description": "Username to authenticate to the OPC UA Server"
},
"password": {
"title": "Password",
"type": "string",
"description": "Password to authenticate to the OPC UA Server"
},
"parameters": {
"title": "Parameters",
"type": "object",
"properties": {
"requestedPublishingInterval": {
"type": "integer",
"description": "Interval to request the value of the variable",
"minimum": 500,
"default": "500"
},
"clientId": {
"type": "string",
"description": "A virtual client id to force the creation of a new connection instance"
},
"dataChangeFilterDeadbandType": {
"type": "integer",
"description": "Deadband type for MonitorFilterType DataChangeFilter"
},
"dataChangeFilterDeadbandValue": {
"type": "number",
"description": "Deadband value for MonitorFilterType DataChangeFilter"
},
"allowedSecurityPolicies": {
"enum": [
"None",
"Basic128Rsa15",
"Basic256",
"Basic256Sha256",
"Aes128_Sha256_RsaOaep",
"Aes256_Sha256_RsaPss"
],
"default": "None",
"description": "A set of allowed security policy URIs. Default is to accept all and use the highest"
},
"keyAlias": {
"type": "string",
"description": "The name of the key in the keystore file"
},
"keyPassword": {
"type": "string",
"description": "The key password"
},
"keyStorePassword": {
"type": "string",
"description": "The keystore password"
},
"keyStoreType": {
"type": "string",
"description": "The key store type"
},
"keyStoreUrl": {
"type": "string",
"description": "The URL where the key should be loaded from"
},
"sessionName": {
"type": "string",
"description": "Session name",
"pattern": "[a-z0-9-]*"
},
"sessionTimeout": {
"type": "integer",
"description": "Session timeout in milliseconds",
"minimum": 0
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
{
"$id": "https://example.com/person.schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "plc4xconsumer.json",
"type": "object",
"required": [
"uniqueId",
"driver",
"tags"
],
"properties": {
"uniqueId": {
"type": "string",
"description": "Unique ID to match options",
"pattern": "^[a-z0-9-]+$"
},
"serverUrl": {
"type": "string",
"description": "IP or Hostname of the MQTT Broker",
"default": "127.0.0.1",
"pattern": "^([a-z0-9-_\\.]+\\.[a-z]{1,3}|[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3})$"
},
"serverPort": {
"description": "Port of the MQTT Broker",
"type": "integer",
"minimum": 0,
"maximum": 65535,
"default": "50201"
},
"driver": {
"enum": ["ADS", "bacnet", "canopen", "eip", "firmata", "knxnet-ip", "logix", "modbus-tcp", "modbus-adu", "modbus-ascii", "opcua", "plc4x", "profinet", "s7", "simulated"],
"description": "Name of the driver"
},
"servicePath": {
"type": "string",
"description": "Service Path"
},
"options": {
"type": "string",
"description": "Options; depends on driver"
},
"tags": {
"title": "Tags",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the Tag"
},
"value": {
"type": "string",
"description": "Value of the Tag"
}
}
}
}
}
}

0 comments on commit 8eb4a2d

Please sign in to comment.