Skip to content

chore: fix more fields in declarative_component_schema #525

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 62 additions & 57 deletions airbyte_cdk/sources/declarative/declarative_component_schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -299,8 +299,8 @@ definitions:
- "$ref": "#/definitions/CustomAuthenticator"
- "$ref": "#/definitions/OAuthAuthenticator"
- "$ref": "#/definitions/JwtAuthenticator"
- "$ref": "#/definitions/NoAuth"
- "$ref": "#/definitions/SessionTokenAuthenticator"
- "$ref": "#/definitions/NoAuth"
- "$ref": "#/definitions/LegacySessionTokenAuthenticator"
examples:
- authenticators:
Expand Down Expand Up @@ -1417,7 +1417,6 @@ definitions:
- "$ref": "#/definitions/CustomIncrementalSync"
primary_key:
title: Primary Key
description: The primary key of the stream.
"$ref": "#/definitions/PrimaryKey"
default: ""
schema_loader:
Expand Down Expand Up @@ -1468,18 +1467,18 @@ definitions:
requester:
description: Requester component that describes how to prepare HTTP requests to send to the source API.
anyOf:
- "$ref": "#/definitions/CustomRequester"
- "$ref": "#/definitions/HttpRequester"
- "$ref": "#/definitions/CustomRequester"
download_target_extractor:
description: Responsible for fetching the url where the file is located. This is applied on each records and not on the HTTP response
anyOf:
- "$ref": "#/definitions/CustomRecordExtractor"
- "$ref": "#/definitions/DpathExtractor"
- "$ref": "#/definitions/CustomRecordExtractor"
file_extractor:
description: Responsible for fetching the content of the file. If not defined, the assumption is that the whole response body is the file content
anyOf:
- "$ref": "#/definitions/CustomRecordExtractor"
- "$ref": "#/definitions/DpathExtractor"
- "$ref": "#/definitions/CustomRecordExtractor"
filename_extractor:
description: Defines the name to store the file. Stream name is automatically added to the file path. File unique ID can be used to avoid overwriting files. Random UUID will be used if the extractor is not provided.
type: string
Expand Down Expand Up @@ -1919,7 +1918,7 @@ definitions:
deprecated: true
deprecation_message: "Use `url` field instead."
title: API Base URL
description: Deprecated, use the `url` instead. Base URL of the API source. Do not put sensitive information (e.g. API tokens) into this field - Use the Authentication component for this.
description: Deprecated, use the `url` instead. Base URL of the API source. Do not put sensitive information (e.g. API tokens) into this field - Use the Authenticator component for this.
linkable: true
type: string
interpolation_context:
Expand All @@ -1937,8 +1936,8 @@ definitions:
- "https://connect.squareup.com/v2/quotes/{{ stream_partition['id'] }}/quote_line_groups"
- "https://example.com/api/v1/resource/{{ next_page_token['id'] }}"
url:
title: The URL of an API endpoint
description: The URL of the API source. Do not put sensitive information (e.g. API tokens) into this field - Use the Authentication component for this.
title: API Endpoint URL
description: The URL of the source API endpoint. Do not put sensitive information (e.g. API tokens) into this field - Use the Authenticator component for this.
type: string
interpolation_context:
- config
Expand All @@ -1958,7 +1957,7 @@ definitions:
deprecated: true
deprecation_message: "Use `url` field instead."
title: URL Path
description: Deprecated, use the `url` instead. Path the specific API endpoint that this stream represents. Do not put sensitive information (e.g. API tokens) into this field - Use the Authentication component for this.
description: Deprecated, use the `url` instead. Path the specific API endpoint that this stream represents. Do not put sensitive information (e.g. API tokens) into this field - Use the Authenticator component for this.
type: string
interpolation_context:
- config
Expand Down Expand Up @@ -1989,7 +1988,6 @@ definitions:
linkable: true
description: Authentication method to use for requests sent to the API.
anyOf:
- "$ref": "#/definitions/NoAuth"
- "$ref": "#/definitions/ApiKeyAuthenticator"
- "$ref": "#/definitions/BasicHttpAuthenticator"
- "$ref": "#/definitions/BearerAuthenticator"
Expand All @@ -1998,11 +1996,52 @@ definitions:
- "$ref": "#/definitions/SessionTokenAuthenticator"
- "$ref": "#/definitions/SelectiveAuthenticator"
- "$ref": "#/definitions/CustomAuthenticator"
- "$ref": "#/definitions/NoAuth"
- "$ref": "#/definitions/LegacySessionTokenAuthenticator"
fetch_properties_from_endpoint:
title: Fetch Properties from Endpoint
description: Allows for retrieving a dynamic set of properties from an API endpoint which can be injected into outbound request using the stream_partition.extra_fields.
"$ref": "#/definitions/PropertiesFromEndpoint"
request_parameters:
title: Query Parameters
description: Specifies the query parameters that should be set on an outgoing HTTP request given the inputs.
anyOf:
- type: object
title: Key/Value Pairs
additionalProperties:
anyOf:
- type: string
- $ref: "#/definitions/QueryProperties"
- type: string
title: Interpolated Value
interpolation_context:
- next_page_token
- stream_interval
- stream_partition
- stream_slice
examples:
- unit: "day"
- query: 'last_event_time BETWEEN TIMESTAMP "{{ stream_interval.start_time }}" AND TIMESTAMP "{{ stream_interval.end_time }}"'
- searchIn: "{{ ','.join(config.get('search_in', [])) }}"
- sort_by[asc]: updated_at
request_headers:
title: Request Headers
description: Return any non-auth headers. Authentication headers will overwrite any overlapping headers returned from this method.
anyOf:
- type: object
title: Key/Value Pairs
additionalProperties:
type: string
- type: string
title: Interpolated Value
interpolation_context:
- next_page_token
- stream_interval
- stream_partition
- stream_slice
examples:
- Output-Format: JSON
- Version: "{{ config['version'] }}"
request_body_data:
deprecated: true
deprecation_message: "Use `request_body` field instead."
Expand Down Expand Up @@ -2045,7 +2084,7 @@ definitions:
field: "updated_at"
order: "ascending"
request_body:
title: Request Body Payload to be send as a part of the API request.
title: Request Body
description: Specifies how to populate the body of the request with a payload. Can contain nested objects.
anyOf:
- "$ref": "#/definitions/RequestBodyPlainText"
Expand Down Expand Up @@ -2081,46 +2120,6 @@ definitions:
query:
param1: "value1"
param2: "{{ config['param2_value'] }}"
request_headers:
title: Request Headers
description: Return any non-auth headers. Authentication headers will overwrite any overlapping headers returned from this method.
anyOf:
- type: object
title: Key/Value Pairs
additionalProperties:
type: string
- type: string
title: Interpolated Value
interpolation_context:
- next_page_token
- stream_interval
- stream_partition
- stream_slice
examples:
- Output-Format: JSON
- Version: "{{ config['version'] }}"
request_parameters:
title: Query Parameters
description: Specifies the query parameters that should be set on an outgoing HTTP request given the inputs.
anyOf:
- type: object
title: Key/Value Pairs
additionalProperties:
anyOf:
- type: string
- $ref: "#/definitions/QueryProperties"
- type: string
title: Interpolated Value
interpolation_context:
- next_page_token
- stream_interval
- stream_partition
- stream_slice
examples:
- unit: "day"
- query: 'last_event_time BETWEEN TIMESTAMP "{{ stream_interval.start_time }}" AND TIMESTAMP "{{ stream_interval.end_time }}"'
- searchIn: "{{ ','.join(config.get('search_in', [])) }}"
- sort_by[asc]: updated_at
error_handler:
title: Error Handler
description: Error handler component that defines how to handle errors.
Expand Down Expand Up @@ -3100,7 +3099,7 @@ definitions:
type: array
default: []
items:
- type: string
type: string
interpolation_context:
- config
parent_key:
Expand Down Expand Up @@ -3155,14 +3154,19 @@ definitions:
anyOf:
- type: string
title: Single Key
description: The single top-level field to use as the primary key.
- type: array
title: Composite Key
description: An array of top-level fields representing a composite primary key.
items:
type: string
- type: array
title: Composite Key of Nested Fields
description: An array of arrays representing a composite primary key where the fields are nested fields.
items:
type: array
title: Nested Field Path
description: Path to the nested field in the record.
items:
type: string
default: ""
Expand Down Expand Up @@ -3194,8 +3198,8 @@ definitions:
retriever:
description: Requester component that describes how to fetch the properties to query from a remote API endpoint.
anyOf:
- "$ref": "#/definitions/CustomRetriever"
- "$ref": "#/definitions/SimpleRetriever"
- "$ref": "#/definitions/CustomRetriever"
$parameters:
type: object
additionalProperties: true
Expand Down Expand Up @@ -3426,6 +3430,7 @@ definitions:
additionalProperties: true
LegacySessionTokenAuthenticator:
title: Session Token Authenticator
deprecated: true
description: Deprecated - use SessionTokenAuthenticator instead. Authenticator for requests authenticated using session tokens. A session token is a random value generated by a server to identify a specific user for the duration of one interaction session.
type: object
required:
Expand Down Expand Up @@ -3534,15 +3539,15 @@ definitions:
- "$ref": "#/definitions/HttpRequester"
- "$ref": "#/definitions/CustomRequester"
decoder:
title: Decoder
title: HTTP Response Format
description: Component decoding the response so records can be extracted.
anyOf:
- "$ref": "#/definitions/CsvDecoder"
- "$ref": "#/definitions/GzipDecoder"
- "$ref": "#/definitions/JsonDecoder"
- "$ref": "#/definitions/XmlDecoder"
- "$ref": "#/definitions/CsvDecoder"
- "$ref": "#/definitions/JsonlDecoder"
- "$ref": "#/definitions/GzipDecoder"
- "$ref": "#/definitions/IterableDecoder"
- "$ref": "#/definitions/XmlDecoder"
- "$ref": "#/definitions/ZipfileDecoder"
- "$ref": "#/definitions/CustomDecoder"
record_selector:
Expand Down
Loading
Loading