From 1b8aa0b445fd8e5fc08bf8fc6f2dec0af155f29c Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 9 Nov 2025 05:09:27 +0000 Subject: [PATCH 1/5] docs: Add inline description to $parameters in declarative component schema - Add title and description to all $parameters fields in the schema - Explain automatic parameter propagation mechanism - Document that parameters are applied to component fields when not already set - Link to comprehensive documentation page for details - This description will appear in the Connector Builder UI and YAML Reference docs Requested by: AJ Steers (@aaronsteers) Co-Authored-By: AJ Steers --- .../declarative_component_schema.yaml | 146 ++++++++++++++++++ 1 file changed, 146 insertions(+) diff --git a/airbyte_cdk/sources/declarative/declarative_component_schema.yaml b/airbyte_cdk/sources/declarative/declarative_component_schema.yaml index f5e9a8548..ee65dbd8d 100644 --- a/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +++ b/airbyte_cdk/sources/declarative/declarative_component_schema.yaml @@ -103,6 +103,8 @@ definitions: description: Type of the value. If not specified, the type will be inferred from the value. "$ref": "#/definitions/ValueType" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true AddFields: @@ -136,6 +138,8 @@ definitions: - "{{ property|length > 5 }}" - "{{ property == 'some_string_to_match' }}" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true ApiKeyAuthenticator: @@ -177,6 +181,8 @@ definitions: - inject_into: request_parameter field_name: authKey $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true AuthFlow: @@ -241,6 +247,8 @@ definitions: - "{{ config['password'] }}" - "" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true BearerAuthenticator: @@ -264,6 +272,8 @@ definitions: - "{{ config['api_key'] }}" - "{{ config['token'] }}" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true SelectiveAuthenticator: @@ -309,6 +319,8 @@ definitions: oauth: "#/definitions/OAuthAuthenticator" jwt: "#/definitions/JwtAuthenticator" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true CheckStream: @@ -393,6 +405,8 @@ definitions: - "$ref": "#/definitions/DefaultErrorHandler" - "$ref": "#/definitions/CustomErrorHandler" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true ConcurrencyLevel: @@ -424,6 +438,8 @@ definitions: - 20 - 100 $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true ConditionalStreams: @@ -454,6 +470,8 @@ definitions: items: "$ref": "#/definitions/DeclarativeStream" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true ConstantBackoffStrategy: @@ -482,6 +500,8 @@ definitions: - 30.5 - "{{ config['backoff_time'] }}" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true CursorPagination: @@ -528,6 +548,8 @@ definitions: - "{{ response.data.has_more is false }}" - "{{ 'next' not in headers['link'] }}" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true CustomAuthenticator: @@ -550,6 +572,8 @@ definitions: examples: - "source_railz.components.ShortLivedTokenAuthenticator" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true CustomBackoffStrategy: @@ -571,6 +595,8 @@ definitions: examples: - "source_railz.components.MyCustomBackoffStrategy" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true CustomErrorHandler: @@ -592,6 +618,8 @@ definitions: examples: - "source_railz.components.MyCustomErrorHandler" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true CustomPaginationStrategy: @@ -613,6 +641,8 @@ definitions: examples: - "source_railz.components.MyCustomPaginationStrategy" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true CustomRecordExtractor: @@ -634,6 +664,8 @@ definitions: examples: - "source_railz.components.MyCustomRecordExtractor" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true CustomRecordFilter: @@ -655,6 +687,8 @@ definitions: examples: - "source_railz.components.MyCustomCustomRecordFilter" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true CustomRequester: @@ -677,6 +711,8 @@ definitions: examples: - "source_railz.components.MyCustomRecordExtractor" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true CustomRetriever: @@ -699,6 +735,8 @@ definitions: examples: - "source_railz.components.MyCustomRetriever" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true CustomPartitionRouter: @@ -720,6 +758,8 @@ definitions: examples: - "source_railz.components.MyCustomPartitionRouter" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true CustomSchemaLoader: @@ -741,6 +781,8 @@ definitions: examples: - "source_railz.components.MyCustomSchemaLoader" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true CustomSchemaNormalization: @@ -763,6 +805,8 @@ definitions: examples: - "source_amazon_seller_partner.components.LedgerDetailedViewReportsTypeTransformer" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true CustomStateMigration: @@ -784,6 +828,8 @@ definitions: examples: - "source_railz.components.MyCustomStateMigration" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true CustomTransformation: @@ -805,6 +851,8 @@ definitions: examples: - "source_railz.components.MyCustomTransformation" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true LegacyToPerPartitionStateMigration: @@ -866,6 +914,8 @@ definitions: description: Optionally configures how the start value will be sent in requests to the source API. "$ref": "#/definitions/RequestOption" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true DatetimeBasedCursor: @@ -1146,6 +1196,8 @@ definitions: - "P1M" - "P1Y" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true JwtAuthenticator: @@ -1282,6 +1334,8 @@ definitions: description: A request option describing where the signed JWT token that is generated should be injected into the outbound API request. "$ref": "#/definitions/RequestOption" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true OAuthAuthenticator: @@ -1502,6 +1556,8 @@ definitions: type: boolean default: false $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true DeclarativeStream: @@ -1626,6 +1682,8 @@ definitions: type: object additionalProperties: true $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additional_properties: true HTTPAPIBudget: @@ -1833,6 +1891,8 @@ definitions: items: "$ref": "#/definitions/HttpResponseFilter" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additional_properties: true DefaultPaginator: @@ -1864,6 +1924,8 @@ definitions: - "$ref": "#/definitions/RequestOption" - "$ref": "#/definitions/RequestPath" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true DpathExtractor: @@ -1891,6 +1953,8 @@ definitions: - ["data", "{{ parameters.name }}"] - ["data", "*", "record"] $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true ResponseToFileExtractor: @@ -1904,6 +1968,8 @@ definitions: type: string enum: [ResponseToFileExtractor] $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true ExponentialBackoffStrategy: @@ -1930,6 +1996,8 @@ definitions: - 5.5 - "10" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true GroupByKeyMergeStrategy: @@ -1954,6 +2022,8 @@ definitions: - "id" - ["parent_id", "end_date"] $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true SessionTokenAuthenticator: @@ -2016,6 +2086,8 @@ definitions: - "$ref": "#/definitions/JsonDecoder" - "$ref": "#/definitions/XmlDecoder" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true SessionTokenRequestApiKeyAuthenticator: @@ -2260,6 +2332,8 @@ definitions: type: boolean default: false $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true HttpResponseFilter: @@ -2336,6 +2410,8 @@ definitions: - "{{ 'Too much requests' in response }}" - "{{ 'error_code' in response and response['error_code'] == 'ComplexityException' }}" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true ComplexFieldType: @@ -2416,6 +2492,8 @@ definitions: items: "$ref": "#/definitions/TypesMap" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true DynamicSchemaLoader: @@ -2460,6 +2538,8 @@ definitions: schema_type_identifier: "$ref": "#/definitions/SchemaTypeIdentifier" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true InlineSchemaLoader: @@ -2498,6 +2578,8 @@ definitions: example: - "./schemas/users.json" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true JsonDecoder: @@ -2546,6 +2628,8 @@ definitions: - "$ref": "#/definitions/KeysReplace" - "$ref": "#/definitions/CustomTransformation" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true KeysToLower: @@ -2559,6 +2643,8 @@ definitions: type: string enum: [KeysToLower] $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true KeysToSnakeCase: @@ -2572,6 +2658,8 @@ definitions: type: string enum: [KeysToSnakeCase] $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true FlattenFields: @@ -2590,6 +2678,8 @@ definitions: type: boolean default: true $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true KeyTransformation: @@ -2647,6 +2737,8 @@ definitions: type: object "$ref": "#/definitions/KeyTransformation" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true KeysReplace: @@ -2688,6 +2780,8 @@ definitions: - record - stream_slice $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true IterableDecoder: @@ -2730,6 +2824,8 @@ definitions: examples: - "source_amazon_ads.components.GzipJsonlDecoder" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true ZipfileDecoder: @@ -2791,6 +2887,8 @@ definitions: description: A request option describing where the list value should be injected into and under what field name if applicable. "$ref": "#/definitions/RequestOption" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true MinMaxDatetime: @@ -2886,6 +2984,8 @@ definitions: - "2010-01-01T00:00:00Z" - "2010-01-01" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true NoAuth: @@ -2899,6 +2999,8 @@ definitions: type: string enum: [NoAuth] $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true NoPagination: @@ -3216,6 +3318,8 @@ definitions: type: boolean default: false $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true PageIncrement: @@ -3256,6 +3360,8 @@ definitions: type: boolean default: false $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true ParentStreamConfig: @@ -3324,6 +3430,8 @@ definitions: - ["field1"] - ["nested", "field2"] $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true PrimaryKey: @@ -3379,6 +3487,8 @@ definitions: - "$ref": "#/definitions/SimpleRetriever" - "$ref": "#/definitions/CustomRetriever" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true PropertyChunking: @@ -3407,6 +3517,8 @@ definitions: description: Dictates how to records that require multiple requests to get all properties should be emitted to the destination "$ref": "#/definitions/GroupByKeyMergeStrategy" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true QueryProperties: @@ -3443,6 +3555,8 @@ definitions: description: Defines where to look for and which query properties that should be sent in outbound API requests. For example, you can specify that only the selected columns of a stream should be in the request. "$ref": "#/definitions/JsonSchemaPropertySelector" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true RecordFilter: @@ -3471,6 +3585,8 @@ definitions: - "{{ record['created_at'] >= stream_interval['start_time'] }}" - "{{ record.status in ['active', 'expired'] }}" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true RecordSelector: @@ -3505,6 +3621,8 @@ definitions: description: If true, transformation will be applied before record filtering. type: boolean $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true SchemaNormalization: @@ -3671,6 +3789,8 @@ definitions: examples: - "user/current" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true StateDelegatingStream: @@ -3702,6 +3822,8 @@ definitions: description: Component used to coordinate how records are extracted across stream slices and request pages when the state provided. "$ref": "#/definitions/DeclarativeStream" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true SimpleRetriever: @@ -3766,6 +3888,8 @@ definitions: - "$ref": "#/definitions/GroupingPartitionRouter" - "$ref": "#/definitions/CustomPartitionRouter" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true PaginationReset: @@ -3985,6 +4109,8 @@ definitions: - "$ref": "#/definitions/ZipfileDecoder" - "$ref": "#/definitions/CustomDecoder" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true Spec: @@ -4093,6 +4219,8 @@ definitions: items: "$ref": "#/definitions/ParentStreamConfig" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true ValueType: @@ -4136,6 +4264,8 @@ definitions: examples: - 3600 $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true GroupingPartitionRouter: @@ -4174,6 +4304,8 @@ definitions: type: boolean default: true $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true WaitUntilTimeFromHeader: @@ -4215,6 +4347,8 @@ definitions: examples: - "([-+]?\\d+)" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true ComponentMappingDefinition: @@ -4282,6 +4416,8 @@ definitions: - "{{ components_values.get('cursor_field', None) }}" - "{{ '_incremental' in components_values.get('stream_name', '') }}" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true HttpComponentsResolver: @@ -4304,6 +4440,8 @@ definitions: items: "$ref": "#/definitions/ComponentMappingDefinition" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true required: @@ -4340,6 +4478,8 @@ definitions: items: type: object $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true ConfigComponentsResolver: @@ -4361,6 +4501,8 @@ definitions: items: "$ref": "#/definitions/ComponentMappingDefinition" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true required: @@ -4407,6 +4549,8 @@ definitions: items: "$ref": "#/definitions/ComponentMappingDefinition" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object additionalProperties: true required: @@ -4773,6 +4917,8 @@ definitions: examples: - "source_declarative_manifest.components.MyCustomConfigTransformation" $parameters: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." type: object description: Additional parameters to be passed to the custom config transformation. additionalProperties: true From 7644c3f49f5ff39cb9227d23145dbd6536c58323 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 9 Nov 2025 05:21:05 +0000 Subject: [PATCH 2/5] refactor: Use DRY approach for $parameters schema with $ref - Add ParametersProp definition in definitions section - Replace 71 inline $parameters blocks with $ref to ParametersProp - Run poe build to regenerate Pydantic models - This makes the schema more maintainable by defining the $parameters description once Co-Authored-By: AJ Steers --- .../declarative_component_schema.yaml | 218 ++++++------------ .../models/declarative_component_schema.py | 151 ++++++------ 2 files changed, 154 insertions(+), 215 deletions(-) diff --git a/airbyte_cdk/sources/declarative/declarative_component_schema.yaml b/airbyte_cdk/sources/declarative/declarative_component_schema.yaml index f5e9a8548..9254211d5 100644 --- a/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +++ b/airbyte_cdk/sources/declarative/declarative_component_schema.yaml @@ -63,6 +63,11 @@ properties: description: A description of the connector. It will be presented on the Source documentation page. additionalProperties: false definitions: + ParametersProp: + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." + type: object + additionalProperties: true AddedFieldDefinition: title: Definition Of Field To Add description: Defines the field to add on a record. @@ -103,8 +108,7 @@ definitions: description: Type of the value. If not specified, the type will be inferred from the value. "$ref": "#/definitions/ValueType" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" AddFields: title: Add Fields description: Transformation which adds field to an output record. The path of the added field can be nested. @@ -136,8 +140,7 @@ definitions: - "{{ property|length > 5 }}" - "{{ property == 'some_string_to_match' }}" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" ApiKeyAuthenticator: title: API Key Authenticator description: Authenticator for requests authenticated with an API token injected as an HTTP request header. @@ -177,8 +180,7 @@ definitions: - inject_into: request_parameter field_name: authKey $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" AuthFlow: title: "Auth flow" description: |- @@ -241,8 +243,7 @@ definitions: - "{{ config['password'] }}" - "" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" BearerAuthenticator: title: Bearer Token Authenticator description: "Authenticator for requests authenticated with a bearer token injected as a request header of the form `Authorization: Bearer `." @@ -264,8 +265,7 @@ definitions: - "{{ config['api_key'] }}" - "{{ config['token'] }}" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" SelectiveAuthenticator: title: Selective Authenticator description: Authenticator that selects concrete authenticator based on config property. @@ -309,8 +309,7 @@ definitions: oauth: "#/definitions/OAuthAuthenticator" jwt: "#/definitions/JwtAuthenticator" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" CheckStream: title: Streams to Check description: Defines the streams to try reading when running a check operation. @@ -393,8 +392,7 @@ definitions: - "$ref": "#/definitions/DefaultErrorHandler" - "$ref": "#/definitions/CustomErrorHandler" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" ConcurrencyLevel: title: Concurrency Level description: Defines the amount of parallelization for the streams that are being synced. The factor of parallelization is how many partitions or streams are synced at the same time. For example, with a concurrency_level of 10, ten streams or partitions of data will processed at the same time. Note that a value of 1 could create deadlock if a stream has a very high number of partitions. @@ -424,8 +422,7 @@ definitions: - 20 - 100 $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" ConditionalStreams: title: Conditional Streams description: Streams that are only available while performing a connector operation when the condition is met. @@ -454,8 +451,7 @@ definitions: items: "$ref": "#/definitions/DeclarativeStream" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" ConstantBackoffStrategy: title: Constant Backoff description: Backoff strategy with a constant backoff interval. @@ -482,8 +478,7 @@ definitions: - 30.5 - "{{ config['backoff_time'] }}" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" CursorPagination: title: Cursor Pagination description: Pagination strategy that evaluates an interpolated string to define the next page to fetch. @@ -528,8 +523,7 @@ definitions: - "{{ response.data.has_more is false }}" - "{{ 'next' not in headers['link'] }}" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" CustomAuthenticator: title: Custom Authenticator description: Authenticator component whose behavior is derived from a custom code implementation of the connector. @@ -550,8 +544,7 @@ definitions: examples: - "source_railz.components.ShortLivedTokenAuthenticator" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" CustomBackoffStrategy: title: Custom Backoff Strategy description: Backoff strategy component whose behavior is derived from a custom code implementation of the connector. @@ -571,8 +564,7 @@ definitions: examples: - "source_railz.components.MyCustomBackoffStrategy" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" CustomErrorHandler: title: Custom Error Handler description: Error handler component whose behavior is derived from a custom code implementation of the connector. @@ -592,8 +584,7 @@ definitions: examples: - "source_railz.components.MyCustomErrorHandler" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" CustomPaginationStrategy: title: Custom Pagination Strategy description: Pagination strategy component whose behavior is derived from a custom code implementation of the connector. @@ -613,8 +604,7 @@ definitions: examples: - "source_railz.components.MyCustomPaginationStrategy" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" CustomRecordExtractor: title: Custom Record Extractor description: Record extractor component whose behavior is derived from a custom code implementation of the connector. @@ -634,8 +624,7 @@ definitions: examples: - "source_railz.components.MyCustomRecordExtractor" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" CustomRecordFilter: title: Custom Record Filter description: Record filter component whose behavior is derived from a custom code implementation of the connector. @@ -655,8 +644,7 @@ definitions: examples: - "source_railz.components.MyCustomCustomRecordFilter" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" CustomRequester: title: Custom Requester description: Requester component whose behavior is derived from a custom code implementation of the connector. @@ -677,8 +665,7 @@ definitions: examples: - "source_railz.components.MyCustomRecordExtractor" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" CustomRetriever: title: Custom Retriever description: Retriever component whose behavior is derived from a custom code implementation of the connector. @@ -699,8 +686,7 @@ definitions: examples: - "source_railz.components.MyCustomRetriever" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" CustomPartitionRouter: title: Custom Partition Router description: Partition router component whose behavior is derived from a custom code implementation of the connector. @@ -720,8 +706,7 @@ definitions: examples: - "source_railz.components.MyCustomPartitionRouter" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" CustomSchemaLoader: title: Custom Schema Loader description: Schema Loader component whose behavior is derived from a custom code implementation of the connector. @@ -741,8 +726,7 @@ definitions: examples: - "source_railz.components.MyCustomSchemaLoader" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" CustomSchemaNormalization: title: Custom Schema Normalization description: Schema normalization component whose behavior is derived from a custom code implementation of the connector. @@ -763,8 +747,7 @@ definitions: examples: - "source_amazon_seller_partner.components.LedgerDetailedViewReportsTypeTransformer" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" CustomStateMigration: title: Custom State Migration description: Apply a custom transformation on the input state. @@ -784,8 +767,7 @@ definitions: examples: - "source_railz.components.MyCustomStateMigration" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" CustomTransformation: title: Custom Transformation description: Transformation component whose behavior is derived from a custom code implementation of the connector. @@ -805,8 +787,7 @@ definitions: examples: - "source_railz.components.MyCustomTransformation" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" LegacyToPerPartitionStateMigration: title: Legacy To Per-partition-state Migration description: @@ -866,8 +847,7 @@ definitions: description: Optionally configures how the start value will be sent in requests to the source API. "$ref": "#/definitions/RequestOption" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" DatetimeBasedCursor: title: Datetime Based Cursor description: Cursor to provide incremental capabilities over datetime. @@ -1146,8 +1126,7 @@ definitions: - "P1M" - "P1Y" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" JwtAuthenticator: title: JWT Authenticator description: Authenticator for requests using JWT authentication flow. @@ -1282,8 +1261,7 @@ definitions: description: A request option describing where the signed JWT token that is generated should be injected into the outbound API request. "$ref": "#/definitions/RequestOption" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" OAuthAuthenticator: title: OAuth2 description: Authenticator for requests using OAuth 2.0 authorization flow. @@ -1502,8 +1480,7 @@ definitions: type: boolean default: false $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" DeclarativeStream: title: Declarative Stream description: A stream whose behavior is described by a set of declarative low code components. @@ -1623,8 +1600,7 @@ definitions: - "{{ record.id }}/{{ record.file_name }}/" - "{{ record.id }}_{{ record.file_name }}/" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" $parameters: type: object additional_properties: true @@ -1864,8 +1840,7 @@ definitions: - "$ref": "#/definitions/RequestOption" - "$ref": "#/definitions/RequestPath" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" DpathExtractor: title: Dpath Extractor description: Record extractor that searches a decoded response over a path defined as an array of fields. @@ -1891,8 +1866,7 @@ definitions: - ["data", "{{ parameters.name }}"] - ["data", "*", "record"] $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" ResponseToFileExtractor: title: CSV To File Extractor description: A record extractor designed for handling large responses that may exceed memory limits (to prevent OOM issues). It downloads a CSV file to disk, reads the data from disk, and deletes the file once it has been fully processed. @@ -1904,8 +1878,7 @@ definitions: type: string enum: [ResponseToFileExtractor] $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" ExponentialBackoffStrategy: title: Exponential Backoff description: Backoff strategy with an exponential backoff interval. The interval is defined as factor * 2^attempt_count. @@ -1930,8 +1903,7 @@ definitions: - 5.5 - "10" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" GroupByKeyMergeStrategy: title: Group by Key description: Record merge strategy that combines records according to fields on the record. @@ -1954,8 +1926,7 @@ definitions: - "id" - ["parent_id", "end_date"] $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" SessionTokenAuthenticator: title: Session Token Authenticator description: Authenticator for requests using the session token as an API key that's injected into the request. @@ -2016,8 +1987,7 @@ definitions: - "$ref": "#/definitions/JsonDecoder" - "$ref": "#/definitions/XmlDecoder" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" SessionTokenRequestApiKeyAuthenticator: type: object title: API Key Authenticator @@ -2260,8 +2230,7 @@ definitions: type: boolean default: false $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" HttpResponseFilter: description: A filter that is used to select on properties of the HTTP response received. When used with additional filters, a response will be selected if it matches any of the filter's criteria. type: object @@ -2336,8 +2305,7 @@ definitions: - "{{ 'Too much requests' in response }}" - "{{ 'error_code' in response and response['error_code'] == 'ComplexityException' }}" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" ComplexFieldType: title: Schema Field Type description: (This component is experimental. Use at your own risk.) Represents a complex field type. @@ -2416,8 +2384,7 @@ definitions: items: "$ref": "#/definitions/TypesMap" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" DynamicSchemaLoader: title: Dynamic Schema Loader description: (This component is experimental. Use at your own risk.) Loads a schema by extracting data from retrieved records. @@ -2460,8 +2427,7 @@ definitions: schema_type_identifier: "$ref": "#/definitions/SchemaTypeIdentifier" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" InlineSchemaLoader: title: Inline Schema Loader description: Loads a schema that is defined directly in the manifest file. @@ -2498,8 +2464,7 @@ definitions: example: - "./schemas/users.json" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" JsonDecoder: title: JSON description: Select 'JSON' if the response is formatted as a JSON object. @@ -2546,8 +2511,7 @@ definitions: - "$ref": "#/definitions/KeysReplace" - "$ref": "#/definitions/CustomTransformation" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" KeysToLower: title: Keys to Lower Case description: A transformation that renames all keys to lower case. @@ -2559,8 +2523,7 @@ definitions: type: string enum: [KeysToLower] $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" KeysToSnakeCase: title: Key to Snake Case description: A transformation that renames all keys to snake case. @@ -2572,8 +2535,7 @@ definitions: type: string enum: [KeysToSnakeCase] $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" FlattenFields: title: Flatten Fields description: A transformation that flatten record to single level format. @@ -2590,8 +2552,7 @@ definitions: type: boolean default: true $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" KeyTransformation: title: Transformation to apply for extracted object keys by Dpath Flatten Fields type: object @@ -2647,8 +2608,7 @@ definitions: type: object "$ref": "#/definitions/KeyTransformation" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" KeysReplace: title: Keys Replace description: A transformation that replaces symbols in keys. @@ -2688,8 +2648,7 @@ definitions: - record - stream_slice $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" IterableDecoder: title: Iterable description: Select 'Iterable' if the response consists of strings separated by new lines (`\n`). The string will then be wrapped into a JSON object with the `record` key. @@ -2730,8 +2689,7 @@ definitions: examples: - "source_amazon_ads.components.GzipJsonlDecoder" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" ZipfileDecoder: title: ZIP File description: Select 'ZIP file' for response data that is returned as a zipfile. Requires specifying an inner data type/decoder to parse the unzipped data. @@ -2791,8 +2749,7 @@ definitions: description: A request option describing where the list value should be injected into and under what field name if applicable. "$ref": "#/definitions/RequestOption" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" MinMaxDatetime: title: Min-Max Datetime description: Compares the provided date against optional minimum or maximum times. The max_datetime serves as the ceiling and will be returned when datetime exceeds it. The min_datetime serves as the floor. @@ -2886,8 +2843,7 @@ definitions: - "2010-01-01T00:00:00Z" - "2010-01-01" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" NoAuth: title: No Authentication description: Authenticator for requests requiring no authentication. @@ -2899,8 +2855,7 @@ definitions: type: string enum: [NoAuth] $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" NoPagination: title: No Pagination description: Pagination implementation that never returns a next page. @@ -3216,8 +3171,7 @@ definitions: type: boolean default: false $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" PageIncrement: title: Page Increment description: Pagination strategy that returns the number of pages reads so far and returns it as the next page token. @@ -3256,8 +3210,7 @@ definitions: type: boolean default: false $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" ParentStreamConfig: title: Parent Stream Config description: Describes how to construct partitions from the records retrieved from the parent stream.. @@ -3324,8 +3277,7 @@ definitions: - ["field1"] - ["nested", "field2"] $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" PrimaryKey: title: Primary Key description: The stream field to be used to distinguish unique records. Can either be a single field, an array of fields representing a composite key, or an array of arrays representing a composite key where the fields are nested fields. @@ -3379,8 +3331,7 @@ definitions: - "$ref": "#/definitions/SimpleRetriever" - "$ref": "#/definitions/CustomRetriever" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" PropertyChunking: title: Property Chunking description: For APIs with restrictions on the amount of properties that can be requester per request, property chunking can be applied to make multiple requests with a subset of the properties. @@ -3407,8 +3358,7 @@ definitions: description: Dictates how to records that require multiple requests to get all properties should be emitted to the destination "$ref": "#/definitions/GroupByKeyMergeStrategy" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" QueryProperties: title: Query Properties description: For APIs that require explicit specification of the properties to query for, this component specifies which property fields and how they are supplied to outbound requests. @@ -3443,8 +3393,7 @@ definitions: description: Defines where to look for and which query properties that should be sent in outbound API requests. For example, you can specify that only the selected columns of a stream should be in the request. "$ref": "#/definitions/JsonSchemaPropertySelector" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" RecordFilter: title: Record Filter description: Filter applied on a list of records. @@ -3471,8 +3420,7 @@ definitions: - "{{ record['created_at'] >= stream_interval['start_time'] }}" - "{{ record.status in ['active', 'expired'] }}" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" RecordSelector: title: Record Selector description: Responsible for translating an HTTP response into a list of records by extracting records from the response and optionally filtering records based on a heuristic. @@ -3505,8 +3453,7 @@ definitions: description: If true, transformation will be applied before record filtering. type: boolean $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" SchemaNormalization: title: Schema Normalization description: Responsible for normalization according to the schema. @@ -3671,8 +3618,7 @@ definitions: examples: - "user/current" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" StateDelegatingStream: title: State Delegating Stream description: (This component is experimental. Use at your own risk.) Orchestrate the retriever's usage based on the state value. @@ -3702,8 +3648,7 @@ definitions: description: Component used to coordinate how records are extracted across stream slices and request pages when the state provided. "$ref": "#/definitions/DeclarativeStream" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" SimpleRetriever: title: Synchronous Retriever description: Retrieves records by synchronously sending requests to fetch records. The retriever acts as an orchestrator between the requester, the record selector, the paginator, and the partition router. @@ -3766,8 +3711,7 @@ definitions: - "$ref": "#/definitions/GroupingPartitionRouter" - "$ref": "#/definitions/CustomPartitionRouter" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" PaginationReset: title: Pagination Reset description: Describes what triggers pagination reset and how to handle it. If SPLIT_USING_CURSOR, the connector developer is accountable for ensuring that the records are returned in ascending order. @@ -3985,8 +3929,7 @@ definitions: - "$ref": "#/definitions/ZipfileDecoder" - "$ref": "#/definitions/CustomDecoder" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" Spec: title: Spec description: A source specification made up of connector metadata and how it can be configured. @@ -4093,8 +4036,7 @@ definitions: items: "$ref": "#/definitions/ParentStreamConfig" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" ValueType: title: Value Type description: A schema type. @@ -4136,8 +4078,7 @@ definitions: examples: - 3600 $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" GroupingPartitionRouter: title: Grouping Partition Router description: > @@ -4174,8 +4115,7 @@ definitions: type: boolean default: true $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" WaitUntilTimeFromHeader: title: Wait Until Time Defined In Response Header description: Extract time at which we can retry the request from response header and wait for the difference between now and that time. @@ -4215,8 +4155,7 @@ definitions: examples: - "([-+]?\\d+)" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" ComponentMappingDefinition: title: Component Mapping Definition description: (This component is experimental. Use at your own risk.) Specifies a mapping definition to update or add fields in a record or configuration. This allows dynamic mapping of data by interpolating values into the template based on provided contexts. @@ -4282,8 +4221,7 @@ definitions: - "{{ components_values.get('cursor_field', None) }}" - "{{ '_incremental' in components_values.get('stream_name', '') }}" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" HttpComponentsResolver: type: object title: Http Components Resolver @@ -4304,8 +4242,7 @@ definitions: items: "$ref": "#/definitions/ComponentMappingDefinition" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" required: - type - retriever @@ -4340,8 +4277,7 @@ definitions: items: type: object $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" ConfigComponentsResolver: type: object title: Config Components Resolver @@ -4361,8 +4297,7 @@ definitions: items: "$ref": "#/definitions/ComponentMappingDefinition" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" required: - type - stream_config @@ -4407,8 +4342,7 @@ definitions: items: "$ref": "#/definitions/ComponentMappingDefinition" $parameters: - type: object - additionalProperties: true + $ref: "#/definitions/ParametersProp" required: - type - stream_parameters diff --git a/airbyte_cdk/sources/declarative/models/declarative_component_schema.py b/airbyte_cdk/sources/declarative/models/declarative_component_schema.py index 35186ef71..42309fef6 100644 --- a/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +++ b/airbyte_cdk/sources/declarative/models/declarative_component_schema.py @@ -1,5 +1,3 @@ -# Copyright (c) 2025 Airbyte, Inc., all rights reserved. - # generated by datamodel-codegen: # filename: declarative_component_schema.yaml @@ -15,6 +13,13 @@ ) +class ParametersProp(BaseModel): + pass + + class Config: + extra = Extra.allow + + class AuthFlowType(Enum): oauth2_0 = "oauth2.0" oauth1_0 = "oauth1.0" @@ -34,7 +39,7 @@ class BasicHttpAuthenticator(BaseModel): examples=["{{ config['password'] }}", ""], title="Password", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class BearerAuthenticator(BaseModel): @@ -45,7 +50,7 @@ class BearerAuthenticator(BaseModel): examples=["{{ config['api_key'] }}", "{{ config['token'] }}"], title="Bearer Token", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class DynamicStreamCheckConfig(BaseModel): @@ -88,7 +93,7 @@ class ConcurrencyLevel(BaseModel): examples=[20, 100], title="Max Concurrency", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class ConstantBackoffStrategy(BaseModel): @@ -99,7 +104,7 @@ class ConstantBackoffStrategy(BaseModel): examples=[30, 30.5, "{{ config['backoff_time'] }}"], title="Backoff Time", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class CursorPagination(BaseModel): @@ -129,7 +134,7 @@ class CursorPagination(BaseModel): ], title="Stop Condition", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class CustomAuthenticator(BaseModel): @@ -143,7 +148,7 @@ class Config: examples=["source_railz.components.ShortLivedTokenAuthenticator"], title="Class Name", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class CustomBackoffStrategy(BaseModel): @@ -157,7 +162,7 @@ class Config: examples=["source_railz.components.MyCustomBackoffStrategy"], title="Class Name", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class CustomErrorHandler(BaseModel): @@ -171,7 +176,7 @@ class Config: examples=["source_railz.components.MyCustomErrorHandler"], title="Class Name", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class CustomPaginationStrategy(BaseModel): @@ -185,7 +190,7 @@ class Config: examples=["source_railz.components.MyCustomPaginationStrategy"], title="Class Name", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class CustomRecordExtractor(BaseModel): @@ -199,7 +204,7 @@ class Config: examples=["source_railz.components.MyCustomRecordExtractor"], title="Class Name", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class CustomRecordFilter(BaseModel): @@ -213,7 +218,7 @@ class Config: examples=["source_railz.components.MyCustomCustomRecordFilter"], title="Class Name", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class CustomRequester(BaseModel): @@ -227,7 +232,7 @@ class Config: examples=["source_railz.components.MyCustomRecordExtractor"], title="Class Name", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class CustomRetriever(BaseModel): @@ -241,7 +246,7 @@ class Config: examples=["source_railz.components.MyCustomRetriever"], title="Class Name", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class CustomPartitionRouter(BaseModel): @@ -255,7 +260,7 @@ class Config: examples=["source_railz.components.MyCustomPartitionRouter"], title="Class Name", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class CustomSchemaLoader(BaseModel): @@ -269,7 +274,7 @@ class Config: examples=["source_railz.components.MyCustomSchemaLoader"], title="Class Name", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class CustomSchemaNormalization(BaseModel): @@ -285,7 +290,7 @@ class Config: ], title="Class Name", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class CustomStateMigration(BaseModel): @@ -299,7 +304,7 @@ class Config: examples=["source_railz.components.MyCustomStateMigration"], title="Class Name", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class CustomTransformation(BaseModel): @@ -313,7 +318,7 @@ class Config: examples=["source_railz.components.MyCustomTransformation"], title="Class Name", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class LegacyToPerPartitionStateMigration(BaseModel): @@ -497,12 +502,12 @@ class DpathExtractor(BaseModel): ], title="Field Path", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class ResponseToFileExtractor(BaseModel): type: Literal["ResponseToFileExtractor"] - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class ExponentialBackoffStrategy(BaseModel): @@ -513,7 +518,7 @@ class ExponentialBackoffStrategy(BaseModel): examples=[5, 5.5, "10"], title="Factor", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class GroupByKeyMergeStrategy(BaseModel): @@ -524,7 +529,7 @@ class GroupByKeyMergeStrategy(BaseModel): examples=["id", ["parent_id", "end_date"]], title="Key", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class SessionTokenRequestBearerAuthenticator(BaseModel): @@ -599,7 +604,7 @@ class HttpResponseFilter(BaseModel): ], title="Predicate", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class ComplexFieldType(BaseModel): @@ -631,7 +636,7 @@ class SchemaTypeIdentifier(BaseModel): title="Type Path", ) types_mapping: Optional[List[TypesMap]] = None - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class InlineSchemaLoader(BaseModel): @@ -652,7 +657,7 @@ class JsonFileSchemaLoader(BaseModel): example=["./schemas/users.json"], title="File Path", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class JsonDecoder(BaseModel): @@ -665,12 +670,12 @@ class JsonlDecoder(BaseModel): class KeysToLower(BaseModel): type: Literal["KeysToLower"] - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class KeysToSnakeCase(BaseModel): type: Literal["KeysToSnakeCase"] - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class FlattenFields(BaseModel): @@ -680,7 +685,7 @@ class FlattenFields(BaseModel): description="Whether to flatten lists or leave it as is. Default is True.", title="Flatten Lists", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class KeyTransformation(BaseModel): @@ -722,7 +727,7 @@ class DpathFlattenFields(BaseModel): description="Transformation for object keys. If not provided, original key will be used.", title="Key transformation", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class KeysReplace(BaseModel): @@ -749,7 +754,7 @@ class KeysReplace(BaseModel): ], title="New value", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class IterableDecoder(BaseModel): @@ -771,7 +776,7 @@ class Config: examples=["source_amazon_ads.components.GzipJsonlDecoder"], title="Class Name", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class MinMaxDatetime(BaseModel): @@ -805,12 +810,12 @@ class MinMaxDatetime(BaseModel): examples=["2010-01-01T00:00:00Z", "2010-01-01"], title="Min Datetime", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class NoAuth(BaseModel): type: Literal["NoAuth"] - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class NoPagination(BaseModel): @@ -998,7 +1003,7 @@ class OffsetIncrement(BaseModel): description="Using the `offset` with value `0` during the first request", title="Inject Offset on First Request", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class PageIncrement(BaseModel): @@ -1020,7 +1025,7 @@ class PageIncrement(BaseModel): description="Using the `page number` with value defined by `start_from_page` during the first request", title="Inject Page Number on First Request", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class PrimaryKey(BaseModel): @@ -1054,7 +1059,7 @@ class PropertyChunking(BaseModel): description="Dictates how to records that require multiple requests to get all properties should be emitted to the destination", title="Record Merge Strategy", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class RecordFilter(BaseModel): @@ -1068,7 +1073,7 @@ class RecordFilter(BaseModel): ], title="Condition", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class SchemaNormalization(Enum): @@ -1180,7 +1185,7 @@ class LegacySessionTokenAuthenticator(BaseModel): examples=["user/current"], title="Validate Session Path", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class Action1(Enum): @@ -1235,7 +1240,7 @@ class WaitTimeFromHeader(BaseModel): examples=[3600], title="Max Waiting Time in Seconds", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class WaitUntilTimeFromHeader(BaseModel): @@ -1258,7 +1263,7 @@ class WaitUntilTimeFromHeader(BaseModel): examples=["([-+]?\\d+)"], title="Extraction Regex", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class ComponentMappingDefinition(BaseModel): @@ -1305,7 +1310,7 @@ class ComponentMappingDefinition(BaseModel): ], title="Condition", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class StreamConfig(BaseModel): @@ -1321,14 +1326,14 @@ class StreamConfig(BaseModel): description="A list of default values, each matching the structure expected from the parsed component value.", title="Default Values", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class ConfigComponentsResolver(BaseModel): type: Literal["ConfigComponentsResolver"] stream_config: Union[List[StreamConfig], StreamConfig] components_mapping: List[ComponentMappingDefinition] - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class StreamParametersDefinition(BaseModel): @@ -1353,7 +1358,7 @@ class ParametrizedComponentsResolver(BaseModel): type: Literal["ParametrizedComponentsResolver"] stream_parameters: StreamParametersDefinition components_mapping: List[ComponentMappingDefinition] - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class RequestBodyPlainText(BaseModel): @@ -1499,7 +1504,7 @@ class AddedFieldDefinition(BaseModel): description="Type of the value. If not specified, the type will be inferred from the value.", title="Value Type", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class AddFields(BaseModel): @@ -1519,7 +1524,7 @@ class AddFields(BaseModel): "{{ property == 'some_string_to_match' }}", ], ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class ApiKeyAuthenticator(BaseModel): @@ -1545,7 +1550,7 @@ class ApiKeyAuthenticator(BaseModel): ], title="Inject API Key Into Outgoing HTTP Request", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class AuthFlow(BaseModel): @@ -1597,7 +1602,7 @@ class IncrementingCountCursor(BaseModel): description="Optionally configures how the start value will be sent in requests to the source API.", title="Inject Start Value Into Outgoing HTTP Request", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class DatetimeBasedCursor(BaseModel): @@ -1708,7 +1713,7 @@ class DatetimeBasedCursor(BaseModel): examples=["P1W", "{{ config['step_increment'] }}"], title="Step", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class JwtAuthenticator(BaseModel): @@ -1773,7 +1778,7 @@ class JwtAuthenticator(BaseModel): description="A request option describing where the signed JWT token that is generated should be injected into the outbound API request.", title="Request Option", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class OAuthAuthenticator(BaseModel): @@ -1915,7 +1920,7 @@ class OAuthAuthenticator(BaseModel): description="Enable using profile assertion as a flow for OAuth authorization.", title="Use Profile Assertion", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class FixedWindowCallRatePolicy(BaseModel): @@ -2015,7 +2020,7 @@ class DefaultPaginator(BaseModel): description="Inject the page token into the outgoing HTTP requests by inserting it into either the request URL path or a field on the request.", title="Inject Page Token Into Outgoing HTTP Request", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class SessionTokenRequestApiKeyAuthenticator(BaseModel): @@ -2051,7 +2056,7 @@ class JsonSchemaPropertySelector(BaseModel): description="A list of transformations to be applied on the customer configured schema that will be used to filter out unselected fields when specifying query properties for API requests.", title="Transformations", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class ListPartitionRouter(BaseModel): @@ -2073,7 +2078,7 @@ class ListPartitionRouter(BaseModel): description="A request option describing where the list value should be injected into and under what field name if applicable.", title="Inject Partition Value Into Outgoing HTTP Request", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class RecordSelector(BaseModel): @@ -2094,7 +2099,7 @@ class RecordSelector(BaseModel): description="If true, transformation will be applied before record filtering.", title="Transform Before Filtering", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class PaginationReset(BaseModel): @@ -2181,7 +2186,7 @@ class CompositeErrorHandler(BaseModel): title="Error Handlers", ) ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class HTTPAPIBudget(BaseModel): @@ -2419,7 +2424,7 @@ class Config: ], title="Authenticators", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class ConditionalStreams(BaseModel): @@ -2435,7 +2440,7 @@ class ConditionalStreams(BaseModel): description="Streams that will be used during an operation based on the condition.", title="Streams", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class FileUploader(BaseModel): @@ -2460,7 +2465,7 @@ class FileUploader(BaseModel): "{{ record.id }}_{{ record.file_name }}/", ], ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class DeclarativeStream(BaseModel): @@ -2574,7 +2579,7 @@ class SessionTokenAuthenticator(BaseModel): decoder: Optional[Union[JsonDecoder, XmlDecoder]] = Field( None, description="Component used to decode the response.", title="Decoder" ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class HttpRequester(BaseModelWithDeprecations): @@ -2716,7 +2721,7 @@ class HttpRequester(BaseModelWithDeprecations): description="Enables stream requests caching. This field is automatically set by the CDK.", title="Use Cache", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class DynamicSchemaLoader(BaseModel): @@ -2750,7 +2755,7 @@ class DynamicSchemaLoader(BaseModel): title="Schema Transformations", ) schema_type_identifier: SchemaTypeIdentifier - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class ParentStreamConfig(BaseModel): @@ -2790,7 +2795,7 @@ class ParentStreamConfig(BaseModel): description="Array of field paths to include as additional fields in the stream slice. Each path is an array of strings representing keys to access fields in the respective parent record. Accessible via `stream_slice.extra_fields`. Missing fields are set to `None`.", title="Extra Fields", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class PropertiesFromEndpoint(BaseModel): @@ -2804,7 +2809,7 @@ class PropertiesFromEndpoint(BaseModel): ..., description="Requester component that describes how to fetch the properties to query from a remote API endpoint.", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class QueryProperties(BaseModel): @@ -2829,7 +2834,7 @@ class QueryProperties(BaseModel): description="Defines where to look for and which query properties that should be sent in outbound API requests. For example, you can specify that only the selected columns of a stream should be in the request.", title="Property Selector", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class StateDelegatingStream(BaseModel): @@ -2845,7 +2850,7 @@ class StateDelegatingStream(BaseModel): description="Component used to coordinate how records are extracted across stream slices and request pages when the state provided.", title="Incremental Stream", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class SimpleRetriever(BaseModel): @@ -2906,7 +2911,7 @@ class SimpleRetriever(BaseModel): description="Used to iteratively execute requests over a set of values, such as a parent stream's records or a list of constant values.", title="Partition Router", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class AsyncRetriever(BaseModel): @@ -3012,7 +3017,7 @@ class AsyncRetriever(BaseModel): description="Component decoding the download response so records can be extracted.", title="Download HTTP Response Format", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class SubstreamPartitionRouter(BaseModel): @@ -3022,7 +3027,7 @@ class SubstreamPartitionRouter(BaseModel): description="Specifies which parent streams are being iterated over and how parent records should be used to partition the child stream data set.", title="Parent Stream Configs", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class GroupingPartitionRouter(BaseModel): @@ -3045,7 +3050,7 @@ class GroupingPartitionRouter(BaseModel): description="If true, ensures that partitions are unique within each group by removing duplicates based on the partition key.", title="Deduplicate Partitions", ) - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class HttpComponentsResolver(BaseModel): @@ -3056,7 +3061,7 @@ class HttpComponentsResolver(BaseModel): title="Retriever", ) components_mapping: List[ComponentMappingDefinition] - parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters") + parameters: Optional[ParametersProp] = Field(None, alias="$parameters") class DynamicDeclarativeStream(BaseModel): From 01eb85c31d8ff20927185be9e0f859cb6f8f7b68 Mon Sep 17 00:00:00 2001 From: "Aaron (\"AJ\") Steers" Date: Sat, 8 Nov 2025 21:53:18 -0800 Subject: [PATCH 3/5] Potential fix for pull request finding 'Unnecessary pass' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> --- .../sources/declarative/models/declarative_component_schema.py | 1 - 1 file changed, 1 deletion(-) diff --git a/airbyte_cdk/sources/declarative/models/declarative_component_schema.py b/airbyte_cdk/sources/declarative/models/declarative_component_schema.py index 42309fef6..61753eb9d 100644 --- a/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +++ b/airbyte_cdk/sources/declarative/models/declarative_component_schema.py @@ -14,7 +14,6 @@ class ParametersProp(BaseModel): - pass class Config: extra = Extra.allow From ef638f5ca9eaea53a0911097e898fcf18a7d8639 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 9 Nov 2025 06:15:23 +0000 Subject: [PATCH 4/5] refactor: Use YAML anchors for DRY $parameters schema Replace JSON Schema $ref with YAML anchors to achieve DRY schema while avoiding Pydantic BaseModel generation that caused MyPy type errors. - Add YAML anchor definition (x-parameters-definition) at top of schema - Replace 71 $ref occurrences with anchor merges (<<: *parameters-definition) - Generated models now use Dict[str, Any] instead of ParametersProp - All 84 MyPy errors resolved with zero code changes to model_to_component_factory.py This approach preserves DRY in the source YAML while generating type-compatible Python models that work seamlessly with existing code. Co-Authored-By: AJ Steers --- .../declarative_component_schema.yaml | 152 +++--- .../models/declarative_component_schema.py | 504 +++++++++++++++--- 2 files changed, 502 insertions(+), 154 deletions(-) diff --git a/airbyte_cdk/sources/declarative/declarative_component_schema.yaml b/airbyte_cdk/sources/declarative/declarative_component_schema.yaml index 9254211d5..121dda36a 100644 --- a/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +++ b/airbyte_cdk/sources/declarative/declarative_component_schema.yaml @@ -4,6 +4,11 @@ title: DeclarativeSource type: object description: An API source that extracts data according to its declarative components. version: 1.0.0 +x-parameters-definition: ¶meters-definition + title: "$parameters" + description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." + type: object + additionalProperties: true required: - type - check @@ -63,11 +68,6 @@ properties: description: A description of the connector. It will be presented on the Source documentation page. additionalProperties: false definitions: - ParametersProp: - title: "$parameters" - description: "Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details." - type: object - additionalProperties: true AddedFieldDefinition: title: Definition Of Field To Add description: Defines the field to add on a record. @@ -108,7 +108,7 @@ definitions: description: Type of the value. If not specified, the type will be inferred from the value. "$ref": "#/definitions/ValueType" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition AddFields: title: Add Fields description: Transformation which adds field to an output record. The path of the added field can be nested. @@ -140,7 +140,7 @@ definitions: - "{{ property|length > 5 }}" - "{{ property == 'some_string_to_match' }}" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition ApiKeyAuthenticator: title: API Key Authenticator description: Authenticator for requests authenticated with an API token injected as an HTTP request header. @@ -180,7 +180,7 @@ definitions: - inject_into: request_parameter field_name: authKey $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition AuthFlow: title: "Auth flow" description: |- @@ -243,7 +243,7 @@ definitions: - "{{ config['password'] }}" - "" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition BearerAuthenticator: title: Bearer Token Authenticator description: "Authenticator for requests authenticated with a bearer token injected as a request header of the form `Authorization: Bearer `." @@ -265,7 +265,7 @@ definitions: - "{{ config['api_key'] }}" - "{{ config['token'] }}" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition SelectiveAuthenticator: title: Selective Authenticator description: Authenticator that selects concrete authenticator based on config property. @@ -309,7 +309,7 @@ definitions: oauth: "#/definitions/OAuthAuthenticator" jwt: "#/definitions/JwtAuthenticator" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition CheckStream: title: Streams to Check description: Defines the streams to try reading when running a check operation. @@ -392,7 +392,7 @@ definitions: - "$ref": "#/definitions/DefaultErrorHandler" - "$ref": "#/definitions/CustomErrorHandler" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition ConcurrencyLevel: title: Concurrency Level description: Defines the amount of parallelization for the streams that are being synced. The factor of parallelization is how many partitions or streams are synced at the same time. For example, with a concurrency_level of 10, ten streams or partitions of data will processed at the same time. Note that a value of 1 could create deadlock if a stream has a very high number of partitions. @@ -422,7 +422,7 @@ definitions: - 20 - 100 $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition ConditionalStreams: title: Conditional Streams description: Streams that are only available while performing a connector operation when the condition is met. @@ -451,7 +451,7 @@ definitions: items: "$ref": "#/definitions/DeclarativeStream" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition ConstantBackoffStrategy: title: Constant Backoff description: Backoff strategy with a constant backoff interval. @@ -478,7 +478,7 @@ definitions: - 30.5 - "{{ config['backoff_time'] }}" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition CursorPagination: title: Cursor Pagination description: Pagination strategy that evaluates an interpolated string to define the next page to fetch. @@ -523,7 +523,7 @@ definitions: - "{{ response.data.has_more is false }}" - "{{ 'next' not in headers['link'] }}" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition CustomAuthenticator: title: Custom Authenticator description: Authenticator component whose behavior is derived from a custom code implementation of the connector. @@ -544,7 +544,7 @@ definitions: examples: - "source_railz.components.ShortLivedTokenAuthenticator" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition CustomBackoffStrategy: title: Custom Backoff Strategy description: Backoff strategy component whose behavior is derived from a custom code implementation of the connector. @@ -564,7 +564,7 @@ definitions: examples: - "source_railz.components.MyCustomBackoffStrategy" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition CustomErrorHandler: title: Custom Error Handler description: Error handler component whose behavior is derived from a custom code implementation of the connector. @@ -584,7 +584,7 @@ definitions: examples: - "source_railz.components.MyCustomErrorHandler" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition CustomPaginationStrategy: title: Custom Pagination Strategy description: Pagination strategy component whose behavior is derived from a custom code implementation of the connector. @@ -604,7 +604,7 @@ definitions: examples: - "source_railz.components.MyCustomPaginationStrategy" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition CustomRecordExtractor: title: Custom Record Extractor description: Record extractor component whose behavior is derived from a custom code implementation of the connector. @@ -624,7 +624,7 @@ definitions: examples: - "source_railz.components.MyCustomRecordExtractor" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition CustomRecordFilter: title: Custom Record Filter description: Record filter component whose behavior is derived from a custom code implementation of the connector. @@ -644,7 +644,7 @@ definitions: examples: - "source_railz.components.MyCustomCustomRecordFilter" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition CustomRequester: title: Custom Requester description: Requester component whose behavior is derived from a custom code implementation of the connector. @@ -665,7 +665,7 @@ definitions: examples: - "source_railz.components.MyCustomRecordExtractor" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition CustomRetriever: title: Custom Retriever description: Retriever component whose behavior is derived from a custom code implementation of the connector. @@ -686,7 +686,7 @@ definitions: examples: - "source_railz.components.MyCustomRetriever" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition CustomPartitionRouter: title: Custom Partition Router description: Partition router component whose behavior is derived from a custom code implementation of the connector. @@ -706,7 +706,7 @@ definitions: examples: - "source_railz.components.MyCustomPartitionRouter" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition CustomSchemaLoader: title: Custom Schema Loader description: Schema Loader component whose behavior is derived from a custom code implementation of the connector. @@ -726,7 +726,7 @@ definitions: examples: - "source_railz.components.MyCustomSchemaLoader" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition CustomSchemaNormalization: title: Custom Schema Normalization description: Schema normalization component whose behavior is derived from a custom code implementation of the connector. @@ -747,7 +747,7 @@ definitions: examples: - "source_amazon_seller_partner.components.LedgerDetailedViewReportsTypeTransformer" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition CustomStateMigration: title: Custom State Migration description: Apply a custom transformation on the input state. @@ -767,7 +767,7 @@ definitions: examples: - "source_railz.components.MyCustomStateMigration" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition CustomTransformation: title: Custom Transformation description: Transformation component whose behavior is derived from a custom code implementation of the connector. @@ -787,7 +787,7 @@ definitions: examples: - "source_railz.components.MyCustomTransformation" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition LegacyToPerPartitionStateMigration: title: Legacy To Per-partition-state Migration description: @@ -847,7 +847,7 @@ definitions: description: Optionally configures how the start value will be sent in requests to the source API. "$ref": "#/definitions/RequestOption" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition DatetimeBasedCursor: title: Datetime Based Cursor description: Cursor to provide incremental capabilities over datetime. @@ -1126,7 +1126,7 @@ definitions: - "P1M" - "P1Y" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition JwtAuthenticator: title: JWT Authenticator description: Authenticator for requests using JWT authentication flow. @@ -1261,7 +1261,7 @@ definitions: description: A request option describing where the signed JWT token that is generated should be injected into the outbound API request. "$ref": "#/definitions/RequestOption" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition OAuthAuthenticator: title: OAuth2 description: Authenticator for requests using OAuth 2.0 authorization flow. @@ -1480,7 +1480,7 @@ definitions: type: boolean default: false $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition DeclarativeStream: title: Declarative Stream description: A stream whose behavior is described by a set of declarative low code components. @@ -1600,7 +1600,7 @@ definitions: - "{{ record.id }}/{{ record.file_name }}/" - "{{ record.id }}_{{ record.file_name }}/" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition $parameters: type: object additional_properties: true @@ -1840,7 +1840,7 @@ definitions: - "$ref": "#/definitions/RequestOption" - "$ref": "#/definitions/RequestPath" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition DpathExtractor: title: Dpath Extractor description: Record extractor that searches a decoded response over a path defined as an array of fields. @@ -1866,7 +1866,7 @@ definitions: - ["data", "{{ parameters.name }}"] - ["data", "*", "record"] $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition ResponseToFileExtractor: title: CSV To File Extractor description: A record extractor designed for handling large responses that may exceed memory limits (to prevent OOM issues). It downloads a CSV file to disk, reads the data from disk, and deletes the file once it has been fully processed. @@ -1878,7 +1878,7 @@ definitions: type: string enum: [ResponseToFileExtractor] $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition ExponentialBackoffStrategy: title: Exponential Backoff description: Backoff strategy with an exponential backoff interval. The interval is defined as factor * 2^attempt_count. @@ -1903,7 +1903,7 @@ definitions: - 5.5 - "10" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition GroupByKeyMergeStrategy: title: Group by Key description: Record merge strategy that combines records according to fields on the record. @@ -1926,7 +1926,7 @@ definitions: - "id" - ["parent_id", "end_date"] $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition SessionTokenAuthenticator: title: Session Token Authenticator description: Authenticator for requests using the session token as an API key that's injected into the request. @@ -1987,7 +1987,7 @@ definitions: - "$ref": "#/definitions/JsonDecoder" - "$ref": "#/definitions/XmlDecoder" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition SessionTokenRequestApiKeyAuthenticator: type: object title: API Key Authenticator @@ -2230,7 +2230,7 @@ definitions: type: boolean default: false $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition HttpResponseFilter: description: A filter that is used to select on properties of the HTTP response received. When used with additional filters, a response will be selected if it matches any of the filter's criteria. type: object @@ -2305,7 +2305,7 @@ definitions: - "{{ 'Too much requests' in response }}" - "{{ 'error_code' in response and response['error_code'] == 'ComplexityException' }}" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition ComplexFieldType: title: Schema Field Type description: (This component is experimental. Use at your own risk.) Represents a complex field type. @@ -2384,7 +2384,7 @@ definitions: items: "$ref": "#/definitions/TypesMap" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition DynamicSchemaLoader: title: Dynamic Schema Loader description: (This component is experimental. Use at your own risk.) Loads a schema by extracting data from retrieved records. @@ -2427,7 +2427,7 @@ definitions: schema_type_identifier: "$ref": "#/definitions/SchemaTypeIdentifier" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition InlineSchemaLoader: title: Inline Schema Loader description: Loads a schema that is defined directly in the manifest file. @@ -2464,7 +2464,7 @@ definitions: example: - "./schemas/users.json" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition JsonDecoder: title: JSON description: Select 'JSON' if the response is formatted as a JSON object. @@ -2511,7 +2511,7 @@ definitions: - "$ref": "#/definitions/KeysReplace" - "$ref": "#/definitions/CustomTransformation" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition KeysToLower: title: Keys to Lower Case description: A transformation that renames all keys to lower case. @@ -2523,7 +2523,7 @@ definitions: type: string enum: [KeysToLower] $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition KeysToSnakeCase: title: Key to Snake Case description: A transformation that renames all keys to snake case. @@ -2535,7 +2535,7 @@ definitions: type: string enum: [KeysToSnakeCase] $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition FlattenFields: title: Flatten Fields description: A transformation that flatten record to single level format. @@ -2552,7 +2552,7 @@ definitions: type: boolean default: true $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition KeyTransformation: title: Transformation to apply for extracted object keys by Dpath Flatten Fields type: object @@ -2608,7 +2608,7 @@ definitions: type: object "$ref": "#/definitions/KeyTransformation" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition KeysReplace: title: Keys Replace description: A transformation that replaces symbols in keys. @@ -2648,7 +2648,7 @@ definitions: - record - stream_slice $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition IterableDecoder: title: Iterable description: Select 'Iterable' if the response consists of strings separated by new lines (`\n`). The string will then be wrapped into a JSON object with the `record` key. @@ -2689,7 +2689,7 @@ definitions: examples: - "source_amazon_ads.components.GzipJsonlDecoder" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition ZipfileDecoder: title: ZIP File description: Select 'ZIP file' for response data that is returned as a zipfile. Requires specifying an inner data type/decoder to parse the unzipped data. @@ -2749,7 +2749,7 @@ definitions: description: A request option describing where the list value should be injected into and under what field name if applicable. "$ref": "#/definitions/RequestOption" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition MinMaxDatetime: title: Min-Max Datetime description: Compares the provided date against optional minimum or maximum times. The max_datetime serves as the ceiling and will be returned when datetime exceeds it. The min_datetime serves as the floor. @@ -2843,7 +2843,7 @@ definitions: - "2010-01-01T00:00:00Z" - "2010-01-01" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition NoAuth: title: No Authentication description: Authenticator for requests requiring no authentication. @@ -2855,7 +2855,7 @@ definitions: type: string enum: [NoAuth] $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition NoPagination: title: No Pagination description: Pagination implementation that never returns a next page. @@ -3171,7 +3171,7 @@ definitions: type: boolean default: false $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition PageIncrement: title: Page Increment description: Pagination strategy that returns the number of pages reads so far and returns it as the next page token. @@ -3210,7 +3210,7 @@ definitions: type: boolean default: false $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition ParentStreamConfig: title: Parent Stream Config description: Describes how to construct partitions from the records retrieved from the parent stream.. @@ -3277,7 +3277,7 @@ definitions: - ["field1"] - ["nested", "field2"] $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition PrimaryKey: title: Primary Key description: The stream field to be used to distinguish unique records. Can either be a single field, an array of fields representing a composite key, or an array of arrays representing a composite key where the fields are nested fields. @@ -3331,7 +3331,7 @@ definitions: - "$ref": "#/definitions/SimpleRetriever" - "$ref": "#/definitions/CustomRetriever" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition PropertyChunking: title: Property Chunking description: For APIs with restrictions on the amount of properties that can be requester per request, property chunking can be applied to make multiple requests with a subset of the properties. @@ -3358,7 +3358,7 @@ definitions: description: Dictates how to records that require multiple requests to get all properties should be emitted to the destination "$ref": "#/definitions/GroupByKeyMergeStrategy" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition QueryProperties: title: Query Properties description: For APIs that require explicit specification of the properties to query for, this component specifies which property fields and how they are supplied to outbound requests. @@ -3393,7 +3393,7 @@ definitions: description: Defines where to look for and which query properties that should be sent in outbound API requests. For example, you can specify that only the selected columns of a stream should be in the request. "$ref": "#/definitions/JsonSchemaPropertySelector" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition RecordFilter: title: Record Filter description: Filter applied on a list of records. @@ -3420,7 +3420,7 @@ definitions: - "{{ record['created_at'] >= stream_interval['start_time'] }}" - "{{ record.status in ['active', 'expired'] }}" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition RecordSelector: title: Record Selector description: Responsible for translating an HTTP response into a list of records by extracting records from the response and optionally filtering records based on a heuristic. @@ -3453,7 +3453,7 @@ definitions: description: If true, transformation will be applied before record filtering. type: boolean $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition SchemaNormalization: title: Schema Normalization description: Responsible for normalization according to the schema. @@ -3618,7 +3618,7 @@ definitions: examples: - "user/current" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition StateDelegatingStream: title: State Delegating Stream description: (This component is experimental. Use at your own risk.) Orchestrate the retriever's usage based on the state value. @@ -3648,7 +3648,7 @@ definitions: description: Component used to coordinate how records are extracted across stream slices and request pages when the state provided. "$ref": "#/definitions/DeclarativeStream" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition SimpleRetriever: title: Synchronous Retriever description: Retrieves records by synchronously sending requests to fetch records. The retriever acts as an orchestrator between the requester, the record selector, the paginator, and the partition router. @@ -3711,7 +3711,7 @@ definitions: - "$ref": "#/definitions/GroupingPartitionRouter" - "$ref": "#/definitions/CustomPartitionRouter" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition PaginationReset: title: Pagination Reset description: Describes what triggers pagination reset and how to handle it. If SPLIT_USING_CURSOR, the connector developer is accountable for ensuring that the records are returned in ascending order. @@ -3929,7 +3929,7 @@ definitions: - "$ref": "#/definitions/ZipfileDecoder" - "$ref": "#/definitions/CustomDecoder" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition Spec: title: Spec description: A source specification made up of connector metadata and how it can be configured. @@ -4036,7 +4036,7 @@ definitions: items: "$ref": "#/definitions/ParentStreamConfig" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition ValueType: title: Value Type description: A schema type. @@ -4078,7 +4078,7 @@ definitions: examples: - 3600 $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition GroupingPartitionRouter: title: Grouping Partition Router description: > @@ -4115,7 +4115,7 @@ definitions: type: boolean default: true $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition WaitUntilTimeFromHeader: title: Wait Until Time Defined In Response Header description: Extract time at which we can retry the request from response header and wait for the difference between now and that time. @@ -4155,7 +4155,7 @@ definitions: examples: - "([-+]?\\d+)" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition ComponentMappingDefinition: title: Component Mapping Definition description: (This component is experimental. Use at your own risk.) Specifies a mapping definition to update or add fields in a record or configuration. This allows dynamic mapping of data by interpolating values into the template based on provided contexts. @@ -4221,7 +4221,7 @@ definitions: - "{{ components_values.get('cursor_field', None) }}" - "{{ '_incremental' in components_values.get('stream_name', '') }}" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition HttpComponentsResolver: type: object title: Http Components Resolver @@ -4242,7 +4242,7 @@ definitions: items: "$ref": "#/definitions/ComponentMappingDefinition" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition required: - type - retriever @@ -4277,7 +4277,7 @@ definitions: items: type: object $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition ConfigComponentsResolver: type: object title: Config Components Resolver @@ -4297,7 +4297,7 @@ definitions: items: "$ref": "#/definitions/ComponentMappingDefinition" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition required: - type - stream_config @@ -4342,7 +4342,7 @@ definitions: items: "$ref": "#/definitions/ComponentMappingDefinition" $parameters: - $ref: "#/definitions/ParametersProp" + <<: *parameters-definition required: - type - stream_parameters diff --git a/airbyte_cdk/sources/declarative/models/declarative_component_schema.py b/airbyte_cdk/sources/declarative/models/declarative_component_schema.py index 42309fef6..932ca3a2c 100644 --- a/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +++ b/airbyte_cdk/sources/declarative/models/declarative_component_schema.py @@ -13,13 +13,6 @@ ) -class ParametersProp(BaseModel): - pass - - class Config: - extra = Extra.allow - - class AuthFlowType(Enum): oauth2_0 = "oauth2.0" oauth1_0 = "oauth1.0" @@ -39,7 +32,12 @@ class BasicHttpAuthenticator(BaseModel): examples=["{{ config['password'] }}", ""], title="Password", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class BearerAuthenticator(BaseModel): @@ -50,7 +48,12 @@ class BearerAuthenticator(BaseModel): examples=["{{ config['api_key'] }}", "{{ config['token'] }}"], title="Bearer Token", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class DynamicStreamCheckConfig(BaseModel): @@ -93,7 +96,12 @@ class ConcurrencyLevel(BaseModel): examples=[20, 100], title="Max Concurrency", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class ConstantBackoffStrategy(BaseModel): @@ -104,7 +112,12 @@ class ConstantBackoffStrategy(BaseModel): examples=[30, 30.5, "{{ config['backoff_time'] }}"], title="Backoff Time", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class CursorPagination(BaseModel): @@ -134,7 +147,12 @@ class CursorPagination(BaseModel): ], title="Stop Condition", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class CustomAuthenticator(BaseModel): @@ -148,7 +166,12 @@ class Config: examples=["source_railz.components.ShortLivedTokenAuthenticator"], title="Class Name", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class CustomBackoffStrategy(BaseModel): @@ -162,7 +185,12 @@ class Config: examples=["source_railz.components.MyCustomBackoffStrategy"], title="Class Name", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class CustomErrorHandler(BaseModel): @@ -176,7 +204,12 @@ class Config: examples=["source_railz.components.MyCustomErrorHandler"], title="Class Name", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class CustomPaginationStrategy(BaseModel): @@ -190,7 +223,12 @@ class Config: examples=["source_railz.components.MyCustomPaginationStrategy"], title="Class Name", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class CustomRecordExtractor(BaseModel): @@ -204,7 +242,12 @@ class Config: examples=["source_railz.components.MyCustomRecordExtractor"], title="Class Name", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class CustomRecordFilter(BaseModel): @@ -218,7 +261,12 @@ class Config: examples=["source_railz.components.MyCustomCustomRecordFilter"], title="Class Name", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class CustomRequester(BaseModel): @@ -232,7 +280,12 @@ class Config: examples=["source_railz.components.MyCustomRecordExtractor"], title="Class Name", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class CustomRetriever(BaseModel): @@ -246,7 +299,12 @@ class Config: examples=["source_railz.components.MyCustomRetriever"], title="Class Name", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class CustomPartitionRouter(BaseModel): @@ -260,7 +318,12 @@ class Config: examples=["source_railz.components.MyCustomPartitionRouter"], title="Class Name", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class CustomSchemaLoader(BaseModel): @@ -274,7 +337,12 @@ class Config: examples=["source_railz.components.MyCustomSchemaLoader"], title="Class Name", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class CustomSchemaNormalization(BaseModel): @@ -290,7 +358,12 @@ class Config: ], title="Class Name", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class CustomStateMigration(BaseModel): @@ -304,7 +377,12 @@ class Config: examples=["source_railz.components.MyCustomStateMigration"], title="Class Name", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class CustomTransformation(BaseModel): @@ -318,7 +396,12 @@ class Config: examples=["source_railz.components.MyCustomTransformation"], title="Class Name", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class LegacyToPerPartitionStateMigration(BaseModel): @@ -502,12 +585,22 @@ class DpathExtractor(BaseModel): ], title="Field Path", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class ResponseToFileExtractor(BaseModel): type: Literal["ResponseToFileExtractor"] - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class ExponentialBackoffStrategy(BaseModel): @@ -518,7 +611,12 @@ class ExponentialBackoffStrategy(BaseModel): examples=[5, 5.5, "10"], title="Factor", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class GroupByKeyMergeStrategy(BaseModel): @@ -529,7 +627,12 @@ class GroupByKeyMergeStrategy(BaseModel): examples=["id", ["parent_id", "end_date"]], title="Key", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class SessionTokenRequestBearerAuthenticator(BaseModel): @@ -604,7 +707,12 @@ class HttpResponseFilter(BaseModel): ], title="Predicate", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class ComplexFieldType(BaseModel): @@ -636,7 +744,12 @@ class SchemaTypeIdentifier(BaseModel): title="Type Path", ) types_mapping: Optional[List[TypesMap]] = None - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class InlineSchemaLoader(BaseModel): @@ -657,7 +770,12 @@ class JsonFileSchemaLoader(BaseModel): example=["./schemas/users.json"], title="File Path", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class JsonDecoder(BaseModel): @@ -670,12 +788,22 @@ class JsonlDecoder(BaseModel): class KeysToLower(BaseModel): type: Literal["KeysToLower"] - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class KeysToSnakeCase(BaseModel): type: Literal["KeysToSnakeCase"] - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class FlattenFields(BaseModel): @@ -685,7 +813,12 @@ class FlattenFields(BaseModel): description="Whether to flatten lists or leave it as is. Default is True.", title="Flatten Lists", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class KeyTransformation(BaseModel): @@ -727,7 +860,12 @@ class DpathFlattenFields(BaseModel): description="Transformation for object keys. If not provided, original key will be used.", title="Key transformation", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class KeysReplace(BaseModel): @@ -754,7 +892,12 @@ class KeysReplace(BaseModel): ], title="New value", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class IterableDecoder(BaseModel): @@ -776,7 +919,12 @@ class Config: examples=["source_amazon_ads.components.GzipJsonlDecoder"], title="Class Name", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class MinMaxDatetime(BaseModel): @@ -810,12 +958,22 @@ class MinMaxDatetime(BaseModel): examples=["2010-01-01T00:00:00Z", "2010-01-01"], title="Min Datetime", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class NoAuth(BaseModel): type: Literal["NoAuth"] - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class NoPagination(BaseModel): @@ -1003,7 +1161,12 @@ class OffsetIncrement(BaseModel): description="Using the `offset` with value `0` during the first request", title="Inject Offset on First Request", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class PageIncrement(BaseModel): @@ -1025,7 +1188,12 @@ class PageIncrement(BaseModel): description="Using the `page number` with value defined by `start_from_page` during the first request", title="Inject Page Number on First Request", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class PrimaryKey(BaseModel): @@ -1059,7 +1227,12 @@ class PropertyChunking(BaseModel): description="Dictates how to records that require multiple requests to get all properties should be emitted to the destination", title="Record Merge Strategy", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class RecordFilter(BaseModel): @@ -1073,7 +1246,12 @@ class RecordFilter(BaseModel): ], title="Condition", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class SchemaNormalization(Enum): @@ -1185,7 +1363,12 @@ class LegacySessionTokenAuthenticator(BaseModel): examples=["user/current"], title="Validate Session Path", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class Action1(Enum): @@ -1240,7 +1423,12 @@ class WaitTimeFromHeader(BaseModel): examples=[3600], title="Max Waiting Time in Seconds", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class WaitUntilTimeFromHeader(BaseModel): @@ -1263,7 +1451,12 @@ class WaitUntilTimeFromHeader(BaseModel): examples=["([-+]?\\d+)"], title="Extraction Regex", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class ComponentMappingDefinition(BaseModel): @@ -1310,7 +1503,12 @@ class ComponentMappingDefinition(BaseModel): ], title="Condition", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class StreamConfig(BaseModel): @@ -1326,14 +1524,24 @@ class StreamConfig(BaseModel): description="A list of default values, each matching the structure expected from the parsed component value.", title="Default Values", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class ConfigComponentsResolver(BaseModel): type: Literal["ConfigComponentsResolver"] stream_config: Union[List[StreamConfig], StreamConfig] components_mapping: List[ComponentMappingDefinition] - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class StreamParametersDefinition(BaseModel): @@ -1358,7 +1566,12 @@ class ParametrizedComponentsResolver(BaseModel): type: Literal["ParametrizedComponentsResolver"] stream_parameters: StreamParametersDefinition components_mapping: List[ComponentMappingDefinition] - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class RequestBodyPlainText(BaseModel): @@ -1504,7 +1717,12 @@ class AddedFieldDefinition(BaseModel): description="Type of the value. If not specified, the type will be inferred from the value.", title="Value Type", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class AddFields(BaseModel): @@ -1524,7 +1742,12 @@ class AddFields(BaseModel): "{{ property == 'some_string_to_match' }}", ], ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class ApiKeyAuthenticator(BaseModel): @@ -1550,7 +1773,12 @@ class ApiKeyAuthenticator(BaseModel): ], title="Inject API Key Into Outgoing HTTP Request", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class AuthFlow(BaseModel): @@ -1602,7 +1830,12 @@ class IncrementingCountCursor(BaseModel): description="Optionally configures how the start value will be sent in requests to the source API.", title="Inject Start Value Into Outgoing HTTP Request", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class DatetimeBasedCursor(BaseModel): @@ -1713,7 +1946,12 @@ class DatetimeBasedCursor(BaseModel): examples=["P1W", "{{ config['step_increment'] }}"], title="Step", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class JwtAuthenticator(BaseModel): @@ -1778,7 +2016,12 @@ class JwtAuthenticator(BaseModel): description="A request option describing where the signed JWT token that is generated should be injected into the outbound API request.", title="Request Option", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class OAuthAuthenticator(BaseModel): @@ -1920,7 +2163,12 @@ class OAuthAuthenticator(BaseModel): description="Enable using profile assertion as a flow for OAuth authorization.", title="Use Profile Assertion", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class FixedWindowCallRatePolicy(BaseModel): @@ -2020,7 +2268,12 @@ class DefaultPaginator(BaseModel): description="Inject the page token into the outgoing HTTP requests by inserting it into either the request URL path or a field on the request.", title="Inject Page Token Into Outgoing HTTP Request", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class SessionTokenRequestApiKeyAuthenticator(BaseModel): @@ -2056,7 +2309,12 @@ class JsonSchemaPropertySelector(BaseModel): description="A list of transformations to be applied on the customer configured schema that will be used to filter out unselected fields when specifying query properties for API requests.", title="Transformations", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class ListPartitionRouter(BaseModel): @@ -2078,7 +2336,12 @@ class ListPartitionRouter(BaseModel): description="A request option describing where the list value should be injected into and under what field name if applicable.", title="Inject Partition Value Into Outgoing HTTP Request", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class RecordSelector(BaseModel): @@ -2099,7 +2362,12 @@ class RecordSelector(BaseModel): description="If true, transformation will be applied before record filtering.", title="Transform Before Filtering", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class PaginationReset(BaseModel): @@ -2186,7 +2454,12 @@ class CompositeErrorHandler(BaseModel): title="Error Handlers", ) ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class HTTPAPIBudget(BaseModel): @@ -2424,7 +2697,12 @@ class Config: ], title="Authenticators", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class ConditionalStreams(BaseModel): @@ -2440,7 +2718,12 @@ class ConditionalStreams(BaseModel): description="Streams that will be used during an operation based on the condition.", title="Streams", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class FileUploader(BaseModel): @@ -2465,7 +2748,12 @@ class FileUploader(BaseModel): "{{ record.id }}_{{ record.file_name }}/", ], ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class DeclarativeStream(BaseModel): @@ -2579,7 +2867,12 @@ class SessionTokenAuthenticator(BaseModel): decoder: Optional[Union[JsonDecoder, XmlDecoder]] = Field( None, description="Component used to decode the response.", title="Decoder" ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class HttpRequester(BaseModelWithDeprecations): @@ -2721,7 +3014,12 @@ class HttpRequester(BaseModelWithDeprecations): description="Enables stream requests caching. This field is automatically set by the CDK.", title="Use Cache", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class DynamicSchemaLoader(BaseModel): @@ -2755,7 +3053,12 @@ class DynamicSchemaLoader(BaseModel): title="Schema Transformations", ) schema_type_identifier: SchemaTypeIdentifier - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class ParentStreamConfig(BaseModel): @@ -2795,7 +3098,12 @@ class ParentStreamConfig(BaseModel): description="Array of field paths to include as additional fields in the stream slice. Each path is an array of strings representing keys to access fields in the respective parent record. Accessible via `stream_slice.extra_fields`. Missing fields are set to `None`.", title="Extra Fields", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class PropertiesFromEndpoint(BaseModel): @@ -2809,7 +3117,12 @@ class PropertiesFromEndpoint(BaseModel): ..., description="Requester component that describes how to fetch the properties to query from a remote API endpoint.", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class QueryProperties(BaseModel): @@ -2834,7 +3147,12 @@ class QueryProperties(BaseModel): description="Defines where to look for and which query properties that should be sent in outbound API requests. For example, you can specify that only the selected columns of a stream should be in the request.", title="Property Selector", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class StateDelegatingStream(BaseModel): @@ -2850,7 +3168,12 @@ class StateDelegatingStream(BaseModel): description="Component used to coordinate how records are extracted across stream slices and request pages when the state provided.", title="Incremental Stream", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class SimpleRetriever(BaseModel): @@ -2911,7 +3234,12 @@ class SimpleRetriever(BaseModel): description="Used to iteratively execute requests over a set of values, such as a parent stream's records or a list of constant values.", title="Partition Router", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class AsyncRetriever(BaseModel): @@ -3017,7 +3345,12 @@ class AsyncRetriever(BaseModel): description="Component decoding the download response so records can be extracted.", title="Download HTTP Response Format", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class SubstreamPartitionRouter(BaseModel): @@ -3027,7 +3360,12 @@ class SubstreamPartitionRouter(BaseModel): description="Specifies which parent streams are being iterated over and how parent records should be used to partition the child stream data set.", title="Parent Stream Configs", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class GroupingPartitionRouter(BaseModel): @@ -3050,7 +3388,12 @@ class GroupingPartitionRouter(BaseModel): description="If true, ensures that partitions are unique within each group by removing duplicates based on the partition key.", title="Deduplicate Partitions", ) - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class HttpComponentsResolver(BaseModel): @@ -3061,7 +3404,12 @@ class HttpComponentsResolver(BaseModel): title="Retriever", ) components_mapping: List[ComponentMappingDefinition] - parameters: Optional[ParametersProp] = Field(None, alias="$parameters") + parameters: Optional[Dict[str, Any]] = Field( + None, + alias="$parameters", + description="Set parameters that are inherited by all child components. Parameters are automatically applied to component fields unless that field already has a value. Parameters propagate recursively to nested components. See https://docs.airbyte.com/platform/connector-development/config-based/advanced-topics/parameters for details.", + title="$parameters", + ) class DynamicDeclarativeStream(BaseModel): From fd9aba8cbf5efccdad5a432ae75c189247ea8fdf Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 9 Nov 2025 06:21:58 +0000 Subject: [PATCH 5/5] refactor: Convert YAML anchor merges to one-liner syntax Convert all 71 $parameters anchor merges from two-liner to one-liner format: - Before: $parameters:\n <<: *parameters-definition - After: $parameters: { <<: *parameters-definition } This improves readability while maintaining identical YAML semantics and generated Python code. MyPy verification confirms no behavioral changes. Co-Authored-By: AJ Steers --- .../declarative_component_schema.yaml | 213 ++++++------------ 1 file changed, 71 insertions(+), 142 deletions(-) diff --git a/airbyte_cdk/sources/declarative/declarative_component_schema.yaml b/airbyte_cdk/sources/declarative/declarative_component_schema.yaml index 121dda36a..8a3b3a170 100644 --- a/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +++ b/airbyte_cdk/sources/declarative/declarative_component_schema.yaml @@ -107,8 +107,7 @@ definitions: title: Value Type description: Type of the value. If not specified, the type will be inferred from the value. "$ref": "#/definitions/ValueType" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } AddFields: title: Add Fields description: Transformation which adds field to an output record. The path of the added field can be nested. @@ -139,8 +138,7 @@ definitions: - "{{ property is integer }}" - "{{ property|length > 5 }}" - "{{ property == 'some_string_to_match' }}" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } ApiKeyAuthenticator: title: API Key Authenticator description: Authenticator for requests authenticated with an API token injected as an HTTP request header. @@ -179,8 +177,7 @@ definitions: field_name: Authorization - inject_into: request_parameter field_name: authKey - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } AuthFlow: title: "Auth flow" description: |- @@ -242,8 +239,7 @@ definitions: examples: - "{{ config['password'] }}" - "" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } BearerAuthenticator: title: Bearer Token Authenticator description: "Authenticator for requests authenticated with a bearer token injected as a request header of the form `Authorization: Bearer `." @@ -264,8 +260,7 @@ definitions: examples: - "{{ config['api_key'] }}" - "{{ config['token'] }}" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } SelectiveAuthenticator: title: Selective Authenticator description: Authenticator that selects concrete authenticator based on config property. @@ -308,8 +303,7 @@ definitions: token: "#/definitions/ApiKeyAuthenticator" oauth: "#/definitions/OAuthAuthenticator" jwt: "#/definitions/JwtAuthenticator" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } CheckStream: title: Streams to Check description: Defines the streams to try reading when running a check operation. @@ -391,8 +385,7 @@ definitions: - "$ref": "#/definitions/CompositeErrorHandler" - "$ref": "#/definitions/DefaultErrorHandler" - "$ref": "#/definitions/CustomErrorHandler" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } ConcurrencyLevel: title: Concurrency Level description: Defines the amount of parallelization for the streams that are being synced. The factor of parallelization is how many partitions or streams are synced at the same time. For example, with a concurrency_level of 10, ten streams or partitions of data will processed at the same time. Note that a value of 1 could create deadlock if a stream has a very high number of partitions. @@ -421,8 +414,7 @@ definitions: examples: - 20 - 100 - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } ConditionalStreams: title: Conditional Streams description: Streams that are only available while performing a connector operation when the condition is met. @@ -450,8 +442,7 @@ definitions: type: array items: "$ref": "#/definitions/DeclarativeStream" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } ConstantBackoffStrategy: title: Constant Backoff description: Backoff strategy with a constant backoff interval. @@ -477,8 +468,7 @@ definitions: - 30 - 30.5 - "{{ config['backoff_time'] }}" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } CursorPagination: title: Cursor Pagination description: Pagination strategy that evaluates an interpolated string to define the next page to fetch. @@ -522,8 +512,7 @@ definitions: examples: - "{{ response.data.has_more is false }}" - "{{ 'next' not in headers['link'] }}" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } CustomAuthenticator: title: Custom Authenticator description: Authenticator component whose behavior is derived from a custom code implementation of the connector. @@ -543,8 +532,7 @@ definitions: additionalProperties: true examples: - "source_railz.components.ShortLivedTokenAuthenticator" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } CustomBackoffStrategy: title: Custom Backoff Strategy description: Backoff strategy component whose behavior is derived from a custom code implementation of the connector. @@ -563,8 +551,7 @@ definitions: type: string examples: - "source_railz.components.MyCustomBackoffStrategy" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } CustomErrorHandler: title: Custom Error Handler description: Error handler component whose behavior is derived from a custom code implementation of the connector. @@ -583,8 +570,7 @@ definitions: type: string examples: - "source_railz.components.MyCustomErrorHandler" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } CustomPaginationStrategy: title: Custom Pagination Strategy description: Pagination strategy component whose behavior is derived from a custom code implementation of the connector. @@ -603,8 +589,7 @@ definitions: type: string examples: - "source_railz.components.MyCustomPaginationStrategy" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } CustomRecordExtractor: title: Custom Record Extractor description: Record extractor component whose behavior is derived from a custom code implementation of the connector. @@ -623,8 +608,7 @@ definitions: type: string examples: - "source_railz.components.MyCustomRecordExtractor" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } CustomRecordFilter: title: Custom Record Filter description: Record filter component whose behavior is derived from a custom code implementation of the connector. @@ -643,8 +627,7 @@ definitions: type: string examples: - "source_railz.components.MyCustomCustomRecordFilter" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } CustomRequester: title: Custom Requester description: Requester component whose behavior is derived from a custom code implementation of the connector. @@ -664,8 +647,7 @@ definitions: additionalProperties: true examples: - "source_railz.components.MyCustomRecordExtractor" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } CustomRetriever: title: Custom Retriever description: Retriever component whose behavior is derived from a custom code implementation of the connector. @@ -685,8 +667,7 @@ definitions: additionalProperties: true examples: - "source_railz.components.MyCustomRetriever" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } CustomPartitionRouter: title: Custom Partition Router description: Partition router component whose behavior is derived from a custom code implementation of the connector. @@ -705,8 +686,7 @@ definitions: type: string examples: - "source_railz.components.MyCustomPartitionRouter" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } CustomSchemaLoader: title: Custom Schema Loader description: Schema Loader component whose behavior is derived from a custom code implementation of the connector. @@ -725,8 +705,7 @@ definitions: type: string examples: - "source_railz.components.MyCustomSchemaLoader" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } CustomSchemaNormalization: title: Custom Schema Normalization description: Schema normalization component whose behavior is derived from a custom code implementation of the connector. @@ -746,8 +725,7 @@ definitions: additionalProperties: true examples: - "source_amazon_seller_partner.components.LedgerDetailedViewReportsTypeTransformer" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } CustomStateMigration: title: Custom State Migration description: Apply a custom transformation on the input state. @@ -766,8 +744,7 @@ definitions: type: string examples: - "source_railz.components.MyCustomStateMigration" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } CustomTransformation: title: Custom Transformation description: Transformation component whose behavior is derived from a custom code implementation of the connector. @@ -786,8 +763,7 @@ definitions: type: string examples: - "source_railz.components.MyCustomTransformation" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } LegacyToPerPartitionStateMigration: title: Legacy To Per-partition-state Migration description: @@ -846,8 +822,7 @@ definitions: title: Inject Start Value Into Outgoing HTTP Request description: Optionally configures how the start value will be sent in requests to the source API. "$ref": "#/definitions/RequestOption" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } DatetimeBasedCursor: title: Datetime Based Cursor description: Cursor to provide incremental capabilities over datetime. @@ -1125,8 +1100,7 @@ definitions: - "P1W" - "P1M" - "P1Y" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } JwtAuthenticator: title: JWT Authenticator description: Authenticator for requests using JWT authentication flow. @@ -1260,8 +1234,7 @@ definitions: title: Request Option description: A request option describing where the signed JWT token that is generated should be injected into the outbound API request. "$ref": "#/definitions/RequestOption" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } OAuthAuthenticator: title: OAuth2 description: Authenticator for requests using OAuth 2.0 authorization flow. @@ -1479,8 +1452,7 @@ definitions: description: Enable using profile assertion as a flow for OAuth authorization. type: boolean default: false - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } DeclarativeStream: title: Declarative Stream description: A stream whose behavior is described by a set of declarative low code components. @@ -1599,8 +1571,7 @@ definitions: examples: - "{{ record.id }}/{{ record.file_name }}/" - "{{ record.id }}_{{ record.file_name }}/" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } $parameters: type: object additional_properties: true @@ -1839,8 +1810,7 @@ definitions: anyOf: - "$ref": "#/definitions/RequestOption" - "$ref": "#/definitions/RequestPath" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } DpathExtractor: title: Dpath Extractor description: Record extractor that searches a decoded response over a path defined as an array of fields. @@ -1865,8 +1835,7 @@ definitions: - ["data", "records"] - ["data", "{{ parameters.name }}"] - ["data", "*", "record"] - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } ResponseToFileExtractor: title: CSV To File Extractor description: A record extractor designed for handling large responses that may exceed memory limits (to prevent OOM issues). It downloads a CSV file to disk, reads the data from disk, and deletes the file once it has been fully processed. @@ -1877,8 +1846,7 @@ definitions: type: type: string enum: [ResponseToFileExtractor] - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } ExponentialBackoffStrategy: title: Exponential Backoff description: Backoff strategy with an exponential backoff interval. The interval is defined as factor * 2^attempt_count. @@ -1902,8 +1870,7 @@ definitions: - 5 - 5.5 - "10" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } GroupByKeyMergeStrategy: title: Group by Key description: Record merge strategy that combines records according to fields on the record. @@ -1925,8 +1892,7 @@ definitions: examples: - "id" - ["parent_id", "end_date"] - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } SessionTokenAuthenticator: title: Session Token Authenticator description: Authenticator for requests using the session token as an API key that's injected into the request. @@ -1986,8 +1952,7 @@ definitions: anyOf: - "$ref": "#/definitions/JsonDecoder" - "$ref": "#/definitions/XmlDecoder" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } SessionTokenRequestApiKeyAuthenticator: type: object title: API Key Authenticator @@ -2229,8 +2194,7 @@ definitions: description: Enables stream requests caching. This field is automatically set by the CDK. type: boolean default: false - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } HttpResponseFilter: description: A filter that is used to select on properties of the HTTP response received. When used with additional filters, a response will be selected if it matches any of the filter's criteria. type: object @@ -2304,8 +2268,7 @@ definitions: examples: - "{{ 'Too much requests' in response }}" - "{{ 'error_code' in response and response['error_code'] == 'ComplexityException' }}" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } ComplexFieldType: title: Schema Field Type description: (This component is experimental. Use at your own risk.) Represents a complex field type. @@ -2383,8 +2346,7 @@ definitions: type: array items: "$ref": "#/definitions/TypesMap" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } DynamicSchemaLoader: title: Dynamic Schema Loader description: (This component is experimental. Use at your own risk.) Loads a schema by extracting data from retrieved records. @@ -2426,8 +2388,7 @@ definitions: - "$ref": "#/definitions/CustomTransformation" schema_type_identifier: "$ref": "#/definitions/SchemaTypeIdentifier" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } InlineSchemaLoader: title: Inline Schema Loader description: Loads a schema that is defined directly in the manifest file. @@ -2463,8 +2424,7 @@ definitions: - config example: - "./schemas/users.json" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } JsonDecoder: title: JSON description: Select 'JSON' if the response is formatted as a JSON object. @@ -2510,8 +2470,7 @@ definitions: - "$ref": "#/definitions/DpathFlattenFields" - "$ref": "#/definitions/KeysReplace" - "$ref": "#/definitions/CustomTransformation" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } KeysToLower: title: Keys to Lower Case description: A transformation that renames all keys to lower case. @@ -2522,8 +2481,7 @@ definitions: type: type: string enum: [KeysToLower] - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } KeysToSnakeCase: title: Key to Snake Case description: A transformation that renames all keys to snake case. @@ -2534,8 +2492,7 @@ definitions: type: type: string enum: [KeysToSnakeCase] - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } FlattenFields: title: Flatten Fields description: A transformation that flatten record to single level format. @@ -2551,8 +2508,7 @@ definitions: description: Whether to flatten lists or leave it as is. Default is True. type: boolean default: true - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } KeyTransformation: title: Transformation to apply for extracted object keys by Dpath Flatten Fields type: object @@ -2607,8 +2563,7 @@ definitions: description: Transformation for object keys. If not provided, original key will be used. type: object "$ref": "#/definitions/KeyTransformation" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } KeysReplace: title: Keys Replace description: A transformation that replaces symbols in keys. @@ -2647,8 +2602,7 @@ definitions: - config - record - stream_slice - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } IterableDecoder: title: Iterable description: Select 'Iterable' if the response consists of strings separated by new lines (`\n`). The string will then be wrapped into a JSON object with the `record` key. @@ -2688,8 +2642,7 @@ definitions: additionalProperties: true examples: - "source_amazon_ads.components.GzipJsonlDecoder" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } ZipfileDecoder: title: ZIP File description: Select 'ZIP file' for response data that is returned as a zipfile. Requires specifying an inner data type/decoder to parse the unzipped data. @@ -2748,8 +2701,7 @@ definitions: title: Inject Partition Value Into Outgoing HTTP Request description: A request option describing where the list value should be injected into and under what field name if applicable. "$ref": "#/definitions/RequestOption" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } MinMaxDatetime: title: Min-Max Datetime description: Compares the provided date against optional minimum or maximum times. The max_datetime serves as the ceiling and will be returned when datetime exceeds it. The min_datetime serves as the floor. @@ -2842,8 +2794,7 @@ definitions: examples: - "2010-01-01T00:00:00Z" - "2010-01-01" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } NoAuth: title: No Authentication description: Authenticator for requests requiring no authentication. @@ -2854,8 +2805,7 @@ definitions: type: type: string enum: [NoAuth] - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } NoPagination: title: No Pagination description: Pagination implementation that never returns a next page. @@ -3170,8 +3120,7 @@ definitions: description: Using the `offset` with value `0` during the first request type: boolean default: false - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } PageIncrement: title: Page Increment description: Pagination strategy that returns the number of pages reads so far and returns it as the next page token. @@ -3209,8 +3158,7 @@ definitions: description: Using the `page number` with value defined by `start_from_page` during the first request type: boolean default: false - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } ParentStreamConfig: title: Parent Stream Config description: Describes how to construct partitions from the records retrieved from the parent stream.. @@ -3276,8 +3224,7 @@ definitions: examples: - ["field1"] - ["nested", "field2"] - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } PrimaryKey: title: Primary Key description: The stream field to be used to distinguish unique records. Can either be a single field, an array of fields representing a composite key, or an array of arrays representing a composite key where the fields are nested fields. @@ -3330,8 +3277,7 @@ definitions: anyOf: - "$ref": "#/definitions/SimpleRetriever" - "$ref": "#/definitions/CustomRetriever" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } PropertyChunking: title: Property Chunking description: For APIs with restrictions on the amount of properties that can be requester per request, property chunking can be applied to make multiple requests with a subset of the properties. @@ -3357,8 +3303,7 @@ definitions: title: Record Merge Strategy description: Dictates how to records that require multiple requests to get all properties should be emitted to the destination "$ref": "#/definitions/GroupByKeyMergeStrategy" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } QueryProperties: title: Query Properties description: For APIs that require explicit specification of the properties to query for, this component specifies which property fields and how they are supplied to outbound requests. @@ -3392,8 +3337,7 @@ definitions: title: Property Selector description: Defines where to look for and which query properties that should be sent in outbound API requests. For example, you can specify that only the selected columns of a stream should be in the request. "$ref": "#/definitions/JsonSchemaPropertySelector" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } RecordFilter: title: Record Filter description: Filter applied on a list of records. @@ -3419,8 +3363,7 @@ definitions: examples: - "{{ record['created_at'] >= stream_interval['start_time'] }}" - "{{ record.status in ['active', 'expired'] }}" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } RecordSelector: title: Record Selector description: Responsible for translating an HTTP response into a list of records by extracting records from the response and optionally filtering records based on a heuristic. @@ -3452,8 +3395,7 @@ definitions: title: Transform Before Filtering description: If true, transformation will be applied before record filtering. type: boolean - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } SchemaNormalization: title: Schema Normalization description: Responsible for normalization according to the schema. @@ -3617,8 +3559,7 @@ definitions: type: string examples: - "user/current" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } StateDelegatingStream: title: State Delegating Stream description: (This component is experimental. Use at your own risk.) Orchestrate the retriever's usage based on the state value. @@ -3647,8 +3588,7 @@ definitions: title: Incremental Stream description: Component used to coordinate how records are extracted across stream slices and request pages when the state provided. "$ref": "#/definitions/DeclarativeStream" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } SimpleRetriever: title: Synchronous Retriever description: Retrieves records by synchronously sending requests to fetch records. The retriever acts as an orchestrator between the requester, the record selector, the paginator, and the partition router. @@ -3710,8 +3650,7 @@ definitions: - "$ref": "#/definitions/ListPartitionRouter" - "$ref": "#/definitions/GroupingPartitionRouter" - "$ref": "#/definitions/CustomPartitionRouter" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } PaginationReset: title: Pagination Reset description: Describes what triggers pagination reset and how to handle it. If SPLIT_USING_CURSOR, the connector developer is accountable for ensuring that the records are returned in ascending order. @@ -3928,8 +3867,7 @@ definitions: - "$ref": "#/definitions/XmlDecoder" - "$ref": "#/definitions/ZipfileDecoder" - "$ref": "#/definitions/CustomDecoder" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } Spec: title: Spec description: A source specification made up of connector metadata and how it can be configured. @@ -4035,8 +3973,7 @@ definitions: type: array items: "$ref": "#/definitions/ParentStreamConfig" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } ValueType: title: Value Type description: A schema type. @@ -4077,8 +4014,7 @@ definitions: type: number examples: - 3600 - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } GroupingPartitionRouter: title: Grouping Partition Router description: > @@ -4114,8 +4050,7 @@ definitions: description: If true, ensures that partitions are unique within each group by removing duplicates based on the partition key. type: boolean default: true - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } WaitUntilTimeFromHeader: title: Wait Until Time Defined In Response Header description: Extract time at which we can retry the request from response header and wait for the difference between now and that time. @@ -4154,8 +4089,7 @@ definitions: - config examples: - "([-+]?\\d+)" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } ComponentMappingDefinition: title: Component Mapping Definition description: (This component is experimental. Use at your own risk.) Specifies a mapping definition to update or add fields in a record or configuration. This allows dynamic mapping of data by interpolating values into the template based on provided contexts. @@ -4220,8 +4154,7 @@ definitions: examples: - "{{ components_values.get('cursor_field', None) }}" - "{{ '_incremental' in components_values.get('stream_name', '') }}" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } HttpComponentsResolver: type: object title: Http Components Resolver @@ -4241,8 +4174,7 @@ definitions: type: array items: "$ref": "#/definitions/ComponentMappingDefinition" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } required: - type - retriever @@ -4276,8 +4208,7 @@ definitions: type: array items: type: object - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } ConfigComponentsResolver: type: object title: Config Components Resolver @@ -4296,8 +4227,7 @@ definitions: type: array items: "$ref": "#/definitions/ComponentMappingDefinition" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } required: - type - stream_config @@ -4341,8 +4271,7 @@ definitions: type: array items: "$ref": "#/definitions/ComponentMappingDefinition" - $parameters: - <<: *parameters-definition + $parameters: { <<: *parameters-definition } required: - type - stream_parameters