Fokko commented on code in PR #10722:
URL: https://github.com/apache/iceberg/pull/10722#discussion_r1684242591
##########
open-api/rest-catalog-open-api.py:
##########
@@ -441,6 +441,30 @@ class AssertViewUUID(BaseModel):
uuid: str
+class AzureCredentials(BaseModel):
+ account_name: Optional[str] = Field(None, alias='account-name')
+ account_key: Optional[str] = Field(None, alias='account-key')
+ token: Optional[str] = None
+
+
+class AwsCredentials(BaseModel):
+ access_key_id: str = Field(..., alias='access-key-id')
+ secret_access_key: str = Field(..., alias='secret-access-key')
+ token: Optional[str] = None
+ expires_at_ms: Optional[int] = Field(None, alias='expires-at-ms')
+
+
+class GcsCredentials(BaseModel):
+ token: str
+ expires_at_ms: Optional[int] = Field(None, alias='expires-at-ms')
+
Review Comment:
```suggestion
default_bucket_location: Optional[str] = Field(None,
alias='default-bucket-location')
endpoint: Optional[str] = None
```
##########
open-api/rest-catalog-open-api.py:
##########
@@ -441,6 +441,30 @@ class AssertViewUUID(BaseModel):
uuid: str
+class AzureCredentials(BaseModel):
+ account_name: Optional[str] = Field(None, alias='account-name')
+ account_key: Optional[str] = Field(None, alias='account-key')
+ token: Optional[str] = None
+
+
+class AwsCredentials(BaseModel):
+ access_key_id: str = Field(..., alias='access-key-id')
+ secret_access_key: str = Field(..., alias='secret-access-key')
+ token: Optional[str] = None
+ expires_at_ms: Optional[int] = Field(None, alias='expires-at-ms')
+
Review Comment:
```suggestion
region: Optional[str] = None
endpoint: Optional[str] = None
```
##########
open-api/rest-catalog-open-api.yaml:
##########
@@ -2747,6 +2747,54 @@ components:
uuid:
type: string
+ AzureCredentials:
+ type: object
+ properties:
+ account-name:
+ type: string
+ account-key:
+ type: string
+ token:
+ type: string
+
+ AwsCredentials:
+ type: object
+ required:
+ - access-key-id
+ - secret-access-key
+ properties:
+ access-key-id:
+ type: string
+ secret-access-key:
+ type: string
+ token:
+ type: string
+ expires-at-ms:
+ type: integer
+ format: int64
+
+ GcsCredentials:
+ type: object
+ required:
+ - token
+ - expires-at
+ properties:
+ token:
+ type: string
+ expires-at-ms:
+ type: integer
+ format: int64
+
+ Credentials:
+ type: object
+ properties:
+ aws:
+ $ref: '#/components/schemas/AwsCredentials'
+ azure:
+ $ref: '#/components/schemas/AzureCredentials'
+ gcs:
+ $ref: '#/components/schemas/GcsCredentials'
Review Comment:
We might also add a type to it, this is a bit more flexible to extend I
believe (you could add a custom credential in there that will be picked up by a
custom FileIO):
```suggestion
Credentials:
discriminator:
propertyName: type
mapping:
aws: '#/components/schemas/AwsCredentials'
azure: '#/components/schemas/AzureCredentials'
gcs: '#/components/schemas/GcsCredentials'
type: object
required:
- type
properties:
type:
type: string
```
##########
open-api/rest-catalog-open-api.py:
##########
@@ -441,6 +441,30 @@ class AssertViewUUID(BaseModel):
uuid: str
+class AzureCredentials(BaseModel):
+ account_name: Optional[str] = Field(None, alias='account-name')
+ account_key: Optional[str] = Field(None, alias='account-key')
+ token: Optional[str] = None
+
+
+class AwsCredentials(BaseModel):
+ access_key_id: str = Field(..., alias='access-key-id')
+ secret_access_key: str = Field(..., alias='secret-access-key')
+ token: Optional[str] = None
Review Comment:
```suggestion
session_token: Optional[str] = Field(..., alias='session-token')
```
##########
open-api/rest-catalog-open-api.py:
##########
@@ -441,6 +441,30 @@ class AssertViewUUID(BaseModel):
uuid: str
+class AzureCredentials(BaseModel):
+ account_name: Optional[str] = Field(None, alias='account-name')
+ account_key: Optional[str] = Field(None, alias='account-key')
+ token: Optional[str] = None
+
+
+class AwsCredentials(BaseModel):
Review Comment:
Do we want to call it AWS, or generalize it to S3? Same with Azure to ADLS.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]