{ "$schema": "https://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/qlik-oss/schemas/refs/heads/main/qtcp/task.schema.json", "title": "Task Configuration", "description": "Schema for task configuration", "type": "object", "required": ["properties"], "oneOf": [ { "properties": { "properties": { "allOf": [ { "$ref": "#/$defs/BaseProperties" }, { "properties": {"type": { "const": "DATAMART" }}} ] }, "settings": { "$ref": "task.settings.datamart.schema.json" }, "modifiedByAi": { "$ref": "#/$defs/ModifiedByAi" } }, "required": ["properties", "settings"], "additionalProperties": false }, { "properties": { "properties": { "allOf": [ { "$ref": "#/$defs/BaseProperties" }, { "properties": {"type": { "const": "FILE_BASED_KNOWLEDGE_MART" }}} ] }, "settings": { "$ref": "task.settings.filebasedknowledgemart.schema.json" }, "modifiedByAi": { "$ref": "#/$defs/ModifiedByAi" } }, "required": ["properties", "settings"], "additionalProperties": false }, { "properties": { "properties": { "allOf": [ { "$ref": "#/$defs/BaseProperties" }, { "properties": {"type": { "const": "LAKEHOUSE_STORAGE" }}} ] }, "settings": { "$ref": "task.settings.lakehousestorage.schema.json" }, "modifiedByAi": { "$ref": "#/$defs/ModifiedByAi" } }, "required": ["properties", "settings"], "additionalProperties": false }, { "properties": { "properties": { "allOf": [ { "$ref": "#/$defs/BaseProperties" }, { "properties": {"type": { "const": "STREAMING_TRANSFORM" }}} ] }, "settings": { "$ref": "task.settings.streamingtransform.schema.json" }, "modifiedByAi": { "$ref": "#/$defs/ModifiedByAi" } }, "required": ["properties", "settings"], "additionalProperties": false }, { "properties": { "properties": { "allOf": [ { "$ref": "#/$defs/BaseProperties" }, { "properties": {"type": { "const": "KNOWLEDGE_MART" }}} ] }, "settings": { "$ref": "task.settings.knowledgemart.schema.json" }, "modifiedByAi": { "$ref": "#/$defs/ModifiedByAi" } }, "required": ["properties", "settings"], "additionalProperties": false }, { "properties": { "properties": { "allOf": [ { "$ref": "#/$defs/BaseProperties" }, { "properties": {"type": { "const": "LAKE_LANDING" }}} ] }, "settings": { "$ref": "task.settings.lakelanding.schema.json" }, "modifiedByAi": { "$ref": "#/$defs/ModifiedByAi" } }, "required": ["properties", "settings"], "additionalProperties": false }, { "properties": { "properties": { "allOf": [ { "$ref": "#/$defs/BaseProperties" }, { "properties": {"type": { "const": "LANDING" }}} ] }, "settings": { "$ref": "task.settings.landing.schema.json" }, "modifiedByAi": { "$ref": "#/$defs/ModifiedByAi" } }, "required": ["properties", "settings"], "additionalProperties": false }, { "properties": { "properties": { "allOf": [ { "$ref": "#/$defs/BaseProperties" }, { "properties": {"type": { "const": "LAKEHOUSE_MIRROR" }}} ] }, "settings": { "$ref": "task.settings.lakehousemirror.schema.json" }, "modifiedByAi": { "$ref": "#/$defs/ModifiedByAi" } }, "required": ["properties", "settings"], "additionalProperties": false }, { "properties": { "properties": { "allOf": [ { "$ref": "#/$defs/BaseProperties" }, { "properties": {"type": { "const": "QVD_STORAGE" }}} ] }, "settings": { "$ref": "task.settings.qvdstorage.schema.json" }, "modifiedByAi": { "$ref": "#/$defs/ModifiedByAi" } }, "additionalProperties": false }, { "properties": { "properties": { "allOf": [ { "$ref": "#/$defs/BaseProperties" }, { "properties": {"type": { "const": "REGISTERED_DATA" }}} ] }, "settings": { "$ref": "task.settings.registereddata.schema.json" }, "modifiedByAi": { "$ref": "#/$defs/ModifiedByAi" } }, "required": ["properties", "settings"], "additionalProperties": false }, { "properties": { "properties": { "allOf": [ { "$ref": "#/$defs/BaseProperties" }, { "properties": {"type": { "const": "REPLICATE_LANDING" }}} ] }, "settings": { "$ref": "task.settings.replicatelanding.schema.json" }, "modifiedByAi": { "$ref": "#/$defs/ModifiedByAi" } }, "required": ["properties", "settings"], "additionalProperties": false }, { "properties": { "properties": { "allOf": [ { "$ref": "#/$defs/BaseProperties" }, { "properties": {"type": { "const": "REPLICATION" }}} ] }, "settings": { "$ref": "task.settings.replication.schema.json" }, "modifiedByAi": { "$ref": "#/$defs/ModifiedByAi" } }, "required": ["properties", "settings"], "additionalProperties": false }, { "properties": { "properties": { "allOf": [ { "$ref": "#/$defs/BaseProperties" }, { "properties": {"type": { "const": "STORAGE" }}} ] }, "settings": { "$ref": "task.settings.storage.schema.json" }, "modifiedByAi": { "$ref": "#/$defs/ModifiedByAi" } }, "required": ["properties", "settings"], "additionalProperties": false }, { "properties": { "properties": { "allOf": [ { "$ref": "#/$defs/BaseProperties" }, { "properties": {"type": { "const": "STREAMING_LAKE_LANDING" }}} ] }, "settings": { "$ref": "task.settings.streaminglakelanding.schema.json" }, "modifiedByAi": { "$ref": "#/$defs/ModifiedByAi" } }, "required": ["properties", "settings"], "additionalProperties": false }, { "properties": { "properties": { "allOf": [ { "$ref": "#/$defs/BaseProperties" }, { "properties": {"type": { "const": "TRANSFORM" }}} ] }, "settings": { "$ref": "task.settings.transform.schema.json" }, "modifiedByAi": { "$ref": "#/$defs/ModifiedByAi" } }, "required": ["properties", "settings"], "additionalProperties": false } ], "$defs": { "ModifiedByAi": { "type": "object", "description": "Metadata describing the latest AI modification", "required": ["lastUpdated", "model"], "properties": { "lastUpdated": { "type": "string", "format": "date-time", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$", "description": "UTC timestamp of the latest AI modification" }, "model": { "type": "string", "minLength": 1, "description": "AI model that made the latest modification" } }, "additionalProperties": false }, "BaseProperties": { "type": "object", "description": "Basic properties", "required": ["type"], "additionalProperties": false, "properties": { "name": { "type": "string", "description": "Task name" }, "id": { "type": "string", "description": "Unique task identifier, to be used in other tasks", "examples": ["my_task_name-5ek3"] }, "description": { "type": "string", "description": "Task description" }, "type": { "type": "string", "description": "Task type", "enum": ["DATAMART","FILE_BASED_KNOWLEDGE_MART","LAKEHOUSE_STORAGE","STREAMING_TRANSFORM","KNOWLEDGE_MART","LAKE_LANDING","LANDING","LAKEHOUSE_MIRROR","QVD_STORAGE","REGISTERED_DATA","REPLICATE_LANDING","REPLICATION","STORAGE","STREAMING_LAKE_LANDING","TRANSFORM"] } } } } }