Base Metadata objects
The base metadata objects are the first layer of metadata. They are loaded and validated first before any code is run. They only check if the most basic requirements are fulfilled like if the datatype is correct and some basic tests like if the name is in accordance with standards.
Please note some metadata objects have advanced functionality. This can be advanced validation which also checks for consistency and best practices. In many cases that will also include additional functionality like templating logic for some fields. Please check the shared for theses objects.
Object list
Batch
Bases: WithSubfoldersMixin
Base class for loading Batch model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
UUID
|
The batch ID so that it can referenced. |
UUID('48ee597b-623d-44a3-a6d3-aa7b5a748469')
|
name |
str
|
Name of the Batch(must be unique) |
required |
cron |
str
|
Cron schedule for batch scheduling. |
required |
batchsteps |
list[Batchstep]
|
A list of all batchsteps belonging to that batch. |
required |
timezone |
str
|
Timezone for cron |
required |
tags |
str | None
|
Tags of the Batch |
None
|
Source code in cloe_metadata/base/batch/batch.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | |
Batches
Bases: BaseModel
Base class for loading Batch model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
batches |
list[Batch]
|
|
[]
|
Source code in cloe_metadata/base/batch/batch.py
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | |
Batchstep
Bases: WithoutSubfoldersMixin
Base class for loading Batchstep model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
UUID
|
UUID of the Batchstep |
required |
name |
str
|
Name of the Batchstep(must be unique) |
required |
job_id |
UUID
|
Reference to a job |
required |
tags |
str | None
|
Tags of the Batchstep |
None
|
dependencies |
list[Annotated[BatchstepDependency, AfterValidator]] | None
|
All dependencies belonging to that job. |
None
|
Source code in cloe_metadata/base/batch/batchstep.py
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | |
Connection
Bases: WithoutSubfoldersMixin
Base class for loading Connection model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
connection_string_secret_name |
str
|
Name of the secret that holds the connection information(e.g. password or host) |
required |
id |
UUID
|
UUID of the connection |
required |
name |
str
|
Name of the connection(must be unique) |
required |
system_type |
str
|
Connection type |
required |
service_level |
str | None
|
service level of the connection |
None
|
is_file_catalog_connection |
bool
|
Can the FileCatalog reached via this connection? |
False
|
Source code in cloe_metadata/base/jobs/connections.py
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | |
Connections
Bases: BaseModel
Base class for loading CLOE Connection model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
connections |
list[Connection]
|
|
[]
|
Source code in cloe_metadata/base/jobs/connections.py
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | |
ConversionTemplate
Bases: WithoutSubfoldersMixin
ConversionTemplate metadata model base class
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
UUID
|
|
UUID('35de2a3f-19ad-490e-be17-e2d47bd579ee')
|
output_type |
str
|
|
required |
convert_template |
str
|
|
required |
on_convert_error_default_value |
str
|
|
required |
Source code in cloe_metadata/base/modeler/templates/conversion_template.py
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | |
ConversionTemplates
Bases: BaseModel
Base class for loading CLOE ConversionTemplate model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
conversion_templates |
list[ConversionTemplate]
|
|
[]
|
Source code in cloe_metadata/base/modeler/templates/conversion_template.py
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | |
CustomDataflow
Bases: WithoutSubfoldersMixin
CustomDataflow metadata model base class
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name |
str
|
Name of the CustomDataFlow(must be unique) |
required |
id |
UUID
|
ID of the dataflow |
UUID('3347c205-37a4-4052-9fb3-30e03c57504f')
|
sql_pipe_template |
str
|
Query template that should be used by CustomDataFlow |
required |
table_mappings |
list[TableMapping]
|
TableMappings belonging to that CustomDataFlow |
required |
job_id |
UUID | None
|
Reference to the sink Exec_SQL job |
None
|
Source code in cloe_metadata/base/modeler/custom_dataflow/custom_dataflow.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | |
DB2FS
Bases: WithoutSubfoldersMixin
Base class for loading DB2FS model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
UUID
|
ID of the job |
required |
name |
str
|
Name of the job(must be unique) |
required |
description |
str | None
|
Description of the job. |
None
|
sink_connection_id |
UUID
|
Reference the sink connection. Will be used to establish a connection to the bucket/blob. |
required |
source_connection_id |
UUID
|
Reference the sink connection. Will be used to establish a connection to the database. |
required |
container_name |
str
|
Name of the bucket/blob where the file is saved to. |
required |
select_statement |
str
|
This query is executed and its result set stored in the file. Jinja2 templating is supported. |
required |
dataset_type_id |
UUID
|
Reference a datasettype which is partly used to generate the filename and to define the target filetype(e.g. Parquet). |
required |
source_table_id |
UUID
|
Reference a table. Table metadata e.g. its Name or table column names can be used in the Source_SelectStatement. |
required |
datasource_info_id |
UUID
|
Reference a datasourceinfo which is partly used to generate the filename. |
required |
folder_path |
str | None
|
Path where the file will be saved to. |
None
|
sequence_column_name |
str | None
|
Currently not supported |
None
|
Source code in cloe_metadata/base/jobs/db2fs.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | |
DataSourceInfo
Bases: WithoutSubfoldersMixin
Base class for loading DataSourceInfo model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
UUID
|
|
required |
name |
str | None
|
|
None
|
content |
Literal[str, str]
|
|
required |
sourcesystem_id |
UUID
|
|
required |
tenant_id |
UUID | None
|
|
None
|
object_description |
str | None
|
|
None
|
Source code in cloe_metadata/base/repository/data_source_info.py
21 22 23 24 25 26 27 28 29 30 31 32 33 | |
DataSourceInfos
Bases: BaseModel
Base class for loading DataSourceInfos model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data_source_infos |
list[DataSourceInfo]
|
|
[]
|
Source code in cloe_metadata/base/repository/data_source_info.py
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | |
Database
Bases: WithSubfoldersMixin
Base class for loading Database model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
UUID
|
ID of the database |
UUID('bdebe43f-047b-41e9-80de-6a038964261a')
|
display_name |
str | None
|
Display name of the database, mostly used for GUI. |
None
|
name |
str
|
Technical name of the database |
required |
schemas |
list[Schema]
|
|
[]
|
Source code in cloe_metadata/base/repository/database/database.py
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | |
Databases
Bases: BaseModel
Base class for loading Databases model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
databases |
list[Database]
|
|
required |
Source code in cloe_metadata/base/repository/database/database.py
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | |
Dataflow
Bases: WithoutSubfoldersMixin
Dataflow metadata model base class
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name |
str
|
Name of the DataFlow(must be unique) |
required |
sink_table_id |
UUID
|
Reference to the sink table |
required |
sql_template_id |
int
|
Reference to sql template that should be used |
required |
id |
UUID
|
ID of the dataflow |
UUID('b4767bd0-372c-4fb2-be13-979bf1c7f8ba')
|
job_id |
UUID | None
|
Reference to the sink Exec_SQL job |
None
|
include_dq1 |
bool
|
Use DQ1 features |
True
|
column_mappings |
list[Annotated[ColumnMapping, AfterValidator]]
|
|
required |
include_dq2 |
bool
|
Use DQ2 features |
True
|
include_dq3 |
bool
|
Use DQ3 Features |
False
|
log_dq1 |
bool
|
Log DQ1 errors |
True
|
log_dq2 |
bool
|
Log DQ2 errors |
True
|
log_dq3 |
bool
|
Log DQ3 errors |
False
|
source_tables |
list[SourceTable]
|
|
required |
lookups |
list[Lookup] | None
|
|
None
|
post_processing_sql |
str | None
|
Execute SQL query after Dataflow |
None
|
pre_processing_sql |
str | None
|
Execute SQL query before Dataflow |
None
|
Source code in cloe_metadata/base/modeler/dataflow/dataflow.py
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | |
DatasetType
Bases: WithoutSubfoldersMixin
Base class for loading DatasetType model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
UUID
|
|
required |
name |
str
|
|
required |
storage_format |
Literal[str, str]
|
|
required |
attributes |
list | None
|
|
required |
Source code in cloe_metadata/base/repository/dataset_type.py
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |
DatasetTypes
Bases: BaseModel
Base class for loading DatasetType model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dataset_types |
list[DatasetType]
|
|
[]
|
Source code in cloe_metadata/base/repository/dataset_type.py
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | |
DatatypeTemplate
Bases: WithoutSubfoldersMixin
DatatypeTemplate metadata model base class
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source_type |
str
|
|
required |
parameter_template |
str
|
|
required |
Source code in cloe_metadata/base/modeler/templates/datatype_template.py
22 23 24 25 26 27 28 29 30 31 32 33 34 | |
DatatypeTemplates
Bases: BaseModel
Base class for loading CLOE DatatypeTemplate model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
datatype_templates |
list[DatatypeTemplate]
|
|
[]
|
Source code in cloe_metadata/base/modeler/templates/datatype_template.py
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | |
ExecSQL
Bases: WithoutSubfoldersMixin
Base class for loading ExecSQL model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
UUID
|
ID of the job |
required |
name |
str
|
Name of the job(must be unique) |
required |
description |
str | None
|
Description of the job. |
None
|
connection_id |
UUID
|
Reference the sink connection. Will later be used to establish a connection to the stored procedures database. |
required |
queries |
list[Query]
|
All queries belonging to this job. |
required |
Source code in cloe_metadata/base/jobs/exec_sql.py
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | |
FS2DB
Bases: WithoutSubfoldersMixin
Base class for loading FS2DB model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
UUID
|
ID of the job |
required |
name |
str
|
Name of the job(must be unique) |
required |
description |
str | None
|
Description of the job. |
None
|
sink_connection_id |
UUID
|
Reference the sink connection. Will be used to establish a connection to the database. |
required |
source_connection_id |
UUID
|
Reference the sink connection. Will be used to establish a connection to the bucket/blob. |
required |
container_name |
str
|
Name of the bucket/blob where the file are located. |
required |
filename_pattern |
str
|
Pattern by which the filenames on Blob/Bucket or FileCatalog should be filtered. |
required |
folder_path_pattern |
str
|
Pattern by which the path on Blob/Bucket or FileCatalog should be filtered.. |
required |
sink_table_id |
UUID
|
Reference to the sink table where data should be loaded to. |
required |
dataset_type_id |
UUID
|
Reference a datasettype which is partly used to generate the filename and to define the target filetype(e.g. Parquet). |
required |
get_from_filecatalog |
bool
|
If a filecatalog is used to corrdinator file loading. |
False
|
post_load_exec_job_id |
UUID | None
|
Exec Job to be executed after successful loading a file. |
None
|
Source code in cloe_metadata/base/jobs/fs2db.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | |
Flows
Bases: BaseModel
Base class for loading CLOE Pipe model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dataflows |
list[Union[CustomDataflow, Dataflow]]
|
|
[]
|
Source code in cloe_metadata/base/modeler/flows.py
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | |
get_custom_dataflows()
Filters the pipes list based on the given pipe type.
Source code in cloe_metadata/base/modeler/flows.py
87 88 89 90 91 92 93 94 95 96 97 | |
get_dataflows()
Filters the pipes list based on the given pipe type.
Source code in cloe_metadata/base/modeler/flows.py
79 80 81 82 83 84 85 | |
Jobs
Bases: BaseModel
Base class for loading Job model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
jobs |
list[Union[DB2FS, FS2DB, ExecSQL]]
|
|
[]
|
Source code in cloe_metadata/base/jobs/jobs.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | |
get_db2fs_jobs()
Filters the jobs list
:return: List of jobs of the specified type
Source code in cloe_metadata/base/jobs/jobs.py
81 82 83 84 85 86 87 88 89 | |
get_exec_sql_jobs()
Filters the jobs list
:return: List of jobs of the specified type
Source code in cloe_metadata/base/jobs/jobs.py
101 102 103 104 105 106 107 108 109 | |
get_fs2db_jobs()
Filters the jobs list
:return: List of jobs of the specified type
Source code in cloe_metadata/base/jobs/jobs.py
91 92 93 94 95 96 97 98 99 | |
SQLTemplate
Bases: WithoutSubfoldersMixin
SQLTemplate metadata model base class
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
int
|
|
required |
name |
str
|
|
required |
template |
str
|
|
required |
description |
str | None
|
|
None
|
Source code in cloe_metadata/base/modeler/templates/sql_template.py
22 23 24 25 26 27 28 29 30 31 32 33 34 | |
SQLTemplates
Bases: BaseModel
Base class for loading CLOE SQLTemplate model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sql_templates |
list[SQLTemplate]
|
|
[]
|
Source code in cloe_metadata/base/modeler/templates/sql_template.py
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | |
Schema
Bases: WithSubfoldersMixin
Base class for loading Schema model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
UUID
|
ID of the schema |
UUID('e236167c-639a-4205-892a-01b61d772fb2')
|
name |
str
|
Name of the schema |
required |
tables |
list[Table]
|
|
[]
|
Source code in cloe_metadata/base/repository/database/schema.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | |
Sourcesystem
Bases: WithoutSubfoldersMixin
Base class for loading Sourcesystem model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
UUID
|
|
required |
name |
str
|
|
required |
Source code in cloe_metadata/base/repository/sourcesystem.py
21 22 23 24 25 26 27 28 29 | |
Sourcesystems
Bases: BaseModel
Base class for loading Sourcesystem model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sourcesystems |
list[Sourcesystem]
|
|
[]
|
Source code in cloe_metadata/base/repository/sourcesystem.py
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | |
Table
Bases: WithoutSubfoldersMixin
Base class for loading Table model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
UUID
|
ID of the table |
required |
level |
Literal[str, str, str, str, str, str] | None
|
Level of the table |
None
|
name |
str
|
Name of the Table |
required |
columns |
list[Annotated[Column, AfterValidator]]
|
|
[]
|
Source code in cloe_metadata/base/repository/database/table.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | |
Tenant
Bases: WithoutSubfoldersMixin
Base class for loading Tenant model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
UUID
|
|
required |
name |
str
|
|
required |
Source code in cloe_metadata/base/repository/tenant.py
24 25 26 27 28 29 30 31 32 | |
Tenants
Bases: BaseModel
Base class for loading Tenant model objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
tenants |
list[Tenant]
|
|
[]
|
Source code in cloe_metadata/base/repository/tenant.py
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | |