adutra commented on code in PR #3826:
URL: https://github.com/apache/polaris/pull/3826#discussion_r2840410352


##########
spec/polaris-catalog-apis/generic-tables-api.yaml:
##########
@@ -256,6 +262,53 @@ components:
           items:
             $ref: 
'../iceberg-rest-catalog-open-api.yaml#/components/schemas/TableIdentifier'
 
+
+    StorageAccessCredential:
+      type: object
+      required:
+        - prefix
+        - config
+      properties:
+        prefix:
+          type: string
+          description: Indicates a storage location prefix where the 
credential is relevant. Clients should choose the most 
+            specific prefix (by selecting the longest prefix) if several 
credentials of the same type are available.
+        config:
+          type: object
+          description: |
+            Credential configurations for AWS S3, GCP GCS, and Azure ADLS are 
supported. The following outlines 
+            the currently supported configuration options:
+              
+            ## S3 Configurations
+              
+            The following configurations should be respected when working with 
tables stored in AWS S3
+              - `s3.access-key-id`: id for credentials that provide access to 
the data in S3
+              - `s3.secret-access-key`: secret for credentials that provide 
access to data in S3
+              - `s3.session-token`: if present, this value should be used for 
as the session token
+              - `s3.session-token-expires-at-ms`: the time the aws session 
token expires, in milliseconds
+            Extra properties:
+              - `client.region`: region to configure client for making 
requests to AWS

Review Comment:
   I confess I'm torn on this 😅 .
   
   That would require to mimic Iceberg even more and declare a 
`LoadGenericTableResponse.config` property similar to this:
   
   
https://github.com/apache/iceberg/blob/a5ef2392bb8aeed9730ff1937cc515279200a5a7/open-api/rest-catalog-open-api.yaml#L3503-L3506
   
   But tbh, I've always found Iceberg's `LoadTableResult` quite confusing as 
well, with its two `config` fields: `LoadTableResult.config` (for 
non-credential stuff) and `LoadTableResult.storage-credentials.config` (for the 
credential stuff).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to