Skip to content

Commit ae54fd6

Browse files
authored
SDK: regenerate all services (#348)
- fix templates to work with the latest version of the generator - import the latest version of OpenApi - add scripts to re-run the generator
1 parent 4166576 commit ae54fd6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+21113
-2245
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
all-internal.json

packages/databricks-sdk-js/.prettierignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ out/
22
dist/
33
.vscode-test/
44
node_modules/
5-
package-lock.json
5+
package-lock.json
6+
all-internal.json

packages/databricks-sdk-js/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
"build": "tsc -p tsconfig.json && cp src/fetch.* dist/",
2121
"watch": "tsc -w -p tsconfig.json",
2222
"clean": "rm -rf dist node_modules",
23+
"openapi:fetch": "./scripts/fetch_openapi.sh 4609d709fc94a1b8dbe79ac78a1cece281fdaeff",
24+
"openapi:generate": "./scripts/generate_openapi.sh v0.2.0 && yarn run build",
2325
"fix": "eslint src --ext ts --fix && prettier . --write",
2426
"test:lint": "eslint src --ext ts && prettier . -c",
2527
"test:unit": "ts-mocha --type-check 'src/**/*.test.ts'",
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
3+
set -e
4+
set -x
5+
6+
UNIVERSE_HASH=${1:-master}
7+
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd )
8+
OPENAPI=$DIR/all-internal.json
9+
10+
pushd ~/universe
11+
git checkout $UNIVERSE_HASH || git pull && git checkout $UNIVERSE_HASH
12+
13+
bazel build openapi/all-internal.json
14+
popd
15+
16+
rm -f $OPENAPI
17+
cp ~/universe/bazel-bin/openapi/all-internal.json $OPENAPI
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
GO_SDK_HASH=${1:-main}
6+
7+
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd )
8+
OPENAPI=$DIR/all-internal.json
9+
10+
pushd $DIR/../../../databricks-sdk-go
11+
git checkout $GO_SDK_HASH || git pull && git checkout $GO_SDK_HASH
12+
go run openapi/gen/main.go -spec $OPENAPI -target $DIR/src/apis
13+
popd

packages/databricks-sdk-js/src/api-client.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ export class ApiClient {
5656
readonly product: string;
5757
readonly productVersion: ProductVersion;
5858
readonly userAgentExtra: Record<string, string>;
59+
readonly accountId = "";
5960

6061
constructor(readonly config: Config, options: ClientOptions = {}) {
6162
this.agent =
@@ -97,7 +98,7 @@ export class ApiClient {
9798
method: HttpMethod,
9899
payload?: any,
99100
@context context?: Context
100-
): Promise<Record<string, unknown>> {
101+
): Promise<unknown> {
101102
const headers: Headers = {
102103
"User-Agent": this.userAgent(),
103104
"Content-Type": "text/json",

packages/databricks-sdk-js/src/apis/.codegen.json

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,4 @@
11
{
2-
"includeTags": [
3-
"Clusters",
4-
"Jobs",
5-
"Repos",
6-
"Workspace",
7-
"Dbfs",
8-
"Permissions",
9-
"Workspace Conf",
10-
"Users",
11-
"Groups",
12-
"CurrentUser",
13-
"Service Principals",
14-
"ManagedLibraries",
15-
"Command Execution"
16-
],
172
"formatter": "yarn fix",
183
"packages": {
194
".codegen/api.ts.tmpl": "{{.Name}}/api.ts",

packages/databricks-sdk-js/src/apis/.codegen/api.ts.tmpl

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,26 @@ export class {{$s.PascalName}}Service {
3636
@withLogContext(ExposedLoggers.SDK)
3737
async {{.CamelName}}({{if .Request}}request: model.{{.Request.PascalName}},{{end}}
3838
@context context?: Context
39-
): Promise<model.{{if .Response}}{{.Response.PascalName}}{{else}}{{.EmptyResponseName.PascalName}}{{end}}> {
40-
const path = {{if .PathParts}}`{{range .PathParts}}{{.Prefix}}{{if .Field}}${request.{{.Field.SnakeName}}}{{end}}{{end}}`{{else}}"{{.Path}}"{{end}}
39+
): Promise<{{if .Response}}
40+
{{if .Response.ArrayValue}}
41+
Array<model.{{.Response.ArrayValue.PascalName}}>
42+
{{else}}
43+
model.{{.Response.PascalName}}
44+
{{end}}
45+
{{else}}
46+
model.EmptyResponse
47+
{{end}}>
48+
49+
{
50+
const path = {{if .PathParts -}}
51+
`{{range .PathParts}}{{.Prefix}}{{if .Field}}${request.{{.Field.Name}}}{{ else if .IsAccountId }}${this.client.accountId}{{end}}{{ end }}`
52+
{{- else}}"{{.Path}}"{{end}}
4153
return (await this.client.request(
4254
path,
4355
"{{.Verb}}",
4456
{{if .Request -}}request{{else}}undefined{{end}},
4557
context
46-
) as model.{{if .Response}}{{.Response.PascalName}}{{else}}{{.EmptyResponseName.PascalName}}{{end}})
58+
) as {{if .Response}}{{if .Response.ArrayValue}}Array<model.{{.Response.ArrayValue.PascalName}}>{{else}}model.{{.Response.PascalName}}{{end}}{{else}}model.EmptyResponse{{end}})
4759
}
4860

4961
{{if .Wait}}
@@ -71,8 +83,8 @@ export class {{$s.PascalName}}Service {
7183
return await retry<model.{{if .Wait.Poll.Response}}{{.Wait.Poll.Response.PascalName}}{{else}}{{.Wait.Poll.EmptyResponseName.PascalName}}{{end}}>({
7284
timeout,
7385
fn: async () => {
74-
const pollResponse = await this.{{.Wait.Poll.CamelName}}({ {{$e := .}}{{range .Wait.Binding}}
75-
{{.PollField.Name}}: {{.Bind.Of.CamelName}}.{{.Bind.Name}}!,{{end}}
86+
const pollResponse = await this.{{.Wait.Poll.CamelName}}({
87+
{{range .Wait.Binding}}{{.PollField.Name}}: {{.Bind.Of.CamelName}}.{{.Bind.Name}}!,{{end}}
7688
}, context)
7789
if(cancellationToken?.isCancellationRequested) {
7890
context?.logger?.error("{{$s.PascalName}}.{{.CamelName}}AndWait: cancelled");

packages/databricks-sdk-js/src/apis/.codegen/model.ts.tmpl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@
2323
{{end}}
2424
{{end}}
2525

26-
{{range .EmptyTypes}}export interface {{.PascalName}}{};
27-
{{end}}
26+
export interface EmptyResponse {};
2827

2928
{{- define "type" -}}
3029
{{- if not . }}any /* ERROR */
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
billing/api.ts linguist-generated=true
2+
billing/index.ts linguist-generated=true
3+
billing/model.ts linguist-generated=true
4+
clusterpolicies/api.ts linguist-generated=true
5+
clusterpolicies/index.ts linguist-generated=true
6+
clusterpolicies/model.ts linguist-generated=true
7+
clusters/api.ts linguist-generated=true
8+
clusters/index.ts linguist-generated=true
9+
clusters/model.ts linguist-generated=true
10+
commands/api.ts linguist-generated=true
11+
commands/index.ts linguist-generated=true
12+
commands/model.ts linguist-generated=true
13+
dbfs/api.ts linguist-generated=true
14+
dbfs/index.ts linguist-generated=true
15+
dbfs/model.ts linguist-generated=true
16+
deployment/api.ts linguist-generated=true
17+
deployment/index.ts linguist-generated=true
18+
deployment/model.ts linguist-generated=true
19+
gitcredentials/api.ts linguist-generated=true
20+
gitcredentials/index.ts linguist-generated=true
21+
gitcredentials/model.ts linguist-generated=true
22+
globalinitscripts/api.ts linguist-generated=true
23+
globalinitscripts/index.ts linguist-generated=true
24+
globalinitscripts/model.ts linguist-generated=true
25+
instancepools/api.ts linguist-generated=true
26+
instancepools/index.ts linguist-generated=true
27+
instancepools/model.ts linguist-generated=true
28+
ipaccesslists/api.ts linguist-generated=true
29+
ipaccesslists/index.ts linguist-generated=true
30+
ipaccesslists/model.ts linguist-generated=true
31+
jobs/api.ts linguist-generated=true
32+
jobs/index.ts linguist-generated=true
33+
jobs/model.ts linguist-generated=true
34+
libraries/api.ts linguist-generated=true
35+
libraries/index.ts linguist-generated=true
36+
libraries/model.ts linguist-generated=true
37+
mlflow/api.ts linguist-generated=true
38+
mlflow/index.ts linguist-generated=true
39+
mlflow/model.ts linguist-generated=true
40+
permissions/api.ts linguist-generated=true
41+
permissions/index.ts linguist-generated=true
42+
permissions/model.ts linguist-generated=true
43+
pipelines/api.ts linguist-generated=true
44+
pipelines/index.ts linguist-generated=true
45+
pipelines/model.ts linguist-generated=true
46+
repos/api.ts linguist-generated=true
47+
repos/index.ts linguist-generated=true
48+
repos/model.ts linguist-generated=true
49+
scim/api.ts linguist-generated=true
50+
scim/index.ts linguist-generated=true
51+
scim/model.ts linguist-generated=true
52+
secrets/api.ts linguist-generated=true
53+
secrets/index.ts linguist-generated=true
54+
secrets/model.ts linguist-generated=true
55+
sql/api.ts linguist-generated=true
56+
sql/index.ts linguist-generated=true
57+
sql/model.ts linguist-generated=true
58+
tokenmanagement/api.ts linguist-generated=true
59+
tokenmanagement/index.ts linguist-generated=true
60+
tokenmanagement/model.ts linguist-generated=true
61+
tokens/api.ts linguist-generated=true
62+
tokens/index.ts linguist-generated=true
63+
tokens/model.ts linguist-generated=true
64+
unitycatalog/api.ts linguist-generated=true
65+
unitycatalog/index.ts linguist-generated=true
66+
unitycatalog/model.ts linguist-generated=true
67+
workspace/api.ts linguist-generated=true
68+
workspace/index.ts linguist-generated=true
69+
workspace/model.ts linguist-generated=true
70+
workspaceconf/api.ts linguist-generated=true
71+
workspaceconf/index.ts linguist-generated=true
72+
workspaceconf/model.ts linguist-generated=true

0 commit comments

Comments
 (0)