@pulumi/databricks 0.0.1-alpha.1648473134

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.
Files changed (261) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +303 -0
  3. package/awsS3Mount.d.ts +50 -0
  4. package/awsS3Mount.js +63 -0
  5. package/awsS3Mount.js.map +1 -0
  6. package/azureAdlsGen1Mount.d.ts +65 -0
  7. package/azureAdlsGen1Mount.js +85 -0
  8. package/azureAdlsGen1Mount.js.map +1 -0
  9. package/azureAdlsGen2Mount.d.ts +68 -0
  10. package/azureAdlsGen2Mount.js +93 -0
  11. package/azureAdlsGen2Mount.js.map +1 -0
  12. package/azureBlobMount.d.ts +62 -0
  13. package/azureBlobMount.js +83 -0
  14. package/azureBlobMount.js.map +1 -0
  15. package/catalog.d.ts +124 -0
  16. package/catalog.js +88 -0
  17. package/catalog.js.map +1 -0
  18. package/cluster.d.ts +332 -0
  19. package/cluster.js +121 -0
  20. package/cluster.js.map +1 -0
  21. package/clusterPolicy.d.ts +112 -0
  22. package/clusterPolicy.js +97 -0
  23. package/clusterPolicy.js.map +1 -0
  24. package/config/index.d.ts +1 -0
  25. package/config/index.js +21 -0
  26. package/config/index.js.map +1 -0
  27. package/config/vars.d.ts +20 -0
  28. package/config/vars.js +127 -0
  29. package/config/vars.js.map +1 -0
  30. package/dbfsFile.d.ts +91 -0
  31. package/dbfsFile.js +71 -0
  32. package/dbfsFile.js.map +1 -0
  33. package/directory.d.ts +72 -0
  34. package/directory.js +65 -0
  35. package/directory.js.map +1 -0
  36. package/externalLocation.d.ts +114 -0
  37. package/externalLocation.js +80 -0
  38. package/externalLocation.js.map +1 -0
  39. package/getAwsAssumeRolePolicy.d.ts +47 -0
  40. package/getAwsAssumeRolePolicy.js +24 -0
  41. package/getAwsAssumeRolePolicy.js.map +1 -0
  42. package/getAwsBucketPolicy.d.ts +59 -0
  43. package/getAwsBucketPolicy.js +36 -0
  44. package/getAwsBucketPolicy.js.map +1 -0
  45. package/getAwsCrossAccountPolicy.d.ts +59 -0
  46. package/getAwsCrossAccountPolicy.js +47 -0
  47. package/getAwsCrossAccountPolicy.js.map +1 -0
  48. package/getCatalogs.d.ts +54 -0
  49. package/getCatalogs.js +43 -0
  50. package/getCatalogs.js.map +1 -0
  51. package/getClusters.d.ts +69 -0
  52. package/getClusters.js +57 -0
  53. package/getClusters.js.map +1 -0
  54. package/getCurrentUser.d.ts +39 -0
  55. package/getCurrentUser.js +38 -0
  56. package/getCurrentUser.js.map +1 -0
  57. package/getDbfsFile.d.ts +69 -0
  58. package/getDbfsFile.js +44 -0
  59. package/getDbfsFile.js.map +1 -0
  60. package/getDbfsFilePaths.d.ts +68 -0
  61. package/getDbfsFilePaths.js +46 -0
  62. package/getDbfsFilePaths.js.map +1 -0
  63. package/getGroup.d.ts +166 -0
  64. package/getGroup.js +46 -0
  65. package/getGroup.js.map +1 -0
  66. package/getJobs.d.ts +47 -0
  67. package/getJobs.js +30 -0
  68. package/getJobs.js.map +1 -0
  69. package/getNodeType.d.ts +173 -0
  70. package/getNodeType.js +71 -0
  71. package/getNodeType.js.map +1 -0
  72. package/getNotebook.d.ts +93 -0
  73. package/getNotebook.js +39 -0
  74. package/getNotebook.js.map +1 -0
  75. package/getNotebookPaths.d.ts +58 -0
  76. package/getNotebookPaths.js +36 -0
  77. package/getNotebookPaths.js.map +1 -0
  78. package/getSchemas.d.ts +65 -0
  79. package/getSchemas.js +45 -0
  80. package/getSchemas.js.map +1 -0
  81. package/getSparkVersion.d.ts +150 -0
  82. package/getSparkVersion.js +70 -0
  83. package/getSparkVersion.js.map +1 -0
  84. package/getTables.d.ts +75 -0
  85. package/getTables.js +47 -0
  86. package/getTables.js.map +1 -0
  87. package/getUser.d.ts +78 -0
  88. package/getUser.js +39 -0
  89. package/getUser.js.map +1 -0
  90. package/getZones.d.ts +29 -0
  91. package/getZones.js +26 -0
  92. package/getZones.js.map +1 -0
  93. package/gitCredential.d.ts +48 -0
  94. package/gitCredential.js +64 -0
  95. package/gitCredential.js.map +1 -0
  96. package/globalInitScript.d.ts +99 -0
  97. package/globalInitScript.js +68 -0
  98. package/globalInitScript.js.map +1 -0
  99. package/grants.d.ts +58 -0
  100. package/grants.js +64 -0
  101. package/grants.js.map +1 -0
  102. package/group.d.ts +131 -0
  103. package/group.js +83 -0
  104. package/group.js.map +1 -0
  105. package/groupInstanceProfile.d.ts +96 -0
  106. package/groupInstanceProfile.js +93 -0
  107. package/groupInstanceProfile.js.map +1 -0
  108. package/index.d.ts +81 -0
  109. package/index.js +362 -0
  110. package/index.js.map +1 -0
  111. package/instancePool.d.ts +166 -0
  112. package/instancePool.js +93 -0
  113. package/instancePool.js.map +1 -0
  114. package/instanceProfile.d.ts +180 -0
  115. package/instanceProfile.js +161 -0
  116. package/instanceProfile.js.map +1 -0
  117. package/ipAccessList.d.ts +128 -0
  118. package/ipAccessList.js +108 -0
  119. package/ipAccessList.js.map +1 -0
  120. package/job.d.ts +228 -0
  121. package/job.js +102 -0
  122. package/job.js.map +1 -0
  123. package/library.d.ts +183 -0
  124. package/library.js +189 -0
  125. package/library.js.map +1 -0
  126. package/metastore.d.ts +102 -0
  127. package/metastore.js +75 -0
  128. package/metastore.js.map +1 -0
  129. package/metastoreAssignment.d.ts +94 -0
  130. package/metastoreAssignment.js +81 -0
  131. package/metastoreAssignment.js.map +1 -0
  132. package/metastoreDataAccess.d.ts +85 -0
  133. package/metastoreDataAccess.js +73 -0
  134. package/metastoreDataAccess.js.map +1 -0
  135. package/mlflowExperiment.d.ts +122 -0
  136. package/mlflowExperiment.js +99 -0
  137. package/mlflowExperiment.js.map +1 -0
  138. package/mlflowModel.d.ts +131 -0
  139. package/mlflowModel.js +107 -0
  140. package/mlflowModel.js.map +1 -0
  141. package/mlflowWebhook.d.ts +129 -0
  142. package/mlflowWebhook.js +100 -0
  143. package/mlflowWebhook.js.map +1 -0
  144. package/mount.d.ts +89 -0
  145. package/mount.js +76 -0
  146. package/mount.js.map +1 -0
  147. package/mwsCredentials.d.ts +137 -0
  148. package/mwsCredentials.js +115 -0
  149. package/mwsCredentials.js.map +1 -0
  150. package/mwsCustomerManagedKeys.d.ts +257 -0
  151. package/mwsCustomerManagedKeys.js +226 -0
  152. package/mwsCustomerManagedKeys.js.map +1 -0
  153. package/mwsLogDelivery.d.ts +219 -0
  154. package/mwsLogDelivery.js +144 -0
  155. package/mwsLogDelivery.js.map +1 -0
  156. package/mwsNetworks.d.ts +129 -0
  157. package/mwsNetworks.js +89 -0
  158. package/mwsNetworks.js.map +1 -0
  159. package/mwsPrivateAccessSettings.d.ts +137 -0
  160. package/mwsPrivateAccessSettings.js +74 -0
  161. package/mwsPrivateAccessSettings.js.map +1 -0
  162. package/mwsStorageConfigurations.d.ts +122 -0
  163. package/mwsStorageConfigurations.js +106 -0
  164. package/mwsStorageConfigurations.js.map +1 -0
  165. package/mwsVpcEndpoint.d.ts +122 -0
  166. package/mwsVpcEndpoint.js +79 -0
  167. package/mwsVpcEndpoint.js.map +1 -0
  168. package/mwsWorkspaces.d.ts +222 -0
  169. package/mwsWorkspaces.js +106 -0
  170. package/mwsWorkspaces.js.map +1 -0
  171. package/notebook.d.ts +128 -0
  172. package/notebook.js +77 -0
  173. package/notebook.js.map +1 -0
  174. package/oboToken.d.ts +98 -0
  175. package/oboToken.js +82 -0
  176. package/oboToken.js.map +1 -0
  177. package/package.json +28 -0
  178. package/package.json.bak +28 -0
  179. package/package.json.dev +28 -0
  180. package/permissions.d.ts +211 -0
  181. package/permissions.js +97 -0
  182. package/permissions.js.map +1 -0
  183. package/pipeline.d.ts +200 -0
  184. package/pipeline.js +134 -0
  185. package/pipeline.js.map +1 -0
  186. package/provider.d.ts +61 -0
  187. package/provider.js +64 -0
  188. package/provider.js.map +1 -0
  189. package/repo.d.ts +117 -0
  190. package/repo.js +71 -0
  191. package/repo.js.map +1 -0
  192. package/schema.d.ts +149 -0
  193. package/schema.js +106 -0
  194. package/schema.js.map +1 -0
  195. package/scripts/install-pulumi-plugin.js +21 -0
  196. package/secret.d.ts +115 -0
  197. package/secret.js +99 -0
  198. package/secret.js.map +1 -0
  199. package/secretAcl.d.ts +115 -0
  200. package/secretAcl.js +105 -0
  201. package/secretAcl.js.map +1 -0
  202. package/secretScope.d.ts +85 -0
  203. package/secretScope.js +64 -0
  204. package/secretScope.js.map +1 -0
  205. package/servicePrincipal.d.ts +142 -0
  206. package/servicePrincipal.js +83 -0
  207. package/servicePrincipal.js.map +1 -0
  208. package/sqlDashboard.d.ts +90 -0
  209. package/sqlDashboard.js +99 -0
  210. package/sqlDashboard.js.map +1 -0
  211. package/sqlEndpoint.d.ts +249 -0
  212. package/sqlEndpoint.js +128 -0
  213. package/sqlEndpoint.js.map +1 -0
  214. package/sqlGlobalConfig.d.ts +157 -0
  215. package/sqlGlobalConfig.js +115 -0
  216. package/sqlGlobalConfig.js.map +1 -0
  217. package/sqlPermissions.d.ts +191 -0
  218. package/sqlPermissions.js +139 -0
  219. package/sqlPermissions.js.map +1 -0
  220. package/sqlQuery.d.ts +131 -0
  221. package/sqlQuery.js +139 -0
  222. package/sqlQuery.js.map +1 -0
  223. package/sqlVisualization.d.ts +105 -0
  224. package/sqlVisualization.js +119 -0
  225. package/sqlVisualization.js.map +1 -0
  226. package/sqlWidget.d.ts +109 -0
  227. package/sqlWidget.js +114 -0
  228. package/sqlWidget.js.map +1 -0
  229. package/storageCredential.d.ts +122 -0
  230. package/storageCredential.js +118 -0
  231. package/storageCredential.js.map +1 -0
  232. package/table.d.ts +249 -0
  233. package/table.js +157 -0
  234. package/table.js.map +1 -0
  235. package/token.d.ts +102 -0
  236. package/token.js +84 -0
  237. package/token.js.map +1 -0
  238. package/types/index.d.ts +3 -0
  239. package/types/index.js +11 -0
  240. package/types/index.js.map +1 -0
  241. package/types/input.d.ts +1209 -0
  242. package/types/input.js +5 -0
  243. package/types/input.js.map +1 -0
  244. package/types/output.d.ts +1222 -0
  245. package/types/output.js +5 -0
  246. package/types/output.js.map +1 -0
  247. package/user.d.ts +149 -0
  248. package/user.js +91 -0
  249. package/user.js.map +1 -0
  250. package/userInstanceProfile.d.ts +93 -0
  251. package/userInstanceProfile.js +90 -0
  252. package/userInstanceProfile.js.map +1 -0
  253. package/userRole.d.ts +106 -0
  254. package/userRole.js +103 -0
  255. package/userRole.js.map +1 -0
  256. package/utilities.d.ts +4 -0
  257. package/utilities.js +57 -0
  258. package/utilities.js.map +1 -0
  259. package/workspaceConf.d.ts +76 -0
  260. package/workspaceConf.js +71 -0
  261. package/workspaceConf.js.map +1 -0
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.SqlDashboard = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * This resource is used to manage [Databricks SQL Dashboards](https://docs.databricks.com/sql/user/dashboards/index.html). To manage [SQLA resources](https://docs.databricks.com/sql/get-started/concepts.html) you must have `databricksSqlAccess` on your databricks.Group or databricks_user.
10
+ *
11
+ * **Note:** documentation for this resource is a work in progress.
12
+ *
13
+ * A dashboard may have one or more widgets.
14
+ *
15
+ * ## Example Usage
16
+ *
17
+ * ```typescript
18
+ * import * as pulumi from "@pulumi/pulumi";
19
+ * import * as databricks from "@pulumi/databricks";
20
+ *
21
+ * const d1 = new databricks.SqlDashboard("d1", {
22
+ * tags: [
23
+ * "some-tag",
24
+ * "another-tag",
25
+ * ],
26
+ * });
27
+ * ```
28
+ *
29
+ * Example permission to share dashboard with all users:
30
+ *
31
+ * ```typescript
32
+ * import * as pulumi from "@pulumi/pulumi";
33
+ * import * as databricks from "@pulumi/databricks";
34
+ *
35
+ * const d1 = new databricks.Permissions("d1", {
36
+ * sqlDashboardId: databricks_sql_dashboard.d1.id,
37
+ * accessControls: [{
38
+ * groupName: data.databricks_group.users.display_name,
39
+ * permissionLevel: "CAN_RUN",
40
+ * }],
41
+ * });
42
+ * ```
43
+ * ## Related Resources
44
+ *
45
+ * The following resources are often used in the same context:
46
+ *
47
+ * * End to end workspace management guide.
48
+ * * databricks.SqlEndpoint to manage Databricks SQL [Endpoints](https://docs.databricks.com/sql/admin/sql-endpoints.html).
49
+ * * databricks.SqlGlobalConfig to configure the security policy, databricks_instance_profile, and [data access properties](https://docs.databricks.com/sql/admin/data-access-configuration.html) for all databricks.SqlEndpoint of workspace.
50
+ * * databricks.SqlPermissions to manage data object access control lists in Databricks workspaces for things like tables, views, databases, and [more](https://docs.databricks.com/security/access-control/table-acls/object-privileges.html).
51
+ *
52
+ * ## Import
53
+ *
54
+ * -> **Note** Importing this resource is not currently supported.
55
+ */
56
+ class SqlDashboard extends pulumi.CustomResource {
57
+ constructor(name, argsOrState, opts) {
58
+ let resourceInputs = {};
59
+ opts = opts || {};
60
+ if (opts.id) {
61
+ const state = argsOrState;
62
+ resourceInputs["name"] = state ? state.name : undefined;
63
+ resourceInputs["tags"] = state ? state.tags : undefined;
64
+ }
65
+ else {
66
+ const args = argsOrState;
67
+ resourceInputs["name"] = args ? args.name : undefined;
68
+ resourceInputs["tags"] = args ? args.tags : undefined;
69
+ }
70
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
71
+ super(SqlDashboard.__pulumiType, name, resourceInputs, opts);
72
+ }
73
+ /**
74
+ * Get an existing SqlDashboard resource's state with the given name, ID, and optional extra
75
+ * properties used to qualify the lookup.
76
+ *
77
+ * @param name The _unique_ name of the resulting resource.
78
+ * @param id The _unique_ provider ID of the resource to lookup.
79
+ * @param state Any extra arguments used during the lookup.
80
+ * @param opts Optional settings to control the behavior of the CustomResource.
81
+ */
82
+ static get(name, id, state, opts) {
83
+ return new SqlDashboard(name, state, Object.assign(Object.assign({}, opts), { id: id }));
84
+ }
85
+ /**
86
+ * Returns true if the given object is an instance of SqlDashboard. This is designed to work even
87
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
88
+ */
89
+ static isInstance(obj) {
90
+ if (obj === undefined || obj === null) {
91
+ return false;
92
+ }
93
+ return obj['__pulumiType'] === SqlDashboard.__pulumiType;
94
+ }
95
+ }
96
+ exports.SqlDashboard = SqlDashboard;
97
+ /** @internal */
98
+ SqlDashboard.__pulumiType = 'databricks:index/sqlDashboard:SqlDashboard';
99
+ //# sourceMappingURL=sqlDashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlDashboard.js","sourceRoot":"","sources":["../sqlDashboard.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAa,YAAa,SAAQ,MAAM,CAAC,cAAc;IAuCnD,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,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3D;aAAM;YACH,MAAM,IAAI,GAAG,WAA2C,CAAC;YACzD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SACzD;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;IApDD;;;;;;;;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;;AA1BL,oCAsDC;AAxCG,gBAAgB;AACO,yBAAY,GAAG,4CAA4C,CAAC"}
@@ -0,0 +1,249 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { input as inputs, output as outputs } from "./types";
3
+ /**
4
+ * This resource is used to manage [Databricks SQL Endpoints](https://docs.databricks.com/sql/admin/sql-endpoints.html). To create [SQL endpoints](https://docs.databricks.com/sql/get-started/concepts.html) you must have `databricksSqlAccess` on your databricks.Group or databricks_user.
5
+ *
6
+ * ## Example Usage
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as databricks from "@pulumi/databricks";
11
+ *
12
+ * const me = pulumi.output(databricks.getCurrentUser());
13
+ * const thisSqlEndpoint = new databricks.SqlEndpoint("this", {
14
+ * clusterSize: "Small",
15
+ * maxNumClusters: 1,
16
+ * tags: {
17
+ * customTags: [{
18
+ * key: "City",
19
+ * value: "Amsterdam",
20
+ * }],
21
+ * },
22
+ * });
23
+ * ```
24
+ * ## Access Control
25
+ *
26
+ * * databricks.Permissions can control which groups or individual users can *Can Use* or *Can Manage* SQL endpoints.
27
+ * * `databricksSqlAccess` on databricks.Group or databricks_user.
28
+ *
29
+ * ## Related Resources
30
+ *
31
+ * The following resources are often used in the same context:
32
+ *
33
+ * * End to end workspace management guide.
34
+ * * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
35
+ * * databricks.SqlDashboard to manage Databricks SQL [Dashboards](https://docs.databricks.com/sql/user/dashboards/index.html).
36
+ * * databricks.SqlGlobalConfig to configure the security policy, databricks_instance_profile, and [data access properties](https://docs.databricks.com/sql/admin/data-access-configuration.html) for all databricks.SqlEndpoint of workspace.
37
+ * * databricks.SqlPermissions to manage data object access control lists in Databricks workspaces for things like tables, views, databases, and [more](https://docs.databricks.com/security/access-control/table-acls/object-privileges.html).
38
+ *
39
+ * ## Import
40
+ *
41
+ * You can import a `databricks_sql_endpoint` resource with ID like the followingbash
42
+ *
43
+ * ```sh
44
+ * $ pulumi import databricks:index/sqlEndpoint:SqlEndpoint this <endpoint-id>
45
+ * ```
46
+ */
47
+ export declare class SqlEndpoint extends pulumi.CustomResource {
48
+ /**
49
+ * Get an existing SqlEndpoint resource's state with the given name, ID, and optional extra
50
+ * properties used to qualify the lookup.
51
+ *
52
+ * @param name The _unique_ name of the resulting resource.
53
+ * @param id The _unique_ provider ID of the resource to lookup.
54
+ * @param state Any extra arguments used during the lookup.
55
+ * @param opts Optional settings to control the behavior of the CustomResource.
56
+ */
57
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SqlEndpointState, opts?: pulumi.CustomResourceOptions): SqlEndpoint;
58
+ /**
59
+ * Returns true if the given object is an instance of SqlEndpoint. This is designed to work even
60
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
61
+ */
62
+ static isInstance(obj: any): obj is SqlEndpoint;
63
+ /**
64
+ * Time in minutes until an idle SQL endpoint terminates all clusters and stops. This field is optional. The default is 120, set to 0 to disable the auto stop.
65
+ */
66
+ readonly autoStopMins: pulumi.Output<number | undefined>;
67
+ /**
68
+ * block, consisting of following fields:
69
+ */
70
+ readonly channel: pulumi.Output<outputs.SqlEndpointChannel | undefined>;
71
+ /**
72
+ * The size of the clusters allocated to the endpoint: "2X-Small", "X-Small", "Small", "Medium", "Large", "X-Large", "2X-Large", "3X-Large", "4X-Large".
73
+ */
74
+ readonly clusterSize: pulumi.Output<string>;
75
+ /**
76
+ * ID of the data source for this endpoint. This is used to bind an SQLA query to an endpoint.
77
+ */
78
+ readonly dataSourceId: pulumi.Output<string>;
79
+ /**
80
+ * Whether to enable [Photon](https://databricks.com/product/delta-engine). This field is optional and is enabled by default.
81
+ */
82
+ readonly enablePhoton: pulumi.Output<boolean | undefined>;
83
+ /**
84
+ * Whether this SQL endpoint is a Serverless endpoint. To use a Serverless SQL endpoint, you must enable Serverless SQL endpoints for the workspace.
85
+ */
86
+ readonly enableServerlessCompute: pulumi.Output<boolean | undefined>;
87
+ readonly id: pulumi.Output<string>;
88
+ readonly instanceProfileArn: pulumi.Output<string | undefined>;
89
+ /**
90
+ * JDBC connection string.
91
+ */
92
+ readonly jdbcUrl: pulumi.Output<string>;
93
+ /**
94
+ * Maximum number of clusters available when a SQL endpoint is running. This field is required. If multi-cluster load balancing is not enabled, this is default to `1`.
95
+ */
96
+ readonly maxNumClusters: pulumi.Output<number | undefined>;
97
+ /**
98
+ * Minimum number of clusters available when a SQL endpoint is running. The default is `1`.
99
+ */
100
+ readonly minNumClusters: pulumi.Output<number | undefined>;
101
+ /**
102
+ * Name of the Databricks SQL release channel. Possible values are: `CHANNEL_NAME_PREVIEW` and `CHANNEL_NAME_CURRENT`. Default is `CHANNEL_NAME_CURRENT`.
103
+ */
104
+ readonly name: pulumi.Output<string>;
105
+ readonly numClusters: pulumi.Output<number | undefined>;
106
+ /**
107
+ * ODBC connection params: `odbc_params.hostname`, `odbc_params.path`, `odbc_params.protocol`, and `odbc_params.port`.
108
+ */
109
+ readonly odbcParams: pulumi.Output<outputs.SqlEndpointOdbcParams>;
110
+ /**
111
+ * The spot policy to use for allocating instances to clusters: `COST_OPTIMIZED` or `RELIABILITY_OPTIMIZED`. This field is optional. Default is `COST_OPTIMIZED`.
112
+ */
113
+ readonly spotInstancePolicy: pulumi.Output<string | undefined>;
114
+ readonly state: pulumi.Output<string>;
115
+ /**
116
+ * Databricks tags all endpoint resources with these tags.
117
+ */
118
+ readonly tags: pulumi.Output<outputs.SqlEndpointTags | undefined>;
119
+ /**
120
+ * Create a SqlEndpoint resource with the given unique name, arguments, and options.
121
+ *
122
+ * @param name The _unique_ name of the resource.
123
+ * @param args The arguments to use to populate this resource's properties.
124
+ * @param opts A bag of options that control this resource's behavior.
125
+ */
126
+ constructor(name: string, args: SqlEndpointArgs, opts?: pulumi.CustomResourceOptions);
127
+ }
128
+ /**
129
+ * Input properties used for looking up and filtering SqlEndpoint resources.
130
+ */
131
+ export interface SqlEndpointState {
132
+ /**
133
+ * Time in minutes until an idle SQL endpoint terminates all clusters and stops. This field is optional. The default is 120, set to 0 to disable the auto stop.
134
+ */
135
+ autoStopMins?: pulumi.Input<number>;
136
+ /**
137
+ * block, consisting of following fields:
138
+ */
139
+ channel?: pulumi.Input<inputs.SqlEndpointChannel>;
140
+ /**
141
+ * The size of the clusters allocated to the endpoint: "2X-Small", "X-Small", "Small", "Medium", "Large", "X-Large", "2X-Large", "3X-Large", "4X-Large".
142
+ */
143
+ clusterSize?: pulumi.Input<string>;
144
+ /**
145
+ * ID of the data source for this endpoint. This is used to bind an SQLA query to an endpoint.
146
+ */
147
+ dataSourceId?: pulumi.Input<string>;
148
+ /**
149
+ * Whether to enable [Photon](https://databricks.com/product/delta-engine). This field is optional and is enabled by default.
150
+ */
151
+ enablePhoton?: pulumi.Input<boolean>;
152
+ /**
153
+ * Whether this SQL endpoint is a Serverless endpoint. To use a Serverless SQL endpoint, you must enable Serverless SQL endpoints for the workspace.
154
+ */
155
+ enableServerlessCompute?: pulumi.Input<boolean>;
156
+ id?: pulumi.Input<string>;
157
+ instanceProfileArn?: pulumi.Input<string>;
158
+ /**
159
+ * JDBC connection string.
160
+ */
161
+ jdbcUrl?: pulumi.Input<string>;
162
+ /**
163
+ * Maximum number of clusters available when a SQL endpoint is running. This field is required. If multi-cluster load balancing is not enabled, this is default to `1`.
164
+ */
165
+ maxNumClusters?: pulumi.Input<number>;
166
+ /**
167
+ * Minimum number of clusters available when a SQL endpoint is running. The default is `1`.
168
+ */
169
+ minNumClusters?: pulumi.Input<number>;
170
+ /**
171
+ * Name of the Databricks SQL release channel. Possible values are: `CHANNEL_NAME_PREVIEW` and `CHANNEL_NAME_CURRENT`. Default is `CHANNEL_NAME_CURRENT`.
172
+ */
173
+ name?: pulumi.Input<string>;
174
+ numClusters?: pulumi.Input<number>;
175
+ /**
176
+ * ODBC connection params: `odbc_params.hostname`, `odbc_params.path`, `odbc_params.protocol`, and `odbc_params.port`.
177
+ */
178
+ odbcParams?: pulumi.Input<inputs.SqlEndpointOdbcParams>;
179
+ /**
180
+ * The spot policy to use for allocating instances to clusters: `COST_OPTIMIZED` or `RELIABILITY_OPTIMIZED`. This field is optional. Default is `COST_OPTIMIZED`.
181
+ */
182
+ spotInstancePolicy?: pulumi.Input<string>;
183
+ state?: pulumi.Input<string>;
184
+ /**
185
+ * Databricks tags all endpoint resources with these tags.
186
+ */
187
+ tags?: pulumi.Input<inputs.SqlEndpointTags>;
188
+ }
189
+ /**
190
+ * The set of arguments for constructing a SqlEndpoint resource.
191
+ */
192
+ export interface SqlEndpointArgs {
193
+ /**
194
+ * Time in minutes until an idle SQL endpoint terminates all clusters and stops. This field is optional. The default is 120, set to 0 to disable the auto stop.
195
+ */
196
+ autoStopMins?: pulumi.Input<number>;
197
+ /**
198
+ * block, consisting of following fields:
199
+ */
200
+ channel?: pulumi.Input<inputs.SqlEndpointChannel>;
201
+ /**
202
+ * The size of the clusters allocated to the endpoint: "2X-Small", "X-Small", "Small", "Medium", "Large", "X-Large", "2X-Large", "3X-Large", "4X-Large".
203
+ */
204
+ clusterSize: pulumi.Input<string>;
205
+ /**
206
+ * ID of the data source for this endpoint. This is used to bind an SQLA query to an endpoint.
207
+ */
208
+ dataSourceId?: pulumi.Input<string>;
209
+ /**
210
+ * Whether to enable [Photon](https://databricks.com/product/delta-engine). This field is optional and is enabled by default.
211
+ */
212
+ enablePhoton?: pulumi.Input<boolean>;
213
+ /**
214
+ * Whether this SQL endpoint is a Serverless endpoint. To use a Serverless SQL endpoint, you must enable Serverless SQL endpoints for the workspace.
215
+ */
216
+ enableServerlessCompute?: pulumi.Input<boolean>;
217
+ id?: pulumi.Input<string>;
218
+ instanceProfileArn?: pulumi.Input<string>;
219
+ /**
220
+ * JDBC connection string.
221
+ */
222
+ jdbcUrl?: pulumi.Input<string>;
223
+ /**
224
+ * Maximum number of clusters available when a SQL endpoint is running. This field is required. If multi-cluster load balancing is not enabled, this is default to `1`.
225
+ */
226
+ maxNumClusters?: pulumi.Input<number>;
227
+ /**
228
+ * Minimum number of clusters available when a SQL endpoint is running. The default is `1`.
229
+ */
230
+ minNumClusters?: pulumi.Input<number>;
231
+ /**
232
+ * Name of the Databricks SQL release channel. Possible values are: `CHANNEL_NAME_PREVIEW` and `CHANNEL_NAME_CURRENT`. Default is `CHANNEL_NAME_CURRENT`.
233
+ */
234
+ name?: pulumi.Input<string>;
235
+ numClusters?: pulumi.Input<number>;
236
+ /**
237
+ * ODBC connection params: `odbc_params.hostname`, `odbc_params.path`, `odbc_params.protocol`, and `odbc_params.port`.
238
+ */
239
+ odbcParams?: pulumi.Input<inputs.SqlEndpointOdbcParams>;
240
+ /**
241
+ * The spot policy to use for allocating instances to clusters: `COST_OPTIMIZED` or `RELIABILITY_OPTIMIZED`. This field is optional. Default is `COST_OPTIMIZED`.
242
+ */
243
+ spotInstancePolicy?: pulumi.Input<string>;
244
+ state?: pulumi.Input<string>;
245
+ /**
246
+ * Databricks tags all endpoint resources with these tags.
247
+ */
248
+ tags?: pulumi.Input<inputs.SqlEndpointTags>;
249
+ }
package/sqlEndpoint.js ADDED
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.SqlEndpoint = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * This resource is used to manage [Databricks SQL Endpoints](https://docs.databricks.com/sql/admin/sql-endpoints.html). To create [SQL endpoints](https://docs.databricks.com/sql/get-started/concepts.html) you must have `databricksSqlAccess` on your databricks.Group or databricks_user.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as databricks from "@pulumi/databricks";
16
+ *
17
+ * const me = pulumi.output(databricks.getCurrentUser());
18
+ * const thisSqlEndpoint = new databricks.SqlEndpoint("this", {
19
+ * clusterSize: "Small",
20
+ * maxNumClusters: 1,
21
+ * tags: {
22
+ * customTags: [{
23
+ * key: "City",
24
+ * value: "Amsterdam",
25
+ * }],
26
+ * },
27
+ * });
28
+ * ```
29
+ * ## Access Control
30
+ *
31
+ * * databricks.Permissions can control which groups or individual users can *Can Use* or *Can Manage* SQL endpoints.
32
+ * * `databricksSqlAccess` on databricks.Group or databricks_user.
33
+ *
34
+ * ## Related Resources
35
+ *
36
+ * The following resources are often used in the same context:
37
+ *
38
+ * * End to end workspace management guide.
39
+ * * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
40
+ * * databricks.SqlDashboard to manage Databricks SQL [Dashboards](https://docs.databricks.com/sql/user/dashboards/index.html).
41
+ * * databricks.SqlGlobalConfig to configure the security policy, databricks_instance_profile, and [data access properties](https://docs.databricks.com/sql/admin/data-access-configuration.html) for all databricks.SqlEndpoint of workspace.
42
+ * * databricks.SqlPermissions to manage data object access control lists in Databricks workspaces for things like tables, views, databases, and [more](https://docs.databricks.com/security/access-control/table-acls/object-privileges.html).
43
+ *
44
+ * ## Import
45
+ *
46
+ * You can import a `databricks_sql_endpoint` resource with ID like the followingbash
47
+ *
48
+ * ```sh
49
+ * $ pulumi import databricks:index/sqlEndpoint:SqlEndpoint this <endpoint-id>
50
+ * ```
51
+ */
52
+ class SqlEndpoint extends pulumi.CustomResource {
53
+ constructor(name, argsOrState, opts) {
54
+ let resourceInputs = {};
55
+ opts = opts || {};
56
+ if (opts.id) {
57
+ const state = argsOrState;
58
+ resourceInputs["autoStopMins"] = state ? state.autoStopMins : undefined;
59
+ resourceInputs["channel"] = state ? state.channel : undefined;
60
+ resourceInputs["clusterSize"] = state ? state.clusterSize : undefined;
61
+ resourceInputs["dataSourceId"] = state ? state.dataSourceId : undefined;
62
+ resourceInputs["enablePhoton"] = state ? state.enablePhoton : undefined;
63
+ resourceInputs["enableServerlessCompute"] = state ? state.enableServerlessCompute : undefined;
64
+ resourceInputs["id"] = state ? state.id : undefined;
65
+ resourceInputs["instanceProfileArn"] = state ? state.instanceProfileArn : undefined;
66
+ resourceInputs["jdbcUrl"] = state ? state.jdbcUrl : undefined;
67
+ resourceInputs["maxNumClusters"] = state ? state.maxNumClusters : undefined;
68
+ resourceInputs["minNumClusters"] = state ? state.minNumClusters : undefined;
69
+ resourceInputs["name"] = state ? state.name : undefined;
70
+ resourceInputs["numClusters"] = state ? state.numClusters : undefined;
71
+ resourceInputs["odbcParams"] = state ? state.odbcParams : undefined;
72
+ resourceInputs["spotInstancePolicy"] = state ? state.spotInstancePolicy : undefined;
73
+ resourceInputs["state"] = state ? state.state : undefined;
74
+ resourceInputs["tags"] = state ? state.tags : undefined;
75
+ }
76
+ else {
77
+ const args = argsOrState;
78
+ if ((!args || args.clusterSize === undefined) && !opts.urn) {
79
+ throw new Error("Missing required property 'clusterSize'");
80
+ }
81
+ resourceInputs["autoStopMins"] = args ? args.autoStopMins : undefined;
82
+ resourceInputs["channel"] = args ? args.channel : undefined;
83
+ resourceInputs["clusterSize"] = args ? args.clusterSize : undefined;
84
+ resourceInputs["dataSourceId"] = args ? args.dataSourceId : undefined;
85
+ resourceInputs["enablePhoton"] = args ? args.enablePhoton : undefined;
86
+ resourceInputs["enableServerlessCompute"] = args ? args.enableServerlessCompute : undefined;
87
+ resourceInputs["id"] = args ? args.id : undefined;
88
+ resourceInputs["instanceProfileArn"] = args ? args.instanceProfileArn : undefined;
89
+ resourceInputs["jdbcUrl"] = args ? args.jdbcUrl : undefined;
90
+ resourceInputs["maxNumClusters"] = args ? args.maxNumClusters : undefined;
91
+ resourceInputs["minNumClusters"] = args ? args.minNumClusters : undefined;
92
+ resourceInputs["name"] = args ? args.name : undefined;
93
+ resourceInputs["numClusters"] = args ? args.numClusters : undefined;
94
+ resourceInputs["odbcParams"] = args ? args.odbcParams : undefined;
95
+ resourceInputs["spotInstancePolicy"] = args ? args.spotInstancePolicy : undefined;
96
+ resourceInputs["state"] = args ? args.state : undefined;
97
+ resourceInputs["tags"] = args ? args.tags : undefined;
98
+ }
99
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
100
+ super(SqlEndpoint.__pulumiType, name, resourceInputs, opts);
101
+ }
102
+ /**
103
+ * Get an existing SqlEndpoint resource's state with the given name, ID, and optional extra
104
+ * properties used to qualify the lookup.
105
+ *
106
+ * @param name The _unique_ name of the resulting resource.
107
+ * @param id The _unique_ provider ID of the resource to lookup.
108
+ * @param state Any extra arguments used during the lookup.
109
+ * @param opts Optional settings to control the behavior of the CustomResource.
110
+ */
111
+ static get(name, id, state, opts) {
112
+ return new SqlEndpoint(name, state, Object.assign(Object.assign({}, opts), { id: id }));
113
+ }
114
+ /**
115
+ * Returns true if the given object is an instance of SqlEndpoint. This is designed to work even
116
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
117
+ */
118
+ static isInstance(obj) {
119
+ if (obj === undefined || obj === null) {
120
+ return false;
121
+ }
122
+ return obj['__pulumiType'] === SqlEndpoint.__pulumiType;
123
+ }
124
+ }
125
+ exports.SqlEndpoint = SqlEndpoint;
126
+ /** @internal */
127
+ SqlEndpoint.__pulumiType = 'databricks:index/sqlEndpoint:SqlEndpoint';
128
+ //# sourceMappingURL=sqlEndpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlEndpoint.js","sourceRoot":"","sources":["../sqlEndpoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,157 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * This resource configures the security policy, databricks_instance_profile, and [data access properties](https://docs.databricks.com/sql/admin/data-access-configuration.html) for all databricks.SqlEndpoint of workspace. *Please note that changing parameters of this resources will restart all running databricks_sql_endpoint.* To use this resource you need to be an administrator.
4
+ *
5
+ * ## Example Usage
6
+ * ### AWS example
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as databricks from "@pulumi/databricks";
11
+ *
12
+ * const _this = new databricks.SqlGlobalConfig("this", {
13
+ * securityPolicy: "DATA_ACCESS_CONTROL",
14
+ * instanceProfileArn: "arn:....",
15
+ * dataAccessConfig: {
16
+ * "spark.sql.session.timeZone": "UTC",
17
+ * },
18
+ * });
19
+ * ```
20
+ * ### Azure example
21
+ *
22
+ * For Azure you should use the `dataAccessConfig` to provide the service principal configuration. You can use the Databricks SQL Admin Console UI to help you generate the right configuration values.
23
+ *
24
+ * ```typescript
25
+ * import * as pulumi from "@pulumi/pulumi";
26
+ * import * as databricks from "@pulumi/databricks";
27
+ *
28
+ * const _this = new databricks.SqlGlobalConfig("this", {
29
+ * securityPolicy: "DATA_ACCESS_CONTROL",
30
+ * dataAccessConfig: {
31
+ * "spark.hadoop.fs.azure.account.auth.type": "OAuth",
32
+ * "spark.hadoop.fs.azure.account.oauth.provider.type": "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider",
33
+ * "spark.hadoop.fs.azure.account.oauth2.client.id": _var.tenant_id,
34
+ * "spark.hadoop.fs.azure.account.oauth2.client.secret": `{{secrets/${local.secret_scope}/${local.secret_key}}}`,
35
+ * "spark.hadoop.fs.azure.account.oauth2.client.endpoint": `https://login.microsoftonline.com/${_var.tenant_id}/oauth2/token`,
36
+ * },
37
+ * sqlConfigParams: {
38
+ * ANSI_MODE: "true",
39
+ * },
40
+ * });
41
+ * ```
42
+ * ## Related Resources
43
+ *
44
+ * The following resources are often used in the same context:
45
+ *
46
+ * * End to end workspace management guide.
47
+ * * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
48
+ * * databricks.SqlDashboard to manage Databricks SQL [Dashboards](https://docs.databricks.com/sql/user/dashboards/index.html).
49
+ * * databricks.SqlEndpoint to manage Databricks SQL [Endpoints](https://docs.databricks.com/sql/admin/sql-endpoints.html).
50
+ * * databricks.SqlPermissions to manage data object access control lists in Databricks workspaces for things like tables, views, databases, and [more](https://docs.databricks.com/security/access-control/table-acls/object-privileges.html).
51
+ *
52
+ * ## Import
53
+ *
54
+ * You can import a `databricks_sql_global_config` resource with command like the following (you need to use `global` as ID)bash
55
+ *
56
+ * ```sh
57
+ * $ pulumi import databricks:index/sqlGlobalConfig:SqlGlobalConfig this global
58
+ * ```
59
+ */
60
+ export declare class SqlGlobalConfig extends pulumi.CustomResource {
61
+ /**
62
+ * Get an existing SqlGlobalConfig resource's state with the given name, ID, and optional extra
63
+ * properties used to qualify the lookup.
64
+ *
65
+ * @param name The _unique_ name of the resulting resource.
66
+ * @param id The _unique_ provider ID of the resource to lookup.
67
+ * @param state Any extra arguments used during the lookup.
68
+ * @param opts Optional settings to control the behavior of the CustomResource.
69
+ */
70
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SqlGlobalConfigState, opts?: pulumi.CustomResourceOptions): SqlGlobalConfig;
71
+ /**
72
+ * Returns true if the given object is an instance of SqlGlobalConfig. This is designed to work even
73
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
74
+ */
75
+ static isInstance(obj: any): obj is SqlGlobalConfig;
76
+ /**
77
+ * - data access configuration for databricks_sql_endpoint, such as configuration for an external Hive metastore, Hadoop Filesystem configuration, etc. Please note that the list of supported configuration properties is limited, so refer to the [documentation](https://docs.databricks.com/sql/admin/data-access-configuration.html#supported-properties) for a full list. Apply will fail if you're specifying not permitted configuration.
78
+ */
79
+ readonly dataAccessConfig: pulumi.Output<{
80
+ [key: string]: any;
81
+ } | undefined>;
82
+ readonly enableServerlessCompute: pulumi.Output<boolean | undefined>;
83
+ /**
84
+ * - databricks.InstanceProfile used to access storage from databricks_sql_endpoint. Please note that this parameter is only for AWS, and will generate an error if used on other clouds.
85
+ */
86
+ readonly instanceProfileArn: pulumi.Output<string | undefined>;
87
+ /**
88
+ * - The policy for controlling access to datasets. Default value: `DATA_ACCESS_CONTROL`, consult documentation for list of possible values
89
+ */
90
+ readonly securityPolicy: pulumi.Output<string | undefined>;
91
+ /**
92
+ * - SQL Configuration Parameters let you override the default behavior for all sessions with all endpoints.
93
+ */
94
+ readonly sqlConfigParams: pulumi.Output<{
95
+ [key: string]: any;
96
+ } | undefined>;
97
+ /**
98
+ * Create a SqlGlobalConfig resource with the given unique name, arguments, and options.
99
+ *
100
+ * @param name The _unique_ name of the resource.
101
+ * @param args The arguments to use to populate this resource's properties.
102
+ * @param opts A bag of options that control this resource's behavior.
103
+ */
104
+ constructor(name: string, args?: SqlGlobalConfigArgs, opts?: pulumi.CustomResourceOptions);
105
+ }
106
+ /**
107
+ * Input properties used for looking up and filtering SqlGlobalConfig resources.
108
+ */
109
+ export interface SqlGlobalConfigState {
110
+ /**
111
+ * - data access configuration for databricks_sql_endpoint, such as configuration for an external Hive metastore, Hadoop Filesystem configuration, etc. Please note that the list of supported configuration properties is limited, so refer to the [documentation](https://docs.databricks.com/sql/admin/data-access-configuration.html#supported-properties) for a full list. Apply will fail if you're specifying not permitted configuration.
112
+ */
113
+ dataAccessConfig?: pulumi.Input<{
114
+ [key: string]: any;
115
+ }>;
116
+ enableServerlessCompute?: pulumi.Input<boolean>;
117
+ /**
118
+ * - databricks.InstanceProfile used to access storage from databricks_sql_endpoint. Please note that this parameter is only for AWS, and will generate an error if used on other clouds.
119
+ */
120
+ instanceProfileArn?: pulumi.Input<string>;
121
+ /**
122
+ * - The policy for controlling access to datasets. Default value: `DATA_ACCESS_CONTROL`, consult documentation for list of possible values
123
+ */
124
+ securityPolicy?: pulumi.Input<string>;
125
+ /**
126
+ * - SQL Configuration Parameters let you override the default behavior for all sessions with all endpoints.
127
+ */
128
+ sqlConfigParams?: pulumi.Input<{
129
+ [key: string]: any;
130
+ }>;
131
+ }
132
+ /**
133
+ * The set of arguments for constructing a SqlGlobalConfig resource.
134
+ */
135
+ export interface SqlGlobalConfigArgs {
136
+ /**
137
+ * - data access configuration for databricks_sql_endpoint, such as configuration for an external Hive metastore, Hadoop Filesystem configuration, etc. Please note that the list of supported configuration properties is limited, so refer to the [documentation](https://docs.databricks.com/sql/admin/data-access-configuration.html#supported-properties) for a full list. Apply will fail if you're specifying not permitted configuration.
138
+ */
139
+ dataAccessConfig?: pulumi.Input<{
140
+ [key: string]: any;
141
+ }>;
142
+ enableServerlessCompute?: pulumi.Input<boolean>;
143
+ /**
144
+ * - databricks.InstanceProfile used to access storage from databricks_sql_endpoint. Please note that this parameter is only for AWS, and will generate an error if used on other clouds.
145
+ */
146
+ instanceProfileArn?: pulumi.Input<string>;
147
+ /**
148
+ * - The policy for controlling access to datasets. Default value: `DATA_ACCESS_CONTROL`, consult documentation for list of possible values
149
+ */
150
+ securityPolicy?: pulumi.Input<string>;
151
+ /**
152
+ * - SQL Configuration Parameters let you override the default behavior for all sessions with all endpoints.
153
+ */
154
+ sqlConfigParams?: pulumi.Input<{
155
+ [key: string]: any;
156
+ }>;
157
+ }