Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 38 additions & 16 deletions open-api/rest-catalog-open-api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -94,21 +94,7 @@ paths:
"
responses:
200:
description: Server specified configuration values.
content:
application/json:
schema:
$ref: '#/components/schemas/CatalogConfiguration'
example: {
"data": {
"overrides": {
"warehouse": "s3://bucket/warehouse/"
},
"defaults": {
"clients": "4"
}
}
}
$ref: '#/components/responses/RESTCatalogConfigResponse'
400:
$ref: '#/components/responses/BadRequestErrorResponse'
401:
Expand Down Expand Up @@ -757,7 +743,7 @@ components:
items:
type: string

CatalogConfiguration:
RESTCatalogConfig:
type: object
description: Server-provided configuration for the catalog.
required:
Expand All @@ -766,12 +752,20 @@ components:
properties:
overrides:
type: object
items:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this valid? I thought it additionalProperties was used to set the type of values in a map/object.

type: string
description:
Properties that should be used to override client configuration; applied after defaults and client configuration.
example: { "warehouse": "s3://bucket/warehouse" }
default: { }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't use defaults elsewhere. is this needed?

defaults:
type: object
items:
type: string
description:
Properties that should be used as default configuration; applied before client configuration.
example: { "clients": "4" }
default: { }

CreateNamespaceRequest:
type: object
Expand Down Expand Up @@ -1441,6 +1435,34 @@ components:
#############################
responses:

RESTCatalogConfigResponse:
description:
Configuration from the server consists of two sets of key/value pairs.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought that you needed 2 newlines between paragraphs, and that * didn't work for bulleted lists.

* defaults - properties that should be used as default configuration; applied before client configuration
* overrides - properties that should be used to override client configuration; applied after defaults and
client configuration
The REST Catalog configuration is constructed by setting the defaults, then client-
provided configuration, and finally overrides. The resulting final property set is then
used to configure the catalog.

For example, a default configuration property might set the size of the
client pool, which can be replaced with a client-specific setting. An
override might be used to set the warehouse location, which is stored
on the server rather than in client configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/RESTCatalogConfig'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will probably update to inline this and get rid of the RESTCatalogConfig object.

example: {
"defaults": {
"clients": "4"
},
"overrides": {
"warehouse": "s3://bucket/warehouse/"
}
}


BadRequestErrorResponse:
description:
Indicates a bad request error. It could be caused by an unexpected request
Expand Down