Input Qualifier
Schema
{
"$id": "https://schemas.highbyte.com/intelligencehub/input/4.5.0.json",
"$defs": {
"AIResponseFormat": {
"type": "string",
"enum": [
"json",
"string"
]
},
"FileEncodingType": {
"type": "string",
"enum": [
"Binary",
"Auto",
"UTF_8",
"UTF_16BE",
"UTF_16LE",
"US_ASCII",
"ISO_8859_1"
]
},
"InputType": {
"type": "string",
"enum": [
"query",
"cdc",
"storedProcedure"
]
},
"InternalTypeAttribute": {
"type": "object",
"properties": {
"array": {
"type": "boolean",
"description": "Whether the attribute is an array."
},
"defaultValue": {
"$ref": "#/$defs/JsonNode",
"description": "The default value for the attribute."
},
"description": {
"type": "string",
"description": "Description of the configuration element."
},
"groupAs": {
"type": "string",
"description": "Optional grouping identifier for organizing configuration elements into logical groups."
},
"id": {
"type": "string",
"description": "UUID for the configuration element. If not provided, a random UUID will be generated. This ID is used to track the element across changes and should be stable for the lifetime of the process."
},
"internalType": {
"anyOf": [
{
"type": "object",
"description": "Represents an unconstrained Any type",
"properties": {
"variant": {
"const": "Any"
}
}
},
{
"type": "object",
"description": "Represents a Boolean type",
"properties": {
"variant": {
"const": "Boolean"
}
},
"required": [
"variant"
]
},
{
"type": "object",
"description": "Represents a File type",
"properties": {
"variant": {
"const": "File"
}
},
"required": [
"variant"
]
},
{
"type": "object",
"description": "Represents a String type",
"properties": {
"variant": {
"const": "String"
}
},
"required": [
"variant"
]
},
{
"type": "object",
"description": "Represents a numeric Int8 type",
"properties": {
"variant": {
"const": "Int8"
}
},
"required": [
"variant"
]
},
{
"type": "object",
"description": "Represents a numeric Int16 type",
"properties": {
"variant": {
"const": "Int16"
}
},
"required": [
"variant"
]
},
{
"type": "object",
"description": "Represents a numeric Int32 type",
"properties": {
"variant": {
"const": "Int32"
}
},
"required": [
"variant"
]
},
{
"type": "object",
"description": "Represents a numeric Int64 type",
"properties": {
"variant": {
"const": "Int64"
}
},
"required": [
"variant"
]
},
{
"type": "object",
"description": "Represents a numeric UInt8 type",
"properties": {
"variant": {
"const": "UInt8"
}
},
"required": [
"variant"
]
},
{
"type": "object",
"description": "Represents a numeric UInt16 type",
"properties": {
"variant": {
"const": "UInt16"
}
},
"required": [
"variant"
]
},
{
"type": "object",
"description": "Represents a numeric UInt32 type",
"properties": {
"variant": {
"const": "UInt32"
}
},
"required": [
"variant"
]
},
{
"type": "object",
"description": "Represents a numeric UInt64 type",
"properties": {
"variant": {
"const": "UInt64"
}
},
"required": [
"variant"
]
},
{
"type": "object",
"description": "Represents a numeric Real32 type",
"properties": {
"variant": {
"const": "Real32"
}
},
"required": [
"variant"
]
},
{
"type": "object",
"description": "Represents a numeric Real64 type",
"properties": {
"variant": {
"const": "Real64"
}
},
"required": [
"variant"
]
},
{
"type": "object",
"description": "Represents a DateTime type",
"properties": {
"variant": {
"const": "DateTime"
}
},
"required": [
"variant"
]
},
{
"type": "object",
"properties": {
"enumValues": {
"description": "Defines the allowed list of values for the enum",
"type": "array",
"items": {
"type": "object"
}
},
"variant": {
"const": "Enum"
}
},
"required": [
"enumValues",
"variant"
],
"description": "Represents an Enum type restricted to a fixed set of values"
}
]
},
"name": {
"type": "string",
"description": "Name of the configuration element."
},
"nullable": {
"type": "boolean",
"description": "Whether the attribute can be null."
},
"required": {
"type": "boolean",
"description": "Whether the attribute is required."
},
"attributeType": {
"const": "Internal"
}
},
"required": [
"array",
"internalType",
"nullable",
"required",
"attributeType"
]
},
"Interval": {
"type": "object",
"properties": {
"duration": {
"type": "integer",
"description": "The length of the interval."
},
"units": {
"type": "string",
"enum": [
"Milliseconds",
"Seconds",
"Minutes",
"Hours",
"Days"
],
"description": "The unit of time for the interval (e.g., seconds, minutes, hours, days)."
}
},
"description": "Represents a time interval, used for batching and cache lifetime in pipeline configuration."
},
"JsonNode": {
"type": "object"
},
"KafkaFormat": {
"type": "string",
"enum": [
"json",
"utf8",
"binary",
"any"
]
},
"ModeledAttribute": {
"type": "object",
"properties": {
"array": {
"type": "boolean",
"description": "Whether the attribute is an array."
},
"defaultValue": {
"$ref": "#/$defs/JsonNode",
"description": "The default value for the attribute."
},
"description": {
"type": "string",
"description": "Description of the configuration element."
},
"groupAs": {
"type": "string",
"description": "Optional grouping identifier for organizing configuration elements into logical groups."
},
"id": {
"type": "string",
"description": "UUID for the configuration element. If not provided, a random UUID will be generated. This ID is used to track the element across changes and should be stable for the lifetime of the process."
},
"model": {
"type": "string",
"description": "The name of the referenced model for this attribute."
},
"name": {
"type": "string",
"description": "Name of the configuration element."
},
"nullable": {
"type": "boolean",
"description": "Whether the attribute can be null."
},
"required": {
"type": "boolean",
"description": "Whether the attribute is required."
},
"attributeType": {
"const": "Modeled"
}
},
"required": [
"array",
"model",
"nullable",
"required",
"attributeType"
],
"description": "Represents a modeled attribute, referencing another model by name."
},
"MqttPayloadType": {
"type": "string",
"enum": [
"json",
"utf8",
"binary",
"any"
]
},
"ObjectModelAttribute-1": {
"type": "object",
"properties": {
"array": {
"type": "boolean",
"description": "Whether the attribute is an array."
},
"attributes": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/$defs/ModeledAttribute"
},
{
"$ref": "#/$defs/InternalTypeAttribute"
},
{
"$ref": "#/$defs/ObjectModelAttribute-2"
}
]
}
},
"defaultValue": {
"$ref": "#/$defs/JsonNode",
"description": "The default value for the attribute."
},
"description": {
"type": "string",
"description": "Description of the configuration element."
},
"groupAs": {
"type": "string",
"description": "Optional grouping identifier for organizing configuration elements into logical groups."
},
"id": {
"type": "string",
"description": "UUID for the configuration element. If not provided, a random UUID will be generated. This ID is used to track the element across changes and should be stable for the lifetime of the process."
},
"name": {
"type": "string",
"description": "Name of the configuration element."
},
"nullable": {
"type": "boolean",
"description": "Whether the attribute can be null."
},
"required": {
"type": "boolean",
"description": "Whether the attribute is required."
}
},
"required": [
"array",
"attributes",
"nullable",
"required"
]
},
"ObjectModelAttribute-2": {
"$ref": "#/$defs/ObjectModelAttribute-1",
"type": "object",
"properties": {
"attributeType": {
"const": "Object"
}
},
"required": [
"attributeType"
]
},
"OpcUaNodeIdentifier": {
"type": "object",
"properties": {
"identifierType": {
"type": "string",
"enum": [
"Invalid",
"Numeric",
"String",
"Guid",
"Opaque"
],
"description": "Type of the OPC UA node identifier"
},
"namespaceIndex": {
"type": "string",
"description": "OPC UA namespace index of the node identifier"
},
"value": {
"type": "string",
"description": "Value of the OPC UA node identifier, formatted according to the identifier type"
},
"type": {
"const": "NodeId"
}
},
"required": [
"identifierType",
"namespaceIndex",
"value",
"type"
]
},
"OpcUaPathIdentifier": {
"type": "object",
"properties": {
"relativePath": {
"description": "Sequence of browse names identifying the target node relative to the start node",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Browse name within the namespace"
},
"uri": {
"type": "string",
"description": "Namespace URI of the qualified name"
}
},
"required": [
"name",
"uri"
]
}
},
"startNode": {
"$ref": "#/$defs/OpcUaNodeIdentifier",
"description": "Node identifier the relative path is resolved from; defaults to the Objects folder"
},
"type": {
"const": "Path"
}
},
"required": [
"relativePath",
"startNode",
"type"
]
},
"PayloadType": {
"type": "string",
"enum": [
"json",
"utf8",
"binary",
"any"
]
},
"PiDataFormat": {
"type": "string",
"enum": [
"JSON",
"Parquet"
]
},
"SQLIndex": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "When enabled, only new data is retrieved on each query by tracking a column name/value pair across reads."
},
"indexName": {
"type": "string",
"description": "The column name used to index. To update the index, this column name must be returned by the SQL query."
},
"indexValue": {
"type": "string",
"description": "The initial value used for the index; updated automatically after each read."
}
},
"required": [
"enabled",
"indexName",
"indexValue"
],
"description": "Tracks read progress for a SQL query input so subsequent reads resume where the last one left off"
},
"SQLQuerySettings": {
"type": "object",
"properties": {
"index": {
"$ref": "#/$defs/SQLIndex",
"description": "Optional read-progress tracking for this query."
},
"query": {
"type": "string",
"description": "The full SQL query, which can include any SQL syntax including stored procedures."
},
"type": {
"$ref": "#/$defs/InputType",
"description": "The kind of SQL input: query, cdc (change data capture), or storedProcedure. Which values are supported depends on the database engine."
}
},
"required": [
"query",
"type"
],
"description": "Settings qualifier for a plain SQL query input"
},
"TimeFilterType": {
"type": "string",
"enum": [
"None",
"Created",
"Updated"
]
}
},
"type": "object",
"properties": {
"cacheLifetime": {
"allOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether caching is enabled for input data."
},
"interval": {
"$ref": "#/$defs/Interval",
"description": "The cache duration interval for input data."
}
},
"description": "Configuration for cache lifetime settings."
},
{
"description": "Settings to control caching of input data."
}
]
},
"description": {
"type": "string",
"description": "Description of the configuration element."
},
"id": {
"type": "string",
"description": "UUID for the configuration element. If not provided, a random UUID will be generated. This ID is used to track the element across changes and should be stable for the lifetime of the process."
},
"name": {
"type": "string",
"description": "Name of the configuration element."
},
"parameters": {
"allOf": [
{
"type": "object",
"properties": {
"model": {
"allOf": [
{
"type": "object",
"properties": {
"attributes": {
"description": "The attributes defined for this model.",
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/$defs/ModeledAttribute"
},
{
"$ref": "#/$defs/InternalTypeAttribute"
},
{
"$ref": "#/$defs/ObjectModelAttribute-2"
}
]
}
},
"description": {
"type": "string",
"description": "Description of the configuration element."
},
"extendsModel": {
"type": "string",
"description": "The name of the model this one extends, if any."
},
"groupAs": {
"type": "string",
"description": "Optional grouping identifier for organizing configuration elements into logical groups."
},
"id": {
"type": "string",
"description": "UUID for the configuration element. If not provided, a random UUID will be generated. This ID is used to track the element across changes and should be stable for the lifetime of the process."
},
"modelVersion": {
"type": "string",
"description": "The version of this model."
},
"name": {
"type": "string",
"description": "Name of the configuration element."
},
"tags": {
"description": "Tags for organizing and filtering configuration elements. Contains a list of tag names.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"attributes"
],
"description": "Represents a configured model, including its attributes and inheritance."
},
{
"description": "Defines the set of parameters that can be dynamically resolved when evaluating settings. To reference a parameter use the syntax {{this.paramName}} where paramName is the attribute name."
}
]
},
"type": {
"const": "inline"
}
},
"description": "Represents inline parameters for a pipeline trigger or stage, including an embedded model definition.",
"required": [
"type"
]
},
{
"description": "Input-level parameters that can be referenced from the input's qualifier settings. The backing model must be flat, with each attribute being a string typed value."
}
]
},
"qualifier": {
"anyOf": [
{
"type": "object",
"properties": {
"fromOffset": {
"type": "string",
"description": "Where to start reading from when no committed offset exists: earliest, latest, or none."
},
"group": {
"type": "string",
"description": "The Kafka consumer group id to use when reading from the topic."
},
"includeMetadata": {
"type": "boolean",
"description": "When enabled, includes Kafka message metadata (topic, partition, offset, timestamp, headers, key) alongside the value."
},
"keyFormat": {
"$ref": "#/$defs/KafkaFormat",
"description": "The format to decode the message key as."
},
"maxMessages": {
"type": "integer",
"description": "The maximum number of messages to read per poll."
},
"topic": {
"type": "string",
"description": "The Kafka topic to consume messages from."
},
"valueFormat": {
"$ref": "#/$defs/KafkaFormat",
"description": "The format to decode the message value as."
}
},
"required": [
"fromOffset",
"group",
"includeMetadata",
"keyFormat",
"maxMessages",
"topic",
"valueFormat"
],
"description": "Settings qualifier for a Kafka input"
},
{
"anyOf": [
{
"type": "object",
"properties": {
"bucketName": {
"type": "string",
"description": "The name of the bucket to read input data from."
},
"encoding": {
"$ref": "#/$defs/FileEncodingType",
"description": "The character set used to decode the file contents. Use Binary to read raw bytes and skip decoding, or Auto to decode using the file's BOM."
},
"includeMetadata": {
"type": "boolean",
"description": "When enabled, includes both system-defined and user-defined S3 object metadata alongside the value."
},
"key": {
"type": "string",
"description": "The key (object path) within the bucket to read from, or the prefix to list under."
},
"type": {
"const": "read"
}
},
"required": [
"bucketName",
"encoding",
"includeMetadata",
"key"
],
"description": "Settings qualifier for reading a single object from Amazon S3"
},
{
"type": "object",
"properties": {
"bucketName": {
"type": "string",
"description": "The name of the bucket to read input data from."
},
"key": {
"type": "string",
"description": "The key (object path) within the bucket to read from, or the prefix to list under."
},
"recursive": {
"type": "boolean",
"description": "When enabled, lists objects recursively under the key prefix, including nested \"folders\"."
},
"startTime": {
"type": "string",
"description": "The earliest last-modified timestamp (ISO-8601) to include when timeFilterEnabled is true."
},
"timeFilterEnabled": {
"type": "boolean",
"description": "When enabled, only objects last modified at or after startTime are included."
},
"type": {
"const": "list"
}
},
"required": [
"bucketName",
"key",
"recursive",
"startTime",
"timeFilterEnabled",
"type"
],
"description": "Settings qualifier for listing objects under a key prefix in Amazon S3"
}
],
"properties": {}
},
{
"properties": {
"blobName": {
"type": "string",
"description": "The name of the blob to read. May include the virtual directory path where applicable (e.g. path/to/myBlobName.csv)."
},
"containerName": {
"type": "string",
"description": "The name of the blob container to read input data from."
},
"encoding": {
"$ref": "#/$defs/FileEncodingType",
"description": "The character set used to decode the blob contents. Use Binary to read raw bytes and skip decoding, or Auto to decode using the file's BOM."
},
"includeMetadata": {
"type": "boolean",
"description": "When enabled, includes both system-defined properties and any custom metadata key-value pairs defined on the blob, alongside the value."
},
"type": {
"const": "read"
}
},
"type": "object",
"required": [
"blobName",
"containerName",
"encoding",
"includeMetadata"
],
"description": "Settings qualifier for reading a single blob from Azure Blob Storage"
},
{
"anyOf": [
{
"type": "object",
"properties": {
"encoding": {
"$ref": "#/$defs/FileEncodingType",
"description": "The character set used to decode the file contents. Use Binary to read raw bytes and skip decoding, or Auto to decode using the file's BOM."
},
"includeMetadata": {
"type": "boolean",
"description": "When enabled, includes file metadata (file name, relative file path, creation and update times if available, and file size) alongside the value."
},
"indexFile": {
"type": "boolean",
"description": "When enabled, the file is moved to the connection's processed directory after being read."
},
"startTime": {
"type": "string",
"description": "The earliest timestamp (ISO-8601) to include when timeFilterType is not None."
},
"timeFilterType": {
"$ref": "#/$defs/TimeFilterType",
"description": "Whether to filter files by creation/update time, and which timestamp to filter on. Use None to disable time filtering."
},
"type": {
"const": "File"
}
},
"required": [
"encoding",
"timeFilterType"
],
"description": "Settings qualifier for reading a single file",
"anyOf": [
{
"type": "object",
"properties": {
"regex": {
"type": "string",
"description": "The regular expression file names are matched against."
},
"relativePath": {
"type": "string",
"description": "The relative path to search under for files matching the regex."
},
"searchType": {
"const": "fileRegexSearch"
}
},
"required": [
"regex",
"relativePath",
"searchType"
],
"description": "Reads the most recent file under a relative path matching a regular expression"
},
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "The relative path of the file to read."
},
"searchType": {
"const": "filePathSearch"
}
},
"required": [
"path"
],
"description": "Reads a single file at a fixed relative path"
}
]
},
{
"type": "object",
"properties": {
"recursive": {
"type": "boolean",
"description": "When enabled, lists files recursively under the relative path, including subdirectories."
},
"relativePath": {
"type": "string",
"description": "The relative path of the directory to list."
},
"startTime": {
"type": "string",
"description": "The earliest timestamp (ISO-8601) to include when timeFilterType is not None."
},
"timeFilterType": {
"$ref": "#/$defs/TimeFilterType",
"description": "Whether to filter files by creation/update time, and which timestamp to filter on. Use None to disable time filtering."
},
"type": {
"const": "Browse"
}
},
"required": [
"recursive",
"relativePath",
"timeFilterType",
"type"
],
"description": "Settings qualifier for listing files under a directory"
},
{
"type": "object",
"properties": {
"eventTypes": {
"description": "The event types that will trigger this subscription. Any subset of: create, modify, delete.",
"type": "array",
"items": {
"type": "string",
"enum": [
"error",
"create",
"modify",
"delete"
]
}
},
"objectSearchTypes": {
"description": "Restricts monitoring to files, directories, or both. Any subset of: Files, Directories.",
"type": "array",
"items": {
"type": "string",
"enum": [
"Files",
"Directories",
"All"
]
}
},
"relativePath": {
"type": "string",
"description": "Relative path within the connection's root directory to monitor for events."
},
"startTime": {
"type": "string",
"description": "The earliest timestamp (ISO-8601) to include when timeFilterType is not None."
},
"timeFilterType": {
"$ref": "#/$defs/TimeFilterType",
"description": "Whether to filter files by creation/update time, and which timestamp to filter on. Use None to disable time filtering."
},
"type": {
"const": "Event"
}
},
"required": [
"eventTypes",
"objectSearchTypes",
"relativePath",
"timeFilterType",
"type"
],
"description": "Settings qualifier for a file system event subscription"
}
],
"properties": {}
},
{
"anyOf": [
{
"type": "object",
"properties": {
"includeMetadata": {
"type": "boolean",
"description": "When enabled, includes NATS message metadata alongside the value."
},
"payloadType": {
"$ref": "#/$defs/PayloadType",
"description": "The format to decode the message payload as."
},
"streamName": {
"type": "string",
"description": "The JetStream stream name to read from when useJetStream is enabled."
},
"subject": {
"type": "string",
"description": "The NATS subject to subscribe to."
},
"useJetStream": {
"type": "boolean",
"description": "When enabled, reads the last value via JetStream instead of core NATS."
},
"inputType": {
"const": "LastValue"
}
},
"required": [
"includeMetadata",
"subject",
"useJetStream"
],
"description": "Settings qualifier for reading the last known value on a NATS subject"
},
{
"type": "object",
"properties": {
"includeMetadata": {
"type": "boolean",
"description": "When enabled, includes NATS message metadata alongside the value."
},
"payloadType": {
"$ref": "#/$defs/PayloadType",
"description": "The format to decode the message payload as."
},
"requestBody": {
"type": "string",
"description": "The request payload to send on the subject."
},
"subject": {
"type": "string",
"description": "The NATS subject to subscribe to."
},
"inputType": {
"const": "Request"
}
},
"required": [
"includeMetadata",
"requestBody",
"subject",
"inputType"
],
"description": "Settings qualifier for sending a NATS request and reading the reply"
},
{
"type": "object",
"properties": {
"includeMetadata": {
"type": "boolean",
"description": "When enabled, includes NATS message metadata alongside the value."
},
"payloadType": {
"$ref": "#/$defs/PayloadType",
"description": "The format to decode the message payload as."
},
"subject": {
"type": "string",
"description": "The NATS subject to subscribe to."
},
"inputType": {
"const": "Branch"
}
},
"required": [
"includeMetadata",
"subject",
"inputType"
],
"description": "Settings qualifier for a NATS branch input"
}
],
"properties": {}
},
{
"anyOf": [
{
"type": "object",
"properties": {
"elementSource": {
"anyOf": [
{
"allOf": [
{
"type": "object",
"properties": {
"elementId": {
"type": "string",
"description": "The id of the I3X object element."
},
"type": {
"const": "Object"
}
},
"required": [
"elementId",
"type"
],
"description": "Identifies a single I3X object element"
},
{
"description": "Identifies which I3X element(s) to read the current value of."
}
]
},
{
"allOf": [
{
"type": "object",
"properties": {
"elementIds": {
"description": "The ids of the I3X object elements.",
"type": "array",
"items": {
"type": "string"
}
},
"type": {
"const": "Objects"
}
},
"required": [
"elementIds"
],
"description": "Identifies multiple I3X object elements"
},
{
"description": "Identifies which I3X element(s) to read the current value of."
}
]
},
{
"allOf": [
{
"type": "object",
"properties": {
"cacheInterval": {
"$ref": "#/$defs/Interval",
"description": "How long to cache the set of matching object instances before re-resolving it."
},
"objectTypeId": {
"type": "string",
"description": "The id of the I3X object type whose instances should be read."
},
"type": {
"const": "ObjectType"
}
},
"required": [
"objectTypeId",
"type"
],
"description": "Identifies all I3X object elements of a given object type"
},
{
"description": "Identifies which I3X element(s) to read the current value of."
}
]
}
]
},
"includeMetadata": {
"type": "boolean",
"description": "When enabled, includes element metadata alongside the value."
},
"maxDepth": {
"type": "integer",
"description": "The maximum depth to traverse when the element source expands to child elements."
},
"inputType": {
"const": "CurrentValue"
}
},
"required": [
"elementSource"
],
"description": "Settings qualifier for reading the current value of I3X elements"
},
{
"type": "object",
"properties": {
"elementIds": {
"description": "The I3X element ids to read historical values for.",
"type": "array",
"items": {
"type": "string"
}
},
"endTime": {
"type": "string",
"description": "The end of the time range (ISO-8601) to read history for."
},
"maxDepth": {
"type": "integer",
"description": "The maximum depth to traverse when an element id expands to child elements."
},
"startTime": {
"type": "string",
"description": "The start of the time range (ISO-8601) to read history for."
},
"inputType": {
"const": "History"
}
},
"required": [
"elementIds",
"endTime",
"startTime",
"inputType"
],
"description": "Settings qualifier for reading historical values of I3X elements"
}
],
"properties": {}
},
{
"anyOf": [
{
"type": "object",
"properties": {
"command": {
"type": "string",
"description": "The SqlPlus command to execute when the input is read. The Record Explorer can be used to discover record and attribute names available for use in SqlPlus queries."
},
"type": {
"const": "query"
}
},
"required": [
"command"
],
"description": "Settings qualifier for an IP21 query input"
},
{
"type": "object",
"description": "Settings qualifier for an IP21 agent version input",
"properties": {
"type": {
"const": "agent-version"
}
},
"required": [
"type"
]
}
],
"properties": {}
},
{
"type": "object",
"properties": {
"instruction": {
"type": "string",
"description": "Optional prompt or instructions to guide the model's response."
},
"message": {
"type": "string",
"description": "The message to be sent to the model. This is the input the model will process based on the instructions."
},
"modelType": {
"type": "string",
"description": "An identifier for the model to use. This is typically a model name or ID provided by the model host."
},
"responseFormat": {
"$ref": "#/$defs/AIResponseFormat",
"description": "The format in which the model should respond. When set to json, the connection attempts to parse the response as JSON; if the response is not valid JSON, the read fails."
}
},
"required": [
"message",
"modelType",
"responseFormat"
],
"description": "Settings for an AI model input using OpenAI."
},
{
"type": "object",
"properties": {
"instruction": {
"type": "string",
"description": "Optional prompt or instructions to guide the model's response."
},
"message": {
"type": "string",
"description": "The message to be sent to the model. This is the input the model will process based on the instructions."
},
"modelType": {
"type": "string",
"description": "An identifier for the model to use. This is typically a model name or ID provided by the model host."
},
"responseFormat": {
"$ref": "#/$defs/AIResponseFormat",
"description": "The format in which the model should respond. When set to json, the connection attempts to parse the response as JSON; if the response is not valid JSON, the read fails."
}
},
"required": [
"message",
"modelType",
"responseFormat"
],
"description": "Settings for an AI model input using Amazon Bedrock."
},
{
"type": "object",
"properties": {
"instruction": {
"type": "string",
"description": "Optional prompt or instructions to guide the model's response."
},
"message": {
"type": "string",
"description": "The message to be sent to the model. This is the input the model will process based on the instructions."
},
"modelType": {
"type": "string",
"description": "An identifier for the model to use. This is typically a model name or ID provided by the model host."
},
"responseFormat": {
"$ref": "#/$defs/AIResponseFormat",
"description": "The format in which the model should respond. When set to json, the connection attempts to parse the response as JSON; if the response is not valid JSON, the read fails."
}
},
"required": [
"message",
"modelType",
"responseFormat"
],
"description": "Settings for an AI model input using Google Gemini."
},
{
"type": "object",
"properties": {
"instruction": {
"type": "string",
"description": "Optional prompt or instructions to guide the model's response."
},
"message": {
"type": "string",
"description": "The message to be sent to the model. This is the input the model will process based on the instructions."
},
"modelType": {
"type": "string",
"description": "An identifier for the model to use. This is typically a model name or ID provided by the model host."
},
"responseFormat": {
"$ref": "#/$defs/AIResponseFormat",
"description": "The format in which the model should respond. When set to json, the connection attempts to parse the response as JSON; if the response is not valid JSON, the read fails."
}
},
"required": [
"message",
"modelType",
"responseFormat"
],
"description": "Settings for an AI model input using Azure OpenAI."
},
{
"$ref": "#/$defs/SQLQuerySettings"
},
{
"type": "object",
"properties": {
"index": {
"$ref": "#/$defs/SQLIndex",
"description": "Optional read-progress tracking for this query."
},
"query": {
"type": "string",
"description": "The full SQL query, which can include any SQL syntax including stored procedures."
},
"type": {
"$ref": "#/$defs/InputType",
"description": "The kind of SQL input: query, cdc (change data capture), or storedProcedure. Which values are supported depends on the database engine."
}
},
"required": [
"query",
"type"
],
"description": "Settings for a plain SQL query input against a SQLite database."
},
{
"type": "object",
"properties": {
"index": {
"$ref": "#/$defs/SQLIndex",
"description": "Optional read-progress tracking for this query."
},
"query": {
"type": "string",
"description": "The full SQL query, which can include any SQL syntax including stored procedures."
},
"type": {
"$ref": "#/$defs/InputType",
"description": "The kind of SQL input: query, cdc (change data capture), or storedProcedure. Which values are supported depends on the database engine."
}
},
"required": [
"query",
"type"
],
"description": "Settings for a plain SQL query input against a MySQL database."
},
{
"type": "object",
"properties": {
"index": {
"$ref": "#/$defs/SQLIndex",
"description": "Optional read-progress tracking for this query."
},
"query": {
"type": "string",
"description": "The full SQL query, which can include any SQL syntax including stored procedures."
},
"type": {
"$ref": "#/$defs/InputType",
"description": "The kind of SQL input: query, cdc (change data capture), or storedProcedure. Which values are supported depends on the database engine."
}
},
"required": [
"query",
"type"
],
"description": "Settings for a plain SQL query input against a TimescaleDB database."
},
{
"type": "object",
"properties": {
"index": {
"$ref": "#/$defs/SQLIndex",
"description": "Optional read-progress tracking for this query."
},
"query": {
"type": "string",
"description": "The full SQL query, which can include any SQL syntax including stored procedures."
},
"type": {
"$ref": "#/$defs/InputType",
"description": "The kind of SQL input: query, cdc (change data capture), or storedProcedure. Which values are supported depends on the database engine."
}
},
"required": [
"query",
"type"
],
"description": "Settings for a plain SQL query input against a Google BigQuery database."
},
{
"type": "object",
"properties": {
"index": {
"$ref": "#/$defs/SQLIndex",
"description": "Optional read-progress tracking for this query."
},
"query": {
"type": "string",
"description": "The full SQL query, which can include any SQL syntax including stored procedures."
},
"type": {
"$ref": "#/$defs/InputType",
"description": "The kind of SQL input: query, cdc (change data capture), or storedProcedure. Which values are supported depends on the database engine."
}
},
"required": [
"query",
"type"
],
"description": "Settings for a plain SQL query input against an Amazon Redshift database."
},
{
"type": "object",
"properties": {
"index": {
"$ref": "#/$defs/SQLIndex",
"description": "Optional read-progress tracking for this query."
},
"query": {
"type": "string",
"description": "The full SQL query, which can include any SQL syntax including stored procedures."
},
"type": {
"$ref": "#/$defs/InputType",
"description": "The kind of SQL input: query, cdc (change data capture), or storedProcedure. Which values are supported depends on the database engine."
}
},
"required": [
"query",
"type"
],
"description": "Settings for a plain SQL query input against a Snowflake database over JDBC."
},
{
"anyOf": [
{
"$ref": "#/$defs/SQLQuerySettings"
},
{
"type": "object",
"properties": {
"maxTransactions": {
"type": "integer",
"description": "The maximum number of transaction (SCN) changes retrieved per read. Set to zero to retrieve all available transactions."
},
"startingTimestamp": {
"type": "string",
"description": "Where CDC begins, as an ISO-8601 timestamp or Unix epoch milliseconds; automatically converted to Oracle SCN format."
},
"tableNames": {
"description": "The fully-qualified names of the tables to capture changes from.",
"type": "array",
"items": {
"type": "string"
}
},
"type": {
"$ref": "#/$defs/InputType",
"description": "The kind of SQL input: query, cdc (change data capture), or storedProcedure. Which values are supported depends on the database engine."
}
},
"required": [
"maxTransactions",
"startingTimestamp",
"tableNames",
"type"
],
"description": "Settings qualifier for an Oracle SQL change data capture (CDC) input"
},
{
"type": "object",
"properties": {
"inputParams": {
"description": "The input parameters to pass to the stored procedure. Names must match the Oracle parameter names and are case-sensitive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The parameter name as declared by the stored procedure."
},
"value": {
"type": "string",
"description": "The value to pass for this parameter."
}
},
"required": [
"name",
"value"
],
"description": "A named input parameter passed to an Oracle stored procedure"
}
},
"procedureName": {
"type": "string",
"description": "The name of the stored procedure to call. This value is case-sensitive."
},
"type": {
"$ref": "#/$defs/InputType",
"description": "The kind of SQL input: query, cdc (change data capture), or storedProcedure. Which values are supported depends on the database engine."
}
},
"required": [
"procedureName",
"type"
],
"description": "Settings qualifier for calling an Oracle SQL stored procedure as an input"
}
],
"properties": {}
},
{
"anyOf": [
{
"$ref": "#/$defs/SQLQuerySettings"
},
{
"type": "object",
"properties": {
"maxTransactions": {
"type": "integer",
"description": "The maximum number of transaction (LSN) changes retrieved per read. Each transaction may have multiple changes/rows associated with it."
},
"tableName": {
"type": "string",
"description": "The fully-qualified name of the table to capture changes from."
},
"type": {
"$ref": "#/$defs/InputType",
"description": "The kind of SQL input: query, cdc (change data capture), or storedProcedure. Which values are supported depends on the database engine."
}
},
"required": [
"maxTransactions",
"tableName",
"type"
],
"description": "Settings qualifier for a SQL Server change data capture (CDC) input"
}
],
"properties": {}
},
{
"anyOf": [
{
"$ref": "#/$defs/SQLQuerySettings"
},
{
"type": "object",
"properties": {
"maxTransactions": {
"type": "integer",
"description": "The maximum number of transaction (LSN) changes retrieved per read."
},
"publicationName": {
"type": "string",
"description": "The name of the publication used to filter change events from the replication slot."
},
"slotName": {
"type": "string",
"description": "The name of the replication slot where change events are written to from the WAL (Write Ahead Log)."
},
"type": {
"$ref": "#/$defs/InputType",
"description": "The kind of SQL input: query, cdc (change data capture), or storedProcedure. Which values are supported depends on the database engine."
}
},
"required": [
"maxTransactions",
"publicationName",
"slotName",
"type"
],
"description": "Settings qualifier for a PostgreSQL change data capture (CDC) input"
}
],
"properties": {}
},
{
"type": "object",
"properties": {
"index": {
"$ref": "#/$defs/SQLIndex",
"description": "Optional read-progress tracking for this query."
},
"query": {
"type": "string",
"description": "The full SQL query, which can include any SQL syntax including stored procedures."
},
"type": {
"$ref": "#/$defs/InputType",
"description": "The kind of SQL input: query, cdc (change data capture), or storedProcedure. Which values are supported depends on the database engine."
}
},
"required": [
"query",
"type"
],
"description": "Settings for a plain SQL query input against a Databricks SQL warehouse."
},
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The Flux query used to read data from InfluxDB."
}
},
"required": [
"query"
],
"description": "Settings qualifier for an InfluxDB input"
},
{
"type": "object",
"properties": {
"includeMetaData": {
"type": "boolean",
"description": "When enabled, includes Event Hub message metadata alongside the value."
},
"partitionId": {
"type": "string",
"description": "Optional Event Hub partition to consume from. When blank, all partitions are consumed."
}
},
"required": [
"includeMetaData"
],
"description": "Settings qualifier for an Azure Event Hubs input"
},
{
"type": "object",
"description": "Settings qualifier for an Azure IoT Hub input",
"properties": {}
},
{
"type": "object",
"properties": {
"sink": {
"type": "string",
"description": "The IoT Edge module input sink to receive messages on."
}
},
"required": [
"sink"
],
"description": "Settings qualifier for an Azure IoT Edge input"
},
{
"anyOf": [
{
"type": "object",
"properties": {
"includeTopic": {
"type": "boolean",
"description": "When enabled, includes the topic each message was received on alongside the value."
},
"payloadType": {
"$ref": "#/$defs/MqttPayloadType",
"description": "The format to decode the message payload as."
},
"qos": {
"type": "integer",
"description": "The MQTT quality of service level to subscribe with: 0 (at most once), 1 (at least once), or 2 (exactly once)."
},
"topic": {
"type": "string",
"description": "The MQTT topic to subscribe to."
},
"inputType": {
"const": "LastPublish"
}
},
"required": [
"includeTopic",
"payloadType",
"qos",
"topic"
],
"description": "Settings qualifier for an MQTT Last Publish input. Returns the last message received on the topic."
},
{
"type": "object",
"properties": {
"includeTopic": {
"type": "boolean",
"description": "When enabled, includes the topic each message was received on alongside the value."
},
"payloadType": {
"$ref": "#/$defs/MqttPayloadType",
"description": "The format to decode the message payload as."
},
"qos": {
"type": "integer",
"description": "The MQTT quality of service level to subscribe with: 0 (at most once), 1 (at least once), or 2 (exactly once)."
},
"topic": {
"type": "string",
"description": "The MQTT topic to subscribe to."
},
"inputType": {
"const": "Branch"
}
},
"required": [
"includeTopic",
"payloadType",
"qos",
"topic",
"inputType"
],
"description": "Settings qualifier for an MQTT Branch input. Requires a wildcard in the topic and returns the last message for each child topic."
},
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "The MQTT topic to browse. Supports wildcards to discover child topics."
},
"inputType": {
"const": "Browse"
}
},
"description": "Settings qualifier for an MQTT Browse input",
"required": [
"inputType"
]
}
],
"properties": {}
},
{
"anyOf": [
{
"type": "object",
"properties": {
"_sourceName": {
"type": "string"
},
"identifier": {
"anyOf": [
{
"$ref": "#/$defs/OpcUaNodeIdentifier"
},
{
"$ref": "#/$defs/OpcUaPathIdentifier"
}
]
},
"isComplex": {
"type": "boolean"
},
"samplingInterval": {
"$ref": "#/$defs/Interval"
},
"type": {
"const": "Tag"
}
}
},
{
"type": "object",
"properties": {
"_sourceName": {
"type": "string"
},
"collection": {
"type": "array",
"items": {
"type": "object",
"properties": {
"identifier": {
"anyOf": [
{
"$ref": "#/$defs/OpcUaNodeIdentifier"
},
{
"$ref": "#/$defs/OpcUaPathIdentifier"
}
]
},
"name": {
"type": "string"
}
}
}
},
"ignoreBadQuality": {
"type": "boolean"
},
"isComplex": {
"type": "boolean"
},
"samplingInterval": {
"$ref": "#/$defs/Interval"
},
"type": {
"const": "Collection"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"_sourceName": {
"type": "string"
},
"browseVariableNodes": {
"type": "boolean"
},
"cacheInterval": {
"$ref": "#/$defs/Interval"
},
"identifier": {
"anyOf": [
{
"$ref": "#/$defs/OpcUaNodeIdentifier"
},
{
"$ref": "#/$defs/OpcUaPathIdentifier"
}
]
},
"ignoreBadQuality": {
"type": "boolean"
},
"isComplex": {
"type": "boolean"
},
"maxDepth": {
"type": "integer"
},
"type": {
"const": "Branch"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"_sourceName": {
"type": "string"
},
"identifier": {
"$ref": "#/$defs/OpcUaNodeIdentifier"
},
"method": {
"type": "object",
"properties": {
"identifier": {
"$ref": "#/$defs/OpcUaNodeIdentifier"
},
"inputArguments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"dataType": {
"type": "string",
"enum": [
"Implicit",
"Auto",
"Boolean",
"String",
"Int8",
"Int16",
"Int32",
"Int64",
"UInt8",
"UInt16",
"UInt32",
"UInt64",
"Real32",
"Real64",
"DateTime",
"NodeId"
]
},
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
},
"outputArguments": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"type": {
"const": "Method"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"_sourceName": {
"type": "string"
},
"filter": {
"type": "array",
"items": {
"type": "string"
}
},
"identifier": {
"$ref": "#/$defs/OpcUaNodeIdentifier"
},
"type": {
"const": "Event"
}
},
"required": [
"type"
]
}
],
"properties": {}
},
{
"type": "object",
"properties": {
"acceptType": {
"type": "string",
"description": "Sets the Accept header in the HTTP request unless set in Header. Response type mismatch between the request and response will produce an error. Use */* to process according to server response. Allowed values: */*, application/octet-stream, application/json, text/plain, application/xml."
},
"body": {
"type": "string",
"description": "The HTTP spec does not support GET and DELETE having a body. The field is provided here for compatibility with the widest range of HTTP servers."
},
"contentType": {
"type": "string",
"description": "Sets the Content-Type header in the HTTP request. Allowed values: application/json, application/xml."
},
"endpointURL": {
"type": "string",
"description": "The endpoint to send the request to (for example /routes/myendpoint). A leading / is not required but recommended."
},
"header": {
"description": "Optional list of HTTP headers to include on the request.",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
},
"includeMetadata": {
"type": "boolean",
"description": "When enabled, the response includes the raw value, status code, and headers."
},
"isFile": {
"type": "boolean",
"description": "When enabled, reads the response as a file rather than parsing it."
},
"method": {
"type": "string",
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"description": "HTTP method to use when sending the request."
}
},
"required": [
"acceptType",
"contentType",
"endpointURL",
"includeMetadata",
"isFile",
"method"
],
"description": "Settings qualifier for a REST Client input"
},
{
"type": "object",
"properties": {
"filter": {
"description": "Optional list of name/value pairs used to filter which incoming webhook requests this input receives.",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
},
"includeMetadata": {
"type": "boolean",
"description": "When enabled, includes webhook request metadata alongside the value."
}
},
"required": [
"includeMetadata"
],
"description": "Settings qualifier for a Webhook input"
},
{
"type": "object",
"properties": {
"deviceId": {
"type": "string",
"description": "The Sparkplug device id to read from."
},
"edgeNodeId": {
"type": "string",
"description": "If blank, inherits from connection. If blank in connection, Defaults to the hostname of the system where HighByte Intelligence Hub is running."
},
"groupId": {
"type": "string",
"description": "If blank, inherits from connection. If blank in connection Defaults to \"HighByte IntelligenceHub\""
},
"includeMetadata": {
"type": "boolean",
"description": "Returns the edge, group, and device information in the payload when enabled."
},
"includeProperties": {
"type": "boolean",
"description": "Returns properties of each metric in the payload when enabled. For example quality, units of measure, etc."
},
"messageType": {
"type": "string",
"enum": [
"Data",
"Cmd",
"Raw"
],
"description": "The Sparkplug message type to read: Data, Cmd, or Raw."
},
"metricName": {
"type": "string",
"description": "The name of the metric to read. Required unless the message type is Raw."
}
},
"required": [
"includeMetadata",
"includeProperties",
"messageType"
],
"description": "Settings qualifier for a Sparkplug input"
},
{
"anyOf": [
{
"type": "object",
"properties": {
"options": {
"allOf": [
{
"type": "object",
"properties": {
"attributes": {
"description": "Return only these attributes in the results. When left blank all attributes are returned.",
"type": "array",
"items": {
"type": "string"
}
},
"database": {
"type": "string",
"description": "The AF database to query. When blank, the connection's default database is used."
},
"endTime": {
"type": "string",
"description": "The end time for interpolated or raw value reads."
},
"get": {
"type": "string",
"enum": [
"currentValue",
"interpolate",
"rawValues"
],
"description": "How to read asset attribute values: currentValue, interpolate, or rawValues."
},
"includeChildren": {
"type": "boolean",
"description": "When enabled, includes child assets in the results. Not affected by the paging settings."
},
"includeMetaData": {
"type": "boolean",
"description": "When enabled, includes asset metadata alongside the value."
},
"index": {
"type": "boolean",
"description": "Enables automatic indexing of the read. The Start Time and End Time are broken into time segments given the Index Window. The read starts at the Start Time and each reads the current Index Window of data, incrementing the Index Window for the next read until the End Time is reached."
},
"indexWindow": {
"type": "string",
"description": "The time window used for each indexed read segment."
},
"interval": {
"type": "string",
"description": "The sampling interval used for interpolated reads."
},
"pageSize": {
"type": "integer",
"description": "The number of assets to return per page when paging. Zero means return everything."
},
"paging": {
"type": "boolean",
"description": "Enables paging to control how many Assets are returned from the query. Zero for index and size means return everything. Include Children does not respect the page settings."
},
"query": {
"type": "string",
"description": "The AF search query used to select assets."
},
"startIndex": {
"type": "integer",
"description": "The zero-based page index to start from when paging. Zero means return everything."
},
"startTime": {
"type": "string",
"description": "The start time for interpolated or raw value reads."
}
},
"required": [
"get",
"includeChildren",
"includeMetaData",
"index",
"pageSize",
"paging",
"query",
"startIndex"
],
"description": "Options for a PI System asset input"
},
{
"description": "The asset read options."
}
]
},
"type": {
"const": "asset"
}
},
"required": [
"options"
],
"description": "Settings qualifier for a PI System asset input"
},
{
"type": "object",
"properties": {
"options": {
"allOf": [
{
"type": "object",
"properties": {
"database": {
"type": "string",
"description": "The AF database to query. When blank, the connection's default database is used."
},
"query": {
"type": "string",
"description": "The AF search query used to select assets to monitor for changes."
},
"subscriptionId": {
"type": "string",
"description": "A unique identifier for the subscription. This is used by the agent to track the subscription."
}
},
"required": [
"query",
"subscriptionId"
],
"description": "Options for a PI System asset changes input"
},
{
"description": "The asset changes read options."
}
]
},
"type": {
"const": "assetdatapipe"
}
},
"required": [
"options",
"type"
],
"description": "Settings qualifier for a PI System asset changes input"
},
{
"type": "object",
"properties": {
"options": {
"allOf": [
{
"type": "object",
"properties": {
"database": {
"type": "string",
"description": "The AF database to query. When blank, the connection's default database is used."
},
"includeAttributes": {
"type": "boolean",
"description": "When enabled, includes asset attributes in the metadata results."
},
"includeChildren": {
"type": "boolean",
"description": "When enabled, includes child assets in the results. Not affected by the paging settings."
},
"pageSize": {
"type": "integer",
"description": "The number of assets to return per page when paging. Zero means return everything."
},
"paging": {
"type": "boolean",
"description": "Enables paging to control how many Assets are returned from the query. Zero for index and size means return everything. Include Children does not respect the page settings."
},
"query": {
"type": "string",
"description": "The AF search query used to select assets."
},
"startIndex": {
"type": "integer",
"description": "The zero-based page index to start from when paging. Zero means return everything."
}
},
"required": [
"includeAttributes",
"includeChildren",
"pageSize",
"paging",
"query",
"startIndex"
],
"description": "Options for a PI System asset metadata input"
},
{
"description": "The asset metadata read options."
}
]
},
"type": {
"const": "assetmetadata"
}
},
"required": [
"options",
"type"
],
"description": "Settings qualifier for a PI System asset metadata input"
},
{
"type": "object",
"properties": {
"options": {
"allOf": [
{
"type": "object",
"properties": {
"database": {
"type": "string",
"description": "The AF database to query."
},
"includeChildren": {
"type": "boolean",
"description": "When enabled, includes child event frames in the results. Not affected by the paging settings."
},
"pageSize": {
"type": "integer",
"description": "The number of events to return per page when paging. Zero means return everything."
},
"paging": {
"type": "boolean",
"description": "Enables paging to control how many Events are returned from the query. Zero for index and size means return everything. Include Children does not respect the page settings."
},
"query": {
"type": "string",
"description": "The AF search query used to select event frames."
},
"startIndex": {
"type": "integer",
"description": "The zero-based page index to start from when paging. Zero means return everything."
}
},
"required": [
"database",
"includeChildren",
"pageSize",
"paging",
"query",
"startIndex"
],
"description": "Options for a PI System event frame input"
},
{
"description": "The event frame read options."
}
]
},
"type": {
"const": "eventframe"
}
},
"required": [
"options",
"type"
],
"description": "Settings qualifier for a PI System event frame input"
},
{
"type": "object",
"properties": {
"options": {
"allOf": [
{
"type": "object",
"properties": {
"additionalMetadataProperties": {
"description": "Include additional metadata in the point read",
"type": "array",
"items": {
"type": "string"
}
},
"boundaryType": {
"type": "string",
"enum": [
"inside",
"outside",
"interpolated"
],
"description": "The boundary handling used for raw value reads: inside, outside, or interpolated."
},
"calcBasis": {
"type": "string",
"enum": [
"timeWeighted",
"eventWeighted"
],
"description": "The calculation basis used for summary reads: timeWeighted or eventWeighted."
},
"endTime": {
"type": "string",
"description": "The end time for interpolated, raw, or summary reads."
},
"format": {
"$ref": "#/$defs/PiDataFormat",
"description": "Controls the format of the incoming data. Use Parquet when working with memory heavy payloads."
},
"get": {
"type": "string",
"enum": [
"currentValue",
"rawValues",
"interpolate",
"total",
"average",
"min",
"max",
"range",
"stdDev",
"count",
"percentGood"
],
"description": "The read method or summary calculation to apply to the points."
},
"includeMetaData": {
"type": "boolean",
"description": "Include the following metadata in the point read: pointID, descriptor, pointtype, engunits, span, zero, ptclassname, pointsource"
},
"index": {
"type": "boolean",
"description": "Enables automatic indexing of the read. The Start Time and End Time are broken into time segments given the Index Window. The read starts at the Start Time and each reads the current Index Window of data, incrementing the Index Window for the next read until the End Time is reached."
},
"indexWindow": {
"type": "string",
"description": "The time window used for each indexed read segment."
},
"interval": {
"type": "string",
"description": "The sampling interval used for interpolated reads."
},
"points": {
"description": "The static list of point names to read from. Used when Use Reference is disabled.",
"type": "array",
"items": {
"type": "string"
}
},
"reference": {
"type": "string",
"description": "Read the point list from an external source. Requires the reference to return an array of point names."
},
"startTime": {
"type": "string",
"description": "The start time for interpolated, raw, or summary reads."
},
"useReference": {
"type": "boolean",
"description": "When enabled, the point list is read in from an external source through a dynamic reference. If it's disabled, the point list is specified using a static list."
}
},
"required": [
"get",
"includeMetaData",
"index",
"indexWindow",
"useReference"
],
"description": "Options for a PI System point input"
},
{
"description": "The point read options."
}
]
},
"type": {
"const": "point"
}
},
"required": [
"options",
"type"
],
"description": "Settings qualifier for a PI System point input"
},
{
"type": "object",
"properties": {
"options": {
"allOf": [
{
"type": "object",
"properties": {
"format": {
"$ref": "#/$defs/PiDataFormat",
"description": "Controls the format of the incoming data. Use Parquet when working with memory heavy payloads."
},
"maxPerRead": {
"type": "integer",
"description": "The maximum number of changes to read per read operation. If not specified, a maximum of 100,000 changes will be read."
},
"points": {
"description": "The static list of point names to monitor for changes. Used when Use Reference is disabled.",
"type": "array",
"items": {
"type": "string"
}
},
"reference": {
"type": "string",
"description": "Read the point list from an external source. Requires the reference to return an array of point names."
},
"subscriptionId": {
"type": "string",
"description": "A unique identifier for the subscription. This is used by the agent to track the subscription."
},
"useReference": {
"type": "boolean",
"description": "When enabled, the point list is read in from an external source through a dynamic reference. If it's disabled, the point list is specified using a static list."
}
},
"required": [
"maxPerRead",
"subscriptionId",
"useReference"
],
"description": "Options for a PI System point changes input"
},
{
"description": "The point changes read options."
}
]
},
"type": {
"const": "pointdatapipe"
}
},
"required": [
"options",
"type"
],
"description": "Settings qualifier for a PI System point changes input"
},
{
"type": "object",
"properties": {
"options": {
"allOf": [
{
"type": "object",
"properties": {
"additionalMetadataProperties": {
"description": "Include additional metadata in the point browse",
"type": "array",
"items": {
"type": "string"
}
},
"includeMetaData": {
"type": "boolean",
"description": "When enabled, includes point metadata alongside the browse results."
},
"query": {
"type": "string",
"description": "Filter used to browse the archive."
}
},
"required": [
"includeMetaData",
"query"
],
"description": "Options for a PI System point browse input"
},
{
"description": "The point browse options."
}
]
},
"type": {
"const": "pointbrowse"
}
},
"required": [
"options",
"type"
],
"description": "Settings qualifier for a PI System point browse input"
},
{
"type": "object",
"properties": {
"options": {
"allOf": [
{
"type": "object",
"properties": {
"names": {
"description": "Optional: names of specific digital state sets to read. If none are added, all state sets are returned.",
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Options for a PI System digital state table input"
},
{
"description": "The digital state table read options."
}
]
},
"type": {
"const": "digitalstatetable"
}
},
"required": [
"options",
"type"
],
"description": "Settings qualifier for a PI System digital state table input"
}
],
"properties": {}
},
{
"type": "object",
"properties": {
"bitLength": {
"type": "integer",
"description": "Bit length per value: 16, 32, or 64. Only applies to input/holding registers (start address beginning with 3 or 4)."
},
"count": {
"type": "integer",
"description": "Number of consecutive registers or coils to read."
},
"startAddress": {
"type": "string",
"description": "Starting Modbus address to read from. The leading digit selects the register type (0/1 for coils/discrete inputs, 3/4 for input/holding registers)."
},
"treatAsSigned": {
"type": "boolean",
"description": "When enabled, treats register values as signed. Only applies to input/holding registers (start address beginning with 3 or 4)."
},
"unitId": {
"type": "integer",
"description": "Optionally override the connection Unit Id. If the value is -1 the connection Unit Id is used."
}
},
"required": [
"bitLength",
"count",
"startAddress",
"treatAsSigned",
"unitId"
],
"description": "Settings qualifier for a Modbus TCP input"
},
{
"type": "object",
"properties": {
"csvFileName": {
"type": "string",
"description": "The name of the CSV file to read, matched as a regular expression."
},
"delimiter": {
"type": "string",
"description": "The character used to separate individual field values. Supports the following escaped characters: \\t (Tab), \\r (Return), and \\n (Newline). Only the first character will be used as a delimiter."
},
"encoding": {
"$ref": "#/$defs/FileEncodingType",
"description": "The character set used to decode the file contents. Use Auto to decode using the file's BOM."
},
"escape": {
"type": "string",
"description": "The character used for escape characters. Leave this field blank to disable escape characters. Supports the following escaped characters: \\t (Tab), \\r (Return), and \\n (Newline). Only the first character will be used as an escape."
},
"headers": {
"type": "string",
"description": "Optional comma-separated replacement headers to use instead of the file's own header row."
},
"indexFile": {
"type": "boolean",
"description": "When enabled, the file is moved to the connection's processed directory after being read."
},
"maxRows": {
"type": "integer",
"description": "The maximum number of rows to read from the file. Use 0 for no limit."
},
"maxRowsPerRead": {
"type": "integer",
"description": "The maximum number of rows to return per read."
},
"quote": {
"type": "string",
"description": "The character used for quoted elements. Leave this field blank to disable quote characters. Supports the following escaped characters: \\t (Tab), \\r (Return), and \\n (Newline). Only the first character will be used as a quote."
},
"relativePath": {
"type": "string",
"description": "The path, relative to the connection's base directory, to search for the file."
},
"skipLines": {
"type": "integer",
"description": "The number of lines to skip at the start of the file before reading data."
}
},
"required": [
"csvFileName",
"delimiter",
"encoding",
"indexFile",
"maxRows",
"maxRowsPerRead",
"skipLines"
],
"description": "Settings qualifier for a CSV file input"
},
{
"type": "object",
"properties": {
"indexFile": {
"type": "boolean",
"description": "When enabled, the file is moved to the connection's processed directory after being read."
},
"maxRowsPerRead": {
"type": "integer",
"description": "The maximum number of rows to return per read."
},
"parquetFileName": {
"type": "string",
"description": "The name of the Parquet file to read, matched as a regular expression."
},
"relativePath": {
"type": "string",
"description": "The path, relative to the connection's base directory, to search for the file."
}
},
"required": [
"indexFile",
"maxRowsPerRead",
"parquetFileName"
],
"description": "Settings qualifier for a Parquet file input"
},
{
"anyOf": [
{
"type": "object",
"properties": {
"includeMetadata": {
"type": "boolean",
"description": "When enabled, the tag value is nested under a \"value\" field alongside metadata fields: _tagName (tag path), _tagQuality (server quality), and _tagTimestamp (source, server, or fetch timestamp)."
},
"tagAddress": {
"type": "string",
"description": "The Ignition tag path to read from."
},
"type": {
"const": "path"
}
},
"required": [
"includeMetadata",
"tagAddress"
],
"description": "Settings qualifier for an Ignition tag path input"
},
{
"type": "object",
"properties": {
"includeMetadata": {
"type": "boolean",
"description": "When enabled, the tag value is nested under a \"value\" field alongside metadata fields: _tagName (tag path), _tagQuality (server quality), and _tagTimestamp (source, server, or fetch timestamp)."
},
"includes": {
"description": "Specifies the User Defined Types to match when searching the specified address. The input always produces a list of UDT instances. If empty, the list contains UDT instances of all types.",
"type": "array",
"items": {
"type": "string"
}
},
"tagAddress": {
"type": "string",
"description": "The Ignition tag path to read from."
},
"type": {
"const": "udt"
}
},
"required": [
"includeMetadata",
"tagAddress",
"type"
],
"description": "Settings qualifier for an Ignition UDT instances input"
}
],
"properties": {}
}
]
},
"referenceMap": {
"description": "Maps a dot-delimited path into the qualifier to a reference that will be resolved at read time to override the qualifier value at that path. Used to override non-string fields like enums.",
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"reference": {
"type": "string"
}
}
}
},
"template": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"params": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"pattern": {
"type": "string"
}
}
}
},
"reference": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Off",
"Dynamic",
"Static"
]
}
},
"description": "Templating configuration for this input. When type is Static, parameters are defined locally as key/value pairs. When type is Dynamic, parameters are pulled from a data source (e.g. SQL). When Off, no templating is applied."
},
"type": {
"type": "string"
}
},
"required": [
"qualifier",
"type"
],
"oneOf": [
{"properties": {"type": {"const": "kafka"}}},
{"properties": {"type": {"const": "aws.s3"}}},
{"properties": {"type": {"const": "azure.blob"}}},
{"properties": {"type": {"const": "file"}}},
{"properties": {"type": {"const": "nats"}}},
{"properties": {"type": {"const": "i3x"}}},
{"properties": {"type": {"const": "ip21"}}},
{"properties": {"type": {"const": "openai.ai"}}},
{"properties": {"type": {"const": "aws.bedrock"}}},
{"properties": {"type": {"const": "google.gemini"}}},
{"properties": {"type": {"const": "azure.openai"}}},
{"properties": {"type": {"const": "jdbc"}}},
{"properties": {"type": {"const": "jdbc.sqlite"}}},
{"properties": {"type": {"const": "jdbc.mysql"}}},
{"properties": {"type": {"const": "jdbc.timescaledb"}}},
{"properties": {"type": {"const": "jdbc.bigquery"}}},
{"properties": {"type": {"const": "jdbc.amazonredshift"}}},
{"properties": {"type": {"const": "jdbc.snowflake"}}},
{"properties": {"type": {"const": "jdbc.oracledatabase"}}},
{"properties": {"type": {"const": "jdbc.sqlserver"}}},
{"properties": {"type": {"const": "jdbc.postgresql"}}},
{"properties": {"type": {"const": "jdbc.databricks"}}},
{"properties": {"type": {"const": "influxdb"}}},
{"properties": {"type": {"const": "azure.eventhub"}}},
{"properties": {"type": {"const": "azure.iothub"}}},
{"properties": {"type": {"const": "azure.iotedge"}}},
{"properties": {"type": {"const": "mqtt"}}},
{"properties": {"type": {"const": "opc.tcp"}}},
{"properties": {"type": {"const": "rest.client"}}},
{"properties": {"type": {"const": "webhook.server"}}},
{"properties": {"type": {"const": "sparkplug"}}},
{"properties": {"type": {"const": "osisoft.afsdk"}}},
{"properties": {"type": {"const": "modbus.tcp"}}},
{"properties": {"type": {"const": "file.csv"}}},
{"properties": {"type": {"const": "file.parquet"}}},
{"properties": {"type": {"const": "inductive.ignition"}}}
]
}