@@ -609,7 +609,9 @@ 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 = [["crm.list.read" , "crm.objects.contacts.read" , "crm.schema.contacts.read" ]],
612
+ examples = [
613
+ ["crm.list.read" , "crm.objects.contacts.read" , "crm.schema.contacts.read" ]
614
+ ],
613
615
title = "Scopes" ,
614
616
)
615
617
token_expiry_date : Optional [str ] = Field (
@@ -1078,24 +1080,28 @@ class OAuthConfigSpecification(BaseModel):
1078
1080
class Config :
1079
1081
extra = Extra .allow
1080
1082
1081
- oauth_user_input_from_connector_config_specification : Optional [Dict [str , Any ]] = Field (
1082
- None ,
1083
- 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 }" ,
1084
- examples = [
1085
- {"app_id" : {"type" : "string" , "path_in_connector_config" : ["app_id" ]}},
1086
- {
1087
- "app_id" : {
1088
- "type" : "string" ,
1089
- "path_in_connector_config" : ["info" , "app_id" ],
1090
- }
1091
- },
1092
- ],
1093
- title = "OAuth user input" ,
1083
+ oauth_user_input_from_connector_config_specification : Optional [Dict [str , Any ]] = (
1084
+ Field (
1085
+ None ,
1086
+ 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 }" ,
1087
+ examples = [
1088
+ {"app_id" : {"type" : "string" , "path_in_connector_config" : ["app_id" ]}},
1089
+ {
1090
+ "app_id" : {
1091
+ "type" : "string" ,
1092
+ "path_in_connector_config" : ["info" , "app_id" ],
1093
+ }
1094
+ },
1095
+ ],
1096
+ title = "OAuth user input" ,
1097
+ )
1094
1098
)
1095
- oauth_connector_input_specification : Optional [OauthConnectorInputSpecification ] = Field (
1096
- None ,
1097
- 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 }' ,
1098
- title = "DeclarativeOAuth Connector Specification" ,
1099
+ oauth_connector_input_specification : Optional [OauthConnectorInputSpecification ] = (
1100
+ 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" ,
1104
+ )
1099
1105
)
1100
1106
complete_oauth_output_specification : Optional [Dict [str , Any ]] = Field (
1101
1107
None ,
@@ -1113,7 +1119,9 @@ class Config:
1113
1119
complete_oauth_server_input_specification : Optional [Dict [str , Any ]] = Field (
1114
1120
None ,
1115
1121
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 }" ,
1116
- examples = [{"client_id" : {"type" : "string" }, "client_secret" : {"type" : "string" }}],
1122
+ examples = [
1123
+ {"client_id" : {"type" : "string" }, "client_secret" : {"type" : "string" }}
1124
+ ],
1117
1125
title = "OAuth input specification" ,
1118
1126
)
1119
1127
complete_oauth_server_output_specification : Optional [Dict [str , Any ]] = Field (
@@ -1766,7 +1774,9 @@ class RecordSelector(BaseModel):
1766
1774
description = "Responsible for filtering records to be emitted by the Source." ,
1767
1775
title = "Record Filter" ,
1768
1776
)
1769
- schema_normalization : Optional [Union [SchemaNormalization , CustomSchemaNormalization ]] = Field (
1777
+ schema_normalization : Optional [
1778
+ Union [SchemaNormalization , CustomSchemaNormalization ]
1779
+ ] = Field (
1770
1780
SchemaNormalization .None_ ,
1771
1781
description = "Responsible for normalization according to the schema." ,
1772
1782
title = "Schema Normalization" ,
@@ -1987,7 +1997,9 @@ class Config:
1987
1997
description = "Component used to fetch data incrementally based on a time field in the data." ,
1988
1998
title = "Incremental Sync" ,
1989
1999
)
1990
- name : Optional [str ] = Field ("" , description = "The stream name." , example = ["Users" ], title = "Name" )
2000
+ name : Optional [str ] = Field (
2001
+ "" , description = "The stream name." , example = ["Users" ], title = "Name"
2002
+ )
1991
2003
primary_key : Optional [PrimaryKey ] = Field (
1992
2004
"" , description = "The primary key of the stream." , title = "Primary Key"
1993
2005
)
@@ -2261,7 +2273,11 @@ class SimpleRetriever(BaseModel):
2261
2273
CustomPartitionRouter ,
2262
2274
ListPartitionRouter ,
2263
2275
SubstreamPartitionRouter ,
2264
- List [Union [CustomPartitionRouter , ListPartitionRouter , SubstreamPartitionRouter ]],
2276
+ List [
2277
+ Union [
2278
+ CustomPartitionRouter , ListPartitionRouter , SubstreamPartitionRouter
2279
+ ]
2280
+ ],
2265
2281
]
2266
2282
] = Field (
2267
2283
[],
@@ -2305,7 +2321,9 @@ class AsyncRetriever(BaseModel):
2305
2321
)
2306
2322
download_extractor : Optional [
2307
2323
Union [CustomRecordExtractor , DpathExtractor , ResponseToFileExtractor ]
2308
- ] = Field (None , description = "Responsible for fetching the records from provided urls." )
2324
+ ] = Field (
2325
+ None , description = "Responsible for fetching the records from provided urls."
2326
+ )
2309
2327
creation_requester : Union [CustomRequester , HttpRequester ] = Field (
2310
2328
...,
2311
2329
description = "Requester component that describes how to prepare HTTP requests to send to the source API to create the async server-side job." ,
@@ -2339,7 +2357,11 @@ class AsyncRetriever(BaseModel):
2339
2357
CustomPartitionRouter ,
2340
2358
ListPartitionRouter ,
2341
2359
SubstreamPartitionRouter ,
2342
- List [Union [CustomPartitionRouter , ListPartitionRouter , SubstreamPartitionRouter ]],
2360
+ List [
2361
+ Union [
2362
+ CustomPartitionRouter , ListPartitionRouter , SubstreamPartitionRouter
2363
+ ]
2364
+ ],
2343
2365
]
2344
2366
] = Field (
2345
2367
[],
@@ -2407,10 +2429,12 @@ class DynamicDeclarativeStream(BaseModel):
2407
2429
stream_template : DeclarativeStream = Field (
2408
2430
..., description = "Reference to the stream template." , title = "Stream Template"
2409
2431
)
2410
- components_resolver : Union [HttpComponentsResolver , ConfigComponentsResolver ] = Field (
2411
- ...,
2412
- description = "Component resolve and populates stream templates with components values." ,
2413
- title = "Components Resolver" ,
2432
+ components_resolver : Union [HttpComponentsResolver , ConfigComponentsResolver ] = (
2433
+ Field (
2434
+ ...,
2435
+ description = "Component resolve and populates stream templates with components values." ,
2436
+ title = "Components Resolver" ,
2437
+ )
2414
2438
)
2415
2439
2416
2440
0 commit comments