Skip to content

Commit c768db9

Browse files
committed
OpenAPI: Express server capabilities via /config endpoint
1 parent 71ff8a4 commit c768db9

File tree

2 files changed

+42
-2
lines changed

2 files changed

+42
-2
lines changed

aws/src/main/resources/s3-signer-open-api.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,18 @@ servers:
5656
description: Optional prefix to be appended to all routes
5757
default: ""
5858

59+
tags:
60+
- name: remote-signing
61+
description: Requires server to support remote signing
62+
5963
paths:
6064

6165
/v1/aws/s3/sign:
6266

6367
post:
6468
tags:
6569
- S3 Signer API
70+
- remote-signing
6671
summary: Remotely signs S3 requests
6772
operationId: signS3Request
6873
requestBody:

open-api/rest-catalog-open-api.yaml

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,14 @@ security:
6161
- OAuth2: [catalog]
6262
- BearerAuth: []
6363

64+
tags:
65+
- name: views
66+
description: Requires server to support views
67+
- name: oauth2
68+
description: Requires server to support OAuth2
69+
- name: scan-planning
70+
description: Requires server to support scan planning
71+
6472
paths:
6573
/v1/config:
6674

@@ -80,12 +88,14 @@ paths:
8088
"
8189
All REST clients should first call this route to get catalog configuration
8290
properties from the server to configure the catalog and its HTTP client.
83-
Configuration from the server consists of two sets of key/value pairs.
91+
Configuration from the server consists of:
8492
8593
- defaults - properties that should be used as default configuration; applied before client configuration
8694
8795
- overrides - properties that should be used to override client configuration; applied after defaults and client configuration
8896
97+
- capabilities - list of capabilities that are supported by the server
98+
8999
90100
Catalog configuration is constructed by setting the defaults, then client-
91101
provided configuration, and finally overrides. The final property set is then
@@ -114,7 +124,8 @@ paths:
114124
},
115125
"defaults": {
116126
"clients": "4"
117-
}
127+
},
128+
"capabilities": ["views","pagination","remote_signing"]
118129
}
119130
400:
120131
$ref: '#/components/responses/BadRequestErrorResponse'
@@ -134,6 +145,7 @@ paths:
134145
post:
135146
tags:
136147
- OAuth2 API
148+
- oauth2
137149
summary: Get a token using an OAuth2 flow
138150
operationId: getToken
139151
description:
@@ -1072,6 +1084,7 @@ paths:
10721084
get:
10731085
tags:
10741086
- Catalog API
1087+
- views
10751088
summary: List all view identifiers underneath a given namespace
10761089
description: Return all view identifiers under this namespace
10771090
operationId: listViews
@@ -1106,6 +1119,7 @@ paths:
11061119
post:
11071120
tags:
11081121
- Catalog API
1122+
- views
11091123
summary: Create a view in the given namespace
11101124
description:
11111125
Create a view in the given namespace.
@@ -1158,6 +1172,7 @@ paths:
11581172
get:
11591173
tags:
11601174
- Catalog API
1175+
- views
11611176
summary: Load a view from the catalog
11621177
operationId: loadView
11631178
description:
@@ -1204,6 +1219,7 @@ paths:
12041219
post:
12051220
tags:
12061221
- Catalog API
1222+
- views
12071223
summary: Replace a view
12081224
operationId: replaceView
12091225
description:
@@ -1303,6 +1319,7 @@ paths:
13031319
delete:
13041320
tags:
13051321
- Catalog API
1322+
- views
13061323
summary: Drop a view from the catalog
13071324
operationId: dropView
13081325
description: Remove a view from the catalog
@@ -1335,6 +1352,7 @@ paths:
13351352
head:
13361353
tags:
13371354
- Catalog API
1355+
- views
13381356
summary: Check if a view exists
13391357
operationId: viewExists
13401358
description:
@@ -1362,6 +1380,7 @@ paths:
13621380
post:
13631381
tags:
13641382
- Catalog API
1383+
- views
13651384
summary: Rename a view from its current name to a new name
13661385
description:
13671386
Rename a view from one identifier to another. It's valid to move a view
@@ -1559,6 +1578,22 @@ components:
15591578
type: string
15601579
description:
15611580
Properties that should be used as default configuration; applied before client configuration.
1581+
capabilities:
1582+
type: array
1583+
uniqueItems: true
1584+
items:
1585+
type: string
1586+
enum:
1587+
- pagination
1588+
- scan-planning
1589+
- views
1590+
- vended-credentials
1591+
- remote-signing
1592+
- oauth2
1593+
- sigv4
1594+
description: Capabilities supported by the server
1595+
example: "[views,vended-credentials,remote-signing]"
1596+
15621597

15631598
CreateNamespaceRequest:
15641599
type: object

0 commit comments

Comments
 (0)