{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/qlik-oss/schemas/refs/heads/main/qtcp/task.settings.lakehousemirror.schema.json", "title": "Lakehouse Mirror Task Settings", "description": "Schema for Lakehouse Mirror task settings configuration", "type": "object", "required": ["artifactsLocation", "platformConfig"], "properties": { "ddlHandlingPolicy": { "$ref": "task.settings.common.schema.json#/definitions/ddlHandlingPolicy" }, "artifactsSettings": { "$ref": "task.settings.common.schema.json#/definitions/artifactsSettings-Standard" }, "artifactsLocation": { "$ref": "task.settings.common.schema.json#/definitions/artifactsLocationWithDatabase" }, "catalogIntegration": { "$ref": "task.settings.common.schema.json#/definitions/catalogIntegration" }, "viewType": { "$ref": "task.settings.common.schema.json#/definitions/viewType" }, "platformConfig": { "type": "object", "description": "Platform settings", "required": ["connection", "platformType"], "properties": { "platformType": { "type": "string", "description": "Platform type", "enum": ["SNOWFLAKE", "DATABRICKS", "REDSHIFT"] }, "connection": { "type": "string", "description": "conenction reference" } } } }, "allOf": [ { "if": { "properties": { "platformConfig": { "properties": { "platformType": { "const": "SNOWFLAKE" } }, "required": ["platformType"] } }, "required": ["platformConfig"] }, "then": { "additionalProperties": false, "required": ["taskRuntime"], "properties": { "ddlHandlingPolicy": { "$ref": "task.settings.common.schema.json#/definitions/ddlHandlingPolicy" }, "artifactsSettings": { "$ref": "task.settings.common.schema.json#/definitions/artifactsSettings-Standard" }, "artifactsLocation": { "$ref": "task.settings.common.schema.json#/definitions/artifactsLocationWithDatabase" }, "taskRuntime": { "type": "object", "description": "Task runtime configuration", "additionalProperties": false, "required": ["warehouseSelection"], "properties": { "tableUpdateConcurrency": { "$ref": "task.settings.common.schema.json#/definitions/tableUpdateConcurrency" }, "warehouseSelection": { "$ref": "task.settings.common.schema.json#/definitions/warehouseSelection" } } }, "catalogIntegration": { "$ref": "task.settings.common.schema.json#/definitions/catalogIntegration" }, "viewType": { "$ref": "task.settings.common.schema.json#/definitions/viewType" }, "platformConfig": { "type": "object", "description": "Platform settings", "additionalProperties": false, "required": ["connection", "platformType"], "properties": { "platformType": { "type": "string", "description": "Platform type", "const": "SNOWFLAKE" }, "connection": { "type": "string", "description": "conenction reference" }, "snowflakeIcebergSettings": { "type": "object", "description": "Snowflake iceberg settings", "additionalProperties": false, "properties": { "snowflakeExternalVolume": { "type": "string", "description": "Snowflake external volume" }, "snowflakeCatalogIntegration": { "type": "string", "description": "Snowflake catalog integration" }, "refreshMethod": { "type": "string", "description": "Refresh method", "enum": ["QLIK_MANAGED_REFRESH", "AUTO_REFRESH"] } } } } } } } }, { "if": { "properties": { "platformConfig": { "properties": { "platformType": { "const": "DATABRICKS" } }, "required": ["platformType"] } }, "required": ["platformConfig"] }, "then": { "additionalProperties": false, "properties": { "ddlHandlingPolicy": { "$ref": "task.settings.common.schema.json#/definitions/ddlHandlingPolicy" }, "artifactsSettings": { "$ref": "task.settings.common.schema.json#/definitions/artifactsSettings-Standard" }, "artifactsLocation": { "$ref": "task.settings.common.schema.json#/definitions/artifactsLocationWithDatabase" }, "catalogIntegration": { "$ref": "task.settings.common.schema.json#/definitions/catalogIntegration" }, "viewType": { "$ref": "task.settings.common.schema.json#/definitions/viewType" }, "platformConfig": { "type": "object", "description": "Platform settings", "additionalProperties": false, "required": ["connection", "platformType"], "properties": { "platformType": { "type": "string", "description": "Platform type", "const": "DATABRICKS" }, "connection": { "type": "string", "description": "conenction reference" }, "databricksIcebergSettings": { "type": "object", "description": "Databricks settings", "additionalProperties": false, "properties": { "databricksForeignCatalog": { "type": "string", "description": "Databricks foreign catalog" } } } } } } } }, { "if": { "properties": { "platformConfig": { "properties": { "platformType": { "const": "REDSHIFT" } }, "required": ["platformType"] } }, "required": ["platformConfig"] }, "then": { "additionalProperties": false, "properties": { "ddlHandlingPolicy": { "$ref": "task.settings.common.schema.json#/definitions/ddlHandlingPolicy" }, "artifactsSettings": { "$ref": "task.settings.common.schema.json#/definitions/artifactsSettings-Standard" }, "artifactsLocation": { "$ref": "task.settings.common.schema.json#/definitions/artifactsLocationWithDatabase" }, "catalogIntegration": { "$ref": "task.settings.common.schema.json#/definitions/catalogIntegration" }, "viewType": { "$ref": "task.settings.common.schema.json#/definitions/viewType" }, "platformConfig": { "type": "object", "description": "Platform settings", "additionalProperties": false, "required": ["connection", "platformType"], "properties": { "platformType": { "type": "string", "description": "Platform type", "const": "REDSHIFT" }, "connection": { "type": "string", "description": "conenction reference" }, "redshiftIcebergSettings": { "type": "object", "description": "Redshift iceberg settings", "additionalProperties": false, "properties": { "redshiftExternalSchema": { "type": "string", "description": "Redshift external schema" } } } } } } } } ] }