@pulumi/databricks 1.28.0-alpha.1702588403 → 1.28.0-alpha.1703091009
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/catalog.d.ts +3 -4
- package/catalog.js +0 -1
- package/catalog.js.map +1 -1
- package/cluster.d.ts +135 -6
- package/cluster.js +54 -0
- package/cluster.js.map +1 -1
- package/connection.d.ts +38 -3
- package/connection.js +35 -0
- package/connection.js.map +1 -1
- package/getNodeType.d.ts +2 -2
- package/instancePool.d.ts +0 -29
- package/instancePool.js +0 -29
- package/instancePool.js.map +1 -1
- package/job.d.ts +92 -2
- package/job.js.map +1 -1
- package/modelServing.d.ts +3 -0
- package/modelServing.js +2 -0
- package/modelServing.js.map +1 -1
- package/mwsCredentials.d.ts +6 -0
- package/mwsCredentials.js.map +1 -1
- package/package.json +1 -1
- package/schema.d.ts +0 -1
- package/schema.js +0 -1
- package/schema.js.map +1 -1
- package/secretScope.d.ts +20 -0
- package/secretScope.js +20 -0
- package/secretScope.js.map +1 -1
- package/storageCredential.d.ts +3 -3
- package/types/input.d.ts +301 -13
- package/types/output.d.ts +301 -13
- package/volume.d.ts +0 -1
- package/volume.js +0 -1
- package/volume.js.map +1 -1
package/catalog.d.ts
CHANGED
|
@@ -7,7 +7,6 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
7
7
|
* import * as databricks from "@pulumi/databricks";
|
|
8
8
|
*
|
|
9
9
|
* const sandbox = new databricks.Catalog("sandbox", {
|
|
10
|
-
* metastoreId: databricks_metastore["this"].id,
|
|
11
10
|
* comment: "this catalog is managed by terraform",
|
|
12
11
|
* properties: {
|
|
13
12
|
* purpose: "testing",
|
|
@@ -63,7 +62,7 @@ export declare class Catalog extends pulumi.CustomResource {
|
|
|
63
62
|
*/
|
|
64
63
|
readonly isolationMode: pulumi.Output<string>;
|
|
65
64
|
/**
|
|
66
|
-
* ID of the metastore.
|
|
65
|
+
* ID of the parent metastore.
|
|
67
66
|
*/
|
|
68
67
|
readonly metastoreId: pulumi.Output<string>;
|
|
69
68
|
/**
|
|
@@ -128,7 +127,7 @@ export interface CatalogState {
|
|
|
128
127
|
*/
|
|
129
128
|
isolationMode?: pulumi.Input<string>;
|
|
130
129
|
/**
|
|
131
|
-
* ID of the metastore.
|
|
130
|
+
* ID of the parent metastore.
|
|
132
131
|
*/
|
|
133
132
|
metastoreId?: pulumi.Input<string>;
|
|
134
133
|
/**
|
|
@@ -185,7 +184,7 @@ export interface CatalogArgs {
|
|
|
185
184
|
*/
|
|
186
185
|
isolationMode?: pulumi.Input<string>;
|
|
187
186
|
/**
|
|
188
|
-
* ID of the metastore.
|
|
187
|
+
* ID of the parent metastore.
|
|
189
188
|
*/
|
|
190
189
|
metastoreId?: pulumi.Input<string>;
|
|
191
190
|
/**
|
package/catalog.js
CHANGED
|
@@ -13,7 +13,6 @@ const utilities = require("./utilities");
|
|
|
13
13
|
* import * as databricks from "@pulumi/databricks";
|
|
14
14
|
*
|
|
15
15
|
* const sandbox = new databricks.Catalog("sandbox", {
|
|
16
|
-
* metastoreId: databricks_metastore["this"].id,
|
|
17
16
|
* comment: "this catalog is managed by terraform",
|
|
18
17
|
* properties: {
|
|
19
18
|
* purpose: "testing",
|
package/catalog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../catalog.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../catalog.ts"],"names":[],"mappings":"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"}
|
package/cluster.d.ts
CHANGED
|
@@ -2,6 +2,60 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
2
2
|
import * as inputs from "./types/input";
|
|
3
3
|
import * as outputs from "./types/output";
|
|
4
4
|
/**
|
|
5
|
+
* This resource allows you to manage [Databricks Clusters](https://docs.databricks.com/clusters/index.html).
|
|
6
|
+
*
|
|
7
|
+
* > **Note** In case of `Cannot access cluster ####-######-####### that was terminated or unpinned more than 30 days ago` command.
|
|
8
|
+
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
11
|
+
* import * as databricks from "@pulumi/databricks";
|
|
12
|
+
*
|
|
13
|
+
* const smallest = databricks.getNodeType({
|
|
14
|
+
* localDisk: true,
|
|
15
|
+
* });
|
|
16
|
+
* const latestLts = databricks.getSparkVersion({
|
|
17
|
+
* longTermSupport: true,
|
|
18
|
+
* });
|
|
19
|
+
* const sharedAutoscaling = new databricks.Cluster("sharedAutoscaling", {
|
|
20
|
+
* clusterName: "Shared Autoscaling",
|
|
21
|
+
* sparkVersion: latestLts.then(latestLts => latestLts.id),
|
|
22
|
+
* nodeTypeId: smallest.then(smallest => smallest.id),
|
|
23
|
+
* autoterminationMinutes: 20,
|
|
24
|
+
* autoscale: {
|
|
25
|
+
* minWorkers: 1,
|
|
26
|
+
* maxWorkers: 50,
|
|
27
|
+
* },
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* ## Access Control
|
|
32
|
+
*
|
|
33
|
+
* * databricks.Group and databricks.User can control which groups or individual users can create clusters.
|
|
34
|
+
* * databricks.ClusterPolicy can control which kinds of clusters users can create.
|
|
35
|
+
* * Users, who have access to Cluster Policy, but do not have an `allowClusterCreate` argument set would still be able to create clusters, but within the boundary of the policy.
|
|
36
|
+
* * databricks.Permissions can control which groups or individual users can *Manage*, *Restart* or *Attach to* individual clusters.
|
|
37
|
+
* * `instanceProfileArn` *(AWS only)* can control which data a given cluster can access through cloud-native controls.
|
|
38
|
+
*
|
|
39
|
+
* ## Related Resources
|
|
40
|
+
*
|
|
41
|
+
* The following resources are often used in the same context:
|
|
42
|
+
*
|
|
43
|
+
* * Dynamic Passthrough Clusters for a Group guide.
|
|
44
|
+
* * End to end workspace management guide.
|
|
45
|
+
* * databricks.getClusters data to retrieve a list of databricks.Cluster ids.
|
|
46
|
+
* * databricks.ClusterPolicy to create a databricks.Cluster policy, which limits the ability to create clusters based on a set of rules.
|
|
47
|
+
* * databricks.getCurrentUser data to retrieve information about databricks.User or databricks_service_principal, that is calling Databricks REST API.
|
|
48
|
+
* * databricks.GlobalInitScript to manage [global init scripts](https://docs.databricks.com/clusters/init-scripts.html#global-init-scripts), which are run on all databricks.Cluster and databricks_job.
|
|
49
|
+
* * databricks.InstancePool to manage [instance pools](https://docs.databricks.com/clusters/instance-pools/index.html) to reduce cluster start and auto-scaling times by maintaining a set of idle, ready-to-use instances.
|
|
50
|
+
* * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
|
|
51
|
+
* * databricks.Job to manage [Databricks Jobs](https://docs.databricks.com/jobs.html) to run non-interactive code in a databricks_cluster.
|
|
52
|
+
* * databricks.Library to install a [library](https://docs.databricks.com/libraries/index.html) on databricks_cluster.
|
|
53
|
+
* * databricks.Mount to [mount your cloud storage](https://docs.databricks.com/data/databricks-file-system.html#mount-object-storage-to-dbfs) on `dbfs:/mnt/name`.
|
|
54
|
+
* * databricks.getNodeType data to get the smallest node type for databricks.Cluster that fits search criteria, like amount of RAM or number of cores.
|
|
55
|
+
* * databricks.Pipeline to deploy [Delta Live Tables](https://docs.databricks.com/data-engineering/delta-live-tables/index.html).
|
|
56
|
+
* * databricks.getSparkVersion data to get [Databricks Runtime (DBR)](https://docs.databricks.com/runtime/dbr.html) version that could be used for `sparkVersion` parameter in databricks.Cluster and other resources.
|
|
57
|
+
* * databricks.getZones data to fetch all available AWS availability zones on your workspace on AWS.
|
|
58
|
+
*
|
|
5
59
|
* ## Import
|
|
6
60
|
*
|
|
7
61
|
* The resource cluster can be imported using cluster id. bash
|
|
@@ -45,7 +99,28 @@ export declare class Cluster extends pulumi.CustomResource {
|
|
|
45
99
|
*/
|
|
46
100
|
readonly clusterName: pulumi.Output<string | undefined>;
|
|
47
101
|
/**
|
|
48
|
-
*
|
|
102
|
+
* should have tag `ResourceClass` set to value `Serverless`
|
|
103
|
+
*
|
|
104
|
+
* For example:
|
|
105
|
+
*
|
|
106
|
+
* ```typescript
|
|
107
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
108
|
+
* import * as databricks from "@pulumi/databricks";
|
|
109
|
+
*
|
|
110
|
+
* const clusterWithTableAccessControl = new databricks.Cluster("clusterWithTableAccessControl", {
|
|
111
|
+
* clusterName: "Shared High-Concurrency",
|
|
112
|
+
* sparkVersion: data.databricks_spark_version.latest_lts.id,
|
|
113
|
+
* nodeTypeId: data.databricks_node_type.smallest.id,
|
|
114
|
+
* autoterminationMinutes: 20,
|
|
115
|
+
* sparkConf: {
|
|
116
|
+
* "spark.databricks.repl.allowedLanguages": "python,sql",
|
|
117
|
+
* "spark.databricks.cluster.profile": "serverless",
|
|
118
|
+
* },
|
|
119
|
+
* customTags: {
|
|
120
|
+
* ResourceClass: "Serverless",
|
|
121
|
+
* },
|
|
122
|
+
* });
|
|
123
|
+
* ```
|
|
49
124
|
*/
|
|
50
125
|
readonly customTags: pulumi.Output<{
|
|
51
126
|
[key: string]: any;
|
|
@@ -139,7 +214,9 @@ export declare class Cluster extends pulumi.CustomResource {
|
|
|
139
214
|
*/
|
|
140
215
|
readonly singleUserName: pulumi.Output<string | undefined>;
|
|
141
216
|
/**
|
|
142
|
-
*
|
|
217
|
+
* should have following items:
|
|
218
|
+
* * `spark.databricks.repl.allowedLanguages` set to a list of supported languages, for example: `python,sql`, or `python,sql,r`. Scala is not supported!
|
|
219
|
+
* * `spark.databricks.cluster.profile` set to `serverless`
|
|
143
220
|
*/
|
|
144
221
|
readonly sparkConf: pulumi.Output<{
|
|
145
222
|
[key: string]: any;
|
|
@@ -162,6 +239,9 @@ export declare class Cluster extends pulumi.CustomResource {
|
|
|
162
239
|
* (string) State of the cluster.
|
|
163
240
|
*/
|
|
164
241
|
readonly state: pulumi.Output<string>;
|
|
242
|
+
/**
|
|
243
|
+
* URL for the Docker image
|
|
244
|
+
*/
|
|
165
245
|
readonly url: pulumi.Output<string>;
|
|
166
246
|
readonly workloadType: pulumi.Output<outputs.ClusterWorkloadType | undefined>;
|
|
167
247
|
/**
|
|
@@ -196,7 +276,28 @@ export interface ClusterState {
|
|
|
196
276
|
*/
|
|
197
277
|
clusterName?: pulumi.Input<string>;
|
|
198
278
|
/**
|
|
199
|
-
*
|
|
279
|
+
* should have tag `ResourceClass` set to value `Serverless`
|
|
280
|
+
*
|
|
281
|
+
* For example:
|
|
282
|
+
*
|
|
283
|
+
* ```typescript
|
|
284
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
285
|
+
* import * as databricks from "@pulumi/databricks";
|
|
286
|
+
*
|
|
287
|
+
* const clusterWithTableAccessControl = new databricks.Cluster("clusterWithTableAccessControl", {
|
|
288
|
+
* clusterName: "Shared High-Concurrency",
|
|
289
|
+
* sparkVersion: data.databricks_spark_version.latest_lts.id,
|
|
290
|
+
* nodeTypeId: data.databricks_node_type.smallest.id,
|
|
291
|
+
* autoterminationMinutes: 20,
|
|
292
|
+
* sparkConf: {
|
|
293
|
+
* "spark.databricks.repl.allowedLanguages": "python,sql",
|
|
294
|
+
* "spark.databricks.cluster.profile": "serverless",
|
|
295
|
+
* },
|
|
296
|
+
* customTags: {
|
|
297
|
+
* ResourceClass: "Serverless",
|
|
298
|
+
* },
|
|
299
|
+
* });
|
|
300
|
+
* ```
|
|
200
301
|
*/
|
|
201
302
|
customTags?: pulumi.Input<{
|
|
202
303
|
[key: string]: any;
|
|
@@ -290,7 +391,9 @@ export interface ClusterState {
|
|
|
290
391
|
*/
|
|
291
392
|
singleUserName?: pulumi.Input<string>;
|
|
292
393
|
/**
|
|
293
|
-
*
|
|
394
|
+
* should have following items:
|
|
395
|
+
* * `spark.databricks.repl.allowedLanguages` set to a list of supported languages, for example: `python,sql`, or `python,sql,r`. Scala is not supported!
|
|
396
|
+
* * `spark.databricks.cluster.profile` set to `serverless`
|
|
294
397
|
*/
|
|
295
398
|
sparkConf?: pulumi.Input<{
|
|
296
399
|
[key: string]: any;
|
|
@@ -313,6 +416,9 @@ export interface ClusterState {
|
|
|
313
416
|
* (string) State of the cluster.
|
|
314
417
|
*/
|
|
315
418
|
state?: pulumi.Input<string>;
|
|
419
|
+
/**
|
|
420
|
+
* URL for the Docker image
|
|
421
|
+
*/
|
|
316
422
|
url?: pulumi.Input<string>;
|
|
317
423
|
workloadType?: pulumi.Input<inputs.ClusterWorkloadType>;
|
|
318
424
|
}
|
|
@@ -339,7 +445,28 @@ export interface ClusterArgs {
|
|
|
339
445
|
*/
|
|
340
446
|
clusterName?: pulumi.Input<string>;
|
|
341
447
|
/**
|
|
342
|
-
*
|
|
448
|
+
* should have tag `ResourceClass` set to value `Serverless`
|
|
449
|
+
*
|
|
450
|
+
* For example:
|
|
451
|
+
*
|
|
452
|
+
* ```typescript
|
|
453
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
454
|
+
* import * as databricks from "@pulumi/databricks";
|
|
455
|
+
*
|
|
456
|
+
* const clusterWithTableAccessControl = new databricks.Cluster("clusterWithTableAccessControl", {
|
|
457
|
+
* clusterName: "Shared High-Concurrency",
|
|
458
|
+
* sparkVersion: data.databricks_spark_version.latest_lts.id,
|
|
459
|
+
* nodeTypeId: data.databricks_node_type.smallest.id,
|
|
460
|
+
* autoterminationMinutes: 20,
|
|
461
|
+
* sparkConf: {
|
|
462
|
+
* "spark.databricks.repl.allowedLanguages": "python,sql",
|
|
463
|
+
* "spark.databricks.cluster.profile": "serverless",
|
|
464
|
+
* },
|
|
465
|
+
* customTags: {
|
|
466
|
+
* ResourceClass: "Serverless",
|
|
467
|
+
* },
|
|
468
|
+
* });
|
|
469
|
+
* ```
|
|
343
470
|
*/
|
|
344
471
|
customTags?: pulumi.Input<{
|
|
345
472
|
[key: string]: any;
|
|
@@ -427,7 +554,9 @@ export interface ClusterArgs {
|
|
|
427
554
|
*/
|
|
428
555
|
singleUserName?: pulumi.Input<string>;
|
|
429
556
|
/**
|
|
430
|
-
*
|
|
557
|
+
* should have following items:
|
|
558
|
+
* * `spark.databricks.repl.allowedLanguages` set to a list of supported languages, for example: `python,sql`, or `python,sql,r`. Scala is not supported!
|
|
559
|
+
* * `spark.databricks.cluster.profile` set to `serverless`
|
|
431
560
|
*/
|
|
432
561
|
sparkConf?: pulumi.Input<{
|
|
433
562
|
[key: string]: any;
|
package/cluster.js
CHANGED
|
@@ -6,6 +6,60 @@ exports.Cluster = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("./utilities");
|
|
8
8
|
/**
|
|
9
|
+
* This resource allows you to manage [Databricks Clusters](https://docs.databricks.com/clusters/index.html).
|
|
10
|
+
*
|
|
11
|
+
* > **Note** In case of `Cannot access cluster ####-######-####### that was terminated or unpinned more than 30 days ago` command.
|
|
12
|
+
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* import * as databricks from "@pulumi/databricks";
|
|
16
|
+
*
|
|
17
|
+
* const smallest = databricks.getNodeType({
|
|
18
|
+
* localDisk: true,
|
|
19
|
+
* });
|
|
20
|
+
* const latestLts = databricks.getSparkVersion({
|
|
21
|
+
* longTermSupport: true,
|
|
22
|
+
* });
|
|
23
|
+
* const sharedAutoscaling = new databricks.Cluster("sharedAutoscaling", {
|
|
24
|
+
* clusterName: "Shared Autoscaling",
|
|
25
|
+
* sparkVersion: latestLts.then(latestLts => latestLts.id),
|
|
26
|
+
* nodeTypeId: smallest.then(smallest => smallest.id),
|
|
27
|
+
* autoterminationMinutes: 20,
|
|
28
|
+
* autoscale: {
|
|
29
|
+
* minWorkers: 1,
|
|
30
|
+
* maxWorkers: 50,
|
|
31
|
+
* },
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* ## Access Control
|
|
36
|
+
*
|
|
37
|
+
* * databricks.Group and databricks.User can control which groups or individual users can create clusters.
|
|
38
|
+
* * databricks.ClusterPolicy can control which kinds of clusters users can create.
|
|
39
|
+
* * Users, who have access to Cluster Policy, but do not have an `allowClusterCreate` argument set would still be able to create clusters, but within the boundary of the policy.
|
|
40
|
+
* * databricks.Permissions can control which groups or individual users can *Manage*, *Restart* or *Attach to* individual clusters.
|
|
41
|
+
* * `instanceProfileArn` *(AWS only)* can control which data a given cluster can access through cloud-native controls.
|
|
42
|
+
*
|
|
43
|
+
* ## Related Resources
|
|
44
|
+
*
|
|
45
|
+
* The following resources are often used in the same context:
|
|
46
|
+
*
|
|
47
|
+
* * Dynamic Passthrough Clusters for a Group guide.
|
|
48
|
+
* * End to end workspace management guide.
|
|
49
|
+
* * databricks.getClusters data to retrieve a list of databricks.Cluster ids.
|
|
50
|
+
* * databricks.ClusterPolicy to create a databricks.Cluster policy, which limits the ability to create clusters based on a set of rules.
|
|
51
|
+
* * databricks.getCurrentUser data to retrieve information about databricks.User or databricks_service_principal, that is calling Databricks REST API.
|
|
52
|
+
* * databricks.GlobalInitScript to manage [global init scripts](https://docs.databricks.com/clusters/init-scripts.html#global-init-scripts), which are run on all databricks.Cluster and databricks_job.
|
|
53
|
+
* * databricks.InstancePool to manage [instance pools](https://docs.databricks.com/clusters/instance-pools/index.html) to reduce cluster start and auto-scaling times by maintaining a set of idle, ready-to-use instances.
|
|
54
|
+
* * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
|
|
55
|
+
* * databricks.Job to manage [Databricks Jobs](https://docs.databricks.com/jobs.html) to run non-interactive code in a databricks_cluster.
|
|
56
|
+
* * databricks.Library to install a [library](https://docs.databricks.com/libraries/index.html) on databricks_cluster.
|
|
57
|
+
* * databricks.Mount to [mount your cloud storage](https://docs.databricks.com/data/databricks-file-system.html#mount-object-storage-to-dbfs) on `dbfs:/mnt/name`.
|
|
58
|
+
* * databricks.getNodeType data to get the smallest node type for databricks.Cluster that fits search criteria, like amount of RAM or number of cores.
|
|
59
|
+
* * databricks.Pipeline to deploy [Delta Live Tables](https://docs.databricks.com/data-engineering/delta-live-tables/index.html).
|
|
60
|
+
* * databricks.getSparkVersion data to get [Databricks Runtime (DBR)](https://docs.databricks.com/runtime/dbr.html) version that could be used for `sparkVersion` parameter in databricks.Cluster and other resources.
|
|
61
|
+
* * databricks.getZones data to fetch all available AWS availability zones on your workspace on AWS.
|
|
62
|
+
*
|
|
9
63
|
* ## Import
|
|
10
64
|
*
|
|
11
65
|
* The resource cluster can be imported using cluster id. bash
|
package/cluster.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cluster.js","sourceRoot":"","sources":["../cluster.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"cluster.js","sourceRoot":"","sources":["../cluster.ts"],"names":[],"mappings":"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"}
|
package/connection.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
9
9
|
*
|
|
10
10
|
* ## Example Usage
|
|
11
11
|
*
|
|
12
|
+
* Create a connection to a MySQL database
|
|
13
|
+
*
|
|
12
14
|
* ```typescript
|
|
13
15
|
* import * as pulumi from "@pulumi/pulumi";
|
|
14
16
|
* import * as databricks from "@pulumi/databricks";
|
|
@@ -28,6 +30,39 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
28
30
|
* });
|
|
29
31
|
* ```
|
|
30
32
|
*
|
|
33
|
+
* Create a connection to a BigQuery database
|
|
34
|
+
*
|
|
35
|
+
* ```typescript
|
|
36
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
37
|
+
* import * as databricks from "@pulumi/databricks";
|
|
38
|
+
*
|
|
39
|
+
* const bigquery = new databricks.Connection("bigquery", {
|
|
40
|
+
* connectionType: "BIGQUERY",
|
|
41
|
+
* comment: "this is a connection to BQ",
|
|
42
|
+
* options: {
|
|
43
|
+
* GoogleServiceAccountKeyJson: JSON.stringify({
|
|
44
|
+
* type: "service_account",
|
|
45
|
+
* project_id: "PROJECT_ID",
|
|
46
|
+
* private_key_id: "KEY_ID",
|
|
47
|
+
* private_key: `-----BEGIN PRIVATE KEY-----
|
|
48
|
+
* PRIVATE_KEY
|
|
49
|
+
* -----END PRIVATE KEY-----
|
|
50
|
+
* `,
|
|
51
|
+
* client_email: "SERVICE_ACCOUNT_EMAIL",
|
|
52
|
+
* client_id: "CLIENT_ID",
|
|
53
|
+
* auth_uri: "https://accounts.google.com/o/oauth2/auth",
|
|
54
|
+
* token_uri: "https://accounts.google.com/o/oauth2/token",
|
|
55
|
+
* auth_provider_x509_cert_url: "https://www.googleapis.com/oauth2/v1/certs",
|
|
56
|
+
* client_x509_cert_url: "https://www.googleapis.com/robot/v1/metadata/x509/SERVICE_ACCOUNT_EMAIL",
|
|
57
|
+
* universe_domain: "googleapis.com",
|
|
58
|
+
* }),
|
|
59
|
+
* },
|
|
60
|
+
* properties: {
|
|
61
|
+
* purpose: "testing",
|
|
62
|
+
* },
|
|
63
|
+
* });
|
|
64
|
+
* ```
|
|
65
|
+
*
|
|
31
66
|
* ## Import
|
|
32
67
|
*
|
|
33
68
|
* This resource can be imported by `id`bash
|
|
@@ -66,7 +101,7 @@ export declare class Connection extends pulumi.CustomResource {
|
|
|
66
101
|
*/
|
|
67
102
|
readonly name: pulumi.Output<string>;
|
|
68
103
|
/**
|
|
69
|
-
* The key value of options required by the connection, e.g. `host`, `port`, `user`
|
|
104
|
+
* The key value of options required by the connection, e.g. `host`, `port`, `user`, `password` or `GoogleServiceAccountKeyJson`. Please consult the [documentation](https://docs.databricks.com/query-federation/index.html#supported-data-sources) for the required option.
|
|
70
105
|
*/
|
|
71
106
|
readonly options: pulumi.Output<{
|
|
72
107
|
[key: string]: any;
|
|
@@ -109,7 +144,7 @@ export interface ConnectionState {
|
|
|
109
144
|
*/
|
|
110
145
|
name?: pulumi.Input<string>;
|
|
111
146
|
/**
|
|
112
|
-
* The key value of options required by the connection, e.g. `host`, `port`, `user`
|
|
147
|
+
* The key value of options required by the connection, e.g. `host`, `port`, `user`, `password` or `GoogleServiceAccountKeyJson`. Please consult the [documentation](https://docs.databricks.com/query-federation/index.html#supported-data-sources) for the required option.
|
|
113
148
|
*/
|
|
114
149
|
options?: pulumi.Input<{
|
|
115
150
|
[key: string]: any;
|
|
@@ -144,7 +179,7 @@ export interface ConnectionArgs {
|
|
|
144
179
|
*/
|
|
145
180
|
name?: pulumi.Input<string>;
|
|
146
181
|
/**
|
|
147
|
-
* The key value of options required by the connection, e.g. `host`, `port`, `user`
|
|
182
|
+
* The key value of options required by the connection, e.g. `host`, `port`, `user`, `password` or `GoogleServiceAccountKeyJson`. Please consult the [documentation](https://docs.databricks.com/query-federation/index.html#supported-data-sources) for the required option.
|
|
148
183
|
*/
|
|
149
184
|
options: pulumi.Input<{
|
|
150
185
|
[key: string]: any;
|
package/connection.js
CHANGED
|
@@ -15,6 +15,8 @@ const utilities = require("./utilities");
|
|
|
15
15
|
*
|
|
16
16
|
* ## Example Usage
|
|
17
17
|
*
|
|
18
|
+
* Create a connection to a MySQL database
|
|
19
|
+
*
|
|
18
20
|
* ```typescript
|
|
19
21
|
* import * as pulumi from "@pulumi/pulumi";
|
|
20
22
|
* import * as databricks from "@pulumi/databricks";
|
|
@@ -34,6 +36,39 @@ const utilities = require("./utilities");
|
|
|
34
36
|
* });
|
|
35
37
|
* ```
|
|
36
38
|
*
|
|
39
|
+
* Create a connection to a BigQuery database
|
|
40
|
+
*
|
|
41
|
+
* ```typescript
|
|
42
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
43
|
+
* import * as databricks from "@pulumi/databricks";
|
|
44
|
+
*
|
|
45
|
+
* const bigquery = new databricks.Connection("bigquery", {
|
|
46
|
+
* connectionType: "BIGQUERY",
|
|
47
|
+
* comment: "this is a connection to BQ",
|
|
48
|
+
* options: {
|
|
49
|
+
* GoogleServiceAccountKeyJson: JSON.stringify({
|
|
50
|
+
* type: "service_account",
|
|
51
|
+
* project_id: "PROJECT_ID",
|
|
52
|
+
* private_key_id: "KEY_ID",
|
|
53
|
+
* private_key: `-----BEGIN PRIVATE KEY-----
|
|
54
|
+
* PRIVATE_KEY
|
|
55
|
+
* -----END PRIVATE KEY-----
|
|
56
|
+
* `,
|
|
57
|
+
* client_email: "SERVICE_ACCOUNT_EMAIL",
|
|
58
|
+
* client_id: "CLIENT_ID",
|
|
59
|
+
* auth_uri: "https://accounts.google.com/o/oauth2/auth",
|
|
60
|
+
* token_uri: "https://accounts.google.com/o/oauth2/token",
|
|
61
|
+
* auth_provider_x509_cert_url: "https://www.googleapis.com/oauth2/v1/certs",
|
|
62
|
+
* client_x509_cert_url: "https://www.googleapis.com/robot/v1/metadata/x509/SERVICE_ACCOUNT_EMAIL",
|
|
63
|
+
* universe_domain: "googleapis.com",
|
|
64
|
+
* }),
|
|
65
|
+
* },
|
|
66
|
+
* properties: {
|
|
67
|
+
* purpose: "testing",
|
|
68
|
+
* },
|
|
69
|
+
* });
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
37
72
|
* ## Import
|
|
38
73
|
*
|
|
39
74
|
* This resource can be imported by `id`bash
|
package/connection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../connection.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../connection.ts"],"names":[],"mappings":"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"}
|
package/getNodeType.d.ts
CHANGED
|
@@ -49,7 +49,7 @@ export declare function getNodeType(args?: GetNodeTypeArgs, opts?: pulumi.Invoke
|
|
|
49
49
|
*/
|
|
50
50
|
export interface GetNodeTypeArgs {
|
|
51
51
|
/**
|
|
52
|
-
* Node category, which can be one of (depending on the cloud environment, could be checked with `databricks clusters list-node-types|jq '.node_types[]|.category'|sort |uniq`):
|
|
52
|
+
* Node category, which can be one of (depending on the cloud environment, could be checked with `databricks clusters list-node-types -o json|jq '.node_types[]|.category'|sort |uniq`):
|
|
53
53
|
* * `General Purpose` (all clouds)
|
|
54
54
|
* * `General Purpose (HDD)` (Azure)
|
|
55
55
|
* * `Compute Optimized` (all clouds)
|
|
@@ -184,7 +184,7 @@ export declare function getNodeTypeOutput(args?: GetNodeTypeOutputArgs, opts?: p
|
|
|
184
184
|
*/
|
|
185
185
|
export interface GetNodeTypeOutputArgs {
|
|
186
186
|
/**
|
|
187
|
-
* Node category, which can be one of (depending on the cloud environment, could be checked with `databricks clusters list-node-types|jq '.node_types[]|.category'|sort |uniq`):
|
|
187
|
+
* Node category, which can be one of (depending on the cloud environment, could be checked with `databricks clusters list-node-types -o json|jq '.node_types[]|.category'|sort |uniq`):
|
|
188
188
|
* * `General Purpose` (all clouds)
|
|
189
189
|
* * `General Purpose (HDD)` (Azure)
|
|
190
190
|
* * `Compute Optimized` (all clouds)
|
package/instancePool.d.ts
CHANGED
|
@@ -33,35 +33,6 @@ import * as outputs from "./types/output";
|
|
|
33
33
|
* },
|
|
34
34
|
* });
|
|
35
35
|
* ```
|
|
36
|
-
* ## preloadedDockerImage sub_block
|
|
37
|
-
*
|
|
38
|
-
* [Databricks Container Services](https://docs.databricks.com/clusters/custom-containers.html) lets you specify a Docker image when you create a cluster. You need to enable Container Services in *Admin Console / Advanced* page in the user interface. By enabling this feature, you acknowledge and agree that your usage of this feature is subject to the [applicable additional terms](http://www.databricks.com/product-specific-terms). You can instruct the instance pool to pre-download the Docker image onto the instances so when node is acquired for a cluster that requires a custom Docker image the setup process will be faster.
|
|
39
|
-
*
|
|
40
|
-
* `preloadedDockerImage` configuration block has the following attributes:
|
|
41
|
-
*
|
|
42
|
-
* * `url` - URL for the Docker image
|
|
43
|
-
* * `basicAuth` - (Optional) `basic_auth.username` and `basic_auth.password` for Docker repository. Docker registry credentials are encrypted when they are stored in Databricks internal storage and when they are passed to a registry upon fetching Docker images at cluster launch. However, other authenticated and authorized API users of this workspace can access the username and password.
|
|
44
|
-
*
|
|
45
|
-
* Example usage with azurerm_container_registry, that you can adapt to your specific use-case:
|
|
46
|
-
*
|
|
47
|
-
* ```typescript
|
|
48
|
-
* import * as pulumi from "@pulumi/pulumi";
|
|
49
|
-
* import * as databricks from "@pulumi/databricks";
|
|
50
|
-
* import * as docker from "@pulumi/docker";
|
|
51
|
-
*
|
|
52
|
-
* const thisdocker_registry_image = new docker.index.Docker_registry_image("thisdocker_registry_image", {
|
|
53
|
-
* name: `${azurerm_container_registry["this"].login_server}/sample:latest`,
|
|
54
|
-
* build: [{}],
|
|
55
|
-
* });
|
|
56
|
-
* const thisInstancePool = new databricks.InstancePool("thisInstancePool", {preloadedDockerImages: [{
|
|
57
|
-
* url: thisdocker_registry_image.name,
|
|
58
|
-
* basicAuth: {
|
|
59
|
-
* username: azurerm_container_registry["this"].admin_username,
|
|
60
|
-
* password: azurerm_container_registry["this"].admin_password,
|
|
61
|
-
* },
|
|
62
|
-
* }]});
|
|
63
|
-
* ```
|
|
64
|
-
*
|
|
65
36
|
* ## Access Control
|
|
66
37
|
*
|
|
67
38
|
* * databricks.Group and databricks.User can control which groups or individual users can create instance pools.
|
package/instancePool.js
CHANGED
|
@@ -37,35 +37,6 @@ const utilities = require("./utilities");
|
|
|
37
37
|
* },
|
|
38
38
|
* });
|
|
39
39
|
* ```
|
|
40
|
-
* ## preloadedDockerImage sub_block
|
|
41
|
-
*
|
|
42
|
-
* [Databricks Container Services](https://docs.databricks.com/clusters/custom-containers.html) lets you specify a Docker image when you create a cluster. You need to enable Container Services in *Admin Console / Advanced* page in the user interface. By enabling this feature, you acknowledge and agree that your usage of this feature is subject to the [applicable additional terms](http://www.databricks.com/product-specific-terms). You can instruct the instance pool to pre-download the Docker image onto the instances so when node is acquired for a cluster that requires a custom Docker image the setup process will be faster.
|
|
43
|
-
*
|
|
44
|
-
* `preloadedDockerImage` configuration block has the following attributes:
|
|
45
|
-
*
|
|
46
|
-
* * `url` - URL for the Docker image
|
|
47
|
-
* * `basicAuth` - (Optional) `basic_auth.username` and `basic_auth.password` for Docker repository. Docker registry credentials are encrypted when they are stored in Databricks internal storage and when they are passed to a registry upon fetching Docker images at cluster launch. However, other authenticated and authorized API users of this workspace can access the username and password.
|
|
48
|
-
*
|
|
49
|
-
* Example usage with azurerm_container_registry, that you can adapt to your specific use-case:
|
|
50
|
-
*
|
|
51
|
-
* ```typescript
|
|
52
|
-
* import * as pulumi from "@pulumi/pulumi";
|
|
53
|
-
* import * as databricks from "@pulumi/databricks";
|
|
54
|
-
* import * as docker from "@pulumi/docker";
|
|
55
|
-
*
|
|
56
|
-
* const thisdocker_registry_image = new docker.index.Docker_registry_image("thisdocker_registry_image", {
|
|
57
|
-
* name: `${azurerm_container_registry["this"].login_server}/sample:latest`,
|
|
58
|
-
* build: [{}],
|
|
59
|
-
* });
|
|
60
|
-
* const thisInstancePool = new databricks.InstancePool("thisInstancePool", {preloadedDockerImages: [{
|
|
61
|
-
* url: thisdocker_registry_image.name,
|
|
62
|
-
* basicAuth: {
|
|
63
|
-
* username: azurerm_container_registry["this"].admin_username,
|
|
64
|
-
* password: azurerm_container_registry["this"].admin_password,
|
|
65
|
-
* },
|
|
66
|
-
* }]});
|
|
67
|
-
* ```
|
|
68
|
-
*
|
|
69
40
|
* ## Access Control
|
|
70
41
|
*
|
|
71
42
|
* * databricks.Group and databricks.User can control which groups or individual users can create instance pools.
|
package/instancePool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instancePool.js","sourceRoot":"","sources":["../instancePool.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"instancePool.js","sourceRoot":"","sources":["../instancePool.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAa,YAAa,SAAQ,MAAM,CAAC,cAAc;IACnD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAyB,EAAE,IAAmC;QACvH,OAAO,IAAI,YAAY,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACnE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,YAAY,CAAC,YAAY,CAAC;IAC7D,CAAC;IAkDD,YAAY,IAAY,EAAE,WAAkD,EAAE,IAAmC;QAC7G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA4C,CAAC;YAC3D,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,oCAAoC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpH,cAAc,CAAC,6BAA6B,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC,SAAS,CAAC;YACtG,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,uBAAuB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,cAAc,CAAC,wBAAwB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/F;aAAM;YACH,MAAM,IAAI,GAAG,WAA2C,CAAC;YACzD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,kCAAkC,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC/E,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;aACrF;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7D,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aACnE;YACD,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,oCAAoC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClH,cAAc,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,SAAS,CAAC;YACpG,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;YACxF,cAAc,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC;SAC7F;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;;AA1HL,oCA2HC;AA7GG,gBAAgB;AACO,yBAAY,GAAG,4CAA4C,CAAC"}
|