@databricks/sdk-core 0.0.0-dev → 0.1.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -1
- package/dist/api/execute.d.ts +12 -0
- package/dist/api/execute.d.ts.map +1 -0
- package/dist/api/execute.js +77 -0
- package/dist/api/execute.js.map +1 -0
- package/dist/api/index.d.ts +12 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +8 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/limiter.d.ts +9 -0
- package/dist/api/limiter.d.ts.map +1 -0
- package/dist/api/limiter.js +2 -0
- package/dist/api/limiter.js.map +1 -0
- package/dist/api/options.d.ts +22 -0
- package/dist/api/options.d.ts.map +1 -0
- package/dist/api/options.js +2 -0
- package/dist/api/options.js.map +1 -0
- package/dist/api/retrier.d.ts +58 -0
- package/dist/api/retrier.d.ts.map +1 -0
- package/dist/api/retrier.js +70 -0
- package/dist/api/retrier.js.map +1 -0
- package/dist/apierror/apierror.d.ts +53 -0
- package/dist/apierror/apierror.d.ts.map +1 -0
- package/dist/apierror/apierror.js +217 -0
- package/dist/apierror/apierror.js.map +1 -0
- package/dist/apierror/codes/codes.d.ts +140 -0
- package/dist/apierror/codes/codes.d.ts.map +1 -0
- package/dist/apierror/codes/codes.js +167 -0
- package/dist/apierror/codes/codes.js.map +1 -0
- package/dist/apierror/codes/index.d.ts +7 -0
- package/dist/apierror/codes/index.d.ts.map +1 -0
- package/dist/apierror/codes/index.js +7 -0
- package/dist/apierror/codes/index.js.map +1 -0
- package/dist/apierror/details.d.ts +177 -0
- package/dist/apierror/details.d.ts.map +1 -0
- package/dist/apierror/details.js +250 -0
- package/dist/apierror/details.js.map +1 -0
- package/dist/apierror/index.d.ts +8 -0
- package/dist/apierror/index.d.ts.map +1 -0
- package/dist/apierror/index.js +7 -0
- package/dist/apierror/index.js.map +1 -0
- package/dist/clientinfo/agent.d.ts +56 -0
- package/dist/clientinfo/agent.d.ts.map +1 -0
- package/dist/clientinfo/agent.js +120 -0
- package/dist/clientinfo/agent.js.map +1 -0
- package/dist/clientinfo/base.d.ts +39 -0
- package/dist/clientinfo/base.d.ts.map +1 -0
- package/dist/clientinfo/base.js +61 -0
- package/dist/clientinfo/base.js.map +1 -0
- package/dist/clientinfo/clientinfo.d.ts +61 -0
- package/dist/clientinfo/clientinfo.d.ts.map +1 -0
- package/dist/clientinfo/clientinfo.js +96 -0
- package/dist/clientinfo/clientinfo.js.map +1 -0
- package/dist/clientinfo/default.browser.d.ts +17 -0
- package/dist/clientinfo/default.browser.d.ts.map +1 -0
- package/dist/clientinfo/default.browser.js +20 -0
- package/dist/clientinfo/default.browser.js.map +1 -0
- package/dist/clientinfo/default.d.ts +14 -0
- package/dist/clientinfo/default.d.ts.map +1 -0
- package/dist/clientinfo/default.js +104 -0
- package/dist/clientinfo/default.js.map +1 -0
- package/dist/clientinfo/index.browser.d.ts +5 -0
- package/dist/clientinfo/index.browser.d.ts.map +1 -0
- package/dist/clientinfo/index.browser.js +4 -0
- package/dist/clientinfo/index.browser.js.map +1 -0
- package/dist/clientinfo/index.d.ts +5 -0
- package/dist/clientinfo/index.d.ts.map +1 -0
- package/dist/clientinfo/index.js +4 -0
- package/dist/clientinfo/index.js.map +1 -0
- package/dist/http/http.d.ts +40 -0
- package/dist/http/http.d.ts.map +1 -0
- package/dist/http/http.js +37 -0
- package/dist/http/http.js.map +1 -0
- package/dist/http/index.d.ts +8 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +7 -0
- package/dist/http/index.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/logger/index.d.ts +8 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +7 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/logger.d.ts +49 -0
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/logger/logger.js +65 -0
- package/dist/logger/logger.js.map +1 -0
- package/dist/profiles/errors.d.ts +17 -0
- package/dist/profiles/errors.d.ts.map +1 -0
- package/dist/profiles/errors.js +19 -0
- package/dist/profiles/errors.js.map +1 -0
- package/dist/profiles/index.browser.d.ts +10 -0
- package/dist/profiles/index.browser.d.ts.map +1 -0
- package/dist/profiles/index.browser.js +8 -0
- package/dist/profiles/index.browser.js.map +1 -0
- package/dist/profiles/index.d.ts +15 -0
- package/dist/profiles/index.d.ts.map +1 -0
- package/dist/profiles/index.js +13 -0
- package/dist/profiles/index.js.map +1 -0
- package/dist/profiles/ini.d.ts +36 -0
- package/dist/profiles/ini.d.ts.map +1 -0
- package/dist/profiles/ini.js +113 -0
- package/dist/profiles/ini.js.map +1 -0
- package/dist/profiles/profile.d.ts +131 -0
- package/dist/profiles/profile.d.ts.map +1 -0
- package/dist/profiles/profile.js +307 -0
- package/dist/profiles/profile.js.map +1 -0
- package/dist/profiles/resolve.d.ts +29 -0
- package/dist/profiles/resolve.d.ts.map +1 -0
- package/dist/profiles/resolve.js +206 -0
- package/dist/profiles/resolve.js.map +1 -0
- package/dist/profiles/secret.d.ts +25 -0
- package/dist/profiles/secret.d.ts.map +1 -0
- package/dist/profiles/secret.js +38 -0
- package/dist/profiles/secret.js.map +1 -0
- package/dist/wkt/fieldmask.d.ts +32 -0
- package/dist/wkt/fieldmask.d.ts.map +1 -0
- package/dist/wkt/fieldmask.js +68 -0
- package/dist/wkt/fieldmask.js.map +1 -0
- package/dist/wkt/index.d.ts +4 -0
- package/dist/wkt/index.d.ts.map +1 -0
- package/dist/wkt/index.js +2 -0
- package/dist/wkt/index.js.map +1 -0
- package/dist/wkt/value.d.ts +13 -0
- package/dist/wkt/value.d.ts.map +1 -0
- package/dist/wkt/value.js +2 -0
- package/dist/wkt/value.js.map +1 -0
- package/package.json +80 -4
- package/src/api/execute.ts +102 -0
- package/src/api/index.ts +12 -0
- package/src/api/limiter.ts +8 -0
- package/src/api/options.ts +22 -0
- package/src/api/retrier.ts +108 -0
- package/src/apierror/apierror.ts +253 -0
- package/src/apierror/codes/codes.ts +189 -0
- package/src/apierror/codes/index.ts +7 -0
- package/src/apierror/details.ts +459 -0
- package/src/apierror/index.ts +24 -0
- package/src/clientinfo/agent.ts +131 -0
- package/src/clientinfo/base.ts +72 -0
- package/src/clientinfo/clientinfo.ts +129 -0
- package/src/clientinfo/default.browser.ts +24 -0
- package/src/clientinfo/default.ts +128 -0
- package/src/clientinfo/index.browser.ts +4 -0
- package/src/clientinfo/index.ts +4 -0
- package/src/http/http.ts +75 -0
- package/src/http/index.ts +8 -0
- package/src/index.ts +5 -0
- package/src/logger/index.ts +8 -0
- package/src/logger/logger.ts +99 -0
- package/src/profiles/errors.ts +28 -0
- package/src/profiles/index.browser.ts +10 -0
- package/src/profiles/index.ts +15 -0
- package/src/profiles/ini.ts +126 -0
- package/src/profiles/profile.ts +467 -0
- package/src/profiles/resolve.ts +251 -0
- package/src/profiles/secret.ts +40 -0
- package/src/wkt/fieldmask.ts +89 -0
- package/src/wkt/index.ts +3 -0
- package/src/wkt/value.ts +19 -0
- package/index.js +0 -1
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Profile interface and property mapping for Databricks configuration.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import { Secret } from './secret';
|
|
7
|
+
/**
|
|
8
|
+
* Reserved INI section name for SDK settings. It is never treated as a
|
|
9
|
+
* profile.
|
|
10
|
+
*/
|
|
11
|
+
export const SETTINGS_SECTION = '__settings__';
|
|
12
|
+
/**
|
|
13
|
+
* Parses common boolean string representations (true/false, 1/0, t/f and
|
|
14
|
+
* their case variants).
|
|
15
|
+
*/
|
|
16
|
+
function parseBool(value) {
|
|
17
|
+
switch (value) {
|
|
18
|
+
case '1':
|
|
19
|
+
case 't':
|
|
20
|
+
case 'T':
|
|
21
|
+
case 'TRUE':
|
|
22
|
+
case 'true':
|
|
23
|
+
case 'True':
|
|
24
|
+
return true;
|
|
25
|
+
case '0':
|
|
26
|
+
case 'f':
|
|
27
|
+
case 'F':
|
|
28
|
+
case 'FALSE':
|
|
29
|
+
case 'false':
|
|
30
|
+
case 'False':
|
|
31
|
+
return false;
|
|
32
|
+
default:
|
|
33
|
+
throw new Error(`invalid boolean value: "${value}"`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Declarative property mapping table for all known profile fields.
|
|
38
|
+
*/
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- The table includes azureLoginAppId for backward compatibility.
|
|
40
|
+
export const PROPERTY_DEFS = [
|
|
41
|
+
{
|
|
42
|
+
field: 'host',
|
|
43
|
+
envVar: 'DATABRICKS_HOST',
|
|
44
|
+
iniKey: 'host',
|
|
45
|
+
set: (p, v) => {
|
|
46
|
+
p.host = v;
|
|
47
|
+
},
|
|
48
|
+
get: (p) => p.host,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
field: 'workspaceId',
|
|
52
|
+
envVar: 'DATABRICKS_WORKSPACE_ID',
|
|
53
|
+
iniKey: 'workspace_id',
|
|
54
|
+
set: (p, v) => {
|
|
55
|
+
p.workspaceId = v;
|
|
56
|
+
},
|
|
57
|
+
get: (p) => p.workspaceId,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
field: 'accountId',
|
|
61
|
+
envVar: 'DATABRICKS_ACCOUNT_ID',
|
|
62
|
+
iniKey: 'account_id',
|
|
63
|
+
set: (p, v) => {
|
|
64
|
+
p.accountId = v;
|
|
65
|
+
},
|
|
66
|
+
get: (p) => p.accountId,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
field: 'token',
|
|
70
|
+
envVar: 'DATABRICKS_TOKEN',
|
|
71
|
+
iniKey: 'token',
|
|
72
|
+
set: (p, v) => {
|
|
73
|
+
p.token = new Secret(v);
|
|
74
|
+
},
|
|
75
|
+
get: (p) => p.token?.value,
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
field: 'username',
|
|
79
|
+
envVar: 'DATABRICKS_USERNAME',
|
|
80
|
+
iniKey: 'username',
|
|
81
|
+
set: (p, v) => {
|
|
82
|
+
p.username = v;
|
|
83
|
+
},
|
|
84
|
+
get: (p) => p.username,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
field: 'password',
|
|
88
|
+
envVar: 'DATABRICKS_PASSWORD',
|
|
89
|
+
iniKey: 'password',
|
|
90
|
+
set: (p, v) => {
|
|
91
|
+
p.password = new Secret(v);
|
|
92
|
+
},
|
|
93
|
+
get: (p) => p.password?.value,
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
field: 'authType',
|
|
97
|
+
envVar: 'DATABRICKS_AUTH_TYPE',
|
|
98
|
+
iniKey: 'auth_type',
|
|
99
|
+
set: (p, v) => {
|
|
100
|
+
p.authType = v;
|
|
101
|
+
},
|
|
102
|
+
get: (p) => p.authType,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
field: 'clientId',
|
|
106
|
+
envVar: 'DATABRICKS_CLIENT_ID',
|
|
107
|
+
iniKey: 'client_id',
|
|
108
|
+
set: (p, v) => {
|
|
109
|
+
p.clientId = v;
|
|
110
|
+
},
|
|
111
|
+
get: (p) => p.clientId,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
field: 'clientSecret',
|
|
115
|
+
envVar: 'DATABRICKS_CLIENT_SECRET',
|
|
116
|
+
iniKey: 'client_secret',
|
|
117
|
+
set: (p, v) => {
|
|
118
|
+
p.clientSecret = new Secret(v);
|
|
119
|
+
},
|
|
120
|
+
get: (p) => p.clientSecret?.value,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
field: 'databricksCliPath',
|
|
124
|
+
envVar: 'DATABRICKS_CLI_PATH',
|
|
125
|
+
iniKey: 'databricks_cli_path',
|
|
126
|
+
set: (p, v) => {
|
|
127
|
+
p.databricksCliPath = v;
|
|
128
|
+
},
|
|
129
|
+
get: (p) => p.databricksCliPath,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
field: 'metadataServiceUrl',
|
|
133
|
+
envVar: 'DATABRICKS_METADATA_SERVICE_URL',
|
|
134
|
+
iniKey: 'metadata_service_url',
|
|
135
|
+
set: (p, v) => {
|
|
136
|
+
p.metadataServiceUrl = new Secret(v);
|
|
137
|
+
},
|
|
138
|
+
get: (p) => p.metadataServiceUrl?.value,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
field: 'actionsIdTokenRequestUrl',
|
|
142
|
+
envVar: 'ACTIONS_ID_TOKEN_REQUEST_URL',
|
|
143
|
+
iniKey: 'actions_id_token_request_url',
|
|
144
|
+
set: (p, v) => {
|
|
145
|
+
p.actionsIdTokenRequestUrl = v;
|
|
146
|
+
},
|
|
147
|
+
get: (p) => p.actionsIdTokenRequestUrl,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
field: 'actionsIdTokenRequestToken',
|
|
151
|
+
envVar: 'ACTIONS_ID_TOKEN_REQUEST_TOKEN',
|
|
152
|
+
iniKey: 'actions_id_token_request_token',
|
|
153
|
+
set: (p, v) => {
|
|
154
|
+
p.actionsIdTokenRequestToken = new Secret(v);
|
|
155
|
+
},
|
|
156
|
+
get: (p) => p.actionsIdTokenRequestToken?.value,
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
field: 'oidcTokenEnv',
|
|
160
|
+
envVar: 'DATABRICKS_OIDC_TOKEN_ENV',
|
|
161
|
+
iniKey: 'oidc_token_env',
|
|
162
|
+
set: (p, v) => {
|
|
163
|
+
p.oidcTokenEnv = v;
|
|
164
|
+
},
|
|
165
|
+
get: (p) => p.oidcTokenEnv,
|
|
166
|
+
},
|
|
167
|
+
// Intentional mismatch between envVar and iniKey for backward compatibility.
|
|
168
|
+
{
|
|
169
|
+
field: 'oidcTokenFilePath',
|
|
170
|
+
envVar: 'DATABRICKS_OIDC_TOKEN_FILEPATH',
|
|
171
|
+
iniKey: 'databricks_id_token_filepath',
|
|
172
|
+
set: (p, v) => {
|
|
173
|
+
p.oidcTokenFilePath = v;
|
|
174
|
+
},
|
|
175
|
+
get: (p) => p.oidcTokenFilePath,
|
|
176
|
+
},
|
|
177
|
+
// Intentional mismatch between envVar and iniKey for backward compatibility.
|
|
178
|
+
{
|
|
179
|
+
field: 'tokenAudience',
|
|
180
|
+
envVar: 'DATABRICKS_TOKEN_AUDIENCE',
|
|
181
|
+
iniKey: 'audience',
|
|
182
|
+
set: (p, v) => {
|
|
183
|
+
p.tokenAudience = v;
|
|
184
|
+
},
|
|
185
|
+
get: (p) => p.tokenAudience,
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
field: 'discoveryUrl',
|
|
189
|
+
envVar: 'DATABRICKS_DISCOVERY_URL',
|
|
190
|
+
iniKey: 'discovery_url',
|
|
191
|
+
set: (p, v) => {
|
|
192
|
+
p.discoveryUrl = v;
|
|
193
|
+
},
|
|
194
|
+
get: (p) => p.discoveryUrl,
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
field: 'azureClientId',
|
|
198
|
+
envVar: 'ARM_CLIENT_ID',
|
|
199
|
+
iniKey: 'azure_client_id',
|
|
200
|
+
set: (p, v) => {
|
|
201
|
+
p.azureClientId = v;
|
|
202
|
+
},
|
|
203
|
+
get: (p) => p.azureClientId,
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
field: 'azureClientSecret',
|
|
207
|
+
envVar: 'ARM_CLIENT_SECRET',
|
|
208
|
+
iniKey: 'azure_client_secret',
|
|
209
|
+
set: (p, v) => {
|
|
210
|
+
p.azureClientSecret = new Secret(v);
|
|
211
|
+
},
|
|
212
|
+
get: (p) => p.azureClientSecret?.value,
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
field: 'azureTenantId',
|
|
216
|
+
envVar: 'ARM_TENANT_ID',
|
|
217
|
+
iniKey: 'azure_tenant_id',
|
|
218
|
+
set: (p, v) => {
|
|
219
|
+
p.azureTenantId = v;
|
|
220
|
+
},
|
|
221
|
+
get: (p) => p.azureTenantId,
|
|
222
|
+
},
|
|
223
|
+
// Intentional mismatch between envVar and iniKey for backward compatibility.
|
|
224
|
+
{
|
|
225
|
+
field: 'azureResourceId',
|
|
226
|
+
envVar: 'DATABRICKS_AZURE_RESOURCE_ID',
|
|
227
|
+
iniKey: 'azure_workspace_resource_id',
|
|
228
|
+
set: (p, v) => {
|
|
229
|
+
p.azureResourceId = v;
|
|
230
|
+
},
|
|
231
|
+
get: (p) => p.azureResourceId,
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
field: 'azureEnvironment',
|
|
235
|
+
envVar: 'ARM_ENVIRONMENT',
|
|
236
|
+
iniKey: 'azure_environment',
|
|
237
|
+
set: (p, v) => {
|
|
238
|
+
p.azureEnvironment = v;
|
|
239
|
+
},
|
|
240
|
+
get: (p) => p.azureEnvironment,
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
field: 'azureLoginAppId',
|
|
244
|
+
envVar: 'DATABRICKS_AZURE_LOGIN_APP_ID',
|
|
245
|
+
iniKey: 'azure_login_app_id',
|
|
246
|
+
set: (p, v) => {
|
|
247
|
+
p.azureLoginAppId = v; // eslint-disable-line @typescript-eslint/no-deprecated
|
|
248
|
+
},
|
|
249
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
250
|
+
get: (p) => p.azureLoginAppId,
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
field: 'azureUseMsi',
|
|
254
|
+
envVar: 'ARM_USE_MSI',
|
|
255
|
+
iniKey: 'azure_use_msi',
|
|
256
|
+
set: (p, v) => {
|
|
257
|
+
p.azureUseMsi = parseBool(v);
|
|
258
|
+
},
|
|
259
|
+
get: (p) => p.azureUseMsi === undefined ? undefined : String(p.azureUseMsi),
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
field: 'googleCredentials',
|
|
263
|
+
envVar: 'GOOGLE_CREDENTIALS',
|
|
264
|
+
iniKey: 'google_credentials',
|
|
265
|
+
set: (p, v) => {
|
|
266
|
+
p.googleCredentials = new Secret(v);
|
|
267
|
+
},
|
|
268
|
+
get: (p) => p.googleCredentials?.value,
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
field: 'googleServiceAccount',
|
|
272
|
+
envVar: 'DATABRICKS_GOOGLE_SERVICE_ACCOUNT',
|
|
273
|
+
iniKey: 'google_service_account',
|
|
274
|
+
set: (p, v) => {
|
|
275
|
+
p.googleServiceAccount = v;
|
|
276
|
+
},
|
|
277
|
+
get: (p) => p.googleServiceAccount,
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
field: 'clusterId',
|
|
281
|
+
envVar: 'DATABRICKS_CLUSTER_ID',
|
|
282
|
+
iniKey: 'cluster_id',
|
|
283
|
+
set: (p, v) => {
|
|
284
|
+
p.clusterId = v;
|
|
285
|
+
},
|
|
286
|
+
get: (p) => p.clusterId,
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
field: 'warehouseId',
|
|
290
|
+
envVar: 'DATABRICKS_WAREHOUSE_ID',
|
|
291
|
+
iniKey: 'warehouse_id',
|
|
292
|
+
set: (p, v) => {
|
|
293
|
+
p.warehouseId = v;
|
|
294
|
+
},
|
|
295
|
+
get: (p) => p.warehouseId,
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
field: 'serverlessComputeId',
|
|
299
|
+
envVar: 'DATABRICKS_SERVERLESS_COMPUTE_ID',
|
|
300
|
+
iniKey: 'serverless_compute_id',
|
|
301
|
+
set: (p, v) => {
|
|
302
|
+
p.serverlessComputeId = v;
|
|
303
|
+
},
|
|
304
|
+
get: (p) => p.serverlessComputeId,
|
|
305
|
+
},
|
|
306
|
+
];
|
|
307
|
+
//# sourceMappingURL=profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/profiles/profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js implementation of profile resolution.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import type { Profile, ResolveOptions } from './profile';
|
|
7
|
+
/**
|
|
8
|
+
* Creates a {@link Profile} from a databrickscfg file and/or environment
|
|
9
|
+
* variables.
|
|
10
|
+
*
|
|
11
|
+
* With no options, the defaults are used: read the default config file and
|
|
12
|
+
* overlay environment variables.
|
|
13
|
+
*
|
|
14
|
+
* When any explicit option is provided, only the requested behaviors are
|
|
15
|
+
* enabled.
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolve(options?: ResolveOptions): Promise<Profile>;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the path to the default databrickscfg file. Reads
|
|
20
|
+
* DATABRICKS_CONFIG_FILE from the environment, falling back to
|
|
21
|
+
* ~/.databrickscfg.
|
|
22
|
+
*/
|
|
23
|
+
export declare function defaultConfigFile(): string;
|
|
24
|
+
/**
|
|
25
|
+
* Returns the names of all profiles (INI sections) in the given config
|
|
26
|
+
* file. The DEFAULT section is included only if it has keys.
|
|
27
|
+
*/
|
|
28
|
+
export declare function listProfiles(path: string): Promise<string[]>;
|
|
29
|
+
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/profiles/resolve.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,WAAW,CAAC;AA8JvD;;;;;;;;;GASG;AACH,wBAAsB,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAqBxE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA8BlE"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js implementation of profile resolution.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import { access, readFile } from 'node:fs/promises';
|
|
7
|
+
import { homedir } from 'node:os';
|
|
8
|
+
import { join } from 'node:path';
|
|
9
|
+
import { ProfileError } from './errors';
|
|
10
|
+
import { parseIni } from './ini';
|
|
11
|
+
import { PROPERTY_DEFS, SETTINGS_SECTION } from './profile';
|
|
12
|
+
/**
|
|
13
|
+
* Reports whether a section is an empty DEFAULT section that should be
|
|
14
|
+
* treated as non-existent.
|
|
15
|
+
*
|
|
16
|
+
* In the INI format, DEFAULT is typically a special fallback section, not a
|
|
17
|
+
* regular section. Databricks historically treats DEFAULT as a regular
|
|
18
|
+
* profile name. An intentionally empty [DEFAULT] section is silently ignored.
|
|
19
|
+
*/
|
|
20
|
+
function isPhantomDefault(name, section) {
|
|
21
|
+
return name === 'DEFAULT' && section.size === 0;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Returns ~/.databrickscfg without checking environment variables.
|
|
25
|
+
*/
|
|
26
|
+
function defaultConfigFilePath() {
|
|
27
|
+
try {
|
|
28
|
+
return join(homedir(), '.databrickscfg');
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return '';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** Returns true if the file at the given path exists. */
|
|
35
|
+
async function fileExists(path) {
|
|
36
|
+
try {
|
|
37
|
+
await access(path);
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Loads a profile from a databrickscfg file. If filePath is undefined,
|
|
46
|
+
* reads DATABRICKS_CONFIG_FILE from the environment, falling back to
|
|
47
|
+
* ~/.databrickscfg.
|
|
48
|
+
*/
|
|
49
|
+
async function loadFile(filePath, profileName) {
|
|
50
|
+
// Determine file path.
|
|
51
|
+
let explicitFile = filePath !== undefined;
|
|
52
|
+
let path;
|
|
53
|
+
if (filePath !== undefined) {
|
|
54
|
+
path = filePath;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
const envPath = process.env.DATABRICKS_CONFIG_FILE ?? '';
|
|
58
|
+
if (envPath !== '') {
|
|
59
|
+
path = envPath;
|
|
60
|
+
explicitFile = true;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
path = defaultConfigFilePath();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// A missing default file is silently skipped.
|
|
67
|
+
if (!(await fileExists(path))) {
|
|
68
|
+
if (explicitFile) {
|
|
69
|
+
throw new ProfileError('CONFIG_FILE_NOT_FOUND', `config file not found: ${path}`);
|
|
70
|
+
}
|
|
71
|
+
return {};
|
|
72
|
+
}
|
|
73
|
+
const content = await readFile(path, 'utf8');
|
|
74
|
+
const data = parseIni(content);
|
|
75
|
+
// Profile name resolution chain:
|
|
76
|
+
// 1. Explicit profile name (from option).
|
|
77
|
+
// 2. DATABRICKS_CONFIG_PROFILE environment variable.
|
|
78
|
+
// 3. default_profile key in __settings__ section.
|
|
79
|
+
// 4. DEFAULT section (fallback).
|
|
80
|
+
let resolved = profileName;
|
|
81
|
+
if (resolved === undefined) {
|
|
82
|
+
const envProfile = process.env.DATABRICKS_CONFIG_PROFILE ?? '';
|
|
83
|
+
if (envProfile !== '') {
|
|
84
|
+
resolved = envProfile;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (resolved === undefined) {
|
|
88
|
+
const settings = data.get(SETTINGS_SECTION);
|
|
89
|
+
if (settings !== undefined) {
|
|
90
|
+
const dp = settings.get('default_profile') ?? '';
|
|
91
|
+
if (dp !== '') {
|
|
92
|
+
resolved = dp;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (resolved === SETTINGS_SECTION) {
|
|
97
|
+
throw new ProfileError('INVALID_PROFILE_NAME', `invalid profile name: "${resolved}" is a reserved section`);
|
|
98
|
+
}
|
|
99
|
+
const explicitProfile = resolved !== undefined;
|
|
100
|
+
resolved ??= 'DEFAULT';
|
|
101
|
+
const section = data.get(resolved);
|
|
102
|
+
if (section === undefined || isPhantomDefault(resolved, section)) {
|
|
103
|
+
if (explicitProfile) {
|
|
104
|
+
throw new ProfileError('PROFILE_NOT_FOUND', `profile not found: "${resolved}" in ${path}`);
|
|
105
|
+
}
|
|
106
|
+
return {};
|
|
107
|
+
}
|
|
108
|
+
// Build profile from section values.
|
|
109
|
+
const profile = { name: resolved };
|
|
110
|
+
const knownKeys = new Set();
|
|
111
|
+
for (const def of PROPERTY_DEFS) {
|
|
112
|
+
knownKeys.add(def.iniKey);
|
|
113
|
+
const value = section.get(def.iniKey);
|
|
114
|
+
if (value !== undefined) {
|
|
115
|
+
def.set(profile, value);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// Collect extra keys that are not in the property mapping.
|
|
119
|
+
for (const [key, value] of section) {
|
|
120
|
+
if (!knownKeys.has(key)) {
|
|
121
|
+
profile.extra ??= {};
|
|
122
|
+
profile.extra[key] = value;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return profile;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Builds a profile from environment variables. Empty environment variables
|
|
129
|
+
* are treated as unset. Returns only the fields that were found.
|
|
130
|
+
*/
|
|
131
|
+
function loadEnv() {
|
|
132
|
+
const profile = {};
|
|
133
|
+
for (const def of PROPERTY_DEFS) {
|
|
134
|
+
const value = process.env[def.envVar] ?? '';
|
|
135
|
+
if (value !== '') {
|
|
136
|
+
def.set(profile, value);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return profile;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Creates a {@link Profile} from a databrickscfg file and/or environment
|
|
143
|
+
* variables.
|
|
144
|
+
*
|
|
145
|
+
* With no options, the defaults are used: read the default config file and
|
|
146
|
+
* overlay environment variables.
|
|
147
|
+
*
|
|
148
|
+
* When any explicit option is provided, only the requested behaviors are
|
|
149
|
+
* enabled.
|
|
150
|
+
*/
|
|
151
|
+
export async function resolve(options) {
|
|
152
|
+
if (options?.filePath === '') {
|
|
153
|
+
throw new ProfileError('EMPTY_PATH', 'empty path');
|
|
154
|
+
}
|
|
155
|
+
if (options?.profile === '') {
|
|
156
|
+
throw new ProfileError('EMPTY_PROFILE', 'empty profile');
|
|
157
|
+
}
|
|
158
|
+
const shouldReadFile = options === undefined ||
|
|
159
|
+
options.filePath !== undefined ||
|
|
160
|
+
options.profile !== undefined ||
|
|
161
|
+
(options.withFile ?? false);
|
|
162
|
+
const shouldReadEnv = options === undefined || (options.withEnv ?? false);
|
|
163
|
+
const fileProfile = shouldReadFile
|
|
164
|
+
? await loadFile(options?.filePath, options?.profile)
|
|
165
|
+
: {};
|
|
166
|
+
const envProfile = shouldReadEnv ? loadEnv() : {};
|
|
167
|
+
return { ...fileProfile, ...envProfile };
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Returns the path to the default databrickscfg file. Reads
|
|
171
|
+
* DATABRICKS_CONFIG_FILE from the environment, falling back to
|
|
172
|
+
* ~/.databrickscfg.
|
|
173
|
+
*/
|
|
174
|
+
export function defaultConfigFile() {
|
|
175
|
+
const envPath = process.env.DATABRICKS_CONFIG_FILE ?? '';
|
|
176
|
+
if (envPath !== '') {
|
|
177
|
+
return envPath;
|
|
178
|
+
}
|
|
179
|
+
return defaultConfigFilePath();
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Returns the names of all profiles (INI sections) in the given config
|
|
183
|
+
* file. The DEFAULT section is included only if it has keys.
|
|
184
|
+
*/
|
|
185
|
+
export async function listProfiles(path) {
|
|
186
|
+
if (path === '') {
|
|
187
|
+
throw new ProfileError('CONFIG_FILE_NOT_FOUND', 'config file not found: empty path');
|
|
188
|
+
}
|
|
189
|
+
if (!(await fileExists(path))) {
|
|
190
|
+
throw new ProfileError('CONFIG_FILE_NOT_FOUND', `config file not found: ${path}`);
|
|
191
|
+
}
|
|
192
|
+
const content = await readFile(path, 'utf8');
|
|
193
|
+
const data = parseIni(content);
|
|
194
|
+
const names = [];
|
|
195
|
+
for (const [name, keys] of data) {
|
|
196
|
+
if (name === SETTINGS_SECTION) {
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
if (isPhantomDefault(name, keys)) {
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
names.push(name);
|
|
203
|
+
}
|
|
204
|
+
return names;
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/profiles/resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Obfuscated string type for secrets in configuration profiles.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* A string value that is obfuscated in all string representations to prevent
|
|
8
|
+
* accidental secret leakage in logs, serialization, and debugging output.
|
|
9
|
+
*
|
|
10
|
+
* Use {@link Secret.value} for intentional access to the underlying value.
|
|
11
|
+
*/
|
|
12
|
+
export declare class Secret {
|
|
13
|
+
private readonly rawValue;
|
|
14
|
+
/**
|
|
15
|
+
* @param rawValue - The underlying secret string.
|
|
16
|
+
*/
|
|
17
|
+
constructor(rawValue: string);
|
|
18
|
+
/** Returns the underlying secret value. */
|
|
19
|
+
get value(): string;
|
|
20
|
+
/** Returns the obfuscated placeholder instead of the secret. */
|
|
21
|
+
toString(): string;
|
|
22
|
+
/** Returns the obfuscated placeholder when serialized to JSON. */
|
|
23
|
+
toJSON(): string;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=secret.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret.d.ts","sourceRoot":"","sources":["../../src/profiles/secret.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;GAKG;AACH,qBAAa,MAAM;IAIL,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAHrC;;OAEG;gBAC0B,QAAQ,EAAE,MAAM;IAE7C,2CAA2C;IAC3C,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,gEAAgE;IAChE,QAAQ,IAAI,MAAM;IAIlB,kEAAkE;IAClE,MAAM,IAAI,MAAM;CAQjB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Obfuscated string type for secrets in configuration profiles.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
const OBFUSCATED = '********';
|
|
7
|
+
/**
|
|
8
|
+
* A string value that is obfuscated in all string representations to prevent
|
|
9
|
+
* accidental secret leakage in logs, serialization, and debugging output.
|
|
10
|
+
*
|
|
11
|
+
* Use {@link Secret.value} for intentional access to the underlying value.
|
|
12
|
+
*/
|
|
13
|
+
export class Secret {
|
|
14
|
+
rawValue;
|
|
15
|
+
/**
|
|
16
|
+
* @param rawValue - The underlying secret string.
|
|
17
|
+
*/
|
|
18
|
+
constructor(rawValue) {
|
|
19
|
+
this.rawValue = rawValue;
|
|
20
|
+
}
|
|
21
|
+
/** Returns the underlying secret value. */
|
|
22
|
+
get value() {
|
|
23
|
+
return this.rawValue;
|
|
24
|
+
}
|
|
25
|
+
/** Returns the obfuscated placeholder instead of the secret. */
|
|
26
|
+
toString() {
|
|
27
|
+
return OBFUSCATED;
|
|
28
|
+
}
|
|
29
|
+
/** Returns the obfuscated placeholder when serialized to JSON. */
|
|
30
|
+
toJSON() {
|
|
31
|
+
return OBFUSCATED;
|
|
32
|
+
}
|
|
33
|
+
/** Returns the obfuscated placeholder for Node.js `util.inspect` output. */
|
|
34
|
+
[Symbol.for('nodejs.util.inspect.custom')]() {
|
|
35
|
+
return OBFUSCATED;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=secret.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret.js","sourceRoot":"","sources":["../../src/profiles/secret.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,UAAU,GAAG,UAAU,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,OAAO,MAAM;IAIY;IAH7B;;OAEG;IACH,YAA6B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjD,2CAA2C;IAC3C,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,gEAAgE;IAChE,QAAQ;QACN,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,kEAAkE;IAClE,MAAM;QACJ,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,4EAA4E;IAC5E,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACxC,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One field entry in a {@link FieldMaskSchema}: its wire-format name and, for message-typed fields, a lazy reference to the nested message's schema. Array, map, enum, and scalar fields omit `children`.
|
|
3
|
+
*/
|
|
4
|
+
export interface FieldMaskSchemaField {
|
|
5
|
+
readonly wire: string;
|
|
6
|
+
readonly children?: () => FieldMaskSchema;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Structural description of one message's FieldMask-reachable fields. Maps each typescript field name to its wire-format name and, for message-typed fields, a lazy `() => FieldMaskSchema` reference that lets recursive and mutually-recursive messages describe themselves.
|
|
10
|
+
*/
|
|
11
|
+
export type FieldMaskSchema = Readonly<Record<string, FieldMaskSchemaField>>;
|
|
12
|
+
/**
|
|
13
|
+
* A field mask implementing google.protobuf.FieldMask semantics.
|
|
14
|
+
*/
|
|
15
|
+
export declare class FieldMask<T = unknown> {
|
|
16
|
+
private readonly _tag;
|
|
17
|
+
private readonly paths;
|
|
18
|
+
private constructor();
|
|
19
|
+
/**
|
|
20
|
+
* Build a FieldMask from typescript field name paths against the target message's schema. Validates every path by walking each segment through the schema and throws Error when any segment fails.
|
|
21
|
+
*
|
|
22
|
+
* Reserved for generated per-message factories; user code should call the factory (e.g. `alertFieldMask(...)`), which supplies the schema before delegating here.
|
|
23
|
+
*
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
static build<T>(paths: string[], schema: FieldMaskSchema): FieldMask<T>;
|
|
27
|
+
/**
|
|
28
|
+
* Serialize the mask to the wire-format string.
|
|
29
|
+
*/
|
|
30
|
+
toString(): string;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=fieldmask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fieldmask.d.ts","sourceRoot":"","sources":["../../src/wkt/fieldmask.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,eAAe,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAwB7E;;GAEG;AACH,qBAAa,SAAS,CAAC,CAAC,GAAG,OAAO;IAEhC,iBAAyB,IAAI,CAAI;IAGjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IAEjC,OAAO;IAIP;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC;IAavE;;OAEG;IACH,QAAQ,IAAI,MAAM;CAGnB"}
|