From a336fae22ffe5fd48e55d28ffd726f2a259670b6 Mon Sep 17 00:00:00 2001 From: pgoslatara Date: Sat, 5 Oct 2024 11:58:44 +0200 Subject: [PATCH] More permissive schemas for dbt Cloud manifest --- .../dbt_cloud/manifest_latest.py | 374 +++++++++--------- 1 file changed, 187 insertions(+), 187 deletions(-) diff --git a/src/dbt_bouncer/artifact_parsers/dbt_cloud/manifest_latest.py b/src/dbt_bouncer/artifact_parsers/dbt_cloud/manifest_latest.py index 14add729..6eab7531 100644 --- a/src/dbt_bouncer/artifact_parsers/dbt_cloud/manifest_latest.py +++ b/src/dbt_bouncer/artifact_parsers/dbt_cloud/manifest_latest.py @@ -15,7 +15,7 @@ class CustomGranularity(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str column_name: Optional[str] = None @@ -23,7 +23,7 @@ class CustomGranularity(BaseParserModel): class TimeSpine(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) standard_granularity_column: str custom_granularities: Optional[List[CustomGranularity]] = None @@ -31,7 +31,7 @@ class TimeSpine(BaseParserModel): class Metadata(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) dbt_schema_version: Optional[str] = None dbt_version: Optional[str] = "1.8.0b3" @@ -56,7 +56,7 @@ class Metadata(BaseParserModel): class Checksum(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str checksum: str @@ -64,7 +64,7 @@ class Checksum(BaseParserModel): class PostHookItem(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) sql: str transaction: Optional[bool] = True @@ -73,7 +73,7 @@ class PostHookItem(BaseParserModel): class PreHookItem(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) sql: str transaction: Optional[bool] = True @@ -88,7 +88,7 @@ class OnConfigurationChange(Enum): class Docs(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) show: Optional[bool] = True node_color: Optional[str] = None @@ -96,7 +96,7 @@ class Docs(BaseParserModel): class Contract(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -144,7 +144,7 @@ class Type(Enum): class Constraint(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type name: Optional[str] = None @@ -169,7 +169,7 @@ class Columns(BaseParserModel): class DependsOn(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) macros: Optional[List[str]] = None @@ -226,7 +226,7 @@ class Config1(BaseParserModel): class DeferRelation(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -243,7 +243,7 @@ class DeferRelation(BaseParserModel): class Nodes(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -306,7 +306,7 @@ class Config2(BaseParserModel): class Constraint1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type name: Optional[str] = None @@ -331,7 +331,7 @@ class Columns1(BaseParserModel): class Ref(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str package: Optional[str] = None @@ -340,7 +340,7 @@ class Ref(BaseParserModel): class DependsOn1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) macros: Optional[List[str]] = None nodes: Optional[List[str]] = None @@ -348,7 +348,7 @@ class DependsOn1(BaseParserModel): class ExtraCte(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) id: str sql: str @@ -356,7 +356,7 @@ class ExtraCte(BaseParserModel): class Contract3(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -365,7 +365,7 @@ class Contract3(BaseParserModel): class Nodes1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -433,7 +433,7 @@ class Config3(BaseParserModel): class Constraint2(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type name: Optional[str] = None @@ -458,7 +458,7 @@ class Columns2(BaseParserModel): class Nodes2(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -501,7 +501,7 @@ class Nodes2(BaseParserModel): class Contract5(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -538,7 +538,7 @@ class Config4(BaseParserModel): class Constraint3(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type name: Optional[str] = None @@ -563,7 +563,7 @@ class Columns3(BaseParserModel): class Contract6(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -572,7 +572,7 @@ class Contract6(BaseParserModel): class Nodes3(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -616,7 +616,7 @@ class Nodes3(BaseParserModel): class Contract7(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -660,7 +660,7 @@ class Config5(BaseParserModel): class Constraint4(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type name: Optional[str] = None @@ -685,7 +685,7 @@ class Columns4(BaseParserModel): class Contract8(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -694,7 +694,7 @@ class Contract8(BaseParserModel): class Constraint5(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type name: Optional[str] = None @@ -706,7 +706,7 @@ class Constraint5(BaseParserModel): class Contract9(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -743,7 +743,7 @@ class Config6(BaseParserModel): class DeferRelation1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -840,7 +840,7 @@ class Config7(BaseParserModel): class Constraint6(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type name: Optional[str] = None @@ -865,7 +865,7 @@ class Columns5(BaseParserModel): class Contract11(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -874,7 +874,7 @@ class Contract11(BaseParserModel): class Nodes5(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -942,7 +942,7 @@ class Config8(BaseParserModel): class Constraint7(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type name: Optional[str] = None @@ -967,7 +967,7 @@ class Columns6(BaseParserModel): class TestMetadata(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: Optional[str] = "test" kwargs: Optional[Dict[str, Any]] = None @@ -976,7 +976,7 @@ class TestMetadata(BaseParserModel): class Nodes6(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -1023,7 +1023,7 @@ class Nodes6(BaseParserModel): class Contract13(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -1065,7 +1065,7 @@ class Config9(BaseParserModel): class Constraint8(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type name: Optional[str] = None @@ -1090,7 +1090,7 @@ class Columns7(BaseParserModel): class Contract14(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -1099,7 +1099,7 @@ class Contract14(BaseParserModel): class Contract15(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -1136,7 +1136,7 @@ class Config10(BaseParserModel): class DeferRelation2(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -1153,7 +1153,7 @@ class DeferRelation2(BaseParserModel): class Nodes7(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -1198,7 +1198,7 @@ class Nodes7(BaseParserModel): class Quoting(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[bool] = None schema_: Optional[bool] = Field(None, alias="schema") @@ -1214,7 +1214,7 @@ class Period(Enum): class WarnAfter(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) count: Optional[int] = None period: Optional[Period] = None @@ -1222,7 +1222,7 @@ class WarnAfter(BaseParserModel): class ErrorAfter(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) count: Optional[int] = None period: Optional[Period] = None @@ -1230,7 +1230,7 @@ class ErrorAfter(BaseParserModel): class Freshness(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) warn_after: Optional[WarnAfter] = None error_after: Optional[ErrorAfter] = None @@ -1262,7 +1262,7 @@ class External(BaseParserModel): class Constraint9(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type name: Optional[str] = None @@ -1295,7 +1295,7 @@ class Config11(BaseParserModel): class Sources(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -1328,14 +1328,14 @@ class Sources(BaseParserModel): class DependsOn8(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) macros: Optional[List[str]] = None class Argument(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str type: Optional[str] = None @@ -1349,7 +1349,7 @@ class SupportedLanguage(Enum): class Macros(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str resource_type: Literal["macro"] @@ -1370,7 +1370,7 @@ class Macros(BaseParserModel): class Docs18(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str resource_type: Literal["doc"] @@ -1406,7 +1406,7 @@ class Maturity(Enum): class DependsOn9(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) macros: Optional[List[str]] = None nodes: Optional[List[str]] = None @@ -1414,7 +1414,7 @@ class DependsOn9(BaseParserModel): class Exposures(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str resource_type: Literal["exposure"] @@ -1450,21 +1450,21 @@ class Type11(Enum): class WhereFilter(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_sql_template: str class Filter(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class Measure(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str filter: Optional[Filter] = None @@ -1475,14 +1475,14 @@ class Measure(BaseParserModel): class Filter1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class InputMeasure(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str filter: Optional[Filter1] = None @@ -1493,7 +1493,7 @@ class InputMeasure(BaseParserModel): class Filter2(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] @@ -1508,7 +1508,7 @@ class Granularity(Enum): class OffsetWindow(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) count: int granularity: Granularity @@ -1524,7 +1524,7 @@ class OffsetToGrain(Enum): class Numerator(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str filter: Optional[Filter2] = None @@ -1535,14 +1535,14 @@ class Numerator(BaseParserModel): class Filter3(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class OffsetWindow1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) count: int granularity: Granularity @@ -1550,7 +1550,7 @@ class OffsetWindow1(BaseParserModel): class Denominator(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str filter: Optional[Filter3] = None @@ -1561,7 +1561,7 @@ class Denominator(BaseParserModel): class Window(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) count: int granularity: Granularity @@ -1577,14 +1577,14 @@ class GrainToDate(Enum): class Filter4(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class OffsetWindow2(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) count: int granularity: Granularity @@ -1592,7 +1592,7 @@ class OffsetWindow2(BaseParserModel): class Metric(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str filter: Optional[Filter4] = None @@ -1603,14 +1603,14 @@ class Metric(BaseParserModel): class Filter5(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class BaseMeasure(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str filter: Optional[Filter5] = None @@ -1621,14 +1621,14 @@ class BaseMeasure(BaseParserModel): class Filter6(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class ConversionMeasure(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str filter: Optional[Filter6] = None @@ -1644,7 +1644,7 @@ class Calculation(Enum): class Window1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) count: int granularity: Granularity @@ -1652,7 +1652,7 @@ class Window1(BaseParserModel): class ConstantProperty(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) base_property: str conversion_property: str @@ -1660,7 +1660,7 @@ class ConstantProperty(BaseParserModel): class ConversionTypeParams(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) base_measure: BaseMeasure = Field(..., title="MetricInputMeasure") conversion_measure: ConversionMeasure = Field(..., title="MetricInputMeasure") @@ -1672,7 +1672,7 @@ class ConversionTypeParams(BaseParserModel): class TypeParams(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) measure: Optional[Measure] = None input_measures: Optional[List[InputMeasure]] = None @@ -1687,14 +1687,14 @@ class TypeParams(BaseParserModel): class Filter7(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class FileSlice(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) filename: str content: str @@ -1704,7 +1704,7 @@ class FileSlice(BaseParserModel): class Metadata1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) repo_file_path: str file_slice: FileSlice = Field(..., title="FileSlice") @@ -1722,7 +1722,7 @@ class Config13(BaseParserModel): class Metrics(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str resource_type: Literal["metric"] @@ -1751,7 +1751,7 @@ class Metrics(BaseParserModel): class Groups(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str resource_type: Literal["group"] @@ -1764,7 +1764,7 @@ class Groups(BaseParserModel): class Docs19(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) show: Optional[bool] = True node_color: Optional[str] = None @@ -1812,7 +1812,7 @@ class Type12(Enum): class Constraint10(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type12 name: Optional[str] = None @@ -1837,7 +1837,7 @@ class Columns9(BaseParserModel): class DependsOn11(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) macros: Optional[List[str]] = None @@ -1873,7 +1873,7 @@ class Config15(BaseParserModel): class DeferRelation3(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -1890,7 +1890,7 @@ class DeferRelation3(BaseParserModel): class Disabled(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -1953,7 +1953,7 @@ class Config16(BaseParserModel): class Constraint11(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type12 name: Optional[str] = None @@ -1978,7 +1978,7 @@ class Columns10(BaseParserModel): class DependsOn12(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) macros: Optional[List[str]] = None nodes: Optional[List[str]] = None @@ -1986,7 +1986,7 @@ class DependsOn12(BaseParserModel): class Contract19(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -1995,7 +1995,7 @@ class Contract19(BaseParserModel): class Disabled1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -2063,7 +2063,7 @@ class Config17(BaseParserModel): class Constraint12(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type12 name: Optional[str] = None @@ -2088,7 +2088,7 @@ class Columns11(BaseParserModel): class Disabled2(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -2131,7 +2131,7 @@ class Disabled2(BaseParserModel): class Contract21(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -2168,7 +2168,7 @@ class Config18(BaseParserModel): class Constraint13(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type12 name: Optional[str] = None @@ -2193,7 +2193,7 @@ class Columns12(BaseParserModel): class Contract22(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -2202,7 +2202,7 @@ class Contract22(BaseParserModel): class Disabled3(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -2247,7 +2247,7 @@ class Disabled3(BaseParserModel): class Contract23(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -2285,7 +2285,7 @@ class Config19(BaseParserModel): class Constraint14(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type12 name: Optional[str] = None @@ -2310,7 +2310,7 @@ class Columns13(BaseParserModel): class Contract24(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -2319,7 +2319,7 @@ class Contract24(BaseParserModel): class Constraint15(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type12 name: Optional[str] = None @@ -2331,7 +2331,7 @@ class Constraint15(BaseParserModel): class Contract25(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -2368,7 +2368,7 @@ class Config20(BaseParserModel): class DeferRelation4(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -2385,7 +2385,7 @@ class DeferRelation4(BaseParserModel): class Disabled4(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -2464,7 +2464,7 @@ class Config21(BaseParserModel): class Constraint16(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type12 name: Optional[str] = None @@ -2489,7 +2489,7 @@ class Columns14(BaseParserModel): class Contract27(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -2498,7 +2498,7 @@ class Contract27(BaseParserModel): class Disabled5(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -2566,7 +2566,7 @@ class Config22(BaseParserModel): class Constraint17(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type12 name: Optional[str] = None @@ -2591,7 +2591,7 @@ class Columns15(BaseParserModel): class Disabled6(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -2638,7 +2638,7 @@ class Disabled6(BaseParserModel): class Contract29(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -2680,7 +2680,7 @@ class Config23(BaseParserModel): class Constraint18(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type12 name: Optional[str] = None @@ -2705,7 +2705,7 @@ class Columns16(BaseParserModel): class Contract30(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -2714,7 +2714,7 @@ class Contract30(BaseParserModel): class Contract31(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enforced: Optional[bool] = False alias_types: Optional[bool] = True @@ -2751,7 +2751,7 @@ class Config24(BaseParserModel): class DeferRelation5(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -2768,7 +2768,7 @@ class DeferRelation5(BaseParserModel): class Disabled7(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -2812,7 +2812,7 @@ class Disabled7(BaseParserModel): class WarnAfter1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) count: Optional[int] = None period: Optional[Period] = None @@ -2820,7 +2820,7 @@ class WarnAfter1(BaseParserModel): class ErrorAfter1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) count: Optional[int] = None period: Optional[Period] = None @@ -2828,7 +2828,7 @@ class ErrorAfter1(BaseParserModel): class Freshness1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) warn_after: Optional[WarnAfter1] = None error_after: Optional[ErrorAfter1] = None @@ -2849,7 +2849,7 @@ class External1(BaseParserModel): class Constraint19(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) type: Type12 name: Optional[str] = None @@ -2882,7 +2882,7 @@ class Config25(BaseParserModel): class Disabled8(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) database: Optional[str] = None schema_: str = Field(..., alias="schema") @@ -2923,7 +2923,7 @@ class Type22(Enum): class Disabled9(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str resource_type: Literal["exposure"] @@ -2959,14 +2959,14 @@ class Type23(Enum): class Filter8(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class Measure1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str filter: Optional[Filter8] = None @@ -2977,14 +2977,14 @@ class Measure1(BaseParserModel): class Filter9(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class InputMeasure1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str filter: Optional[Filter9] = None @@ -2995,14 +2995,14 @@ class InputMeasure1(BaseParserModel): class Filter10(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class OffsetWindow3(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) count: int granularity: Granularity @@ -3010,7 +3010,7 @@ class OffsetWindow3(BaseParserModel): class Numerator1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str filter: Optional[Filter10] = None @@ -3021,14 +3021,14 @@ class Numerator1(BaseParserModel): class Filter11(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class OffsetWindow4(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) count: int granularity: Granularity @@ -3036,7 +3036,7 @@ class OffsetWindow4(BaseParserModel): class Denominator1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str filter: Optional[Filter11] = None @@ -3047,7 +3047,7 @@ class Denominator1(BaseParserModel): class Window2(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) count: int granularity: Granularity @@ -3055,14 +3055,14 @@ class Window2(BaseParserModel): class Filter12(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class OffsetWindow5(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) count: int granularity: Granularity @@ -3070,7 +3070,7 @@ class OffsetWindow5(BaseParserModel): class Metric1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str filter: Optional[Filter12] = None @@ -3081,14 +3081,14 @@ class Metric1(BaseParserModel): class Filter13(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class BaseMeasure1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str filter: Optional[Filter13] = None @@ -3099,14 +3099,14 @@ class BaseMeasure1(BaseParserModel): class Filter14(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class ConversionMeasure1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str filter: Optional[Filter14] = None @@ -3117,7 +3117,7 @@ class ConversionMeasure1(BaseParserModel): class Window3(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) count: int granularity: Granularity @@ -3125,7 +3125,7 @@ class Window3(BaseParserModel): class ConversionTypeParams1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) base_measure: BaseMeasure1 = Field(..., title="MetricInputMeasure") conversion_measure: ConversionMeasure1 = Field(..., title="MetricInputMeasure") @@ -3137,7 +3137,7 @@ class ConversionTypeParams1(BaseParserModel): class TypeParams1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) measure: Optional[Measure1] = None input_measures: Optional[List[InputMeasure1]] = None @@ -3152,14 +3152,14 @@ class TypeParams1(BaseParserModel): class Filter15(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class Metadata2(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) repo_file_path: str file_slice: FileSlice = Field(..., title="FileSlice") @@ -3177,7 +3177,7 @@ class Config27(BaseParserModel): class Disabled10(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str resource_type: Literal["metric"] @@ -3206,14 +3206,14 @@ class Disabled10(BaseParserModel): class Where(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class QueryParams(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) metrics: List[str] group_by: List[str] @@ -3227,7 +3227,7 @@ class ExportAs(Enum): class Config28(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) export_as: ExportAs schema_name: Optional[str] = None @@ -3237,7 +3237,7 @@ class Config28(BaseParserModel): class Export(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str config: Config28 = Field(..., title="ExportConfig") @@ -3245,7 +3245,7 @@ class Export(BaseParserModel): class Metadata3(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) repo_file_path: str file_slice: FileSlice = Field(..., title="FileSlice") @@ -3253,7 +3253,7 @@ class Metadata3(BaseParserModel): class Cache(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) enabled: Optional[bool] = False @@ -3273,7 +3273,7 @@ class Config29(BaseParserModel): class Disabled11(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str resource_type: ResourceType @@ -3297,7 +3297,7 @@ class Disabled11(BaseParserModel): class NodeRelation(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) alias: str schema_name: str @@ -3307,7 +3307,7 @@ class NodeRelation(BaseParserModel): class Defaults(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) agg_time_dimension: Optional[str] = None @@ -3321,7 +3321,7 @@ class Type24(Enum): class Entity(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str type: Type24 @@ -3345,7 +3345,7 @@ class Agg(Enum): class AggParams(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) percentile: Optional[float] = None use_discrete_percentile: Optional[bool] = False @@ -3366,7 +3366,7 @@ class WindowChoice(Enum): class NonAdditiveDimension(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str window_choice: WindowChoice @@ -3375,7 +3375,7 @@ class NonAdditiveDimension(BaseParserModel): class Measure2(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str agg: Agg @@ -3403,7 +3403,7 @@ class TimeGranularity(Enum): class ValidityParams(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) is_start: Optional[bool] = False is_end: Optional[bool] = False @@ -3411,7 +3411,7 @@ class ValidityParams(BaseParserModel): class TypeParams2(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) time_granularity: TimeGranularity validity_params: Optional[ValidityParams] = None @@ -3419,7 +3419,7 @@ class TypeParams2(BaseParserModel): class Metadata4(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) repo_file_path: str file_slice: FileSlice = Field(..., title="FileSlice") @@ -3427,7 +3427,7 @@ class Metadata4(BaseParserModel): class Dimension(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str type: Type25 @@ -3441,7 +3441,7 @@ class Dimension(BaseParserModel): class Metadata5(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) repo_file_path: str file_slice: FileSlice = Field(..., title="FileSlice") @@ -3459,7 +3459,7 @@ class Config30(BaseParserModel): class Disabled12(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str resource_type: ResourceType @@ -3494,7 +3494,7 @@ class Format(Enum): class GivenItem(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) input: str rows: Optional[Union[str, List[Dict[str, Any]]]] = None @@ -3504,7 +3504,7 @@ class GivenItem(BaseParserModel): class Expect(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) rows: Optional[Union[str, List[Dict[str, Any]]]] = None format: Optional[Format] = "dict" @@ -3513,7 +3513,7 @@ class Expect(BaseParserModel): class Overrides(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) macros: Optional[Dict[str, Any]] = None vars: Optional[Dict[str, Any]] = None @@ -3531,7 +3531,7 @@ class Config31(BaseParserModel): class Versions(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) include: Optional[List[Union[str, float]]] = None exclude: Optional[List[Union[str, float]]] = None @@ -3539,7 +3539,7 @@ class Versions(BaseParserModel): class Disabled13(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) model: str given: List[GivenItem] @@ -3564,14 +3564,14 @@ class Disabled13(BaseParserModel): class Where1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) where_filters: List[WhereFilter] class QueryParams1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) metrics: List[str] group_by: List[str] @@ -3580,7 +3580,7 @@ class QueryParams1(BaseParserModel): class Config32(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) export_as: ExportAs schema_name: Optional[str] = None @@ -3590,7 +3590,7 @@ class Config32(BaseParserModel): class Export1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str config: Config32 = Field(..., title="ExportConfig") @@ -3598,7 +3598,7 @@ class Export1(BaseParserModel): class Metadata6(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) repo_file_path: str file_slice: FileSlice = Field(..., title="FileSlice") @@ -3619,7 +3619,7 @@ class Config33(BaseParserModel): class SavedQueries(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str resource_type: ResourceType @@ -3650,7 +3650,7 @@ class Type26(Enum): class Entity1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str type: Type26 @@ -3662,7 +3662,7 @@ class Entity1(BaseParserModel): class NonAdditiveDimension1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str window_choice: WindowChoice @@ -3671,7 +3671,7 @@ class NonAdditiveDimension1(BaseParserModel): class Measure3(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str agg: Agg @@ -3691,7 +3691,7 @@ class Type27(Enum): class TypeParams3(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) time_granularity: TimeGranularity validity_params: Optional[ValidityParams] = None @@ -3699,7 +3699,7 @@ class TypeParams3(BaseParserModel): class Metadata7(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) repo_file_path: str file_slice: FileSlice = Field(..., title="FileSlice") @@ -3707,7 +3707,7 @@ class Metadata7(BaseParserModel): class Dimension1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str type: Type27 @@ -3721,7 +3721,7 @@ class Dimension1(BaseParserModel): class Metadata8(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) repo_file_path: str file_slice: FileSlice = Field(..., title="FileSlice") @@ -3739,7 +3739,7 @@ class Config34(BaseParserModel): class SemanticModels(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) name: str resource_type: ResourceType @@ -3768,7 +3768,7 @@ class SemanticModels(BaseParserModel): class GivenItem1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) input: str rows: Optional[Union[str, List[Dict[str, Any]]]] = None @@ -3778,7 +3778,7 @@ class GivenItem1(BaseParserModel): class Expect1(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) rows: Optional[Union[str, List[Dict[str, Any]]]] = None format: Optional[Format] = "dict" @@ -3796,7 +3796,7 @@ class Config35(BaseParserModel): class UnitTests(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) model: str given: List[GivenItem1] @@ -3821,7 +3821,7 @@ class UnitTests(BaseParserModel): class ManifestLatest(BaseParserModel): model_config = ConfigDict( - extra="forbid", + extra="allow", ) metadata: Metadata = Field( ..., description="Metadata about the manifest", title="ManifestMetadata"