collate-dbt-artifacts-parser 0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. collate_dbt_artifacts_parser/__init__.py +21 -0
  2. collate_dbt_artifacts_parser/parser.py +390 -0
  3. collate_dbt_artifacts_parser/parsers/__init__.py +16 -0
  4. collate_dbt_artifacts_parser/parsers/base.py +26 -0
  5. collate_dbt_artifacts_parser/parsers/catalog/__init__.py +16 -0
  6. collate_dbt_artifacts_parser/parsers/catalog/catalog_cloud.py +85 -0
  7. collate_dbt_artifacts_parser/parsers/catalog/catalog_v1.py +85 -0
  8. collate_dbt_artifacts_parser/parsers/manifest/__init__.py +16 -0
  9. collate_dbt_artifacts_parser/parsers/manifest/manifest_cloud.py +4172 -0
  10. collate_dbt_artifacts_parser/parsers/manifest/manifest_v1.py +1548 -0
  11. collate_dbt_artifacts_parser/parsers/manifest/manifest_v10.py +1667 -0
  12. collate_dbt_artifacts_parser/parsers/manifest/manifest_v11.py +1449 -0
  13. collate_dbt_artifacts_parser/parsers/manifest/manifest_v12.py +4182 -0
  14. collate_dbt_artifacts_parser/parsers/manifest/manifest_v2.py +1553 -0
  15. collate_dbt_artifacts_parser/parsers/manifest/manifest_v3.py +1565 -0
  16. collate_dbt_artifacts_parser/parsers/manifest/manifest_v4.py +1748 -0
  17. collate_dbt_artifacts_parser/parsers/manifest/manifest_v5.py +1763 -0
  18. collate_dbt_artifacts_parser/parsers/manifest/manifest_v6.py +1799 -0
  19. collate_dbt_artifacts_parser/parsers/manifest/manifest_v7.py +1917 -0
  20. collate_dbt_artifacts_parser/parsers/manifest/manifest_v8.py +1258 -0
  21. collate_dbt_artifacts_parser/parsers/manifest/manifest_v9.py +1431 -0
  22. collate_dbt_artifacts_parser/parsers/run_results/__init__.py +16 -0
  23. collate_dbt_artifacts_parser/parsers/run_results/run_results_cloud.py +90 -0
  24. collate_dbt_artifacts_parser/parsers/run_results/run_results_v1.py +75 -0
  25. collate_dbt_artifacts_parser/parsers/run_results/run_results_v2.py +76 -0
  26. collate_dbt_artifacts_parser/parsers/run_results/run_results_v3.py +147 -0
  27. collate_dbt_artifacts_parser/parsers/run_results/run_results_v4.py +147 -0
  28. collate_dbt_artifacts_parser/parsers/run_results/run_results_v5.py +79 -0
  29. collate_dbt_artifacts_parser/parsers/run_results/run_results_v6.py +89 -0
  30. collate_dbt_artifacts_parser/parsers/sources/__init__.py +16 -0
  31. collate_dbt_artifacts_parser/parsers/sources/sources_cloud.py +107 -0
  32. collate_dbt_artifacts_parser/parsers/sources/sources_v1.py +88 -0
  33. collate_dbt_artifacts_parser/parsers/sources/sources_v2.py +100 -0
  34. collate_dbt_artifacts_parser/parsers/sources/sources_v3.py +107 -0
  35. collate_dbt_artifacts_parser/parsers/utils.py +67 -0
  36. collate_dbt_artifacts_parser/parsers/version_map.py +124 -0
  37. collate_dbt_artifacts_parser/resources/catalog/catalog_cloud.json +425 -0
  38. collate_dbt_artifacts_parser/resources/catalog/catalog_v1.json +425 -0
  39. collate_dbt_artifacts_parser/resources/manifest/manifest_cloud.json +22719 -0
  40. collate_dbt_artifacts_parser/resources/manifest/manifest_v1.json +5074 -0
  41. collate_dbt_artifacts_parser/resources/manifest/manifest_v10.json +5638 -0
  42. collate_dbt_artifacts_parser/resources/manifest/manifest_v11.json +6256 -0
  43. collate_dbt_artifacts_parser/resources/manifest/manifest_v12.json +22727 -0
  44. collate_dbt_artifacts_parser/resources/manifest/manifest_v2.json +5128 -0
  45. collate_dbt_artifacts_parser/resources/manifest/manifest_v3.json +5225 -0
  46. collate_dbt_artifacts_parser/resources/manifest/manifest_v4.json +5939 -0
  47. collate_dbt_artifacts_parser/resources/manifest/manifest_v5.json +5984 -0
  48. collate_dbt_artifacts_parser/resources/manifest/manifest_v6.json +6209 -0
  49. collate_dbt_artifacts_parser/resources/manifest/manifest_v7.json +6575 -0
  50. collate_dbt_artifacts_parser/resources/manifest/manifest_v8.json +4434 -0
  51. collate_dbt_artifacts_parser/resources/manifest/manifest_v9.json +4965 -0
  52. collate_dbt_artifacts_parser/resources/run-results/run-results_cloud.json +265 -0
  53. collate_dbt_artifacts_parser/resources/run-results/run-results_v1.json +183 -0
  54. collate_dbt_artifacts_parser/resources/run-results/run-results_v2.json +190 -0
  55. collate_dbt_artifacts_parser/resources/run-results/run-results_v3.json +381 -0
  56. collate_dbt_artifacts_parser/resources/run-results/run-results_v4.json +400 -0
  57. collate_dbt_artifacts_parser/resources/run-results/run-results_v5.json +229 -0
  58. collate_dbt_artifacts_parser/resources/run-results/run-results_v6.json +264 -0
  59. collate_dbt_artifacts_parser/resources/sources/sources_cloud.json +280 -0
  60. collate_dbt_artifacts_parser/resources/sources/sources_v1.json +212 -0
  61. collate_dbt_artifacts_parser/resources/sources/sources_v2.json +261 -0
  62. collate_dbt_artifacts_parser/resources/sources/sources_v3.json +280 -0
  63. collate_dbt_artifacts_parser/utils.py +27 -0
  64. collate_dbt_artifacts_parser-0.1.dist-info/METADATA +531 -0
  65. collate_dbt_artifacts_parser-0.1.dist-info/RECORD +67 -0
  66. collate_dbt_artifacts_parser-0.1.dist-info/WHEEL +4 -0
  67. collate_dbt_artifacts_parser-0.1.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,4172 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: manifest_cloud.json
3
+
4
+ from __future__ import annotations
5
+
6
+ from enum import Enum
7
+ from typing import Any, Dict, List, Literal, Optional, Union
8
+ from uuid import UUID
9
+
10
+ from pydantic import ConfigDict, Field, constr
11
+
12
+ from collate_dbt_artifacts_parser.parsers.base import BaseParserModel
13
+
14
+
15
+ class Metadata(BaseParserModel):
16
+ model_config = ConfigDict(
17
+ extra="forbid",
18
+ )
19
+ dbt_schema_version: Optional[str] = None
20
+ dbt_version: Optional[str] = "1.10.0a1"
21
+ generated_at: Optional[str] = None
22
+ invocation_id: Optional[str] = None
23
+ env: Optional[Dict[str, str]] = None
24
+ project_name: Optional[str] = Field(None, description="Name of the root project")
25
+ project_id: Optional[str] = Field(
26
+ None,
27
+ description="A unique identifier for the project, hashed from the project name",
28
+ )
29
+ user_id: Optional[UUID] = Field(
30
+ None, description="A unique identifier for the user"
31
+ )
32
+ send_anonymous_usage_stats: Optional[bool] = Field(
33
+ None, description="Whether dbt is configured to send anonymous usage statistics"
34
+ )
35
+ adapter_type: Optional[str] = Field(
36
+ None, description="The type name of the adapter"
37
+ )
38
+
39
+
40
+ class Checksum(BaseParserModel):
41
+ model_config = ConfigDict(
42
+ extra="forbid",
43
+ )
44
+ name: str
45
+ checksum: str
46
+
47
+
48
+ class PostHookItem(BaseParserModel):
49
+ model_config = ConfigDict(
50
+ extra="forbid",
51
+ )
52
+ sql: str
53
+ transaction: Optional[bool] = True
54
+ index: Optional[int] = None
55
+
56
+
57
+ class PreHookItem(BaseParserModel):
58
+ model_config = ConfigDict(
59
+ extra="forbid",
60
+ )
61
+ sql: str
62
+ transaction: Optional[bool] = True
63
+ index: Optional[int] = None
64
+
65
+
66
+ class OnConfigurationChange(Enum):
67
+ apply = "apply"
68
+ continue_ = "continue"
69
+ fail = "fail"
70
+
71
+
72
+ class Docs(BaseParserModel):
73
+ model_config = ConfigDict(
74
+ extra="forbid",
75
+ )
76
+ show: Optional[bool] = True
77
+ node_color: Optional[str] = None
78
+
79
+
80
+ class Contract(BaseParserModel):
81
+ model_config = ConfigDict(
82
+ extra="forbid",
83
+ )
84
+ enforced: Optional[bool] = False
85
+ alias_types: Optional[bool] = True
86
+
87
+
88
+ class Config(BaseParserModel):
89
+ model_config = ConfigDict(
90
+ extra="allow",
91
+ )
92
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
93
+ enabled: Optional[bool] = True
94
+ alias: Optional[str] = None
95
+ schema_: Optional[str] = Field(None, alias="schema")
96
+ database: Optional[str] = None
97
+ tags: Optional[Union[List[str], str]] = None
98
+ meta: Optional[Dict[str, Any]] = None
99
+ group: Optional[str] = None
100
+ materialized: Optional[str] = "seed"
101
+ incremental_strategy: Optional[str] = None
102
+ batch_size: Optional[Any] = None
103
+ lookback: Optional[Any] = 1
104
+ begin: Optional[Any] = None
105
+ persist_docs: Optional[Dict[str, Any]] = None
106
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
107
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
108
+ quoting: Optional[Dict[str, Any]] = None
109
+ column_types: Optional[Dict[str, Any]] = None
110
+ full_refresh: Optional[bool] = None
111
+ unique_key: Optional[Union[str, List[str]]] = None
112
+ on_schema_change: Optional[str] = "ignore"
113
+ on_configuration_change: Optional[OnConfigurationChange] = None
114
+ grants: Optional[Dict[str, Any]] = None
115
+ packages: Optional[List[str]] = None
116
+ docs: Optional[Docs] = Field(None, title="Docs")
117
+ contract: Optional[Contract] = Field(None, title="ContractConfig")
118
+ event_time: Optional[Any] = None
119
+ concurrent_batches: Optional[Any] = None
120
+ delimiter: Optional[str] = ","
121
+ quote_columns: Optional[bool] = None
122
+
123
+
124
+ class Type(Enum):
125
+ check = "check"
126
+ not_null = "not_null"
127
+ unique = "unique"
128
+ primary_key = "primary_key"
129
+ foreign_key = "foreign_key"
130
+ custom = "custom"
131
+
132
+
133
+ class Constraint(BaseParserModel):
134
+ model_config = ConfigDict(
135
+ extra="forbid",
136
+ )
137
+ type: Type
138
+ name: Optional[str] = None
139
+ expression: Optional[str] = None
140
+ warn_unenforced: Optional[bool] = True
141
+ warn_unsupported: Optional[bool] = True
142
+ to: Optional[str] = None
143
+ to_columns: Optional[List[str]] = None
144
+
145
+
146
+ class Granularity(Enum):
147
+ nanosecond = "nanosecond"
148
+ microsecond = "microsecond"
149
+ millisecond = "millisecond"
150
+ second = "second"
151
+ minute = "minute"
152
+ hour = "hour"
153
+ day = "day"
154
+ week = "week"
155
+ month = "month"
156
+ quarter = "quarter"
157
+ year = "year"
158
+
159
+
160
+ class Columns(BaseParserModel):
161
+ model_config = ConfigDict(
162
+ extra="allow",
163
+ )
164
+ name: str
165
+ description: Optional[str] = ""
166
+ meta: Optional[Dict[str, Any]] = None
167
+ data_type: Optional[str] = None
168
+ constraints: Optional[List[Constraint]] = None
169
+ quote: Optional[bool] = None
170
+ tags: Optional[List[str]] = None
171
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
172
+ granularity: Optional[Granularity] = None
173
+
174
+
175
+ class DependsOn(BaseParserModel):
176
+ model_config = ConfigDict(
177
+ extra="forbid",
178
+ )
179
+ macros: Optional[List[str]] = None
180
+
181
+
182
+ class ResourceType(Enum):
183
+ model = "model"
184
+ analysis = "analysis"
185
+ test = "test"
186
+ snapshot = "snapshot"
187
+ operation = "operation"
188
+ seed = "seed"
189
+ rpc = "rpc"
190
+ sql_operation = "sql_operation"
191
+ doc = "doc"
192
+ source = "source"
193
+ macro = "macro"
194
+ exposure = "exposure"
195
+ metric = "metric"
196
+ group = "group"
197
+ saved_query = "saved_query"
198
+ semantic_model = "semantic_model"
199
+ unit_test = "unit_test"
200
+ fixture = "fixture"
201
+
202
+
203
+ class Config1(BaseParserModel):
204
+ model_config = ConfigDict(
205
+ extra="allow",
206
+ )
207
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
208
+ enabled: Optional[bool] = True
209
+ alias: Optional[str] = None
210
+ schema_: Optional[str] = Field(None, alias="schema")
211
+ database: Optional[str] = None
212
+ tags: Optional[Union[List[str], str]] = None
213
+ meta: Optional[Dict[str, Any]] = None
214
+ group: Optional[str] = None
215
+ materialized: Optional[str] = "view"
216
+ incremental_strategy: Optional[str] = None
217
+ batch_size: Optional[Any] = None
218
+ lookback: Optional[Any] = 1
219
+ begin: Optional[Any] = None
220
+ persist_docs: Optional[Dict[str, Any]] = None
221
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
222
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
223
+ quoting: Optional[Dict[str, Any]] = None
224
+ column_types: Optional[Dict[str, Any]] = None
225
+ full_refresh: Optional[bool] = None
226
+ unique_key: Optional[Union[str, List[str]]] = None
227
+ on_schema_change: Optional[str] = "ignore"
228
+ on_configuration_change: Optional[OnConfigurationChange] = None
229
+ grants: Optional[Dict[str, Any]] = None
230
+ packages: Optional[List[str]] = None
231
+ docs: Optional[Docs] = Field(None, title="Docs")
232
+ contract: Optional[Contract] = Field(None, title="ContractConfig")
233
+ event_time: Optional[Any] = None
234
+ concurrent_batches: Optional[Any] = None
235
+
236
+
237
+ class DeferRelation(BaseParserModel):
238
+ model_config = ConfigDict(
239
+ extra="forbid",
240
+ )
241
+ database: Optional[str] = None
242
+ schema_: str = Field(..., alias="schema")
243
+ alias: str
244
+ relation_name: Optional[str] = None
245
+ resource_type: ResourceType
246
+ name: str
247
+ description: str
248
+ compiled_code: Optional[str] = None
249
+ meta: Dict[str, Any]
250
+ tags: List[str]
251
+ config: Optional[Config1] = None
252
+
253
+
254
+ class Nodes(BaseParserModel):
255
+ model_config = ConfigDict(
256
+ extra="forbid",
257
+ )
258
+ database: Optional[str] = None
259
+ schema_: str = Field(..., alias="schema")
260
+ name: str
261
+ resource_type: Literal["seed"]
262
+ package_name: str
263
+ path: str
264
+ original_file_path: str
265
+ unique_id: str
266
+ fqn: List[str]
267
+ alias: str
268
+ checksum: Checksum = Field(..., title="FileHash")
269
+ config: Optional[Config] = Field(None, title="SeedConfig")
270
+ tags: Optional[List[str]] = None
271
+ description: Optional[str] = ""
272
+ columns: Optional[Dict[str, Columns]] = None
273
+ meta: Optional[Dict[str, Any]] = None
274
+ group: Optional[str] = None
275
+ docs: Optional[Docs] = Field(None, title="Docs")
276
+ patch_path: Optional[str] = None
277
+ build_path: Optional[str] = None
278
+ unrendered_config: Optional[Dict[str, Any]] = None
279
+ created_at: Optional[float] = None
280
+ config_call_dict: Optional[Dict[str, Any]] = None
281
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
282
+ relation_name: Optional[str] = None
283
+ raw_code: Optional[str] = ""
284
+ root_path: Optional[str] = None
285
+ depends_on: Optional[DependsOn] = Field(None, title="MacroDependsOn")
286
+ defer_relation: Optional[DeferRelation] = None
287
+
288
+
289
+ class Config2(BaseParserModel):
290
+ model_config = ConfigDict(
291
+ extra="allow",
292
+ )
293
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
294
+ enabled: Optional[bool] = True
295
+ alias: Optional[str] = None
296
+ schema_: Optional[str] = Field(None, alias="schema")
297
+ database: Optional[str] = None
298
+ tags: Optional[Union[List[str], str]] = None
299
+ meta: Optional[Dict[str, Any]] = None
300
+ group: Optional[str] = None
301
+ materialized: Optional[str] = "view"
302
+ incremental_strategy: Optional[str] = None
303
+ batch_size: Optional[Any] = None
304
+ lookback: Optional[Any] = 1
305
+ begin: Optional[Any] = None
306
+ persist_docs: Optional[Dict[str, Any]] = None
307
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
308
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
309
+ quoting: Optional[Dict[str, Any]] = None
310
+ column_types: Optional[Dict[str, Any]] = None
311
+ full_refresh: Optional[bool] = None
312
+ unique_key: Optional[Union[str, List[str]]] = None
313
+ on_schema_change: Optional[str] = "ignore"
314
+ on_configuration_change: Optional[OnConfigurationChange] = None
315
+ grants: Optional[Dict[str, Any]] = None
316
+ packages: Optional[List[str]] = None
317
+ docs: Optional[Docs] = Field(None, title="Docs")
318
+ contract: Optional[Contract] = Field(None, title="ContractConfig")
319
+ event_time: Optional[Any] = None
320
+ concurrent_batches: Optional[Any] = None
321
+
322
+
323
+ class Constraint1(BaseParserModel):
324
+ model_config = ConfigDict(
325
+ extra="forbid",
326
+ )
327
+ type: Type
328
+ name: Optional[str] = None
329
+ expression: Optional[str] = None
330
+ warn_unenforced: Optional[bool] = True
331
+ warn_unsupported: Optional[bool] = True
332
+ to: Optional[str] = None
333
+ to_columns: Optional[List[str]] = None
334
+
335
+
336
+ class Columns1(BaseParserModel):
337
+ model_config = ConfigDict(
338
+ extra="allow",
339
+ )
340
+ name: str
341
+ description: Optional[str] = ""
342
+ meta: Optional[Dict[str, Any]] = None
343
+ data_type: Optional[str] = None
344
+ constraints: Optional[List[Constraint1]] = None
345
+ quote: Optional[bool] = None
346
+ tags: Optional[List[str]] = None
347
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
348
+ granularity: Optional[Granularity] = None
349
+
350
+
351
+ class Ref(BaseParserModel):
352
+ model_config = ConfigDict(
353
+ extra="forbid",
354
+ )
355
+ name: str
356
+ package: Optional[str] = None
357
+ version: Optional[Union[str, float]] = None
358
+
359
+
360
+ class DependsOn1(BaseParserModel):
361
+ model_config = ConfigDict(
362
+ extra="forbid",
363
+ )
364
+ macros: Optional[List[str]] = None
365
+ nodes: Optional[List[str]] = None
366
+
367
+
368
+ class ExtraCte(BaseParserModel):
369
+ model_config = ConfigDict(
370
+ extra="forbid",
371
+ )
372
+ id: str
373
+ sql: str
374
+
375
+
376
+ class Contract3(BaseParserModel):
377
+ model_config = ConfigDict(
378
+ extra="forbid",
379
+ )
380
+ enforced: Optional[bool] = False
381
+ alias_types: Optional[bool] = True
382
+ checksum: Optional[str] = None
383
+
384
+
385
+ class Nodes1(BaseParserModel):
386
+ model_config = ConfigDict(
387
+ extra="forbid",
388
+ )
389
+ database: Optional[str] = None
390
+ schema_: str = Field(..., alias="schema")
391
+ name: str
392
+ resource_type: Literal["analysis"]
393
+ package_name: str
394
+ path: str
395
+ original_file_path: str
396
+ unique_id: str
397
+ fqn: List[str]
398
+ alias: str
399
+ checksum: Checksum = Field(..., title="FileHash")
400
+ config: Optional[Config2] = Field(None, title="NodeConfig")
401
+ tags: Optional[List[str]] = None
402
+ description: Optional[str] = ""
403
+ columns: Optional[Dict[str, Columns1]] = None
404
+ meta: Optional[Dict[str, Any]] = None
405
+ group: Optional[str] = None
406
+ docs: Optional[Docs] = Field(None, title="Docs")
407
+ patch_path: Optional[str] = None
408
+ build_path: Optional[str] = None
409
+ unrendered_config: Optional[Dict[str, Any]] = None
410
+ created_at: Optional[float] = None
411
+ config_call_dict: Optional[Dict[str, Any]] = None
412
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
413
+ relation_name: Optional[str] = None
414
+ raw_code: Optional[str] = ""
415
+ language: Optional[str] = "sql"
416
+ refs: Optional[List[Ref]] = None
417
+ sources: Optional[List[List[str]]] = None
418
+ metrics: Optional[List[List[str]]] = None
419
+ depends_on: Optional[DependsOn1] = Field(None, title="DependsOn")
420
+ compiled_path: Optional[str] = None
421
+ compiled: Optional[bool] = False
422
+ compiled_code: Optional[str] = None
423
+ extra_ctes_injected: Optional[bool] = False
424
+ extra_ctes: Optional[List[ExtraCte]] = None
425
+ field_pre_injected_sql: Optional[str] = Field(None, alias="_pre_injected_sql")
426
+ contract: Optional[Contract3] = Field(None, title="Contract")
427
+
428
+
429
+ class Config3(BaseParserModel):
430
+ model_config = ConfigDict(
431
+ extra="allow",
432
+ )
433
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
434
+ enabled: Optional[bool] = True
435
+ alias: Optional[str] = None
436
+ schema_: Optional[str] = Field("dbt_test__audit", alias="schema")
437
+ database: Optional[str] = None
438
+ tags: Optional[Union[List[str], str]] = None
439
+ meta: Optional[Dict[str, Any]] = None
440
+ group: Optional[str] = None
441
+ materialized: Optional[str] = "test"
442
+ severity: Optional[constr(pattern=r"^([Ww][Aa][Rr][Nn]|[Ee][Rr][Rr][Oo][Rr])$")] = (
443
+ "ERROR"
444
+ )
445
+ store_failures: Optional[bool] = None
446
+ store_failures_as: Optional[str] = None
447
+ where: Optional[str] = None
448
+ limit: Optional[int] = None
449
+ fail_calc: Optional[str] = "count(*)"
450
+ warn_if: Optional[str] = "!= 0"
451
+ error_if: Optional[str] = "!= 0"
452
+
453
+
454
+ class Constraint2(BaseParserModel):
455
+ model_config = ConfigDict(
456
+ extra="forbid",
457
+ )
458
+ type: Type
459
+ name: Optional[str] = None
460
+ expression: Optional[str] = None
461
+ warn_unenforced: Optional[bool] = True
462
+ warn_unsupported: Optional[bool] = True
463
+ to: Optional[str] = None
464
+ to_columns: Optional[List[str]] = None
465
+
466
+
467
+ class Columns2(BaseParserModel):
468
+ model_config = ConfigDict(
469
+ extra="allow",
470
+ )
471
+ name: str
472
+ description: Optional[str] = ""
473
+ meta: Optional[Dict[str, Any]] = None
474
+ data_type: Optional[str] = None
475
+ constraints: Optional[List[Constraint2]] = None
476
+ quote: Optional[bool] = None
477
+ tags: Optional[List[str]] = None
478
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
479
+ granularity: Optional[Granularity] = None
480
+
481
+
482
+ class Nodes2(BaseParserModel):
483
+ model_config = ConfigDict(
484
+ extra="forbid",
485
+ )
486
+ database: Optional[str] = None
487
+ schema_: str = Field(..., alias="schema")
488
+ name: str
489
+ resource_type: Literal["test"]
490
+ package_name: str
491
+ path: str
492
+ original_file_path: str
493
+ unique_id: str
494
+ fqn: List[str]
495
+ alias: str
496
+ checksum: Checksum = Field(..., title="FileHash")
497
+ config: Optional[Config3] = Field(None, title="TestConfig")
498
+ tags: Optional[List[str]] = None
499
+ description: Optional[str] = ""
500
+ columns: Optional[Dict[str, Columns2]] = None
501
+ meta: Optional[Dict[str, Any]] = None
502
+ group: Optional[str] = None
503
+ docs: Optional[Docs] = Field(None, title="Docs")
504
+ patch_path: Optional[str] = None
505
+ build_path: Optional[str] = None
506
+ unrendered_config: Optional[Dict[str, Any]] = None
507
+ created_at: Optional[float] = None
508
+ config_call_dict: Optional[Dict[str, Any]] = None
509
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
510
+ relation_name: Optional[str] = None
511
+ raw_code: Optional[str] = ""
512
+ language: Optional[str] = "sql"
513
+ refs: Optional[List[Ref]] = None
514
+ sources: Optional[List[List[str]]] = None
515
+ metrics: Optional[List[List[str]]] = None
516
+ depends_on: Optional[DependsOn1] = Field(None, title="DependsOn")
517
+ compiled_path: Optional[str] = None
518
+ compiled: Optional[bool] = False
519
+ compiled_code: Optional[str] = None
520
+ extra_ctes_injected: Optional[bool] = False
521
+ extra_ctes: Optional[List[ExtraCte]] = None
522
+ field_pre_injected_sql: Optional[str] = Field(None, alias="_pre_injected_sql")
523
+ contract: Optional[Contract3] = Field(None, title="Contract")
524
+
525
+
526
+ class Contract5(BaseParserModel):
527
+ model_config = ConfigDict(
528
+ extra="forbid",
529
+ )
530
+ enforced: Optional[bool] = False
531
+ alias_types: Optional[bool] = True
532
+
533
+
534
+ class Config4(BaseParserModel):
535
+ model_config = ConfigDict(
536
+ extra="allow",
537
+ )
538
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
539
+ enabled: Optional[bool] = True
540
+ alias: Optional[str] = None
541
+ schema_: Optional[str] = Field(None, alias="schema")
542
+ database: Optional[str] = None
543
+ tags: Optional[Union[List[str], str]] = None
544
+ meta: Optional[Dict[str, Any]] = None
545
+ group: Optional[str] = None
546
+ materialized: Optional[str] = "view"
547
+ incremental_strategy: Optional[str] = None
548
+ batch_size: Optional[Any] = None
549
+ lookback: Optional[Any] = 1
550
+ begin: Optional[Any] = None
551
+ persist_docs: Optional[Dict[str, Any]] = None
552
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
553
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
554
+ quoting: Optional[Dict[str, Any]] = None
555
+ column_types: Optional[Dict[str, Any]] = None
556
+ full_refresh: Optional[bool] = None
557
+ unique_key: Optional[Union[str, List[str]]] = None
558
+ on_schema_change: Optional[str] = "ignore"
559
+ on_configuration_change: Optional[OnConfigurationChange] = None
560
+ grants: Optional[Dict[str, Any]] = None
561
+ packages: Optional[List[str]] = None
562
+ docs: Optional[Docs] = Field(None, title="Docs")
563
+ contract: Optional[Contract5] = Field(None, title="ContractConfig")
564
+ event_time: Optional[Any] = None
565
+ concurrent_batches: Optional[Any] = None
566
+
567
+
568
+ class Constraint3(BaseParserModel):
569
+ model_config = ConfigDict(
570
+ extra="forbid",
571
+ )
572
+ type: Type
573
+ name: Optional[str] = None
574
+ expression: Optional[str] = None
575
+ warn_unenforced: Optional[bool] = True
576
+ warn_unsupported: Optional[bool] = True
577
+ to: Optional[str] = None
578
+ to_columns: Optional[List[str]] = None
579
+
580
+
581
+ class Columns3(BaseParserModel):
582
+ model_config = ConfigDict(
583
+ extra="allow",
584
+ )
585
+ name: str
586
+ description: Optional[str] = ""
587
+ meta: Optional[Dict[str, Any]] = None
588
+ data_type: Optional[str] = None
589
+ constraints: Optional[List[Constraint3]] = None
590
+ quote: Optional[bool] = None
591
+ tags: Optional[List[str]] = None
592
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
593
+ granularity: Optional[Granularity] = None
594
+
595
+
596
+ class Contract6(BaseParserModel):
597
+ model_config = ConfigDict(
598
+ extra="forbid",
599
+ )
600
+ enforced: Optional[bool] = False
601
+ alias_types: Optional[bool] = True
602
+ checksum: Optional[str] = None
603
+
604
+
605
+ class Nodes3(BaseParserModel):
606
+ model_config = ConfigDict(
607
+ extra="forbid",
608
+ )
609
+ database: Optional[str] = None
610
+ schema_: str = Field(..., alias="schema")
611
+ name: str
612
+ resource_type: Literal["operation"]
613
+ package_name: str
614
+ path: str
615
+ original_file_path: str
616
+ unique_id: str
617
+ fqn: List[str]
618
+ alias: str
619
+ checksum: Checksum = Field(..., title="FileHash")
620
+ config: Optional[Config4] = Field(None, title="NodeConfig")
621
+ tags: Optional[List[str]] = None
622
+ description: Optional[str] = ""
623
+ columns: Optional[Dict[str, Columns3]] = None
624
+ meta: Optional[Dict[str, Any]] = None
625
+ group: Optional[str] = None
626
+ docs: Optional[Docs] = Field(None, title="Docs")
627
+ patch_path: Optional[str] = None
628
+ build_path: Optional[str] = None
629
+ unrendered_config: Optional[Dict[str, Any]] = None
630
+ created_at: Optional[float] = None
631
+ config_call_dict: Optional[Dict[str, Any]] = None
632
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
633
+ relation_name: Optional[str] = None
634
+ raw_code: Optional[str] = ""
635
+ language: Optional[str] = "sql"
636
+ refs: Optional[List[Ref]] = None
637
+ sources: Optional[List[List[str]]] = None
638
+ metrics: Optional[List[List[str]]] = None
639
+ depends_on: Optional[DependsOn1] = Field(None, title="DependsOn")
640
+ compiled_path: Optional[str] = None
641
+ compiled: Optional[bool] = False
642
+ compiled_code: Optional[str] = None
643
+ extra_ctes_injected: Optional[bool] = False
644
+ extra_ctes: Optional[List[ExtraCte]] = None
645
+ field_pre_injected_sql: Optional[str] = Field(None, alias="_pre_injected_sql")
646
+ contract: Optional[Contract6] = Field(None, title="Contract")
647
+ index: Optional[int] = None
648
+
649
+
650
+ class Contract7(BaseParserModel):
651
+ model_config = ConfigDict(
652
+ extra="forbid",
653
+ )
654
+ enforced: Optional[bool] = False
655
+ alias_types: Optional[bool] = True
656
+
657
+
658
+ class Access(Enum):
659
+ private = "private"
660
+ protected = "protected"
661
+ public = "public"
662
+
663
+
664
+ class Config5(BaseParserModel):
665
+ model_config = ConfigDict(
666
+ extra="allow",
667
+ )
668
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
669
+ enabled: Optional[bool] = True
670
+ alias: Optional[str] = None
671
+ schema_: Optional[str] = Field(None, alias="schema")
672
+ database: Optional[str] = None
673
+ tags: Optional[Union[List[str], str]] = None
674
+ meta: Optional[Dict[str, Any]] = None
675
+ group: Optional[str] = None
676
+ materialized: Optional[str] = "view"
677
+ incremental_strategy: Optional[str] = None
678
+ batch_size: Optional[Any] = None
679
+ lookback: Optional[Any] = 1
680
+ begin: Optional[Any] = None
681
+ persist_docs: Optional[Dict[str, Any]] = None
682
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
683
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
684
+ quoting: Optional[Dict[str, Any]] = None
685
+ column_types: Optional[Dict[str, Any]] = None
686
+ full_refresh: Optional[bool] = None
687
+ unique_key: Optional[Union[str, List[str]]] = None
688
+ on_schema_change: Optional[str] = "ignore"
689
+ on_configuration_change: Optional[OnConfigurationChange] = None
690
+ grants: Optional[Dict[str, Any]] = None
691
+ packages: Optional[List[str]] = None
692
+ docs: Optional[Docs] = Field(None, title="Docs")
693
+ contract: Optional[Contract7] = Field(None, title="ContractConfig")
694
+ event_time: Optional[Any] = None
695
+ concurrent_batches: Optional[Any] = None
696
+ access: Optional[Access] = "protected"
697
+
698
+
699
+ class Constraint4(BaseParserModel):
700
+ model_config = ConfigDict(
701
+ extra="forbid",
702
+ )
703
+ type: Type
704
+ name: Optional[str] = None
705
+ expression: Optional[str] = None
706
+ warn_unenforced: Optional[bool] = True
707
+ warn_unsupported: Optional[bool] = True
708
+ to: Optional[str] = None
709
+ to_columns: Optional[List[str]] = None
710
+
711
+
712
+ class Columns4(BaseParserModel):
713
+ model_config = ConfigDict(
714
+ extra="allow",
715
+ )
716
+ name: str
717
+ description: Optional[str] = ""
718
+ meta: Optional[Dict[str, Any]] = None
719
+ data_type: Optional[str] = None
720
+ constraints: Optional[List[Constraint4]] = None
721
+ quote: Optional[bool] = None
722
+ tags: Optional[List[str]] = None
723
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
724
+ granularity: Optional[Granularity] = None
725
+
726
+
727
+ class Contract8(BaseParserModel):
728
+ model_config = ConfigDict(
729
+ extra="forbid",
730
+ )
731
+ enforced: Optional[bool] = False
732
+ alias_types: Optional[bool] = True
733
+ checksum: Optional[str] = None
734
+
735
+
736
+ class Constraint5(BaseParserModel):
737
+ model_config = ConfigDict(
738
+ extra="forbid",
739
+ )
740
+ type: Type
741
+ name: Optional[str] = None
742
+ expression: Optional[str] = None
743
+ warn_unenforced: Optional[bool] = True
744
+ warn_unsupported: Optional[bool] = True
745
+ to: Optional[str] = None
746
+ to_columns: Optional[List[str]] = None
747
+ columns: Optional[List[str]] = None
748
+
749
+
750
+ class Contract9(BaseParserModel):
751
+ model_config = ConfigDict(
752
+ extra="forbid",
753
+ )
754
+ enforced: Optional[bool] = False
755
+ alias_types: Optional[bool] = True
756
+
757
+
758
+ class Config6(BaseParserModel):
759
+ model_config = ConfigDict(
760
+ extra="allow",
761
+ )
762
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
763
+ enabled: Optional[bool] = True
764
+ alias: Optional[str] = None
765
+ schema_: Optional[str] = Field(None, alias="schema")
766
+ database: Optional[str] = None
767
+ tags: Optional[Union[List[str], str]] = None
768
+ meta: Optional[Dict[str, Any]] = None
769
+ group: Optional[str] = None
770
+ materialized: Optional[str] = "view"
771
+ incremental_strategy: Optional[str] = None
772
+ batch_size: Optional[Any] = None
773
+ lookback: Optional[Any] = 1
774
+ begin: Optional[Any] = None
775
+ persist_docs: Optional[Dict[str, Any]] = None
776
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
777
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
778
+ quoting: Optional[Dict[str, Any]] = None
779
+ column_types: Optional[Dict[str, Any]] = None
780
+ full_refresh: Optional[bool] = None
781
+ unique_key: Optional[Union[str, List[str]]] = None
782
+ on_schema_change: Optional[str] = "ignore"
783
+ on_configuration_change: Optional[OnConfigurationChange] = None
784
+ grants: Optional[Dict[str, Any]] = None
785
+ packages: Optional[List[str]] = None
786
+ docs: Optional[Docs] = Field(None, title="Docs")
787
+ contract: Optional[Contract9] = Field(None, title="ContractConfig")
788
+ event_time: Optional[Any] = None
789
+ concurrent_batches: Optional[Any] = None
790
+
791
+
792
+ class DeferRelation1(BaseParserModel):
793
+ model_config = ConfigDict(
794
+ extra="forbid",
795
+ )
796
+ database: Optional[str] = None
797
+ schema_: str = Field(..., alias="schema")
798
+ alias: str
799
+ relation_name: Optional[str] = None
800
+ resource_type: ResourceType
801
+ name: str
802
+ description: str
803
+ compiled_code: Optional[str] = None
804
+ meta: Dict[str, Any]
805
+ tags: List[str]
806
+ config: Optional[Config6] = None
807
+
808
+
809
+ class CustomGranularity(BaseParserModel):
810
+ model_config = ConfigDict(
811
+ extra="forbid",
812
+ )
813
+ name: str
814
+ column_name: Optional[str] = None
815
+
816
+
817
+ class TimeSpine(BaseParserModel):
818
+ model_config = ConfigDict(
819
+ extra="forbid",
820
+ )
821
+ standard_granularity_column: str
822
+ custom_granularities: Optional[List[CustomGranularity]] = None
823
+
824
+
825
+ class Period(Enum):
826
+ minute = "minute"
827
+ hour = "hour"
828
+ day = "day"
829
+
830
+
831
+ class DependsOn5(Enum):
832
+ all = "all"
833
+ any = "any"
834
+
835
+
836
+ class BuildAfter(BaseParserModel):
837
+ model_config = ConfigDict(
838
+ extra="forbid",
839
+ )
840
+ count: Optional[int] = 0
841
+ period: Optional[Period] = "hour"
842
+ depends_on: Optional[DependsOn5] = "any"
843
+
844
+
845
+ class Freshness(BaseParserModel):
846
+ model_config = ConfigDict(
847
+ extra="forbid",
848
+ )
849
+ build_after: Optional[BuildAfter] = Field(None, title="ModelBuildAfter")
850
+
851
+
852
+ class Nodes4(BaseParserModel):
853
+ model_config = ConfigDict(
854
+ extra="forbid",
855
+ )
856
+ database: Optional[str] = None
857
+ schema_: str = Field(..., alias="schema")
858
+ name: str
859
+ resource_type: Literal["model"]
860
+ package_name: str
861
+ path: str
862
+ original_file_path: str
863
+ unique_id: str
864
+ fqn: List[str]
865
+ alias: str
866
+ checksum: Checksum = Field(..., title="FileHash")
867
+ config: Optional[Config5] = Field(None, title="ModelConfig")
868
+ tags: Optional[List[str]] = None
869
+ description: Optional[str] = ""
870
+ columns: Optional[Dict[str, Columns4]] = None
871
+ meta: Optional[Dict[str, Any]] = None
872
+ group: Optional[str] = None
873
+ docs: Optional[Docs] = Field(None, title="Docs")
874
+ patch_path: Optional[str] = None
875
+ build_path: Optional[str] = None
876
+ unrendered_config: Optional[Dict[str, Any]] = None
877
+ created_at: Optional[float] = None
878
+ config_call_dict: Optional[Dict[str, Any]] = None
879
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
880
+ relation_name: Optional[str] = None
881
+ raw_code: Optional[str] = ""
882
+ language: Optional[str] = "sql"
883
+ refs: Optional[List[Ref]] = None
884
+ sources: Optional[List[List[str]]] = None
885
+ metrics: Optional[List[List[str]]] = None
886
+ depends_on: Optional[DependsOn1] = Field(None, title="DependsOn")
887
+ compiled_path: Optional[str] = None
888
+ compiled: Optional[bool] = False
889
+ compiled_code: Optional[str] = None
890
+ extra_ctes_injected: Optional[bool] = False
891
+ extra_ctes: Optional[List[ExtraCte]] = None
892
+ field_pre_injected_sql: Optional[str] = Field(None, alias="_pre_injected_sql")
893
+ contract: Optional[Contract8] = Field(None, title="Contract")
894
+ access: Optional[Access] = "protected"
895
+ constraints: Optional[List[Constraint5]] = None
896
+ version: Optional[Union[str, float]] = None
897
+ latest_version: Optional[Union[str, float]] = None
898
+ deprecation_date: Optional[str] = None
899
+ defer_relation: Optional[DeferRelation1] = None
900
+ primary_key: Optional[List[str]] = None
901
+ time_spine: Optional[TimeSpine] = None
902
+ freshness: Optional[Freshness] = None
903
+
904
+
905
+ class Config7(BaseParserModel):
906
+ model_config = ConfigDict(
907
+ extra="allow",
908
+ )
909
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
910
+ enabled: Optional[bool] = True
911
+ alias: Optional[str] = None
912
+ schema_: Optional[str] = Field(None, alias="schema")
913
+ database: Optional[str] = None
914
+ tags: Optional[Union[List[str], str]] = None
915
+ meta: Optional[Dict[str, Any]] = None
916
+ group: Optional[str] = None
917
+ materialized: Optional[str] = "view"
918
+ incremental_strategy: Optional[str] = None
919
+ batch_size: Optional[Any] = None
920
+ lookback: Optional[Any] = 1
921
+ begin: Optional[Any] = None
922
+ persist_docs: Optional[Dict[str, Any]] = None
923
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
924
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
925
+ quoting: Optional[Dict[str, Any]] = None
926
+ column_types: Optional[Dict[str, Any]] = None
927
+ full_refresh: Optional[bool] = None
928
+ unique_key: Optional[Union[str, List[str]]] = None
929
+ on_schema_change: Optional[str] = "ignore"
930
+ on_configuration_change: Optional[OnConfigurationChange] = None
931
+ grants: Optional[Dict[str, Any]] = None
932
+ packages: Optional[List[str]] = None
933
+ docs: Optional[Docs] = Field(None, title="Docs")
934
+ contract: Optional[Contract9] = Field(None, title="ContractConfig")
935
+ event_time: Optional[Any] = None
936
+ concurrent_batches: Optional[Any] = None
937
+
938
+
939
+ class Constraint6(BaseParserModel):
940
+ model_config = ConfigDict(
941
+ extra="forbid",
942
+ )
943
+ type: Type
944
+ name: Optional[str] = None
945
+ expression: Optional[str] = None
946
+ warn_unenforced: Optional[bool] = True
947
+ warn_unsupported: Optional[bool] = True
948
+ to: Optional[str] = None
949
+ to_columns: Optional[List[str]] = None
950
+
951
+
952
+ class Columns5(BaseParserModel):
953
+ model_config = ConfigDict(
954
+ extra="allow",
955
+ )
956
+ name: str
957
+ description: Optional[str] = ""
958
+ meta: Optional[Dict[str, Any]] = None
959
+ data_type: Optional[str] = None
960
+ constraints: Optional[List[Constraint6]] = None
961
+ quote: Optional[bool] = None
962
+ tags: Optional[List[str]] = None
963
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
964
+ granularity: Optional[Granularity] = None
965
+
966
+
967
+ class DependsOn6(BaseParserModel):
968
+ model_config = ConfigDict(
969
+ extra="forbid",
970
+ )
971
+ macros: Optional[List[str]] = None
972
+ nodes: Optional[List[str]] = None
973
+
974
+
975
+ class Contract11(BaseParserModel):
976
+ model_config = ConfigDict(
977
+ extra="forbid",
978
+ )
979
+ enforced: Optional[bool] = False
980
+ alias_types: Optional[bool] = True
981
+ checksum: Optional[str] = None
982
+
983
+
984
+ class Nodes5(BaseParserModel):
985
+ model_config = ConfigDict(
986
+ extra="forbid",
987
+ )
988
+ database: Optional[str] = None
989
+ schema_: str = Field(..., alias="schema")
990
+ name: str
991
+ resource_type: Literal["sql_operation"]
992
+ package_name: str
993
+ path: str
994
+ original_file_path: str
995
+ unique_id: str
996
+ fqn: List[str]
997
+ alias: str
998
+ checksum: Checksum = Field(..., title="FileHash")
999
+ config: Optional[Config7] = Field(None, title="NodeConfig")
1000
+ tags: Optional[List[str]] = None
1001
+ description: Optional[str] = ""
1002
+ columns: Optional[Dict[str, Columns5]] = None
1003
+ meta: Optional[Dict[str, Any]] = None
1004
+ group: Optional[str] = None
1005
+ docs: Optional[Docs] = Field(None, title="Docs")
1006
+ patch_path: Optional[str] = None
1007
+ build_path: Optional[str] = None
1008
+ unrendered_config: Optional[Dict[str, Any]] = None
1009
+ created_at: Optional[float] = None
1010
+ config_call_dict: Optional[Dict[str, Any]] = None
1011
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
1012
+ relation_name: Optional[str] = None
1013
+ raw_code: Optional[str] = ""
1014
+ language: Optional[str] = "sql"
1015
+ refs: Optional[List[Ref]] = None
1016
+ sources: Optional[List[List[str]]] = None
1017
+ metrics: Optional[List[List[str]]] = None
1018
+ depends_on: Optional[DependsOn6] = Field(None, title="DependsOn")
1019
+ compiled_path: Optional[str] = None
1020
+ compiled: Optional[bool] = False
1021
+ compiled_code: Optional[str] = None
1022
+ extra_ctes_injected: Optional[bool] = False
1023
+ extra_ctes: Optional[List[ExtraCte]] = None
1024
+ field_pre_injected_sql: Optional[str] = Field(None, alias="_pre_injected_sql")
1025
+ contract: Optional[Contract11] = Field(None, title="Contract")
1026
+
1027
+
1028
+ class Config8(BaseParserModel):
1029
+ model_config = ConfigDict(
1030
+ extra="allow",
1031
+ )
1032
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
1033
+ enabled: Optional[bool] = True
1034
+ alias: Optional[str] = None
1035
+ schema_: Optional[str] = Field("dbt_test__audit", alias="schema")
1036
+ database: Optional[str] = None
1037
+ tags: Optional[Union[List[str], str]] = None
1038
+ meta: Optional[Dict[str, Any]] = None
1039
+ group: Optional[str] = None
1040
+ materialized: Optional[str] = "test"
1041
+ severity: Optional[constr(pattern=r"^([Ww][Aa][Rr][Nn]|[Ee][Rr][Rr][Oo][Rr])$")] = (
1042
+ "ERROR"
1043
+ )
1044
+ store_failures: Optional[bool] = None
1045
+ store_failures_as: Optional[str] = None
1046
+ where: Optional[str] = None
1047
+ limit: Optional[int] = None
1048
+ fail_calc: Optional[str] = "count(*)"
1049
+ warn_if: Optional[str] = "!= 0"
1050
+ error_if: Optional[str] = "!= 0"
1051
+
1052
+
1053
+ class Constraint7(BaseParserModel):
1054
+ model_config = ConfigDict(
1055
+ extra="forbid",
1056
+ )
1057
+ type: Type
1058
+ name: Optional[str] = None
1059
+ expression: Optional[str] = None
1060
+ warn_unenforced: Optional[bool] = True
1061
+ warn_unsupported: Optional[bool] = True
1062
+ to: Optional[str] = None
1063
+ to_columns: Optional[List[str]] = None
1064
+
1065
+
1066
+ class Columns6(BaseParserModel):
1067
+ model_config = ConfigDict(
1068
+ extra="allow",
1069
+ )
1070
+ name: str
1071
+ description: Optional[str] = ""
1072
+ meta: Optional[Dict[str, Any]] = None
1073
+ data_type: Optional[str] = None
1074
+ constraints: Optional[List[Constraint7]] = None
1075
+ quote: Optional[bool] = None
1076
+ tags: Optional[List[str]] = None
1077
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
1078
+ granularity: Optional[Granularity] = None
1079
+
1080
+
1081
+ class TestMetadata(BaseParserModel):
1082
+ model_config = ConfigDict(
1083
+ extra="forbid",
1084
+ )
1085
+ name: Optional[str] = "test"
1086
+ kwargs: Optional[Dict[str, Any]] = None
1087
+ namespace: Optional[str] = None
1088
+
1089
+
1090
+ class Nodes6(BaseParserModel):
1091
+ model_config = ConfigDict(
1092
+ extra="forbid",
1093
+ )
1094
+ database: Optional[str] = None
1095
+ schema_: str = Field(..., alias="schema")
1096
+ name: str
1097
+ resource_type: Literal["test"]
1098
+ package_name: str
1099
+ path: str
1100
+ original_file_path: str
1101
+ unique_id: str
1102
+ fqn: List[str]
1103
+ alias: str
1104
+ checksum: Checksum = Field(..., title="FileHash")
1105
+ config: Optional[Config8] = Field(None, title="TestConfig")
1106
+ tags: Optional[List[str]] = None
1107
+ description: Optional[str] = ""
1108
+ columns: Optional[Dict[str, Columns6]] = None
1109
+ meta: Optional[Dict[str, Any]] = None
1110
+ group: Optional[str] = None
1111
+ docs: Optional[Docs] = Field(None, title="Docs")
1112
+ patch_path: Optional[str] = None
1113
+ build_path: Optional[str] = None
1114
+ unrendered_config: Optional[Dict[str, Any]] = None
1115
+ created_at: Optional[float] = None
1116
+ config_call_dict: Optional[Dict[str, Any]] = None
1117
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
1118
+ relation_name: Optional[str] = None
1119
+ raw_code: Optional[str] = ""
1120
+ language: Optional[str] = "sql"
1121
+ refs: Optional[List[Ref]] = None
1122
+ sources: Optional[List[List[str]]] = None
1123
+ metrics: Optional[List[List[str]]] = None
1124
+ depends_on: Optional[DependsOn6] = Field(None, title="DependsOn")
1125
+ compiled_path: Optional[str] = None
1126
+ compiled: Optional[bool] = False
1127
+ compiled_code: Optional[str] = None
1128
+ extra_ctes_injected: Optional[bool] = False
1129
+ extra_ctes: Optional[List[ExtraCte]] = None
1130
+ field_pre_injected_sql: Optional[str] = Field(None, alias="_pre_injected_sql")
1131
+ contract: Optional[Contract11] = Field(None, title="Contract")
1132
+ column_name: Optional[str] = None
1133
+ file_key_name: Optional[str] = None
1134
+ attached_node: Optional[str] = None
1135
+ test_metadata: Optional[TestMetadata] = Field(None, title="TestMetadata")
1136
+
1137
+
1138
+ class Contract13(BaseParserModel):
1139
+ model_config = ConfigDict(
1140
+ extra="forbid",
1141
+ )
1142
+ enforced: Optional[bool] = False
1143
+ alias_types: Optional[bool] = True
1144
+
1145
+
1146
+ class SnapshotMetaColumnNames(BaseParserModel):
1147
+ model_config = ConfigDict(
1148
+ extra="forbid",
1149
+ )
1150
+ dbt_valid_to: Optional[str] = None
1151
+ dbt_valid_from: Optional[str] = None
1152
+ dbt_scd_id: Optional[str] = None
1153
+ dbt_updated_at: Optional[str] = None
1154
+ dbt_is_deleted: Optional[str] = None
1155
+
1156
+
1157
+ class Config9(BaseParserModel):
1158
+ model_config = ConfigDict(
1159
+ extra="allow",
1160
+ )
1161
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
1162
+ enabled: Optional[bool] = True
1163
+ alias: Optional[str] = None
1164
+ schema_: Optional[str] = Field(None, alias="schema")
1165
+ database: Optional[str] = None
1166
+ tags: Optional[Union[List[str], str]] = None
1167
+ meta: Optional[Dict[str, Any]] = None
1168
+ group: Optional[str] = None
1169
+ materialized: Optional[str] = "snapshot"
1170
+ incremental_strategy: Optional[str] = None
1171
+ batch_size: Optional[Any] = None
1172
+ lookback: Optional[Any] = 1
1173
+ begin: Optional[Any] = None
1174
+ persist_docs: Optional[Dict[str, Any]] = None
1175
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
1176
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
1177
+ quoting: Optional[Dict[str, Any]] = None
1178
+ column_types: Optional[Dict[str, Any]] = None
1179
+ full_refresh: Optional[bool] = None
1180
+ unique_key: Optional[Union[str, List[str]]] = None
1181
+ on_schema_change: Optional[str] = "ignore"
1182
+ on_configuration_change: Optional[OnConfigurationChange] = None
1183
+ grants: Optional[Dict[str, Any]] = None
1184
+ packages: Optional[List[str]] = None
1185
+ docs: Optional[Docs] = Field(None, title="Docs")
1186
+ contract: Optional[Contract13] = Field(None, title="ContractConfig")
1187
+ event_time: Optional[Any] = None
1188
+ concurrent_batches: Optional[Any] = None
1189
+ strategy: Optional[str] = None
1190
+ target_schema: Optional[str] = None
1191
+ target_database: Optional[str] = None
1192
+ updated_at: Optional[str] = None
1193
+ check_cols: Optional[Union[str, List[str]]] = None
1194
+ snapshot_meta_column_names: Optional[SnapshotMetaColumnNames] = Field(
1195
+ None, title="SnapshotMetaColumnNames"
1196
+ )
1197
+ dbt_valid_to_current: Optional[str] = None
1198
+
1199
+
1200
+ class Constraint8(BaseParserModel):
1201
+ model_config = ConfigDict(
1202
+ extra="forbid",
1203
+ )
1204
+ type: Type
1205
+ name: Optional[str] = None
1206
+ expression: Optional[str] = None
1207
+ warn_unenforced: Optional[bool] = True
1208
+ warn_unsupported: Optional[bool] = True
1209
+ to: Optional[str] = None
1210
+ to_columns: Optional[List[str]] = None
1211
+
1212
+
1213
+ class Columns7(BaseParserModel):
1214
+ model_config = ConfigDict(
1215
+ extra="allow",
1216
+ )
1217
+ name: str
1218
+ description: Optional[str] = ""
1219
+ meta: Optional[Dict[str, Any]] = None
1220
+ data_type: Optional[str] = None
1221
+ constraints: Optional[List[Constraint8]] = None
1222
+ quote: Optional[bool] = None
1223
+ tags: Optional[List[str]] = None
1224
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
1225
+ granularity: Optional[Granularity] = None
1226
+
1227
+
1228
+ class Contract14(BaseParserModel):
1229
+ model_config = ConfigDict(
1230
+ extra="forbid",
1231
+ )
1232
+ enforced: Optional[bool] = False
1233
+ alias_types: Optional[bool] = True
1234
+ checksum: Optional[str] = None
1235
+
1236
+
1237
+ class Contract15(BaseParserModel):
1238
+ model_config = ConfigDict(
1239
+ extra="forbid",
1240
+ )
1241
+ enforced: Optional[bool] = False
1242
+ alias_types: Optional[bool] = True
1243
+
1244
+
1245
+ class Config10(BaseParserModel):
1246
+ model_config = ConfigDict(
1247
+ extra="allow",
1248
+ )
1249
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
1250
+ enabled: Optional[bool] = True
1251
+ alias: Optional[str] = None
1252
+ schema_: Optional[str] = Field(None, alias="schema")
1253
+ database: Optional[str] = None
1254
+ tags: Optional[Union[List[str], str]] = None
1255
+ meta: Optional[Dict[str, Any]] = None
1256
+ group: Optional[str] = None
1257
+ materialized: Optional[str] = "view"
1258
+ incremental_strategy: Optional[str] = None
1259
+ batch_size: Optional[Any] = None
1260
+ lookback: Optional[Any] = 1
1261
+ begin: Optional[Any] = None
1262
+ persist_docs: Optional[Dict[str, Any]] = None
1263
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
1264
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
1265
+ quoting: Optional[Dict[str, Any]] = None
1266
+ column_types: Optional[Dict[str, Any]] = None
1267
+ full_refresh: Optional[bool] = None
1268
+ unique_key: Optional[Union[str, List[str]]] = None
1269
+ on_schema_change: Optional[str] = "ignore"
1270
+ on_configuration_change: Optional[OnConfigurationChange] = None
1271
+ grants: Optional[Dict[str, Any]] = None
1272
+ packages: Optional[List[str]] = None
1273
+ docs: Optional[Docs] = Field(None, title="Docs")
1274
+ contract: Optional[Contract15] = Field(None, title="ContractConfig")
1275
+ event_time: Optional[Any] = None
1276
+ concurrent_batches: Optional[Any] = None
1277
+
1278
+
1279
+ class DeferRelation2(BaseParserModel):
1280
+ model_config = ConfigDict(
1281
+ extra="forbid",
1282
+ )
1283
+ database: Optional[str] = None
1284
+ schema_: str = Field(..., alias="schema")
1285
+ alias: str
1286
+ relation_name: Optional[str] = None
1287
+ resource_type: ResourceType
1288
+ name: str
1289
+ description: str
1290
+ compiled_code: Optional[str] = None
1291
+ meta: Dict[str, Any]
1292
+ tags: List[str]
1293
+ config: Optional[Config10] = None
1294
+
1295
+
1296
+ class Nodes7(BaseParserModel):
1297
+ model_config = ConfigDict(
1298
+ extra="forbid",
1299
+ )
1300
+ database: Optional[str] = None
1301
+ schema_: str = Field(..., alias="schema")
1302
+ name: str
1303
+ resource_type: Literal["snapshot"]
1304
+ package_name: str
1305
+ path: str
1306
+ original_file_path: str
1307
+ unique_id: str
1308
+ fqn: List[str]
1309
+ alias: str
1310
+ checksum: Checksum = Field(..., title="FileHash")
1311
+ config: Config9 = Field(..., title="SnapshotConfig")
1312
+ tags: Optional[List[str]] = None
1313
+ description: Optional[str] = ""
1314
+ columns: Optional[Dict[str, Columns7]] = None
1315
+ meta: Optional[Dict[str, Any]] = None
1316
+ group: Optional[str] = None
1317
+ docs: Optional[Docs] = Field(None, title="Docs")
1318
+ patch_path: Optional[str] = None
1319
+ build_path: Optional[str] = None
1320
+ unrendered_config: Optional[Dict[str, Any]] = None
1321
+ created_at: Optional[float] = None
1322
+ config_call_dict: Optional[Dict[str, Any]] = None
1323
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
1324
+ relation_name: Optional[str] = None
1325
+ raw_code: Optional[str] = ""
1326
+ language: Optional[str] = "sql"
1327
+ refs: Optional[List[Ref]] = None
1328
+ sources: Optional[List[List[str]]] = None
1329
+ metrics: Optional[List[List[str]]] = None
1330
+ depends_on: Optional[DependsOn6] = Field(None, title="DependsOn")
1331
+ compiled_path: Optional[str] = None
1332
+ compiled: Optional[bool] = False
1333
+ compiled_code: Optional[str] = None
1334
+ extra_ctes_injected: Optional[bool] = False
1335
+ extra_ctes: Optional[List[ExtraCte]] = None
1336
+ field_pre_injected_sql: Optional[str] = Field(None, alias="_pre_injected_sql")
1337
+ contract: Optional[Contract14] = Field(None, title="Contract")
1338
+ defer_relation: Optional[DeferRelation2] = None
1339
+
1340
+
1341
+ class Quoting(BaseParserModel):
1342
+ model_config = ConfigDict(
1343
+ extra="forbid",
1344
+ )
1345
+ database: Optional[bool] = None
1346
+ schema_: Optional[bool] = Field(None, alias="schema")
1347
+ identifier: Optional[bool] = None
1348
+ column: Optional[bool] = None
1349
+
1350
+
1351
+ class WarnAfter(BaseParserModel):
1352
+ model_config = ConfigDict(
1353
+ extra="forbid",
1354
+ )
1355
+ count: Optional[int] = None
1356
+ period: Optional[Period] = None
1357
+
1358
+
1359
+ class ErrorAfter(BaseParserModel):
1360
+ model_config = ConfigDict(
1361
+ extra="forbid",
1362
+ )
1363
+ count: Optional[int] = None
1364
+ period: Optional[Period] = None
1365
+
1366
+
1367
+ class Freshness1(BaseParserModel):
1368
+ model_config = ConfigDict(
1369
+ extra="forbid",
1370
+ )
1371
+ warn_after: Optional[WarnAfter] = None
1372
+ error_after: Optional[ErrorAfter] = None
1373
+ filter: Optional[str] = None
1374
+
1375
+
1376
+ class Partition(BaseParserModel):
1377
+ model_config = ConfigDict(
1378
+ extra="allow",
1379
+ )
1380
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
1381
+ name: Optional[str] = ""
1382
+ description: Optional[str] = ""
1383
+ data_type: Optional[str] = ""
1384
+ meta: Optional[Dict[str, Any]] = None
1385
+
1386
+
1387
+ class External(BaseParserModel):
1388
+ model_config = ConfigDict(
1389
+ extra="allow",
1390
+ )
1391
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
1392
+ location: Optional[str] = None
1393
+ file_format: Optional[str] = None
1394
+ row_format: Optional[str] = None
1395
+ tbl_properties: Optional[str] = None
1396
+ partitions: Optional[Union[List[str], List[Partition]]] = None
1397
+
1398
+
1399
+ class Constraint9(BaseParserModel):
1400
+ model_config = ConfigDict(
1401
+ extra="forbid",
1402
+ )
1403
+ type: Type
1404
+ name: Optional[str] = None
1405
+ expression: Optional[str] = None
1406
+ warn_unenforced: Optional[bool] = True
1407
+ warn_unsupported: Optional[bool] = True
1408
+ to: Optional[str] = None
1409
+ to_columns: Optional[List[str]] = None
1410
+
1411
+
1412
+ class Columns8(BaseParserModel):
1413
+ model_config = ConfigDict(
1414
+ extra="allow",
1415
+ )
1416
+ name: str
1417
+ description: Optional[str] = ""
1418
+ meta: Optional[Dict[str, Any]] = None
1419
+ data_type: Optional[str] = None
1420
+ constraints: Optional[List[Constraint9]] = None
1421
+ quote: Optional[bool] = None
1422
+ tags: Optional[List[str]] = None
1423
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
1424
+ granularity: Optional[Granularity] = None
1425
+
1426
+
1427
+ class Config11(BaseParserModel):
1428
+ model_config = ConfigDict(
1429
+ extra="allow",
1430
+ )
1431
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
1432
+ enabled: Optional[bool] = True
1433
+ event_time: Optional[Any] = None
1434
+
1435
+
1436
+ class Sources(BaseParserModel):
1437
+ model_config = ConfigDict(
1438
+ extra="forbid",
1439
+ )
1440
+ database: Optional[str] = None
1441
+ schema_: str = Field(..., alias="schema")
1442
+ name: str
1443
+ resource_type: Literal["source"]
1444
+ package_name: str
1445
+ path: str
1446
+ original_file_path: str
1447
+ unique_id: str
1448
+ fqn: List[str]
1449
+ source_name: str
1450
+ source_description: str
1451
+ loader: str
1452
+ identifier: str
1453
+ quoting: Optional[Quoting] = Field(None, title="Quoting")
1454
+ loaded_at_field: Optional[str] = None
1455
+ loaded_at_query: Optional[str] = None
1456
+ freshness: Optional[Freshness1] = None
1457
+ external: Optional[External] = None
1458
+ description: Optional[str] = ""
1459
+ columns: Optional[Dict[str, Columns8]] = None
1460
+ meta: Optional[Dict[str, Any]] = None
1461
+ source_meta: Optional[Dict[str, Any]] = None
1462
+ tags: Optional[List[str]] = None
1463
+ config: Optional[Config11] = Field(None, title="SourceConfig")
1464
+ patch_path: Optional[str] = None
1465
+ unrendered_config: Optional[Dict[str, Any]] = None
1466
+ relation_name: Optional[str] = None
1467
+ created_at: Optional[float] = None
1468
+ unrendered_database: Optional[str] = None
1469
+ unrendered_schema: Optional[str] = None
1470
+
1471
+
1472
+ class DependsOn9(BaseParserModel):
1473
+ model_config = ConfigDict(
1474
+ extra="forbid",
1475
+ )
1476
+ macros: Optional[List[str]] = None
1477
+
1478
+
1479
+ class Argument(BaseParserModel):
1480
+ model_config = ConfigDict(
1481
+ extra="forbid",
1482
+ )
1483
+ name: str
1484
+ type: Optional[str] = None
1485
+ description: Optional[str] = ""
1486
+
1487
+
1488
+ class SupportedLanguage(Enum):
1489
+ python = "python"
1490
+ sql = "sql"
1491
+
1492
+
1493
+ class Macros(BaseParserModel):
1494
+ model_config = ConfigDict(
1495
+ extra="forbid",
1496
+ )
1497
+ name: str
1498
+ resource_type: Literal["macro"]
1499
+ package_name: str
1500
+ path: str
1501
+ original_file_path: str
1502
+ unique_id: str
1503
+ macro_sql: str
1504
+ depends_on: Optional[DependsOn9] = Field(None, title="MacroDependsOn")
1505
+ description: Optional[str] = ""
1506
+ meta: Optional[Dict[str, Any]] = None
1507
+ docs: Optional[Docs] = Field(None, title="Docs")
1508
+ patch_path: Optional[str] = None
1509
+ arguments: Optional[List[Argument]] = None
1510
+ created_at: Optional[float] = None
1511
+ supported_languages: Optional[List[SupportedLanguage]] = None
1512
+
1513
+
1514
+ class Docs18(BaseParserModel):
1515
+ model_config = ConfigDict(
1516
+ extra="forbid",
1517
+ )
1518
+ name: str
1519
+ resource_type: Literal["doc"]
1520
+ package_name: str
1521
+ path: str
1522
+ original_file_path: str
1523
+ unique_id: str
1524
+ block_contents: str
1525
+
1526
+
1527
+ class Type10(Enum):
1528
+ dashboard = "dashboard"
1529
+ notebook = "notebook"
1530
+ analysis = "analysis"
1531
+ ml = "ml"
1532
+ application = "application"
1533
+
1534
+
1535
+ class Owner(BaseParserModel):
1536
+ model_config = ConfigDict(
1537
+ extra="allow",
1538
+ )
1539
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
1540
+ email: Optional[str] = None
1541
+ name: Optional[str] = None
1542
+
1543
+
1544
+ class Maturity(Enum):
1545
+ low = "low"
1546
+ medium = "medium"
1547
+ high = "high"
1548
+
1549
+
1550
+ class Config12(BaseParserModel):
1551
+ model_config = ConfigDict(
1552
+ extra="allow",
1553
+ )
1554
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
1555
+ enabled: Optional[bool] = True
1556
+
1557
+
1558
+ class DependsOn10(BaseParserModel):
1559
+ model_config = ConfigDict(
1560
+ extra="forbid",
1561
+ )
1562
+ macros: Optional[List[str]] = None
1563
+ nodes: Optional[List[str]] = None
1564
+
1565
+
1566
+ class Exposures(BaseParserModel):
1567
+ model_config = ConfigDict(
1568
+ extra="forbid",
1569
+ )
1570
+ name: str
1571
+ resource_type: Literal["exposure"]
1572
+ package_name: str
1573
+ path: str
1574
+ original_file_path: str
1575
+ unique_id: str
1576
+ fqn: List[str]
1577
+ type: Type10
1578
+ owner: Owner = Field(..., title="Owner")
1579
+ description: Optional[str] = ""
1580
+ label: Optional[str] = None
1581
+ maturity: Optional[Maturity] = None
1582
+ meta: Optional[Dict[str, Any]] = None
1583
+ tags: Optional[List[str]] = None
1584
+ config: Optional[Config12] = Field(None, title="ExposureConfig")
1585
+ unrendered_config: Optional[Dict[str, Any]] = None
1586
+ url: Optional[str] = None
1587
+ depends_on: Optional[DependsOn10] = Field(None, title="DependsOn")
1588
+ refs: Optional[List[Ref]] = None
1589
+ sources: Optional[List[List[str]]] = None
1590
+ metrics: Optional[List[List[str]]] = None
1591
+ created_at: Optional[float] = None
1592
+
1593
+
1594
+ class Type11(Enum):
1595
+ simple = "simple"
1596
+ ratio = "ratio"
1597
+ cumulative = "cumulative"
1598
+ derived = "derived"
1599
+ conversion = "conversion"
1600
+
1601
+
1602
+ class WhereFilter(BaseParserModel):
1603
+ model_config = ConfigDict(
1604
+ extra="forbid",
1605
+ )
1606
+ where_sql_template: str
1607
+
1608
+
1609
+ class Filter(BaseParserModel):
1610
+ model_config = ConfigDict(
1611
+ extra="forbid",
1612
+ )
1613
+ where_filters: List[WhereFilter]
1614
+
1615
+
1616
+ class Measure(BaseParserModel):
1617
+ model_config = ConfigDict(
1618
+ extra="forbid",
1619
+ )
1620
+ name: str
1621
+ filter: Optional[Filter] = None
1622
+ alias: Optional[str] = None
1623
+ join_to_timespine: Optional[bool] = False
1624
+ fill_nulls_with: Optional[int] = None
1625
+
1626
+
1627
+ class Filter1(BaseParserModel):
1628
+ model_config = ConfigDict(
1629
+ extra="forbid",
1630
+ )
1631
+ where_filters: List[WhereFilter]
1632
+
1633
+
1634
+ class InputMeasure(BaseParserModel):
1635
+ model_config = ConfigDict(
1636
+ extra="forbid",
1637
+ )
1638
+ name: str
1639
+ filter: Optional[Filter1] = None
1640
+ alias: Optional[str] = None
1641
+ join_to_timespine: Optional[bool] = False
1642
+ fill_nulls_with: Optional[int] = None
1643
+
1644
+
1645
+ class Filter2(BaseParserModel):
1646
+ model_config = ConfigDict(
1647
+ extra="forbid",
1648
+ )
1649
+ where_filters: List[WhereFilter]
1650
+
1651
+
1652
+ class OffsetWindow(BaseParserModel):
1653
+ model_config = ConfigDict(
1654
+ extra="forbid",
1655
+ )
1656
+ count: int
1657
+ granularity: str
1658
+
1659
+
1660
+ class Numerator(BaseParserModel):
1661
+ model_config = ConfigDict(
1662
+ extra="forbid",
1663
+ )
1664
+ name: str
1665
+ filter: Optional[Filter2] = None
1666
+ alias: Optional[str] = None
1667
+ offset_window: Optional[OffsetWindow] = None
1668
+ offset_to_grain: Optional[str] = None
1669
+
1670
+
1671
+ class Filter3(BaseParserModel):
1672
+ model_config = ConfigDict(
1673
+ extra="forbid",
1674
+ )
1675
+ where_filters: List[WhereFilter]
1676
+
1677
+
1678
+ class Denominator(BaseParserModel):
1679
+ model_config = ConfigDict(
1680
+ extra="forbid",
1681
+ )
1682
+ name: str
1683
+ filter: Optional[Filter3] = None
1684
+ alias: Optional[str] = None
1685
+ offset_window: Optional[OffsetWindow] = None
1686
+ offset_to_grain: Optional[str] = None
1687
+
1688
+
1689
+ class Window(BaseParserModel):
1690
+ model_config = ConfigDict(
1691
+ extra="forbid",
1692
+ )
1693
+ count: int
1694
+ granularity: str
1695
+
1696
+
1697
+ class GrainToDate(Enum):
1698
+ nanosecond = "nanosecond"
1699
+ microsecond = "microsecond"
1700
+ millisecond = "millisecond"
1701
+ second = "second"
1702
+ minute = "minute"
1703
+ hour = "hour"
1704
+ day = "day"
1705
+ week = "week"
1706
+ month = "month"
1707
+ quarter = "quarter"
1708
+ year = "year"
1709
+
1710
+
1711
+ class Filter4(BaseParserModel):
1712
+ model_config = ConfigDict(
1713
+ extra="forbid",
1714
+ )
1715
+ where_filters: List[WhereFilter]
1716
+
1717
+
1718
+ class Metric(BaseParserModel):
1719
+ model_config = ConfigDict(
1720
+ extra="forbid",
1721
+ )
1722
+ name: str
1723
+ filter: Optional[Filter4] = None
1724
+ alias: Optional[str] = None
1725
+ offset_window: Optional[OffsetWindow] = None
1726
+ offset_to_grain: Optional[str] = None
1727
+
1728
+
1729
+ class Filter5(BaseParserModel):
1730
+ model_config = ConfigDict(
1731
+ extra="forbid",
1732
+ )
1733
+ where_filters: List[WhereFilter]
1734
+
1735
+
1736
+ class BaseMeasure(BaseParserModel):
1737
+ model_config = ConfigDict(
1738
+ extra="forbid",
1739
+ )
1740
+ name: str
1741
+ filter: Optional[Filter5] = None
1742
+ alias: Optional[str] = None
1743
+ join_to_timespine: Optional[bool] = False
1744
+ fill_nulls_with: Optional[int] = None
1745
+
1746
+
1747
+ class Filter6(BaseParserModel):
1748
+ model_config = ConfigDict(
1749
+ extra="forbid",
1750
+ )
1751
+ where_filters: List[WhereFilter]
1752
+
1753
+
1754
+ class ConversionMeasure(BaseParserModel):
1755
+ model_config = ConfigDict(
1756
+ extra="forbid",
1757
+ )
1758
+ name: str
1759
+ filter: Optional[Filter6] = None
1760
+ alias: Optional[str] = None
1761
+ join_to_timespine: Optional[bool] = False
1762
+ fill_nulls_with: Optional[int] = None
1763
+
1764
+
1765
+ class Calculation(Enum):
1766
+ conversions = "conversions"
1767
+ conversion_rate = "conversion_rate"
1768
+
1769
+
1770
+ class ConstantProperty(BaseParserModel):
1771
+ model_config = ConfigDict(
1772
+ extra="forbid",
1773
+ )
1774
+ base_property: str
1775
+ conversion_property: str
1776
+
1777
+
1778
+ class ConversionTypeParams(BaseParserModel):
1779
+ model_config = ConfigDict(
1780
+ extra="forbid",
1781
+ )
1782
+ base_measure: BaseMeasure = Field(..., title="MetricInputMeasure")
1783
+ conversion_measure: ConversionMeasure = Field(..., title="MetricInputMeasure")
1784
+ entity: str
1785
+ calculation: Optional[Calculation] = "conversion_rate"
1786
+ window: Optional[Window] = None
1787
+ constant_properties: Optional[List[ConstantProperty]] = None
1788
+
1789
+
1790
+ class PeriodAgg(Enum):
1791
+ first = "first"
1792
+ last = "last"
1793
+ average = "average"
1794
+
1795
+
1796
+ class CumulativeTypeParams(BaseParserModel):
1797
+ model_config = ConfigDict(
1798
+ extra="forbid",
1799
+ )
1800
+ window: Optional[Window] = None
1801
+ grain_to_date: Optional[str] = None
1802
+ period_agg: Optional[PeriodAgg] = "first"
1803
+
1804
+
1805
+ class TypeParams(BaseParserModel):
1806
+ model_config = ConfigDict(
1807
+ extra="forbid",
1808
+ )
1809
+ measure: Optional[Measure] = None
1810
+ input_measures: Optional[List[InputMeasure]] = None
1811
+ numerator: Optional[Numerator] = None
1812
+ denominator: Optional[Denominator] = None
1813
+ expr: Optional[str] = None
1814
+ window: Optional[Window] = None
1815
+ grain_to_date: Optional[GrainToDate] = None
1816
+ metrics: Optional[List[Metric]] = None
1817
+ conversion_type_params: Optional[ConversionTypeParams] = None
1818
+ cumulative_type_params: Optional[CumulativeTypeParams] = None
1819
+
1820
+
1821
+ class Filter7(BaseParserModel):
1822
+ model_config = ConfigDict(
1823
+ extra="forbid",
1824
+ )
1825
+ where_filters: List[WhereFilter]
1826
+
1827
+
1828
+ class FileSlice(BaseParserModel):
1829
+ model_config = ConfigDict(
1830
+ extra="forbid",
1831
+ )
1832
+ filename: str
1833
+ content: str
1834
+ start_line_number: int
1835
+ end_line_number: int
1836
+
1837
+
1838
+ class Metadata1(BaseParserModel):
1839
+ model_config = ConfigDict(
1840
+ extra="forbid",
1841
+ )
1842
+ repo_file_path: str
1843
+ file_slice: FileSlice = Field(..., title="FileSlice")
1844
+
1845
+
1846
+ class Config13(BaseParserModel):
1847
+ model_config = ConfigDict(
1848
+ extra="allow",
1849
+ )
1850
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
1851
+ enabled: Optional[bool] = True
1852
+ group: Optional[str] = None
1853
+ meta: Optional[Dict[str, Any]] = None
1854
+
1855
+
1856
+ class Metrics(BaseParserModel):
1857
+ model_config = ConfigDict(
1858
+ extra="forbid",
1859
+ )
1860
+ name: str
1861
+ resource_type: Literal["metric"]
1862
+ package_name: str
1863
+ path: str
1864
+ original_file_path: str
1865
+ unique_id: str
1866
+ fqn: List[str]
1867
+ description: str
1868
+ label: str
1869
+ type: Type11
1870
+ type_params: TypeParams = Field(..., title="MetricTypeParams")
1871
+ filter: Optional[Filter7] = None
1872
+ metadata: Optional[Metadata1] = None
1873
+ time_granularity: Optional[str] = None
1874
+ meta: Optional[Dict[str, Any]] = None
1875
+ tags: Optional[List[str]] = None
1876
+ config: Optional[Config13] = Field(None, title="MetricConfig")
1877
+ unrendered_config: Optional[Dict[str, Any]] = None
1878
+ sources: Optional[List[List[str]]] = None
1879
+ depends_on: Optional[DependsOn10] = Field(None, title="DependsOn")
1880
+ refs: Optional[List[Ref]] = None
1881
+ metrics: Optional[List[List[str]]] = None
1882
+ created_at: Optional[float] = None
1883
+ group: Optional[str] = None
1884
+
1885
+
1886
+ class Groups(BaseParserModel):
1887
+ model_config = ConfigDict(
1888
+ extra="forbid",
1889
+ )
1890
+ name: str
1891
+ resource_type: Literal["group"]
1892
+ package_name: str
1893
+ path: str
1894
+ original_file_path: str
1895
+ unique_id: str
1896
+ owner: Owner = Field(..., title="Owner")
1897
+
1898
+
1899
+ class Docs19(BaseParserModel):
1900
+ model_config = ConfigDict(
1901
+ extra="forbid",
1902
+ )
1903
+ show: Optional[bool] = True
1904
+ node_color: Optional[str] = None
1905
+
1906
+
1907
+ class Config14(BaseParserModel):
1908
+ model_config = ConfigDict(
1909
+ extra="allow",
1910
+ )
1911
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
1912
+ enabled: Optional[bool] = True
1913
+ alias: Optional[str] = None
1914
+ schema_: Optional[str] = Field(None, alias="schema")
1915
+ database: Optional[str] = None
1916
+ tags: Optional[Union[List[str], str]] = None
1917
+ meta: Optional[Dict[str, Any]] = None
1918
+ group: Optional[str] = None
1919
+ materialized: Optional[str] = "seed"
1920
+ incremental_strategy: Optional[str] = None
1921
+ batch_size: Optional[Any] = None
1922
+ lookback: Optional[Any] = 1
1923
+ begin: Optional[Any] = None
1924
+ persist_docs: Optional[Dict[str, Any]] = None
1925
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
1926
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
1927
+ quoting: Optional[Dict[str, Any]] = None
1928
+ column_types: Optional[Dict[str, Any]] = None
1929
+ full_refresh: Optional[bool] = None
1930
+ unique_key: Optional[Union[str, List[str]]] = None
1931
+ on_schema_change: Optional[str] = "ignore"
1932
+ on_configuration_change: Optional[OnConfigurationChange] = None
1933
+ grants: Optional[Dict[str, Any]] = None
1934
+ packages: Optional[List[str]] = None
1935
+ docs: Optional[Docs19] = Field(None, title="Docs")
1936
+ contract: Optional[Contract15] = Field(None, title="ContractConfig")
1937
+ event_time: Optional[Any] = None
1938
+ concurrent_batches: Optional[Any] = None
1939
+ delimiter: Optional[str] = ","
1940
+ quote_columns: Optional[bool] = None
1941
+
1942
+
1943
+ class Type12(Enum):
1944
+ check = "check"
1945
+ not_null = "not_null"
1946
+ unique = "unique"
1947
+ primary_key = "primary_key"
1948
+ foreign_key = "foreign_key"
1949
+ custom = "custom"
1950
+
1951
+
1952
+ class Constraint10(BaseParserModel):
1953
+ model_config = ConfigDict(
1954
+ extra="forbid",
1955
+ )
1956
+ type: Type12
1957
+ name: Optional[str] = None
1958
+ expression: Optional[str] = None
1959
+ warn_unenforced: Optional[bool] = True
1960
+ warn_unsupported: Optional[bool] = True
1961
+ to: Optional[str] = None
1962
+ to_columns: Optional[List[str]] = None
1963
+
1964
+
1965
+ class Columns9(BaseParserModel):
1966
+ model_config = ConfigDict(
1967
+ extra="allow",
1968
+ )
1969
+ name: str
1970
+ description: Optional[str] = ""
1971
+ meta: Optional[Dict[str, Any]] = None
1972
+ data_type: Optional[str] = None
1973
+ constraints: Optional[List[Constraint10]] = None
1974
+ quote: Optional[bool] = None
1975
+ tags: Optional[List[str]] = None
1976
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
1977
+ granularity: Optional[Granularity] = None
1978
+
1979
+
1980
+ class DependsOn12(BaseParserModel):
1981
+ model_config = ConfigDict(
1982
+ extra="forbid",
1983
+ )
1984
+ macros: Optional[List[str]] = None
1985
+
1986
+
1987
+ class Config15(BaseParserModel):
1988
+ model_config = ConfigDict(
1989
+ extra="allow",
1990
+ )
1991
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
1992
+ enabled: Optional[bool] = True
1993
+ alias: Optional[str] = None
1994
+ schema_: Optional[str] = Field(None, alias="schema")
1995
+ database: Optional[str] = None
1996
+ tags: Optional[Union[List[str], str]] = None
1997
+ meta: Optional[Dict[str, Any]] = None
1998
+ group: Optional[str] = None
1999
+ materialized: Optional[str] = "view"
2000
+ incremental_strategy: Optional[str] = None
2001
+ batch_size: Optional[Any] = None
2002
+ lookback: Optional[Any] = 1
2003
+ begin: Optional[Any] = None
2004
+ persist_docs: Optional[Dict[str, Any]] = None
2005
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
2006
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
2007
+ quoting: Optional[Dict[str, Any]] = None
2008
+ column_types: Optional[Dict[str, Any]] = None
2009
+ full_refresh: Optional[bool] = None
2010
+ unique_key: Optional[Union[str, List[str]]] = None
2011
+ on_schema_change: Optional[str] = "ignore"
2012
+ on_configuration_change: Optional[OnConfigurationChange] = None
2013
+ grants: Optional[Dict[str, Any]] = None
2014
+ packages: Optional[List[str]] = None
2015
+ docs: Optional[Docs19] = Field(None, title="Docs")
2016
+ contract: Optional[Contract15] = Field(None, title="ContractConfig")
2017
+ event_time: Optional[Any] = None
2018
+ concurrent_batches: Optional[Any] = None
2019
+
2020
+
2021
+ class DeferRelation3(BaseParserModel):
2022
+ model_config = ConfigDict(
2023
+ extra="forbid",
2024
+ )
2025
+ database: Optional[str] = None
2026
+ schema_: str = Field(..., alias="schema")
2027
+ alias: str
2028
+ relation_name: Optional[str] = None
2029
+ resource_type: ResourceType
2030
+ name: str
2031
+ description: str
2032
+ compiled_code: Optional[str] = None
2033
+ meta: Dict[str, Any]
2034
+ tags: List[str]
2035
+ config: Optional[Config15] = None
2036
+
2037
+
2038
+ class Disabled(BaseParserModel):
2039
+ model_config = ConfigDict(
2040
+ extra="forbid",
2041
+ )
2042
+ database: Optional[str] = None
2043
+ schema_: str = Field(..., alias="schema")
2044
+ name: str
2045
+ resource_type: Literal["seed"]
2046
+ package_name: str
2047
+ path: str
2048
+ original_file_path: str
2049
+ unique_id: str
2050
+ fqn: List[str]
2051
+ alias: str
2052
+ checksum: Checksum = Field(..., title="FileHash")
2053
+ config: Optional[Config14] = Field(None, title="SeedConfig")
2054
+ tags: Optional[List[str]] = None
2055
+ description: Optional[str] = ""
2056
+ columns: Optional[Dict[str, Columns9]] = None
2057
+ meta: Optional[Dict[str, Any]] = None
2058
+ group: Optional[str] = None
2059
+ docs: Optional[Docs19] = Field(None, title="Docs")
2060
+ patch_path: Optional[str] = None
2061
+ build_path: Optional[str] = None
2062
+ unrendered_config: Optional[Dict[str, Any]] = None
2063
+ created_at: Optional[float] = None
2064
+ config_call_dict: Optional[Dict[str, Any]] = None
2065
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
2066
+ relation_name: Optional[str] = None
2067
+ raw_code: Optional[str] = ""
2068
+ root_path: Optional[str] = None
2069
+ depends_on: Optional[DependsOn12] = Field(None, title="MacroDependsOn")
2070
+ defer_relation: Optional[DeferRelation3] = None
2071
+
2072
+
2073
+ class Config16(BaseParserModel):
2074
+ model_config = ConfigDict(
2075
+ extra="allow",
2076
+ )
2077
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2078
+ enabled: Optional[bool] = True
2079
+ alias: Optional[str] = None
2080
+ schema_: Optional[str] = Field(None, alias="schema")
2081
+ database: Optional[str] = None
2082
+ tags: Optional[Union[List[str], str]] = None
2083
+ meta: Optional[Dict[str, Any]] = None
2084
+ group: Optional[str] = None
2085
+ materialized: Optional[str] = "view"
2086
+ incremental_strategy: Optional[str] = None
2087
+ batch_size: Optional[Any] = None
2088
+ lookback: Optional[Any] = 1
2089
+ begin: Optional[Any] = None
2090
+ persist_docs: Optional[Dict[str, Any]] = None
2091
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
2092
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
2093
+ quoting: Optional[Dict[str, Any]] = None
2094
+ column_types: Optional[Dict[str, Any]] = None
2095
+ full_refresh: Optional[bool] = None
2096
+ unique_key: Optional[Union[str, List[str]]] = None
2097
+ on_schema_change: Optional[str] = "ignore"
2098
+ on_configuration_change: Optional[OnConfigurationChange] = None
2099
+ grants: Optional[Dict[str, Any]] = None
2100
+ packages: Optional[List[str]] = None
2101
+ docs: Optional[Docs19] = Field(None, title="Docs")
2102
+ contract: Optional[Contract15] = Field(None, title="ContractConfig")
2103
+ event_time: Optional[Any] = None
2104
+ concurrent_batches: Optional[Any] = None
2105
+
2106
+
2107
+ class Constraint11(BaseParserModel):
2108
+ model_config = ConfigDict(
2109
+ extra="forbid",
2110
+ )
2111
+ type: Type12
2112
+ name: Optional[str] = None
2113
+ expression: Optional[str] = None
2114
+ warn_unenforced: Optional[bool] = True
2115
+ warn_unsupported: Optional[bool] = True
2116
+ to: Optional[str] = None
2117
+ to_columns: Optional[List[str]] = None
2118
+
2119
+
2120
+ class Columns10(BaseParserModel):
2121
+ model_config = ConfigDict(
2122
+ extra="allow",
2123
+ )
2124
+ name: str
2125
+ description: Optional[str] = ""
2126
+ meta: Optional[Dict[str, Any]] = None
2127
+ data_type: Optional[str] = None
2128
+ constraints: Optional[List[Constraint11]] = None
2129
+ quote: Optional[bool] = None
2130
+ tags: Optional[List[str]] = None
2131
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2132
+ granularity: Optional[Granularity] = None
2133
+
2134
+
2135
+ class DependsOn13(BaseParserModel):
2136
+ model_config = ConfigDict(
2137
+ extra="forbid",
2138
+ )
2139
+ macros: Optional[List[str]] = None
2140
+ nodes: Optional[List[str]] = None
2141
+
2142
+
2143
+ class Contract19(BaseParserModel):
2144
+ model_config = ConfigDict(
2145
+ extra="forbid",
2146
+ )
2147
+ enforced: Optional[bool] = False
2148
+ alias_types: Optional[bool] = True
2149
+ checksum: Optional[str] = None
2150
+
2151
+
2152
+ class Disabled1(BaseParserModel):
2153
+ model_config = ConfigDict(
2154
+ extra="forbid",
2155
+ )
2156
+ database: Optional[str] = None
2157
+ schema_: str = Field(..., alias="schema")
2158
+ name: str
2159
+ resource_type: Literal["analysis"]
2160
+ package_name: str
2161
+ path: str
2162
+ original_file_path: str
2163
+ unique_id: str
2164
+ fqn: List[str]
2165
+ alias: str
2166
+ checksum: Checksum = Field(..., title="FileHash")
2167
+ config: Optional[Config16] = Field(None, title="NodeConfig")
2168
+ tags: Optional[List[str]] = None
2169
+ description: Optional[str] = ""
2170
+ columns: Optional[Dict[str, Columns10]] = None
2171
+ meta: Optional[Dict[str, Any]] = None
2172
+ group: Optional[str] = None
2173
+ docs: Optional[Docs19] = Field(None, title="Docs")
2174
+ patch_path: Optional[str] = None
2175
+ build_path: Optional[str] = None
2176
+ unrendered_config: Optional[Dict[str, Any]] = None
2177
+ created_at: Optional[float] = None
2178
+ config_call_dict: Optional[Dict[str, Any]] = None
2179
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
2180
+ relation_name: Optional[str] = None
2181
+ raw_code: Optional[str] = ""
2182
+ language: Optional[str] = "sql"
2183
+ refs: Optional[List[Ref]] = None
2184
+ sources: Optional[List[List[str]]] = None
2185
+ metrics: Optional[List[List[str]]] = None
2186
+ depends_on: Optional[DependsOn13] = Field(None, title="DependsOn")
2187
+ compiled_path: Optional[str] = None
2188
+ compiled: Optional[bool] = False
2189
+ compiled_code: Optional[str] = None
2190
+ extra_ctes_injected: Optional[bool] = False
2191
+ extra_ctes: Optional[List[ExtraCte]] = None
2192
+ field_pre_injected_sql: Optional[str] = Field(None, alias="_pre_injected_sql")
2193
+ contract: Optional[Contract19] = Field(None, title="Contract")
2194
+
2195
+
2196
+ class Config17(BaseParserModel):
2197
+ model_config = ConfigDict(
2198
+ extra="allow",
2199
+ )
2200
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2201
+ enabled: Optional[bool] = True
2202
+ alias: Optional[str] = None
2203
+ schema_: Optional[str] = Field("dbt_test__audit", alias="schema")
2204
+ database: Optional[str] = None
2205
+ tags: Optional[Union[List[str], str]] = None
2206
+ meta: Optional[Dict[str, Any]] = None
2207
+ group: Optional[str] = None
2208
+ materialized: Optional[str] = "test"
2209
+ severity: Optional[constr(pattern=r"^([Ww][Aa][Rr][Nn]|[Ee][Rr][Rr][Oo][Rr])$")] = (
2210
+ "ERROR"
2211
+ )
2212
+ store_failures: Optional[bool] = None
2213
+ store_failures_as: Optional[str] = None
2214
+ where: Optional[str] = None
2215
+ limit: Optional[int] = None
2216
+ fail_calc: Optional[str] = "count(*)"
2217
+ warn_if: Optional[str] = "!= 0"
2218
+ error_if: Optional[str] = "!= 0"
2219
+
2220
+
2221
+ class Constraint12(BaseParserModel):
2222
+ model_config = ConfigDict(
2223
+ extra="forbid",
2224
+ )
2225
+ type: Type12
2226
+ name: Optional[str] = None
2227
+ expression: Optional[str] = None
2228
+ warn_unenforced: Optional[bool] = True
2229
+ warn_unsupported: Optional[bool] = True
2230
+ to: Optional[str] = None
2231
+ to_columns: Optional[List[str]] = None
2232
+
2233
+
2234
+ class Columns11(BaseParserModel):
2235
+ model_config = ConfigDict(
2236
+ extra="allow",
2237
+ )
2238
+ name: str
2239
+ description: Optional[str] = ""
2240
+ meta: Optional[Dict[str, Any]] = None
2241
+ data_type: Optional[str] = None
2242
+ constraints: Optional[List[Constraint12]] = None
2243
+ quote: Optional[bool] = None
2244
+ tags: Optional[List[str]] = None
2245
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2246
+ granularity: Optional[Granularity] = None
2247
+
2248
+
2249
+ class Disabled2(BaseParserModel):
2250
+ model_config = ConfigDict(
2251
+ extra="forbid",
2252
+ )
2253
+ database: Optional[str] = None
2254
+ schema_: str = Field(..., alias="schema")
2255
+ name: str
2256
+ resource_type: Literal["test"]
2257
+ package_name: str
2258
+ path: str
2259
+ original_file_path: str
2260
+ unique_id: str
2261
+ fqn: List[str]
2262
+ alias: str
2263
+ checksum: Checksum = Field(..., title="FileHash")
2264
+ config: Optional[Config17] = Field(None, title="TestConfig")
2265
+ tags: Optional[List[str]] = None
2266
+ description: Optional[str] = ""
2267
+ columns: Optional[Dict[str, Columns11]] = None
2268
+ meta: Optional[Dict[str, Any]] = None
2269
+ group: Optional[str] = None
2270
+ docs: Optional[Docs19] = Field(None, title="Docs")
2271
+ patch_path: Optional[str] = None
2272
+ build_path: Optional[str] = None
2273
+ unrendered_config: Optional[Dict[str, Any]] = None
2274
+ created_at: Optional[float] = None
2275
+ config_call_dict: Optional[Dict[str, Any]] = None
2276
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
2277
+ relation_name: Optional[str] = None
2278
+ raw_code: Optional[str] = ""
2279
+ language: Optional[str] = "sql"
2280
+ refs: Optional[List[Ref]] = None
2281
+ sources: Optional[List[List[str]]] = None
2282
+ metrics: Optional[List[List[str]]] = None
2283
+ depends_on: Optional[DependsOn13] = Field(None, title="DependsOn")
2284
+ compiled_path: Optional[str] = None
2285
+ compiled: Optional[bool] = False
2286
+ compiled_code: Optional[str] = None
2287
+ extra_ctes_injected: Optional[bool] = False
2288
+ extra_ctes: Optional[List[ExtraCte]] = None
2289
+ field_pre_injected_sql: Optional[str] = Field(None, alias="_pre_injected_sql")
2290
+ contract: Optional[Contract19] = Field(None, title="Contract")
2291
+
2292
+
2293
+ class Contract21(BaseParserModel):
2294
+ model_config = ConfigDict(
2295
+ extra="forbid",
2296
+ )
2297
+ enforced: Optional[bool] = False
2298
+ alias_types: Optional[bool] = True
2299
+
2300
+
2301
+ class Config18(BaseParserModel):
2302
+ model_config = ConfigDict(
2303
+ extra="allow",
2304
+ )
2305
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2306
+ enabled: Optional[bool] = True
2307
+ alias: Optional[str] = None
2308
+ schema_: Optional[str] = Field(None, alias="schema")
2309
+ database: Optional[str] = None
2310
+ tags: Optional[Union[List[str], str]] = None
2311
+ meta: Optional[Dict[str, Any]] = None
2312
+ group: Optional[str] = None
2313
+ materialized: Optional[str] = "view"
2314
+ incremental_strategy: Optional[str] = None
2315
+ batch_size: Optional[Any] = None
2316
+ lookback: Optional[Any] = 1
2317
+ begin: Optional[Any] = None
2318
+ persist_docs: Optional[Dict[str, Any]] = None
2319
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
2320
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
2321
+ quoting: Optional[Dict[str, Any]] = None
2322
+ column_types: Optional[Dict[str, Any]] = None
2323
+ full_refresh: Optional[bool] = None
2324
+ unique_key: Optional[Union[str, List[str]]] = None
2325
+ on_schema_change: Optional[str] = "ignore"
2326
+ on_configuration_change: Optional[OnConfigurationChange] = None
2327
+ grants: Optional[Dict[str, Any]] = None
2328
+ packages: Optional[List[str]] = None
2329
+ docs: Optional[Docs19] = Field(None, title="Docs")
2330
+ contract: Optional[Contract21] = Field(None, title="ContractConfig")
2331
+ event_time: Optional[Any] = None
2332
+ concurrent_batches: Optional[Any] = None
2333
+
2334
+
2335
+ class Constraint13(BaseParserModel):
2336
+ model_config = ConfigDict(
2337
+ extra="forbid",
2338
+ )
2339
+ type: Type12
2340
+ name: Optional[str] = None
2341
+ expression: Optional[str] = None
2342
+ warn_unenforced: Optional[bool] = True
2343
+ warn_unsupported: Optional[bool] = True
2344
+ to: Optional[str] = None
2345
+ to_columns: Optional[List[str]] = None
2346
+
2347
+
2348
+ class Columns12(BaseParserModel):
2349
+ model_config = ConfigDict(
2350
+ extra="allow",
2351
+ )
2352
+ name: str
2353
+ description: Optional[str] = ""
2354
+ meta: Optional[Dict[str, Any]] = None
2355
+ data_type: Optional[str] = None
2356
+ constraints: Optional[List[Constraint13]] = None
2357
+ quote: Optional[bool] = None
2358
+ tags: Optional[List[str]] = None
2359
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2360
+ granularity: Optional[Granularity] = None
2361
+
2362
+
2363
+ class Contract22(BaseParserModel):
2364
+ model_config = ConfigDict(
2365
+ extra="forbid",
2366
+ )
2367
+ enforced: Optional[bool] = False
2368
+ alias_types: Optional[bool] = True
2369
+ checksum: Optional[str] = None
2370
+
2371
+
2372
+ class Disabled3(BaseParserModel):
2373
+ model_config = ConfigDict(
2374
+ extra="forbid",
2375
+ )
2376
+ database: Optional[str] = None
2377
+ schema_: str = Field(..., alias="schema")
2378
+ name: str
2379
+ resource_type: Literal["operation"]
2380
+ package_name: str
2381
+ path: str
2382
+ original_file_path: str
2383
+ unique_id: str
2384
+ fqn: List[str]
2385
+ alias: str
2386
+ checksum: Checksum = Field(..., title="FileHash")
2387
+ config: Optional[Config18] = Field(None, title="NodeConfig")
2388
+ tags: Optional[List[str]] = None
2389
+ description: Optional[str] = ""
2390
+ columns: Optional[Dict[str, Columns12]] = None
2391
+ meta: Optional[Dict[str, Any]] = None
2392
+ group: Optional[str] = None
2393
+ docs: Optional[Docs19] = Field(None, title="Docs")
2394
+ patch_path: Optional[str] = None
2395
+ build_path: Optional[str] = None
2396
+ unrendered_config: Optional[Dict[str, Any]] = None
2397
+ created_at: Optional[float] = None
2398
+ config_call_dict: Optional[Dict[str, Any]] = None
2399
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
2400
+ relation_name: Optional[str] = None
2401
+ raw_code: Optional[str] = ""
2402
+ language: Optional[str] = "sql"
2403
+ refs: Optional[List[Ref]] = None
2404
+ sources: Optional[List[List[str]]] = None
2405
+ metrics: Optional[List[List[str]]] = None
2406
+ depends_on: Optional[DependsOn13] = Field(None, title="DependsOn")
2407
+ compiled_path: Optional[str] = None
2408
+ compiled: Optional[bool] = False
2409
+ compiled_code: Optional[str] = None
2410
+ extra_ctes_injected: Optional[bool] = False
2411
+ extra_ctes: Optional[List[ExtraCte]] = None
2412
+ field_pre_injected_sql: Optional[str] = Field(None, alias="_pre_injected_sql")
2413
+ contract: Optional[Contract22] = Field(None, title="Contract")
2414
+ index: Optional[int] = None
2415
+
2416
+
2417
+ class Contract23(BaseParserModel):
2418
+ model_config = ConfigDict(
2419
+ extra="forbid",
2420
+ )
2421
+ enforced: Optional[bool] = False
2422
+ alias_types: Optional[bool] = True
2423
+
2424
+
2425
+ class Config19(BaseParserModel):
2426
+ model_config = ConfigDict(
2427
+ extra="allow",
2428
+ )
2429
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2430
+ enabled: Optional[bool] = True
2431
+ alias: Optional[str] = None
2432
+ schema_: Optional[str] = Field(None, alias="schema")
2433
+ database: Optional[str] = None
2434
+ tags: Optional[Union[List[str], str]] = None
2435
+ meta: Optional[Dict[str, Any]] = None
2436
+ group: Optional[str] = None
2437
+ materialized: Optional[str] = "view"
2438
+ incremental_strategy: Optional[str] = None
2439
+ batch_size: Optional[Any] = None
2440
+ lookback: Optional[Any] = 1
2441
+ begin: Optional[Any] = None
2442
+ persist_docs: Optional[Dict[str, Any]] = None
2443
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
2444
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
2445
+ quoting: Optional[Dict[str, Any]] = None
2446
+ column_types: Optional[Dict[str, Any]] = None
2447
+ full_refresh: Optional[bool] = None
2448
+ unique_key: Optional[Union[str, List[str]]] = None
2449
+ on_schema_change: Optional[str] = "ignore"
2450
+ on_configuration_change: Optional[OnConfigurationChange] = None
2451
+ grants: Optional[Dict[str, Any]] = None
2452
+ packages: Optional[List[str]] = None
2453
+ docs: Optional[Docs19] = Field(None, title="Docs")
2454
+ contract: Optional[Contract23] = Field(None, title="ContractConfig")
2455
+ event_time: Optional[Any] = None
2456
+ concurrent_batches: Optional[Any] = None
2457
+ access: Optional[Access] = "protected"
2458
+
2459
+
2460
+ class Constraint14(BaseParserModel):
2461
+ model_config = ConfigDict(
2462
+ extra="forbid",
2463
+ )
2464
+ type: Type12
2465
+ name: Optional[str] = None
2466
+ expression: Optional[str] = None
2467
+ warn_unenforced: Optional[bool] = True
2468
+ warn_unsupported: Optional[bool] = True
2469
+ to: Optional[str] = None
2470
+ to_columns: Optional[List[str]] = None
2471
+
2472
+
2473
+ class Columns13(BaseParserModel):
2474
+ model_config = ConfigDict(
2475
+ extra="allow",
2476
+ )
2477
+ name: str
2478
+ description: Optional[str] = ""
2479
+ meta: Optional[Dict[str, Any]] = None
2480
+ data_type: Optional[str] = None
2481
+ constraints: Optional[List[Constraint14]] = None
2482
+ quote: Optional[bool] = None
2483
+ tags: Optional[List[str]] = None
2484
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2485
+ granularity: Optional[Granularity] = None
2486
+
2487
+
2488
+ class Contract24(BaseParserModel):
2489
+ model_config = ConfigDict(
2490
+ extra="forbid",
2491
+ )
2492
+ enforced: Optional[bool] = False
2493
+ alias_types: Optional[bool] = True
2494
+ checksum: Optional[str] = None
2495
+
2496
+
2497
+ class Constraint15(BaseParserModel):
2498
+ model_config = ConfigDict(
2499
+ extra="forbid",
2500
+ )
2501
+ type: Type12
2502
+ name: Optional[str] = None
2503
+ expression: Optional[str] = None
2504
+ warn_unenforced: Optional[bool] = True
2505
+ warn_unsupported: Optional[bool] = True
2506
+ to: Optional[str] = None
2507
+ to_columns: Optional[List[str]] = None
2508
+ columns: Optional[List[str]] = None
2509
+
2510
+
2511
+ class Contract25(BaseParserModel):
2512
+ model_config = ConfigDict(
2513
+ extra="forbid",
2514
+ )
2515
+ enforced: Optional[bool] = False
2516
+ alias_types: Optional[bool] = True
2517
+
2518
+
2519
+ class Config20(BaseParserModel):
2520
+ model_config = ConfigDict(
2521
+ extra="allow",
2522
+ )
2523
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2524
+ enabled: Optional[bool] = True
2525
+ alias: Optional[str] = None
2526
+ schema_: Optional[str] = Field(None, alias="schema")
2527
+ database: Optional[str] = None
2528
+ tags: Optional[Union[List[str], str]] = None
2529
+ meta: Optional[Dict[str, Any]] = None
2530
+ group: Optional[str] = None
2531
+ materialized: Optional[str] = "view"
2532
+ incremental_strategy: Optional[str] = None
2533
+ batch_size: Optional[Any] = None
2534
+ lookback: Optional[Any] = 1
2535
+ begin: Optional[Any] = None
2536
+ persist_docs: Optional[Dict[str, Any]] = None
2537
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
2538
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
2539
+ quoting: Optional[Dict[str, Any]] = None
2540
+ column_types: Optional[Dict[str, Any]] = None
2541
+ full_refresh: Optional[bool] = None
2542
+ unique_key: Optional[Union[str, List[str]]] = None
2543
+ on_schema_change: Optional[str] = "ignore"
2544
+ on_configuration_change: Optional[OnConfigurationChange] = None
2545
+ grants: Optional[Dict[str, Any]] = None
2546
+ packages: Optional[List[str]] = None
2547
+ docs: Optional[Docs19] = Field(None, title="Docs")
2548
+ contract: Optional[Contract25] = Field(None, title="ContractConfig")
2549
+ event_time: Optional[Any] = None
2550
+ concurrent_batches: Optional[Any] = None
2551
+
2552
+
2553
+ class DeferRelation4(BaseParserModel):
2554
+ model_config = ConfigDict(
2555
+ extra="forbid",
2556
+ )
2557
+ database: Optional[str] = None
2558
+ schema_: str = Field(..., alias="schema")
2559
+ alias: str
2560
+ relation_name: Optional[str] = None
2561
+ resource_type: ResourceType
2562
+ name: str
2563
+ description: str
2564
+ compiled_code: Optional[str] = None
2565
+ meta: Dict[str, Any]
2566
+ tags: List[str]
2567
+ config: Optional[Config20] = None
2568
+
2569
+
2570
+ class TimeSpine1(BaseParserModel):
2571
+ model_config = ConfigDict(
2572
+ extra="forbid",
2573
+ )
2574
+ standard_granularity_column: str
2575
+ custom_granularities: Optional[List[CustomGranularity]] = None
2576
+
2577
+
2578
+ class DependsOn17(Enum):
2579
+ all = "all"
2580
+ any = "any"
2581
+
2582
+
2583
+ class BuildAfter1(BaseParserModel):
2584
+ model_config = ConfigDict(
2585
+ extra="forbid",
2586
+ )
2587
+ count: Optional[int] = 0
2588
+ period: Optional[Period] = "hour"
2589
+ depends_on: Optional[DependsOn17] = "any"
2590
+
2591
+
2592
+ class Freshness2(BaseParserModel):
2593
+ model_config = ConfigDict(
2594
+ extra="forbid",
2595
+ )
2596
+ build_after: Optional[BuildAfter1] = Field(None, title="ModelBuildAfter")
2597
+
2598
+
2599
+ class Disabled4(BaseParserModel):
2600
+ model_config = ConfigDict(
2601
+ extra="forbid",
2602
+ )
2603
+ database: Optional[str] = None
2604
+ schema_: str = Field(..., alias="schema")
2605
+ name: str
2606
+ resource_type: Literal["model"]
2607
+ package_name: str
2608
+ path: str
2609
+ original_file_path: str
2610
+ unique_id: str
2611
+ fqn: List[str]
2612
+ alias: str
2613
+ checksum: Checksum = Field(..., title="FileHash")
2614
+ config: Optional[Config19] = Field(None, title="ModelConfig")
2615
+ tags: Optional[List[str]] = None
2616
+ description: Optional[str] = ""
2617
+ columns: Optional[Dict[str, Columns13]] = None
2618
+ meta: Optional[Dict[str, Any]] = None
2619
+ group: Optional[str] = None
2620
+ docs: Optional[Docs19] = Field(None, title="Docs")
2621
+ patch_path: Optional[str] = None
2622
+ build_path: Optional[str] = None
2623
+ unrendered_config: Optional[Dict[str, Any]] = None
2624
+ created_at: Optional[float] = None
2625
+ config_call_dict: Optional[Dict[str, Any]] = None
2626
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
2627
+ relation_name: Optional[str] = None
2628
+ raw_code: Optional[str] = ""
2629
+ language: Optional[str] = "sql"
2630
+ refs: Optional[List[Ref]] = None
2631
+ sources: Optional[List[List[str]]] = None
2632
+ metrics: Optional[List[List[str]]] = None
2633
+ depends_on: Optional[DependsOn13] = Field(None, title="DependsOn")
2634
+ compiled_path: Optional[str] = None
2635
+ compiled: Optional[bool] = False
2636
+ compiled_code: Optional[str] = None
2637
+ extra_ctes_injected: Optional[bool] = False
2638
+ extra_ctes: Optional[List[ExtraCte]] = None
2639
+ field_pre_injected_sql: Optional[str] = Field(None, alias="_pre_injected_sql")
2640
+ contract: Optional[Contract24] = Field(None, title="Contract")
2641
+ access: Optional[Access] = "protected"
2642
+ constraints: Optional[List[Constraint15]] = None
2643
+ version: Optional[Union[str, float]] = None
2644
+ latest_version: Optional[Union[str, float]] = None
2645
+ deprecation_date: Optional[str] = None
2646
+ defer_relation: Optional[DeferRelation4] = None
2647
+ primary_key: Optional[List[str]] = None
2648
+ time_spine: Optional[TimeSpine1] = None
2649
+ freshness: Optional[Freshness2] = None
2650
+
2651
+
2652
+ class Config21(BaseParserModel):
2653
+ model_config = ConfigDict(
2654
+ extra="allow",
2655
+ )
2656
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2657
+ enabled: Optional[bool] = True
2658
+ alias: Optional[str] = None
2659
+ schema_: Optional[str] = Field(None, alias="schema")
2660
+ database: Optional[str] = None
2661
+ tags: Optional[Union[List[str], str]] = None
2662
+ meta: Optional[Dict[str, Any]] = None
2663
+ group: Optional[str] = None
2664
+ materialized: Optional[str] = "view"
2665
+ incremental_strategy: Optional[str] = None
2666
+ batch_size: Optional[Any] = None
2667
+ lookback: Optional[Any] = 1
2668
+ begin: Optional[Any] = None
2669
+ persist_docs: Optional[Dict[str, Any]] = None
2670
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
2671
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
2672
+ quoting: Optional[Dict[str, Any]] = None
2673
+ column_types: Optional[Dict[str, Any]] = None
2674
+ full_refresh: Optional[bool] = None
2675
+ unique_key: Optional[Union[str, List[str]]] = None
2676
+ on_schema_change: Optional[str] = "ignore"
2677
+ on_configuration_change: Optional[OnConfigurationChange] = None
2678
+ grants: Optional[Dict[str, Any]] = None
2679
+ packages: Optional[List[str]] = None
2680
+ docs: Optional[Docs19] = Field(None, title="Docs")
2681
+ contract: Optional[Contract25] = Field(None, title="ContractConfig")
2682
+ event_time: Optional[Any] = None
2683
+ concurrent_batches: Optional[Any] = None
2684
+
2685
+
2686
+ class Constraint16(BaseParserModel):
2687
+ model_config = ConfigDict(
2688
+ extra="forbid",
2689
+ )
2690
+ type: Type12
2691
+ name: Optional[str] = None
2692
+ expression: Optional[str] = None
2693
+ warn_unenforced: Optional[bool] = True
2694
+ warn_unsupported: Optional[bool] = True
2695
+ to: Optional[str] = None
2696
+ to_columns: Optional[List[str]] = None
2697
+
2698
+
2699
+ class Columns14(BaseParserModel):
2700
+ model_config = ConfigDict(
2701
+ extra="allow",
2702
+ )
2703
+ name: str
2704
+ description: Optional[str] = ""
2705
+ meta: Optional[Dict[str, Any]] = None
2706
+ data_type: Optional[str] = None
2707
+ constraints: Optional[List[Constraint16]] = None
2708
+ quote: Optional[bool] = None
2709
+ tags: Optional[List[str]] = None
2710
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2711
+ granularity: Optional[Granularity] = None
2712
+
2713
+
2714
+ class DependsOn18(BaseParserModel):
2715
+ model_config = ConfigDict(
2716
+ extra="forbid",
2717
+ )
2718
+ macros: Optional[List[str]] = None
2719
+ nodes: Optional[List[str]] = None
2720
+
2721
+
2722
+ class Contract27(BaseParserModel):
2723
+ model_config = ConfigDict(
2724
+ extra="forbid",
2725
+ )
2726
+ enforced: Optional[bool] = False
2727
+ alias_types: Optional[bool] = True
2728
+ checksum: Optional[str] = None
2729
+
2730
+
2731
+ class Disabled5(BaseParserModel):
2732
+ model_config = ConfigDict(
2733
+ extra="forbid",
2734
+ )
2735
+ database: Optional[str] = None
2736
+ schema_: str = Field(..., alias="schema")
2737
+ name: str
2738
+ resource_type: Literal["sql_operation"]
2739
+ package_name: str
2740
+ path: str
2741
+ original_file_path: str
2742
+ unique_id: str
2743
+ fqn: List[str]
2744
+ alias: str
2745
+ checksum: Checksum = Field(..., title="FileHash")
2746
+ config: Optional[Config21] = Field(None, title="NodeConfig")
2747
+ tags: Optional[List[str]] = None
2748
+ description: Optional[str] = ""
2749
+ columns: Optional[Dict[str, Columns14]] = None
2750
+ meta: Optional[Dict[str, Any]] = None
2751
+ group: Optional[str] = None
2752
+ docs: Optional[Docs19] = Field(None, title="Docs")
2753
+ patch_path: Optional[str] = None
2754
+ build_path: Optional[str] = None
2755
+ unrendered_config: Optional[Dict[str, Any]] = None
2756
+ created_at: Optional[float] = None
2757
+ config_call_dict: Optional[Dict[str, Any]] = None
2758
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
2759
+ relation_name: Optional[str] = None
2760
+ raw_code: Optional[str] = ""
2761
+ language: Optional[str] = "sql"
2762
+ refs: Optional[List[Ref]] = None
2763
+ sources: Optional[List[List[str]]] = None
2764
+ metrics: Optional[List[List[str]]] = None
2765
+ depends_on: Optional[DependsOn18] = Field(None, title="DependsOn")
2766
+ compiled_path: Optional[str] = None
2767
+ compiled: Optional[bool] = False
2768
+ compiled_code: Optional[str] = None
2769
+ extra_ctes_injected: Optional[bool] = False
2770
+ extra_ctes: Optional[List[ExtraCte]] = None
2771
+ field_pre_injected_sql: Optional[str] = Field(None, alias="_pre_injected_sql")
2772
+ contract: Optional[Contract27] = Field(None, title="Contract")
2773
+
2774
+
2775
+ class Config22(BaseParserModel):
2776
+ model_config = ConfigDict(
2777
+ extra="allow",
2778
+ )
2779
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2780
+ enabled: Optional[bool] = True
2781
+ alias: Optional[str] = None
2782
+ schema_: Optional[str] = Field("dbt_test__audit", alias="schema")
2783
+ database: Optional[str] = None
2784
+ tags: Optional[Union[List[str], str]] = None
2785
+ meta: Optional[Dict[str, Any]] = None
2786
+ group: Optional[str] = None
2787
+ materialized: Optional[str] = "test"
2788
+ severity: Optional[constr(pattern=r"^([Ww][Aa][Rr][Nn]|[Ee][Rr][Rr][Oo][Rr])$")] = (
2789
+ "ERROR"
2790
+ )
2791
+ store_failures: Optional[bool] = None
2792
+ store_failures_as: Optional[str] = None
2793
+ where: Optional[str] = None
2794
+ limit: Optional[int] = None
2795
+ fail_calc: Optional[str] = "count(*)"
2796
+ warn_if: Optional[str] = "!= 0"
2797
+ error_if: Optional[str] = "!= 0"
2798
+
2799
+
2800
+ class Constraint17(BaseParserModel):
2801
+ model_config = ConfigDict(
2802
+ extra="forbid",
2803
+ )
2804
+ type: Type12
2805
+ name: Optional[str] = None
2806
+ expression: Optional[str] = None
2807
+ warn_unenforced: Optional[bool] = True
2808
+ warn_unsupported: Optional[bool] = True
2809
+ to: Optional[str] = None
2810
+ to_columns: Optional[List[str]] = None
2811
+
2812
+
2813
+ class Columns15(BaseParserModel):
2814
+ model_config = ConfigDict(
2815
+ extra="allow",
2816
+ )
2817
+ name: str
2818
+ description: Optional[str] = ""
2819
+ meta: Optional[Dict[str, Any]] = None
2820
+ data_type: Optional[str] = None
2821
+ constraints: Optional[List[Constraint17]] = None
2822
+ quote: Optional[bool] = None
2823
+ tags: Optional[List[str]] = None
2824
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2825
+ granularity: Optional[Granularity] = None
2826
+
2827
+
2828
+ class Disabled6(BaseParserModel):
2829
+ model_config = ConfigDict(
2830
+ extra="forbid",
2831
+ )
2832
+ database: Optional[str] = None
2833
+ schema_: str = Field(..., alias="schema")
2834
+ name: str
2835
+ resource_type: Literal["test"]
2836
+ package_name: str
2837
+ path: str
2838
+ original_file_path: str
2839
+ unique_id: str
2840
+ fqn: List[str]
2841
+ alias: str
2842
+ checksum: Checksum = Field(..., title="FileHash")
2843
+ config: Optional[Config22] = Field(None, title="TestConfig")
2844
+ tags: Optional[List[str]] = None
2845
+ description: Optional[str] = ""
2846
+ columns: Optional[Dict[str, Columns15]] = None
2847
+ meta: Optional[Dict[str, Any]] = None
2848
+ group: Optional[str] = None
2849
+ docs: Optional[Docs19] = Field(None, title="Docs")
2850
+ patch_path: Optional[str] = None
2851
+ build_path: Optional[str] = None
2852
+ unrendered_config: Optional[Dict[str, Any]] = None
2853
+ created_at: Optional[float] = None
2854
+ config_call_dict: Optional[Dict[str, Any]] = None
2855
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
2856
+ relation_name: Optional[str] = None
2857
+ raw_code: Optional[str] = ""
2858
+ language: Optional[str] = "sql"
2859
+ refs: Optional[List[Ref]] = None
2860
+ sources: Optional[List[List[str]]] = None
2861
+ metrics: Optional[List[List[str]]] = None
2862
+ depends_on: Optional[DependsOn18] = Field(None, title="DependsOn")
2863
+ compiled_path: Optional[str] = None
2864
+ compiled: Optional[bool] = False
2865
+ compiled_code: Optional[str] = None
2866
+ extra_ctes_injected: Optional[bool] = False
2867
+ extra_ctes: Optional[List[ExtraCte]] = None
2868
+ field_pre_injected_sql: Optional[str] = Field(None, alias="_pre_injected_sql")
2869
+ contract: Optional[Contract27] = Field(None, title="Contract")
2870
+ column_name: Optional[str] = None
2871
+ file_key_name: Optional[str] = None
2872
+ attached_node: Optional[str] = None
2873
+ test_metadata: Optional[TestMetadata] = Field(None, title="TestMetadata")
2874
+
2875
+
2876
+ class Contract29(BaseParserModel):
2877
+ model_config = ConfigDict(
2878
+ extra="forbid",
2879
+ )
2880
+ enforced: Optional[bool] = False
2881
+ alias_types: Optional[bool] = True
2882
+
2883
+
2884
+ class Config23(BaseParserModel):
2885
+ model_config = ConfigDict(
2886
+ extra="allow",
2887
+ )
2888
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2889
+ enabled: Optional[bool] = True
2890
+ alias: Optional[str] = None
2891
+ schema_: Optional[str] = Field(None, alias="schema")
2892
+ database: Optional[str] = None
2893
+ tags: Optional[Union[List[str], str]] = None
2894
+ meta: Optional[Dict[str, Any]] = None
2895
+ group: Optional[str] = None
2896
+ materialized: Optional[str] = "snapshot"
2897
+ incremental_strategy: Optional[str] = None
2898
+ batch_size: Optional[Any] = None
2899
+ lookback: Optional[Any] = 1
2900
+ begin: Optional[Any] = None
2901
+ persist_docs: Optional[Dict[str, Any]] = None
2902
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
2903
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
2904
+ quoting: Optional[Dict[str, Any]] = None
2905
+ column_types: Optional[Dict[str, Any]] = None
2906
+ full_refresh: Optional[bool] = None
2907
+ unique_key: Optional[Union[str, List[str]]] = None
2908
+ on_schema_change: Optional[str] = "ignore"
2909
+ on_configuration_change: Optional[OnConfigurationChange] = None
2910
+ grants: Optional[Dict[str, Any]] = None
2911
+ packages: Optional[List[str]] = None
2912
+ docs: Optional[Docs19] = Field(None, title="Docs")
2913
+ contract: Optional[Contract29] = Field(None, title="ContractConfig")
2914
+ event_time: Optional[Any] = None
2915
+ concurrent_batches: Optional[Any] = None
2916
+ strategy: Optional[str] = None
2917
+ target_schema: Optional[str] = None
2918
+ target_database: Optional[str] = None
2919
+ updated_at: Optional[str] = None
2920
+ check_cols: Optional[Union[str, List[str]]] = None
2921
+ snapshot_meta_column_names: Optional[SnapshotMetaColumnNames] = Field(
2922
+ None, title="SnapshotMetaColumnNames"
2923
+ )
2924
+ dbt_valid_to_current: Optional[str] = None
2925
+
2926
+
2927
+ class Constraint18(BaseParserModel):
2928
+ model_config = ConfigDict(
2929
+ extra="forbid",
2930
+ )
2931
+ type: Type12
2932
+ name: Optional[str] = None
2933
+ expression: Optional[str] = None
2934
+ warn_unenforced: Optional[bool] = True
2935
+ warn_unsupported: Optional[bool] = True
2936
+ to: Optional[str] = None
2937
+ to_columns: Optional[List[str]] = None
2938
+
2939
+
2940
+ class Columns16(BaseParserModel):
2941
+ model_config = ConfigDict(
2942
+ extra="allow",
2943
+ )
2944
+ name: str
2945
+ description: Optional[str] = ""
2946
+ meta: Optional[Dict[str, Any]] = None
2947
+ data_type: Optional[str] = None
2948
+ constraints: Optional[List[Constraint18]] = None
2949
+ quote: Optional[bool] = None
2950
+ tags: Optional[List[str]] = None
2951
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2952
+ granularity: Optional[Granularity] = None
2953
+
2954
+
2955
+ class Contract30(BaseParserModel):
2956
+ model_config = ConfigDict(
2957
+ extra="forbid",
2958
+ )
2959
+ enforced: Optional[bool] = False
2960
+ alias_types: Optional[bool] = True
2961
+ checksum: Optional[str] = None
2962
+
2963
+
2964
+ class Contract31(BaseParserModel):
2965
+ model_config = ConfigDict(
2966
+ extra="forbid",
2967
+ )
2968
+ enforced: Optional[bool] = False
2969
+ alias_types: Optional[bool] = True
2970
+
2971
+
2972
+ class Config24(BaseParserModel):
2973
+ model_config = ConfigDict(
2974
+ extra="allow",
2975
+ )
2976
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
2977
+ enabled: Optional[bool] = True
2978
+ alias: Optional[str] = None
2979
+ schema_: Optional[str] = Field(None, alias="schema")
2980
+ database: Optional[str] = None
2981
+ tags: Optional[Union[List[str], str]] = None
2982
+ meta: Optional[Dict[str, Any]] = None
2983
+ group: Optional[str] = None
2984
+ materialized: Optional[str] = "view"
2985
+ incremental_strategy: Optional[str] = None
2986
+ batch_size: Optional[Any] = None
2987
+ lookback: Optional[Any] = 1
2988
+ begin: Optional[Any] = None
2989
+ persist_docs: Optional[Dict[str, Any]] = None
2990
+ post_hook: Optional[List[PostHookItem]] = Field(None, alias="post-hook")
2991
+ pre_hook: Optional[List[PreHookItem]] = Field(None, alias="pre-hook")
2992
+ quoting: Optional[Dict[str, Any]] = None
2993
+ column_types: Optional[Dict[str, Any]] = None
2994
+ full_refresh: Optional[bool] = None
2995
+ unique_key: Optional[Union[str, List[str]]] = None
2996
+ on_schema_change: Optional[str] = "ignore"
2997
+ on_configuration_change: Optional[OnConfigurationChange] = None
2998
+ grants: Optional[Dict[str, Any]] = None
2999
+ packages: Optional[List[str]] = None
3000
+ docs: Optional[Docs19] = Field(None, title="Docs")
3001
+ contract: Optional[Contract31] = Field(None, title="ContractConfig")
3002
+ event_time: Optional[Any] = None
3003
+ concurrent_batches: Optional[Any] = None
3004
+
3005
+
3006
+ class DeferRelation5(BaseParserModel):
3007
+ model_config = ConfigDict(
3008
+ extra="forbid",
3009
+ )
3010
+ database: Optional[str] = None
3011
+ schema_: str = Field(..., alias="schema")
3012
+ alias: str
3013
+ relation_name: Optional[str] = None
3014
+ resource_type: ResourceType
3015
+ name: str
3016
+ description: str
3017
+ compiled_code: Optional[str] = None
3018
+ meta: Dict[str, Any]
3019
+ tags: List[str]
3020
+ config: Optional[Config24] = None
3021
+
3022
+
3023
+ class Disabled7(BaseParserModel):
3024
+ model_config = ConfigDict(
3025
+ extra="forbid",
3026
+ )
3027
+ database: Optional[str] = None
3028
+ schema_: str = Field(..., alias="schema")
3029
+ name: str
3030
+ resource_type: Literal["snapshot"]
3031
+ package_name: str
3032
+ path: str
3033
+ original_file_path: str
3034
+ unique_id: str
3035
+ fqn: List[str]
3036
+ alias: str
3037
+ checksum: Checksum = Field(..., title="FileHash")
3038
+ config: Config23 = Field(..., title="SnapshotConfig")
3039
+ tags: Optional[List[str]] = None
3040
+ description: Optional[str] = ""
3041
+ columns: Optional[Dict[str, Columns16]] = None
3042
+ meta: Optional[Dict[str, Any]] = None
3043
+ group: Optional[str] = None
3044
+ docs: Optional[Docs19] = Field(None, title="Docs")
3045
+ patch_path: Optional[str] = None
3046
+ build_path: Optional[str] = None
3047
+ unrendered_config: Optional[Dict[str, Any]] = None
3048
+ created_at: Optional[float] = None
3049
+ config_call_dict: Optional[Dict[str, Any]] = None
3050
+ unrendered_config_call_dict: Optional[Dict[str, Any]] = None
3051
+ relation_name: Optional[str] = None
3052
+ raw_code: Optional[str] = ""
3053
+ language: Optional[str] = "sql"
3054
+ refs: Optional[List[Ref]] = None
3055
+ sources: Optional[List[List[str]]] = None
3056
+ metrics: Optional[List[List[str]]] = None
3057
+ depends_on: Optional[DependsOn18] = Field(None, title="DependsOn")
3058
+ compiled_path: Optional[str] = None
3059
+ compiled: Optional[bool] = False
3060
+ compiled_code: Optional[str] = None
3061
+ extra_ctes_injected: Optional[bool] = False
3062
+ extra_ctes: Optional[List[ExtraCte]] = None
3063
+ field_pre_injected_sql: Optional[str] = Field(None, alias="_pre_injected_sql")
3064
+ contract: Optional[Contract30] = Field(None, title="Contract")
3065
+ defer_relation: Optional[DeferRelation5] = None
3066
+
3067
+
3068
+ class WarnAfter1(BaseParserModel):
3069
+ model_config = ConfigDict(
3070
+ extra="forbid",
3071
+ )
3072
+ count: Optional[int] = None
3073
+ period: Optional[Period] = None
3074
+
3075
+
3076
+ class ErrorAfter1(BaseParserModel):
3077
+ model_config = ConfigDict(
3078
+ extra="forbid",
3079
+ )
3080
+ count: Optional[int] = None
3081
+ period: Optional[Period] = None
3082
+
3083
+
3084
+ class Freshness3(BaseParserModel):
3085
+ model_config = ConfigDict(
3086
+ extra="forbid",
3087
+ )
3088
+ warn_after: Optional[WarnAfter1] = None
3089
+ error_after: Optional[ErrorAfter1] = None
3090
+ filter: Optional[str] = None
3091
+
3092
+
3093
+ class External1(BaseParserModel):
3094
+ model_config = ConfigDict(
3095
+ extra="allow",
3096
+ )
3097
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
3098
+ location: Optional[str] = None
3099
+ file_format: Optional[str] = None
3100
+ row_format: Optional[str] = None
3101
+ tbl_properties: Optional[str] = None
3102
+ partitions: Optional[Union[List[str], List[Partition]]] = None
3103
+
3104
+
3105
+ class Constraint19(BaseParserModel):
3106
+ model_config = ConfigDict(
3107
+ extra="forbid",
3108
+ )
3109
+ type: Type12
3110
+ name: Optional[str] = None
3111
+ expression: Optional[str] = None
3112
+ warn_unenforced: Optional[bool] = True
3113
+ warn_unsupported: Optional[bool] = True
3114
+ to: Optional[str] = None
3115
+ to_columns: Optional[List[str]] = None
3116
+
3117
+
3118
+ class Columns17(BaseParserModel):
3119
+ model_config = ConfigDict(
3120
+ extra="allow",
3121
+ )
3122
+ name: str
3123
+ description: Optional[str] = ""
3124
+ meta: Optional[Dict[str, Any]] = None
3125
+ data_type: Optional[str] = None
3126
+ constraints: Optional[List[Constraint19]] = None
3127
+ quote: Optional[bool] = None
3128
+ tags: Optional[List[str]] = None
3129
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
3130
+ granularity: Optional[Granularity] = None
3131
+
3132
+
3133
+ class Config25(BaseParserModel):
3134
+ model_config = ConfigDict(
3135
+ extra="allow",
3136
+ )
3137
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
3138
+ enabled: Optional[bool] = True
3139
+ event_time: Optional[Any] = None
3140
+
3141
+
3142
+ class Disabled8(BaseParserModel):
3143
+ model_config = ConfigDict(
3144
+ extra="forbid",
3145
+ )
3146
+ database: Optional[str] = None
3147
+ schema_: str = Field(..., alias="schema")
3148
+ name: str
3149
+ resource_type: Literal["source"]
3150
+ package_name: str
3151
+ path: str
3152
+ original_file_path: str
3153
+ unique_id: str
3154
+ fqn: List[str]
3155
+ source_name: str
3156
+ source_description: str
3157
+ loader: str
3158
+ identifier: str
3159
+ quoting: Optional[Quoting] = Field(None, title="Quoting")
3160
+ loaded_at_field: Optional[str] = None
3161
+ loaded_at_query: Optional[str] = None
3162
+ freshness: Optional[Freshness3] = None
3163
+ external: Optional[External1] = None
3164
+ description: Optional[str] = ""
3165
+ columns: Optional[Dict[str, Columns17]] = None
3166
+ meta: Optional[Dict[str, Any]] = None
3167
+ source_meta: Optional[Dict[str, Any]] = None
3168
+ tags: Optional[List[str]] = None
3169
+ config: Optional[Config25] = Field(None, title="SourceConfig")
3170
+ patch_path: Optional[str] = None
3171
+ unrendered_config: Optional[Dict[str, Any]] = None
3172
+ relation_name: Optional[str] = None
3173
+ created_at: Optional[float] = None
3174
+ unrendered_database: Optional[str] = None
3175
+ unrendered_schema: Optional[str] = None
3176
+
3177
+
3178
+ class Type22(Enum):
3179
+ dashboard = "dashboard"
3180
+ notebook = "notebook"
3181
+ analysis = "analysis"
3182
+ ml = "ml"
3183
+ application = "application"
3184
+
3185
+
3186
+ class Config26(BaseParserModel):
3187
+ model_config = ConfigDict(
3188
+ extra="allow",
3189
+ )
3190
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
3191
+ enabled: Optional[bool] = True
3192
+
3193
+
3194
+ class Disabled9(BaseParserModel):
3195
+ model_config = ConfigDict(
3196
+ extra="forbid",
3197
+ )
3198
+ name: str
3199
+ resource_type: Literal["exposure"]
3200
+ package_name: str
3201
+ path: str
3202
+ original_file_path: str
3203
+ unique_id: str
3204
+ fqn: List[str]
3205
+ type: Type22
3206
+ owner: Owner = Field(..., title="Owner")
3207
+ description: Optional[str] = ""
3208
+ label: Optional[str] = None
3209
+ maturity: Optional[Maturity] = None
3210
+ meta: Optional[Dict[str, Any]] = None
3211
+ tags: Optional[List[str]] = None
3212
+ config: Optional[Config26] = Field(None, title="ExposureConfig")
3213
+ unrendered_config: Optional[Dict[str, Any]] = None
3214
+ url: Optional[str] = None
3215
+ depends_on: Optional[DependsOn18] = Field(None, title="DependsOn")
3216
+ refs: Optional[List[Ref]] = None
3217
+ sources: Optional[List[List[str]]] = None
3218
+ metrics: Optional[List[List[str]]] = None
3219
+ created_at: Optional[float] = None
3220
+
3221
+
3222
+ class Type23(Enum):
3223
+ simple = "simple"
3224
+ ratio = "ratio"
3225
+ cumulative = "cumulative"
3226
+ derived = "derived"
3227
+ conversion = "conversion"
3228
+
3229
+
3230
+ class Filter8(BaseParserModel):
3231
+ model_config = ConfigDict(
3232
+ extra="forbid",
3233
+ )
3234
+ where_filters: List[WhereFilter]
3235
+
3236
+
3237
+ class Measure1(BaseParserModel):
3238
+ model_config = ConfigDict(
3239
+ extra="forbid",
3240
+ )
3241
+ name: str
3242
+ filter: Optional[Filter8] = None
3243
+ alias: Optional[str] = None
3244
+ join_to_timespine: Optional[bool] = False
3245
+ fill_nulls_with: Optional[int] = None
3246
+
3247
+
3248
+ class Filter9(BaseParserModel):
3249
+ model_config = ConfigDict(
3250
+ extra="forbid",
3251
+ )
3252
+ where_filters: List[WhereFilter]
3253
+
3254
+
3255
+ class InputMeasure1(BaseParserModel):
3256
+ model_config = ConfigDict(
3257
+ extra="forbid",
3258
+ )
3259
+ name: str
3260
+ filter: Optional[Filter9] = None
3261
+ alias: Optional[str] = None
3262
+ join_to_timespine: Optional[bool] = False
3263
+ fill_nulls_with: Optional[int] = None
3264
+
3265
+
3266
+ class Filter10(BaseParserModel):
3267
+ model_config = ConfigDict(
3268
+ extra="forbid",
3269
+ )
3270
+ where_filters: List[WhereFilter]
3271
+
3272
+
3273
+ class Numerator1(BaseParserModel):
3274
+ model_config = ConfigDict(
3275
+ extra="forbid",
3276
+ )
3277
+ name: str
3278
+ filter: Optional[Filter10] = None
3279
+ alias: Optional[str] = None
3280
+ offset_window: Optional[OffsetWindow] = None
3281
+ offset_to_grain: Optional[str] = None
3282
+
3283
+
3284
+ class Filter11(BaseParserModel):
3285
+ model_config = ConfigDict(
3286
+ extra="forbid",
3287
+ )
3288
+ where_filters: List[WhereFilter]
3289
+
3290
+
3291
+ class Denominator1(BaseParserModel):
3292
+ model_config = ConfigDict(
3293
+ extra="forbid",
3294
+ )
3295
+ name: str
3296
+ filter: Optional[Filter11] = None
3297
+ alias: Optional[str] = None
3298
+ offset_window: Optional[OffsetWindow] = None
3299
+ offset_to_grain: Optional[str] = None
3300
+
3301
+
3302
+ class Filter12(BaseParserModel):
3303
+ model_config = ConfigDict(
3304
+ extra="forbid",
3305
+ )
3306
+ where_filters: List[WhereFilter]
3307
+
3308
+
3309
+ class Metric1(BaseParserModel):
3310
+ model_config = ConfigDict(
3311
+ extra="forbid",
3312
+ )
3313
+ name: str
3314
+ filter: Optional[Filter12] = None
3315
+ alias: Optional[str] = None
3316
+ offset_window: Optional[OffsetWindow] = None
3317
+ offset_to_grain: Optional[str] = None
3318
+
3319
+
3320
+ class Filter13(BaseParserModel):
3321
+ model_config = ConfigDict(
3322
+ extra="forbid",
3323
+ )
3324
+ where_filters: List[WhereFilter]
3325
+
3326
+
3327
+ class BaseMeasure1(BaseParserModel):
3328
+ model_config = ConfigDict(
3329
+ extra="forbid",
3330
+ )
3331
+ name: str
3332
+ filter: Optional[Filter13] = None
3333
+ alias: Optional[str] = None
3334
+ join_to_timespine: Optional[bool] = False
3335
+ fill_nulls_with: Optional[int] = None
3336
+
3337
+
3338
+ class Filter14(BaseParserModel):
3339
+ model_config = ConfigDict(
3340
+ extra="forbid",
3341
+ )
3342
+ where_filters: List[WhereFilter]
3343
+
3344
+
3345
+ class ConversionMeasure1(BaseParserModel):
3346
+ model_config = ConfigDict(
3347
+ extra="forbid",
3348
+ )
3349
+ name: str
3350
+ filter: Optional[Filter14] = None
3351
+ alias: Optional[str] = None
3352
+ join_to_timespine: Optional[bool] = False
3353
+ fill_nulls_with: Optional[int] = None
3354
+
3355
+
3356
+ class ConversionTypeParams1(BaseParserModel):
3357
+ model_config = ConfigDict(
3358
+ extra="forbid",
3359
+ )
3360
+ base_measure: BaseMeasure1 = Field(..., title="MetricInputMeasure")
3361
+ conversion_measure: ConversionMeasure1 = Field(..., title="MetricInputMeasure")
3362
+ entity: str
3363
+ calculation: Optional[Calculation] = "conversion_rate"
3364
+ window: Optional[Window] = None
3365
+ constant_properties: Optional[List[ConstantProperty]] = None
3366
+
3367
+
3368
+ class CumulativeTypeParams1(BaseParserModel):
3369
+ model_config = ConfigDict(
3370
+ extra="forbid",
3371
+ )
3372
+ window: Optional[Window] = None
3373
+ grain_to_date: Optional[str] = None
3374
+ period_agg: Optional[PeriodAgg] = "first"
3375
+
3376
+
3377
+ class TypeParams1(BaseParserModel):
3378
+ model_config = ConfigDict(
3379
+ extra="forbid",
3380
+ )
3381
+ measure: Optional[Measure1] = None
3382
+ input_measures: Optional[List[InputMeasure1]] = None
3383
+ numerator: Optional[Numerator1] = None
3384
+ denominator: Optional[Denominator1] = None
3385
+ expr: Optional[str] = None
3386
+ window: Optional[Window] = None
3387
+ grain_to_date: Optional[GrainToDate] = None
3388
+ metrics: Optional[List[Metric1]] = None
3389
+ conversion_type_params: Optional[ConversionTypeParams1] = None
3390
+ cumulative_type_params: Optional[CumulativeTypeParams1] = None
3391
+
3392
+
3393
+ class Filter15(BaseParserModel):
3394
+ model_config = ConfigDict(
3395
+ extra="forbid",
3396
+ )
3397
+ where_filters: List[WhereFilter]
3398
+
3399
+
3400
+ class Metadata2(BaseParserModel):
3401
+ model_config = ConfigDict(
3402
+ extra="forbid",
3403
+ )
3404
+ repo_file_path: str
3405
+ file_slice: FileSlice = Field(..., title="FileSlice")
3406
+
3407
+
3408
+ class Config27(BaseParserModel):
3409
+ model_config = ConfigDict(
3410
+ extra="allow",
3411
+ )
3412
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
3413
+ enabled: Optional[bool] = True
3414
+ group: Optional[str] = None
3415
+ meta: Optional[Dict[str, Any]] = None
3416
+
3417
+
3418
+ class Disabled10(BaseParserModel):
3419
+ model_config = ConfigDict(
3420
+ extra="forbid",
3421
+ )
3422
+ name: str
3423
+ resource_type: Literal["metric"]
3424
+ package_name: str
3425
+ path: str
3426
+ original_file_path: str
3427
+ unique_id: str
3428
+ fqn: List[str]
3429
+ description: str
3430
+ label: str
3431
+ type: Type23
3432
+ type_params: TypeParams1 = Field(..., title="MetricTypeParams")
3433
+ filter: Optional[Filter15] = None
3434
+ metadata: Optional[Metadata2] = None
3435
+ time_granularity: Optional[str] = None
3436
+ meta: Optional[Dict[str, Any]] = None
3437
+ tags: Optional[List[str]] = None
3438
+ config: Optional[Config27] = Field(None, title="MetricConfig")
3439
+ unrendered_config: Optional[Dict[str, Any]] = None
3440
+ sources: Optional[List[List[str]]] = None
3441
+ depends_on: Optional[DependsOn18] = Field(None, title="DependsOn")
3442
+ refs: Optional[List[Ref]] = None
3443
+ metrics: Optional[List[List[str]]] = None
3444
+ created_at: Optional[float] = None
3445
+ group: Optional[str] = None
3446
+
3447
+
3448
+ class Where(BaseParserModel):
3449
+ model_config = ConfigDict(
3450
+ extra="forbid",
3451
+ )
3452
+ where_filters: List[WhereFilter]
3453
+
3454
+
3455
+ class QueryParams(BaseParserModel):
3456
+ model_config = ConfigDict(
3457
+ extra="forbid",
3458
+ )
3459
+ metrics: List[str]
3460
+ group_by: List[str]
3461
+ where: Optional[Where] = None
3462
+ order_by: Optional[List[str]] = None
3463
+ limit: Optional[int] = None
3464
+
3465
+
3466
+ class ExportAs(Enum):
3467
+ table = "table"
3468
+ view = "view"
3469
+
3470
+
3471
+ class Config28(BaseParserModel):
3472
+ model_config = ConfigDict(
3473
+ extra="forbid",
3474
+ )
3475
+ export_as: ExportAs
3476
+ schema_name: Optional[str] = None
3477
+ alias: Optional[str] = None
3478
+ database: Optional[str] = None
3479
+
3480
+
3481
+ class Export(BaseParserModel):
3482
+ model_config = ConfigDict(
3483
+ extra="forbid",
3484
+ )
3485
+ name: str
3486
+ config: Config28 = Field(..., title="ExportConfig")
3487
+ unrendered_config: Optional[Dict[str, str]] = None
3488
+
3489
+
3490
+ class Metadata3(BaseParserModel):
3491
+ model_config = ConfigDict(
3492
+ extra="forbid",
3493
+ )
3494
+ repo_file_path: str
3495
+ file_slice: FileSlice = Field(..., title="FileSlice")
3496
+
3497
+
3498
+ class Cache(BaseParserModel):
3499
+ model_config = ConfigDict(
3500
+ extra="forbid",
3501
+ )
3502
+ enabled: Optional[bool] = False
3503
+
3504
+
3505
+ class Config29(BaseParserModel):
3506
+ model_config = ConfigDict(
3507
+ extra="allow",
3508
+ )
3509
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
3510
+ enabled: Optional[bool] = True
3511
+ group: Optional[str] = None
3512
+ meta: Optional[Dict[str, Any]] = None
3513
+ export_as: Optional[ExportAs] = None
3514
+ schema_: Optional[str] = Field(None, alias="schema")
3515
+ cache: Optional[Cache] = Field(None, title="SavedQueryCache")
3516
+
3517
+
3518
+ class Disabled11(BaseParserModel):
3519
+ model_config = ConfigDict(
3520
+ extra="forbid",
3521
+ )
3522
+ name: str
3523
+ resource_type: Literal["saved_query"]
3524
+ package_name: str
3525
+ path: str
3526
+ original_file_path: str
3527
+ unique_id: str
3528
+ fqn: List[str]
3529
+ query_params: QueryParams = Field(..., title="QueryParams")
3530
+ exports: List[Export]
3531
+ description: Optional[str] = None
3532
+ label: Optional[str] = None
3533
+ metadata: Optional[Metadata3] = None
3534
+ config: Optional[Config29] = Field(None, title="SavedQueryConfig")
3535
+ unrendered_config: Optional[Dict[str, Any]] = None
3536
+ group: Optional[str] = None
3537
+ depends_on: Optional[DependsOn18] = Field(None, title="DependsOn")
3538
+ created_at: Optional[float] = None
3539
+ refs: Optional[List[Ref]] = None
3540
+ tags: Optional[Union[List[str], str]] = None
3541
+
3542
+
3543
+ class NodeRelation(BaseParserModel):
3544
+ model_config = ConfigDict(
3545
+ extra="forbid",
3546
+ )
3547
+ alias: str
3548
+ schema_name: str
3549
+ database: Optional[str] = None
3550
+ relation_name: Optional[str] = ""
3551
+
3552
+
3553
+ class Defaults(BaseParserModel):
3554
+ model_config = ConfigDict(
3555
+ extra="forbid",
3556
+ )
3557
+ agg_time_dimension: Optional[str] = None
3558
+
3559
+
3560
+ class Type24(Enum):
3561
+ foreign = "foreign"
3562
+ natural = "natural"
3563
+ primary = "primary"
3564
+ unique = "unique"
3565
+
3566
+
3567
+ class Config30(BaseParserModel):
3568
+ model_config = ConfigDict(
3569
+ extra="forbid",
3570
+ )
3571
+ meta: Optional[Dict[str, Any]] = None
3572
+
3573
+
3574
+ class Entity(BaseParserModel):
3575
+ model_config = ConfigDict(
3576
+ extra="forbid",
3577
+ )
3578
+ name: str
3579
+ type: Type24
3580
+ description: Optional[str] = None
3581
+ label: Optional[str] = None
3582
+ role: Optional[str] = None
3583
+ expr: Optional[str] = None
3584
+ config: Optional[Config30] = None
3585
+
3586
+
3587
+ class Agg(Enum):
3588
+ sum = "sum"
3589
+ min = "min"
3590
+ max = "max"
3591
+ count_distinct = "count_distinct"
3592
+ sum_boolean = "sum_boolean"
3593
+ average = "average"
3594
+ percentile = "percentile"
3595
+ median = "median"
3596
+ count = "count"
3597
+
3598
+
3599
+ class AggParams(BaseParserModel):
3600
+ model_config = ConfigDict(
3601
+ extra="forbid",
3602
+ )
3603
+ percentile: Optional[float] = None
3604
+ use_discrete_percentile: Optional[bool] = False
3605
+ use_approximate_percentile: Optional[bool] = False
3606
+
3607
+
3608
+ class WindowChoice(Enum):
3609
+ sum = "sum"
3610
+ min = "min"
3611
+ max = "max"
3612
+ count_distinct = "count_distinct"
3613
+ sum_boolean = "sum_boolean"
3614
+ average = "average"
3615
+ percentile = "percentile"
3616
+ median = "median"
3617
+ count = "count"
3618
+
3619
+
3620
+ class NonAdditiveDimension(BaseParserModel):
3621
+ model_config = ConfigDict(
3622
+ extra="forbid",
3623
+ )
3624
+ name: str
3625
+ window_choice: WindowChoice
3626
+ window_groupings: List[str]
3627
+
3628
+
3629
+ class Measure2(BaseParserModel):
3630
+ model_config = ConfigDict(
3631
+ extra="forbid",
3632
+ )
3633
+ name: str
3634
+ agg: Agg
3635
+ description: Optional[str] = None
3636
+ label: Optional[str] = None
3637
+ create_metric: Optional[bool] = False
3638
+ expr: Optional[str] = None
3639
+ agg_params: Optional[AggParams] = None
3640
+ non_additive_dimension: Optional[NonAdditiveDimension] = None
3641
+ agg_time_dimension: Optional[str] = None
3642
+ config: Optional[Config30] = None
3643
+
3644
+
3645
+ class Type25(Enum):
3646
+ categorical = "categorical"
3647
+ time = "time"
3648
+
3649
+
3650
+ class TimeGranularity(Enum):
3651
+ nanosecond = "nanosecond"
3652
+ microsecond = "microsecond"
3653
+ millisecond = "millisecond"
3654
+ second = "second"
3655
+ minute = "minute"
3656
+ hour = "hour"
3657
+ day = "day"
3658
+ week = "week"
3659
+ month = "month"
3660
+ quarter = "quarter"
3661
+ year = "year"
3662
+
3663
+
3664
+ class ValidityParams(BaseParserModel):
3665
+ model_config = ConfigDict(
3666
+ extra="forbid",
3667
+ )
3668
+ is_start: Optional[bool] = False
3669
+ is_end: Optional[bool] = False
3670
+
3671
+
3672
+ class TypeParams2(BaseParserModel):
3673
+ model_config = ConfigDict(
3674
+ extra="forbid",
3675
+ )
3676
+ time_granularity: TimeGranularity
3677
+ validity_params: Optional[ValidityParams] = None
3678
+
3679
+
3680
+ class Metadata4(BaseParserModel):
3681
+ model_config = ConfigDict(
3682
+ extra="forbid",
3683
+ )
3684
+ repo_file_path: str
3685
+ file_slice: FileSlice = Field(..., title="FileSlice")
3686
+
3687
+
3688
+ class Dimension(BaseParserModel):
3689
+ model_config = ConfigDict(
3690
+ extra="forbid",
3691
+ )
3692
+ name: str
3693
+ type: Type25
3694
+ description: Optional[str] = None
3695
+ label: Optional[str] = None
3696
+ is_partition: Optional[bool] = False
3697
+ type_params: Optional[TypeParams2] = None
3698
+ expr: Optional[str] = None
3699
+ metadata: Optional[Metadata4] = None
3700
+ config: Optional[Config30] = None
3701
+
3702
+
3703
+ class Metadata5(BaseParserModel):
3704
+ model_config = ConfigDict(
3705
+ extra="forbid",
3706
+ )
3707
+ repo_file_path: str
3708
+ file_slice: FileSlice = Field(..., title="FileSlice")
3709
+
3710
+
3711
+ class Config33(BaseParserModel):
3712
+ model_config = ConfigDict(
3713
+ extra="allow",
3714
+ )
3715
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
3716
+ enabled: Optional[bool] = True
3717
+ group: Optional[str] = None
3718
+ meta: Optional[Dict[str, Any]] = None
3719
+
3720
+
3721
+ class Disabled12(BaseParserModel):
3722
+ model_config = ConfigDict(
3723
+ extra="forbid",
3724
+ )
3725
+ name: str
3726
+ resource_type: ResourceType
3727
+ package_name: str
3728
+ path: str
3729
+ original_file_path: str
3730
+ unique_id: str
3731
+ fqn: List[str]
3732
+ model: str
3733
+ node_relation: Optional[NodeRelation] = None
3734
+ description: Optional[str] = None
3735
+ label: Optional[str] = None
3736
+ defaults: Optional[Defaults] = None
3737
+ entities: Optional[List[Entity]] = None
3738
+ measures: Optional[List[Measure2]] = None
3739
+ dimensions: Optional[List[Dimension]] = None
3740
+ metadata: Optional[Metadata5] = None
3741
+ depends_on: Optional[DependsOn18] = Field(None, title="DependsOn")
3742
+ refs: Optional[List[Ref]] = None
3743
+ created_at: Optional[float] = None
3744
+ config: Optional[Config33] = Field(None, title="SemanticModelConfig")
3745
+ unrendered_config: Optional[Dict[str, Any]] = None
3746
+ primary_entity: Optional[str] = None
3747
+ group: Optional[str] = None
3748
+
3749
+
3750
+ class Format(Enum):
3751
+ csv = "csv"
3752
+ dict = "dict"
3753
+ sql = "sql"
3754
+
3755
+
3756
+ class GivenItem(BaseParserModel):
3757
+ model_config = ConfigDict(
3758
+ extra="forbid",
3759
+ )
3760
+ input: str
3761
+ rows: Optional[Union[str, List[Dict[str, Any]]]] = None
3762
+ format: Optional[Format] = "dict"
3763
+ fixture: Optional[str] = None
3764
+
3765
+
3766
+ class Expect(BaseParserModel):
3767
+ model_config = ConfigDict(
3768
+ extra="forbid",
3769
+ )
3770
+ rows: Optional[Union[str, List[Dict[str, Any]]]] = None
3771
+ format: Optional[Format] = "dict"
3772
+ fixture: Optional[str] = None
3773
+
3774
+
3775
+ class Overrides(BaseParserModel):
3776
+ model_config = ConfigDict(
3777
+ extra="forbid",
3778
+ )
3779
+ macros: Optional[Dict[str, Any]] = None
3780
+ vars: Optional[Dict[str, Any]] = None
3781
+ env_vars: Optional[Dict[str, Any]] = None
3782
+
3783
+
3784
+ class Config34(BaseParserModel):
3785
+ model_config = ConfigDict(
3786
+ extra="allow",
3787
+ )
3788
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
3789
+ tags: Optional[Union[str, List[str]]] = None
3790
+ meta: Optional[Dict[str, Any]] = None
3791
+ enabled: Optional[bool] = True
3792
+
3793
+
3794
+ class Versions(BaseParserModel):
3795
+ model_config = ConfigDict(
3796
+ extra="forbid",
3797
+ )
3798
+ include: Optional[List[Union[str, float]]] = None
3799
+ exclude: Optional[List[Union[str, float]]] = None
3800
+
3801
+
3802
+ class Disabled13(BaseParserModel):
3803
+ model_config = ConfigDict(
3804
+ extra="forbid",
3805
+ )
3806
+ model: str
3807
+ given: List[GivenItem]
3808
+ expect: Expect = Field(..., title="UnitTestOutputFixture")
3809
+ name: str
3810
+ resource_type: ResourceType
3811
+ package_name: str
3812
+ path: str
3813
+ original_file_path: str
3814
+ unique_id: str
3815
+ fqn: List[str]
3816
+ description: Optional[str] = ""
3817
+ overrides: Optional[Overrides] = None
3818
+ depends_on: Optional[DependsOn18] = Field(None, title="DependsOn")
3819
+ config: Optional[Config34] = Field(None, title="UnitTestConfig")
3820
+ checksum: Optional[str] = None
3821
+ schema_: Optional[str] = Field(None, alias="schema")
3822
+ created_at: Optional[float] = None
3823
+ versions: Optional[Versions] = None
3824
+ version: Optional[Union[str, float]] = None
3825
+
3826
+
3827
+ class Where1(BaseParserModel):
3828
+ model_config = ConfigDict(
3829
+ extra="forbid",
3830
+ )
3831
+ where_filters: List[WhereFilter]
3832
+
3833
+
3834
+ class QueryParams1(BaseParserModel):
3835
+ model_config = ConfigDict(
3836
+ extra="forbid",
3837
+ )
3838
+ metrics: List[str]
3839
+ group_by: List[str]
3840
+ where: Optional[Where1] = None
3841
+ order_by: Optional[List[str]] = None
3842
+ limit: Optional[int] = None
3843
+
3844
+
3845
+ class Config35(BaseParserModel):
3846
+ model_config = ConfigDict(
3847
+ extra="forbid",
3848
+ )
3849
+ export_as: ExportAs
3850
+ schema_name: Optional[str] = None
3851
+ alias: Optional[str] = None
3852
+ database: Optional[str] = None
3853
+
3854
+
3855
+ class Export1(BaseParserModel):
3856
+ model_config = ConfigDict(
3857
+ extra="forbid",
3858
+ )
3859
+ name: str
3860
+ config: Config35 = Field(..., title="ExportConfig")
3861
+ unrendered_config: Optional[Dict[str, str]] = None
3862
+
3863
+
3864
+ class Metadata6(BaseParserModel):
3865
+ model_config = ConfigDict(
3866
+ extra="forbid",
3867
+ )
3868
+ repo_file_path: str
3869
+ file_slice: FileSlice = Field(..., title="FileSlice")
3870
+
3871
+
3872
+ class Config36(BaseParserModel):
3873
+ model_config = ConfigDict(
3874
+ extra="allow",
3875
+ )
3876
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
3877
+ enabled: Optional[bool] = True
3878
+ group: Optional[str] = None
3879
+ meta: Optional[Dict[str, Any]] = None
3880
+ export_as: Optional[ExportAs] = None
3881
+ schema_: Optional[str] = Field(None, alias="schema")
3882
+ cache: Optional[Cache] = Field(None, title="SavedQueryCache")
3883
+
3884
+
3885
+ class SavedQueries(BaseParserModel):
3886
+ model_config = ConfigDict(
3887
+ extra="forbid",
3888
+ )
3889
+ name: str
3890
+ resource_type: Literal["saved_query"]
3891
+ package_name: str
3892
+ path: str
3893
+ original_file_path: str
3894
+ unique_id: str
3895
+ fqn: List[str]
3896
+ query_params: QueryParams1 = Field(..., title="QueryParams")
3897
+ exports: List[Export1]
3898
+ description: Optional[str] = None
3899
+ label: Optional[str] = None
3900
+ metadata: Optional[Metadata6] = None
3901
+ config: Optional[Config36] = Field(None, title="SavedQueryConfig")
3902
+ unrendered_config: Optional[Dict[str, Any]] = None
3903
+ group: Optional[str] = None
3904
+ depends_on: Optional[DependsOn18] = Field(None, title="DependsOn")
3905
+ created_at: Optional[float] = None
3906
+ refs: Optional[List[Ref]] = None
3907
+ tags: Optional[Union[List[str], str]] = None
3908
+
3909
+
3910
+ class Type26(Enum):
3911
+ foreign = "foreign"
3912
+ natural = "natural"
3913
+ primary = "primary"
3914
+ unique = "unique"
3915
+
3916
+
3917
+ class Config37(BaseParserModel):
3918
+ model_config = ConfigDict(
3919
+ extra="forbid",
3920
+ )
3921
+ meta: Optional[Dict[str, Any]] = None
3922
+
3923
+
3924
+ class Entity1(BaseParserModel):
3925
+ model_config = ConfigDict(
3926
+ extra="forbid",
3927
+ )
3928
+ name: str
3929
+ type: Type26
3930
+ description: Optional[str] = None
3931
+ label: Optional[str] = None
3932
+ role: Optional[str] = None
3933
+ expr: Optional[str] = None
3934
+ config: Optional[Config37] = None
3935
+
3936
+
3937
+ class NonAdditiveDimension1(BaseParserModel):
3938
+ model_config = ConfigDict(
3939
+ extra="forbid",
3940
+ )
3941
+ name: str
3942
+ window_choice: WindowChoice
3943
+ window_groupings: List[str]
3944
+
3945
+
3946
+ class Measure3(BaseParserModel):
3947
+ model_config = ConfigDict(
3948
+ extra="forbid",
3949
+ )
3950
+ name: str
3951
+ agg: Agg
3952
+ description: Optional[str] = None
3953
+ label: Optional[str] = None
3954
+ create_metric: Optional[bool] = False
3955
+ expr: Optional[str] = None
3956
+ agg_params: Optional[AggParams] = None
3957
+ non_additive_dimension: Optional[NonAdditiveDimension1] = None
3958
+ agg_time_dimension: Optional[str] = None
3959
+ config: Optional[Config37] = None
3960
+
3961
+
3962
+ class Type27(Enum):
3963
+ categorical = "categorical"
3964
+ time = "time"
3965
+
3966
+
3967
+ class TypeParams3(BaseParserModel):
3968
+ model_config = ConfigDict(
3969
+ extra="forbid",
3970
+ )
3971
+ time_granularity: TimeGranularity
3972
+ validity_params: Optional[ValidityParams] = None
3973
+
3974
+
3975
+ class Metadata7(BaseParserModel):
3976
+ model_config = ConfigDict(
3977
+ extra="forbid",
3978
+ )
3979
+ repo_file_path: str
3980
+ file_slice: FileSlice = Field(..., title="FileSlice")
3981
+
3982
+
3983
+ class Dimension1(BaseParserModel):
3984
+ model_config = ConfigDict(
3985
+ extra="forbid",
3986
+ )
3987
+ name: str
3988
+ type: Type27
3989
+ description: Optional[str] = None
3990
+ label: Optional[str] = None
3991
+ is_partition: Optional[bool] = False
3992
+ type_params: Optional[TypeParams3] = None
3993
+ expr: Optional[str] = None
3994
+ metadata: Optional[Metadata7] = None
3995
+ config: Optional[Config37] = None
3996
+
3997
+
3998
+ class Metadata8(BaseParserModel):
3999
+ model_config = ConfigDict(
4000
+ extra="forbid",
4001
+ )
4002
+ repo_file_path: str
4003
+ file_slice: FileSlice = Field(..., title="FileSlice")
4004
+
4005
+
4006
+ class Config40(BaseParserModel):
4007
+ model_config = ConfigDict(
4008
+ extra="allow",
4009
+ )
4010
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
4011
+ enabled: Optional[bool] = True
4012
+ group: Optional[str] = None
4013
+ meta: Optional[Dict[str, Any]] = None
4014
+
4015
+
4016
+ class SemanticModels(BaseParserModel):
4017
+ model_config = ConfigDict(
4018
+ extra="forbid",
4019
+ )
4020
+ name: str
4021
+ resource_type: ResourceType
4022
+ package_name: str
4023
+ path: str
4024
+ original_file_path: str
4025
+ unique_id: str
4026
+ fqn: List[str]
4027
+ model: str
4028
+ node_relation: Optional[NodeRelation] = None
4029
+ description: Optional[str] = None
4030
+ label: Optional[str] = None
4031
+ defaults: Optional[Defaults] = None
4032
+ entities: Optional[List[Entity1]] = None
4033
+ measures: Optional[List[Measure3]] = None
4034
+ dimensions: Optional[List[Dimension1]] = None
4035
+ metadata: Optional[Metadata8] = None
4036
+ depends_on: Optional[DependsOn18] = Field(None, title="DependsOn")
4037
+ refs: Optional[List[Ref]] = None
4038
+ created_at: Optional[float] = None
4039
+ config: Optional[Config40] = Field(None, title="SemanticModelConfig")
4040
+ unrendered_config: Optional[Dict[str, Any]] = None
4041
+ primary_entity: Optional[str] = None
4042
+ group: Optional[str] = None
4043
+
4044
+
4045
+ class GivenItem1(BaseParserModel):
4046
+ model_config = ConfigDict(
4047
+ extra="forbid",
4048
+ )
4049
+ input: str
4050
+ rows: Optional[Union[str, List[Dict[str, Any]]]] = None
4051
+ format: Optional[Format] = "dict"
4052
+ fixture: Optional[str] = None
4053
+
4054
+
4055
+ class Expect1(BaseParserModel):
4056
+ model_config = ConfigDict(
4057
+ extra="forbid",
4058
+ )
4059
+ rows: Optional[Union[str, List[Dict[str, Any]]]] = None
4060
+ format: Optional[Format] = "dict"
4061
+ fixture: Optional[str] = None
4062
+
4063
+
4064
+ class Config41(BaseParserModel):
4065
+ model_config = ConfigDict(
4066
+ extra="allow",
4067
+ )
4068
+ field_extra: Optional[Dict[str, Any]] = Field(None, alias="_extra")
4069
+ tags: Optional[Union[str, List[str]]] = None
4070
+ meta: Optional[Dict[str, Any]] = None
4071
+ enabled: Optional[bool] = True
4072
+
4073
+
4074
+ class UnitTests(BaseParserModel):
4075
+ model_config = ConfigDict(
4076
+ extra="forbid",
4077
+ )
4078
+ model: str
4079
+ given: List[GivenItem1]
4080
+ expect: Expect1 = Field(..., title="UnitTestOutputFixture")
4081
+ name: str
4082
+ resource_type: ResourceType
4083
+ package_name: str
4084
+ path: str
4085
+ original_file_path: str
4086
+ unique_id: str
4087
+ fqn: List[str]
4088
+ description: Optional[str] = ""
4089
+ overrides: Optional[Overrides] = None
4090
+ depends_on: Optional[DependsOn18] = Field(None, title="DependsOn")
4091
+ config: Optional[Config41] = Field(None, title="UnitTestConfig")
4092
+ checksum: Optional[str] = None
4093
+ schema_: Optional[str] = Field(None, alias="schema")
4094
+ created_at: Optional[float] = None
4095
+ versions: Optional[Versions] = None
4096
+ version: Optional[Union[str, float]] = None
4097
+
4098
+
4099
+ class ManifestCLOUD(BaseParserModel):
4100
+ model_config = ConfigDict(
4101
+ extra="forbid",
4102
+ )
4103
+ metadata: Metadata = Field(
4104
+ ..., description="Metadata about the manifest", title="ManifestMetadata"
4105
+ )
4106
+ nodes: Dict[
4107
+ str, Union[Nodes, Nodes1, Nodes2, Nodes3, Nodes4, Nodes5, Nodes6, Nodes7]
4108
+ ] = Field(
4109
+ ..., description="The nodes defined in the dbt project and its dependencies"
4110
+ )
4111
+ sources: Dict[str, Sources] = Field(
4112
+ ..., description="The sources defined in the dbt project and its dependencies"
4113
+ )
4114
+ macros: Dict[str, Macros] = Field(
4115
+ ..., description="The macros defined in the dbt project and its dependencies"
4116
+ )
4117
+ docs: Dict[str, Docs18] = Field(
4118
+ ..., description="The docs defined in the dbt project and its dependencies"
4119
+ )
4120
+ exposures: Dict[str, Exposures] = Field(
4121
+ ..., description="The exposures defined in the dbt project and its dependencies"
4122
+ )
4123
+ metrics: Dict[str, Metrics] = Field(
4124
+ ..., description="The metrics defined in the dbt project and its dependencies"
4125
+ )
4126
+ groups: Dict[str, Groups] = Field(
4127
+ ..., description="The groups defined in the dbt project"
4128
+ )
4129
+ selectors: Dict[str, Any] = Field(
4130
+ ..., description="The selectors defined in selectors.yml"
4131
+ )
4132
+ disabled: Optional[
4133
+ Dict[
4134
+ str,
4135
+ List[
4136
+ Union[
4137
+ Disabled,
4138
+ Disabled1,
4139
+ Disabled2,
4140
+ Disabled3,
4141
+ Disabled4,
4142
+ Disabled5,
4143
+ Disabled6,
4144
+ Disabled7,
4145
+ Disabled8,
4146
+ Disabled9,
4147
+ Disabled10,
4148
+ Disabled11,
4149
+ Disabled12,
4150
+ Disabled13,
4151
+ ]
4152
+ ],
4153
+ ]
4154
+ ] = Field(..., description="A mapping of the disabled nodes in the target")
4155
+ parent_map: Optional[Dict[str, List[str]]] = Field(
4156
+ ..., description="A mapping from\xa0child nodes to their dependencies"
4157
+ )
4158
+ child_map: Optional[Dict[str, List[str]]] = Field(
4159
+ ..., description="A mapping from parent nodes to their dependents"
4160
+ )
4161
+ group_map: Optional[Dict[str, List[str]]] = Field(
4162
+ ..., description="A mapping from group names to their nodes"
4163
+ )
4164
+ saved_queries: Dict[str, SavedQueries] = Field(
4165
+ ..., description="The saved queries defined in the dbt project"
4166
+ )
4167
+ semantic_models: Dict[str, SemanticModels] = Field(
4168
+ ..., description="The semantic models defined in the dbt project"
4169
+ )
4170
+ unit_tests: Dict[str, UnitTests] = Field(
4171
+ ..., description="The unit tests defined in the project"
4172
+ )