Skip to content

Commit bf00d84

Browse files
Updating baton config schema and capabilities.
1 parent d934424 commit bf00d84

File tree

2 files changed

+217
-25
lines changed

2 files changed

+217
-25
lines changed

baton_capabilities.json

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
"displayName": "Account"
88
},
99
"capabilities": [
10-
"CAPABILITY_SYNC",
11-
"CAPABILITY_PROVISION"
10+
"CAPABILITY_SYNC"
1211
],
1312
"permissions": {}
1413
},
@@ -21,8 +20,7 @@
2120
]
2221
},
2322
"capabilities": [
24-
"CAPABILITY_SYNC",
25-
"CAPABILITY_PROVISION"
23+
"CAPABILITY_SYNC"
2624
],
2725
"permissions": {}
2826
},
@@ -35,8 +33,7 @@
3533
]
3634
},
3735
"capabilities": [
38-
"CAPABILITY_SYNC",
39-
"CAPABILITY_PROVISION"
36+
"CAPABILITY_SYNC"
4037
],
4138
"permissions": {}
4239
},
@@ -49,8 +46,7 @@
4946
]
5047
},
5148
"capabilities": [
52-
"CAPABILITY_SYNC",
53-
"CAPABILITY_PROVISION"
49+
"CAPABILITY_SYNC"
5450
],
5551
"permissions": {}
5652
},
@@ -68,9 +64,7 @@
6864
]
6965
},
7066
"capabilities": [
71-
"CAPABILITY_SYNC",
72-
"CAPABILITY_ACCOUNT_PROVISIONING",
73-
"CAPABILITY_RESOURCE_DELETE"
67+
"CAPABILITY_SYNC"
7468
],
7569
"permissions": {}
7670
},
@@ -83,24 +77,13 @@
8377
]
8478
},
8579
"capabilities": [
86-
"CAPABILITY_SYNC",
87-
"CAPABILITY_PROVISION"
80+
"CAPABILITY_SYNC"
8881
],
8982
"permissions": {}
9083
}
9184
],
9285
"connectorCapabilities": [
93-
"CAPABILITY_PROVISION",
94-
"CAPABILITY_SYNC",
95-
"CAPABILITY_ACCOUNT_PROVISIONING",
96-
"CAPABILITY_RESOURCE_DELETE"
86+
"CAPABILITY_SYNC"
9787
],
98-
"credentialDetails": {
99-
"capabilityAccountProvisioning": {
100-
"supportedCredentialOptions": [
101-
"CAPABILITY_DETAIL_CREDENTIAL_OPTION_NO_PASSWORD"
102-
],
103-
"preferredCredentialOption": "CAPABILITY_DETAIL_CREDENTIAL_OPTION_NO_PASSWORD"
104-
}
105-
}
88+
"credentialDetails": {}
10689
}

config_schema.json

Lines changed: 209 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,209 @@
1+
{
2+
"fields": [
3+
{
4+
"name": "log-level",
5+
"description": "The log level: debug, info, warn, error",
6+
"isOps": true,
7+
"stringField": {
8+
"defaultValue": "info"
9+
}
10+
},
11+
{
12+
"name": "log-level-debug-expires-at",
13+
"description": "The timestamp indicating when debug-level logging should expire",
14+
"isOps": true,
15+
"stringField": {}
16+
},
17+
{
18+
"name": "session-store-maximum-size",
19+
"description": "The maximum size of the local in-memory session store cache in bytes.",
20+
"isOps": true,
21+
"intField": {
22+
"defaultValue": "15728640"
23+
}
24+
},
25+
{
26+
"name": "otel-collector-endpoint",
27+
"description": "The endpoint of the OpenTelemetry collector to send observability data to (used for both tracing and logging if specific endpoints are not provided)",
28+
"isOps": true,
29+
"stringField": {}
30+
},
31+
{
32+
"name": "otel-collector-endpoint-tls-cert-path",
33+
"description": "Path to a file containing a PEM-encoded certificate to use as a CA for TLS connections to the OpenTelemetry collector",
34+
"isOps": true,
35+
"stringField": {}
36+
},
37+
{
38+
"name": "otel-collector-endpoint-tls-cert",
39+
"description": "A PEM-encoded certificate to use as a CA for TLS connections to the OpenTelemetry collector",
40+
"isOps": true,
41+
"stringField": {}
42+
},
43+
{
44+
"name": "otel-collector-endpoint-tls-insecure",
45+
"description": "Allow insecure connections to the OpenTelemetry collector",
46+
"isOps": true,
47+
"boolField": {}
48+
},
49+
{
50+
"name": "otel-tracing-disabled",
51+
"description": "Disable OpenTelemetry tracing",
52+
"isOps": true,
53+
"boolField": {}
54+
},
55+
{
56+
"name": "otel-logging-disabled",
57+
"description": "Disable OpenTelemetry logging",
58+
"isOps": true,
59+
"boolField": {}
60+
},
61+
{
62+
"name": "account-hostname",
63+
"displayName": "Account Hostname",
64+
"description": "The hostname used to connect to the Databricks account API. If not set, it will be calculated from the hostname field.",
65+
"stringField": {}
66+
},
67+
{
68+
"name": "account-id",
69+
"displayName": "Account ID",
70+
"description": "The Databricks account ID used to connect to the Databricks Account and Workspace API",
71+
"isRequired": true,
72+
"stringField": {
73+
"rules": {
74+
"isRequired": true
75+
}
76+
}
77+
},
78+
{
79+
"name": "databricks-client-id",
80+
"displayName": "Databricks Client ID",
81+
"description": "The Databricks service principal's client ID used to connect to the Databricks Account and Workspace API",
82+
"stringField": {}
83+
},
84+
{
85+
"name": "databricks-client-secret",
86+
"displayName": "Databricks Client Secret",
87+
"description": "The Databricks service principal's client secret used to connect to the Databricks Account and Workspace API",
88+
"isSecret": true,
89+
"stringField": {}
90+
},
91+
{
92+
"name": "hostname",
93+
"displayName": "Hostname",
94+
"description": "The Databricks hostname used to connect to the Databricks API",
95+
"stringField": {
96+
"defaultValue": "cloud.databricks.com"
97+
}
98+
},
99+
{
100+
"name": "password",
101+
"displayName": "Password",
102+
"description": "The Databricks password used to connect to the Databricks API",
103+
"isSecret": true,
104+
"stringField": {}
105+
},
106+
{
107+
"name": "workspace-tokens",
108+
"displayName": "Workspace Tokens",
109+
"description": "The Databricks access tokens scoped to specific workspaces used to connect to the Databricks Workspace API",
110+
"isSecret": true,
111+
"stringSliceField": {}
112+
},
113+
{
114+
"name": "username",
115+
"displayName": "Username",
116+
"description": "The Databricks username used to connect to the Databricks API",
117+
"stringField": {}
118+
},
119+
{
120+
"name": "workspaces",
121+
"displayName": "Workspaces",
122+
"description": "Limit syncing to the specified workspaces",
123+
"stringSliceField": {}
124+
}
125+
],
126+
"constraints": [
127+
{
128+
"kind": "CONSTRAINT_KIND_AT_LEAST_ONE",
129+
"fieldNames": [
130+
"databricks-client-id",
131+
"username",
132+
"workspace-tokens"
133+
]
134+
},
135+
{
136+
"kind": "CONSTRAINT_KIND_MUTUALLY_EXCLUSIVE",
137+
"fieldNames": [
138+
"databricks-client-id",
139+
"username",
140+
"workspace-tokens"
141+
]
142+
},
143+
{
144+
"kind": "CONSTRAINT_KIND_REQUIRED_TOGETHER",
145+
"fieldNames": [
146+
"databricks-client-id",
147+
"databricks-client-secret"
148+
]
149+
},
150+
{
151+
"kind": "CONSTRAINT_KIND_REQUIRED_TOGETHER",
152+
"fieldNames": [
153+
"username",
154+
"password"
155+
]
156+
},
157+
{
158+
"kind": "CONSTRAINT_KIND_DEPENDENT_ON",
159+
"fieldNames": [
160+
"workspace-tokens"
161+
],
162+
"secondaryFieldNames": [
163+
"workspaces"
164+
]
165+
}
166+
],
167+
"displayName": "Databricks",
168+
"helpUrl": "/docs/baton/databricks",
169+
"iconUrl": "/static/app-icons/databricks.svg",
170+
"fieldGroups": [
171+
{
172+
"name": "oauth-group",
173+
"displayName": "OAuth",
174+
"helpText": "Authenticate using OAuth to sync information from all Databricks workspaces. Requires OAuth client ID and secret created following the Databricks OAuth authentication documentation.",
175+
"fields": [
176+
"account-id",
177+
"databricks-client-id",
178+
"databricks-client-secret",
179+
"hostname",
180+
"account-hostname"
181+
],
182+
"default": true
183+
},
184+
{
185+
"name": "personal-access-token-group",
186+
"displayName": "Personal access token",
187+
"helpText": "Authenticate using a personal access token to sync information from a single Databricks workspace. Requires a personal access token and the workspace ID.",
188+
"fields": [
189+
"account-id",
190+
"workspace-tokens",
191+
"workspaces",
192+
"hostname",
193+
"account-hostname"
194+
]
195+
},
196+
{
197+
"name": "username-password-group",
198+
"displayName": "Username and password",
199+
"helpText": "Authenticate using your Databricks username and password to sync information from all Databricks workspaces.",
200+
"fields": [
201+
"account-id",
202+
"username",
203+
"password",
204+
"hostname",
205+
"account-hostname"
206+
]
207+
}
208+
]
209+
}

0 commit comments

Comments
 (0)