@@ -1168,6 +1168,12 @@ class ViewUpdate(BaseModel):
11681168 ]
11691169
11701170
1171+ class Credentials (BaseModel ):
1172+ __root__ : Union [ADLSCredentials , GCSCredentials , S3Credentials ] = Field (
1173+ ..., discriminator = 'type'
1174+ )
1175+
1176+
11711177class LoadTableResult (BaseModel ):
11721178 """
11731179 Result used when a table is successfully loaded.
@@ -1195,6 +1201,11 @@ class LoadTableResult(BaseModel):
11951201 - `s3.session-token`: if present, this value should be used for as the session token
11961202 - `s3.remote-signing-enabled`: if `true` remote signing should be performed as described in the `s3-signer-open-api.yaml` specification
11971203
1204+ ## Credentials
1205+
1206+ Credentials for ADLS / GCS / S3 are provided through the `credentials` field. Clients should first check whether the
1207+ respective credentials exist in the `credentials` field before checking the `config` for credentials.
1208+
11981209 """
11991210
12001211 metadata_location : Optional [str ] = Field (
@@ -1203,6 +1214,7 @@ class LoadTableResult(BaseModel):
12031214 description = 'May be null if the table is staged as part of a transaction' ,
12041215 )
12051216 metadata : TableMetadata
1217+ credentials : Optional [Credentials ] = None
12061218 config : Optional [Dict [str , str ]] = None
12071219
12081220
@@ -1311,10 +1323,16 @@ class LoadViewResult(BaseModel):
13111323
13121324 - `token`: Authorization bearer token to use for view requests if OAuth2 security is enabled
13131325
1326+ ## Credentials
1327+
1328+ Credentials for ADLS / GCS / S3 are provided through the `credentials` field. Clients should first check whether the
1329+ respective credentials exist in the `credentials` field before checking the `config` for credentials.
1330+
13141331 """
13151332
13161333 metadata_location : str = Field (..., alias = 'metadata-location' )
13171334 metadata : ViewMetadata
1335+ credentials : Optional [Credentials ] = None
13181336 config : Optional [Dict [str , str ]] = None
13191337
13201338
@@ -1398,6 +1416,28 @@ class Schema(StructType):
13981416 )
13991417
14001418
1419+ class ADLSCredentials (BaseModel ):
1420+ type : Literal ['adls' ]
1421+ account_name : Optional [str ] = Field (None , alias = 'account-name' )
1422+ account_key : Optional [str ] = Field (None , alias = 'account-key' )
1423+ sas_token : Optional [str ] = Field (None , alias = 'sas-token' )
1424+ expires_at_ms : Optional [int ] = Field (None , alias = 'expires-at-ms' )
1425+
1426+
1427+ class GCSCredentials (BaseModel ):
1428+ type : Literal ['gcs' ]
1429+ token : str
1430+ expires_at_ms : int = Field (..., alias = 'expires-at-ms' )
1431+
1432+
1433+ class S3Credentials (BaseModel ):
1434+ type : Literal ['s3' ]
1435+ access_key_id : str = Field (..., alias = 'access-key-id' )
1436+ secret_access_key : str = Field (..., alias = 'secret-access-key' )
1437+ session_token : str = Field (..., alias = 'session-token' )
1438+ expires_at_ms : int = Field (..., alias = 'expires-at-ms' )
1439+
1440+
14011441class CompletedPlanningResult (ScanTasks ):
14021442 """
14031443 Completed server-side planning result
@@ -1430,12 +1470,16 @@ class CompletedPlanningWithIDResult(CompletedPlanningResult):
14301470TableMetadata .update_forward_refs ()
14311471ViewMetadata .update_forward_refs ()
14321472AddSchemaUpdate .update_forward_refs ()
1473+ Credentials .update_forward_refs ()
14331474ScanTasks .update_forward_refs ()
14341475FetchPlanningResult .update_forward_refs ()
14351476PlanTableScanResult .update_forward_refs ()
14361477CreateTableRequest .update_forward_refs ()
14371478CreateViewRequest .update_forward_refs ()
14381479ReportMetricsRequest .update_forward_refs ()
1480+ ADLSCredentials .update_forward_refs ()
1481+ GCSCredentials .update_forward_refs ()
1482+ S3Credentials .update_forward_refs ()
14391483CompletedPlanningResult .update_forward_refs ()
14401484FetchScanTasksResult .update_forward_refs ()
14411485CompletedPlanningWithIDResult .update_forward_refs ()
0 commit comments