{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/rivery/main/json-schema/rivery-river-versions-schema.json", "title": "RiverVersions", "description": "River Versions properties to return.\n ", "x-generated": "2026-10-03", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/rivery-openapi.json#/components/schemas/RiverVersions", "properties": { "account_id": { "type": "string", "title": "Account Id", "description": "The account id of the river version" }, "user_info": { "anyOf": [ { "$ref": "#/$defs/UserInfo" }, { "type": "null" } ], "description": "Contains user name and user email information" }, "environment_id": { "type": "string", "title": "Environment Id", "description": "The environment id of the river version" }, "insert_date": { "type": "string", "format": "date-time", "title": "Insert Date", "description": "The insert date time of the river version in UTC timezone" }, "version_id": { "type": "string", "title": "Version Id", "description": "The version id of the river version" }, "previous_version": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Previous Version", "description": "The previous version id of the river version" }, "created_by": { "type": "string", "title": "Created By", "description": "The creator id of the river version" }, "river_id": { "type": "string", "title": "River Id", "description": "The river id of the river version" }, "restored_by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Restored By", "description": "The restore id of the river version" }, "restore_date": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Restore Date", "description": "The restore date time of the river version in UTC timezone" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name", "description": "Name of river version" }, "bookmarked": { "type": "boolean", "title": "Bookmarked", "description": "Flag indicating whether the river version is bookmarked or not", "default": false }, "river": { "anyOf": [ { "$ref": "#/$defs/LegacyRiverResponse" }, { "$ref": "#/$defs/RiverModel" } ], "title": "River", "description": "The definition of the river version" } }, "type": "object", "required": [ "account_id", "environment_id", "insert_date", "version_id", "created_by", "river_id", "river" ], "$defs": { "ActionProperties": { "properties": { "properties_type": { "const": "actions", "title": "Properties Type", "default": "actions" } }, "additionalProperties": false, "type": "object", "title": "ActionProperties", "description": "Action properties which define the action river properties" }, "ActionStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "type": { "const": "action", "title": "Type" }, "action_id": { "type": "string", "title": "Action Id" }, "input_variables": { "type": "object", "title": "Input Variables" }, "output_variables": { "type": "object", "title": "Output Variables" }, "interval_variables": { "type": "object", "title": "Interval Variables" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Id", "description": "The action connection id" } }, "type": "object", "required": [ "name", "type", "action_id" ], "title": "ActionStep", "description": "Action step schema" }, "AthenaModifiedColumn": { "properties": { "is_selected": { "type": "boolean", "title": "Is Selected", "description": "If the column is selected and should be modified." }, "name": { "type": "string", "title": "Name", "description": "The name of the column." }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Type", "description": "The type of the column." }, "alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Alias", "description": "The alias of the column in the target table." }, "expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expression", "description": "This tells us the column is an expression or not so we know if it suppose to exist in the source / target or is it auto generated." }, "is_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Key", "description": "If the column is a key." }, "cluster_key": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Cluster Key", "description": "The sort order of the column (number) in the cluster, used in the merge process to determine the order of the merge keys." }, "calculated_column_mode": { "anyOf": [ { "$ref": "#/$defs/CalculatedColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the calculated column.Help to identify if the column is source expression or target expression,required if the column is an expression." }, "order": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Order", "description": "The order of the column in the expression,required if the column is an expression." }, "mode": { "anyOf": [ { "$ref": "#/$defs/ColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the column in the target table" }, "is_rivery_metadata": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Rivery Metadata", "description": "Whether the column includes rivery metadata" }, "is_partition": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Partition", "description": "Indication if the column is a partition column", "default": false }, "target_type": { "const": "athena", "title": "Target Type", "description": "Internal field, populated automatically", "default": "athena" }, "bucket": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Bucket", "description": "If the column is a partition column in the target table" } }, "additionalProperties": false, "type": "object", "required": [ "is_selected", "name" ], "title": "AthenaModifiedColumn", "description": "Athena specific columns settings" }, "AthenaNoPartitionProperties": { "properties": { "partition_by": { "const": "none", "title": "Partition By" } }, "type": "object", "required": [ "partition_by" ], "title": "AthenaNoPartitionProperties", "description": "Athena No Partition Properties Schema" }, "AthenaPartitionByDateProperties": { "properties": { "partition_by": { "const": "date", "title": "Partition By" }, "partition_granularity": { "type": "string", "enum": [ "DAY", "MONTH", "YEAR" ], "title": "Partition Granularity" } }, "type": "object", "required": [ "partition_by", "partition_granularity" ], "title": "AthenaPartitionByDateProperties", "description": "Athena Partition By Date Properties Schema" }, "AthenaPartitionByTimestampProperties": { "properties": { "partition_by": { "const": "timestamp", "title": "Partition By" }, "partition_granularity": { "type": "string", "enum": [ "HOUR", "DAY", "MONTH", "YEAR" ], "title": "Partition Granularity" } }, "type": "object", "required": [ "partition_by", "partition_granularity" ], "title": "AthenaPartitionByTimestampProperties", "description": "Athena Partition By Timestamp Properties Schema" }, "AthenaSqlQueryStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "sql_query": { "type": "string", "title": "Sql Query" }, "type": { "const": "athena_sql_query", "title": "Type" }, "target_settings": { "oneOf": [ { "$ref": "#/$defs/AthenaTargetTableProperties" }, { "$ref": "#/$defs/TargetVariableProperties" } ], "title": "Target Settings" } }, "type": "object", "required": [ "name", "sql_query", "type", "target_settings", "connection_id" ], "title": "AthenaSqlQueryStep", "description": "Athena SQL Query Step Schema" }, "AthenaSqlScriptStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "sql_query": { "type": "string", "title": "Sql Query" }, "type": { "const": "athena_sql_script", "title": "Type" } }, "type": "object", "required": [ "name", "sql_query", "type", "connection_id" ], "title": "AthenaSqlScriptStep", "description": "Athena SQL Script Step Schema" }, "AthenaTableAdditionalTargetSettings": { "properties": { "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity,to filter duplications from the source data by the provided order expression (for `merge` loading method)." }, "target_loading": { "anyOf": [ { "$ref": "#/$defs/LoadingMode" }, { "type": "null" } ], "description": "The target loading of the table entity,if not specified the default loading mode of the riverwill be used." }, "target_type": { "const": "athena", "title": "Target Type", "description": "Internal field, populated automatically", "default": "athena" } }, "type": "object", "title": "AthenaTableAdditionalTargetSettings", "description": "Athena specific target settings" }, "AthenaTargetSettings": { "properties": { "name": { "const": "athena", "title": "Name", "description": "The name of the target", "default": "athena" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Id", "description": "The connection ID of this target" }, "connection_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Name", "description": "The connection name of this target" }, "single_table_settings": { "anyOf": [ { "$ref": "#/$defs/SingleTableSettings" }, { "type": "null" } ], "description": "Single table specific settings for the target" }, "table_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Table Name", "description": "The table name of this target (only relevant for non multi table source to target rivers)", "default": "" }, "target_prefix": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Target Prefix", "description": "The table prefix of this target (only relevant for multi table source to target rivers)", "default": "" }, "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity." }, "loading_method": { "allOf": [ { "$ref": "#/$defs/LoadingMode" } ], "description": "The loading method of this target" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethod" }, { "type": "null" } ], "description": "The merge method to preform,only relevant when the loading mode is Merge,if not provided the default merge method will be used.(merge)" }, "file_zone_settings": { "anyOf": [ { "$ref": "#/$defs/RiverFileZoneSettings" }, { "type": "null" } ], "description": "The file zone settings of this target" }, "file_path_destination": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Path Destination", "description": "The path to file" }, "additional_settings": { "type": "object", "title": "Additional Settings", "description": "The additional settings of this target", "default": {} }, "schema_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Schema Name", "description": "The schema name of this target" }, "bucket_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bucket Name", "description": "The bucket name" }, "replace_invalid_utf_characters": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Replace Invalid Utf Characters", "description": "Replace invalid utf-8 characters with Unicode replacement character" }, "truncate_columns": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Truncate Columns", "description": "Cut varchar values which are longer than the column definition" } }, "type": "object", "required": [ "loading_method" ], "title": "AthenaTargetSettings", "description": "Athena target settings properties to return." }, "AthenaTargetTableMergeSettings": { "properties": { "is_ordered_merge": { "type": "boolean", "title": "Is Ordered Merge", "description": "A flag that indicates whether the merge is ordered or not", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression" } }, "type": "object", "title": "AthenaTargetTableMergeSettings", "description": "Athena Target Table Merge Settings Schema" }, "AthenaTargetTableProperties": { "properties": { "target_type": { "const": "table", "title": "Target Type" }, "table_name": { "type": "string", "title": "Table Name" }, "drop_after": { "type": "boolean", "title": "Drop After", "description": "A flag that indicates whether to drop the table after the run or not", "default": false }, "schema_name": { "type": "string", "title": "Schema Name" }, "bucket_name": { "type": "string", "title": "Bucket Name" }, "file_path": { "type": "string", "title": "File Path" }, "loading_mode": { "type": "string", "enum": [ "append_only", "overwrite", "upsert_merge" ], "title": "Loading Mode", "default": "append_only" }, "merge_settings": { "anyOf": [ { "$ref": "#/$defs/AthenaTargetTableMergeSettings" }, { "type": "null" } ], "description": "The merge settings" }, "fields": { "items": { "type": "object" }, "type": "array", "title": "Fields", "description": "The mapping", "default": [] }, "partition_properties": { "oneOf": [ { "$ref": "#/$defs/AthenaPartitionByTimestampProperties" }, { "$ref": "#/$defs/AthenaPartitionByDateProperties" }, { "$ref": "#/$defs/AthenaNoPartitionProperties" } ], "title": "Partition Properties" }, "number_of_buckets": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Number Of Buckets", "description": "The number of buckets" } }, "type": "object", "required": [ "target_type", "table_name", "schema_name", "bucket_name", "file_path", "partition_properties" ], "title": "AthenaTargetTableProperties", "description": "Athena Target Table Properties Schema" }, "AzureBlobModifiedColumn": { "properties": { "is_selected": { "type": "boolean", "title": "Is Selected", "description": "If the column is selected and should be modified." }, "name": { "type": "string", "title": "Name", "description": "The name of the column." }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Type", "description": "The type of the column." }, "alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Alias", "description": "The alias of the column in the target table." }, "expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expression", "description": "This tells us the column is an expression or not so we know if it suppose to exist in the source / target or is it auto generated." }, "is_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Key", "description": "If the column is a key." }, "cluster_key": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Cluster Key", "description": "The sort order of the column (number) in the cluster, used in the merge process to determine the order of the merge keys." }, "calculated_column_mode": { "anyOf": [ { "$ref": "#/$defs/CalculatedColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the calculated column.Help to identify if the column is source expression or target expression,required if the column is an expression." }, "order": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Order", "description": "The order of the column in the expression,required if the column is an expression." }, "mode": { "anyOf": [ { "$ref": "#/$defs/ColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the column in the target table" }, "is_rivery_metadata": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Rivery Metadata", "description": "Whether the column includes rivery metadata" }, "target_type": { "const": "blob_storage", "title": "Target Type", "description": "Internal field, populated automatically", "default": "blob_storage" } }, "additionalProperties": false, "type": "object", "required": [ "is_selected", "name" ], "title": "AzureBlobModifiedColumn", "description": "Azure Blob specific columns settings" }, "AzureSQLSqlQueryStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "sql_query": { "type": "string", "title": "Sql Query" }, "type": { "const": "azure_sql_query", "title": "Type" }, "target_settings": { "oneOf": [ { "$ref": "#/$defs/TargetVariableProperties" }, { "$ref": "#/$defs/AzureSQLTargetTableProperties" } ], "title": "Target Settings" } }, "type": "object", "required": [ "name", "sql_query", "type", "target_settings", "connection_id" ], "title": "AzureSQLSqlQueryStep", "description": "Azure SQL SQL Query Step Schema" }, "AzureSQLSqlScriptStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "sql_query": { "type": "string", "title": "Sql Query" }, "type": { "const": "azure_sql_script", "title": "Type" } }, "type": "object", "required": [ "name", "sql_query", "type", "connection_id" ], "title": "AzureSQLSqlScriptStep", "description": "Azure SQL SQL Script Step Schema" }, "AzureSQLTargetTableMergeSettings": { "properties": { "is_ordered_merge": { "type": "boolean", "title": "Is Ordered Merge", "description": "A flag that indicates whether the merge is ordered or not", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression" }, "merge_method": { "type": "string", "title": "Merge Method", "description": "The merge method", "default": "merge" } }, "type": "object", "title": "AzureSQLTargetTableMergeSettings", "description": "Azure SQL Target Table Merge Settings Schema" }, "AzureSQLTargetTableProperties": { "properties": { "target_type": { "const": "table", "title": "Target Type" }, "table_name": { "type": "string", "title": "Table Name" }, "drop_after": { "type": "boolean", "title": "Drop After", "description": "A flag that indicates whether to drop the table after the run or not", "default": false }, "schema_name": { "type": "string", "title": "Schema Name", "description": "The schema name" }, "loading_mode": { "type": "string", "enum": [ "append_only", "overwrite", "upsert_merge" ], "title": "Loading Mode", "default": "append_only" }, "merge_settings": { "anyOf": [ { "$ref": "#/$defs/AzureSQLTargetTableMergeSettings" }, { "type": "null" } ], "description": "The merge settings" }, "fields": { "items": { "type": "object" }, "type": "array", "title": "Fields", "description": "The mapping", "default": [] } }, "type": "object", "required": [ "target_type", "table_name", "schema_name" ], "title": "AzureSQLTargetTableProperties", "description": "Azure SQL Target Table Properties Schema" }, "AzureSqlModifiedColumn": { "properties": { "is_selected": { "type": "boolean", "title": "Is Selected", "description": "If the column is selected and should be modified." }, "name": { "type": "string", "title": "Name", "description": "The name of the column." }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Type", "description": "The type of the column." }, "alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Alias", "description": "The alias of the column in the target table." }, "expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expression", "description": "This tells us the column is an expression or not so we know if it suppose to exist in the source / target or is it auto generated." }, "is_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Key", "description": "If the column is a key." }, "cluster_key": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Cluster Key", "description": "The sort order of the column (number) in the cluster, used in the merge process to determine the order of the merge keys." }, "calculated_column_mode": { "anyOf": [ { "$ref": "#/$defs/CalculatedColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the calculated column.Help to identify if the column is source expression or target expression,required if the column is an expression." }, "order": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Order", "description": "The order of the column in the expression,required if the column is an expression." }, "mode": { "anyOf": [ { "$ref": "#/$defs/ColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the column in the target table" }, "is_rivery_metadata": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Rivery Metadata", "description": "Whether the column includes rivery metadata" }, "target_type": { "const": "azure_sql", "title": "Target Type", "description": "Internal field, populated automatically", "default": "azure_sql" } }, "additionalProperties": false, "type": "object", "required": [ "is_selected", "name" ], "title": "AzureSqlModifiedColumn", "description": "AzureSql specific columns settings" }, "AzureSqlTableAdditionalTargetSettings": { "properties": { "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity,to filter duplications from the source data by the provided order expression (for `merge` loading method)." }, "target_loading": { "anyOf": [ { "$ref": "#/$defs/LoadingMode" }, { "type": "null" } ], "description": "The target loading of the table entity,if not specified the default loading mode of the riverwill be used." }, "target_type": { "const": "azure_sql", "title": "Target Type", "description": "Internal field, populated automatically", "default": "azure_sql" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethod" }, { "type": "null" } ], "description": "The merge method of the table, if not specified the default merge method of the riverwill be used." }, "recreate_keys": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Recreate Keys", "description": "Purge the keys in the table using the mapping keys, when running on overwrite", "default": false } }, "type": "object", "title": "AzureSqlTableAdditionalTargetSettings", "description": "Azure SQL specific target settings" }, "AzureSqlTargetSettings": { "properties": { "name": { "const": "azure_sql", "title": "Name", "description": "The name of the target", "default": "azure_sql" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Id", "description": "The connection ID of this target" }, "connection_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Name", "description": "The connection name of this target" }, "single_table_settings": { "anyOf": [ { "$ref": "#/$defs/SingleTableSettings" }, { "type": "null" } ], "description": "Single table specific settings for the target" }, "table_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Table Name", "description": "The table name of this target (only relevant for non multi table source to target rivers)", "default": "" }, "target_prefix": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Target Prefix", "description": "The table prefix of this target (only relevant for multi table source to target rivers)", "default": "" }, "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity." }, "loading_method": { "allOf": [ { "$ref": "#/$defs/LoadingMode" } ], "description": "The loading method of this target" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethod" }, { "type": "null" } ], "description": "The merge method to preform,only relevant when the loading mode is Merge,if not provided the default merge method will be used.(merge)" }, "file_zone_settings": { "anyOf": [ { "$ref": "#/$defs/RiverFileZoneSettings" }, { "type": "null" } ], "description": "The file zone settings of this target" }, "file_path_destination": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Path Destination", "description": "The file name and path" }, "additional_settings": { "type": "object", "title": "Additional Settings", "description": "The additional settings of this target", "default": {} }, "schema_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Schema Name", "description": "The schema name of this target" } }, "type": "object", "required": [ "loading_method" ], "title": "AzureSqlTargetSettings", "description": "Azure SQL target settings properties to return." }, "AzureSynapseAnalyticsModifiedColumn": { "properties": { "is_selected": { "type": "boolean", "title": "Is Selected", "description": "If the column is selected and should be modified." }, "name": { "type": "string", "title": "Name", "description": "The name of the column." }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Type", "description": "The type of the column." }, "alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Alias", "description": "The alias of the column in the target table." }, "expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expression", "description": "This tells us the column is an expression or not so we know if it suppose to exist in the source / target or is it auto generated." }, "is_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Key", "description": "If the column is a key." }, "cluster_key": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Cluster Key", "description": "The sort order of the column (number) in the cluster, used in the merge process to determine the order of the merge keys." }, "calculated_column_mode": { "anyOf": [ { "$ref": "#/$defs/CalculatedColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the calculated column.Help to identify if the column is source expression or target expression,required if the column is an expression." }, "order": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Order", "description": "The order of the column in the expression,required if the column is an expression." }, "mode": { "anyOf": [ { "$ref": "#/$defs/ColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the column in the target table" }, "is_rivery_metadata": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Rivery Metadata", "description": "Whether the column includes rivery metadata" }, "target_type": { "const": "azure_synapse_analytics", "title": "Target Type", "description": "Internal field, populated automatically", "default": "azure_synapse_analytics" }, "is_dist_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Dist Key", "description": "If the column is a unique Distkey column on which the table is distributed to each node" }, "cluster_index": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Cluster Index", "description": "Index of the column in the cluster key" }, "length": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Length", "description": "The length of VARCHAR columns." } }, "additionalProperties": false, "type": "object", "required": [ "is_selected", "name" ], "title": "AzureSynapseAnalyticsModifiedColumn", "description": "AzureSynapseAnalytics specific columns settings" }, "AzureSynapseAnalyticsTableAdditionalTargetSettings": { "properties": { "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity,to filter duplications from the source data by the provided order expression (for `merge` loading method)." }, "target_loading": { "anyOf": [ { "$ref": "#/$defs/LoadingMode" }, { "type": "null" } ], "description": "The target loading of the table entity,if not specified the default loading mode of the riverwill be used." }, "target_type": { "const": "azure_synapse_analytics", "title": "Target Type", "description": "Internal field, populated automatically", "default": "azure_synapse_analytics" }, "distribution_method": { "anyOf": [ { "$ref": "#/$defs/AzureSynapseDistributionMethodEnum" }, { "type": "null" } ], "description": "The distribution method of the target." }, "mapping_order": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Mapping Order", "description": "A list of column names which represents the Mapping order of the table." } }, "type": "object", "title": "AzureSynapseAnalyticsTableAdditionalTargetSettings", "description": "Azure Synapse Analytics specific target settings" }, "AzureSynapseAnalyticsTargetSettings": { "properties": { "name": { "const": "azure_synapse_analytics", "title": "Name", "description": "The name of the target", "default": "azure_synapse_analytics" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Id", "description": "The connection ID of this target" }, "connection_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Name", "description": "The connection name of this target" }, "single_table_settings": { "anyOf": [ { "$ref": "#/$defs/SingleTableSettings" }, { "type": "null" } ], "description": "Single table specific settings for the target" }, "table_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Table Name", "description": "The table name of this target (only relevant for non multi table source to target rivers)", "default": "" }, "target_prefix": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Target Prefix", "description": "The table prefix of this target (only relevant for multi table source to target rivers)", "default": "" }, "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity." }, "loading_method": { "allOf": [ { "$ref": "#/$defs/LoadingMode" } ], "description": "The loading method of this target" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethod" }, { "type": "null" } ], "description": "The merge method to preform,only relevant when the loading mode is Merge,if not provided the default merge method will be used.(merge)" }, "file_zone_settings": { "anyOf": [ { "$ref": "#/$defs/RiverFileZoneSettings" }, { "type": "null" } ], "description": "The file zone settings of this target" }, "file_path_destination": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Path Destination", "description": "The file name and path" }, "additional_settings": { "type": "object", "title": "Additional Settings", "description": "The additional settings of this target", "default": {} }, "schema_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Schema Name", "description": "The schema name of this target" }, "table_type": { "allOf": [ { "$ref": "#/$defs/AzureSynapseTableTypeEnum" } ], "description": "Table type column store or row store", "default": "columnstore" } }, "type": "object", "required": [ "loading_method" ], "title": "AzureSynapseAnalyticsTargetSettings", "description": "Azure Synapse Analytics target settings properties to return." }, "AzureSynapseCsvFileSettings": { "properties": { "file_type": { "const": "csv", "title": "File Type", "default": "csv" }, "file_delimiter": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Delimiter" }, "quote_char": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Quote Char" }, "include_header": { "type": "boolean", "title": "Include Header", "default": false }, "compression": { "type": "string", "enum": [ "none", "gzip" ], "title": "Compression", "description": "The compression type", "default": "none" } }, "type": "object", "title": "AzureSynapseCsvFileSettings", "description": "Azure Synapse CSV File Settings Schema" }, "AzureSynapseDistributionMethodEnum": { "type": "string", "enum": [ "hash", "round_robin", "replicate" ], "title": "AzureSynapseDistributionMethodEnum", "description": "Azure Synapse distribution methods" }, "AzureSynapseSqlQueryStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "sql_query": { "type": "string", "title": "Sql Query" }, "type": { "const": "azure_synapse_sql_query", "title": "Type" }, "target_settings": { "oneOf": [ { "$ref": "#/$defs/TargetVariableProperties" }, { "$ref": "#/$defs/AzureSynapseTargetTableProperties" }, { "$ref": "#/$defs/AzureSynapseTargetFileProperties" } ], "title": "Target Settings" } }, "type": "object", "required": [ "name", "sql_query", "type", "target_settings", "connection_id" ], "title": "AzureSynapseSqlQueryStep", "description": "Azure Synapse SQL Query Step Schema" }, "AzureSynapseSqlScriptStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "sql_query": { "type": "string", "title": "Sql Query" }, "type": { "const": "azure_synapse_sql_script", "title": "Type" } }, "type": "object", "required": [ "name", "sql_query", "type", "connection_id" ], "title": "AzureSynapseSqlScriptStep", "description": "Azure Synapse SQL Script Step Schema" }, "AzureSynapseTableTypeEnum": { "type": "string", "enum": [ "columnstore", "rowstore" ], "title": "AzureSynapseTableTypeEnum", "description": "Azure Synapse table types" }, "AzureSynapseTargetFileProperties": { "properties": { "target_type": { "const": "files_export", "title": "Target Type" }, "bucket_name": { "type": "string", "title": "Bucket Name" }, "file_path": { "type": "string", "title": "File Path" }, "connection_id": { "type": "string", "title": "Connection Id" }, "file_format": { "const": "csv", "title": "File Format", "default": "csv" }, "load_into_single_file": { "type": "boolean", "title": "Load Into Single File", "description": "A flag that indicates whether to load into a single file or not", "default": false }, "file_settings": { "$ref": "#/$defs/AzureSynapseCsvFileSettings" } }, "type": "object", "required": [ "target_type", "bucket_name", "file_path", "connection_id", "file_settings" ], "title": "AzureSynapseTargetFileProperties", "description": "Azure Synapse Target File Properties Schema" }, "AzureSynapseTargetTableMergeSettings": { "properties": { "is_ordered_merge": { "type": "boolean", "title": "Is Ordered Merge", "description": "A flag that indicates whether the merge is ordered or not", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression" } }, "type": "object", "title": "AzureSynapseTargetTableMergeSettings", "description": "Azure Synapse Target Table Merge Settings Schema" }, "AzureSynapseTargetTableProperties": { "properties": { "target_type": { "const": "table", "title": "Target Type" }, "table_name": { "type": "string", "title": "Table Name" }, "drop_after": { "type": "boolean", "title": "Drop After", "description": "A flag that indicates whether to drop the table after the run or not", "default": false }, "schema_name": { "type": "string", "title": "Schema Name" }, "loading_mode": { "type": "string", "enum": [ "append_only", "overwrite", "upsert_merge" ], "title": "Loading Mode", "default": "append_only" }, "distribution_method": { "type": "string", "enum": [ "round_robin", "hash", "replicate" ], "title": "Distribution Method", "default": "round_robin" }, "table_type": { "type": "string", "enum": [ "columnstore", "rowstore" ], "title": "Table Type", "default": "columnstore" }, "merge_settings": { "anyOf": [ { "$ref": "#/$defs/AzureSynapseTargetTableMergeSettings" }, { "type": "null" } ], "description": "The merge settings" }, "mapping_order": { "items": { "type": "string" }, "type": "array", "title": "Mapping Order", "description": "The mapping order", "default": [] }, "fields": { "items": { "type": "object" }, "type": "array", "title": "Fields", "description": "The mapping", "default": [] } }, "type": "object", "required": [ "target_type", "table_name", "schema_name" ], "title": "AzureSynapseTargetTableProperties", "description": "Azure Synapse Target Table Properties Schema" }, "BaseAvroFileSettings": { "properties": { "file_type": { "const": "avro", "title": "File Type" } }, "type": "object", "required": [ "file_type" ], "title": "BaseAvroFileSettings", "description": "Base Avro File Settings Schema" }, "BasePredefinedReportTableDetails": { "properties": { "is_selected": { "type": "boolean", "title": "Is Selected", "description": "If the table is selected or not.", "default": false }, "target_table": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Target Table", "description": "The target table name." }, "extract_method": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Extract Method", "description": "The extract method of the table." }, "table_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Table Name", "description": "The report/table identifier." } }, "additionalProperties": true, "type": "object", "title": "BasePredefinedReportTableDetails", "description": "Lenient details for a base predefined-report table (READ).\n\nBase predefined-report sources (e.g. Klaviyo) store table settings in a\nsource-defined shape that does not fit the rigid database-table model — for example\nincremental settings as interval_type='date' + start_date / last_days / time_period rather\nthan the multi-table date_range encoding. We surface the structural fields and pass\neverything else through unchanged (extra='allow'), with no multi-table incremental\nvalidation, so the GET round-trips losslessly." }, "BasePredefinedReportTableInput": { "properties": { "run_type_and_datasource": { "const": "predefined_report", "title": "Run Type And Datasource", "description": "Internal field", "default": "predefined_report" }, "details": { "allOf": [ { "$ref": "#/$defs/BasePredefinedReportTableDetails" } ], "description": "The base predefined-report table details" } }, "type": "object", "required": [ "details" ], "title": "BasePredefinedReportTableInput", "description": "A base predefined-report table (READ) — discriminated union member." }, "BigQueryCsvFileSettings": { "properties": { "file_type": { "const": "csv", "title": "File Type", "default": "csv" }, "file_delimiter": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Delimiter" }, "quote_char": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Quote Char" }, "include_header": { "type": "boolean", "title": "Include Header", "default": false }, "compression": { "type": "string", "enum": [ "none", "gzip" ], "title": "Compression", "default": "none" } }, "type": "object", "title": "BigQueryCsvFileSettings", "description": "Big Query CSV File Settings Schema" }, "BigQueryFileTargetProperties": { "properties": { "target_type": { "const": "files_export", "title": "Target Type" }, "bucket_name": { "type": "string", "title": "Bucket Name" }, "file_path": { "type": "string", "title": "File Path" }, "file_type": { "type": "string", "enum": [ "json", "csv", "avro" ], "title": "File Type", "default": "csv" }, "load_into_single_file": { "type": "boolean", "title": "Load Into Single File", "description": "A flag that indicates whether to load into a single file or not", "default": false }, "file_settings": { "oneOf": [ { "$ref": "#/$defs/BigQueryCsvFileSettings" }, { "$ref": "#/$defs/BigQueryJsonFileSettings" }, { "$ref": "#/$defs/BaseAvroFileSettings" } ], "title": "File Settings" } }, "type": "object", "required": [ "target_type", "bucket_name", "file_path", "file_settings" ], "title": "BigQueryFileTargetProperties", "description": "BigQuery File Target Properties Schema" }, "BigQueryJsonFileSettings": { "properties": { "file_type": { "const": "json", "title": "File Type" }, "compression": { "type": "string", "enum": [ "none", "gzip" ], "title": "Compression", "default": "none" } }, "type": "object", "required": [ "file_type" ], "title": "BigQueryJsonFileSettings", "description": "Big Query JSON File Settings Schema" }, "BigQueryModifiedColumn": { "properties": { "is_selected": { "type": "boolean", "title": "Is Selected", "description": "If the column is selected and should be modified." }, "name": { "type": "string", "title": "Name", "description": "The name of the column." }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Type", "description": "The type of the column." }, "alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Alias", "description": "The alias of the column in the target table." }, "expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expression", "description": "This tells us the column is an expression or not so we know if it suppose to exist in the source / target or is it auto generated." }, "is_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Key", "description": "If the column is a key." }, "cluster_key": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Cluster Key", "description": "The sort order of the column (number) in the cluster, used in the merge process to determine the order of the merge keys." }, "calculated_column_mode": { "anyOf": [ { "$ref": "#/$defs/CalculatedColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the calculated column.Help to identify if the column is source expression or target expression,required if the column is an expression." }, "order": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Order", "description": "The order of the column in the expression,required if the column is an expression." }, "mode": { "anyOf": [ { "$ref": "#/$defs/ColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the column in the target table" }, "is_rivery_metadata": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Rivery Metadata", "description": "Whether the column includes rivery metadata" }, "is_partition": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Partition", "description": "Indication if the column is a partition column", "default": false }, "target_type": { "const": "bigquery", "title": "Target Type", "description": "Internal field, populated automatically", "default": "bigquery" } }, "additionalProperties": false, "type": "object", "required": [ "is_selected", "name" ], "title": "BigQueryModifiedColumn", "description": "Big Query specific columns settings" }, "BigQueryPartitionTimestampGranularityEnum": { "type": "string", "enum": [ "HOUR", "DAY", "MONTH", "YEAR" ], "title": "BigQueryPartitionTimestampGranularityEnum", "description": "BQ partition by timestamp granularity options, for example a daily partition" }, "BigQueryPartitionTypeEnum": { "type": "string", "enum": [ "TIMESTAMP", "DATE" ], "title": "BigQueryPartitionTypeEnum", "description": "BQ partition types, these are the builtin BQ partitions" }, "BigQueryQueryPriorityEnum": { "type": "string", "enum": [ "interactive", "batch" ], "title": "BigQueryQueryPriorityEnum", "description": "Enum for BigQuery query priority" }, "BigQuerySQLDialectsEnum": { "type": "string", "enum": [ "standard", "legacy" ], "title": "BigQuerySQLDialectsEnum", "description": "BQ SQL dialects in table level" }, "BigQuerySplitTableIntervalEnum": { "type": "string", "enum": [ "hourly", "daily", "monthly", "yearly" ], "title": "BigQuerySplitTableIntervalEnum", "description": "Split BQ tables interval options\nfor example, split by days" }, "BigQuerySplitTablesEnum": { "type": "string", "enum": [ "no_split", "record_insert_timestamp", "expression" ], "title": "BigQuerySplitTablesEnum", "description": "Split BQ tables at target enum.\nexample, split to tables based on the record insert timestamp" }, "BigQuerySqlQueryStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "sql_query": { "type": "string", "title": "Sql Query" }, "use_standard_sql": { "type": "boolean", "title": "Use Standard Sql", "description": "A flag that indicates whether to use standard SQL or not", "default": true }, "query_priority": { "allOf": [ { "$ref": "#/$defs/BigQueryQueryPriorityEnum" } ], "description": "The priority of the query", "default": "interactive" }, "maximum_billing_tier": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Maximum Billing Tier", "description": "The maximum billing tier" }, "flatten_results": { "type": "boolean", "title": "Flatten Results", "description": "A flag that indicates whether to flatten results or not", "default": false }, "type": { "const": "bigquery_sql_query", "title": "Type" }, "target_settings": { "oneOf": [ { "$ref": "#/$defs/BigQueryTableTargetProperties" }, { "$ref": "#/$defs/TargetVariableProperties" }, { "$ref": "#/$defs/BigQueryFileTargetProperties" } ], "title": "Target Settings" } }, "type": "object", "required": [ "name", "sql_query", "type", "target_settings", "connection_id" ], "title": "BigQuerySqlQueryStep", "description": "BigQuery SQL Query Step Schema" }, "BigQuerySqlScriptStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "sql_query": { "type": "string", "title": "Sql Query" }, "use_standard_sql": { "type": "boolean", "title": "Use Standard Sql", "description": "A flag that indicates whether to use standard SQL or not", "default": true }, "query_priority": { "allOf": [ { "$ref": "#/$defs/BigQueryQueryPriorityEnum" } ], "description": "The priority of the query", "default": "interactive" }, "maximum_billing_tier": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Maximum Billing Tier", "description": "The maximum billing tier" }, "flatten_results": { "type": "boolean", "title": "Flatten Results", "description": "A flag that indicates whether to flatten results or not", "default": false }, "type": { "const": "bigquery_sql_script", "title": "Type" } }, "type": "object", "required": [ "name", "sql_query", "type", "connection_id" ], "title": "BigQuerySqlScriptStep", "description": "BigQuery SQL Script Step Schema" }, "BigQueryTableAdditionalSourceSettings": { "properties": { "source_type": { "const": "bigquery", "title": "Source Type", "description": "Internal field, populated automatically", "default": "bigquery" } }, "type": "object", "title": "BigQueryTableAdditionalSourceSettings", "description": "BigQuery specific source settings" }, "BigQueryTableAdditionalTargetSettings": { "properties": { "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity,to filter duplications from the source data by the provided order expression (for `merge` loading method)." }, "target_loading": { "anyOf": [ { "$ref": "#/$defs/LoadingMode" }, { "type": "null" } ], "description": "The target loading of the table entity,if not specified the default loading mode of the riverwill be used." }, "target_type": { "const": "bigquery", "title": "Target Type", "description": "Internal field, populated automatically", "default": "bigquery" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethod" }, { "type": "null" } ], "description": "The merge method of the table, if not specified the default merge method of the riverwill be used." }, "sql_dialect": { "anyOf": [ { "$ref": "#/$defs/BigQuerySQLDialectsEnum" }, { "type": "null" } ], "description": "The dialect to use in the BQ target" }, "split_tables": { "anyOf": [ { "$ref": "#/$defs/BigQuerySplitTablesEnum" }, { "type": "null" } ], "description": "Split tables at target.", "default": "no_split" }, "split_interval": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Split Interval", "description": "The interval by which to split the tables if split table is on." }, "split_data": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Split Data", "description": "The expression by which to split the tables if split tables by expression is chosen." }, "partition_type": { "anyOf": [ { "$ref": "#/$defs/BigQueryPartitionTypeEnum" }, { "type": "null" } ], "description": "The type of partition to partition that table by." }, "partition_granularity": { "anyOf": [ { "$ref": "#/$defs/BigQueryPartitionTimestampGranularityEnum" }, { "type": "null" } ], "description": "The partition granularity to split the table by." } }, "type": "object", "title": "BigQueryTableAdditionalTargetSettings", "description": "BigQuery specific target settings" }, "BigQueryTableTargetProperties": { "properties": { "target_type": { "const": "table", "title": "Target Type" }, "table_name": { "type": "string", "title": "Table Name" }, "drop_after": { "type": "boolean", "title": "Drop After", "description": "A flag that indicates whether to drop the table after the run or not", "default": false }, "dataset_id": { "type": "string", "title": "Dataset Id" }, "loading_mode": { "type": "string", "enum": [ "append_only", "overwrite", "upsert_merge" ], "title": "Loading Mode", "default": "append_only" }, "merge_settings": { "anyOf": [ { "$ref": "#/$defs/BigQueryTargetTableMergeSettings" }, { "type": "null" } ], "description": "The merge settings" }, "partition_properties": { "anyOf": [ { "$ref": "#/$defs/PartitioningByTimestamp" }, { "type": "null" } ] }, "split_tables_properties": { "anyOf": [ { "$ref": "#/$defs/SplitTableByInsertTimeProperties" }, { "$ref": "#/$defs/SplitTableByExpressionProperties" }, { "type": "null" } ], "title": "Split Tables Properties" }, "fields": { "items": { "type": "object" }, "type": "array", "title": "Fields", "description": "The mapping", "default": [] }, "mapping_order": { "items": { "type": "string" }, "type": "array", "title": "Mapping Order", "description": "The mapping order", "default": [] } }, "type": "object", "required": [ "target_type", "table_name", "dataset_id" ], "title": "BigQueryTableTargetProperties", "description": "BigQuery Table Target Properties Schema" }, "BigQueryTargetSettings": { "properties": { "name": { "const": "bigquery", "title": "Name", "description": "The name of the target", "default": "bigquery" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Id", "description": "The connection ID of this target" }, "connection_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Name", "description": "The connection name of this target" }, "single_table_settings": { "anyOf": [ { "$ref": "#/$defs/SingleTableSettings" }, { "type": "null" } ], "description": "Single table specific settings for the target" }, "table_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Table Name", "description": "The table name of this target (only relevant for non multi table source to target rivers)", "default": "" }, "target_prefix": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Target Prefix", "description": "The table prefix of this target (only relevant for multi table source to target rivers)", "default": "" }, "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity." }, "loading_method": { "allOf": [ { "$ref": "#/$defs/LoadingMode" } ], "description": "The loading method of this target" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethod" }, { "type": "null" } ], "description": "The merge method to preform,only relevant when the loading mode is Merge,if not provided the default merge method will be used.(merge)" }, "file_zone_settings": { "anyOf": [ { "$ref": "#/$defs/RiverFileZoneSettings" }, { "type": "null" } ], "description": "The file zone settings of this target" }, "file_path_destination": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Path Destination", "description": "The file name and path" }, "additional_settings": { "type": "object", "title": "Additional Settings", "description": "The additional settings of this target", "default": {} }, "dataset_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Dataset Id", "description": "The dataset ID of this target" }, "sql_dialect": { "anyOf": [ { "$ref": "#/$defs/BigQuerySQLDialectsEnum" }, { "type": "null" } ], "description": "The dialect to use in the BQ target" }, "auto_detect_datatype_changes": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Auto Detect Datatype Changes", "description": "If the target should auto detect datatype changes" } }, "type": "object", "required": [ "loading_method" ], "title": "BigQueryTargetSettings", "description": "BigQuery target settings properties to return." }, "BigQueryTargetTableMergeSettings": { "properties": { "is_ordered_merge": { "type": "boolean", "title": "Is Ordered Merge", "description": "A flag that indicates whether the merge is ordered or not", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression" } }, "type": "object", "title": "BigQueryTargetTableMergeSettings", "description": "Big Query Target Table Merge Settings Schema" }, "BlobStorageSettings": { "properties": { "name": { "const": "blob_storage", "title": "Name", "description": "The name of the target", "default": "blob_storage" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Id", "description": "The connection ID of this target" }, "connection_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Name", "description": "The connection name of this target" }, "single_table_settings": { "anyOf": [ { "$ref": "#/$defs/SingleTableSettings" }, { "type": "null" } ], "description": "Single table specific settings for the target" }, "path": { "type": "string", "title": "Path", "description": "The path of the file zone entity." }, "partitioned_kind": { "allOf": [ { "$ref": "#/$defs/PartitionedKindEnum" } ], "description": "The partitioned kind of the file zone entity." }, "fz_loading_mode": { "type": "string", "enum": [ "auto-period", "custom" ], "title": "Fz Loading Mode", "description": "Controls how the storage path is configured. 'auto-period' uses automatic period-based paths, 'custom' allows user-defined paths.", "default": "auto-period" }, "container_name": { "type": "string", "title": "Container Name", "description": "The container name of the file zone entity." }, "convert_file_type": { "anyOf": [ { "$ref": "#/$defs/ConvertFileTypeEnum" }, { "type": "null" } ], "description": "The type of file to convert to" } }, "type": "object", "required": [ "path", "partitioned_kind", "container_name" ], "title": "BlobStorageSettings", "description": "Azure Blob Storage target settings properties to return." }, "BoomiForSapCDCSettings": { "properties": { "default_tables_migration_option": { "allOf": [ { "$ref": "#/$defs/RiverTablesMigrationDefaultSyncOption" } ], "description": "This option determine the tables migration option. For example. Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the status from the River level to be used for a one-time process.", "default": "RUN_INITIAL_MIGRATION" }, "include_snapshot_tables": { "type": "boolean", "title": "Include Snapshot Tables", "description": "Indicates whether to take a snapshot of the source table before starting CDC.", "default": true }, "datasource_id": { "const": "boomi_for_sap", "title": "Datasource Id", "description": "The data source id of this source", "default": "boomi_for_sap" } }, "additionalProperties": false, "type": "object", "title": "BoomiForSapCDCSettings", "description": "Boomi for SAP Source CDC settings properties to return." }, "BoomiForSapTableAdditionalSourceSettings": { "properties": { "source_type": { "const": "boomi_for_sap", "title": "Source Type", "description": "Internal field, populated automatically", "default": "boomi_for_sap" }, "table_filters": { "anyOf": [ { "items": { "$ref": "#/$defs/TableFilter" }, "type": "array" }, { "type": "null" } ], "title": "Table Filters", "description": "Table filters for Boomi for Sap" } }, "type": "object", "title": "BoomiForSapTableAdditionalSourceSettings", "description": "Boomi for Sap specific source settings" }, "CalculatedColumnModeEnum": { "type": "string", "enum": [ "source", "target" ], "title": "CalculatedColumnModeEnum", "description": "The calculated column mode\nCalculated column mode is used to determine if the calculated column is a new column or an override of an existing\nIt can be used either on the source or the target" }, "ChangeTrackingSettings": { "properties": { "initiate_table": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Initiate Table", "description": "Initiate migration process for table" }, "overwrite_table_in_migration": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Overwrite Table In Migration", "description": "Overwrite target table for migration process" }, "include_deleted_rows": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Include Deleted Rows", "description": "The tracked information will include also deleted keys" } }, "type": "object", "title": "ChangeTrackingSettings", "description": "The table change tracking settings" }, "ColumnModeEnum": { "type": "string", "enum": [ "NULLABLE", "REQUIRED", "REPEATED" ], "title": "ColumnModeEnum", "description": "The mode of the column in Athena" }, "Condition": { "properties": { "operator": { "type": "string", "title": "Operator" }, "operand_1": { "type": "string", "title": "Operand 1" }, "operand_2": { "type": "string", "title": "Operand 2" } }, "type": "object", "required": [ "operator", "operand_1", "operand_2" ], "title": "Condition", "description": "Condition Schema" }, "ConditionContainer": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the container is enabled or not", "default": true }, "container_id": { "type": "string", "title": "Container Id", "description": "The container id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "type": { "const": "condition", "title": "Type" }, "steps": { "items": { "$ref": "#/$defs/ConditionInnerContainer" }, "type": "array", "minItems": 1, "title": "Steps" } }, "type": "object", "required": [ "name", "type", "steps" ], "title": "ConditionContainer", "description": "Condition Container Schema" }, "ConditionInnerContainer": { "properties": { "condition": { "anyOf": [ { "$ref": "#/$defs/Condition" }, { "type": "null" } ], "description": "The condition to check. Needed except for the last else condition" }, "action": { "$ref": "#/$defs/LogicConditionActionEnum" }, "is_else": { "type": "boolean", "title": "Is Else" }, "condition_name": { "type": "string", "title": "Condition Name", "description": "The condition name" }, "step": { "anyOf": [ { "$ref": "#/$defs/RunOnceContainer" }, { "$ref": "#/$defs/LoopContainer" }, { "$ref": "#/$defs/ConditionContainer" }, { "$ref": "#/$defs/RunRiverStep" }, { "$ref": "#/$defs/ActionStep" }, { "$ref": "#/$defs/LogicodeStep" }, { "$ref": "#/$defs/AthenaSqlScriptStep" }, { "$ref": "#/$defs/AthenaSqlQueryStep" }, { "$ref": "#/$defs/AzureSynapseSqlScriptStep" }, { "$ref": "#/$defs/AzureSynapseSqlQueryStep" }, { "$ref": "#/$defs/AzureSQLSqlScriptStep" }, { "$ref": "#/$defs/AzureSQLSqlQueryStep" }, { "$ref": "#/$defs/PostgresSqlScriptStep" }, { "$ref": "#/$defs/PostgresSqlQueryStep" }, { "$ref": "#/$defs/SnowflakeDataframeStep" }, { "$ref": "#/$defs/SnowflakeSqlQueryStep" }, { "$ref": "#/$defs/SnowflakeSqlScriptStep" }, { "$ref": "#/$defs/BigQuerySqlScriptStep" }, { "$ref": "#/$defs/BigQuerySqlQueryStep" }, { "$ref": "#/$defs/DatabricksSqlScriptStep" }, { "$ref": "#/$defs/DatabricksSqlQueryStep" }, { "$ref": "#/$defs/RedshiftDataframeStep" }, { "$ref": "#/$defs/RedshiftSqlScriptStep" }, { "$ref": "#/$defs/RedshiftSqlQueryStep" }, { "type": "null" } ], "title": "Step" } }, "type": "object", "required": [ "action", "is_else", "condition_name" ], "title": "ConditionInnerContainer", "description": "Condition Inner Container Schema" }, "ConvertFileTypeEnum": { "type": "string", "const": "parquet", "title": "ConvertFileTypeEnum", "description": "Conversion service types of file conversions.\nThe conversion service supports multiple conversion including CSV and JSON but the back only support PARQUET for now\nOnce the back adds support for the other file types we can add them here" }, "CoupaTableAdditionalSourceSettings": { "properties": { "source_type": { "const": "coupa", "title": "Source Type", "description": "Internal field, populated automatically", "default": "coupa" } }, "additionalProperties": false, "type": "object", "title": "CoupaTableAdditionalSourceSettings", "description": "Coupa specific source additional settings for source settings(source-level only)." }, "CustomLocationProperties": { "properties": { "use_custom_location": { "type": "boolean", "title": "Use Custom Location", "description": "A flag that indicates whether to use custom location or not", "default": false }, "location_type": { "type": "string", "enum": [ "DBFS", "EXTERNAL" ], "title": "Location Type", "description": "The location type", "default": "DBFS" }, "location": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Location", "description": "The location" } }, "type": "object", "title": "CustomLocationProperties", "description": "Custom Location Properties Schema" }, "CustomQuerySourceSettings": { "properties": { "query": { "type": "string", "minLength": 1, "title": "Query", "description": "The custom SQL query to execute" }, "array_size": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Array Size", "description": "Array size for batch fetching" }, "exporter_chunk_size": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Exporter Chunk Size", "description": "Chunk size for data export" }, "incremental_type": { "anyOf": [ { "$ref": "#/$defs/RiverIntervalTypeEnum" }, { "type": "null" } ], "description": "Type of incremental extraction (datetime, runningnumber, epoch)" }, "incremental_field": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Incremental Field", "description": "Field name to use for incremental extraction" }, "date_range": { "anyOf": [ { "$ref": "#/$defs/DateRange" }, { "type": "null" } ], "description": "Date range settings for incremental extraction" }, "running_number": { "anyOf": [ { "$ref": "#/$defs/RunningNumber" }, { "type": "null" } ], "description": "Running number settings for incremental extraction" }, "epoch": { "anyOf": [ { "$ref": "#/$defs/Epoch" }, { "type": "null" } ], "description": "Epoch settings for incremental extraction" }, "row_version": { "anyOf": [ { "$ref": "#/$defs/RowVersion" }, { "type": "null" } ], "description": "Row version settings for incremental extraction (MSSQL/PostgreSQL only)" }, "extract_method": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Extract Method", "description": "Extract method (incremental or full)" } }, "additionalProperties": false, "type": "object", "required": [ "query" ], "title": "CustomQuerySourceSettings", "description": "Custom query source settings for database sources.\n\nUsed when run_type is 'custom_query' to define the SQL query and extraction settings.\nReuses DateRange, RunningNumber, and Epoch from base_river.py for consistency." }, "DataHubCDCSettings": { "properties": { "default_tables_migration_option": { "allOf": [ { "$ref": "#/$defs/RiverTablesMigrationDefaultSyncOption" } ], "description": "This option determine the tables migration option. For example. Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the status from the River level to be used for a one-time process.", "default": "RUN_INITIAL_MIGRATION" }, "include_snapshot_tables": { "type": "boolean", "title": "Include Snapshot Tables", "description": "Indicates whether to take a snapshot of the source table before starting CDC.", "default": true }, "datasource_id": { "const": "datahub", "title": "Datasource Id", "description": "The data source id of this source", "default": "datahub" } }, "additionalProperties": false, "type": "object", "title": "DataHubCDCSettings", "description": "DataHub Source CDC settings." }, "DataHubTableAdditionalSourceSettings": { "properties": { "source_type": { "const": "datahub", "title": "Source Type", "description": "Internal field, populated automatically", "default": "datahub" }, "table_filters": { "anyOf": [ { "items": { "$ref": "#/$defs/TableFilter" }, "type": "array" }, { "type": "null" } ], "title": "Table Filters", "description": "Table filters for DataHub" } }, "additionalProperties": true, "type": "object", "title": "DataHubTableAdditionalSourceSettings", "description": "DataHub specific source settings." }, "DatabaseTableInput": { "properties": { "run_type_and_datasource": { "const": "multi_tables", "title": "Run Type And Datasource", "description": "Internal field", "default": "multi_tables" }, "details": { "allOf": [ { "$ref": "#/$defs/WriteDatabaseTableDetailsInput" } ], "description": "The database table details" } }, "type": "object", "required": [ "details" ], "title": "DatabaseTableInput", "description": "Table properties which define the db table data\nThis schema is being used for read" }, "DatabricksCustomLocationType": { "type": "string", "enum": [ "DBFS", "EXTERNAL" ], "title": "DatabricksCustomLocationType", "description": "The custom location type for databricks" }, "DatabricksModifiedColumn": { "properties": { "is_selected": { "type": "boolean", "title": "Is Selected", "description": "If the column is selected and should be modified." }, "name": { "type": "string", "title": "Name", "description": "The name of the column." }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Type", "description": "The type of the column." }, "alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Alias", "description": "The alias of the column in the target table." }, "expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expression", "description": "This tells us the column is an expression or not so we know if it suppose to exist in the source / target or is it auto generated." }, "is_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Key", "description": "If the column is a key." }, "cluster_key": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Cluster Key", "description": "The sort order of the column (number) in the cluster, used in the merge process to determine the order of the merge keys." }, "calculated_column_mode": { "anyOf": [ { "$ref": "#/$defs/CalculatedColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the calculated column.Help to identify if the column is source expression or target expression,required if the column is an expression." }, "order": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Order", "description": "The order of the column in the expression,required if the column is an expression." }, "mode": { "anyOf": [ { "$ref": "#/$defs/ColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the column in the target table" }, "is_rivery_metadata": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Rivery Metadata", "description": "Whether the column includes rivery metadata" }, "target_type": { "const": "databricks", "title": "Target Type", "description": "Internal field, populated automatically", "default": "databricks" } }, "additionalProperties": false, "type": "object", "required": [ "is_selected", "name" ], "title": "DatabricksModifiedColumn", "description": "Databricks specific columns settings" }, "DatabricksSqlQueryStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "type": { "const": "databricks_sql_query", "title": "Type" }, "sql_query": { "type": "string", "title": "Sql Query" }, "target_settings": { "oneOf": [ { "$ref": "#/$defs/TargetVariableProperties" }, { "$ref": "#/$defs/DatabricksTargetTableProperties" } ], "title": "Target Settings" } }, "type": "object", "required": [ "name", "type", "sql_query", "target_settings", "connection_id" ], "title": "DatabricksSqlQueryStep", "description": "Databricks SQL Query Step Schema" }, "DatabricksSqlScriptStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "type": { "const": "databricks_sql_script", "title": "Type" }, "sql_query": { "type": "string", "title": "Sql Query" } }, "type": "object", "required": [ "name", "type", "sql_query", "connection_id" ], "title": "DatabricksSqlScriptStep", "description": "Databricks SQL Script Step Schema" }, "DatabricksTableAdditionalTargetSettings": { "properties": { "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity,to filter duplications from the source data by the provided order expression (for `merge` loading method)." }, "target_loading": { "anyOf": [ { "$ref": "#/$defs/LoadingMode" }, { "type": "null" } ], "description": "The target loading of the table entity,if not specified the default loading mode of the riverwill be used." }, "target_type": { "const": "databricks", "title": "Target Type", "description": "Internal field, populated automatically", "default": "databricks" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethod" }, { "type": "null" } ], "description": "The merge method of the table, if not specified the default merge method of the riverwill be used." } }, "type": "object", "title": "DatabricksTableAdditionalTargetSettings", "description": "Databricks specific target settings" }, "DatabricksTargetSettings": { "properties": { "name": { "const": "databricks", "title": "Name", "description": "The name of the target", "default": "databricks" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Id", "description": "The connection ID of this target" }, "connection_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Name", "description": "The connection name of this target" }, "single_table_settings": { "anyOf": [ { "$ref": "#/$defs/SingleTableSettings" }, { "type": "null" } ], "description": "Single table specific settings for the target" }, "table_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Table Name", "description": "The table name of this target (only relevant for non multi table source to target rivers)", "default": "" }, "target_prefix": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Target Prefix", "description": "The table prefix of this target (only relevant for multi table source to target rivers)", "default": "" }, "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity." }, "loading_method": { "allOf": [ { "$ref": "#/$defs/LoadingMode" } ], "description": "The loading method of this target" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethod" }, { "type": "null" } ], "description": "The merge method to preform,only relevant when the loading mode is Merge,if not provided the default merge method will be used.(merge)" }, "file_zone_settings": { "anyOf": [ { "$ref": "#/$defs/RiverFileZoneSettings" }, { "type": "null" } ], "description": "The file zone settings of this target" }, "file_path_destination": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Path Destination", "description": "The file name and path" }, "additional_settings": { "type": "object", "title": "Additional Settings", "description": "The additional settings of this target", "default": {} }, "catalog_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Catalog Name", "description": "The catalog name of this target" }, "schema_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Schema Name", "description": "The schema name of this target" }, "store_in_custom_location": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Store In Custom Location", "description": "If the target should store in a custom location" }, "custom_location_type": { "anyOf": [ { "$ref": "#/$defs/DatabricksCustomLocationType" }, { "type": "null" } ], "description": "The custom location type. Can be one of :['DBFS', 'EXTERNAL']" }, "custom_location_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Custom Location Path", "description": "The table will be stored in Databricks File System (DBFS) or in external location" } }, "type": "object", "required": [ "loading_method" ], "title": "DatabricksTargetSettings", "description": "Databricks target settings properties to return." }, "DatabricksTargetTableMergeSettings": { "properties": { "is_ordered_merge": { "type": "boolean", "title": "Is Ordered Merge", "description": "A flag that indicates whether the merge is ordered or not", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression" } }, "type": "object", "title": "DatabricksTargetTableMergeSettings", "description": "Databricks Target Table Merge Settings Schema" }, "DatabricksTargetTableProperties": { "properties": { "target_type": { "const": "table", "title": "Target Type" }, "table_name": { "type": "string", "title": "Table Name" }, "drop_after": { "type": "boolean", "title": "Drop After", "description": "A flag that indicates whether to drop the table after the run or not", "default": false }, "catalog": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Catalog", "description": "The catalog. If not provided will use the default catalog from the connection" }, "schema_name": { "type": "string", "title": "Schema Name", "description": "The schema name" }, "loading_mode": { "type": "string", "enum": [ "append_only", "overwrite", "upsert_merge" ], "title": "Loading Mode", "default": "append_only" }, "merge_settings": { "anyOf": [ { "$ref": "#/$defs/DatabricksTargetTableMergeSettings" }, { "type": "null" } ], "description": "The merge settings" }, "fields": { "items": { "type": "object" }, "type": "array", "title": "Fields", "description": "The mapping", "default": [] }, "custom_location": { "anyOf": [ { "$ref": "#/$defs/CustomLocationProperties" }, { "type": "null" } ], "description": "The custom location properties. If not provided will not use custom location" } }, "type": "object", "required": [ "target_type", "table_name", "schema_name" ], "title": "DatabricksTargetTableProperties", "description": "Databricks Target Table Properties Schema" }, "DateRange": { "properties": { "time_period": { "anyOf": [ { "$ref": "#/$defs/RiverTimePeriodEnum" }, { "type": "null" } ], "description": "The time period of the river entity.", "default": "custom" }, "start_date": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Start Date", "description": "The start date of the river entity." }, "end_date": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "End Date", "description": "The end date of the river entity." }, "days_back": { "anyOf": [ { "type": "integer" }, { "type": "number" } ], "title": "Days Back", "description": "The days back of the river entity. Fractions of a day are allowed.", "default": 0 }, "include_end_value": { "type": "boolean", "title": "Include End Value", "description": "Whether to include or exclude the end_value in the date range", "default": false, "extra": { "display_name": "Include the End Value of the End Date", "left_label": true, "name": "date_range.include_end_value", "type": "switch" } }, "split_time_intervals": { "allOf": [ { "$ref": "#/$defs/SplitTimeIntervals" } ], "description": "The interval time to split by when using date increment." }, "update_increment_on_failures": { "type": "boolean", "title": "Update Increment On Failures", "description": "If to update the start date for the next extraction even if the current extraction is unsuccessful.", "default": false }, "utc_offset": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Utc Offset", "description": "Whether to appy offset to the end date", "default": 0 }, "round_up": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Round Up", "description": "Whether to round up the end date to the next interval" } }, "type": "object", "title": "DateRange", "description": "Date range when using incremental loading method." }, "DateRangeFieldRuntime": { "properties": { "name": { "type": "string", "enum": [ "start_date", "end_date" ], "title": "Name", "description": "Which side of the date range this field represents." }, "value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Value", "description": "The user-supplied date value. Format is dictated by the YAML's date_range declaration (e.g. YYYY-mm-DD or epoch). Empty/null is allowed at save time; the worker validates at execution." } }, "type": "object", "required": [ "name" ], "title": "DateRangeFieldRuntime", "description": "One side of a runtime date_range value pair (start_date or end_date)." }, "DateRangeRuntimeParams": { "properties": { "name": { "type": "string", "title": "Name", "description": "Identifier name of the date_range parameter as declared in the YAML." }, "type": { "const": "date_range", "title": "Type", "description": "Discriminator: always 'date_range' for this variant." }, "fields": { "items": { "$ref": "#/$defs/DateRangeFieldRuntime" }, "type": "array", "title": "Fields", "description": "Exactly two entries, one for start_date and one for end_date." } }, "type": "object", "required": [ "name", "type", "fields" ], "title": "DateRangeRuntimeParams", "description": "Runtime values for a YAML-declared date_range parameter.\n\nSent alongside StandardInterfaceParams in the same `source` list so each\nreport can declare its own date_range under\n`tables[*].details.additional_source_settings.interface_parameters.source[]`.\nThe YAML-time concerns (period_type, format, value_type) live in the recipe\nYAML itself — only the runtime values flow through this model." }, "DistributionMethodEnum": { "type": "string", "enum": [ "all", "even", "key" ], "title": "DistributionMethodEnum", "description": "Enum for distribution methods in Redshift as a target, example:\nALL - A copy of the entire table is distributed to every node" }, "ElasticSearchTableAdditionalSourceSettings": { "properties": { "filter_expression": { "type": "string", "title": "Filter Expression", "description": "The filter expression of the river entity.", "default": "" }, "source_type": { "const": "elasticsearch", "title": "Source Type", "description": "Internal field, populated automatically", "default": "elasticsearch" } }, "additionalProperties": false, "type": "object", "title": "ElasticSearchTableAdditionalSourceSettings", "description": "Elasticsearch specific source settings" }, "EmailModifiedColumn": { "properties": { "is_selected": { "type": "boolean", "title": "Is Selected", "description": "If the column is selected and should be modified." }, "name": { "type": "string", "title": "Name", "description": "The name of the column." }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Type", "description": "The type of the column." }, "alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Alias", "description": "The alias of the column in the target table." }, "expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expression", "description": "This tells us the column is an expression or not so we know if it suppose to exist in the source / target or is it auto generated." }, "is_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Key", "description": "If the column is a key." }, "cluster_key": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Cluster Key", "description": "The sort order of the column (number) in the cluster, used in the merge process to determine the order of the merge keys." }, "calculated_column_mode": { "anyOf": [ { "$ref": "#/$defs/CalculatedColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the calculated column.Help to identify if the column is source expression or target expression,required if the column is an expression." }, "order": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Order", "description": "The order of the column in the expression,required if the column is an expression." }, "mode": { "anyOf": [ { "$ref": "#/$defs/ColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the column in the target table" }, "is_rivery_metadata": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Rivery Metadata", "description": "Whether the column includes rivery metadata" }, "target_type": { "const": "target_email", "title": "Target Type", "description": "Internal field, populated automatically", "default": "target_email" } }, "additionalProperties": false, "type": "object", "required": [ "is_selected", "name" ], "title": "EmailModifiedColumn", "description": "Email specific columns settings" }, "EmailTargetSettings": { "properties": { "name": { "const": "target_email", "title": "Name", "description": "The name of the target", "default": "target_email" }, "email_list": { "items": { "type": "string" }, "type": "array", "maxItems": 15, "minItems": 1, "title": "Email List", "description": "A list of email addresses to send the data to." } }, "type": "object", "required": [ "email_list" ], "title": "EmailTargetSettings", "description": "Email target settings properties to return." }, "Epoch": { "properties": { "start_value": { "anyOf": [ { "type": "number", "exclusiveMinimum": 0.0 }, { "type": "null" } ], "title": "Start Value", "description": "The start value of the river entity." }, "end_value": { "anyOf": [ { "type": "number", "exclusiveMinimum": 0.0 }, { "type": "null" } ], "title": "End Value", "description": "The end value of the river entity." }, "include_end_value": { "type": "boolean", "title": "Include End Value", "description": "Whether to include or exclude the end_value in the epoch range", "default": false } }, "type": "object", "title": "Epoch", "description": "Epoch dates when using incremental on a epoch dates" }, "ExtractMethodEnum": { "type": "string", "enum": [ "all", "incremental", "log", "change_tracking", "system_versioning", "bw_extractors" ], "title": "ExtractMethodEnum", "description": "Extract method enum.\nThe supported extract methods are:\n - All - for extracting all the data with no filter\n - Incremental - for extracting the data with an increment filter by a certain field / column\n - LogBased - for CDC extraction using logs" }, "GCSModifiedColumn": { "properties": { "is_selected": { "type": "boolean", "title": "Is Selected", "description": "If the column is selected and should be modified." }, "name": { "type": "string", "title": "Name", "description": "The name of the column." }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Type", "description": "The type of the column." }, "alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Alias", "description": "The alias of the column in the target table." }, "expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expression", "description": "This tells us the column is an expression or not so we know if it suppose to exist in the source / target or is it auto generated." }, "is_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Key", "description": "If the column is a key." }, "cluster_key": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Cluster Key", "description": "The sort order of the column (number) in the cluster, used in the merge process to determine the order of the merge keys." }, "calculated_column_mode": { "anyOf": [ { "$ref": "#/$defs/CalculatedColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the calculated column.Help to identify if the column is source expression or target expression,required if the column is an expression." }, "order": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Order", "description": "The order of the column in the expression,required if the column is an expression." }, "mode": { "anyOf": [ { "$ref": "#/$defs/ColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the column in the target table" }, "is_rivery_metadata": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Rivery Metadata", "description": "Whether the column includes rivery metadata" }, "target_type": { "const": "gcs", "title": "Target Type", "description": "Internal field, populated automatically", "default": "gcs" } }, "additionalProperties": false, "type": "object", "required": [ "is_selected", "name" ], "title": "GCSModifiedColumn", "description": "GCS specific columns settings" }, "GcsTargetSettings": { "properties": { "name": { "const": "gcs", "title": "Name", "description": "The name of the target", "default": "gcs" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Id", "description": "The connection ID of this target" }, "connection_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Name", "description": "The connection name of this target" }, "single_table_settings": { "anyOf": [ { "$ref": "#/$defs/SingleTableSettings" }, { "type": "null" } ], "description": "Single table specific settings for the target" }, "path": { "type": "string", "title": "Path", "description": "The path of the file zone entity." }, "partitioned_kind": { "allOf": [ { "$ref": "#/$defs/PartitionedKindEnum" } ], "description": "The partitioned kind of the file zone entity." }, "fz_loading_mode": { "type": "string", "enum": [ "auto-period", "custom" ], "title": "Fz Loading Mode", "description": "Controls how the storage path is configured. 'auto-period' uses automatic period-based paths, 'custom' allows user-defined paths.", "default": "auto-period" }, "bucket_name": { "type": "string", "title": "Bucket Name", "description": "The bucket name of the file zone entity." } }, "type": "object", "required": [ "path", "partitioned_kind", "bucket_name" ], "title": "GcsTargetSettings", "description": "GCS target settings properties to return." }, "HubspotTableAdditionalSourceSettings": { "properties": { "source_type": { "const": "hubspot", "title": "Source Type", "description": "Internal field, populated automatically", "default": "hubspot" } }, "additionalProperties": true, "type": "object", "title": "HubspotTableAdditionalSourceSettings", "description": "HubSpot specific source settings.\n\nHubSpot is a generic API source where each table/report may carry\na different set of settings. All fields beyond the discriminator are\naccepted and passed through as-is." }, "InterfaceParameters": { "properties": { "source": { "anyOf": [ { "items": { "anyOf": [ { "$ref": "#/$defs/DateRangeRuntimeParams" }, { "$ref": "#/$defs/MultiselectRuntimeParams" }, { "$ref": "#/$defs/StandardInterfaceParams" } ] }, "type": "array" }, { "type": "null" } ], "title": "Source", "description": "Interface parameter values. Standard entries use {name, type, value}; date_range entries use {name, type='date_range', fields[start_date,end_date]}." } }, "type": "object", "title": "InterfaceParameters", "description": "Input model containing standard interface parameters and (optionally) per-report\ndate_range values declared in the YAML." }, "InterfaceParamsBaseTypeEnum": { "type": "string", "enum": [ "string", "integer", "boolean" ], "title": "InterfaceParamsBaseTypeEnum", "description": "Interface params base types" }, "IntervalTimeExternalEnum": { "type": "string", "enum": [ "dont_split", "minutes", "hours", "days", "weeks", "months", "years" ], "title": "IntervalTimeExternalEnum", "description": "Intervals by time options (external enum for IntervalChunkSizeEnum options)" }, "KnowledgeHubTableAdditionalTargetSettings": { "properties": { "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity,to filter duplications from the source data by the provided order expression (for `merge` loading method)." }, "target_loading": { "anyOf": [ { "$ref": "#/$defs/LoadingMode" }, { "type": "null" } ], "description": "The target loading of the table entity,if not specified the default loading mode of the riverwill be used." }, "target_type": { "const": "knowledge_hub", "title": "Target Type", "description": "Internal field, populated automatically", "default": "knowledge_hub" } }, "type": "object", "title": "KnowledgeHubTableAdditionalTargetSettings", "description": "Knowledge Hub specific target settings" }, "KnowledgeHubTargetSettings": { "properties": { "name": { "const": "knowledge_hub", "title": "Name", "description": "The name of the target", "default": "knowledge_hub" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Id", "description": "The connection ID of this target" }, "connection_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Name", "description": "The connection name of this target" }, "single_table_settings": { "anyOf": [ { "$ref": "#/$defs/SingleTableSettings" }, { "type": "null" } ] }, "merge_method": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Merge Method" }, "loading_method": { "allOf": [ { "$ref": "#/$defs/LoadingModeKnowledgeHub" } ], "description": "The loading method of this target. Knowledge Hub upserts on document id, which needs no match keys.", "default": "merge" }, "table_name": { "type": "string", "title": "Table Name", "description": "Not used for KH.", "default": "" }, "target_prefix": { "type": "string", "title": "Target Prefix", "description": "Not used for KH.", "default": "" }, "is_ordered_merge_key": { "type": "boolean", "title": "Is Ordered Merge Key", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression" }, "additional_settings": { "type": "object", "title": "Additional Settings" }, "repository_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Repository Id", "description": "The Knowledge Hub repository ID." }, "knowledge_base_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Knowledge Base Id", "description": "The Knowledge Hub knowledge base ID to load data into." }, "kh_table_mappings": { "anyOf": [ { "items": { "type": "object" }, "type": "array" }, { "type": "object" }, { "type": "null" } ], "title": "Kh Table Mappings", "description": "Per-table KH source/mapping IDs (set during activation). List of {table_key, source_id, schema_mapping_id} entries; the legacy dict form (keyed by table_key) is also accepted." } }, "type": "object", "title": "KnowledgeHubTargetSettings", "description": "Knowledge Hub target settings.\nOnly needs knowledge_base_id (like Snowflake database+schema) and loading_method.\nSource config and schema mapping are handled by KH at activation/ingestion time." }, "LegacyRiverResponse": { "properties": { "river_definition": { "type": "object", "title": "River Definition", "description": "The definition of the river version" }, "source_task_config": { "type": "object", "title": "Source Task Config", "description": "The source task config of the river version" }, "target_task_config": { "anyOf": [ { "type": "object" }, { "type": "null" } ], "title": "Target Task Config", "description": "The target task config of the river version" } }, "type": "object", "required": [ "river_definition", "source_task_config" ], "title": "LegacyRiverResponse", "description": "This class is used to return the river version definition in the legacy format." }, "LoadingMode": { "type": "string", "enum": [ "overwrite", "append", "merge" ], "title": "LoadingMode", "description": "Enum for loading modes " }, "LoadingModeKnowledgeHub": { "type": "string", "enum": [ "append", "overwrite", "merge" ], "title": "LoadingModeKnowledgeHub", "description": "Enum for loading modes for the Knowledge Hub target\n\nMerge upserts on document id - it needs no match keys, because the matching is KH's own.\nAppend and overwrite stay because rivers are configured with them and the values have to be\nrepresentable when they are read back." }, "LogicConditionActionEnum": { "type": "string", "enum": [ "run_step", "skip_container", "stop_river", "fail_river" ], "title": "LogicConditionActionEnum", "description": "The logic condition action enum" }, "LogicProperties": { "properties": { "logic_steps": { "items": { "oneOf": [ { "$ref": "#/$defs/RunOnceContainer" }, { "$ref": "#/$defs/LoopContainer" }, { "$ref": "#/$defs/ConditionContainer" }, { "$ref": "#/$defs/RunRiverStep" }, { "$ref": "#/$defs/ActionStep" }, { "$ref": "#/$defs/LogicodeStep" }, { "$ref": "#/$defs/AthenaSqlScriptStep" }, { "$ref": "#/$defs/AthenaSqlQueryStep" }, { "$ref": "#/$defs/AzureSynapseSqlScriptStep" }, { "$ref": "#/$defs/AzureSynapseSqlQueryStep" }, { "$ref": "#/$defs/AzureSQLSqlScriptStep" }, { "$ref": "#/$defs/AzureSQLSqlQueryStep" }, { "$ref": "#/$defs/PostgresSqlScriptStep" }, { "$ref": "#/$defs/PostgresSqlQueryStep" }, { "$ref": "#/$defs/SnowflakeDataframeStep" }, { "$ref": "#/$defs/SnowflakeSqlQueryStep" }, { "$ref": "#/$defs/SnowflakeSqlScriptStep" }, { "$ref": "#/$defs/BigQuerySqlScriptStep" }, { "$ref": "#/$defs/BigQuerySqlQueryStep" }, { "$ref": "#/$defs/DatabricksSqlScriptStep" }, { "$ref": "#/$defs/DatabricksSqlQueryStep" }, { "$ref": "#/$defs/RedshiftDataframeStep" }, { "$ref": "#/$defs/RedshiftSqlScriptStep" }, { "$ref": "#/$defs/RedshiftSqlQueryStep" } ] }, "type": "array", "minItems": 1, "title": "Logic Steps" }, "properties_type": { "const": "logic", "title": "Properties Type", "default": "logic" } }, "type": "object", "required": [ "logic_steps" ], "title": "LogicProperties", "description": "The logic river properties" }, "LogicodeSizeEnum": { "type": "string", "enum": [ "XS", "S", "M", "L", "XL", "XXL" ], "title": "LogicodeSizeEnum", "description": "Enum for logic code size" }, "LogicodeStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "type": { "const": "logicode", "title": "Type" }, "code_type": { "const": "python", "title": "Code Type", "default": "python" }, "file_id": { "type": "string", "title": "File Id" }, "logicode_size": { "allOf": [ { "$ref": "#/$defs/LogicodeSizeEnum" } ], "description": "The size of container that will run the logic code" }, "additional_packages": { "items": { "type": "string" }, "type": "array", "title": "Additional Packages", "description": "Additional packages to install" } }, "type": "object", "required": [ "name", "type", "logicode_size", "file_id" ], "title": "LogicodeStep", "description": "logicode step schema" }, "LoopContainer": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the container is enabled or not", "default": true }, "container_id": { "type": "string", "title": "Container Id", "description": "The container id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "type": { "const": "loop", "title": "Type" }, "steps": { "items": { "anyOf": [ { "$ref": "#/$defs/RunOnceContainer" }, { "$ref": "#/$defs/LoopContainer" }, { "$ref": "#/$defs/ConditionContainer" }, { "$ref": "#/$defs/RunRiverStep" }, { "$ref": "#/$defs/ActionStep" }, { "$ref": "#/$defs/LogicodeStep" }, { "$ref": "#/$defs/AthenaSqlScriptStep" }, { "$ref": "#/$defs/AthenaSqlQueryStep" }, { "$ref": "#/$defs/AzureSynapseSqlScriptStep" }, { "$ref": "#/$defs/AzureSynapseSqlQueryStep" }, { "$ref": "#/$defs/AzureSQLSqlScriptStep" }, { "$ref": "#/$defs/AzureSQLSqlQueryStep" }, { "$ref": "#/$defs/PostgresSqlScriptStep" }, { "$ref": "#/$defs/PostgresSqlQueryStep" }, { "$ref": "#/$defs/SnowflakeDataframeStep" }, { "$ref": "#/$defs/SnowflakeSqlQueryStep" }, { "$ref": "#/$defs/SnowflakeSqlScriptStep" }, { "$ref": "#/$defs/BigQuerySqlScriptStep" }, { "$ref": "#/$defs/BigQuerySqlQueryStep" }, { "$ref": "#/$defs/DatabricksSqlScriptStep" }, { "$ref": "#/$defs/DatabricksSqlQueryStep" }, { "$ref": "#/$defs/RedshiftDataframeStep" }, { "$ref": "#/$defs/RedshiftSqlScriptStep" }, { "$ref": "#/$defs/RedshiftSqlQueryStep" } ] }, "type": "array", "minItems": 1, "title": "Steps" }, "loop_over_value": { "type": "string", "title": "Loop Over Value", "description": "The loop over value" }, "loop_over_variable_name": { "items": { "type": "string" }, "type": "array", "title": "Loop Over Variable Name", "description": "The loop over variable name" } }, "type": "object", "required": [ "name", "type", "steps", "loop_over_value", "loop_over_variable_name" ], "title": "LoopContainer", "description": "Loop Container Schema" }, "MSSQLSourceCDCSettings": { "properties": { "default_tables_migration_option": { "allOf": [ { "$ref": "#/$defs/RiverTablesMigrationDefaultSyncOption" } ], "description": "This option determine the tables migration option. For example. Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the status from the River level to be used for a one-time process.", "default": "RUN_INITIAL_MIGRATION" }, "include_snapshot_tables": { "type": "boolean", "title": "Include Snapshot Tables", "description": "Indicates whether to take a snapshot of the source table before starting CDC.", "default": true }, "datasource_id": { "const": "mssql", "title": "Datasource Id", "description": "The data source id of this source", "default": "mssql" } }, "additionalProperties": false, "type": "object", "title": "MSSQLSourceCDCSettings", "description": "MSSQL Source CDC settings properties to return." }, "MSSQLTableAdditionalSourceSettings": { "properties": { "filter_expression": { "type": "string", "title": "Filter Expression", "description": "The filter expression of the river entity.", "default": "" }, "source_type": { "const": "mssql", "title": "Source Type", "description": "Internal field, populated automatically", "default": "mssql" }, "last_sync_version": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Last Sync Version", "description": "Last sync version to be used for the change tracking" }, "include_deleted_rows": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Include Deleted Rows", "description": "Include deleted rows" } }, "additionalProperties": false, "type": "object", "title": "MSSQLTableAdditionalSourceSettings", "description": "MSSQL specific source settings" }, "MariaDBTableAdditionalSourceSettings": { "properties": { "filter_expression": { "type": "string", "title": "Filter Expression", "description": "The filter expression of the river entity.", "default": "" }, "source_type": { "const": "mariadb", "title": "Source Type", "description": "Internal field, populated automatically", "default": "mariadb" }, "include_end_value": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Include End Value", "description": "Include end value" } }, "additionalProperties": false, "type": "object", "title": "MariaDBTableAdditionalSourceSettings", "description": "MariaDB specific source settings" }, "MergeMethod": { "type": "string", "enum": [ "switch_tables", "delete_insert", "merge", "insert_on_conflict" ], "title": "MergeMethod", "description": "Enum for merge methods " }, "MergeMethodPostgres": { "type": "string", "enum": [ "delete_insert", "insert_on_conflict" ], "title": "MergeMethodPostgres", "description": "Enum for merge methods for Postgres target" }, "MergeMethodSnowflake": { "type": "string", "enum": [ "switch_tables", "delete_insert", "merge" ], "title": "MergeMethodSnowflake", "description": "Enum for merge methods for Snowflake target" }, "MongoChunkSizeType": { "type": "string", "enum": [ "dynamic", "manual" ], "title": "MongoChunkSizeType", "description": "MongoDb chunk size type" }, "MongoDBRecordsOrderTypeEnum": { "type": "string", "enum": [ "Last", "First" ], "title": "MongoDBRecordsOrderTypeEnum", "description": "MongoDB records order type" }, "MongoDBSourceCDCSettings": { "properties": { "default_tables_migration_option": { "allOf": [ { "$ref": "#/$defs/RiverTablesMigrationDefaultSyncOption" } ], "description": "This option determine the tables migration option. For example. Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the status from the River level to be used for a one-time process.", "default": "RUN_INITIAL_MIGRATION" }, "include_snapshot_tables": { "type": "boolean", "title": "Include Snapshot Tables", "description": "Indicates whether to take a snapshot of the source table before starting CDC.", "default": true }, "datasource_id": { "const": "mongodb", "title": "Datasource Id", "description": "The data source id of this source", "default": "mongodb" } }, "additionalProperties": false, "type": "object", "title": "MongoDBSourceCDCSettings", "description": "MongoDB Source CDC settings properties." }, "MongoDBTableAdditionalSourceSettings": { "properties": { "chunk_size_type": { "anyOf": [ { "$ref": "#/$defs/MongoChunkSizeType" }, { "type": "null" } ], "description": "The method to choose how many records per chunk", "default": "dynamic" }, "max_results_file": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Max Results File", "description": "The maximum number of records to write to a file" }, "mapping_settings_type": { "anyOf": [ { "$ref": "#/$defs/MongoMappingTypeEnum" }, { "type": "null" } ], "description": "The selected mapping type for mongodb", "default": "mapping_number_of_records" }, "mapping_num_of_records": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Mapping Num Of Records", "description": "The number of records to sample for mapping" }, "mapping_records_order": { "anyOf": [ { "$ref": "#/$defs/MongoDBRecordsOrderTypeEnum" }, { "type": "null" } ], "description": "The order of the records to sample for mapping", "default": "Last" }, "mapping_documents_ids": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Mapping Documents Ids", "description": "The specific selected documents id's for mapping" }, "json_example": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Json Example", "description": "JSON example representing data formation for mapping" }, "filter_expression": { "type": "string", "title": "Filter Expression", "description": "The filter expression of the river entity.", "default": "" }, "source_type": { "const": "mongodb", "title": "Source Type", "description": "Internal field, populated automatically", "default": "mongodb" }, "concurrent_requests_number": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Concurrent Requests Number", "description": "Number of connections to open concurrently to MongoDB", "default": 1 } }, "additionalProperties": false, "type": "object", "title": "MongoDBTableAdditionalSourceSettings", "description": "MongoDB specific source settings" }, "MongoMappingTypeEnum": { "type": "string", "enum": [ "mapping_number_of_records", "mapping_documents_ids", "mapping_json_example" ], "title": "MongoMappingTypeEnum", "description": "MongoDb mapping type" }, "MultiselectRuntimeParams": { "properties": { "name": { "type": "string", "title": "Name", "description": "Identifier name of the multiselect parameter as declared in the YAML." }, "type": { "const": "multiselect", "title": "Type", "description": "Discriminator: always 'multiselect' for this variant." }, "value": { "anyOf": [ { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" }, { "type": "boolean" } ] }, "type": "array" }, { "type": "null" } ], "title": "Value", "description": "The selected option values, in selection order. Empty/null means no selection." } }, "type": "object", "required": [ "name", "type" ], "title": "MultiselectRuntimeParams", "description": "Runtime values for a YAML-declared static multiselect parameter (AMC-1014).\n\nThe user's selection is a LIST of the recipe's scalar option values. Sent alongside the\nother entries in the same `source` list, on rivers save and on the metadata pull alike;\nthe worker binds the list to the recipe parameter, where a `repeated: true` query param\nserializes it as repeated keys." }, "MySQLTableAdditionalSourceSettings": { "properties": { "filter_expression": { "type": "string", "title": "Filter Expression", "description": "The filter expression of the river entity.", "default": "" }, "source_type": { "const": "mysql", "title": "Source Type", "description": "Internal field, populated automatically", "default": "mysql" } }, "additionalProperties": false, "type": "object", "title": "MySQLTableAdditionalSourceSettings", "description": "MySQL specific source settings" }, "MysqlSourceCDCSettings": { "properties": { "default_tables_migration_option": { "allOf": [ { "$ref": "#/$defs/RiverTablesMigrationDefaultSyncOption" } ], "description": "This option determine the tables migration option. For example. Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the status from the River level to be used for a one-time process.", "default": "RUN_INITIAL_MIGRATION" }, "include_snapshot_tables": { "type": "boolean", "title": "Include Snapshot Tables", "description": "Indicates whether to take a snapshot of the source table before starting CDC.", "default": true }, "datasource_id": { "const": "mysql", "title": "Datasource Id", "description": "The data source id of this source", "default": "mysql" } }, "additionalProperties": false, "type": "object", "title": "MysqlSourceCDCSettings", "description": "Mysql Source CDC settings properties to return." }, "NativeConnectorTableAdditionalSourceSettings": { "properties": { "source_type": { "const": "native_connector", "title": "Source Type", "description": "Internal field, populated automatically", "default": "native_connector" } }, "additionalProperties": true, "type": "object", "title": "NativeConnectorTableAdditionalSourceSettings", "description": "Native Connector per-table source settings (no-schema, generic across all connectors)." }, "NetSuiteAnalyticsTableAdditionalSourceSettings": { "properties": { "filter_expression": { "type": "string", "title": "Filter Expression", "description": "The filter expression of the river entity.", "default": "" }, "source_type": { "const": "netsuite_analytics", "title": "Source Type", "description": "Internal field, populated automatically", "default": "netsuite_analytics" }, "auto_detect_new_fields": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Auto Detect New Fields", "description": "Auto-detect new fields in NetSuite Analytics datasets", "default": true }, "auto_detect_tables_relations": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Auto Detect Tables Relations", "description": "Auto-detect tables relations in NetSuite Analytics datasets", "default": false } }, "additionalProperties": false, "type": "object", "title": "NetSuiteAnalyticsTableAdditionalSourceSettings", "description": "NetSuite Analytics specific source settings.\n\nTable-level fields: filter_expression (inherited from DatabaseTableAdditionalSourceSettings)\nSource-level fields: auto_detect_new_fields" }, "NotificationSettings": { "properties": { "warning": { "anyOf": [ { "$ref": "#/$defs/RiverNotificationReport" }, { "type": "null" } ], "description": "Notification report for warning." }, "failure": { "anyOf": [ { "$ref": "#/$defs/RiverNotificationReport" }, { "type": "null" } ], "description": "Notification report for failure." }, "run_threshold": { "anyOf": [ { "$ref": "#/$defs/RiverNotificationReport" }, { "type": "null" } ], "description": "Notification report for run threshold." } }, "type": "object", "title": "NotificationSettings", "description": "Notification settings properties for the entire river\n(define what to do on warning, error, failure/timeout)" }, "OneLakeModifiedColumn": { "properties": { "is_selected": { "type": "boolean", "title": "Is Selected", "description": "If the column is selected and should be modified." }, "name": { "type": "string", "title": "Name", "description": "The name of the column." }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Type", "description": "The type of the column." }, "alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Alias", "description": "The alias of the column in the target table." }, "expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expression", "description": "This tells us the column is an expression or not so we know if it suppose to exist in the source / target or is it auto generated." }, "is_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Key", "description": "If the column is a key." }, "cluster_key": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Cluster Key", "description": "The sort order of the column (number) in the cluster, used in the merge process to determine the order of the merge keys." }, "calculated_column_mode": { "anyOf": [ { "$ref": "#/$defs/CalculatedColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the calculated column.Help to identify if the column is source expression or target expression,required if the column is an expression." }, "order": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Order", "description": "The order of the column in the expression,required if the column is an expression." }, "mode": { "anyOf": [ { "$ref": "#/$defs/ColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the column in the target table" }, "is_rivery_metadata": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Rivery Metadata", "description": "Whether the column includes rivery metadata" }, "is_partition": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Partition", "description": "Indication if the column is a partition column", "default": false }, "target_type": { "const": "onelake", "title": "Target Type", "description": "Internal field, populated automatically", "default": "onelake" }, "partition_key": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Partition Key", "description": "Position of this column in the partition key order (1-based). Null if the column is not a partition key." } }, "additionalProperties": false, "type": "object", "required": [ "is_selected", "name" ], "title": "OneLakeModifiedColumn", "description": "OneLake (Microsoft Fabric) specific columns settings" }, "OneLakePartitionTypeEnum": { "type": "string", "enum": [ "TIMESTAMP", "DATETIME", "DATE" ], "title": "OneLakePartitionTypeEnum", "description": "OneLake (Delta) partition types." }, "OneLakeTableAdditionalTargetSettings": { "properties": { "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity,to filter duplications from the source data by the provided order expression (for `merge` loading method)." }, "target_loading": { "anyOf": [ { "$ref": "#/$defs/LoadingMode" }, { "type": "null" } ], "description": "The target loading of the table entity,if not specified the default loading mode of the riverwill be used." }, "target_type": { "const": "onelake", "title": "Target Type", "description": "Internal field, populated automatically", "default": "onelake" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethodSnowflake" }, { "type": "null" } ], "description": "The merge method of the table, if not specified the default merge method of the riverwill be used." }, "enforce_masking_policy": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Enforce Masking Policy", "description": "Reserve the data masking policy that is applied on the column level in your target table.", "default": false }, "recreate_keys": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Recreate Keys", "description": "Recreate the table keys.", "default": false }, "escape_character": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Escape Character", "description": "Escape characters allow special characters in strings to be interpreted as literal characters, rather than as control characters inside the query" }, "remove_deleted_rows": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Remove Deleted Rows", "description": "remove deleted rows in case of MSSQL source and using change tracking including deleted rows" }, "partition_type": { "anyOf": [ { "$ref": "#/$defs/OneLakePartitionTypeEnum" }, { "type": "null" } ], "description": "The type of partition to partition that table by." } }, "type": "object", "title": "OneLakeTableAdditionalTargetSettings", "description": "OneLake (Microsoft Fabric) specific target settings" }, "OneLakeTargetSettings": { "properties": { "name": { "const": "onelake", "title": "Name", "description": "The name of the target", "default": "onelake" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Id", "description": "The connection ID of this target" }, "connection_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Name", "description": "The connection name of this target" }, "single_table_settings": { "anyOf": [ { "$ref": "#/$defs/SingleTableSettings" }, { "type": "null" } ], "description": "Single table specific settings for the target" }, "table_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Table Name", "description": "The table name of this target (only relevant for non multi table source to target rivers)", "default": "" }, "target_prefix": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Target Prefix", "description": "The table prefix of this target (only relevant for multi table source to target rivers)", "default": "" }, "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity." }, "loading_method": { "allOf": [ { "$ref": "#/$defs/LoadingMode" } ], "description": "The loading method of this target" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethodSnowflake" }, { "type": "null" } ], "description": "The merge method to preform,only relevant when the loading mode is Merge,if not provided the default merge method will be used.(merge)" }, "file_zone_settings": { "anyOf": [ { "$ref": "#/$defs/RiverFileZoneSettings" }, { "type": "null" } ], "description": "The file zone settings of this target" }, "file_path_destination": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Path Destination", "description": "The file name and path" }, "additional_settings": { "type": "object", "title": "Additional Settings", "description": "The additional settings of this target", "default": {} }, "workspace_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Workspace Name", "description": "The Fabric workspace this target writes to" }, "lakehouse_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Lakehouse Name", "description": "The Fabric lakehouse this target writes to" }, "schema_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Schema Name", "description": "The schema name of this target" } }, "type": "object", "required": [ "loading_method" ], "title": "OneLakeTargetSettings", "description": "OneLake (Microsoft Fabric) target settings properties to return." }, "OracleSourceCDCSettings": { "properties": { "default_tables_migration_option": { "allOf": [ { "$ref": "#/$defs/RiverTablesMigrationDefaultSyncOption" } ], "description": "This option determine the tables migration option. For example. Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the status from the River level to be used for a one-time process.", "default": "RUN_INITIAL_MIGRATION" }, "include_snapshot_tables": { "type": "boolean", "title": "Include Snapshot Tables", "description": "Indicates whether to take a snapshot of the source table before starting CDC.", "default": true }, "datasource_id": { "const": "oracle", "title": "Datasource Id", "description": "The data source id of this source", "default": "oracle" } }, "additionalProperties": false, "type": "object", "title": "OracleSourceCDCSettings", "description": "Oracle Source CDC settings properties to return." }, "OracleTableAdditionalSourceSettings": { "properties": { "filter_expression": { "type": "string", "title": "Filter Expression", "description": "The filter expression of the river entity.", "default": "" }, "source_type": { "const": "oracle", "title": "Source Type", "description": "Internal field, populated automatically", "default": "oracle" } }, "additionalProperties": false, "type": "object", "title": "OracleTableAdditionalSourceSettings", "description": "Oracle specific source settings" }, "PartitionedKindEnum": { "type": "string", "enum": [ "by_day", "by_hour", "by_minute" ], "title": "PartitionedKindEnum", "description": "Partitioned kind for storages" }, "PartitioningByTimestamp": { "properties": { "partition_by": { "const": "timestamp", "title": "Partition By" }, "partition_granularity": { "type": "string", "enum": [ "YEAR", "MONTH", "DAY", "HOUR" ], "title": "Partition Granularity", "default": "DAY" } }, "type": "object", "required": [ "partition_by" ], "title": "PartitioningByTimestamp", "description": "Partitioning by timestamp schema" }, "PostgreSQLTableAdditionalSourceSettings": { "properties": { "filter_expression": { "type": "string", "title": "Filter Expression", "description": "The filter expression of the river entity.", "default": "" }, "source_type": { "const": "postgresql", "title": "Source Type", "description": "Internal field, populated automatically", "default": "postgresql" }, "include_timezone": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Include Timezone", "description": "Decide if to include timezone in timestamp values" }, "timezone_offset": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Timezone Offset", "description": "timezone offset when adding timezone to timestamp values", "default": 0 } }, "additionalProperties": false, "type": "object", "title": "PostgreSQLTableAdditionalSourceSettings", "description": "PostgreSQL specific source settings" }, "PostgresModifiedColumn": { "properties": { "is_selected": { "type": "boolean", "title": "Is Selected", "description": "If the column is selected and should be modified." }, "name": { "type": "string", "title": "Name", "description": "The name of the column." }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Type", "description": "The type of the column." }, "alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Alias", "description": "The alias of the column in the target table." }, "expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expression", "description": "This tells us the column is an expression or not so we know if it suppose to exist in the source / target or is it auto generated." }, "is_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Key", "description": "If the column is a key." }, "cluster_key": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Cluster Key", "description": "The sort order of the column (number) in the cluster, used in the merge process to determine the order of the merge keys." }, "calculated_column_mode": { "anyOf": [ { "$ref": "#/$defs/CalculatedColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the calculated column.Help to identify if the column is source expression or target expression,required if the column is an expression." }, "order": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Order", "description": "The order of the column in the expression,required if the column is an expression." }, "mode": { "anyOf": [ { "$ref": "#/$defs/ColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the column in the target table" }, "is_rivery_metadata": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Rivery Metadata", "description": "Whether the column includes rivery metadata" }, "target_type": { "const": "postgres_rds", "title": "Target Type", "description": "Internal field, populated automatically", "default": "postgres_rds" } }, "additionalProperties": false, "type": "object", "required": [ "is_selected", "name" ], "title": "PostgresModifiedColumn", "description": "Postgres specific columns settings" }, "PostgresSourceCDCSettings": { "properties": { "default_tables_migration_option": { "allOf": [ { "$ref": "#/$defs/RiverTablesMigrationDefaultSyncOption" } ], "description": "This option determine the tables migration option. For example. Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the status from the River level to be used for a one-time process.", "default": "RUN_INITIAL_MIGRATION" }, "include_snapshot_tables": { "type": "boolean", "title": "Include Snapshot Tables", "description": "Indicates whether to take a snapshot of the source table before starting CDC.", "default": true }, "datasource_id": { "const": "postgres", "title": "Datasource Id", "description": "The data source id of this source", "default": "postgres" }, "custom_replication_slot": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Custom Replication Slot", "description": "The custom replication slot of this source" }, "custom_publication": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Custom Publication", "description": "The custom publication of this source" } }, "additionalProperties": false, "type": "object", "title": "PostgresSourceCDCSettings", "description": "Postgres Source CDC settings properties to return." }, "PostgresSqlQueryStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "sql_query": { "type": "string", "title": "Sql Query" }, "type": { "const": "postgres_sql_query", "title": "Type" }, "target_settings": { "oneOf": [ { "$ref": "#/$defs/TargetVariableProperties" }, { "$ref": "#/$defs/PostgresTargetTableProperties" }, { "$ref": "#/$defs/PostgresTargetFileProperties" } ], "title": "Target Settings" } }, "type": "object", "required": [ "name", "sql_query", "type", "target_settings", "connection_id" ], "title": "PostgresSqlQueryStep", "description": "Postgres SQL Query Step Schema" }, "PostgresSqlScriptStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "sql_query": { "type": "string", "title": "Sql Query" }, "type": { "const": "postgres_sql_script", "title": "Type" } }, "type": "object", "required": [ "name", "sql_query", "type", "connection_id" ], "title": "PostgresSqlScriptStep", "description": "Postgres SQL Script Step Schema" }, "PostgresTableAdditionalTargetSettings": { "properties": { "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity,to filter duplications from the source data by the provided order expression (for `merge` loading method)." }, "target_loading": { "anyOf": [ { "$ref": "#/$defs/LoadingMode" }, { "type": "null" } ], "description": "The target loading of the table entity,if not specified the default loading mode of the riverwill be used." }, "target_type": { "const": "postgres_rds", "title": "Target Type", "description": "Internal field, populated automatically", "default": "postgres_rds" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethodPostgres" }, { "type": "null" } ], "description": "The merge method of the table, if not specified the default merge method of the riverwill be used." }, "analyze_table": { "type": "boolean", "title": "Analyze Table", "description": "Analyze the tables after the load process", "default": true } }, "type": "object", "title": "PostgresTableAdditionalTargetSettings", "description": "Postgres specific target settings" }, "PostgresTargetFileProperties": { "properties": { "target_type": { "const": "files_export", "title": "Target Type" }, "bucket_name": { "type": "string", "title": "Bucket Name" }, "file_path": { "type": "string", "title": "File Path" }, "connection_id": { "type": "string", "title": "Connection Id" } }, "type": "object", "required": [ "target_type", "bucket_name", "file_path", "connection_id" ], "title": "PostgresTargetFileProperties", "description": "Postgres Target File Properties Schema" }, "PostgresTargetSettings": { "properties": { "name": { "const": "postgres_rds", "title": "Name", "description": "The name of the target", "default": "postgres_rds" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Id", "description": "The connection ID of this target" }, "connection_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Name", "description": "The connection name of this target" }, "single_table_settings": { "anyOf": [ { "$ref": "#/$defs/SingleTableSettings" }, { "type": "null" } ], "description": "Single table specific settings for the target" }, "table_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Table Name", "description": "The table name of this target (only relevant for non multi table source to target rivers)", "default": "" }, "target_prefix": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Target Prefix", "description": "The table prefix of this target (only relevant for multi table source to target rivers)", "default": "" }, "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity." }, "loading_method": { "allOf": [ { "$ref": "#/$defs/LoadingMode" } ], "description": "The loading method of this target" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethodPostgres" }, { "type": "null" } ], "description": "The merge method to preform,only relevant when the loading mode is Merge,if not provided the default merge method will be used.(delete - insert)" }, "file_zone_settings": { "anyOf": [ { "$ref": "#/$defs/RiverFileZoneSettings" }, { "type": "null" } ], "description": "The file zone settings of this target" }, "file_path_destination": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Path Destination", "description": "The file name and path" }, "additional_settings": { "type": "object", "title": "Additional Settings", "description": "The additional settings of this target", "default": {} }, "schema_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Schema Name", "description": "The schema name of this target" }, "analyze_table": { "type": "boolean", "title": "Analyze Table", "description": "Analyze the tables after the load process", "default": true } }, "type": "object", "required": [ "loading_method" ], "title": "PostgresTargetSettings", "description": "Postgres target settings properties to return." }, "PostgresTargetTableMergeSettings": { "properties": { "merge_method": { "type": "string", "title": "Merge Method" }, "is_ordered_merge": { "type": "boolean", "title": "Is Ordered Merge", "description": "A flag that indicates whether the merge is ordered or not", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression" } }, "type": "object", "required": [ "merge_method" ], "title": "PostgresTargetTableMergeSettings", "description": "Postgres Target Table Merge Settings Schema" }, "PostgresTargetTableProperties": { "properties": { "target_type": { "const": "table", "title": "Target Type" }, "table_name": { "type": "string", "title": "Table Name" }, "drop_after": { "type": "boolean", "title": "Drop After", "description": "A flag that indicates whether to drop the table after the run or not", "default": false }, "schema_name": { "type": "string", "title": "Schema Name" }, "loading_mode": { "type": "string", "enum": [ "append_only", "overwrite", "upsert_merge" ], "title": "Loading Mode", "default": "append_only" }, "merge_settings": { "anyOf": [ { "$ref": "#/$defs/PostgresTargetTableMergeSettings" }, { "type": "null" } ], "description": "The merge settings" }, "fields": { "items": { "type": "object" }, "type": "array", "title": "Fields", "description": "The mapping", "default": [] }, "analyze_tables": { "type": "boolean", "title": "Analyze Tables", "description": "A flag that indicates whether to analyze the tables or not", "default": true } }, "type": "object", "required": [ "target_type", "table_name", "schema_name" ], "title": "PostgresTargetTableProperties", "description": "Postgres Target Table Properties Schema" }, "RecipeTableAdditionalSourceSettings": { "properties": { "filter_expression": { "type": "string", "title": "Filter Expression", "description": "The filter expression of the river entity.", "default": "" }, "source_type": { "const": "blueprint", "title": "Source Type", "description": "Internal field, populated automatically", "default": "blueprint" }, "interface_parameters": { "anyOf": [ { "$ref": "#/$defs/InterfaceParameters" }, { "type": "null" } ], "description": "The interface parameters" } }, "additionalProperties": false, "type": "object", "title": "RecipeTableAdditionalSourceSettings", "description": "Recipe specific source settings" }, "RedshiftCsvFileSettings": { "properties": { "file_type": { "const": "csv", "title": "File Type", "description": "The file type", "default": "csv" }, "file_delimiter": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Delimiter" }, "quote_char": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Quote Char" }, "include_header": { "type": "boolean", "title": "Include Header", "default": false }, "compression": { "type": "string", "enum": [ "none", "gzip", "bz2" ], "title": "Compression", "description": "The compression type", "default": "none" } }, "type": "object", "title": "RedshiftCsvFileSettings", "description": "Redshift CSV File Settings Schema" }, "RedshiftDataframeStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "type": { "const": "redshift_dataframe", "title": "Type" }, "dataframe_name": { "type": "string", "title": "Dataframe Name" }, "target_properties": { "$ref": "#/$defs/RedshiftTargetTableWithoutMappingProperties" } }, "type": "object", "required": [ "name", "type", "dataframe_name", "target_properties", "connection_id" ], "title": "RedshiftDataframeStep", "description": "Dataframe Redshift Step Schema" }, "RedshiftModifiedColumn": { "properties": { "is_selected": { "type": "boolean", "title": "Is Selected", "description": "If the column is selected and should be modified." }, "name": { "type": "string", "title": "Name", "description": "The name of the column." }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Type", "description": "The type of the column." }, "alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Alias", "description": "The alias of the column in the target table." }, "expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expression", "description": "This tells us the column is an expression or not so we know if it suppose to exist in the source / target or is it auto generated." }, "is_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Key", "description": "If the column is a key." }, "cluster_key": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Cluster Key", "description": "The sort order of the column (number) in the cluster, used in the merge process to determine the order of the merge keys." }, "calculated_column_mode": { "anyOf": [ { "$ref": "#/$defs/CalculatedColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the calculated column.Help to identify if the column is source expression or target expression,required if the column is an expression." }, "order": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Order", "description": "The order of the column in the expression,required if the column is an expression." }, "mode": { "anyOf": [ { "$ref": "#/$defs/ColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the column in the target table" }, "is_rivery_metadata": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Rivery Metadata", "description": "Whether the column includes rivery metadata" }, "target_type": { "const": "redshift", "title": "Target Type", "description": "Internal field, populated automatically", "default": "redshift" }, "length": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Length", "description": "The length of VARCHAR columns." }, "scale": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Scale", "description": "The scale of DECIMAL columns." }, "precision": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Precision", "description": "The precision of DECIMAL columns." }, "is_dist_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Dist Key", "description": "If the column is a unique Distkey column on which the table is distributed to each node" }, "sort_order": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Sort Order", "description": "The sort order of the column (number), sort order are used in the merge process to determine the order of the merge keys." } }, "additionalProperties": false, "type": "object", "required": [ "is_selected", "name" ], "title": "RedshiftModifiedColumn", "description": "Redshift specific columns settings" }, "RedshiftSqlQueryStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "type": { "const": "redshift_sql_query", "title": "Type" }, "sql_query": { "type": "string", "title": "Sql Query" }, "keep_schema_binding_view": { "type": "boolean", "title": "Keep Schema Binding View", "default": false }, "target_settings": { "oneOf": [ { "$ref": "#/$defs/RedshiftTargetTableWithMappingProperties" }, { "$ref": "#/$defs/TargetDataframeProperties" }, { "$ref": "#/$defs/TargetVariableProperties" }, { "$ref": "#/$defs/RedshiftTargetFileProperties" } ], "title": "Target Settings" } }, "type": "object", "required": [ "name", "type", "sql_query", "target_settings", "connection_id" ], "title": "RedshiftSqlQueryStep", "description": "SQL Query Redshift Step Schema" }, "RedshiftSqlScriptStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "type": { "const": "redshift_sql_script", "title": "Type" }, "sql_query": { "type": "string", "title": "Sql Query" }, "keep_schema_binding_view": { "type": "boolean", "title": "Keep Schema Binding View", "default": false } }, "type": "object", "required": [ "name", "type", "sql_query", "connection_id" ], "title": "RedshiftSqlScriptStep", "description": "Redshift SQL Script Step Schema" }, "RedshiftTableAdditionalSourceSettings": { "properties": { "filter_expression": { "type": "string", "title": "Filter Expression", "description": "The filter expression of the river entity.", "default": "" }, "source_type": { "const": "redshift", "title": "Source Type", "description": "Internal field, populated automatically", "default": "redshift" } }, "additionalProperties": false, "type": "object", "title": "RedshiftTableAdditionalSourceSettings", "description": "Redshift specific source settings" }, "RedshiftTableAdditionalTargetSettings": { "properties": { "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity,to filter duplications from the source data by the provided order expression (for `merge` loading method)." }, "target_loading": { "anyOf": [ { "$ref": "#/$defs/LoadingMode" }, { "type": "null" } ], "description": "The target loading of the table entity,if not specified the default loading mode of the riverwill be used." }, "target_type": { "const": "redshift", "title": "Target Type", "description": "Internal field, populated automatically", "default": "redshift" }, "distribution_method": { "allOf": [ { "$ref": "#/$defs/DistributionMethodEnum" } ], "description": "The distribution method of the target.", "default": "even" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethod" }, { "type": "null" } ], "description": "The merge method of the table, if not specified the default merge method of the riverwill be used." } }, "type": "object", "title": "RedshiftTableAdditionalTargetSettings", "description": "Redshift specific target settings" }, "RedshiftTargetFileProperties": { "properties": { "target_type": { "const": "files_export", "title": "Target Type" }, "bucket_name": { "type": "string", "title": "Bucket Name" }, "file_path": { "type": "string", "title": "File Path" }, "connection_id": { "type": "string", "title": "Connection Id" }, "file_type": { "const": "csv", "title": "File Type", "description": "The file type", "default": "csv" }, "load_into_single_file": { "type": "boolean", "title": "Load Into Single File", "description": "A flag that indicates whether to load into a single file or not", "default": false }, "file_settings": { "$ref": "#/$defs/RedshiftCsvFileSettings" } }, "type": "object", "required": [ "target_type", "bucket_name", "file_path", "connection_id", "file_settings" ], "title": "RedshiftTargetFileProperties", "description": "Redshift Target File Properties Schema" }, "RedshiftTargetSettings": { "properties": { "name": { "const": "redshift", "title": "Name", "description": "The name of the target", "default": "redshift" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Id", "description": "The connection ID of this target" }, "connection_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Name", "description": "The connection name of this target" }, "single_table_settings": { "anyOf": [ { "$ref": "#/$defs/SingleTableSettings" }, { "type": "null" } ], "description": "Single table specific settings for the target" }, "table_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Table Name", "description": "The table name of this target (only relevant for non multi table source to target rivers)", "default": "" }, "target_prefix": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Target Prefix", "description": "The table prefix of this target (only relevant for multi table source to target rivers)", "default": "" }, "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity." }, "loading_method": { "allOf": [ { "$ref": "#/$defs/LoadingMode" } ], "description": "The loading method of this target" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethod" }, { "type": "null" } ], "description": "The merge method to preform,only relevant when the loading mode is Merge,if not provided the default merge method will be used.(merge)" }, "file_zone_settings": { "anyOf": [ { "$ref": "#/$defs/RiverFileZoneSettings" }, { "type": "null" } ], "description": "The file zone settings of this target" }, "file_path_destination": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Path Destination", "description": "The file name and path" }, "additional_settings": { "type": "object", "title": "Additional Settings", "description": "The additional settings of this target", "default": {} }, "schema_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Schema Name", "description": "The schema name of this target" } }, "type": "object", "required": [ "loading_method" ], "title": "RedshiftTargetSettings", "description": "Redshift target settings properties to return." }, "RedshiftTargetTableMergeSettings": { "properties": { "merge_method": { "type": "string", "title": "Merge Method" }, "is_ordered_merge": { "type": "boolean", "title": "Is Ordered Merge", "description": "A flag that indicates whether the merge is ordered or not", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression" } }, "type": "object", "required": [ "merge_method" ], "title": "RedshiftTargetTableMergeSettings", "description": "Redshift Target Table Merge Settings Schema" }, "RedshiftTargetTableWithMappingProperties": { "properties": { "target_type": { "const": "table", "title": "Target Type" }, "table_name": { "type": "string", "title": "Table Name" }, "drop_after": { "type": "boolean", "title": "Drop After", "description": "A flag that indicates whether to drop the table after the run or not", "default": false }, "schema_name": { "type": "string", "title": "Schema Name", "description": "The Redshift schema" }, "distribution_method": { "type": "string", "enum": [ "all", "even", "key" ], "title": "Distribution Method", "default": "even" }, "loading_mode": { "type": "string", "enum": [ "append_only", "overwrite", "upsert_merge" ], "title": "Loading Mode", "description": "The loading mode", "default": "append_only" }, "merge_settings": { "anyOf": [ { "$ref": "#/$defs/RedshiftTargetTableMergeSettings" }, { "type": "null" } ], "description": "The merge settings" }, "fields": { "items": { "type": "object" }, "type": "array", "title": "Fields", "description": "The mapping" }, "mapping_order": { "items": { "type": "string" }, "type": "array", "title": "Mapping Order", "description": "The mapping order", "default": [] } }, "type": "object", "required": [ "target_type", "table_name", "schema_name" ], "title": "RedshiftTargetTableWithMappingProperties", "description": "Redshift Target Table With Mapping Properties Schema" }, "RedshiftTargetTableWithoutMappingProperties": { "properties": { "target_type": { "const": "table", "title": "Target Type" }, "table_name": { "type": "string", "title": "Table Name" }, "drop_after": { "type": "boolean", "title": "Drop After", "description": "A flag that indicates whether to drop the table after the run or not", "default": false }, "schema_name": { "type": "string", "title": "Schema Name", "description": "The Redshift schema" }, "distribution_method": { "type": "string", "enum": [ "all", "even", "key" ], "title": "Distribution Method", "default": "even" }, "loading_mode": { "type": "string", "enum": [ "append_only", "overwrite" ], "title": "Loading Mode", "default": "append_only" } }, "type": "object", "required": [ "target_type", "table_name", "schema_name" ], "title": "RedshiftTargetTableWithoutMappingProperties", "description": "Redshift Target Table Properties Schema" }, "RiverFileZoneSettings": { "properties": { "path": { "type": "string", "title": "Path", "description": "The path of the file zone entity." }, "bucket_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bucket Name", "description": "The bucket name of the file zone entity." }, "partitioned_kind": { "allOf": [ { "$ref": "#/$defs/PartitionedKindEnum" } ], "description": "The partitioned kind of the file zone entity." }, "fz_loading_mode": { "type": "string", "title": "Fz Loading Mode", "description": "File zone loading mode", "default": "auto-period" } }, "type": "object", "required": [ "path", "partitioned_kind" ], "title": "RiverFileZoneSettings", "description": "River File zone settings properties to return." }, "RiverIntervalTypeEnum": { "type": "string", "enum": [ "datetime", "runningnumber", "epoch", "row_version" ], "title": "RiverIntervalTypeEnum", "description": "Interval types options of the incremental field for rivers that are running incrementally" }, "RiverKindEnum": { "type": "string", "enum": [ "sub_river", "main_river" ], "title": "RiverKindEnum", "description": "River kind" }, "RiverMetadataExtended": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description", "description": "The description of the river.", "default": "" }, "river_status": { "allOf": [ { "$ref": "#/$defs/RiverStatusEnum" } ], "description": "The status of the river.", "default": "disabled" }, "current_version_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Current Version Id", "description": "The current version ID of the river." }, "created_by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Created By", "description": "The User that created the river." }, "last_updated_by": { "type": "string", "title": "Last Updated By", "description": "The User that last updated the river." }, "created_at": { "type": "string", "format": "date-time", "title": "Created At", "description": "The date the river was created." }, "last_updated_at": { "type": "string", "format": "date-time", "title": "Last Updated At", "description": "The date the river was last updated." }, "is_deleted": { "type": "boolean", "title": "Is Deleted", "description": "Indication if the river was deleted", "default": false } }, "type": "object", "required": [ "last_updated_by", "created_at", "last_updated_at" ], "title": "RiverMetadataExtended", "description": "Extended RiverMetadata to be returned with the GET" }, "RiverModel": { "properties": { "cross_id": { "type": "string", "title": "Cross Id", "description": "The river cross id." }, "account_id": { "type": "string", "title": "Account Id", "description": "The account id." }, "kind": { "allOf": [ { "$ref": "#/$defs/RiverKindEnum" } ], "description": "The kind of the river.", "default": "main_river" }, "type": { "allOf": [ { "$ref": "#/$defs/RiverTypeEnum" } ], "description": "The type of the river." }, "name": { "type": "string", "title": "Name", "description": "The name of the river." }, "environment_id": { "type": "string", "title": "Environment Id", "description": "The environment cross id." }, "environment_name": { "type": "string", "title": "Environment Name", "description": "The environment name." }, "group_id": { "type": "string", "title": "Group Id", "description": "The group id." }, "group_name": { "type": "string", "title": "Group Name", "description": "The group name." }, "metadata": { "allOf": [ { "$ref": "#/$defs/RiverMetadataExtended" } ], "description": "The river metadata." }, "properties": { "oneOf": [ { "$ref": "#/$defs/SourceToTargetRiverProperties" }, { "$ref": "#/$defs/ActionProperties" }, { "$ref": "#/$defs/LogicProperties" } ], "title": "Properties", "description": "The river properties, will change according to the river type." }, "settings": { "anyOf": [ { "$ref": "#/$defs/RiverSettings" }, { "type": "null" } ], "description": "River settings." }, "schedulers": { "anyOf": [ { "items": { "$ref": "#/$defs/RiverSchedule" }, "type": "array" }, { "type": "null" } ], "title": "Schedulers", "description": "River schedulers.", "default": [] } }, "type": "object", "required": [ "cross_id", "account_id", "type", "name", "environment_id", "environment_name", "group_id", "group_name", "metadata", "properties" ], "title": "RiverModel", "description": "River properties to return" }, "RiverNotificationReport": { "properties": { "email": { "type": "string", "title": "Email", "description": "Email address to send the report to in case of failure." }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the notification is enabled.", "default": false }, "execution_time_limit_seconds": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Execution Time Limit Seconds", "description": "The execution time limit in seconds of the river before reporting, only relevant for on run_threshold." } }, "type": "object", "required": [ "email" ], "title": "RiverNotificationReport", "description": "River Notification Report properties\n " }, "RiverSchedule": { "properties": { "cron_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cron Expression", "description": "The cron expression of the river entity." }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "The is enabled of the river.", "default": false } }, "type": "object", "title": "RiverSchedule", "description": "River schedule properties to return.\n " }, "RiverSettings": { "properties": { "run_timeout_seconds": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Run Timeout Seconds", "description": "The timeout of the river in seconds. Null activates automatic timeout calculation mode." }, "notification": { "anyOf": [ { "$ref": "#/$defs/NotificationSettings" }, { "type": "null" } ], "description": "River notification settings." }, "schedule_retry_config": { "anyOf": [ { "$ref": "#/$defs/ScheduleRetryConfig" }, { "type": "null" } ], "description": "Scheduled-run retry configuration. Not supported for CDC rivers and sub-rivers. Omitting it on create or edit resets the river to the disabled default." } }, "type": "object", "title": "RiverSettings", "description": "River settings properties to return.\n " }, "RiverStatusEnum": { "type": "string", "enum": [ "active", "disabled" ], "title": "RiverStatusEnum", "description": "River status enum.\nUsed in the is_enabled field which is part of the river properties.\nDisabled status for a river means the river cannot be executed while active status river can." }, "RiverTablesMigrationDefaultSyncOption": { "type": "string", "enum": [ "SKIP_INITIAL_MIGRATION", "RUN_INITIAL_MIGRATION" ], "title": "RiverTablesMigrationDefaultSyncOption", "description": "Each river can have a few options when it comes to migration of tables\n1. skip_initial_migration: will mean that the tables will inherit the status from the river and skip the migration\n2. run_initial_migration: (default for most cases) will mean that tables will fully migrate in the first run" }, "RiverTimePeriodEnum": { "type": "string", "enum": [ "custom", "yesterday", "today", "last_7_days", "last_365_days", "week_to_date", "previous_week", "previous_week_to_date", "last_week", "month_to_date", "previous_month", "previous_month_to_date", "year_to_date" ], "title": "RiverTimePeriodEnum", "description": "River supported time periods" }, "RiverTypeEnum": { "type": "string", "enum": [ "source_to_target", "actions", "logic", "connector_executor" ], "title": "RiverTypeEnum", "description": "All of the EXTERNAL river types" }, "RowVersion": { "properties": { "include_end_value": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Include End Value", "description": "Whether to include or exclude the end_value in the range" }, "rows_in_chunk": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Rows In Chunk", "description": "The rows in chunk of the river entity." }, "start_value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Start Value", "description": "The start value of the river entity." }, "end_value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "End Value", "description": "The end value of the river entity." } }, "type": "object", "title": "RowVersion", "description": "Row version settings for incremental extraction.\nOnly available for MSSQL and PostgreSQL sources.\nHas the same structure as RunningNumber but uses ROW_VERSION interval type." }, "RunOnceContainer": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the container is enabled or not", "default": true }, "container_id": { "type": "string", "title": "Container Id", "description": "The container id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "type": { "const": "run_once", "title": "Type" }, "is_parallel": { "type": "boolean", "title": "Is Parallel", "description": "A flag that indicates whether the container is parallel or not", "default": false }, "steps": { "items": { "oneOf": [ { "$ref": "#/$defs/RunOnceContainer" }, { "$ref": "#/$defs/LoopContainer" }, { "$ref": "#/$defs/ConditionContainer" }, { "$ref": "#/$defs/RunRiverStep" }, { "$ref": "#/$defs/ActionStep" }, { "$ref": "#/$defs/LogicodeStep" }, { "$ref": "#/$defs/AthenaSqlScriptStep" }, { "$ref": "#/$defs/AthenaSqlQueryStep" }, { "$ref": "#/$defs/AzureSynapseSqlScriptStep" }, { "$ref": "#/$defs/AzureSynapseSqlQueryStep" }, { "$ref": "#/$defs/AzureSQLSqlScriptStep" }, { "$ref": "#/$defs/AzureSQLSqlQueryStep" }, { "$ref": "#/$defs/PostgresSqlScriptStep" }, { "$ref": "#/$defs/PostgresSqlQueryStep" }, { "$ref": "#/$defs/SnowflakeDataframeStep" }, { "$ref": "#/$defs/SnowflakeSqlQueryStep" }, { "$ref": "#/$defs/SnowflakeSqlScriptStep" }, { "$ref": "#/$defs/BigQuerySqlScriptStep" }, { "$ref": "#/$defs/BigQuerySqlQueryStep" }, { "$ref": "#/$defs/DatabricksSqlScriptStep" }, { "$ref": "#/$defs/DatabricksSqlQueryStep" }, { "$ref": "#/$defs/RedshiftDataframeStep" }, { "$ref": "#/$defs/RedshiftSqlScriptStep" }, { "$ref": "#/$defs/RedshiftSqlQueryStep" } ] }, "type": "array", "minItems": 1, "title": "Steps" } }, "type": "object", "required": [ "name", "type", "steps" ], "title": "RunOnceContainer", "description": "Run Once Container Schema" }, "RunRiverStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "type": { "const": "river", "title": "Type" }, "river_id": { "type": "string", "title": "River Id" }, "input_variables": { "type": "object", "title": "Input Variables" } }, "type": "object", "required": [ "name", "type", "river_id" ], "title": "RunRiverStep", "description": "Run river step schema" }, "RunTypeEnum": { "type": "string", "enum": [ "custom", "custom_query", "multi_tables", "legacy", "predefined_report", "regular" ], "title": "RunTypeEnum", "description": "River run types" }, "RunningNumber": { "properties": { "include_end_value": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Include End Value", "description": "Whether to include or exclude the end_value in the range" }, "rows_in_chunk": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Rows In Chunk", "description": "The rows in chunk of the river entity." }, "start_value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "null" } ], "title": "Start Value", "description": "The start value of the river entity." }, "end_value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "null" } ], "title": "End Value", "description": "The end value of the river entity." } }, "type": "object", "title": "RunningNumber", "description": "Running number when using incremental on a running number and not date time." }, "S3ModifiedColumn": { "properties": { "is_selected": { "type": "boolean", "title": "Is Selected", "description": "If the column is selected and should be modified." }, "name": { "type": "string", "title": "Name", "description": "The name of the column." }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Type", "description": "The type of the column." }, "alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Alias", "description": "The alias of the column in the target table." }, "expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expression", "description": "This tells us the column is an expression or not so we know if it suppose to exist in the source / target or is it auto generated." }, "is_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Key", "description": "If the column is a key." }, "cluster_key": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Cluster Key", "description": "The sort order of the column (number) in the cluster, used in the merge process to determine the order of the merge keys." }, "calculated_column_mode": { "anyOf": [ { "$ref": "#/$defs/CalculatedColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the calculated column.Help to identify if the column is source expression or target expression,required if the column is an expression." }, "order": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Order", "description": "The order of the column in the expression,required if the column is an expression." }, "mode": { "anyOf": [ { "$ref": "#/$defs/ColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the column in the target table" }, "is_rivery_metadata": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Rivery Metadata", "description": "Whether the column includes rivery metadata" }, "target_type": { "const": "s3", "title": "Target Type", "description": "Internal field, populated automatically", "default": "s3" } }, "additionalProperties": false, "type": "object", "required": [ "is_selected", "name" ], "title": "S3ModifiedColumn", "description": "S3 specific columns settings" }, "S3TargetSettings": { "properties": { "name": { "const": "s3", "title": "Name", "description": "The name of the target", "default": "s3" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Id", "description": "The connection ID of this target" }, "connection_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Name", "description": "The connection name of this target" }, "single_table_settings": { "anyOf": [ { "$ref": "#/$defs/SingleTableSettings" }, { "type": "null" } ], "description": "Single table specific settings for the target" }, "path": { "type": "string", "title": "Path", "description": "The path of the file zone entity." }, "partitioned_kind": { "allOf": [ { "$ref": "#/$defs/PartitionedKindEnum" } ], "description": "The partitioned kind of the file zone entity." }, "fz_loading_mode": { "type": "string", "enum": [ "auto-period", "custom" ], "title": "Fz Loading Mode", "description": "Controls how the storage path is configured. 'auto-period' uses automatic period-based paths, 'custom' allows user-defined paths.", "default": "auto-period" }, "convert_file_type": { "anyOf": [ { "$ref": "#/$defs/ConvertFileTypeEnum" }, { "type": "null" } ], "description": "The type of file to convert to" }, "bucket_name": { "type": "string", "title": "Bucket Name", "description": "The bucket name of the file zone entity." } }, "type": "object", "required": [ "path", "partitioned_kind", "bucket_name" ], "title": "S3TargetSettings", "description": "S3 target settings properties to return." }, "SalesforceTableAdditionalSourceSettings": { "properties": { "filter_expression": { "type": "string", "title": "Filter Expression", "description": "The filter expression of the river entity.", "default": "" }, "source_type": { "const": "salesforce", "title": "Source Type", "description": "Internal field, populated automatically", "default": "salesforce" }, "include_deleted_rows": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Include Deleted Rows", "description": "Include deleted rows in extraction (both source and table level)" }, "pk_chunking": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Pk Chunking", "description": "PK chunking size for large Salesforce tables (table level only). Auto-populated with 100000 for specific tables if not provided" } }, "additionalProperties": false, "type": "object", "title": "SalesforceTableAdditionalSourceSettings", "description": "Salesforce specific source settings (table-level only)\n\nSource-level fields: auto_detect_new_fields, extract_api, include_deleted_rows\nTable-level fields: filter_expression, include_deleted_rows, pk_chunking" }, "ScheduleRetryConfig": { "properties": { "enable_scheduler_retry": { "type": "boolean", "title": "Enable Scheduler Retry", "description": "Whether failed scheduled runs of this river are retried automatically. Takes effect when the scheduler retry feature is released.", "default": false }, "retry_count": { "anyOf": [ { "type": "integer", "maximum": 12.0, "minimum": 1.0 }, { "type": "null" } ], "title": "Retry Count", "description": "Number of retry attempts for a failed scheduled run. Null uses the platform default." }, "delay_between_retries": { "anyOf": [ { "type": "integer", "maximum": 60.0, "minimum": 1.0 }, { "type": "null" } ], "title": "Delay Between Retries", "description": "Delay between retry attempts, in minutes. Null uses the platform default." } }, "additionalProperties": false, "type": "object", "title": "ScheduleRetryConfig", "description": "Scheduled-run retry configuration of a river, stored verbatim under\nshared_params.schedule_retry_config." }, "Schema": { "properties": { "name": { "type": "string", "title": "Name", "description": "The name of the schema" }, "tables": { "items": { "oneOf": [ { "$ref": "#/$defs/DatabaseTableInput" }, { "$ref": "#/$defs/BasePredefinedReportTableInput" } ], "description": "The tables of the schema entity" }, "type": "array", "title": "Tables", "default": [] } }, "type": "object", "required": [ "name" ], "title": "Schema", "description": "The schema we use for GET operations" }, "SingleTableSettings": { "properties": { "escape_character": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Escape Character", "description": "Escape characters allow special characters in strings to be interpreted as literal characters" }, "match_keys": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Match Keys", "description": "Key columns for merge operations" }, "mapping": { "anyOf": [ { "items": { "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Mapping", "description": "Column definitions for the table" }, "sql_dialect": { "anyOf": [ { "$ref": "#/$defs/BigQuerySQLDialectsEnum" }, { "type": "null" } ], "description": "The SQL dialect to use in the BigQuery target" }, "split_tables": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Split Tables", "description": "Split tables configuration" }, "split_data": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Split Data", "description": "The expression by which to split the tables if split tables by expression is chosen" }, "split_interval": { "anyOf": [ { "$ref": "#/$defs/BigQuerySplitTableIntervalEnum" }, { "type": "null" } ], "description": "The interval by which to split the tables if split table is on" }, "partition_type": { "anyOf": [ { "$ref": "#/$defs/BigQueryPartitionTypeEnum" }, { "type": "null" } ], "description": "Partition type for the table" }, "partition_granularity": { "anyOf": [ { "$ref": "#/$defs/BigQueryPartitionTimestampGranularityEnum" }, { "type": "null" } ], "description": "Partition granularity for timestamp partitions" }, "distribution_method": { "anyOf": [ { "$ref": "#/$defs/DistributionMethodEnum" }, { "$ref": "#/$defs/AzureSynapseDistributionMethodEnum" }, { "type": "null" } ], "title": "Distribution Method", "description": "The distribution method for the table" } }, "additionalProperties": false, "type": "object", "title": "SingleTableSettings", "description": "Single table settings for database targets.\n\nUsed to define table-level configuration including column mappings, match keys,\nand target-specific settings. All fields are optional to support different target types." }, "SnowflakeCsvFileSettings": { "properties": { "file_type": { "const": "csv", "title": "File Type", "default": "csv" }, "file_delimiter": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Delimiter" }, "quote_char": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Quote Char" }, "include_header": { "type": "boolean", "title": "Include Header", "default": false }, "compression": { "type": "string", "enum": [ "none", "gzip" ], "title": "Compression", "description": "The compression type", "default": "none" } }, "type": "object", "title": "SnowflakeCsvFileSettings", "description": "Snowflake CSV File Settings Schema" }, "SnowflakeDataframeStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "type": { "const": "snowflake_dataframe", "title": "Type" }, "dataframe_name": { "type": "string", "title": "Dataframe Name" }, "target_properties": { "$ref": "#/$defs/SnowflakeTargetTableWithoutMappingProperties" } }, "type": "object", "required": [ "name", "type", "dataframe_name", "target_properties", "connection_id" ], "title": "SnowflakeDataframeStep", "description": "Dataframe Snowflake Step Schema" }, "SnowflakeModifiedColumn": { "properties": { "is_selected": { "type": "boolean", "title": "Is Selected", "description": "If the column is selected and should be modified." }, "name": { "type": "string", "title": "Name", "description": "The name of the column." }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Type", "description": "The type of the column." }, "alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Alias", "description": "The alias of the column in the target table." }, "expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expression", "description": "This tells us the column is an expression or not so we know if it suppose to exist in the source / target or is it auto generated." }, "is_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Key", "description": "If the column is a key." }, "cluster_key": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Cluster Key", "description": "The sort order of the column (number) in the cluster, used in the merge process to determine the order of the merge keys." }, "calculated_column_mode": { "anyOf": [ { "$ref": "#/$defs/CalculatedColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the calculated column.Help to identify if the column is source expression or target expression,required if the column is an expression." }, "order": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Order", "description": "The order of the column in the expression,required if the column is an expression." }, "mode": { "anyOf": [ { "$ref": "#/$defs/ColumnModeEnum" }, { "type": "null" } ], "description": "The mode of the column in the target table" }, "is_rivery_metadata": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Rivery Metadata", "description": "Whether the column includes rivery metadata" }, "target_type": { "const": "snowflake", "title": "Target Type", "description": "Internal field, populated automatically", "default": "snowflake" } }, "additionalProperties": false, "type": "object", "required": [ "is_selected", "name" ], "title": "SnowflakeModifiedColumn", "description": "Snowflake specific columns settings" }, "SnowflakeSqlQueryStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "type": { "const": "snowflake_sql_query", "title": "Type" }, "sql_query": { "type": "string", "title": "Sql Query" }, "target_settings": { "oneOf": [ { "$ref": "#/$defs/SnowflakeTargetTableWithMappingProperties" }, { "$ref": "#/$defs/TargetVariableProperties" }, { "$ref": "#/$defs/SnowflakeTargetDataframeProperties" }, { "$ref": "#/$defs/SnowflakeTargetFileProperties" } ], "title": "Target Settings" } }, "type": "object", "required": [ "name", "type", "sql_query", "target_settings", "connection_id" ], "title": "SnowflakeSqlQueryStep", "description": "Snowflake SQL Query Step Schema" }, "SnowflakeSqlScriptStep": { "properties": { "name": { "type": "string", "title": "Name" }, "is_enabled": { "type": "boolean", "title": "Is Enabled", "description": "A flag that indicates whether the step is enabled or not", "default": true }, "step_id": { "type": "string", "title": "Step Id", "description": "The step id" }, "disable_errors": { "type": "boolean", "title": "Disable Errors", "description": "A flag that indicates whether to disable errors or not", "default": false }, "connection_id": { "type": "string", "title": "Connection Id" }, "type": { "const": "snowflake_sql_script", "title": "Type" }, "sql_query": { "type": "string", "title": "Sql Query" }, "auto_commit": { "type": "boolean", "title": "Auto Commit", "description": "A flag that indicates whether to auto commit or not", "default": true } }, "type": "object", "required": [ "name", "type", "sql_query", "connection_id" ], "title": "SnowflakeSqlScriptStep", "description": "Snowflake SQL Script Step Schema" }, "SnowflakeTableAdditionalSourceSettings": { "properties": { "source_type": { "const": "snowflake", "title": "Source Type", "description": "Internal field, populated automatically", "default": "snowflake" } }, "type": "object", "title": "SnowflakeTableAdditionalSourceSettings", "description": "Snowflake source additional settings for source settings(source-level only)" }, "SnowflakeTableAdditionalTargetSettings": { "properties": { "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity,to filter duplications from the source data by the provided order expression (for `merge` loading method)." }, "target_loading": { "anyOf": [ { "$ref": "#/$defs/LoadingMode" }, { "type": "null" } ], "description": "The target loading of the table entity,if not specified the default loading mode of the riverwill be used." }, "target_type": { "const": "snowflake", "title": "Target Type", "description": "Internal field, populated automatically", "default": "snowflake" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethodSnowflake" }, { "type": "null" } ], "description": "The merge method of the table, if not specified the default merge method of the riverwill be used." }, "enforce_masking_policy": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Enforce Masking Policy", "description": "Reserve the data masking policy that is applied on the column level in your target table.", "default": false }, "recreate_keys": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Recreate Keys", "description": "Recreate the table keys.", "default": false }, "escape_character": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Escape Character", "description": "Escape characters allow special characters in strings to be interpreted as literal characters, rather than as control characters inside the query" }, "remove_deleted_rows": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Remove Deleted Rows", "description": "remove deleted rows in case of MSSQL source and using change tracking including deleted rows" } }, "type": "object", "title": "SnowflakeTableAdditionalTargetSettings", "description": "Snowflake specific target settings" }, "SnowflakeTargetDataframeProperties": { "properties": { "target_type": { "const": "dataframe", "title": "Target Type" }, "dataframe_name": { "type": "string", "title": "Dataframe Name" }, "database_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Database Name", "description": "By default, the DataFrame location will be set to a PUBLIC Schema", "default": "" }, "schema_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Schema Name", "description": "By default, the DataFrame location will be set to a PUBLIC Schema", "default": "" } }, "type": "object", "required": [ "target_type", "dataframe_name" ], "title": "SnowflakeTargetDataframeProperties", "description": "Snowflake target dataframe properties schema" }, "SnowflakeTargetFileProperties": { "properties": { "target_type": { "const": "files_export", "title": "Target Type" }, "bucket_name": { "type": "string", "title": "Bucket Name" }, "file_path": { "type": "string", "title": "File Path" }, "connection_id": { "type": "string", "title": "Connection Id" }, "load_into_single_file": { "type": "boolean", "title": "Load Into Single File", "description": "A flag that indicates whether to load into a single file or not", "default": false }, "file_settings": { "$ref": "#/$defs/SnowflakeCsvFileSettings" } }, "type": "object", "required": [ "target_type", "bucket_name", "file_path", "connection_id", "file_settings" ], "title": "SnowflakeTargetFileProperties", "description": "Snowflake Target File Properties Schema" }, "SnowflakeTargetSettings": { "properties": { "name": { "const": "snowflake", "title": "Name", "description": "The name of the target", "default": "snowflake" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Id", "description": "The connection ID of this target" }, "connection_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Name", "description": "The connection name of this target" }, "single_table_settings": { "anyOf": [ { "$ref": "#/$defs/SingleTableSettings" }, { "type": "null" } ], "description": "Single table specific settings for the target" }, "table_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Table Name", "description": "The table name of this target (only relevant for non multi table source to target rivers)", "default": "" }, "target_prefix": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Target Prefix", "description": "The table prefix of this target (only relevant for multi table source to target rivers)", "default": "" }, "is_ordered_merge_key": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Ordered Merge Key", "description": "If the table got any and should consider filter out duplicates data between source filemerge process(by order).", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression of the river entity." }, "loading_method": { "allOf": [ { "$ref": "#/$defs/LoadingMode" } ], "description": "The loading method of this target" }, "merge_method": { "anyOf": [ { "$ref": "#/$defs/MergeMethodSnowflake" }, { "type": "null" } ], "description": "The merge method to preform,only relevant when the loading mode is Merge,if not provided the default merge method will be used.(merge)" }, "file_zone_settings": { "anyOf": [ { "$ref": "#/$defs/RiverFileZoneSettings" }, { "type": "null" } ], "description": "The file zone settings of this target" }, "file_path_destination": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Path Destination", "description": "The file name and path" }, "additional_settings": { "type": "object", "title": "Additional Settings", "description": "The additional settings of this target", "default": {} }, "database_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Database Name", "description": "The database name of this target" }, "schema_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Schema Name", "description": "The schema name of this target" } }, "type": "object", "required": [ "loading_method" ], "title": "SnowflakeTargetSettings", "description": "Snowflake target settings properties to return." }, "SnowflakeTargetTableMergeSettings": { "properties": { "merge_method": { "type": "string", "title": "Merge Method" }, "is_ordered_merge": { "type": "boolean", "title": "Is Ordered Merge", "description": "A flag that indicates whether the merge is ordered or not", "default": false }, "order_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Expression", "description": "The order expression" } }, "type": "object", "required": [ "merge_method" ], "title": "SnowflakeTargetTableMergeSettings", "description": "Snowflake Target Table Merge Settings Schema" }, "SnowflakeTargetTableWithMappingProperties": { "properties": { "target_type": { "const": "table", "title": "Target Type" }, "table_name": { "type": "string", "title": "Table Name" }, "drop_after": { "type": "boolean", "title": "Drop After", "description": "A flag that indicates whether to drop the table after the run or not", "default": false }, "database_name": { "type": "string", "title": "Database Name" }, "schema_name": { "type": "string", "title": "Schema Name" }, "enforce_masking_policy": { "type": "boolean", "title": "Enforce Masking Policy", "description": "A flag that indicates whether to enforce masking policy or not", "default": false }, "loading_mode": { "type": "string", "enum": [ "append_only", "overwrite", "upsert_merge" ], "title": "Loading Mode" }, "fields": { "items": { "type": "object" }, "type": "array", "title": "Fields", "description": "The mapping" }, "mapping_order": { "items": { "type": "string" }, "type": "array", "title": "Mapping Order", "description": "The mapping order", "default": [] }, "merge_settings": { "anyOf": [ { "$ref": "#/$defs/SnowflakeTargetTableMergeSettings" }, { "type": "null" } ], "description": "The merge method" } }, "type": "object", "required": [ "target_type", "table_name", "database_name", "schema_name", "loading_mode" ], "title": "SnowflakeTargetTableWithMappingProperties", "description": "Snowflake Target Table With Mapping Properties Schema" }, "SnowflakeTargetTableWithoutMappingProperties": { "properties": { "target_type": { "const": "table", "title": "Target Type" }, "table_name": { "type": "string", "title": "Table Name" }, "drop_after": { "type": "boolean", "title": "Drop After", "description": "A flag that indicates whether to drop the table after the run or not", "default": false }, "database_name": { "type": "string", "title": "Database Name" }, "schema_name": { "type": "string", "title": "Schema Name" }, "enforce_masking_policy": { "type": "boolean", "title": "Enforce Masking Policy", "description": "A flag that indicates whether to enforce masking policy or not", "default": false }, "loading_mode": { "type": "string", "enum": [ "append_only", "overwrite" ], "title": "Loading Mode" } }, "type": "object", "required": [ "target_type", "table_name", "database_name", "schema_name", "loading_mode" ], "title": "SnowflakeTargetTableWithoutMappingProperties", "description": "Snowflake Target Table Without Mapping Properties Schema" }, "SourceSettings": { "properties": { "name": { "type": "string", "enum": [ "activecampaign", "adaptive_insights", "adjust", "adobe_ads", "adobe_analytics", "adroll", "airtable", "amplitude", "anaplan", "apple_search_ads", "appsflyer", "appstore_apps_analytics", "appstore_connect_sales", "aws_billing", "bigquery", "bing_ads", "blob_storage", "bluesnap", "boomi_for_sap", "branch_io", "brandwatch", "callrail", "campaign_manager_360", "cellexpert", "content_ad", "coupa", "criteo_marketing", "currency_service", "datahub", "datastore", "dear_systems", "delta_projects", "display_video_360", "docebo", "elasticsearch", "email", "facebook_ads", "fb_audience", "fb_social", "freshservice", "ftp", "gadwords", "gcs", "genesys", "gmp365", "google_ad_manager", "google_ads", "google_analytics", "google_drive", "google_search_console", "google_sheets", "gplay", "greenhouse", "greenhouse_legacy", "harvest", "hasoffers", "hibob", "hivestack", "hubspot", "hubspot_legacy", "impact_radius", "innovid", "instagram_social", "intercom", "ironsource", "jira", "jwplayer", "jwplayer_analytics", "kantata", "klaviyo", "klaviyo_legacy", "kochava", "linkedin_ads", "linkedin_social", "mariadb", "marketo", "mixpanel", "moat", "mobileaction", "monday", "mongodb", "mssql", "mysql", "netsuite", "netsuite_analytics", "netsuite_reporting", "netsuite_restlets", "optimove", "oracle", "outbrain", "pardot", "paypal_reports", "pendo", "pepperjam", "pinterest", "pipedrive", "postgresql", "quickbooks", "recharge", "recurly", "reddit_ads", "redshift", "revcontent", "s3", "sage_intacct", "salesforce", "sapconcur", "search_ads", "search_ads_360_reporting", "sendgrid", "servicenow", "sf_marketing", "sftp", "shareasale", "sharepoint", "shiphero", "shopify", "shopify_graphql", "snapchat_ads", "snowflake", "social_studio", "stack_adapt", "stripe", "surveygizmo", "surveymonkey", "taboola", "the_trade_desk", "tiktok", "trendkite", "twitter_ads", "vertica", "yahoo_ads", "yandex", "yotpo", "youtube_reporting", "zendesk", "zendesk_chat", "zendesk_talk" ], "title": "Name", "description": "The name of the source (correlate to source type in db). When run_type='regular' (custom reports), the source name must be one of the custom-report-supported sources: ['activecampaign', 'adaptive_insights', 'adjust', 'adobe_ads', 'adobe_analytics', 'adroll', 'airtable', 'amplitude', 'anaplan', 'apple_search_ads', 'appsflyer', 'appstore_connect_sales', 'aws_billing', 'bing_ads', 'blob_storage', 'bluesnap', 'branch_io', 'brandwatch', 'callrail', 'campaign_manager_360', 'cellexpert', 'content_ad', 'criteo_marketing', 'currency_service', 'datastore', 'dear_systems', 'delta_projects', 'display_video_360', 'docebo', 'email', 'facebook_ads', 'fb_audience', 'fb_social', 'freshservice', 'ftp', 'gadwords', 'gcs', 'genesys', 'gmp365', 'google_ad_manager', 'google_ads', 'google_analytics', 'google_drive', 'google_search_console', 'google_sheets', 'gplay', 'greenhouse', 'greenhouse_legacy', 'harvest', 'hasoffers', 'hibob', 'hivestack', 'hubspot', 'hubspot_legacy', 'impact_radius', 'innovid', 'instagram_social', 'intercom', 'ironsource', 'jira', 'jwplayer', 'jwplayer_analytics', 'kantata', 'klaviyo', 'klaviyo_legacy', 'kochava', 'linkedin_ads', 'linkedin_social', 'marketo', 'mixpanel', 'moat', 'mobileaction', 'monday', 'mongodb', 'netsuite', 'netsuite_reporting', 'netsuite_restlets', 'optimove', 'outbrain', 'pardot', 'paypal_reports', 'pendo', 'pepperjam', 'pinterest', 'pipedrive', 'quickbooks', 'recharge', 'recurly', 'reddit_ads', 'revcontent', 's3', 'sage_intacct', 'search_ads', 'search_ads_360_reporting', 'sendgrid', 'servicenow', 'sf_marketing', 'sftp', 'shareasale', 'sharepoint', 'shiphero', 'shopify', 'snapchat_ads', 'social_studio', 'stack_adapt', 'stripe', 'surveygizmo', 'surveymonkey', 'taboola', 'the_trade_desk', 'tiktok', 'trendkite', 'twitter_ads', 'yahoo_ads', 'yandex', 'yotpo', 'youtube_reporting', 'zendesk', 'zendesk_chat', 'zendesk_talk']." }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Id", "description": "The connection ID of this source." }, "connection_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Connection Name", "description": "The connection name of this source." }, "run_type": { "anyOf": [ { "$ref": "#/$defs/RunTypeEnum" }, { "type": "string" } ], "title": "Run Type", "description": "The run type of this source.", "default": "multi_tables" }, "cdc_settings": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/MysqlSourceCDCSettings" }, { "$ref": "#/$defs/PostgresSourceCDCSettings" }, { "$ref": "#/$defs/OracleSourceCDCSettings" }, { "$ref": "#/$defs/MongoDBSourceCDCSettings" }, { "$ref": "#/$defs/MSSQLSourceCDCSettings" }, { "$ref": "#/$defs/BoomiForSapCDCSettings" }, { "$ref": "#/$defs/DataHubCDCSettings" } ] }, { "type": "null" } ], "title": "Cdc Settings", "description": "The CDC settings of this source." }, "additional_settings": { "type": "object", "title": "Additional Settings", "description": "The additional settings of this source. For blueprint sources, carries the global `interface_parameters` shared across all reports.", "default": {} }, "custom_query_source_settings": { "anyOf": [ { "$ref": "#/$defs/CustomQuerySourceSettings" }, { "type": "null" } ], "description": "Custom query source settings for database sources with run_type=custom_query. This field is omitted from serialized output (model_dump / API response) when None." } }, "type": "object", "required": [ "name" ], "title": "SourceSettings", "description": "Source settings properties to return." }, "SourceToTargetRiverProperties": { "properties": { "properties_type": { "const": "source_to_target", "title": "Properties Type", "default": "source_to_target" }, "source": { "allOf": [ { "$ref": "#/$defs/SourceSettings" } ], "description": "The source of the river." }, "target": { "oneOf": [ { "$ref": "#/$defs/SnowflakeTargetSettings" }, { "$ref": "#/$defs/BigQueryTargetSettings" }, { "$ref": "#/$defs/RedshiftTargetSettings" }, { "$ref": "#/$defs/S3TargetSettings" }, { "$ref": "#/$defs/EmailTargetSettings" }, { "$ref": "#/$defs/BlobStorageSettings" }, { "$ref": "#/$defs/GcsTargetSettings" }, { "$ref": "#/$defs/DatabricksTargetSettings" }, { "$ref": "#/$defs/AzureSynapseAnalyticsTargetSettings" }, { "$ref": "#/$defs/AthenaTargetSettings" }, { "$ref": "#/$defs/AzureSqlTargetSettings" }, { "$ref": "#/$defs/PostgresTargetSettings" }, { "$ref": "#/$defs/KnowledgeHubTargetSettings" }, { "$ref": "#/$defs/OneLakeTargetSettings" } ], "title": "Target", "description": "The target of the river." }, "schemas": { "items": { "$ref": "#/$defs/Schema" }, "type": "array", "title": "Schemas", "description": "The schemas of the river entity", "default": [] } }, "additionalProperties": false, "type": "object", "required": [ "source", "target" ], "title": "SourceToTargetRiverProperties", "description": "Source to target River properties that is being used for GET purposes" }, "SplitTableByExpressionProperties": { "properties": { "split_by": { "const": "expression", "title": "Split By" }, "expression": { "type": "string", "title": "Expression" } }, "type": "object", "required": [ "split_by", "expression" ], "title": "SplitTableByExpressionProperties", "description": "Split table by expression properties schema" }, "SplitTableByInsertTimeProperties": { "properties": { "split_by": { "const": "insert_timestamp", "title": "Split By" }, "interval": { "type": "string", "enum": [ "YEAR", "MONTH", "DAY", "HOUR" ], "title": "Interval" } }, "type": "object", "required": [ "split_by", "interval" ], "title": "SplitTableByInsertTimeProperties", "description": "Split table by insert time properties schema" }, "SplitTimeIntervals": { "properties": { "time_interval": { "allOf": [ { "$ref": "#/$defs/IntervalTimeExternalEnum" } ], "description": "The interval time unit to split when using date increment.", "default": "dont_split", "extra": { "display_name": "Split your loading data into several intervals in case of a large amount of returned data by:", "name": "date_range.split_time_intervals.time_interval", "type": "split_time_intervals" } }, "interval_size": { "type": "integer", "title": "Interval Size", "description": "The number of time units for each interval - for example, when the interval is set to days and the interval size is 3, each interval will extract data for 3 days.", "default": 1, "extra": { "condition": { "different": "dont_split", "field_name": "date_range.split_time_intervals.time_interval" }, "display_name": "Split Interval Size", "name": "date_range.split_time_intervals.interval_size", "type": "number" } } }, "type": "object", "title": "SplitTimeIntervals", "description": "Settings for splitting to time intervals when using incremental loading method by dates." }, "StandardInterfaceParams": { "properties": { "name": { "type": "string", "title": "Name", "description": "The identifier name for the interface parameter." }, "type": { "allOf": [ { "$ref": "#/$defs/InterfaceParamsBaseTypeEnum" } ], "description": "The data type of the parameter. Defaults to STRING.", "default": "string" }, "value": { "anyOf": [ { "type": "string" }, { "type": "integer" }, { "type": "boolean" }, { "type": "null" } ], "title": "Value", "description": "The actual value of the parameter." } }, "type": "object", "required": [ "name" ], "title": "StandardInterfaceParams", "description": "Interface parameters for standard configurations." }, "SuccessFactorsTableAdditionalSourceSettings": { "properties": { "source_type": { "const": "successfactors", "title": "Source Type", "description": "Internal field, populated automatically", "default": "successfactors" }, "include_effective_date": { "type": "boolean", "title": "Include Effective Date", "description": "When true, include the effective-dated snapshot columns in the extracted table.", "default": false } }, "additionalProperties": true, "type": "object", "title": "SuccessFactorsTableAdditionalSourceSettings", "description": "SuccessFactors specific source settings." }, "SystemVersioningSettings": { "properties": { "initiate_table": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Initiate Table", "description": "Initiate migration process for table" }, "overwrite_table_in_migration": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Overwrite Table In Migration", "description": "Overwrite target table for migration process" }, "include_end_value": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Include End Value" } }, "type": "object", "title": "SystemVersioningSettings", "description": "The table system versioning settings" }, "TableCDCSettings": { "properties": { "initiate_table": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Initiate Table", "description": "Initiate migration process for table" }, "overwrite_table_in_migration": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Overwrite Table In Migration", "description": "Overwrite target table for migration process" } }, "type": "object", "title": "TableCDCSettings", "description": "The table CDC settings" }, "TableFilter": { "properties": { "column": { "type": "string", "title": "Column", "description": "The column to filter" }, "operator": { "type": "string", "title": "Operator", "description": "Filter operator" }, "value": { "anyOf": [ { "type": "string" }, { "type": "integer" }, { "type": "number" } ], "title": "Value", "description": "Filter value" } }, "type": "object", "required": [ "column", "operator", "value" ], "title": "TableFilter", "description": "Table-level filter used by sources to restrict rows." }, "TableStatusEnum": { "type": "string", "enum": [ "waiting_for_migration", "migrating", "tracked", "live" ], "title": "TableStatusEnum", "description": "Table status for rivers in multi table mode" }, "TargetDataframeProperties": { "properties": { "target_type": { "const": "dataframe", "title": "Target Type" }, "dataframe_name": { "type": "string", "title": "Dataframe Name" } }, "type": "object", "required": [ "target_type", "dataframe_name" ], "title": "TargetDataframeProperties", "description": "Target Dataframe Properties Schema" }, "TargetVariableProperties": { "properties": { "target_type": { "const": "variable", "title": "Target Type" }, "variable_name": { "type": "string", "title": "Variable Name" }, "variable_type": { "type": "string", "enum": [ "river", "environment" ], "title": "Variable Type" } }, "type": "object", "required": [ "target_type", "variable_name", "variable_type" ], "title": "TargetVariableProperties", "description": "Target Variable Properties Schema" }, "UserInfo": { "properties": { "user_name": { "type": "string", "title": "User Name", "description": "river version creator username" }, "user_email": { "type": "string", "title": "User Email", "description": "river version creator email" } }, "type": "object", "required": [ "user_name", "user_email" ], "title": "UserInfo", "description": "River version creator info.\n " }, "VerticaTableAdditionalSourceSettings": { "properties": { "filter_expression": { "type": "string", "title": "Filter Expression", "description": "The filter expression of the river entity.", "default": "" }, "source_type": { "const": "vertica", "title": "Source Type", "description": "Internal field, populated automatically", "default": "vertica" } }, "additionalProperties": false, "type": "object", "title": "VerticaTableAdditionalSourceSettings", "description": "Vertica specific source settings" }, "WriteDatabaseTableDetailsInput": { "properties": { "is_selected": { "type": "boolean", "title": "Is Selected", "description": "If the table is selected or not.", "default": false }, "target_table": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Target Table", "description": "The name of the target table (relevant to multi-tables rivers)" }, "modified_columns": { "items": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BigQueryModifiedColumn" }, { "$ref": "#/$defs/SnowflakeModifiedColumn" }, { "$ref": "#/$defs/RedshiftModifiedColumn" }, { "$ref": "#/$defs/S3ModifiedColumn" }, { "$ref": "#/$defs/GCSModifiedColumn" }, { "$ref": "#/$defs/EmailModifiedColumn" }, { "$ref": "#/$defs/AthenaModifiedColumn" }, { "$ref": "#/$defs/AzureSqlModifiedColumn" }, { "$ref": "#/$defs/AzureSynapseAnalyticsModifiedColumn" }, { "$ref": "#/$defs/DatabricksModifiedColumn" }, { "$ref": "#/$defs/PostgresModifiedColumn" }, { "$ref": "#/$defs/AzureBlobModifiedColumn" }, { "$ref": "#/$defs/OneLakeModifiedColumn" } ] }, { "type": "null" } ], "description": "The modified columns of the river entity for example if you want to unselect a column or change the column name or type." }, "type": "array", "title": "Modified Columns", "default": [] }, "additional_target_settings": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/SnowflakeTableAdditionalTargetSettings" }, { "$ref": "#/$defs/RedshiftTableAdditionalTargetSettings" }, { "$ref": "#/$defs/BigQueryTableAdditionalTargetSettings" }, { "$ref": "#/$defs/AthenaTableAdditionalTargetSettings" }, { "$ref": "#/$defs/AzureSqlTableAdditionalTargetSettings" }, { "$ref": "#/$defs/PostgresTableAdditionalTargetSettings" }, { "$ref": "#/$defs/AzureSynapseAnalyticsTableAdditionalTargetSettings" }, { "$ref": "#/$defs/DatabricksTableAdditionalTargetSettings" }, { "$ref": "#/$defs/OneLakeTableAdditionalTargetSettings" }, { "$ref": "#/$defs/KnowledgeHubTableAdditionalTargetSettings" } ] }, { "type": "null" } ], "title": "Additional Target Settings", "description": "The additional target settings of this table." }, "extract_method": { "anyOf": [ { "$ref": "#/$defs/ExtractMethodEnum" }, { "type": "null" } ], "description": "The extract method of the table entity.if not specified the extract method of the riverwill be used." }, "name": { "type": "string", "title": "Name", "description": "The name of the table" }, "incremental_field": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Incremental Field", "description": "The interval field of the river entity." }, "date_range": { "anyOf": [ { "$ref": "#/$defs/DateRange" }, { "type": "null" } ], "description": "The date range of the river entity only needed if the extract method is incremental." }, "running_number": { "anyOf": [ { "$ref": "#/$defs/RunningNumber" }, { "type": "null" } ], "description": "The running number of the river entity only needed if the extract method is incremental." }, "epoch": { "anyOf": [ { "$ref": "#/$defs/Epoch" }, { "type": "null" } ], "description": "The epoch dates of the river entity only needed if the extract method is incremental." }, "exporter_chunk_size": { "type": "integer", "title": "Exporter Chunk Size", "description": "The exporter chunk size of the river entity. i.e. the number of rows to extract per chuck", "default": 30000 }, "table_status": { "anyOf": [ { "$ref": "#/$defs/TableStatusEnum" }, { "type": "null" } ], "description": "The table status of the river entity." }, "cdc_settings": { "anyOf": [ { "$ref": "#/$defs/TableCDCSettings" }, { "type": "null" } ], "description": "The CDC settings of this table." }, "change_tracking_settings": { "anyOf": [ { "$ref": "#/$defs/ChangeTrackingSettings" }, { "type": "null" } ] }, "system_versioning_settings": { "anyOf": [ { "$ref": "#/$defs/SystemVersioningSettings" }, { "type": "null" } ] }, "additional_source_settings": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/MongoDBTableAdditionalSourceSettings" }, { "$ref": "#/$defs/MySQLTableAdditionalSourceSettings" }, { "$ref": "#/$defs/PostgreSQLTableAdditionalSourceSettings" }, { "$ref": "#/$defs/OracleTableAdditionalSourceSettings" }, { "$ref": "#/$defs/BigQueryTableAdditionalSourceSettings" }, { "$ref": "#/$defs/MariaDBTableAdditionalSourceSettings" }, { "$ref": "#/$defs/MSSQLTableAdditionalSourceSettings" }, { "$ref": "#/$defs/RecipeTableAdditionalSourceSettings" }, { "$ref": "#/$defs/SnowflakeTableAdditionalSourceSettings" }, { "$ref": "#/$defs/BoomiForSapTableAdditionalSourceSettings" }, { "$ref": "#/$defs/VerticaTableAdditionalSourceSettings" }, { "$ref": "#/$defs/RedshiftTableAdditionalSourceSettings" }, { "$ref": "#/$defs/ElasticSearchTableAdditionalSourceSettings" }, { "$ref": "#/$defs/SalesforceTableAdditionalSourceSettings" }, { "$ref": "#/$defs/NetSuiteAnalyticsTableAdditionalSourceSettings" }, { "$ref": "#/$defs/HubspotTableAdditionalSourceSettings" }, { "$ref": "#/$defs/CoupaTableAdditionalSourceSettings" }, { "$ref": "#/$defs/DataHubTableAdditionalSourceSettings" }, { "$ref": "#/$defs/SuccessFactorsTableAdditionalSourceSettings" }, { "$ref": "#/$defs/NativeConnectorTableAdditionalSourceSettings" } ] }, { "type": "null" } ], "title": "Additional Source Settings", "description": "The additional source settings of this table." }, "is_custom_incremental": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Custom Incremental", "description": "Indicates weather the table is using custom incrementalcolumn", "default": false } }, "additionalProperties": false, "type": "object", "required": [ "name" ], "title": "WriteDatabaseTableDetailsInput", "description": "Table properties which define the db table details data\nThis schema is being used for Create or Update purposes" } } }