dvt-core 1.11.0b4__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.

Potentially problematic release.


This version of dvt-core might be problematic. Click here for more details.

Files changed (261) hide show
  1. dvt/__init__.py +7 -0
  2. dvt/_pydantic_shim.py +26 -0
  3. dvt/adapters/__init__.py +16 -0
  4. dvt/adapters/multi_adapter_manager.py +268 -0
  5. dvt/artifacts/__init__.py +0 -0
  6. dvt/artifacts/exceptions/__init__.py +1 -0
  7. dvt/artifacts/exceptions/schemas.py +31 -0
  8. dvt/artifacts/resources/__init__.py +116 -0
  9. dvt/artifacts/resources/base.py +68 -0
  10. dvt/artifacts/resources/types.py +93 -0
  11. dvt/artifacts/resources/v1/analysis.py +10 -0
  12. dvt/artifacts/resources/v1/catalog.py +23 -0
  13. dvt/artifacts/resources/v1/components.py +275 -0
  14. dvt/artifacts/resources/v1/config.py +282 -0
  15. dvt/artifacts/resources/v1/documentation.py +11 -0
  16. dvt/artifacts/resources/v1/exposure.py +52 -0
  17. dvt/artifacts/resources/v1/function.py +53 -0
  18. dvt/artifacts/resources/v1/generic_test.py +32 -0
  19. dvt/artifacts/resources/v1/group.py +22 -0
  20. dvt/artifacts/resources/v1/hook.py +11 -0
  21. dvt/artifacts/resources/v1/macro.py +30 -0
  22. dvt/artifacts/resources/v1/metric.py +173 -0
  23. dvt/artifacts/resources/v1/model.py +146 -0
  24. dvt/artifacts/resources/v1/owner.py +10 -0
  25. dvt/artifacts/resources/v1/saved_query.py +112 -0
  26. dvt/artifacts/resources/v1/seed.py +42 -0
  27. dvt/artifacts/resources/v1/semantic_layer_components.py +72 -0
  28. dvt/artifacts/resources/v1/semantic_model.py +315 -0
  29. dvt/artifacts/resources/v1/singular_test.py +14 -0
  30. dvt/artifacts/resources/v1/snapshot.py +92 -0
  31. dvt/artifacts/resources/v1/source_definition.py +85 -0
  32. dvt/artifacts/resources/v1/sql_operation.py +10 -0
  33. dvt/artifacts/resources/v1/unit_test_definition.py +78 -0
  34. dvt/artifacts/schemas/__init__.py +0 -0
  35. dvt/artifacts/schemas/base.py +191 -0
  36. dvt/artifacts/schemas/batch_results.py +24 -0
  37. dvt/artifacts/schemas/catalog/__init__.py +12 -0
  38. dvt/artifacts/schemas/catalog/v1/__init__.py +0 -0
  39. dvt/artifacts/schemas/catalog/v1/catalog.py +60 -0
  40. dvt/artifacts/schemas/freshness/__init__.py +1 -0
  41. dvt/artifacts/schemas/freshness/v3/__init__.py +0 -0
  42. dvt/artifacts/schemas/freshness/v3/freshness.py +159 -0
  43. dvt/artifacts/schemas/manifest/__init__.py +2 -0
  44. dvt/artifacts/schemas/manifest/v12/__init__.py +0 -0
  45. dvt/artifacts/schemas/manifest/v12/manifest.py +212 -0
  46. dvt/artifacts/schemas/results.py +148 -0
  47. dvt/artifacts/schemas/run/__init__.py +2 -0
  48. dvt/artifacts/schemas/run/v5/__init__.py +0 -0
  49. dvt/artifacts/schemas/run/v5/run.py +184 -0
  50. dvt/artifacts/schemas/upgrades/__init__.py +4 -0
  51. dvt/artifacts/schemas/upgrades/upgrade_manifest.py +174 -0
  52. dvt/artifacts/schemas/upgrades/upgrade_manifest_dbt_version.py +2 -0
  53. dvt/artifacts/utils/validation.py +153 -0
  54. dvt/cli/__init__.py +1 -0
  55. dvt/cli/context.py +16 -0
  56. dvt/cli/exceptions.py +56 -0
  57. dvt/cli/flags.py +558 -0
  58. dvt/cli/main.py +971 -0
  59. dvt/cli/option_types.py +121 -0
  60. dvt/cli/options.py +79 -0
  61. dvt/cli/params.py +803 -0
  62. dvt/cli/requires.py +478 -0
  63. dvt/cli/resolvers.py +32 -0
  64. dvt/cli/types.py +40 -0
  65. dvt/clients/__init__.py +0 -0
  66. dvt/clients/checked_load.py +82 -0
  67. dvt/clients/git.py +164 -0
  68. dvt/clients/jinja.py +206 -0
  69. dvt/clients/jinja_static.py +245 -0
  70. dvt/clients/registry.py +192 -0
  71. dvt/clients/yaml_helper.py +68 -0
  72. dvt/compilation.py +833 -0
  73. dvt/compute/__init__.py +26 -0
  74. dvt/compute/base.py +288 -0
  75. dvt/compute/engines/__init__.py +13 -0
  76. dvt/compute/engines/duckdb_engine.py +368 -0
  77. dvt/compute/engines/spark_engine.py +273 -0
  78. dvt/compute/query_analyzer.py +212 -0
  79. dvt/compute/router.py +483 -0
  80. dvt/config/__init__.py +4 -0
  81. dvt/config/catalogs.py +95 -0
  82. dvt/config/compute_config.py +406 -0
  83. dvt/config/profile.py +411 -0
  84. dvt/config/profiles_v2.py +464 -0
  85. dvt/config/project.py +893 -0
  86. dvt/config/renderer.py +232 -0
  87. dvt/config/runtime.py +491 -0
  88. dvt/config/selectors.py +209 -0
  89. dvt/config/utils.py +78 -0
  90. dvt/connectors/.gitignore +6 -0
  91. dvt/connectors/README.md +306 -0
  92. dvt/connectors/catalog.yml +217 -0
  93. dvt/connectors/download_connectors.py +300 -0
  94. dvt/constants.py +29 -0
  95. dvt/context/__init__.py +0 -0
  96. dvt/context/base.py +746 -0
  97. dvt/context/configured.py +136 -0
  98. dvt/context/context_config.py +350 -0
  99. dvt/context/docs.py +82 -0
  100. dvt/context/exceptions_jinja.py +179 -0
  101. dvt/context/macro_resolver.py +195 -0
  102. dvt/context/macros.py +171 -0
  103. dvt/context/manifest.py +73 -0
  104. dvt/context/providers.py +2198 -0
  105. dvt/context/query_header.py +14 -0
  106. dvt/context/secret.py +59 -0
  107. dvt/context/target.py +74 -0
  108. dvt/contracts/__init__.py +0 -0
  109. dvt/contracts/files.py +413 -0
  110. dvt/contracts/graph/__init__.py +0 -0
  111. dvt/contracts/graph/manifest.py +1904 -0
  112. dvt/contracts/graph/metrics.py +98 -0
  113. dvt/contracts/graph/model_config.py +71 -0
  114. dvt/contracts/graph/node_args.py +42 -0
  115. dvt/contracts/graph/nodes.py +1806 -0
  116. dvt/contracts/graph/semantic_manifest.py +233 -0
  117. dvt/contracts/graph/unparsed.py +812 -0
  118. dvt/contracts/project.py +417 -0
  119. dvt/contracts/results.py +53 -0
  120. dvt/contracts/selection.py +23 -0
  121. dvt/contracts/sql.py +86 -0
  122. dvt/contracts/state.py +69 -0
  123. dvt/contracts/util.py +46 -0
  124. dvt/deprecations.py +347 -0
  125. dvt/deps/__init__.py +0 -0
  126. dvt/deps/base.py +153 -0
  127. dvt/deps/git.py +196 -0
  128. dvt/deps/local.py +80 -0
  129. dvt/deps/registry.py +131 -0
  130. dvt/deps/resolver.py +149 -0
  131. dvt/deps/tarball.py +121 -0
  132. dvt/docs/source/_ext/dbt_click.py +118 -0
  133. dvt/docs/source/conf.py +32 -0
  134. dvt/env_vars.py +64 -0
  135. dvt/event_time/event_time.py +40 -0
  136. dvt/event_time/sample_window.py +60 -0
  137. dvt/events/__init__.py +16 -0
  138. dvt/events/base_types.py +37 -0
  139. dvt/events/core_types_pb2.py +2 -0
  140. dvt/events/logging.py +109 -0
  141. dvt/events/types.py +2534 -0
  142. dvt/exceptions.py +1487 -0
  143. dvt/flags.py +89 -0
  144. dvt/graph/__init__.py +11 -0
  145. dvt/graph/cli.py +248 -0
  146. dvt/graph/graph.py +172 -0
  147. dvt/graph/queue.py +213 -0
  148. dvt/graph/selector.py +375 -0
  149. dvt/graph/selector_methods.py +976 -0
  150. dvt/graph/selector_spec.py +223 -0
  151. dvt/graph/thread_pool.py +18 -0
  152. dvt/hooks.py +21 -0
  153. dvt/include/README.md +49 -0
  154. dvt/include/__init__.py +3 -0
  155. dvt/include/global_project.py +4 -0
  156. dvt/include/starter_project/.gitignore +4 -0
  157. dvt/include/starter_project/README.md +15 -0
  158. dvt/include/starter_project/__init__.py +3 -0
  159. dvt/include/starter_project/analyses/.gitkeep +0 -0
  160. dvt/include/starter_project/dvt_project.yml +36 -0
  161. dvt/include/starter_project/macros/.gitkeep +0 -0
  162. dvt/include/starter_project/models/example/my_first_dbt_model.sql +27 -0
  163. dvt/include/starter_project/models/example/my_second_dbt_model.sql +6 -0
  164. dvt/include/starter_project/models/example/schema.yml +21 -0
  165. dvt/include/starter_project/seeds/.gitkeep +0 -0
  166. dvt/include/starter_project/snapshots/.gitkeep +0 -0
  167. dvt/include/starter_project/tests/.gitkeep +0 -0
  168. dvt/internal_deprecations.py +27 -0
  169. dvt/jsonschemas/__init__.py +3 -0
  170. dvt/jsonschemas/jsonschemas.py +309 -0
  171. dvt/jsonschemas/project/0.0.110.json +4717 -0
  172. dvt/jsonschemas/project/0.0.85.json +2015 -0
  173. dvt/jsonschemas/resources/0.0.110.json +2636 -0
  174. dvt/jsonschemas/resources/0.0.85.json +2536 -0
  175. dvt/jsonschemas/resources/latest.json +6773 -0
  176. dvt/links.py +4 -0
  177. dvt/materializations/__init__.py +0 -0
  178. dvt/materializations/incremental/__init__.py +0 -0
  179. dvt/materializations/incremental/microbatch.py +235 -0
  180. dvt/mp_context.py +8 -0
  181. dvt/node_types.py +37 -0
  182. dvt/parser/__init__.py +23 -0
  183. dvt/parser/analysis.py +21 -0
  184. dvt/parser/base.py +549 -0
  185. dvt/parser/common.py +267 -0
  186. dvt/parser/docs.py +52 -0
  187. dvt/parser/fixtures.py +51 -0
  188. dvt/parser/functions.py +30 -0
  189. dvt/parser/generic_test.py +100 -0
  190. dvt/parser/generic_test_builders.py +334 -0
  191. dvt/parser/hooks.py +119 -0
  192. dvt/parser/macros.py +137 -0
  193. dvt/parser/manifest.py +2204 -0
  194. dvt/parser/models.py +574 -0
  195. dvt/parser/partial.py +1179 -0
  196. dvt/parser/read_files.py +445 -0
  197. dvt/parser/schema_generic_tests.py +423 -0
  198. dvt/parser/schema_renderer.py +111 -0
  199. dvt/parser/schema_yaml_readers.py +936 -0
  200. dvt/parser/schemas.py +1467 -0
  201. dvt/parser/search.py +149 -0
  202. dvt/parser/seeds.py +28 -0
  203. dvt/parser/singular_test.py +20 -0
  204. dvt/parser/snapshots.py +44 -0
  205. dvt/parser/sources.py +557 -0
  206. dvt/parser/sql.py +63 -0
  207. dvt/parser/unit_tests.py +622 -0
  208. dvt/plugins/__init__.py +20 -0
  209. dvt/plugins/contracts.py +10 -0
  210. dvt/plugins/exceptions.py +2 -0
  211. dvt/plugins/manager.py +164 -0
  212. dvt/plugins/manifest.py +21 -0
  213. dvt/profiler.py +20 -0
  214. dvt/py.typed +1 -0
  215. dvt/runners/__init__.py +2 -0
  216. dvt/runners/exposure_runner.py +7 -0
  217. dvt/runners/no_op_runner.py +46 -0
  218. dvt/runners/saved_query_runner.py +7 -0
  219. dvt/selected_resources.py +8 -0
  220. dvt/task/__init__.py +0 -0
  221. dvt/task/base.py +504 -0
  222. dvt/task/build.py +197 -0
  223. dvt/task/clean.py +57 -0
  224. dvt/task/clone.py +162 -0
  225. dvt/task/compile.py +151 -0
  226. dvt/task/compute.py +366 -0
  227. dvt/task/debug.py +650 -0
  228. dvt/task/deps.py +280 -0
  229. dvt/task/docs/__init__.py +3 -0
  230. dvt/task/docs/generate.py +408 -0
  231. dvt/task/docs/index.html +250 -0
  232. dvt/task/docs/serve.py +28 -0
  233. dvt/task/freshness.py +323 -0
  234. dvt/task/function.py +122 -0
  235. dvt/task/group_lookup.py +46 -0
  236. dvt/task/init.py +374 -0
  237. dvt/task/list.py +237 -0
  238. dvt/task/printer.py +176 -0
  239. dvt/task/profiles.py +256 -0
  240. dvt/task/retry.py +175 -0
  241. dvt/task/run.py +1146 -0
  242. dvt/task/run_operation.py +142 -0
  243. dvt/task/runnable.py +802 -0
  244. dvt/task/seed.py +104 -0
  245. dvt/task/show.py +150 -0
  246. dvt/task/snapshot.py +57 -0
  247. dvt/task/sql.py +111 -0
  248. dvt/task/test.py +464 -0
  249. dvt/tests/fixtures/__init__.py +1 -0
  250. dvt/tests/fixtures/project.py +620 -0
  251. dvt/tests/util.py +651 -0
  252. dvt/tracking.py +529 -0
  253. dvt/utils/__init__.py +3 -0
  254. dvt/utils/artifact_upload.py +151 -0
  255. dvt/utils/utils.py +408 -0
  256. dvt/version.py +249 -0
  257. dvt_core-1.11.0b4.dist-info/METADATA +252 -0
  258. dvt_core-1.11.0b4.dist-info/RECORD +261 -0
  259. dvt_core-1.11.0b4.dist-info/WHEEL +5 -0
  260. dvt_core-1.11.0b4.dist-info/entry_points.txt +2 -0
  261. dvt_core-1.11.0b4.dist-info/top_level.txt +1 -0
@@ -0,0 +1,4717 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "DbtProject",
4
+ "type": "object",
5
+ "required": [
6
+ "name"
7
+ ],
8
+ "properties": {
9
+ "analysis-paths": {
10
+ "type": [
11
+ "array",
12
+ "null"
13
+ ],
14
+ "items": {
15
+ "type": "string"
16
+ }
17
+ },
18
+ "asset-paths": {
19
+ "type": [
20
+ "array",
21
+ "null"
22
+ ],
23
+ "items": {
24
+ "type": "string"
25
+ }
26
+ },
27
+ "clean-targets": {
28
+ "type": [
29
+ "array",
30
+ "null"
31
+ ],
32
+ "items": {
33
+ "type": "string"
34
+ }
35
+ },
36
+ "config-version": {
37
+ "type": [
38
+ "integer",
39
+ "null"
40
+ ],
41
+ "format": "int32"
42
+ },
43
+ "data_tests": {
44
+ "anyOf": [
45
+ {
46
+ "$ref": "#/definitions/ProjectDataTestConfig"
47
+ },
48
+ {
49
+ "type": "null"
50
+ }
51
+ ]
52
+ },
53
+ "dbt-cloud": {
54
+ "anyOf": [
55
+ {
56
+ "$ref": "#/definitions/ProjectDbtCloudConfig"
57
+ },
58
+ {
59
+ "type": "null"
60
+ }
61
+ ]
62
+ },
63
+ "dispatch": {
64
+ "type": [
65
+ "array",
66
+ "null"
67
+ ],
68
+ "items": {
69
+ "$ref": "#/definitions/_Dispatch"
70
+ }
71
+ },
72
+ "docs-paths": {
73
+ "type": [
74
+ "array",
75
+ "null"
76
+ ],
77
+ "items": {
78
+ "type": "string"
79
+ }
80
+ },
81
+ "exposures": {
82
+ "anyOf": [
83
+ {
84
+ "$ref": "#/definitions/ProjectExposureConfig"
85
+ },
86
+ {
87
+ "type": "null"
88
+ }
89
+ ]
90
+ },
91
+ "flags": {
92
+ "anyOf": [
93
+ {
94
+ "$ref": "#/definitions/AnyValue"
95
+ },
96
+ {
97
+ "type": "null"
98
+ }
99
+ ]
100
+ },
101
+ "log-path": {
102
+ "anyOf": [
103
+ {
104
+ "$ref": "#/definitions/LogPath"
105
+ },
106
+ {
107
+ "type": "null"
108
+ }
109
+ ]
110
+ },
111
+ "macro-paths": {
112
+ "type": [
113
+ "array",
114
+ "null"
115
+ ],
116
+ "items": {
117
+ "type": "string"
118
+ }
119
+ },
120
+ "metrics": {
121
+ "anyOf": [
122
+ {
123
+ "$ref": "#/definitions/ProjectMetricConfigs"
124
+ },
125
+ {
126
+ "type": "null"
127
+ }
128
+ ]
129
+ },
130
+ "model-paths": {
131
+ "type": [
132
+ "array",
133
+ "null"
134
+ ],
135
+ "items": {
136
+ "type": "string"
137
+ }
138
+ },
139
+ "models": {
140
+ "anyOf": [
141
+ {
142
+ "$ref": "#/definitions/ProjectModelConfig"
143
+ },
144
+ {
145
+ "type": "null"
146
+ }
147
+ ]
148
+ },
149
+ "name": {
150
+ "type": "string"
151
+ },
152
+ "on-run-end": {
153
+ "anyOf": [
154
+ {
155
+ "$ref": "#/definitions/SpannedStringOrArrayOfStrings"
156
+ },
157
+ {
158
+ "type": "null"
159
+ }
160
+ ]
161
+ },
162
+ "on-run-start": {
163
+ "anyOf": [
164
+ {
165
+ "$ref": "#/definitions/SpannedStringOrArrayOfStrings"
166
+ },
167
+ {
168
+ "type": "null"
169
+ }
170
+ ]
171
+ },
172
+ "packages-install-path": {
173
+ "type": [
174
+ "string",
175
+ "null"
176
+ ]
177
+ },
178
+ "profile": {
179
+ "type": [
180
+ "string",
181
+ "null"
182
+ ]
183
+ },
184
+ "query-comment": {
185
+ "anyOf": [
186
+ {
187
+ "$ref": "#/definitions/QueryComment"
188
+ },
189
+ {
190
+ "type": "null"
191
+ }
192
+ ]
193
+ },
194
+ "quoting": {
195
+ "anyOf": [
196
+ {
197
+ "$ref": "#/definitions/DbtQuoting"
198
+ },
199
+ {
200
+ "type": "null"
201
+ }
202
+ ]
203
+ },
204
+ "require-dbt-version": {
205
+ "anyOf": [
206
+ {
207
+ "$ref": "#/definitions/StringOrArrayOfStrings"
208
+ },
209
+ {
210
+ "type": "null"
211
+ }
212
+ ]
213
+ },
214
+ "restrict-access": {
215
+ "type": [
216
+ "boolean",
217
+ "null"
218
+ ]
219
+ },
220
+ "saved-queries": {
221
+ "anyOf": [
222
+ {
223
+ "$ref": "#/definitions/ProjectSavedQueriesConfig"
224
+ },
225
+ {
226
+ "type": "null"
227
+ }
228
+ ]
229
+ },
230
+ "seed-paths": {
231
+ "type": [
232
+ "array",
233
+ "null"
234
+ ],
235
+ "items": {
236
+ "type": "string"
237
+ }
238
+ },
239
+ "seeds": {
240
+ "anyOf": [
241
+ {
242
+ "$ref": "#/definitions/ProjectSeedConfig"
243
+ },
244
+ {
245
+ "type": "null"
246
+ }
247
+ ]
248
+ },
249
+ "semantic-models": {
250
+ "anyOf": [
251
+ {
252
+ "$ref": "#/definitions/ProjectSemanticModelConfig"
253
+ },
254
+ {
255
+ "type": "null"
256
+ }
257
+ ]
258
+ },
259
+ "snapshot-paths": {
260
+ "type": [
261
+ "array",
262
+ "null"
263
+ ],
264
+ "items": {
265
+ "type": "string"
266
+ }
267
+ },
268
+ "snapshots": {
269
+ "anyOf": [
270
+ {
271
+ "$ref": "#/definitions/ProjectSnapshotConfig"
272
+ },
273
+ {
274
+ "type": "null"
275
+ }
276
+ ]
277
+ },
278
+ "sources": {
279
+ "anyOf": [
280
+ {
281
+ "$ref": "#/definitions/ProjectSourceConfig"
282
+ },
283
+ {
284
+ "type": "null"
285
+ }
286
+ ]
287
+ },
288
+ "target-path": {
289
+ "anyOf": [
290
+ {
291
+ "$ref": "#/definitions/TargetPath"
292
+ },
293
+ {
294
+ "type": "null"
295
+ }
296
+ ]
297
+ },
298
+ "test-paths": {
299
+ "type": [
300
+ "array",
301
+ "null"
302
+ ],
303
+ "items": {
304
+ "type": "string"
305
+ }
306
+ },
307
+ "tests": {
308
+ "anyOf": [
309
+ {
310
+ "$ref": "#/definitions/ProjectDataTestConfig"
311
+ },
312
+ {
313
+ "type": "null"
314
+ }
315
+ ]
316
+ },
317
+ "unit_tests": {
318
+ "anyOf": [
319
+ {
320
+ "$ref": "#/definitions/ProjectUnitTestConfig"
321
+ },
322
+ {
323
+ "type": "null"
324
+ }
325
+ ]
326
+ },
327
+ "vars": {
328
+ "anyOf": [
329
+ {
330
+ "$ref": "#/definitions/AnyValue"
331
+ },
332
+ {
333
+ "type": "null"
334
+ }
335
+ ]
336
+ },
337
+ "version": {
338
+ "anyOf": [
339
+ {
340
+ "$ref": "#/definitions/FloatOrString"
341
+ },
342
+ {
343
+ "type": "null"
344
+ }
345
+ ]
346
+ }
347
+ },
348
+ "additionalProperties": false,
349
+ "definitions": {
350
+ "Access": {
351
+ "type": "string",
352
+ "enum": [
353
+ "private",
354
+ "protected",
355
+ "public"
356
+ ]
357
+ },
358
+ "AnyValue": true,
359
+ "BigqueryClusterConfig": {
360
+ "description": "dbt-core allows either of the variants for the `cluster_by` to allow cluster on a single column or on multiple columns",
361
+ "anyOf": [
362
+ {
363
+ "type": "string"
364
+ },
365
+ {
366
+ "type": "array",
367
+ "items": {
368
+ "type": "string"
369
+ }
370
+ }
371
+ ]
372
+ },
373
+ "BigqueryPartitionConfig": {
374
+ "description": "reference: https://github.com/dbt-labs/dbt-adapters/blob/main/dbt-bigquery/src/dbt/adapters/bigquery/relation_configs/_partition.py#L12-L13",
375
+ "type": "object",
376
+ "anyOf": [
377
+ {
378
+ "$ref": "#/definitions/RangeConfig"
379
+ },
380
+ {
381
+ "$ref": "#/definitions/TimeConfig"
382
+ }
383
+ ],
384
+ "required": [
385
+ "field"
386
+ ],
387
+ "properties": {
388
+ "copy_partitions": {
389
+ "default": false,
390
+ "type": "boolean"
391
+ },
392
+ "data_type": {
393
+ "default": "date",
394
+ "type": "string"
395
+ },
396
+ "field": {
397
+ "type": "string"
398
+ }
399
+ },
400
+ "additionalProperties": false
401
+ },
402
+ "DbtBatchSize": {
403
+ "type": "string",
404
+ "enum": [
405
+ "hour",
406
+ "day",
407
+ "month",
408
+ "year"
409
+ ]
410
+ },
411
+ "DbtContract": {
412
+ "type": "object",
413
+ "properties": {
414
+ "alias_types": {
415
+ "default": true,
416
+ "type": "boolean"
417
+ },
418
+ "checksum": {
419
+ "anyOf": [
420
+ {
421
+ "$ref": "#/definitions/AnyValue"
422
+ },
423
+ {
424
+ "type": "null"
425
+ }
426
+ ]
427
+ },
428
+ "enforced": {
429
+ "default": false,
430
+ "type": "boolean"
431
+ }
432
+ },
433
+ "additionalProperties": false
434
+ },
435
+ "DbtIncrementalStrategy": {
436
+ "oneOf": [
437
+ {
438
+ "type": "string",
439
+ "enum": [
440
+ "append",
441
+ "merge",
442
+ "delete+insert",
443
+ "insert_overwrite",
444
+ "microbatch",
445
+ "unknown"
446
+ ]
447
+ },
448
+ {
449
+ "description": "replace_where (Databricks only) see https://docs.getdbt.com/reference/resource-configs/databricks-configs",
450
+ "type": "string",
451
+ "enum": [
452
+ "replace_where"
453
+ ]
454
+ }
455
+ ]
456
+ },
457
+ "DbtMaterialization": {
458
+ "oneOf": [
459
+ {
460
+ "type": "string",
461
+ "enum": [
462
+ "view",
463
+ "table",
464
+ "incremental",
465
+ "materialized_view",
466
+ "external",
467
+ "test",
468
+ "ephemeral",
469
+ "unit",
470
+ "analysis"
471
+ ]
472
+ },
473
+ {
474
+ "description": "only for databricks",
475
+ "type": "string",
476
+ "enum": [
477
+ "streaming_table"
478
+ ]
479
+ },
480
+ {
481
+ "description": "only for snowflake",
482
+ "type": "string",
483
+ "enum": [
484
+ "dynamic_table"
485
+ ]
486
+ },
487
+ {
488
+ "type": "object",
489
+ "required": [
490
+ "unknown"
491
+ ],
492
+ "properties": {
493
+ "unknown": {
494
+ "type": "string"
495
+ }
496
+ },
497
+ "additionalProperties": false
498
+ }
499
+ ]
500
+ },
501
+ "DbtQuoting": {
502
+ "type": "object",
503
+ "properties": {
504
+ "database": {
505
+ "type": [
506
+ "boolean",
507
+ "null"
508
+ ]
509
+ },
510
+ "identifier": {
511
+ "type": [
512
+ "boolean",
513
+ "null"
514
+ ]
515
+ },
516
+ "schema": {
517
+ "type": [
518
+ "boolean",
519
+ "null"
520
+ ]
521
+ },
522
+ "snowflake_ignore_case": {
523
+ "type": [
524
+ "boolean",
525
+ "null"
526
+ ]
527
+ }
528
+ },
529
+ "additionalProperties": false
530
+ },
531
+ "DbtUniqueKey": {
532
+ "anyOf": [
533
+ {
534
+ "type": "string"
535
+ },
536
+ {
537
+ "type": "array",
538
+ "items": {
539
+ "type": "string"
540
+ }
541
+ }
542
+ ]
543
+ },
544
+ "DocsConfig": {
545
+ "type": "object",
546
+ "properties": {
547
+ "node_color": {
548
+ "type": [
549
+ "string",
550
+ "null"
551
+ ]
552
+ },
553
+ "show": {
554
+ "default": true,
555
+ "type": "boolean"
556
+ }
557
+ },
558
+ "additionalProperties": false
559
+ },
560
+ "ExportConfigExportAs": {
561
+ "type": "string",
562
+ "enum": [
563
+ "table",
564
+ "view",
565
+ "cache"
566
+ ]
567
+ },
568
+ "FloatOrString": {
569
+ "anyOf": [
570
+ {
571
+ "type": "number",
572
+ "format": "float"
573
+ },
574
+ {
575
+ "type": "string"
576
+ }
577
+ ]
578
+ },
579
+ "FreshnessDefinition": {
580
+ "type": "object",
581
+ "properties": {
582
+ "error_after": {
583
+ "default": {
584
+ "count": null,
585
+ "period": null
586
+ },
587
+ "anyOf": [
588
+ {
589
+ "$ref": "#/definitions/FreshnessRules"
590
+ },
591
+ {
592
+ "type": "null"
593
+ }
594
+ ]
595
+ },
596
+ "filter": {
597
+ "type": [
598
+ "string",
599
+ "null"
600
+ ]
601
+ },
602
+ "warn_after": {
603
+ "default": {
604
+ "count": null,
605
+ "period": null
606
+ },
607
+ "anyOf": [
608
+ {
609
+ "$ref": "#/definitions/FreshnessRules"
610
+ },
611
+ {
612
+ "type": "null"
613
+ }
614
+ ]
615
+ }
616
+ },
617
+ "additionalProperties": false
618
+ },
619
+ "FreshnessPeriod": {
620
+ "type": "string",
621
+ "enum": [
622
+ "minute",
623
+ "hour",
624
+ "day"
625
+ ]
626
+ },
627
+ "FreshnessRules": {
628
+ "type": "object",
629
+ "properties": {
630
+ "count": {
631
+ "type": [
632
+ "integer",
633
+ "null"
634
+ ],
635
+ "format": "int64"
636
+ },
637
+ "period": {
638
+ "anyOf": [
639
+ {
640
+ "$ref": "#/definitions/FreshnessPeriod"
641
+ },
642
+ {
643
+ "type": "null"
644
+ }
645
+ ]
646
+ }
647
+ },
648
+ "additionalProperties": false
649
+ },
650
+ "GrantAccessToTarget": {
651
+ "type": "object",
652
+ "properties": {
653
+ "dataset": {
654
+ "type": [
655
+ "string",
656
+ "null"
657
+ ]
658
+ },
659
+ "project": {
660
+ "type": [
661
+ "string",
662
+ "null"
663
+ ]
664
+ }
665
+ },
666
+ "additionalProperties": false
667
+ },
668
+ "HardDeletes": {
669
+ "type": "string",
670
+ "enum": [
671
+ "ignore",
672
+ "invalidate",
673
+ "new_record"
674
+ ]
675
+ },
676
+ "HookConfig": {
677
+ "type": "object",
678
+ "properties": {
679
+ "sql": {
680
+ "type": [
681
+ "string",
682
+ "null"
683
+ ]
684
+ },
685
+ "transaction": {
686
+ "type": [
687
+ "boolean",
688
+ "null"
689
+ ]
690
+ }
691
+ },
692
+ "additionalProperties": false
693
+ },
694
+ "Hooks": {
695
+ "anyOf": [
696
+ {
697
+ "type": "string"
698
+ },
699
+ {
700
+ "type": "array",
701
+ "items": {
702
+ "type": "string"
703
+ }
704
+ },
705
+ {
706
+ "$ref": "#/definitions/HookConfig"
707
+ },
708
+ {
709
+ "type": "array",
710
+ "items": {
711
+ "$ref": "#/definitions/HookConfig"
712
+ }
713
+ }
714
+ ]
715
+ },
716
+ "LogPath": {
717
+ "type": "string",
718
+ "enum": [
719
+ "logs"
720
+ ]
721
+ },
722
+ "ModelFreshness": {
723
+ "type": "object",
724
+ "properties": {
725
+ "build_after": {
726
+ "anyOf": [
727
+ {
728
+ "$ref": "#/definitions/ModelFreshnessRules"
729
+ },
730
+ {
731
+ "type": "null"
732
+ }
733
+ ]
734
+ }
735
+ },
736
+ "additionalProperties": false
737
+ },
738
+ "ModelFreshnessRules": {
739
+ "type": "object",
740
+ "properties": {
741
+ "count": {
742
+ "type": [
743
+ "integer",
744
+ "null"
745
+ ],
746
+ "format": "int64"
747
+ },
748
+ "period": {
749
+ "anyOf": [
750
+ {
751
+ "$ref": "#/definitions/FreshnessPeriod"
752
+ },
753
+ {
754
+ "type": "null"
755
+ }
756
+ ]
757
+ },
758
+ "updates_on": {
759
+ "anyOf": [
760
+ {
761
+ "$ref": "#/definitions/UpdatesOn"
762
+ },
763
+ {
764
+ "type": "null"
765
+ }
766
+ ]
767
+ }
768
+ },
769
+ "additionalProperties": false
770
+ },
771
+ "OnConfigurationChange": {
772
+ "type": "string",
773
+ "enum": [
774
+ "apply",
775
+ "continue",
776
+ "fail",
777
+ "unknown"
778
+ ]
779
+ },
780
+ "OnSchemaChange": {
781
+ "type": "string",
782
+ "enum": [
783
+ "ignore",
784
+ "append_new_columns",
785
+ "fail",
786
+ "sync_all_columns",
787
+ "unknown"
788
+ ]
789
+ },
790
+ "PartitionConfig": {
791
+ "description": "dbt-core allows either of the variants for the `partition_by` in the model config but the bigquery-adapter throws RunTime error the behaviors are tested from the latest dbt-core + bigquery-adapter as this is written we're conformant to this behavior via here and via the `validate` method",
792
+ "anyOf": [
793
+ {
794
+ "type": "string"
795
+ },
796
+ {
797
+ "type": "array",
798
+ "items": {
799
+ "type": "string"
800
+ }
801
+ },
802
+ {
803
+ "$ref": "#/definitions/BigqueryPartitionConfig"
804
+ }
805
+ ]
806
+ },
807
+ "PersistDocsConfig": {
808
+ "type": "object",
809
+ "properties": {
810
+ "columns": {
811
+ "type": [
812
+ "boolean",
813
+ "null"
814
+ ]
815
+ },
816
+ "relation": {
817
+ "type": [
818
+ "boolean",
819
+ "null"
820
+ ]
821
+ }
822
+ },
823
+ "additionalProperties": false
824
+ },
825
+ "PostgresIndex": {
826
+ "type": "object",
827
+ "required": [
828
+ "columns"
829
+ ],
830
+ "properties": {
831
+ "columns": {
832
+ "type": "array",
833
+ "items": {
834
+ "type": "string"
835
+ }
836
+ },
837
+ "type": {
838
+ "type": [
839
+ "string",
840
+ "null"
841
+ ]
842
+ },
843
+ "unique": {
844
+ "type": [
845
+ "boolean",
846
+ "null"
847
+ ]
848
+ }
849
+ },
850
+ "additionalProperties": false
851
+ },
852
+ "ProjectDataTestConfig": {
853
+ "type": "object",
854
+ "properties": {
855
+ "+alias": {
856
+ "type": [
857
+ "string",
858
+ "null"
859
+ ]
860
+ },
861
+ "+as_columnstore": {
862
+ "type": [
863
+ "boolean",
864
+ "null"
865
+ ]
866
+ },
867
+ "+auto_liquid_cluster": {
868
+ "type": [
869
+ "boolean",
870
+ "null"
871
+ ]
872
+ },
873
+ "+auto_refresh": {
874
+ "type": [
875
+ "boolean",
876
+ "null"
877
+ ]
878
+ },
879
+ "+automatic_clustering": {
880
+ "type": [
881
+ "boolean",
882
+ "null"
883
+ ]
884
+ },
885
+ "+backup": {
886
+ "type": [
887
+ "boolean",
888
+ "null"
889
+ ]
890
+ },
891
+ "+base_location_root": {
892
+ "type": [
893
+ "string",
894
+ "null"
895
+ ]
896
+ },
897
+ "+base_location_subpath": {
898
+ "type": [
899
+ "string",
900
+ "null"
901
+ ]
902
+ },
903
+ "+bind": {
904
+ "type": [
905
+ "boolean",
906
+ "null"
907
+ ]
908
+ },
909
+ "+buckets": {
910
+ "type": [
911
+ "integer",
912
+ "null"
913
+ ],
914
+ "format": "int64"
915
+ },
916
+ "+catalog": {
917
+ "type": [
918
+ "string",
919
+ "null"
920
+ ]
921
+ },
922
+ "+cluster_by": {
923
+ "anyOf": [
924
+ {
925
+ "$ref": "#/definitions/BigqueryClusterConfig"
926
+ },
927
+ {
928
+ "type": "null"
929
+ }
930
+ ]
931
+ },
932
+ "+clustered_by": {
933
+ "type": [
934
+ "string",
935
+ "null"
936
+ ]
937
+ },
938
+ "+compression": {
939
+ "type": [
940
+ "string",
941
+ "null"
942
+ ]
943
+ },
944
+ "+copy_grants": {
945
+ "type": [
946
+ "boolean",
947
+ "null"
948
+ ]
949
+ },
950
+ "+database": {
951
+ "type": [
952
+ "string",
953
+ "null"
954
+ ]
955
+ },
956
+ "+databricks_compute": {
957
+ "type": [
958
+ "string",
959
+ "null"
960
+ ]
961
+ },
962
+ "+databricks_tags": {
963
+ "type": [
964
+ "object",
965
+ "null"
966
+ ],
967
+ "additionalProperties": {
968
+ "$ref": "#/definitions/AnyValue"
969
+ }
970
+ },
971
+ "+description": {
972
+ "type": [
973
+ "string",
974
+ "null"
975
+ ]
976
+ },
977
+ "+dist": {
978
+ "type": [
979
+ "string",
980
+ "null"
981
+ ]
982
+ },
983
+ "+enable_refresh": {
984
+ "type": [
985
+ "boolean",
986
+ "null"
987
+ ]
988
+ },
989
+ "+enabled": {
990
+ "type": [
991
+ "boolean",
992
+ "null"
993
+ ]
994
+ },
995
+ "+error_if": {
996
+ "type": [
997
+ "string",
998
+ "null"
999
+ ]
1000
+ },
1001
+ "+external_volume": {
1002
+ "type": [
1003
+ "string",
1004
+ "null"
1005
+ ]
1006
+ },
1007
+ "+fail_calc": {
1008
+ "type": [
1009
+ "string",
1010
+ "null"
1011
+ ]
1012
+ },
1013
+ "+file_format": {
1014
+ "type": [
1015
+ "string",
1016
+ "null"
1017
+ ]
1018
+ },
1019
+ "+grant_access_to": {
1020
+ "type": [
1021
+ "array",
1022
+ "null"
1023
+ ],
1024
+ "items": {
1025
+ "$ref": "#/definitions/GrantAccessToTarget"
1026
+ }
1027
+ },
1028
+ "+group": {
1029
+ "type": [
1030
+ "string",
1031
+ "null"
1032
+ ]
1033
+ },
1034
+ "+hours_to_expiration": {
1035
+ "type": [
1036
+ "integer",
1037
+ "null"
1038
+ ],
1039
+ "format": "uint64",
1040
+ "minimum": 0.0
1041
+ },
1042
+ "+include_full_name_in_path": {
1043
+ "type": [
1044
+ "boolean",
1045
+ "null"
1046
+ ]
1047
+ },
1048
+ "+indexes": {
1049
+ "type": [
1050
+ "array",
1051
+ "null"
1052
+ ],
1053
+ "items": {
1054
+ "$ref": "#/definitions/PostgresIndex"
1055
+ }
1056
+ },
1057
+ "+initialize": {
1058
+ "type": [
1059
+ "string",
1060
+ "null"
1061
+ ]
1062
+ },
1063
+ "+kms_key_name": {
1064
+ "type": [
1065
+ "string",
1066
+ "null"
1067
+ ]
1068
+ },
1069
+ "+labels": {
1070
+ "type": [
1071
+ "object",
1072
+ "null"
1073
+ ],
1074
+ "additionalProperties": {
1075
+ "type": "string"
1076
+ }
1077
+ },
1078
+ "+labels_from_meta": {
1079
+ "type": [
1080
+ "boolean",
1081
+ "null"
1082
+ ]
1083
+ },
1084
+ "+limit": {
1085
+ "type": [
1086
+ "integer",
1087
+ "null"
1088
+ ],
1089
+ "format": "int32"
1090
+ },
1091
+ "+liquid_clustered_by": {
1092
+ "anyOf": [
1093
+ {
1094
+ "$ref": "#/definitions/StringOrArrayOfStrings"
1095
+ },
1096
+ {
1097
+ "type": "null"
1098
+ }
1099
+ ]
1100
+ },
1101
+ "+location_root": {
1102
+ "type": [
1103
+ "string",
1104
+ "null"
1105
+ ]
1106
+ },
1107
+ "+matched_condition": {
1108
+ "type": [
1109
+ "string",
1110
+ "null"
1111
+ ]
1112
+ },
1113
+ "+max_staleness": {
1114
+ "type": [
1115
+ "string",
1116
+ "null"
1117
+ ]
1118
+ },
1119
+ "+merge_with_schema_evolution": {
1120
+ "type": [
1121
+ "boolean",
1122
+ "null"
1123
+ ]
1124
+ },
1125
+ "+meta": {
1126
+ "type": [
1127
+ "object",
1128
+ "null"
1129
+ ],
1130
+ "additionalProperties": {
1131
+ "$ref": "#/definitions/AnyValue"
1132
+ }
1133
+ },
1134
+ "+not_matched_by_source_action": {
1135
+ "type": [
1136
+ "string",
1137
+ "null"
1138
+ ]
1139
+ },
1140
+ "+not_matched_by_source_condition": {
1141
+ "type": [
1142
+ "string",
1143
+ "null"
1144
+ ]
1145
+ },
1146
+ "+not_matched_condition": {
1147
+ "type": [
1148
+ "string",
1149
+ "null"
1150
+ ]
1151
+ },
1152
+ "+partition_by": {
1153
+ "anyOf": [
1154
+ {
1155
+ "$ref": "#/definitions/PartitionConfig"
1156
+ },
1157
+ {
1158
+ "type": "null"
1159
+ }
1160
+ ]
1161
+ },
1162
+ "+partition_expiration_days": {
1163
+ "type": [
1164
+ "integer",
1165
+ "null"
1166
+ ],
1167
+ "format": "uint64",
1168
+ "minimum": 0.0
1169
+ },
1170
+ "+partitions": {
1171
+ "type": [
1172
+ "array",
1173
+ "null"
1174
+ ],
1175
+ "items": {
1176
+ "type": "string"
1177
+ }
1178
+ },
1179
+ "+query_tag": {
1180
+ "type": [
1181
+ "string",
1182
+ "null"
1183
+ ]
1184
+ },
1185
+ "+quoting": {
1186
+ "anyOf": [
1187
+ {
1188
+ "$ref": "#/definitions/DbtQuoting"
1189
+ },
1190
+ {
1191
+ "type": "null"
1192
+ }
1193
+ ]
1194
+ },
1195
+ "+refresh_interval_minutes": {
1196
+ "type": [
1197
+ "integer",
1198
+ "null"
1199
+ ],
1200
+ "format": "uint64",
1201
+ "minimum": 0.0
1202
+ },
1203
+ "+refresh_mode": {
1204
+ "type": [
1205
+ "string",
1206
+ "null"
1207
+ ]
1208
+ },
1209
+ "+require_partition_filter": {
1210
+ "type": [
1211
+ "boolean",
1212
+ "null"
1213
+ ]
1214
+ },
1215
+ "+row_access_policy": {
1216
+ "type": [
1217
+ "string",
1218
+ "null"
1219
+ ]
1220
+ },
1221
+ "+schedule": {
1222
+ "anyOf": [
1223
+ {
1224
+ "$ref": "#/definitions/ScheduleConfig"
1225
+ },
1226
+ {
1227
+ "type": "null"
1228
+ }
1229
+ ]
1230
+ },
1231
+ "+schema": {
1232
+ "type": [
1233
+ "string",
1234
+ "null"
1235
+ ]
1236
+ },
1237
+ "+secure": {
1238
+ "type": [
1239
+ "boolean",
1240
+ "null"
1241
+ ]
1242
+ },
1243
+ "+severity": {
1244
+ "anyOf": [
1245
+ {
1246
+ "$ref": "#/definitions/Severity"
1247
+ },
1248
+ {
1249
+ "type": "null"
1250
+ }
1251
+ ]
1252
+ },
1253
+ "+skip_matched_step": {
1254
+ "type": [
1255
+ "boolean",
1256
+ "null"
1257
+ ]
1258
+ },
1259
+ "+skip_not_matched_step": {
1260
+ "type": [
1261
+ "boolean",
1262
+ "null"
1263
+ ]
1264
+ },
1265
+ "+snowflake_warehouse": {
1266
+ "type": [
1267
+ "string",
1268
+ "null"
1269
+ ]
1270
+ },
1271
+ "+sort": {
1272
+ "anyOf": [
1273
+ {
1274
+ "$ref": "#/definitions/StringOrArrayOfStrings"
1275
+ },
1276
+ {
1277
+ "type": "null"
1278
+ }
1279
+ ]
1280
+ },
1281
+ "+sort_type": {
1282
+ "type": [
1283
+ "string",
1284
+ "null"
1285
+ ]
1286
+ },
1287
+ "+source_alias": {
1288
+ "type": [
1289
+ "string",
1290
+ "null"
1291
+ ]
1292
+ },
1293
+ "+static_analysis": {
1294
+ "anyOf": [
1295
+ {
1296
+ "$ref": "#/definitions/StaticAnalysisKind"
1297
+ },
1298
+ {
1299
+ "type": "null"
1300
+ }
1301
+ ]
1302
+ },
1303
+ "+store_failures": {
1304
+ "type": [
1305
+ "boolean",
1306
+ "null"
1307
+ ]
1308
+ },
1309
+ "+store_failures_as": {
1310
+ "anyOf": [
1311
+ {
1312
+ "$ref": "#/definitions/StoreFailuresAs"
1313
+ },
1314
+ {
1315
+ "type": "null"
1316
+ }
1317
+ ]
1318
+ },
1319
+ "+table_tag": {
1320
+ "type": [
1321
+ "string",
1322
+ "null"
1323
+ ]
1324
+ },
1325
+ "+table_type": {
1326
+ "type": [
1327
+ "string",
1328
+ "null"
1329
+ ]
1330
+ },
1331
+ "+tags": {
1332
+ "anyOf": [
1333
+ {
1334
+ "$ref": "#/definitions/StringOrArrayOfStrings"
1335
+ },
1336
+ {
1337
+ "type": "null"
1338
+ }
1339
+ ]
1340
+ },
1341
+ "+target_alias": {
1342
+ "type": [
1343
+ "string",
1344
+ "null"
1345
+ ]
1346
+ },
1347
+ "+target_lag": {
1348
+ "type": [
1349
+ "string",
1350
+ "null"
1351
+ ]
1352
+ },
1353
+ "+tblproperties": {
1354
+ "type": [
1355
+ "object",
1356
+ "null"
1357
+ ],
1358
+ "additionalProperties": {
1359
+ "$ref": "#/definitions/AnyValue"
1360
+ }
1361
+ },
1362
+ "+tmp_relation_type": {
1363
+ "type": [
1364
+ "string",
1365
+ "null"
1366
+ ]
1367
+ },
1368
+ "+transient": {
1369
+ "type": [
1370
+ "boolean",
1371
+ "null"
1372
+ ]
1373
+ },
1374
+ "+warn_if": {
1375
+ "type": [
1376
+ "string",
1377
+ "null"
1378
+ ]
1379
+ },
1380
+ "+where": {
1381
+ "type": [
1382
+ "string",
1383
+ "null"
1384
+ ]
1385
+ }
1386
+ },
1387
+ "additionalProperties": {
1388
+ "$ref": "#/definitions/ProjectDataTestConfig"
1389
+ }
1390
+ },
1391
+ "ProjectDbtCloudConfig": {
1392
+ "type": "object",
1393
+ "properties": {
1394
+ "account-host": {
1395
+ "type": [
1396
+ "string",
1397
+ "null"
1398
+ ]
1399
+ },
1400
+ "account_id": {
1401
+ "anyOf": [
1402
+ {
1403
+ "$ref": "#/definitions/StringOrInteger"
1404
+ },
1405
+ {
1406
+ "type": "null"
1407
+ }
1408
+ ]
1409
+ },
1410
+ "api_key": {
1411
+ "anyOf": [
1412
+ {
1413
+ "$ref": "#/definitions/StringOrInteger"
1414
+ },
1415
+ {
1416
+ "type": "null"
1417
+ }
1418
+ ]
1419
+ },
1420
+ "application": {
1421
+ "anyOf": [
1422
+ {
1423
+ "$ref": "#/definitions/StringOrInteger"
1424
+ },
1425
+ {
1426
+ "type": "null"
1427
+ }
1428
+ ]
1429
+ },
1430
+ "defer-env-id": {
1431
+ "anyOf": [
1432
+ {
1433
+ "$ref": "#/definitions/StringOrInteger"
1434
+ },
1435
+ {
1436
+ "type": "null"
1437
+ }
1438
+ ]
1439
+ },
1440
+ "environment": {
1441
+ "anyOf": [
1442
+ {
1443
+ "$ref": "#/definitions/StringOrInteger"
1444
+ },
1445
+ {
1446
+ "type": "null"
1447
+ }
1448
+ ]
1449
+ },
1450
+ "job-id": {
1451
+ "anyOf": [
1452
+ {
1453
+ "$ref": "#/definitions/StringOrInteger"
1454
+ },
1455
+ {
1456
+ "type": "null"
1457
+ }
1458
+ ]
1459
+ },
1460
+ "project-id": {
1461
+ "anyOf": [
1462
+ {
1463
+ "$ref": "#/definitions/StringOrInteger"
1464
+ },
1465
+ {
1466
+ "type": "null"
1467
+ }
1468
+ ]
1469
+ },
1470
+ "run-id": {
1471
+ "anyOf": [
1472
+ {
1473
+ "$ref": "#/definitions/StringOrInteger"
1474
+ },
1475
+ {
1476
+ "type": "null"
1477
+ }
1478
+ ]
1479
+ }
1480
+ },
1481
+ "additionalProperties": false
1482
+ },
1483
+ "ProjectExposureConfig": {
1484
+ "type": "object",
1485
+ "properties": {
1486
+ "+enabled": {
1487
+ "type": [
1488
+ "boolean",
1489
+ "null"
1490
+ ]
1491
+ },
1492
+ "+meta": {
1493
+ "type": [
1494
+ "object",
1495
+ "null"
1496
+ ],
1497
+ "additionalProperties": {
1498
+ "$ref": "#/definitions/AnyValue"
1499
+ }
1500
+ },
1501
+ "+tags": {
1502
+ "anyOf": [
1503
+ {
1504
+ "$ref": "#/definitions/StringOrArrayOfStrings"
1505
+ },
1506
+ {
1507
+ "type": "null"
1508
+ }
1509
+ ]
1510
+ }
1511
+ },
1512
+ "additionalProperties": {
1513
+ "$ref": "#/definitions/ProjectExposureConfig"
1514
+ }
1515
+ },
1516
+ "ProjectMetricConfigs": {
1517
+ "type": "object",
1518
+ "properties": {
1519
+ "+enabled": {
1520
+ "type": [
1521
+ "boolean",
1522
+ "null"
1523
+ ]
1524
+ },
1525
+ "+group": {
1526
+ "type": [
1527
+ "string",
1528
+ "null"
1529
+ ]
1530
+ },
1531
+ "+meta": {
1532
+ "type": [
1533
+ "object",
1534
+ "null"
1535
+ ],
1536
+ "additionalProperties": {
1537
+ "$ref": "#/definitions/AnyValue"
1538
+ }
1539
+ },
1540
+ "+tags": {
1541
+ "anyOf": [
1542
+ {
1543
+ "$ref": "#/definitions/StringOrArrayOfStrings"
1544
+ },
1545
+ {
1546
+ "type": "null"
1547
+ }
1548
+ ]
1549
+ }
1550
+ },
1551
+ "additionalProperties": {
1552
+ "$ref": "#/definitions/ProjectMetricConfigs"
1553
+ }
1554
+ },
1555
+ "ProjectModelConfig": {
1556
+ "type": "object",
1557
+ "properties": {
1558
+ "+access": {
1559
+ "anyOf": [
1560
+ {
1561
+ "$ref": "#/definitions/Access"
1562
+ },
1563
+ {
1564
+ "type": "null"
1565
+ }
1566
+ ]
1567
+ },
1568
+ "+alias": {
1569
+ "type": [
1570
+ "string",
1571
+ "null"
1572
+ ]
1573
+ },
1574
+ "+as_columnstore": {
1575
+ "type": [
1576
+ "boolean",
1577
+ "null"
1578
+ ]
1579
+ },
1580
+ "+auto_liquid_cluster": {
1581
+ "type": [
1582
+ "boolean",
1583
+ "null"
1584
+ ]
1585
+ },
1586
+ "+auto_refresh": {
1587
+ "type": [
1588
+ "boolean",
1589
+ "null"
1590
+ ]
1591
+ },
1592
+ "+automatic_clustering": {
1593
+ "type": [
1594
+ "boolean",
1595
+ "null"
1596
+ ]
1597
+ },
1598
+ "+backup": {
1599
+ "type": [
1600
+ "boolean",
1601
+ "null"
1602
+ ]
1603
+ },
1604
+ "+base_location_root": {
1605
+ "type": [
1606
+ "string",
1607
+ "null"
1608
+ ]
1609
+ },
1610
+ "+base_location_subpath": {
1611
+ "type": [
1612
+ "string",
1613
+ "null"
1614
+ ]
1615
+ },
1616
+ "+batch_size": {
1617
+ "anyOf": [
1618
+ {
1619
+ "$ref": "#/definitions/DbtBatchSize"
1620
+ },
1621
+ {
1622
+ "type": "null"
1623
+ }
1624
+ ]
1625
+ },
1626
+ "+begin": {
1627
+ "type": [
1628
+ "string",
1629
+ "null"
1630
+ ]
1631
+ },
1632
+ "+bind": {
1633
+ "type": [
1634
+ "boolean",
1635
+ "null"
1636
+ ]
1637
+ },
1638
+ "+buckets": {
1639
+ "type": [
1640
+ "integer",
1641
+ "null"
1642
+ ],
1643
+ "format": "int64"
1644
+ },
1645
+ "+catalog": {
1646
+ "type": [
1647
+ "string",
1648
+ "null"
1649
+ ]
1650
+ },
1651
+ "+catalog_name": {
1652
+ "type": [
1653
+ "string",
1654
+ "null"
1655
+ ]
1656
+ },
1657
+ "+cluster_by": {
1658
+ "anyOf": [
1659
+ {
1660
+ "$ref": "#/definitions/BigqueryClusterConfig"
1661
+ },
1662
+ {
1663
+ "type": "null"
1664
+ }
1665
+ ]
1666
+ },
1667
+ "+clustered_by": {
1668
+ "type": [
1669
+ "string",
1670
+ "null"
1671
+ ]
1672
+ },
1673
+ "+column_types": {
1674
+ "type": [
1675
+ "object",
1676
+ "null"
1677
+ ],
1678
+ "additionalProperties": {
1679
+ "type": "string"
1680
+ }
1681
+ },
1682
+ "+compression": {
1683
+ "type": [
1684
+ "string",
1685
+ "null"
1686
+ ]
1687
+ },
1688
+ "+concurrent_batches": {
1689
+ "type": [
1690
+ "boolean",
1691
+ "null"
1692
+ ]
1693
+ },
1694
+ "+contract": {
1695
+ "anyOf": [
1696
+ {
1697
+ "$ref": "#/definitions/DbtContract"
1698
+ },
1699
+ {
1700
+ "type": "null"
1701
+ }
1702
+ ]
1703
+ },
1704
+ "+copy_grants": {
1705
+ "type": [
1706
+ "boolean",
1707
+ "null"
1708
+ ]
1709
+ },
1710
+ "+database": {
1711
+ "type": [
1712
+ "string",
1713
+ "null"
1714
+ ]
1715
+ },
1716
+ "+databricks_compute": {
1717
+ "type": [
1718
+ "string",
1719
+ "null"
1720
+ ]
1721
+ },
1722
+ "+databricks_tags": {
1723
+ "type": [
1724
+ "object",
1725
+ "null"
1726
+ ],
1727
+ "additionalProperties": {
1728
+ "$ref": "#/definitions/AnyValue"
1729
+ }
1730
+ },
1731
+ "+description": {
1732
+ "type": [
1733
+ "string",
1734
+ "null"
1735
+ ]
1736
+ },
1737
+ "+dist": {
1738
+ "type": [
1739
+ "string",
1740
+ "null"
1741
+ ]
1742
+ },
1743
+ "+docs": {
1744
+ "anyOf": [
1745
+ {
1746
+ "$ref": "#/definitions/DocsConfig"
1747
+ },
1748
+ {
1749
+ "type": "null"
1750
+ }
1751
+ ]
1752
+ },
1753
+ "+enable_refresh": {
1754
+ "type": [
1755
+ "boolean",
1756
+ "null"
1757
+ ]
1758
+ },
1759
+ "+enabled": {
1760
+ "type": [
1761
+ "boolean",
1762
+ "null"
1763
+ ]
1764
+ },
1765
+ "+event_time": {
1766
+ "type": [
1767
+ "string",
1768
+ "null"
1769
+ ]
1770
+ },
1771
+ "+external_volume": {
1772
+ "type": [
1773
+ "string",
1774
+ "null"
1775
+ ]
1776
+ },
1777
+ "+file_format": {
1778
+ "type": [
1779
+ "string",
1780
+ "null"
1781
+ ]
1782
+ },
1783
+ "+freshness": {
1784
+ "anyOf": [
1785
+ {
1786
+ "$ref": "#/definitions/ModelFreshness"
1787
+ },
1788
+ {
1789
+ "type": "null"
1790
+ }
1791
+ ]
1792
+ },
1793
+ "+full_refresh": {
1794
+ "type": [
1795
+ "boolean",
1796
+ "null"
1797
+ ]
1798
+ },
1799
+ "+grant_access_to": {
1800
+ "type": [
1801
+ "array",
1802
+ "null"
1803
+ ],
1804
+ "items": {
1805
+ "$ref": "#/definitions/GrantAccessToTarget"
1806
+ }
1807
+ },
1808
+ "+grants": {
1809
+ "type": [
1810
+ "object",
1811
+ "null"
1812
+ ],
1813
+ "additionalProperties": {
1814
+ "$ref": "#/definitions/StringOrArrayOfStrings"
1815
+ }
1816
+ },
1817
+ "+group": {
1818
+ "type": [
1819
+ "string",
1820
+ "null"
1821
+ ]
1822
+ },
1823
+ "+hours_to_expiration": {
1824
+ "type": [
1825
+ "integer",
1826
+ "null"
1827
+ ],
1828
+ "format": "uint64",
1829
+ "minimum": 0.0
1830
+ },
1831
+ "+include_full_name_in_path": {
1832
+ "type": [
1833
+ "boolean",
1834
+ "null"
1835
+ ]
1836
+ },
1837
+ "+incremental_predicates": {
1838
+ "type": [
1839
+ "array",
1840
+ "null"
1841
+ ],
1842
+ "items": {
1843
+ "type": "string"
1844
+ }
1845
+ },
1846
+ "+incremental_strategy": {
1847
+ "anyOf": [
1848
+ {
1849
+ "$ref": "#/definitions/DbtIncrementalStrategy"
1850
+ },
1851
+ {
1852
+ "type": "null"
1853
+ }
1854
+ ]
1855
+ },
1856
+ "+indexes": {
1857
+ "type": [
1858
+ "array",
1859
+ "null"
1860
+ ],
1861
+ "items": {
1862
+ "$ref": "#/definitions/PostgresIndex"
1863
+ }
1864
+ },
1865
+ "+initialize": {
1866
+ "type": [
1867
+ "string",
1868
+ "null"
1869
+ ]
1870
+ },
1871
+ "+kms_key_name": {
1872
+ "type": [
1873
+ "string",
1874
+ "null"
1875
+ ]
1876
+ },
1877
+ "+labels": {
1878
+ "type": [
1879
+ "object",
1880
+ "null"
1881
+ ],
1882
+ "additionalProperties": {
1883
+ "type": "string"
1884
+ }
1885
+ },
1886
+ "+labels_from_meta": {
1887
+ "type": [
1888
+ "boolean",
1889
+ "null"
1890
+ ]
1891
+ },
1892
+ "+liquid_clustered_by": {
1893
+ "anyOf": [
1894
+ {
1895
+ "$ref": "#/definitions/StringOrArrayOfStrings"
1896
+ },
1897
+ {
1898
+ "type": "null"
1899
+ }
1900
+ ]
1901
+ },
1902
+ "+location": {
1903
+ "type": [
1904
+ "string",
1905
+ "null"
1906
+ ]
1907
+ },
1908
+ "+location_root": {
1909
+ "type": [
1910
+ "string",
1911
+ "null"
1912
+ ]
1913
+ },
1914
+ "+lookback": {
1915
+ "type": [
1916
+ "integer",
1917
+ "null"
1918
+ ],
1919
+ "format": "int32"
1920
+ },
1921
+ "+matched_condition": {
1922
+ "type": [
1923
+ "string",
1924
+ "null"
1925
+ ]
1926
+ },
1927
+ "+materialized": {
1928
+ "anyOf": [
1929
+ {
1930
+ "$ref": "#/definitions/DbtMaterialization"
1931
+ },
1932
+ {
1933
+ "type": "null"
1934
+ }
1935
+ ]
1936
+ },
1937
+ "+max_staleness": {
1938
+ "type": [
1939
+ "string",
1940
+ "null"
1941
+ ]
1942
+ },
1943
+ "+merge_exclude_columns": {
1944
+ "anyOf": [
1945
+ {
1946
+ "$ref": "#/definitions/StringOrArrayOfStrings"
1947
+ },
1948
+ {
1949
+ "type": "null"
1950
+ }
1951
+ ]
1952
+ },
1953
+ "+merge_update_columns": {
1954
+ "anyOf": [
1955
+ {
1956
+ "$ref": "#/definitions/StringOrArrayOfStrings"
1957
+ },
1958
+ {
1959
+ "type": "null"
1960
+ }
1961
+ ]
1962
+ },
1963
+ "+merge_with_schema_evolution": {
1964
+ "type": [
1965
+ "boolean",
1966
+ "null"
1967
+ ]
1968
+ },
1969
+ "+meta": {
1970
+ "type": [
1971
+ "object",
1972
+ "null"
1973
+ ],
1974
+ "additionalProperties": {
1975
+ "$ref": "#/definitions/AnyValue"
1976
+ }
1977
+ },
1978
+ "+not_matched_by_source_action": {
1979
+ "type": [
1980
+ "string",
1981
+ "null"
1982
+ ]
1983
+ },
1984
+ "+not_matched_by_source_condition": {
1985
+ "type": [
1986
+ "string",
1987
+ "null"
1988
+ ]
1989
+ },
1990
+ "+not_matched_condition": {
1991
+ "type": [
1992
+ "string",
1993
+ "null"
1994
+ ]
1995
+ },
1996
+ "+on_configuration_change": {
1997
+ "anyOf": [
1998
+ {
1999
+ "$ref": "#/definitions/OnConfigurationChange"
2000
+ },
2001
+ {
2002
+ "type": "null"
2003
+ }
2004
+ ]
2005
+ },
2006
+ "+on_schema_change": {
2007
+ "anyOf": [
2008
+ {
2009
+ "$ref": "#/definitions/OnSchemaChange"
2010
+ },
2011
+ {
2012
+ "type": "null"
2013
+ }
2014
+ ]
2015
+ },
2016
+ "+packages": {
2017
+ "anyOf": [
2018
+ {
2019
+ "$ref": "#/definitions/StringOrArrayOfStrings"
2020
+ },
2021
+ {
2022
+ "type": "null"
2023
+ }
2024
+ ]
2025
+ },
2026
+ "+partition_by": {
2027
+ "anyOf": [
2028
+ {
2029
+ "$ref": "#/definitions/PartitionConfig"
2030
+ },
2031
+ {
2032
+ "type": "null"
2033
+ }
2034
+ ]
2035
+ },
2036
+ "+partition_expiration_days": {
2037
+ "type": [
2038
+ "integer",
2039
+ "null"
2040
+ ],
2041
+ "format": "uint64",
2042
+ "minimum": 0.0
2043
+ },
2044
+ "+partitions": {
2045
+ "type": [
2046
+ "array",
2047
+ "null"
2048
+ ],
2049
+ "items": {
2050
+ "type": "string"
2051
+ }
2052
+ },
2053
+ "+persist_docs": {
2054
+ "anyOf": [
2055
+ {
2056
+ "$ref": "#/definitions/PersistDocsConfig"
2057
+ },
2058
+ {
2059
+ "type": "null"
2060
+ }
2061
+ ]
2062
+ },
2063
+ "+post-hook": {
2064
+ "anyOf": [
2065
+ {
2066
+ "$ref": "#/definitions/Hooks"
2067
+ },
2068
+ {
2069
+ "type": "null"
2070
+ }
2071
+ ]
2072
+ },
2073
+ "+pre-hook": {
2074
+ "anyOf": [
2075
+ {
2076
+ "$ref": "#/definitions/Hooks"
2077
+ },
2078
+ {
2079
+ "type": "null"
2080
+ }
2081
+ ]
2082
+ },
2083
+ "+predicates": {
2084
+ "type": [
2085
+ "array",
2086
+ "null"
2087
+ ],
2088
+ "items": {
2089
+ "type": "string"
2090
+ }
2091
+ },
2092
+ "+query_tag": {
2093
+ "type": [
2094
+ "string",
2095
+ "null"
2096
+ ]
2097
+ },
2098
+ "+quoting": {
2099
+ "anyOf": [
2100
+ {
2101
+ "$ref": "#/definitions/DbtQuoting"
2102
+ },
2103
+ {
2104
+ "type": "null"
2105
+ }
2106
+ ]
2107
+ },
2108
+ "+refresh_interval_minutes": {
2109
+ "type": [
2110
+ "integer",
2111
+ "null"
2112
+ ],
2113
+ "format": "uint64",
2114
+ "minimum": 0.0
2115
+ },
2116
+ "+refresh_mode": {
2117
+ "type": [
2118
+ "string",
2119
+ "null"
2120
+ ]
2121
+ },
2122
+ "+require_partition_filter": {
2123
+ "type": [
2124
+ "boolean",
2125
+ "null"
2126
+ ]
2127
+ },
2128
+ "+row_access_policy": {
2129
+ "type": [
2130
+ "string",
2131
+ "null"
2132
+ ]
2133
+ },
2134
+ "+schedule": {
2135
+ "anyOf": [
2136
+ {
2137
+ "$ref": "#/definitions/ScheduleConfig"
2138
+ },
2139
+ {
2140
+ "type": "null"
2141
+ }
2142
+ ]
2143
+ },
2144
+ "+schema": {
2145
+ "type": [
2146
+ "string",
2147
+ "null"
2148
+ ]
2149
+ },
2150
+ "+secure": {
2151
+ "type": [
2152
+ "boolean",
2153
+ "null"
2154
+ ]
2155
+ },
2156
+ "+skip_matched_step": {
2157
+ "type": [
2158
+ "boolean",
2159
+ "null"
2160
+ ]
2161
+ },
2162
+ "+skip_not_matched_step": {
2163
+ "type": [
2164
+ "boolean",
2165
+ "null"
2166
+ ]
2167
+ },
2168
+ "+snowflake_warehouse": {
2169
+ "type": [
2170
+ "string",
2171
+ "null"
2172
+ ]
2173
+ },
2174
+ "+sort": {
2175
+ "anyOf": [
2176
+ {
2177
+ "$ref": "#/definitions/StringOrArrayOfStrings"
2178
+ },
2179
+ {
2180
+ "type": "null"
2181
+ }
2182
+ ]
2183
+ },
2184
+ "+sort_type": {
2185
+ "type": [
2186
+ "string",
2187
+ "null"
2188
+ ]
2189
+ },
2190
+ "+source_alias": {
2191
+ "type": [
2192
+ "string",
2193
+ "null"
2194
+ ]
2195
+ },
2196
+ "+sql_header": {
2197
+ "type": [
2198
+ "string",
2199
+ "null"
2200
+ ]
2201
+ },
2202
+ "+static_analysis": {
2203
+ "anyOf": [
2204
+ {
2205
+ "$ref": "#/definitions/StaticAnalysisKind"
2206
+ },
2207
+ {
2208
+ "type": "null"
2209
+ }
2210
+ ]
2211
+ },
2212
+ "+table_format": {
2213
+ "type": [
2214
+ "string",
2215
+ "null"
2216
+ ]
2217
+ },
2218
+ "+table_tag": {
2219
+ "type": [
2220
+ "string",
2221
+ "null"
2222
+ ]
2223
+ },
2224
+ "+table_type": {
2225
+ "type": [
2226
+ "string",
2227
+ "null"
2228
+ ]
2229
+ },
2230
+ "+tags": {
2231
+ "$ref": "#/definitions/StringOrArrayOfStrings"
2232
+ },
2233
+ "+target_alias": {
2234
+ "type": [
2235
+ "string",
2236
+ "null"
2237
+ ]
2238
+ },
2239
+ "+target_lag": {
2240
+ "type": [
2241
+ "string",
2242
+ "null"
2243
+ ]
2244
+ },
2245
+ "+tblproperties": {
2246
+ "type": [
2247
+ "object",
2248
+ "null"
2249
+ ],
2250
+ "additionalProperties": {
2251
+ "$ref": "#/definitions/AnyValue"
2252
+ }
2253
+ },
2254
+ "+tmp_relation_type": {
2255
+ "type": [
2256
+ "string",
2257
+ "null"
2258
+ ]
2259
+ },
2260
+ "+transient": {
2261
+ "type": [
2262
+ "boolean",
2263
+ "null"
2264
+ ]
2265
+ },
2266
+ "+unique_key": {
2267
+ "anyOf": [
2268
+ {
2269
+ "$ref": "#/definitions/DbtUniqueKey"
2270
+ },
2271
+ {
2272
+ "type": "null"
2273
+ }
2274
+ ]
2275
+ }
2276
+ },
2277
+ "additionalProperties": {
2278
+ "$ref": "#/definitions/ProjectModelConfig"
2279
+ }
2280
+ },
2281
+ "ProjectSavedQueriesConfig": {
2282
+ "type": "object",
2283
+ "properties": {
2284
+ "+cache": {
2285
+ "anyOf": [
2286
+ {
2287
+ "$ref": "#/definitions/SavedQueriesConfigCache"
2288
+ },
2289
+ {
2290
+ "type": "null"
2291
+ }
2292
+ ]
2293
+ },
2294
+ "+enabled": {
2295
+ "type": [
2296
+ "boolean",
2297
+ "null"
2298
+ ]
2299
+ },
2300
+ "+export_as": {
2301
+ "anyOf": [
2302
+ {
2303
+ "$ref": "#/definitions/ExportConfigExportAs"
2304
+ },
2305
+ {
2306
+ "type": "null"
2307
+ }
2308
+ ]
2309
+ },
2310
+ "+group": {
2311
+ "type": [
2312
+ "string",
2313
+ "null"
2314
+ ]
2315
+ },
2316
+ "+meta": {
2317
+ "type": [
2318
+ "object",
2319
+ "null"
2320
+ ],
2321
+ "additionalProperties": {
2322
+ "$ref": "#/definitions/AnyValue"
2323
+ }
2324
+ },
2325
+ "+schema": {
2326
+ "type": [
2327
+ "string",
2328
+ "null"
2329
+ ]
2330
+ },
2331
+ "+tags": {
2332
+ "anyOf": [
2333
+ {
2334
+ "$ref": "#/definitions/StringOrArrayOfStrings"
2335
+ },
2336
+ {
2337
+ "type": "null"
2338
+ }
2339
+ ]
2340
+ }
2341
+ },
2342
+ "additionalProperties": {
2343
+ "$ref": "#/definitions/ProjectSavedQueriesConfig"
2344
+ }
2345
+ },
2346
+ "ProjectSeedConfig": {
2347
+ "type": "object",
2348
+ "properties": {
2349
+ "+alias": {
2350
+ "type": [
2351
+ "string",
2352
+ "null"
2353
+ ]
2354
+ },
2355
+ "+as_columnstore": {
2356
+ "type": [
2357
+ "boolean",
2358
+ "null"
2359
+ ]
2360
+ },
2361
+ "+auto_liquid_cluster": {
2362
+ "type": [
2363
+ "boolean",
2364
+ "null"
2365
+ ]
2366
+ },
2367
+ "+auto_refresh": {
2368
+ "type": [
2369
+ "boolean",
2370
+ "null"
2371
+ ]
2372
+ },
2373
+ "+automatic_clustering": {
2374
+ "type": [
2375
+ "boolean",
2376
+ "null"
2377
+ ]
2378
+ },
2379
+ "+backup": {
2380
+ "type": [
2381
+ "boolean",
2382
+ "null"
2383
+ ]
2384
+ },
2385
+ "+base_location_root": {
2386
+ "type": [
2387
+ "string",
2388
+ "null"
2389
+ ]
2390
+ },
2391
+ "+base_location_subpath": {
2392
+ "type": [
2393
+ "string",
2394
+ "null"
2395
+ ]
2396
+ },
2397
+ "+bind": {
2398
+ "type": [
2399
+ "boolean",
2400
+ "null"
2401
+ ]
2402
+ },
2403
+ "+buckets": {
2404
+ "type": [
2405
+ "integer",
2406
+ "null"
2407
+ ],
2408
+ "format": "int64"
2409
+ },
2410
+ "+catalog": {
2411
+ "type": [
2412
+ "string",
2413
+ "null"
2414
+ ]
2415
+ },
2416
+ "+cluster_by": {
2417
+ "anyOf": [
2418
+ {
2419
+ "$ref": "#/definitions/BigqueryClusterConfig"
2420
+ },
2421
+ {
2422
+ "type": "null"
2423
+ }
2424
+ ]
2425
+ },
2426
+ "+clustered_by": {
2427
+ "type": [
2428
+ "string",
2429
+ "null"
2430
+ ]
2431
+ },
2432
+ "+column_types": {
2433
+ "type": [
2434
+ "object",
2435
+ "null"
2436
+ ],
2437
+ "additionalProperties": {
2438
+ "type": "string"
2439
+ }
2440
+ },
2441
+ "+compression": {
2442
+ "type": [
2443
+ "string",
2444
+ "null"
2445
+ ]
2446
+ },
2447
+ "+copy_grants": {
2448
+ "type": [
2449
+ "boolean",
2450
+ "null"
2451
+ ]
2452
+ },
2453
+ "+database": {
2454
+ "type": [
2455
+ "string",
2456
+ "null"
2457
+ ]
2458
+ },
2459
+ "+databricks_compute": {
2460
+ "type": [
2461
+ "string",
2462
+ "null"
2463
+ ]
2464
+ },
2465
+ "+databricks_tags": {
2466
+ "type": [
2467
+ "object",
2468
+ "null"
2469
+ ],
2470
+ "additionalProperties": {
2471
+ "$ref": "#/definitions/AnyValue"
2472
+ }
2473
+ },
2474
+ "+delimiter": {
2475
+ "type": [
2476
+ "string",
2477
+ "null"
2478
+ ]
2479
+ },
2480
+ "+description": {
2481
+ "type": [
2482
+ "string",
2483
+ "null"
2484
+ ]
2485
+ },
2486
+ "+dist": {
2487
+ "type": [
2488
+ "string",
2489
+ "null"
2490
+ ]
2491
+ },
2492
+ "+docs": {
2493
+ "anyOf": [
2494
+ {
2495
+ "$ref": "#/definitions/DocsConfig"
2496
+ },
2497
+ {
2498
+ "type": "null"
2499
+ }
2500
+ ]
2501
+ },
2502
+ "+enable_refresh": {
2503
+ "type": [
2504
+ "boolean",
2505
+ "null"
2506
+ ]
2507
+ },
2508
+ "+enabled": {
2509
+ "type": [
2510
+ "boolean",
2511
+ "null"
2512
+ ]
2513
+ },
2514
+ "+event_time": {
2515
+ "type": [
2516
+ "string",
2517
+ "null"
2518
+ ]
2519
+ },
2520
+ "+external_volume": {
2521
+ "type": [
2522
+ "string",
2523
+ "null"
2524
+ ]
2525
+ },
2526
+ "+file_format": {
2527
+ "type": [
2528
+ "string",
2529
+ "null"
2530
+ ]
2531
+ },
2532
+ "+full_refresh": {
2533
+ "type": [
2534
+ "boolean",
2535
+ "null"
2536
+ ]
2537
+ },
2538
+ "+grant_access_to": {
2539
+ "type": [
2540
+ "array",
2541
+ "null"
2542
+ ],
2543
+ "items": {
2544
+ "$ref": "#/definitions/GrantAccessToTarget"
2545
+ }
2546
+ },
2547
+ "+grants": {
2548
+ "type": [
2549
+ "object",
2550
+ "null"
2551
+ ],
2552
+ "additionalProperties": {
2553
+ "$ref": "#/definitions/StringOrArrayOfStrings"
2554
+ }
2555
+ },
2556
+ "+group": {
2557
+ "type": [
2558
+ "string",
2559
+ "null"
2560
+ ]
2561
+ },
2562
+ "+hours_to_expiration": {
2563
+ "type": [
2564
+ "integer",
2565
+ "null"
2566
+ ],
2567
+ "format": "uint64",
2568
+ "minimum": 0.0
2569
+ },
2570
+ "+include_full_name_in_path": {
2571
+ "type": [
2572
+ "boolean",
2573
+ "null"
2574
+ ]
2575
+ },
2576
+ "+indexes": {
2577
+ "type": [
2578
+ "array",
2579
+ "null"
2580
+ ],
2581
+ "items": {
2582
+ "$ref": "#/definitions/PostgresIndex"
2583
+ }
2584
+ },
2585
+ "+initialize": {
2586
+ "type": [
2587
+ "string",
2588
+ "null"
2589
+ ]
2590
+ },
2591
+ "+kms_key_name": {
2592
+ "type": [
2593
+ "string",
2594
+ "null"
2595
+ ]
2596
+ },
2597
+ "+labels": {
2598
+ "type": [
2599
+ "object",
2600
+ "null"
2601
+ ],
2602
+ "additionalProperties": {
2603
+ "type": "string"
2604
+ }
2605
+ },
2606
+ "+labels_from_meta": {
2607
+ "type": [
2608
+ "boolean",
2609
+ "null"
2610
+ ]
2611
+ },
2612
+ "+liquid_clustered_by": {
2613
+ "anyOf": [
2614
+ {
2615
+ "$ref": "#/definitions/StringOrArrayOfStrings"
2616
+ },
2617
+ {
2618
+ "type": "null"
2619
+ }
2620
+ ]
2621
+ },
2622
+ "+location_root": {
2623
+ "type": [
2624
+ "string",
2625
+ "null"
2626
+ ]
2627
+ },
2628
+ "+matched_condition": {
2629
+ "type": [
2630
+ "string",
2631
+ "null"
2632
+ ]
2633
+ },
2634
+ "+max_staleness": {
2635
+ "type": [
2636
+ "string",
2637
+ "null"
2638
+ ]
2639
+ },
2640
+ "+merge_with_schema_evolution": {
2641
+ "type": [
2642
+ "boolean",
2643
+ "null"
2644
+ ]
2645
+ },
2646
+ "+meta": {
2647
+ "type": [
2648
+ "object",
2649
+ "null"
2650
+ ],
2651
+ "additionalProperties": {
2652
+ "$ref": "#/definitions/AnyValue"
2653
+ }
2654
+ },
2655
+ "+not_matched_by_source_action": {
2656
+ "type": [
2657
+ "string",
2658
+ "null"
2659
+ ]
2660
+ },
2661
+ "+not_matched_by_source_condition": {
2662
+ "type": [
2663
+ "string",
2664
+ "null"
2665
+ ]
2666
+ },
2667
+ "+not_matched_condition": {
2668
+ "type": [
2669
+ "string",
2670
+ "null"
2671
+ ]
2672
+ },
2673
+ "+partition_by": {
2674
+ "anyOf": [
2675
+ {
2676
+ "$ref": "#/definitions/PartitionConfig"
2677
+ },
2678
+ {
2679
+ "type": "null"
2680
+ }
2681
+ ]
2682
+ },
2683
+ "+partition_expiration_days": {
2684
+ "type": [
2685
+ "integer",
2686
+ "null"
2687
+ ],
2688
+ "format": "uint64",
2689
+ "minimum": 0.0
2690
+ },
2691
+ "+partitions": {
2692
+ "type": [
2693
+ "array",
2694
+ "null"
2695
+ ],
2696
+ "items": {
2697
+ "type": "string"
2698
+ }
2699
+ },
2700
+ "+persist_docs": {
2701
+ "anyOf": [
2702
+ {
2703
+ "$ref": "#/definitions/PersistDocsConfig"
2704
+ },
2705
+ {
2706
+ "type": "null"
2707
+ }
2708
+ ]
2709
+ },
2710
+ "+post-hook": {
2711
+ "anyOf": [
2712
+ {
2713
+ "$ref": "#/definitions/Hooks"
2714
+ },
2715
+ {
2716
+ "type": "null"
2717
+ }
2718
+ ]
2719
+ },
2720
+ "+pre-hook": {
2721
+ "anyOf": [
2722
+ {
2723
+ "$ref": "#/definitions/Hooks"
2724
+ },
2725
+ {
2726
+ "type": "null"
2727
+ }
2728
+ ]
2729
+ },
2730
+ "+query_tag": {
2731
+ "type": [
2732
+ "string",
2733
+ "null"
2734
+ ]
2735
+ },
2736
+ "+quote_columns": {
2737
+ "type": [
2738
+ "boolean",
2739
+ "null"
2740
+ ]
2741
+ },
2742
+ "+quoting": {
2743
+ "anyOf": [
2744
+ {
2745
+ "$ref": "#/definitions/DbtQuoting"
2746
+ },
2747
+ {
2748
+ "type": "null"
2749
+ }
2750
+ ]
2751
+ },
2752
+ "+refresh_interval_minutes": {
2753
+ "type": [
2754
+ "integer",
2755
+ "null"
2756
+ ],
2757
+ "format": "uint64",
2758
+ "minimum": 0.0
2759
+ },
2760
+ "+refresh_mode": {
2761
+ "type": [
2762
+ "string",
2763
+ "null"
2764
+ ]
2765
+ },
2766
+ "+require_partition_filter": {
2767
+ "type": [
2768
+ "boolean",
2769
+ "null"
2770
+ ]
2771
+ },
2772
+ "+row_access_policy": {
2773
+ "type": [
2774
+ "string",
2775
+ "null"
2776
+ ]
2777
+ },
2778
+ "+schedule": {
2779
+ "anyOf": [
2780
+ {
2781
+ "$ref": "#/definitions/ScheduleConfig"
2782
+ },
2783
+ {
2784
+ "type": "null"
2785
+ }
2786
+ ]
2787
+ },
2788
+ "+schema": {
2789
+ "type": [
2790
+ "string",
2791
+ "null"
2792
+ ]
2793
+ },
2794
+ "+secure": {
2795
+ "type": [
2796
+ "boolean",
2797
+ "null"
2798
+ ]
2799
+ },
2800
+ "+skip_matched_step": {
2801
+ "type": [
2802
+ "boolean",
2803
+ "null"
2804
+ ]
2805
+ },
2806
+ "+skip_not_matched_step": {
2807
+ "type": [
2808
+ "boolean",
2809
+ "null"
2810
+ ]
2811
+ },
2812
+ "+snowflake_warehouse": {
2813
+ "type": [
2814
+ "string",
2815
+ "null"
2816
+ ]
2817
+ },
2818
+ "+sort": {
2819
+ "anyOf": [
2820
+ {
2821
+ "$ref": "#/definitions/StringOrArrayOfStrings"
2822
+ },
2823
+ {
2824
+ "type": "null"
2825
+ }
2826
+ ]
2827
+ },
2828
+ "+sort_type": {
2829
+ "type": [
2830
+ "string",
2831
+ "null"
2832
+ ]
2833
+ },
2834
+ "+source_alias": {
2835
+ "type": [
2836
+ "string",
2837
+ "null"
2838
+ ]
2839
+ },
2840
+ "+table_tag": {
2841
+ "type": [
2842
+ "string",
2843
+ "null"
2844
+ ]
2845
+ },
2846
+ "+table_type": {
2847
+ "type": [
2848
+ "string",
2849
+ "null"
2850
+ ]
2851
+ },
2852
+ "+tags": {
2853
+ "anyOf": [
2854
+ {
2855
+ "$ref": "#/definitions/StringOrArrayOfStrings"
2856
+ },
2857
+ {
2858
+ "type": "null"
2859
+ }
2860
+ ]
2861
+ },
2862
+ "+target_alias": {
2863
+ "type": [
2864
+ "string",
2865
+ "null"
2866
+ ]
2867
+ },
2868
+ "+target_lag": {
2869
+ "type": [
2870
+ "string",
2871
+ "null"
2872
+ ]
2873
+ },
2874
+ "+tblproperties": {
2875
+ "type": [
2876
+ "object",
2877
+ "null"
2878
+ ],
2879
+ "additionalProperties": {
2880
+ "$ref": "#/definitions/AnyValue"
2881
+ }
2882
+ },
2883
+ "+tmp_relation_type": {
2884
+ "type": [
2885
+ "string",
2886
+ "null"
2887
+ ]
2888
+ },
2889
+ "+transient": {
2890
+ "type": [
2891
+ "boolean",
2892
+ "null"
2893
+ ]
2894
+ }
2895
+ },
2896
+ "additionalProperties": {
2897
+ "$ref": "#/definitions/ProjectSeedConfig"
2898
+ }
2899
+ },
2900
+ "ProjectSemanticModelConfig": {
2901
+ "type": "object",
2902
+ "properties": {
2903
+ "+tags": {
2904
+ "anyOf": [
2905
+ {
2906
+ "$ref": "#/definitions/StringOrArrayOfStrings"
2907
+ },
2908
+ {
2909
+ "type": "null"
2910
+ }
2911
+ ]
2912
+ },
2913
+ "enabled": {
2914
+ "type": [
2915
+ "boolean",
2916
+ "null"
2917
+ ]
2918
+ },
2919
+ "group": {
2920
+ "type": [
2921
+ "string",
2922
+ "null"
2923
+ ]
2924
+ },
2925
+ "meta": {
2926
+ "type": [
2927
+ "object",
2928
+ "null"
2929
+ ],
2930
+ "additionalProperties": {
2931
+ "$ref": "#/definitions/AnyValue"
2932
+ }
2933
+ }
2934
+ },
2935
+ "additionalProperties": {
2936
+ "$ref": "#/definitions/ProjectSemanticModelConfig"
2937
+ }
2938
+ },
2939
+ "ProjectSnapshotConfig": {
2940
+ "type": "object",
2941
+ "properties": {
2942
+ "+alias": {
2943
+ "type": [
2944
+ "string",
2945
+ "null"
2946
+ ]
2947
+ },
2948
+ "+as_columnstore": {
2949
+ "type": [
2950
+ "boolean",
2951
+ "null"
2952
+ ]
2953
+ },
2954
+ "+auto_liquid_cluster": {
2955
+ "type": [
2956
+ "boolean",
2957
+ "null"
2958
+ ]
2959
+ },
2960
+ "+auto_refresh": {
2961
+ "type": [
2962
+ "boolean",
2963
+ "null"
2964
+ ]
2965
+ },
2966
+ "+automatic_clustering": {
2967
+ "type": [
2968
+ "boolean",
2969
+ "null"
2970
+ ]
2971
+ },
2972
+ "+backup": {
2973
+ "type": [
2974
+ "boolean",
2975
+ "null"
2976
+ ]
2977
+ },
2978
+ "+base_location_root": {
2979
+ "type": [
2980
+ "string",
2981
+ "null"
2982
+ ]
2983
+ },
2984
+ "+base_location_subpath": {
2985
+ "type": [
2986
+ "string",
2987
+ "null"
2988
+ ]
2989
+ },
2990
+ "+bind": {
2991
+ "type": [
2992
+ "boolean",
2993
+ "null"
2994
+ ]
2995
+ },
2996
+ "+buckets": {
2997
+ "type": [
2998
+ "integer",
2999
+ "null"
3000
+ ],
3001
+ "format": "int64"
3002
+ },
3003
+ "+catalog": {
3004
+ "type": [
3005
+ "string",
3006
+ "null"
3007
+ ]
3008
+ },
3009
+ "+check_cols": {
3010
+ "anyOf": [
3011
+ {
3012
+ "$ref": "#/definitions/StringOrArrayOfStrings"
3013
+ },
3014
+ {
3015
+ "type": "null"
3016
+ }
3017
+ ]
3018
+ },
3019
+ "+cluster_by": {
3020
+ "anyOf": [
3021
+ {
3022
+ "$ref": "#/definitions/BigqueryClusterConfig"
3023
+ },
3024
+ {
3025
+ "type": "null"
3026
+ }
3027
+ ]
3028
+ },
3029
+ "+clustered_by": {
3030
+ "type": [
3031
+ "string",
3032
+ "null"
3033
+ ]
3034
+ },
3035
+ "+compression": {
3036
+ "type": [
3037
+ "string",
3038
+ "null"
3039
+ ]
3040
+ },
3041
+ "+copy_grants": {
3042
+ "type": [
3043
+ "boolean",
3044
+ "null"
3045
+ ]
3046
+ },
3047
+ "+database": {
3048
+ "type": [
3049
+ "string",
3050
+ "null"
3051
+ ]
3052
+ },
3053
+ "+databricks_compute": {
3054
+ "type": [
3055
+ "string",
3056
+ "null"
3057
+ ]
3058
+ },
3059
+ "+databricks_tags": {
3060
+ "type": [
3061
+ "object",
3062
+ "null"
3063
+ ],
3064
+ "additionalProperties": {
3065
+ "$ref": "#/definitions/AnyValue"
3066
+ }
3067
+ },
3068
+ "+dbt_valid_to_current": {
3069
+ "type": [
3070
+ "string",
3071
+ "null"
3072
+ ]
3073
+ },
3074
+ "+description": {
3075
+ "type": [
3076
+ "string",
3077
+ "null"
3078
+ ]
3079
+ },
3080
+ "+dist": {
3081
+ "type": [
3082
+ "string",
3083
+ "null"
3084
+ ]
3085
+ },
3086
+ "+docs": {
3087
+ "anyOf": [
3088
+ {
3089
+ "$ref": "#/definitions/DocsConfig"
3090
+ },
3091
+ {
3092
+ "type": "null"
3093
+ }
3094
+ ]
3095
+ },
3096
+ "+enable_refresh": {
3097
+ "type": [
3098
+ "boolean",
3099
+ "null"
3100
+ ]
3101
+ },
3102
+ "+enabled": {
3103
+ "type": [
3104
+ "boolean",
3105
+ "null"
3106
+ ]
3107
+ },
3108
+ "+event_time": {
3109
+ "type": [
3110
+ "string",
3111
+ "null"
3112
+ ]
3113
+ },
3114
+ "+external_volume": {
3115
+ "type": [
3116
+ "string",
3117
+ "null"
3118
+ ]
3119
+ },
3120
+ "+file_format": {
3121
+ "type": [
3122
+ "string",
3123
+ "null"
3124
+ ]
3125
+ },
3126
+ "+grant_access_to": {
3127
+ "type": [
3128
+ "array",
3129
+ "null"
3130
+ ],
3131
+ "items": {
3132
+ "$ref": "#/definitions/GrantAccessToTarget"
3133
+ }
3134
+ },
3135
+ "+grants": {
3136
+ "type": [
3137
+ "object",
3138
+ "null"
3139
+ ],
3140
+ "additionalProperties": {
3141
+ "$ref": "#/definitions/StringOrArrayOfStrings"
3142
+ }
3143
+ },
3144
+ "+group": {
3145
+ "type": [
3146
+ "string",
3147
+ "null"
3148
+ ]
3149
+ },
3150
+ "+hard_deletes": {
3151
+ "anyOf": [
3152
+ {
3153
+ "$ref": "#/definitions/HardDeletes"
3154
+ },
3155
+ {
3156
+ "type": "null"
3157
+ }
3158
+ ]
3159
+ },
3160
+ "+hours_to_expiration": {
3161
+ "type": [
3162
+ "integer",
3163
+ "null"
3164
+ ],
3165
+ "format": "uint64",
3166
+ "minimum": 0.0
3167
+ },
3168
+ "+include_full_name_in_path": {
3169
+ "type": [
3170
+ "boolean",
3171
+ "null"
3172
+ ]
3173
+ },
3174
+ "+indexes": {
3175
+ "type": [
3176
+ "array",
3177
+ "null"
3178
+ ],
3179
+ "items": {
3180
+ "$ref": "#/definitions/PostgresIndex"
3181
+ }
3182
+ },
3183
+ "+initialize": {
3184
+ "type": [
3185
+ "string",
3186
+ "null"
3187
+ ]
3188
+ },
3189
+ "+invalidate_hard_deletes": {
3190
+ "type": [
3191
+ "boolean",
3192
+ "null"
3193
+ ]
3194
+ },
3195
+ "+kms_key_name": {
3196
+ "type": [
3197
+ "string",
3198
+ "null"
3199
+ ]
3200
+ },
3201
+ "+labels": {
3202
+ "type": [
3203
+ "object",
3204
+ "null"
3205
+ ],
3206
+ "additionalProperties": {
3207
+ "type": "string"
3208
+ }
3209
+ },
3210
+ "+labels_from_meta": {
3211
+ "type": [
3212
+ "boolean",
3213
+ "null"
3214
+ ]
3215
+ },
3216
+ "+liquid_clustered_by": {
3217
+ "anyOf": [
3218
+ {
3219
+ "$ref": "#/definitions/StringOrArrayOfStrings"
3220
+ },
3221
+ {
3222
+ "type": "null"
3223
+ }
3224
+ ]
3225
+ },
3226
+ "+location_root": {
3227
+ "type": [
3228
+ "string",
3229
+ "null"
3230
+ ]
3231
+ },
3232
+ "+matched_condition": {
3233
+ "type": [
3234
+ "string",
3235
+ "null"
3236
+ ]
3237
+ },
3238
+ "+materialized": {
3239
+ "anyOf": [
3240
+ {
3241
+ "$ref": "#/definitions/DbtMaterialization"
3242
+ },
3243
+ {
3244
+ "type": "null"
3245
+ }
3246
+ ]
3247
+ },
3248
+ "+max_staleness": {
3249
+ "type": [
3250
+ "string",
3251
+ "null"
3252
+ ]
3253
+ },
3254
+ "+merge_with_schema_evolution": {
3255
+ "type": [
3256
+ "boolean",
3257
+ "null"
3258
+ ]
3259
+ },
3260
+ "+meta": {
3261
+ "type": [
3262
+ "object",
3263
+ "null"
3264
+ ],
3265
+ "additionalProperties": {
3266
+ "$ref": "#/definitions/AnyValue"
3267
+ }
3268
+ },
3269
+ "+not_matched_by_source_action": {
3270
+ "type": [
3271
+ "string",
3272
+ "null"
3273
+ ]
3274
+ },
3275
+ "+not_matched_by_source_condition": {
3276
+ "type": [
3277
+ "string",
3278
+ "null"
3279
+ ]
3280
+ },
3281
+ "+not_matched_condition": {
3282
+ "type": [
3283
+ "string",
3284
+ "null"
3285
+ ]
3286
+ },
3287
+ "+partition_by": {
3288
+ "anyOf": [
3289
+ {
3290
+ "$ref": "#/definitions/PartitionConfig"
3291
+ },
3292
+ {
3293
+ "type": "null"
3294
+ }
3295
+ ]
3296
+ },
3297
+ "+partition_expiration_days": {
3298
+ "type": [
3299
+ "integer",
3300
+ "null"
3301
+ ],
3302
+ "format": "uint64",
3303
+ "minimum": 0.0
3304
+ },
3305
+ "+partitions": {
3306
+ "type": [
3307
+ "array",
3308
+ "null"
3309
+ ],
3310
+ "items": {
3311
+ "type": "string"
3312
+ }
3313
+ },
3314
+ "+persist_docs": {
3315
+ "anyOf": [
3316
+ {
3317
+ "$ref": "#/definitions/PersistDocsConfig"
3318
+ },
3319
+ {
3320
+ "type": "null"
3321
+ }
3322
+ ]
3323
+ },
3324
+ "+post-hook": {
3325
+ "anyOf": [
3326
+ {
3327
+ "$ref": "#/definitions/Hooks"
3328
+ },
3329
+ {
3330
+ "type": "null"
3331
+ }
3332
+ ]
3333
+ },
3334
+ "+pre-hook": {
3335
+ "anyOf": [
3336
+ {
3337
+ "$ref": "#/definitions/Hooks"
3338
+ },
3339
+ {
3340
+ "type": "null"
3341
+ }
3342
+ ]
3343
+ },
3344
+ "+query_tag": {
3345
+ "type": [
3346
+ "string",
3347
+ "null"
3348
+ ]
3349
+ },
3350
+ "+quote_columns": {
3351
+ "type": [
3352
+ "boolean",
3353
+ "null"
3354
+ ]
3355
+ },
3356
+ "+quoting": {
3357
+ "anyOf": [
3358
+ {
3359
+ "$ref": "#/definitions/DbtQuoting"
3360
+ },
3361
+ {
3362
+ "type": "null"
3363
+ }
3364
+ ]
3365
+ },
3366
+ "+refresh_interval_minutes": {
3367
+ "type": [
3368
+ "integer",
3369
+ "null"
3370
+ ],
3371
+ "format": "uint64",
3372
+ "minimum": 0.0
3373
+ },
3374
+ "+refresh_mode": {
3375
+ "type": [
3376
+ "string",
3377
+ "null"
3378
+ ]
3379
+ },
3380
+ "+require_partition_filter": {
3381
+ "type": [
3382
+ "boolean",
3383
+ "null"
3384
+ ]
3385
+ },
3386
+ "+row_access_policy": {
3387
+ "type": [
3388
+ "string",
3389
+ "null"
3390
+ ]
3391
+ },
3392
+ "+schedule": {
3393
+ "anyOf": [
3394
+ {
3395
+ "$ref": "#/definitions/ScheduleConfig"
3396
+ },
3397
+ {
3398
+ "type": "null"
3399
+ }
3400
+ ]
3401
+ },
3402
+ "+schema": {
3403
+ "type": [
3404
+ "string",
3405
+ "null"
3406
+ ]
3407
+ },
3408
+ "+secure": {
3409
+ "type": [
3410
+ "boolean",
3411
+ "null"
3412
+ ]
3413
+ },
3414
+ "+skip_matched_step": {
3415
+ "type": [
3416
+ "boolean",
3417
+ "null"
3418
+ ]
3419
+ },
3420
+ "+skip_not_matched_step": {
3421
+ "type": [
3422
+ "boolean",
3423
+ "null"
3424
+ ]
3425
+ },
3426
+ "+snapshot_meta_column_names": {
3427
+ "anyOf": [
3428
+ {
3429
+ "$ref": "#/definitions/SnapshotMetaColumnNames"
3430
+ },
3431
+ {
3432
+ "type": "null"
3433
+ }
3434
+ ]
3435
+ },
3436
+ "+snowflake_warehouse": {
3437
+ "type": [
3438
+ "string",
3439
+ "null"
3440
+ ]
3441
+ },
3442
+ "+sort": {
3443
+ "anyOf": [
3444
+ {
3445
+ "$ref": "#/definitions/StringOrArrayOfStrings"
3446
+ },
3447
+ {
3448
+ "type": "null"
3449
+ }
3450
+ ]
3451
+ },
3452
+ "+sort_type": {
3453
+ "type": [
3454
+ "string",
3455
+ "null"
3456
+ ]
3457
+ },
3458
+ "+source_alias": {
3459
+ "type": [
3460
+ "string",
3461
+ "null"
3462
+ ]
3463
+ },
3464
+ "+static_analysis": {
3465
+ "anyOf": [
3466
+ {
3467
+ "$ref": "#/definitions/StaticAnalysisKind"
3468
+ },
3469
+ {
3470
+ "type": "null"
3471
+ }
3472
+ ]
3473
+ },
3474
+ "+strategy": {
3475
+ "type": [
3476
+ "string",
3477
+ "null"
3478
+ ]
3479
+ },
3480
+ "+table_tag": {
3481
+ "type": [
3482
+ "string",
3483
+ "null"
3484
+ ]
3485
+ },
3486
+ "+table_type": {
3487
+ "type": [
3488
+ "string",
3489
+ "null"
3490
+ ]
3491
+ },
3492
+ "+tags": {
3493
+ "anyOf": [
3494
+ {
3495
+ "$ref": "#/definitions/StringOrArrayOfStrings"
3496
+ },
3497
+ {
3498
+ "type": "null"
3499
+ }
3500
+ ]
3501
+ },
3502
+ "+target_alias": {
3503
+ "type": [
3504
+ "string",
3505
+ "null"
3506
+ ]
3507
+ },
3508
+ "+target_lag": {
3509
+ "type": [
3510
+ "string",
3511
+ "null"
3512
+ ]
3513
+ },
3514
+ "+tblproperties": {
3515
+ "type": [
3516
+ "object",
3517
+ "null"
3518
+ ],
3519
+ "additionalProperties": {
3520
+ "$ref": "#/definitions/AnyValue"
3521
+ }
3522
+ },
3523
+ "+tmp_relation_type": {
3524
+ "type": [
3525
+ "string",
3526
+ "null"
3527
+ ]
3528
+ },
3529
+ "+transient": {
3530
+ "type": [
3531
+ "boolean",
3532
+ "null"
3533
+ ]
3534
+ },
3535
+ "+unique_key": {
3536
+ "anyOf": [
3537
+ {
3538
+ "$ref": "#/definitions/StringOrArrayOfStrings"
3539
+ },
3540
+ {
3541
+ "type": "null"
3542
+ }
3543
+ ]
3544
+ },
3545
+ "+updated_at": {
3546
+ "type": [
3547
+ "string",
3548
+ "null"
3549
+ ]
3550
+ }
3551
+ },
3552
+ "additionalProperties": {
3553
+ "$ref": "#/definitions/ProjectSnapshotConfig"
3554
+ }
3555
+ },
3556
+ "ProjectSourceConfig": {
3557
+ "type": "object",
3558
+ "properties": {
3559
+ "+as_columnstore": {
3560
+ "type": [
3561
+ "boolean",
3562
+ "null"
3563
+ ]
3564
+ },
3565
+ "+auto_liquid_cluster": {
3566
+ "type": [
3567
+ "boolean",
3568
+ "null"
3569
+ ]
3570
+ },
3571
+ "+auto_refresh": {
3572
+ "type": [
3573
+ "boolean",
3574
+ "null"
3575
+ ]
3576
+ },
3577
+ "+automatic_clustering": {
3578
+ "type": [
3579
+ "boolean",
3580
+ "null"
3581
+ ]
3582
+ },
3583
+ "+backup": {
3584
+ "type": [
3585
+ "boolean",
3586
+ "null"
3587
+ ]
3588
+ },
3589
+ "+base_location_root": {
3590
+ "type": [
3591
+ "string",
3592
+ "null"
3593
+ ]
3594
+ },
3595
+ "+base_location_subpath": {
3596
+ "type": [
3597
+ "string",
3598
+ "null"
3599
+ ]
3600
+ },
3601
+ "+bind": {
3602
+ "type": [
3603
+ "boolean",
3604
+ "null"
3605
+ ]
3606
+ },
3607
+ "+buckets": {
3608
+ "type": [
3609
+ "integer",
3610
+ "null"
3611
+ ],
3612
+ "format": "int64"
3613
+ },
3614
+ "+catalog": {
3615
+ "type": [
3616
+ "string",
3617
+ "null"
3618
+ ]
3619
+ },
3620
+ "+cluster_by": {
3621
+ "anyOf": [
3622
+ {
3623
+ "$ref": "#/definitions/BigqueryClusterConfig"
3624
+ },
3625
+ {
3626
+ "type": "null"
3627
+ }
3628
+ ]
3629
+ },
3630
+ "+clustered_by": {
3631
+ "type": [
3632
+ "string",
3633
+ "null"
3634
+ ]
3635
+ },
3636
+ "+compression": {
3637
+ "type": [
3638
+ "string",
3639
+ "null"
3640
+ ]
3641
+ },
3642
+ "+copy_grants": {
3643
+ "type": [
3644
+ "boolean",
3645
+ "null"
3646
+ ]
3647
+ },
3648
+ "+databricks_compute": {
3649
+ "type": [
3650
+ "string",
3651
+ "null"
3652
+ ]
3653
+ },
3654
+ "+databricks_tags": {
3655
+ "type": [
3656
+ "object",
3657
+ "null"
3658
+ ],
3659
+ "additionalProperties": {
3660
+ "$ref": "#/definitions/AnyValue"
3661
+ }
3662
+ },
3663
+ "+description": {
3664
+ "type": [
3665
+ "string",
3666
+ "null"
3667
+ ]
3668
+ },
3669
+ "+dist": {
3670
+ "type": [
3671
+ "string",
3672
+ "null"
3673
+ ]
3674
+ },
3675
+ "+enable_refresh": {
3676
+ "type": [
3677
+ "boolean",
3678
+ "null"
3679
+ ]
3680
+ },
3681
+ "+enabled": {
3682
+ "type": [
3683
+ "boolean",
3684
+ "null"
3685
+ ]
3686
+ },
3687
+ "+event_time": {
3688
+ "type": [
3689
+ "string",
3690
+ "null"
3691
+ ]
3692
+ },
3693
+ "+external_volume": {
3694
+ "type": [
3695
+ "string",
3696
+ "null"
3697
+ ]
3698
+ },
3699
+ "+file_format": {
3700
+ "type": [
3701
+ "string",
3702
+ "null"
3703
+ ]
3704
+ },
3705
+ "+freshness": {
3706
+ "anyOf": [
3707
+ {
3708
+ "$ref": "#/definitions/FreshnessDefinition"
3709
+ },
3710
+ {
3711
+ "type": "null"
3712
+ }
3713
+ ]
3714
+ },
3715
+ "+grant_access_to": {
3716
+ "type": [
3717
+ "array",
3718
+ "null"
3719
+ ],
3720
+ "items": {
3721
+ "$ref": "#/definitions/GrantAccessToTarget"
3722
+ }
3723
+ },
3724
+ "+hours_to_expiration": {
3725
+ "type": [
3726
+ "integer",
3727
+ "null"
3728
+ ],
3729
+ "format": "uint64",
3730
+ "minimum": 0.0
3731
+ },
3732
+ "+include_full_name_in_path": {
3733
+ "type": [
3734
+ "boolean",
3735
+ "null"
3736
+ ]
3737
+ },
3738
+ "+indexes": {
3739
+ "type": [
3740
+ "array",
3741
+ "null"
3742
+ ],
3743
+ "items": {
3744
+ "$ref": "#/definitions/PostgresIndex"
3745
+ }
3746
+ },
3747
+ "+initialize": {
3748
+ "type": [
3749
+ "string",
3750
+ "null"
3751
+ ]
3752
+ },
3753
+ "+kms_key_name": {
3754
+ "type": [
3755
+ "string",
3756
+ "null"
3757
+ ]
3758
+ },
3759
+ "+labels": {
3760
+ "type": [
3761
+ "object",
3762
+ "null"
3763
+ ],
3764
+ "additionalProperties": {
3765
+ "type": "string"
3766
+ }
3767
+ },
3768
+ "+labels_from_meta": {
3769
+ "type": [
3770
+ "boolean",
3771
+ "null"
3772
+ ]
3773
+ },
3774
+ "+liquid_clustered_by": {
3775
+ "anyOf": [
3776
+ {
3777
+ "$ref": "#/definitions/StringOrArrayOfStrings"
3778
+ },
3779
+ {
3780
+ "type": "null"
3781
+ }
3782
+ ]
3783
+ },
3784
+ "+loaded_at_field": {
3785
+ "type": [
3786
+ "string",
3787
+ "null"
3788
+ ]
3789
+ },
3790
+ "+loaded_at_query": {
3791
+ "type": [
3792
+ "string",
3793
+ "null"
3794
+ ]
3795
+ },
3796
+ "+location_root": {
3797
+ "type": [
3798
+ "string",
3799
+ "null"
3800
+ ]
3801
+ },
3802
+ "+matched_condition": {
3803
+ "type": [
3804
+ "string",
3805
+ "null"
3806
+ ]
3807
+ },
3808
+ "+max_staleness": {
3809
+ "type": [
3810
+ "string",
3811
+ "null"
3812
+ ]
3813
+ },
3814
+ "+merge_with_schema_evolution": {
3815
+ "type": [
3816
+ "boolean",
3817
+ "null"
3818
+ ]
3819
+ },
3820
+ "+meta": {
3821
+ "type": [
3822
+ "object",
3823
+ "null"
3824
+ ],
3825
+ "additionalProperties": {
3826
+ "$ref": "#/definitions/AnyValue"
3827
+ }
3828
+ },
3829
+ "+not_matched_by_source_action": {
3830
+ "type": [
3831
+ "string",
3832
+ "null"
3833
+ ]
3834
+ },
3835
+ "+not_matched_by_source_condition": {
3836
+ "type": [
3837
+ "string",
3838
+ "null"
3839
+ ]
3840
+ },
3841
+ "+not_matched_condition": {
3842
+ "type": [
3843
+ "string",
3844
+ "null"
3845
+ ]
3846
+ },
3847
+ "+partition_by": {
3848
+ "anyOf": [
3849
+ {
3850
+ "$ref": "#/definitions/PartitionConfig"
3851
+ },
3852
+ {
3853
+ "type": "null"
3854
+ }
3855
+ ]
3856
+ },
3857
+ "+partition_expiration_days": {
3858
+ "type": [
3859
+ "integer",
3860
+ "null"
3861
+ ],
3862
+ "format": "uint64",
3863
+ "minimum": 0.0
3864
+ },
3865
+ "+partitions": {
3866
+ "type": [
3867
+ "array",
3868
+ "null"
3869
+ ],
3870
+ "items": {
3871
+ "type": "string"
3872
+ }
3873
+ },
3874
+ "+query_tag": {
3875
+ "type": [
3876
+ "string",
3877
+ "null"
3878
+ ]
3879
+ },
3880
+ "+quoting": {
3881
+ "anyOf": [
3882
+ {
3883
+ "$ref": "#/definitions/DbtQuoting"
3884
+ },
3885
+ {
3886
+ "type": "null"
3887
+ }
3888
+ ]
3889
+ },
3890
+ "+refresh_interval_minutes": {
3891
+ "type": [
3892
+ "integer",
3893
+ "null"
3894
+ ],
3895
+ "format": "uint64",
3896
+ "minimum": 0.0
3897
+ },
3898
+ "+refresh_mode": {
3899
+ "type": [
3900
+ "string",
3901
+ "null"
3902
+ ]
3903
+ },
3904
+ "+require_partition_filter": {
3905
+ "type": [
3906
+ "boolean",
3907
+ "null"
3908
+ ]
3909
+ },
3910
+ "+row_access_policy": {
3911
+ "type": [
3912
+ "string",
3913
+ "null"
3914
+ ]
3915
+ },
3916
+ "+schedule": {
3917
+ "anyOf": [
3918
+ {
3919
+ "$ref": "#/definitions/ScheduleConfig"
3920
+ },
3921
+ {
3922
+ "type": "null"
3923
+ }
3924
+ ]
3925
+ },
3926
+ "+secure": {
3927
+ "type": [
3928
+ "boolean",
3929
+ "null"
3930
+ ]
3931
+ },
3932
+ "+skip_matched_step": {
3933
+ "type": [
3934
+ "boolean",
3935
+ "null"
3936
+ ]
3937
+ },
3938
+ "+skip_not_matched_step": {
3939
+ "type": [
3940
+ "boolean",
3941
+ "null"
3942
+ ]
3943
+ },
3944
+ "+snowflake_warehouse": {
3945
+ "type": [
3946
+ "string",
3947
+ "null"
3948
+ ]
3949
+ },
3950
+ "+sort": {
3951
+ "anyOf": [
3952
+ {
3953
+ "$ref": "#/definitions/StringOrArrayOfStrings"
3954
+ },
3955
+ {
3956
+ "type": "null"
3957
+ }
3958
+ ]
3959
+ },
3960
+ "+sort_type": {
3961
+ "type": [
3962
+ "string",
3963
+ "null"
3964
+ ]
3965
+ },
3966
+ "+source_alias": {
3967
+ "type": [
3968
+ "string",
3969
+ "null"
3970
+ ]
3971
+ },
3972
+ "+static_analysis": {
3973
+ "anyOf": [
3974
+ {
3975
+ "$ref": "#/definitions/StaticAnalysisKind"
3976
+ },
3977
+ {
3978
+ "type": "null"
3979
+ }
3980
+ ]
3981
+ },
3982
+ "+table_tag": {
3983
+ "type": [
3984
+ "string",
3985
+ "null"
3986
+ ]
3987
+ },
3988
+ "+table_type": {
3989
+ "type": [
3990
+ "string",
3991
+ "null"
3992
+ ]
3993
+ },
3994
+ "+tags": {
3995
+ "anyOf": [
3996
+ {
3997
+ "$ref": "#/definitions/StringOrArrayOfStrings"
3998
+ },
3999
+ {
4000
+ "type": "null"
4001
+ }
4002
+ ]
4003
+ },
4004
+ "+target_alias": {
4005
+ "type": [
4006
+ "string",
4007
+ "null"
4008
+ ]
4009
+ },
4010
+ "+target_lag": {
4011
+ "type": [
4012
+ "string",
4013
+ "null"
4014
+ ]
4015
+ },
4016
+ "+tblproperties": {
4017
+ "type": [
4018
+ "object",
4019
+ "null"
4020
+ ],
4021
+ "additionalProperties": {
4022
+ "$ref": "#/definitions/AnyValue"
4023
+ }
4024
+ },
4025
+ "+tmp_relation_type": {
4026
+ "type": [
4027
+ "string",
4028
+ "null"
4029
+ ]
4030
+ },
4031
+ "+transient": {
4032
+ "type": [
4033
+ "boolean",
4034
+ "null"
4035
+ ]
4036
+ }
4037
+ },
4038
+ "additionalProperties": {
4039
+ "$ref": "#/definitions/ProjectSourceConfig"
4040
+ }
4041
+ },
4042
+ "ProjectUnitTestConfig": {
4043
+ "type": "object",
4044
+ "properties": {
4045
+ "+as_columnstore": {
4046
+ "type": [
4047
+ "boolean",
4048
+ "null"
4049
+ ]
4050
+ },
4051
+ "+auto_liquid_cluster": {
4052
+ "type": [
4053
+ "boolean",
4054
+ "null"
4055
+ ]
4056
+ },
4057
+ "+auto_refresh": {
4058
+ "type": [
4059
+ "boolean",
4060
+ "null"
4061
+ ]
4062
+ },
4063
+ "+automatic_clustering": {
4064
+ "type": [
4065
+ "boolean",
4066
+ "null"
4067
+ ]
4068
+ },
4069
+ "+backup": {
4070
+ "type": [
4071
+ "boolean",
4072
+ "null"
4073
+ ]
4074
+ },
4075
+ "+base_location_root": {
4076
+ "type": [
4077
+ "string",
4078
+ "null"
4079
+ ]
4080
+ },
4081
+ "+base_location_subpath": {
4082
+ "type": [
4083
+ "string",
4084
+ "null"
4085
+ ]
4086
+ },
4087
+ "+bind": {
4088
+ "type": [
4089
+ "boolean",
4090
+ "null"
4091
+ ]
4092
+ },
4093
+ "+buckets": {
4094
+ "type": [
4095
+ "integer",
4096
+ "null"
4097
+ ],
4098
+ "format": "int64"
4099
+ },
4100
+ "+catalog": {
4101
+ "type": [
4102
+ "string",
4103
+ "null"
4104
+ ]
4105
+ },
4106
+ "+cluster_by": {
4107
+ "anyOf": [
4108
+ {
4109
+ "$ref": "#/definitions/BigqueryClusterConfig"
4110
+ },
4111
+ {
4112
+ "type": "null"
4113
+ }
4114
+ ]
4115
+ },
4116
+ "+clustered_by": {
4117
+ "type": [
4118
+ "string",
4119
+ "null"
4120
+ ]
4121
+ },
4122
+ "+compression": {
4123
+ "type": [
4124
+ "string",
4125
+ "null"
4126
+ ]
4127
+ },
4128
+ "+copy_grants": {
4129
+ "type": [
4130
+ "boolean",
4131
+ "null"
4132
+ ]
4133
+ },
4134
+ "+databricks_compute": {
4135
+ "type": [
4136
+ "string",
4137
+ "null"
4138
+ ]
4139
+ },
4140
+ "+databricks_tags": {
4141
+ "type": [
4142
+ "object",
4143
+ "null"
4144
+ ],
4145
+ "additionalProperties": {
4146
+ "$ref": "#/definitions/AnyValue"
4147
+ }
4148
+ },
4149
+ "+description": {
4150
+ "type": [
4151
+ "string",
4152
+ "null"
4153
+ ]
4154
+ },
4155
+ "+dist": {
4156
+ "type": [
4157
+ "string",
4158
+ "null"
4159
+ ]
4160
+ },
4161
+ "+enable_refresh": {
4162
+ "type": [
4163
+ "boolean",
4164
+ "null"
4165
+ ]
4166
+ },
4167
+ "+enabled": {
4168
+ "type": [
4169
+ "boolean",
4170
+ "null"
4171
+ ]
4172
+ },
4173
+ "+external_volume": {
4174
+ "type": [
4175
+ "string",
4176
+ "null"
4177
+ ]
4178
+ },
4179
+ "+file_format": {
4180
+ "type": [
4181
+ "string",
4182
+ "null"
4183
+ ]
4184
+ },
4185
+ "+grant_access_to": {
4186
+ "type": [
4187
+ "array",
4188
+ "null"
4189
+ ],
4190
+ "items": {
4191
+ "$ref": "#/definitions/GrantAccessToTarget"
4192
+ }
4193
+ },
4194
+ "+hours_to_expiration": {
4195
+ "type": [
4196
+ "integer",
4197
+ "null"
4198
+ ],
4199
+ "format": "uint64",
4200
+ "minimum": 0.0
4201
+ },
4202
+ "+include_full_name_in_path": {
4203
+ "type": [
4204
+ "boolean",
4205
+ "null"
4206
+ ]
4207
+ },
4208
+ "+indexes": {
4209
+ "type": [
4210
+ "array",
4211
+ "null"
4212
+ ],
4213
+ "items": {
4214
+ "$ref": "#/definitions/PostgresIndex"
4215
+ }
4216
+ },
4217
+ "+initialize": {
4218
+ "type": [
4219
+ "string",
4220
+ "null"
4221
+ ]
4222
+ },
4223
+ "+kms_key_name": {
4224
+ "type": [
4225
+ "string",
4226
+ "null"
4227
+ ]
4228
+ },
4229
+ "+labels": {
4230
+ "type": [
4231
+ "object",
4232
+ "null"
4233
+ ],
4234
+ "additionalProperties": {
4235
+ "type": "string"
4236
+ }
4237
+ },
4238
+ "+labels_from_meta": {
4239
+ "type": [
4240
+ "boolean",
4241
+ "null"
4242
+ ]
4243
+ },
4244
+ "+liquid_clustered_by": {
4245
+ "anyOf": [
4246
+ {
4247
+ "$ref": "#/definitions/StringOrArrayOfStrings"
4248
+ },
4249
+ {
4250
+ "type": "null"
4251
+ }
4252
+ ]
4253
+ },
4254
+ "+location_root": {
4255
+ "type": [
4256
+ "string",
4257
+ "null"
4258
+ ]
4259
+ },
4260
+ "+matched_condition": {
4261
+ "type": [
4262
+ "string",
4263
+ "null"
4264
+ ]
4265
+ },
4266
+ "+max_staleness": {
4267
+ "type": [
4268
+ "string",
4269
+ "null"
4270
+ ]
4271
+ },
4272
+ "+merge_with_schema_evolution": {
4273
+ "type": [
4274
+ "boolean",
4275
+ "null"
4276
+ ]
4277
+ },
4278
+ "+meta": {
4279
+ "type": [
4280
+ "object",
4281
+ "null"
4282
+ ],
4283
+ "additionalProperties": {
4284
+ "$ref": "#/definitions/AnyValue"
4285
+ }
4286
+ },
4287
+ "+not_matched_by_source_action": {
4288
+ "type": [
4289
+ "string",
4290
+ "null"
4291
+ ]
4292
+ },
4293
+ "+not_matched_by_source_condition": {
4294
+ "type": [
4295
+ "string",
4296
+ "null"
4297
+ ]
4298
+ },
4299
+ "+not_matched_condition": {
4300
+ "type": [
4301
+ "string",
4302
+ "null"
4303
+ ]
4304
+ },
4305
+ "+partition_by": {
4306
+ "anyOf": [
4307
+ {
4308
+ "$ref": "#/definitions/PartitionConfig"
4309
+ },
4310
+ {
4311
+ "type": "null"
4312
+ }
4313
+ ]
4314
+ },
4315
+ "+partition_expiration_days": {
4316
+ "type": [
4317
+ "integer",
4318
+ "null"
4319
+ ],
4320
+ "format": "uint64",
4321
+ "minimum": 0.0
4322
+ },
4323
+ "+partitions": {
4324
+ "type": [
4325
+ "array",
4326
+ "null"
4327
+ ],
4328
+ "items": {
4329
+ "type": "string"
4330
+ }
4331
+ },
4332
+ "+query_tag": {
4333
+ "type": [
4334
+ "string",
4335
+ "null"
4336
+ ]
4337
+ },
4338
+ "+refresh_interval_minutes": {
4339
+ "type": [
4340
+ "integer",
4341
+ "null"
4342
+ ],
4343
+ "format": "uint64",
4344
+ "minimum": 0.0
4345
+ },
4346
+ "+refresh_mode": {
4347
+ "type": [
4348
+ "string",
4349
+ "null"
4350
+ ]
4351
+ },
4352
+ "+require_partition_filter": {
4353
+ "type": [
4354
+ "boolean",
4355
+ "null"
4356
+ ]
4357
+ },
4358
+ "+row_access_policy": {
4359
+ "type": [
4360
+ "string",
4361
+ "null"
4362
+ ]
4363
+ },
4364
+ "+schedule": {
4365
+ "anyOf": [
4366
+ {
4367
+ "$ref": "#/definitions/ScheduleConfig"
4368
+ },
4369
+ {
4370
+ "type": "null"
4371
+ }
4372
+ ]
4373
+ },
4374
+ "+secure": {
4375
+ "type": [
4376
+ "boolean",
4377
+ "null"
4378
+ ]
4379
+ },
4380
+ "+skip_matched_step": {
4381
+ "type": [
4382
+ "boolean",
4383
+ "null"
4384
+ ]
4385
+ },
4386
+ "+skip_not_matched_step": {
4387
+ "type": [
4388
+ "boolean",
4389
+ "null"
4390
+ ]
4391
+ },
4392
+ "+snowflake_warehouse": {
4393
+ "type": [
4394
+ "string",
4395
+ "null"
4396
+ ]
4397
+ },
4398
+ "+sort": {
4399
+ "anyOf": [
4400
+ {
4401
+ "$ref": "#/definitions/StringOrArrayOfStrings"
4402
+ },
4403
+ {
4404
+ "type": "null"
4405
+ }
4406
+ ]
4407
+ },
4408
+ "+sort_type": {
4409
+ "type": [
4410
+ "string",
4411
+ "null"
4412
+ ]
4413
+ },
4414
+ "+source_alias": {
4415
+ "type": [
4416
+ "string",
4417
+ "null"
4418
+ ]
4419
+ },
4420
+ "+static_analysis": {
4421
+ "anyOf": [
4422
+ {
4423
+ "$ref": "#/definitions/StaticAnalysisKind"
4424
+ },
4425
+ {
4426
+ "type": "null"
4427
+ }
4428
+ ]
4429
+ },
4430
+ "+table_tag": {
4431
+ "type": [
4432
+ "string",
4433
+ "null"
4434
+ ]
4435
+ },
4436
+ "+table_type": {
4437
+ "type": [
4438
+ "string",
4439
+ "null"
4440
+ ]
4441
+ },
4442
+ "+tags": {
4443
+ "anyOf": [
4444
+ {
4445
+ "$ref": "#/definitions/StringOrArrayOfStrings"
4446
+ },
4447
+ {
4448
+ "type": "null"
4449
+ }
4450
+ ]
4451
+ },
4452
+ "+target_alias": {
4453
+ "type": [
4454
+ "string",
4455
+ "null"
4456
+ ]
4457
+ },
4458
+ "+target_lag": {
4459
+ "type": [
4460
+ "string",
4461
+ "null"
4462
+ ]
4463
+ },
4464
+ "+tblproperties": {
4465
+ "type": [
4466
+ "object",
4467
+ "null"
4468
+ ],
4469
+ "additionalProperties": {
4470
+ "$ref": "#/definitions/AnyValue"
4471
+ }
4472
+ },
4473
+ "+tmp_relation_type": {
4474
+ "type": [
4475
+ "string",
4476
+ "null"
4477
+ ]
4478
+ },
4479
+ "+transient": {
4480
+ "type": [
4481
+ "boolean",
4482
+ "null"
4483
+ ]
4484
+ }
4485
+ },
4486
+ "additionalProperties": {
4487
+ "$ref": "#/definitions/ProjectUnitTestConfig"
4488
+ }
4489
+ },
4490
+ "QueryComment": {
4491
+ "anyOf": [
4492
+ {
4493
+ "type": "string"
4494
+ },
4495
+ {
4496
+ "$ref": "#/definitions/AnyValue"
4497
+ }
4498
+ ]
4499
+ },
4500
+ "Range": {
4501
+ "type": "object",
4502
+ "required": [
4503
+ "end",
4504
+ "interval",
4505
+ "start"
4506
+ ],
4507
+ "properties": {
4508
+ "end": {
4509
+ "type": "integer",
4510
+ "format": "uint64",
4511
+ "minimum": 0.0
4512
+ },
4513
+ "interval": {
4514
+ "type": "integer",
4515
+ "format": "uint64",
4516
+ "minimum": 0.0
4517
+ },
4518
+ "start": {
4519
+ "type": "integer",
4520
+ "format": "uint64",
4521
+ "minimum": 0.0
4522
+ }
4523
+ },
4524
+ "additionalProperties": false
4525
+ },
4526
+ "RangeConfig": {
4527
+ "type": "object",
4528
+ "required": [
4529
+ "range"
4530
+ ],
4531
+ "properties": {
4532
+ "range": {
4533
+ "$ref": "#/definitions/Range"
4534
+ }
4535
+ },
4536
+ "additionalProperties": false
4537
+ },
4538
+ "SavedQueriesConfigCache": {
4539
+ "type": "object",
4540
+ "properties": {
4541
+ "enabled": {
4542
+ "type": [
4543
+ "boolean",
4544
+ "null"
4545
+ ]
4546
+ }
4547
+ },
4548
+ "additionalProperties": false
4549
+ },
4550
+ "ScheduleConfig": {
4551
+ "type": "object",
4552
+ "properties": {
4553
+ "cron": {
4554
+ "type": [
4555
+ "string",
4556
+ "null"
4557
+ ]
4558
+ },
4559
+ "time_zone_value": {
4560
+ "type": [
4561
+ "string",
4562
+ "null"
4563
+ ]
4564
+ }
4565
+ },
4566
+ "additionalProperties": false
4567
+ },
4568
+ "Severity": {
4569
+ "type": "string",
4570
+ "enum": [
4571
+ "Error",
4572
+ "Warn"
4573
+ ]
4574
+ },
4575
+ "SnapshotMetaColumnNames": {
4576
+ "type": "object",
4577
+ "properties": {
4578
+ "dbt_is_deleted": {
4579
+ "default": "DBT_IS_DELETED",
4580
+ "type": [
4581
+ "string",
4582
+ "null"
4583
+ ]
4584
+ },
4585
+ "dbt_scd_id": {
4586
+ "default": "DBT_SCD_ID",
4587
+ "type": [
4588
+ "string",
4589
+ "null"
4590
+ ]
4591
+ },
4592
+ "dbt_updated_at": {
4593
+ "default": "DBT_UPDATED_AT",
4594
+ "type": [
4595
+ "string",
4596
+ "null"
4597
+ ]
4598
+ },
4599
+ "dbt_valid_from": {
4600
+ "default": "DBT_VALID_FROM",
4601
+ "type": [
4602
+ "string",
4603
+ "null"
4604
+ ]
4605
+ },
4606
+ "dbt_valid_to": {
4607
+ "default": "DBT_VALID_TO",
4608
+ "type": [
4609
+ "string",
4610
+ "null"
4611
+ ]
4612
+ }
4613
+ },
4614
+ "additionalProperties": false
4615
+ },
4616
+ "SpannedStringOrArrayOfStrings": {
4617
+ "anyOf": [
4618
+ {
4619
+ "type": "string"
4620
+ },
4621
+ {
4622
+ "type": "array",
4623
+ "items": {
4624
+ "type": "string"
4625
+ }
4626
+ }
4627
+ ]
4628
+ },
4629
+ "StaticAnalysisKind": {
4630
+ "type": "string",
4631
+ "enum": [
4632
+ "unsafe",
4633
+ "off",
4634
+ "on"
4635
+ ]
4636
+ },
4637
+ "StoreFailuresAs": {
4638
+ "type": "string",
4639
+ "enum": [
4640
+ "ephemeral",
4641
+ "table",
4642
+ "view"
4643
+ ]
4644
+ },
4645
+ "StringOrArrayOfStrings": {
4646
+ "anyOf": [
4647
+ {
4648
+ "type": "string"
4649
+ },
4650
+ {
4651
+ "type": "array",
4652
+ "items": {
4653
+ "type": "string"
4654
+ }
4655
+ }
4656
+ ]
4657
+ },
4658
+ "StringOrInteger": {
4659
+ "anyOf": [
4660
+ {
4661
+ "type": "string"
4662
+ },
4663
+ {
4664
+ "type": "integer",
4665
+ "format": "int64"
4666
+ }
4667
+ ]
4668
+ },
4669
+ "TargetPath": {
4670
+ "type": "string",
4671
+ "enum": [
4672
+ "target"
4673
+ ]
4674
+ },
4675
+ "TimeConfig": {
4676
+ "type": "object",
4677
+ "properties": {
4678
+ "granularity": {
4679
+ "default": "day",
4680
+ "type": "string"
4681
+ },
4682
+ "time_ingestion_partitioning": {
4683
+ "description": "When this is true, the [`BigqueryPartitionConfig::field`] will be used as the `_PARTITIONTIME` pseudo column _PARTITIONTIME: https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time https://docs.getdbt.com/reference/resource-configs/bigquery-configs#partitioning-by-an-ingestion-date-or-timestamp",
4684
+ "default": false,
4685
+ "type": "boolean"
4686
+ }
4687
+ },
4688
+ "additionalProperties": false
4689
+ },
4690
+ "UpdatesOn": {
4691
+ "type": "string",
4692
+ "enum": [
4693
+ "any",
4694
+ "all"
4695
+ ]
4696
+ },
4697
+ "_Dispatch": {
4698
+ "type": "object",
4699
+ "required": [
4700
+ "macro_namespace",
4701
+ "search_order"
4702
+ ],
4703
+ "properties": {
4704
+ "macro_namespace": {
4705
+ "type": "string"
4706
+ },
4707
+ "search_order": {
4708
+ "type": "array",
4709
+ "items": {
4710
+ "type": "string"
4711
+ }
4712
+ }
4713
+ },
4714
+ "additionalProperties": false
4715
+ }
4716
+ }
4717
+ }