@@ -609,9 +609,7 @@ class OAuthAuthenticator(BaseModel):
609
609
scopes : Optional [List [str ]] = Field (
610
610
None ,
611
611
description = "List of scopes that should be granted to the access token." ,
612
- examples = [
613
- ["crm.list.read" , "crm.objects.contacts.read" , "crm.schema.contacts.read" ]
614
- ],
612
+ examples = [["crm.list.read" , "crm.objects.contacts.read" , "crm.schema.contacts.read" ]],
615
613
title = "Scopes" ,
616
614
)
617
615
token_expiry_date : Optional [str ] = Field (
@@ -1085,28 +1083,24 @@ class OAuthConfigSpecification(BaseModel):
1085
1083
class Config :
1086
1084
extra = Extra .allow
1087
1085
1088
- oauth_user_input_from_connector_config_specification : Optional [Dict [str , Any ]] = (
1089
- Field (
1090
- None ,
1091
- description = "OAuth specific blob. This is a Json Schema used to validate Json configurations used as input to OAuth.\n Must be a valid non-nested JSON that refers to properties from ConnectorSpecification.connectionSpecification\n using special annotation 'path_in_connector_config'.\n These are input values the user is entering through the UI to authenticate to the connector, that might also shared\n as inputs for syncing data via the connector.\n Examples:\n if no connector values is shared during oauth flow, oauth_user_input_from_connector_config_specification=[]\n if connector values such as 'app_id' inside the top level are used to generate the API url for the oauth flow,\n oauth_user_input_from_connector_config_specification={\n app_id: {\n type: string\n path_in_connector_config: ['app_id']\n }\n }\n if connector values such as 'info.app_id' nested inside another object are used to generate the API url for the oauth flow,\n oauth_user_input_from_connector_config_specification={\n app_id: {\n type: string\n path_in_connector_config: ['info', 'app_id']\n }\n }" ,
1092
- examples = [
1093
- {"app_id" : {"type" : "string" , "path_in_connector_config" : ["app_id" ]}},
1094
- {
1095
- "app_id" : {
1096
- "type" : "string" ,
1097
- "path_in_connector_config" : ["info" , "app_id" ],
1098
- }
1099
- },
1100
- ],
1101
- title = "OAuth user input" ,
1102
- )
1086
+ oauth_user_input_from_connector_config_specification : Optional [Dict [str , Any ]] = Field (
1087
+ None ,
1088
+ description = "OAuth specific blob. This is a Json Schema used to validate Json configurations used as input to OAuth.\n Must be a valid non-nested JSON that refers to properties from ConnectorSpecification.connectionSpecification\n using special annotation 'path_in_connector_config'.\n These are input values the user is entering through the UI to authenticate to the connector, that might also shared\n as inputs for syncing data via the connector.\n Examples:\n if no connector values is shared during oauth flow, oauth_user_input_from_connector_config_specification=[]\n if connector values such as 'app_id' inside the top level are used to generate the API url for the oauth flow,\n oauth_user_input_from_connector_config_specification={\n app_id: {\n type: string\n path_in_connector_config: ['app_id']\n }\n }\n if connector values such as 'info.app_id' nested inside another object are used to generate the API url for the oauth flow,\n oauth_user_input_from_connector_config_specification={\n app_id: {\n type: string\n path_in_connector_config: ['info', 'app_id']\n }\n }" ,
1089
+ examples = [
1090
+ {"app_id" : {"type" : "string" , "path_in_connector_config" : ["app_id" ]}},
1091
+ {
1092
+ "app_id" : {
1093
+ "type" : "string" ,
1094
+ "path_in_connector_config" : ["info" , "app_id" ],
1095
+ }
1096
+ },
1097
+ ],
1098
+ title = "OAuth user input" ,
1103
1099
)
1104
- oauth_connector_input_specification : Optional [OauthConnectorInputSpecification ] = (
1105
- Field (
1106
- None ,
1107
- description = 'The DeclarativeOAuth specific blob.\n Pertains to the fields defined by the connector relating to the OAuth flow.\n \n Interpolation capabilities:\n - The variables placeholders are declared as `{{my_var}}`.\n - The nested resolution variables like `{{ {{my_nested_var}} }}` is allowed as well.\n \n - The allowed interpolation context is:\n + base64Encoder - encode to `base64`, {{ {{my_var_a}}:{{my_var_b}} | base64Encoder }}\n + base64Decorer - decode from `base64` encoded string, {{ {{my_string_variable_or_string_value}} | base64Decoder }}\n + urlEncoder - encode the input string to URL-like format, {{ https://test.host.com/endpoint | urlEncoder}}\n + urlDecorer - decode the input url-encoded string into text format, {{ urlDecoder:https%3A%2F%2Fairbyte.io | urlDecoder}}\n + codeChallengeS256 - get the `codeChallenge` encoded value to provide additional data-provider specific authorisation values, {{ {{state_value}} | codeChallengeS256 }}\n \n Examples:\n - The TikTok Marketing DeclarativeOAuth spec:\n {\n "oauth_connector_input_specification": {\n "type": "object",\n "additionalProperties": false,\n "properties": {\n "consent_url": "https://ads.tiktok.com/marketing_api/auth?{{client_id_key}}={{client_id_value}}&{{redirect_uri_key}}={{ {{redirect_uri_value}} | urlEncoder}}&{{state_key}}={{state_value}}",\n "access_token_url": "https://business-api.tiktok.com/open_api/v1.3/oauth2/access_token/",\n "access_token_params": {\n "{{ auth_code_key }}": "{{ auth_code_value }}",\n "{{ client_id_key }}": "{{ client_id_value }}",\n "{{ client_secret_key }}": "{{ client_secret_value }}"\n },\n "access_token_headers": {\n "Content-Type": "application/json",\n "Accept": "application/json"\n },\n "extract_output": ["data.access_token"],\n "client_id_key": "app_id",\n "client_secret_key": "secret",\n "auth_code_key": "auth_code"\n }\n }\n }' ,
1108
- title = "DeclarativeOAuth Connector Specification" ,
1109
- )
1100
+ oauth_connector_input_specification : Optional [OauthConnectorInputSpecification ] = Field (
1101
+ None ,
1102
+ description = 'The DeclarativeOAuth specific blob.\n Pertains to the fields defined by the connector relating to the OAuth flow.\n \n Interpolation capabilities:\n - The variables placeholders are declared as `{{my_var}}`.\n - The nested resolution variables like `{{ {{my_nested_var}} }}` is allowed as well.\n \n - The allowed interpolation context is:\n + base64Encoder - encode to `base64`, {{ {{my_var_a}}:{{my_var_b}} | base64Encoder }}\n + base64Decorer - decode from `base64` encoded string, {{ {{my_string_variable_or_string_value}} | base64Decoder }}\n + urlEncoder - encode the input string to URL-like format, {{ https://test.host.com/endpoint | urlEncoder}}\n + urlDecorer - decode the input url-encoded string into text format, {{ urlDecoder:https%3A%2F%2Fairbyte.io | urlDecoder}}\n + codeChallengeS256 - get the `codeChallenge` encoded value to provide additional data-provider specific authorisation values, {{ {{state_value}} | codeChallengeS256 }}\n \n Examples:\n - The TikTok Marketing DeclarativeOAuth spec:\n {\n "oauth_connector_input_specification": {\n "type": "object",\n "additionalProperties": false,\n "properties": {\n "consent_url": "https://ads.tiktok.com/marketing_api/auth?{{client_id_key}}={{client_id_value}}&{{redirect_uri_key}}={{ {{redirect_uri_value}} | urlEncoder}}&{{state_key}}={{state_value}}",\n "access_token_url": "https://business-api.tiktok.com/open_api/v1.3/oauth2/access_token/",\n "access_token_params": {\n "{{ auth_code_key }}": "{{ auth_code_value }}",\n "{{ client_id_key }}": "{{ client_id_value }}",\n "{{ client_secret_key }}": "{{ client_secret_value }}"\n },\n "access_token_headers": {\n "Content-Type": "application/json",\n "Accept": "application/json"\n },\n "extract_output": ["data.access_token"],\n "client_id_key": "app_id",\n "client_secret_key": "secret",\n "auth_code_key": "auth_code"\n }\n }\n }' ,
1103
+ title = "DeclarativeOAuth Connector Specification" ,
1110
1104
)
1111
1105
complete_oauth_output_specification : Optional [Dict [str , Any ]] = Field (
1112
1106
None ,
@@ -1124,9 +1118,7 @@ class Config:
1124
1118
complete_oauth_server_input_specification : Optional [Dict [str , Any ]] = Field (
1125
1119
None ,
1126
1120
description = "OAuth specific blob. This is a Json Schema used to validate Json configurations persisted as Airbyte Server configurations.\n Must be a valid non-nested JSON describing additional fields configured by the Airbyte Instance or Workspace Admins to be used by the\n server when completing an OAuth flow (typically exchanging an auth code for refresh token).\n Examples:\n complete_oauth_server_input_specification={\n client_id: {\n type: string\n },\n client_secret: {\n type: string\n }\n }" ,
1127
- examples = [
1128
- {"client_id" : {"type" : "string" }, "client_secret" : {"type" : "string" }}
1129
- ],
1121
+ examples = [{"client_id" : {"type" : "string" }, "client_secret" : {"type" : "string" }}],
1130
1122
title = "OAuth input specification" ,
1131
1123
)
1132
1124
complete_oauth_server_output_specification : Optional [Dict [str , Any ]] = Field (
@@ -1789,9 +1781,7 @@ class RecordSelector(BaseModel):
1789
1781
description = "Responsible for filtering records to be emitted by the Source." ,
1790
1782
title = "Record Filter" ,
1791
1783
)
1792
- schema_normalization : Optional [
1793
- Union [SchemaNormalization , CustomSchemaNormalization ]
1794
- ] = Field (
1784
+ schema_normalization : Optional [Union [SchemaNormalization , CustomSchemaNormalization ]] = Field (
1795
1785
SchemaNormalization .None_ ,
1796
1786
description = "Responsible for normalization according to the schema." ,
1797
1787
title = "Schema Normalization" ,
@@ -2018,9 +2008,7 @@ class Config:
2018
2008
description = "Component used to fetch data incrementally based on a time field in the data." ,
2019
2009
title = "Incremental Sync" ,
2020
2010
)
2021
- name : Optional [str ] = Field (
2022
- "" , description = "The stream name." , example = ["Users" ], title = "Name"
2023
- )
2011
+ name : Optional [str ] = Field ("" , description = "The stream name." , example = ["Users" ], title = "Name" )
2024
2012
primary_key : Optional [PrimaryKey ] = Field (
2025
2013
"" , description = "The primary key of the stream." , title = "Primary Key"
2026
2014
)
@@ -2284,9 +2272,7 @@ class ParentStreamConfig(BaseModel):
2284
2272
2285
2273
class StateDelegatingStream (BaseModel ):
2286
2274
type : Literal ["StateDelegatingStream" ]
2287
- name : str = Field (
2288
- ..., description = "The stream name." , example = ["Users" ], title = "Name"
2289
- )
2275
+ name : str = Field (..., description = "The stream name." , example = ["Users" ], title = "Name" )
2290
2276
full_refresh_stream : DeclarativeStream = Field (
2291
2277
...,
2292
2278
description = "Component used to coordinate how records are extracted across stream slices and request pages when the state is empty or not provided." ,
@@ -2375,9 +2361,7 @@ class AsyncRetriever(BaseModel):
2375
2361
)
2376
2362
download_extractor : Optional [
2377
2363
Union [CustomRecordExtractor , DpathExtractor , ResponseToFileExtractor ]
2378
- ] = Field (
2379
- None , description = "Responsible for fetching the records from provided urls."
2380
- )
2364
+ ] = Field (None , description = "Responsible for fetching the records from provided urls." )
2381
2365
creation_requester : Union [CustomRequester , HttpRequester ] = Field (
2382
2366
...,
2383
2367
description = "Requester component that describes how to prepare HTTP requests to send to the source API to create the async server-side job." ,
@@ -2517,12 +2501,10 @@ class DynamicDeclarativeStream(BaseModel):
2517
2501
stream_template : DeclarativeStream = Field (
2518
2502
..., description = "Reference to the stream template." , title = "Stream Template"
2519
2503
)
2520
- components_resolver : Union [HttpComponentsResolver , ConfigComponentsResolver ] = (
2521
- Field (
2522
- ...,
2523
- description = "Component resolve and populates stream templates with components values." ,
2524
- title = "Components Resolver" ,
2525
- )
2504
+ components_resolver : Union [HttpComponentsResolver , ConfigComponentsResolver ] = Field (
2505
+ ...,
2506
+ description = "Component resolve and populates stream templates with components values." ,
2507
+ title = "Components Resolver" ,
2526
2508
)
2527
2509
2528
2510
0 commit comments