66from typing import Union
77
88from pydantic import BaseModel
9+ from pydantic import ConfigDict
910
1011from vendor .dbt_artifacts_parser .parsers .manifest .manifest_v1 import ManifestV1
1112from vendor .dbt_artifacts_parser .parsers .manifest .manifest_v2 import ManifestV2
2324
2425
2526class DBTVersion (BaseModel ):
27+ model_config = ConfigDict (extra = "allow" )
28+
2629 MAJOR : int
2730 MINOR : int
2831 PATCH : Optional [int ] = None
@@ -45,16 +48,22 @@ class DBTVersion(BaseModel):
4548
4649
4750class AltimateDocs (BaseModel ):
51+ model_config = ConfigDict (extra = "allow" )
52+
4853 show : Optional [bool ] = True
4954 node_color : Optional [Optional [str ]] = None
5055
5156
5257class AltimateDependsOn (BaseModel ):
58+ model_config = ConfigDict (extra = "allow" )
59+
5360 nodes : Optional [List [str ]] = None
5461 macros : Optional [List [str ]] = None
5562
5663
5764class AltimateManifestColumnInfo (BaseModel ):
65+ model_config = ConfigDict (extra = "allow" )
66+
5867 name : str
5968 description : Optional [str ] = ""
6069 meta : Optional [Dict [str , Any ]] = {}
@@ -64,6 +73,8 @@ class AltimateManifestColumnInfo(BaseModel):
6473
6574
6675class AltimateFileHash (BaseModel ):
76+ model_config = ConfigDict (extra = "allow" )
77+
6778 name : Optional [str ] = None
6879 checksum : Optional [str ] = None
6980
@@ -94,19 +105,25 @@ class AltimateAccess(Enum):
94105
95106
96107class AltimateDBTContract (BaseModel ):
108+ model_config = ConfigDict (extra = "allow" )
109+
97110 enforced : Optional [bool ] = False
98111 alias_types : Optional [bool ] = True
99112 checksum : Optional [Optional [str ]] = None
100113
101114
102115class AltimateHook (BaseModel ):
116+ model_config = ConfigDict (extra = "allow" )
117+
103118 sql : str
104119 transaction : Optional [bool ] = True
105120 index : Optional [Optional [int ]] = None
106121
107122
108123# TODO: Need to add the rest of the fields
109124class AltimateNodeConfig (BaseModel ):
125+ model_config = ConfigDict (extra = "allow" )
126+
110127 _extra : Optional [Dict [str , Any ]] = None
111128 enabled : Optional [bool ] = True
112129 alias : Optional [Optional [str ]] = None
@@ -128,6 +145,8 @@ class AltimateNodeConfig(BaseModel):
128145
129146
130147class AltimateManifestNode (BaseModel ):
148+ model_config = ConfigDict (extra = "allow" )
149+
131150 database : Optional [str ] = None
132151 resource_type : AltimateResourceType
133152 schema_name : str
@@ -158,26 +177,34 @@ class AltimateManifestNode(BaseModel):
158177
159178
160179class AltimateQuoting (BaseModel ):
180+ model_config = ConfigDict (extra = "allow" )
181+
161182 database : Optional [Optional [bool ]] = None
162183 schema_ : Optional [Optional [bool ]] = None
163184 identifier : Optional [Optional [bool ]] = None
164185 column : Optional [Optional [bool ]] = None
165186
166187
167188class AltimateFreshnessThreshold (BaseModel ):
189+ model_config = ConfigDict (extra = "allow" )
190+
168191 warn_after : Optional [Dict ] = None
169192 error_after : Optional [Dict ] = None
170193 filter : Optional [str ] = None
171194
172195
173196class AltimateExternalPartition (BaseModel ):
197+ model_config = ConfigDict (extra = "allow" )
198+
174199 name : Optional [str ] = ""
175200 description : Optional [str ] = ""
176201 data_type : Optional [str ] = ""
177202 meta : Optional [Dict [str , Any ]] = {}
178203
179204
180205class AltimateExternalTable (BaseModel ):
206+ model_config = ConfigDict (extra = "allow" )
207+
181208 location : Optional [Optional [str ]] = None
182209 file_format : Optional [Optional [str ]] = None
183210 row_format : Optional [Optional [str ]] = None
@@ -186,17 +213,23 @@ class AltimateExternalTable(BaseModel):
186213
187214
188215class AltimateSourceConfig (BaseModel ):
216+ model_config = ConfigDict (extra = "allow" )
217+
189218 enabled : Optional [bool ] = True
190219
191220
192221class AltimateDeferRelation (BaseModel ):
222+ model_config = ConfigDict (extra = "allow" )
223+
193224 database : Optional [str ] = None
194225 schema_name : str
195226 alias : str
196227 relation_name : Optional [str ] = None
197228
198229
199230class AltimateSeedConfig (BaseModel ):
231+ model_config = ConfigDict (extra = "allow" )
232+
200233 _extra : Optional [Dict [str , Any ]] = None
201234 enabled : Optional [bool ] = True
202235 alias : Optional [Optional [str ]] = None
@@ -225,6 +258,8 @@ class AltimateSeedConfig(BaseModel):
225258
226259
227260class AltimateSeedNode (BaseModel ):
261+ model_config = ConfigDict (extra = "allow" )
262+
228263 database : Optional [str ] = None
229264 schema_name : str
230265 name : str
@@ -257,6 +292,8 @@ class AltimateSeedNode(BaseModel):
257292
258293
259294class AltimateManifestSourceNode (BaseModel ):
295+ model_config = ConfigDict (extra = "allow" )
296+
260297 database : Optional [str ] = None
261298 resource_type : AltimateResourceType
262299 schema_name : str
@@ -295,6 +332,8 @@ class AltimateExposureType(Enum):
295332
296333
297334class AltimateOwner (BaseModel ):
335+ model_config = ConfigDict (extra = "allow" )
336+
298337 _extra : Optional [Dict [str , Any ]] = None
299338 email : Optional [Optional [str ]] = None
300339 name : Optional [Optional [str ]] = None
@@ -307,17 +346,23 @@ class AltimateMaturityEnum(Enum):
307346
308347
309348class AltimateRefArgs (BaseModel ):
349+ model_config = ConfigDict (extra = "allow" )
350+
310351 name : str
311352 package : Optional [Optional [str ]] = None
312353 version : Optional [Optional [Union [str , float ]]] = None
313354
314355
315356class AltimateExposureConfig (BaseModel ):
357+ model_config = ConfigDict (extra = "allow" )
358+
316359 _extra : Optional [Dict [str , Any ]] = None
317360 enabled : Optional [bool ] = True
318361
319362
320363class AltimateManifestExposureNode (BaseModel ):
364+ model_config = ConfigDict (extra = "allow" )
365+
321366 name : str
322367 resource_type : AltimateResourceType
323368 package_name : str
@@ -343,12 +388,16 @@ class AltimateManifestExposureNode(BaseModel):
343388
344389
345390class AltimateTestMetadata (BaseModel ):
391+ model_config = ConfigDict (extra = "allow" )
392+
346393 name : str
347394 kwargs : Optional [Dict [str , Any ]] = None
348395 namespace : Optional [Optional [str ]] = None
349396
350397
351398class AltimateTestConfig (BaseModel ):
399+ model_config = ConfigDict (extra = "allow" )
400+
352401 _extra : Optional [Dict [str , Any ]] = None
353402 enabled : Optional [bool ] = True
354403 alias : Optional [Optional [str ]] = None
@@ -369,6 +418,8 @@ class AltimateTestConfig(BaseModel):
369418
370419
371420class AltimateManifestTestNode (BaseModel ):
421+ model_config = ConfigDict (extra = "allow" )
422+
372423 test_metadata : Optional [AltimateTestMetadata ] = None
373424 test_type : Optional [str ] = None
374425 name : str
@@ -399,6 +450,8 @@ class AltimateManifestTestNode(BaseModel):
399450
400451
401452class AltimateMacroArgument (BaseModel ):
453+ model_config = ConfigDict (extra = "allow" )
454+
402455 name : str
403456 type : Optional [Optional [str ]] = None
404457 description : Optional [Optional [str ]] = ""
@@ -408,6 +461,8 @@ class AltimateMacroArgument(BaseModel):
408461
409462
410463class AltimateManifestMacroNode (BaseModel ):
464+ model_config = ConfigDict (extra = "allow" )
465+
411466 name : str
412467 resource_type : AltimateResourceType
413468 package_name : str
0 commit comments