@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,115 @@
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.SqlGlobalConfig = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * 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.
10
+ *
11
+ * ## Example Usage
12
+ * ### AWS example
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as databricks from "@pulumi/databricks";
17
+ *
18
+ * const _this = new databricks.SqlGlobalConfig("this", {
19
+ * securityPolicy: "DATA_ACCESS_CONTROL",
20
+ * instanceProfileArn: "arn:....",
21
+ * dataAccessConfig: {
22
+ * "spark.sql.session.timeZone": "UTC",
23
+ * },
24
+ * });
25
+ * ```
26
+ * ### Azure example
27
+ *
28
+ * 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.
29
+ *
30
+ * ```typescript
31
+ * import * as pulumi from "@pulumi/pulumi";
32
+ * import * as databricks from "@pulumi/databricks";
33
+ *
34
+ * const _this = new databricks.SqlGlobalConfig("this", {
35
+ * securityPolicy: "DATA_ACCESS_CONTROL",
36
+ * dataAccessConfig: {
37
+ * "spark.hadoop.fs.azure.account.auth.type": "OAuth",
38
+ * "spark.hadoop.fs.azure.account.oauth.provider.type": "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider",
39
+ * "spark.hadoop.fs.azure.account.oauth2.client.id": _var.tenant_id,
40
+ * "spark.hadoop.fs.azure.account.oauth2.client.secret": `{{secrets/${local.secret_scope}/${local.secret_key}}}`,
41
+ * "spark.hadoop.fs.azure.account.oauth2.client.endpoint": `https://login.microsoftonline.com/${_var.tenant_id}/oauth2/token`,
42
+ * },
43
+ * sqlConfigParams: {
44
+ * ANSI_MODE: "true",
45
+ * },
46
+ * });
47
+ * ```
48
+ * ## Related Resources
49
+ *
50
+ * The following resources are often used in the same context:
51
+ *
52
+ * * End to end workspace management guide.
53
+ * * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
54
+ * * databricks.SqlDashboard to manage Databricks SQL [Dashboards](https://docs.databricks.com/sql/user/dashboards/index.html).
55
+ * * databricks.SqlEndpoint to manage Databricks SQL [Endpoints](https://docs.databricks.com/sql/admin/sql-endpoints.html).
56
+ * * 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).
57
+ *
58
+ * ## Import
59
+ *
60
+ * You can import a `databricks_sql_global_config` resource with command like the following (you need to use `global` as ID)bash
61
+ *
62
+ * ```sh
63
+ * $ pulumi import databricks:index/sqlGlobalConfig:SqlGlobalConfig this global
64
+ * ```
65
+ */
66
+ class SqlGlobalConfig extends pulumi.CustomResource {
67
+ constructor(name, argsOrState, opts) {
68
+ let resourceInputs = {};
69
+ opts = opts || {};
70
+ if (opts.id) {
71
+ const state = argsOrState;
72
+ resourceInputs["dataAccessConfig"] = state ? state.dataAccessConfig : undefined;
73
+ resourceInputs["enableServerlessCompute"] = state ? state.enableServerlessCompute : undefined;
74
+ resourceInputs["instanceProfileArn"] = state ? state.instanceProfileArn : undefined;
75
+ resourceInputs["securityPolicy"] = state ? state.securityPolicy : undefined;
76
+ resourceInputs["sqlConfigParams"] = state ? state.sqlConfigParams : undefined;
77
+ }
78
+ else {
79
+ const args = argsOrState;
80
+ resourceInputs["dataAccessConfig"] = args ? args.dataAccessConfig : undefined;
81
+ resourceInputs["enableServerlessCompute"] = args ? args.enableServerlessCompute : undefined;
82
+ resourceInputs["instanceProfileArn"] = args ? args.instanceProfileArn : undefined;
83
+ resourceInputs["securityPolicy"] = args ? args.securityPolicy : undefined;
84
+ resourceInputs["sqlConfigParams"] = args ? args.sqlConfigParams : undefined;
85
+ }
86
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
87
+ super(SqlGlobalConfig.__pulumiType, name, resourceInputs, opts);
88
+ }
89
+ /**
90
+ * Get an existing SqlGlobalConfig resource's state with the given name, ID, and optional extra
91
+ * properties used to qualify the lookup.
92
+ *
93
+ * @param name The _unique_ name of the resulting resource.
94
+ * @param id The _unique_ provider ID of the resource to lookup.
95
+ * @param state Any extra arguments used during the lookup.
96
+ * @param opts Optional settings to control the behavior of the CustomResource.
97
+ */
98
+ static get(name, id, state, opts) {
99
+ return new SqlGlobalConfig(name, state, Object.assign(Object.assign({}, opts), { id: id }));
100
+ }
101
+ /**
102
+ * Returns true if the given object is an instance of SqlGlobalConfig. This is designed to work even
103
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
104
+ */
105
+ static isInstance(obj) {
106
+ if (obj === undefined || obj === null) {
107
+ return false;
108
+ }
109
+ return obj['__pulumiType'] === SqlGlobalConfig.__pulumiType;
110
+ }
111
+ }
112
+ exports.SqlGlobalConfig = SqlGlobalConfig;
113
+ /** @internal */
114
+ SqlGlobalConfig.__pulumiType = 'databricks:index/sqlGlobalConfig:SqlGlobalConfig';
115
+ //# sourceMappingURL=sqlGlobalConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlGlobalConfig.js","sourceRoot":"","sources":["../sqlGlobalConfig.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAa,eAAgB,SAAQ,MAAM,CAAC,cAAc;IAsDtD,YAAY,IAAY,EAAE,WAAwD,EAAE,IAAmC;QACnH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA+C,CAAC;YAC9D,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,cAAc,CAAC,yBAAyB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,cAAc,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,cAAc,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;SACjF;aAAM;YACH,MAAM,IAAI,GAAG,WAA8C,CAAC;YAC5D,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,cAAc,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5F,cAAc,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/E;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAzED;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA4B,EAAE,IAAmC;QAC1H,OAAO,IAAI,eAAe,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACtE,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,eAAe,CAAC,YAAY,CAAC;IAChE,CAAC;;AA1BL,0CA2EC;AA7DG,gBAAgB;AACO,4BAAY,GAAG,kDAAkD,CAAC"}
@@ -0,0 +1,191 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { input as inputs, output as outputs } from "./types";
3
+ /**
4
+ * > **Note** Please switch to databricks.Grants with Unity Catalog to manage data access, which provides better and faster way for managing data security. `databricks.Grants` resource *doesn't require a technical cluster to perform operations*. `databricks.SqlPermissions` will be removed, once Unity Catalog is Generally Available.
5
+ *
6
+ * This resource manages 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). In order to enable Table Access control, you have to login to the workspace as administrator, go to `Admin Console`, pick `Access Control` tab, click on `Enable` button in `Table Access Control` section, and click `Confirm`. The security guarantees of table access control **will only be effective if cluster access control is also turned on**. Please make sure that no users can create clusters in your workspace and all databricks.Cluster have approximately the following configuration:
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as databricks from "@pulumi/databricks";
11
+ *
12
+ * // ...
13
+ * const clusterWithTableAccessControl = new databricks.Cluster("clusterWithTableAccessControl", {sparkConf: {
14
+ * "spark.databricks.acl.dfAclsEnabled": "true",
15
+ * "spark.databricks.repl.allowedLanguages": "python,sql",
16
+ * }});
17
+ * ```
18
+ *
19
+ * It could be combined with creation of High-Concurrency and Single-Node clusters - in this case it should have corresponding `customTags` and `spark.databricks.cluster.profile` in Spark configuration as described in documentation for `databricks.Cluster` resource.
20
+ *
21
+ * The created cluster could be referred to by providing its ID as `clusterId` property.
22
+ *
23
+ * ```typescript
24
+ * import * as pulumi from "@pulumi/pulumi";
25
+ * import * as databricks from "@pulumi/databricks";
26
+ *
27
+ * const fooTable = new databricks.SqlPermissions("fooTable", {clusterId: databricks_cluster.cluster_name.id});
28
+ * //...
29
+ * ```
30
+ *
31
+ * ## Example Usage
32
+ *
33
+ * The following resource definition will enforce access control on a table by executing the following SQL queries on a special auto-terminating cluster it would create for this operation:
34
+ *
35
+ * * ``` SHOW GRANT ON TABLE `default`.`foo` ```
36
+ * * ```REVOKE ALL PRIVILEGES ON TABLE `default`.`foo` FROM ... every group and user that has access to it ...```
37
+ * * ``` GRANT MODIFY, SELECT ON TABLE `default`.`foo` TO `serge@example.com` ```
38
+ * * ``` GRANT SELECT ON TABLE `default`.`foo` TO `special group` ```
39
+ *
40
+ * ```typescript
41
+ * import * as pulumi from "@pulumi/pulumi";
42
+ * import * as databricks from "@pulumi/databricks";
43
+ *
44
+ * const fooTable = new databricks.SqlPermissions("foo_table", {
45
+ * privilegeAssignments: [
46
+ * {
47
+ * principal: "serge@example.com",
48
+ * privileges: [
49
+ * "SELECT",
50
+ * "MODIFY",
51
+ * ],
52
+ * },
53
+ * {
54
+ * principal: "special group",
55
+ * privileges: ["SELECT"],
56
+ * },
57
+ * ],
58
+ * table: "foo",
59
+ * });
60
+ * ```
61
+ * ## Related Resources
62
+ *
63
+ * The following resources are often used in the same context:
64
+ *
65
+ * * End to end workspace management guide.
66
+ * * databricks.Group to manage [groups in Databricks Workspace](https://docs.databricks.com/administration-guide/users-groups/groups.html) or [Account Console](https://accounts.cloud.databricks.com/) (for AWS deployments).
67
+ * * databricks.Grants to manage data access in Unity Catalog.
68
+ * * databricks.Permissions to manage [access control](https://docs.databricks.com/security/access-control/index.html) in Databricks workspace.
69
+ * * databricks.User to [manage users](https://docs.databricks.com/administration-guide/users-groups/users.html), that could be added to databricks.Group within the workspace.
70
+ *
71
+ * ## Import
72
+ *
73
+ * The resource can be imported using a synthetic identifier. Examples of valid synthetic identifiers are* `table/default.foo` - table `foo` in a `default` database. Database is always mandatory. * `view/bar.foo` - view `foo` in `bar` database. * `database/bar` - `bar` database. * `catalog/` - entire catalog. `/` suffix is mandatory. * `any file/` - direct access to any file. `/` suffix is mandatory. * `anonymous function/` - anonymous function. `/` suffix is mandatory. bash
74
+ *
75
+ * ```sh
76
+ * $ pulumi import databricks:index/sqlPermissions:SqlPermissions foo /<object-type>/<object-name>
77
+ * ```
78
+ */
79
+ export declare class SqlPermissions extends pulumi.CustomResource {
80
+ /**
81
+ * Get an existing SqlPermissions resource's state with the given name, ID, and optional extra
82
+ * properties used to qualify the lookup.
83
+ *
84
+ * @param name The _unique_ name of the resulting resource.
85
+ * @param id The _unique_ provider ID of the resource to lookup.
86
+ * @param state Any extra arguments used during the lookup.
87
+ * @param opts Optional settings to control the behavior of the CustomResource.
88
+ */
89
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SqlPermissionsState, opts?: pulumi.CustomResourceOptions): SqlPermissions;
90
+ /**
91
+ * Returns true if the given object is an instance of SqlPermissions. This is designed to work even
92
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
93
+ */
94
+ static isInstance(obj: any): obj is SqlPermissions;
95
+ /**
96
+ * If this access control for using anonymous function. Defaults to `false`.
97
+ */
98
+ readonly anonymousFunction: pulumi.Output<boolean | undefined>;
99
+ /**
100
+ * If this access control for reading any file. Defaults to `false`.
101
+ */
102
+ readonly anyFile: pulumi.Output<boolean | undefined>;
103
+ /**
104
+ * If this access control for the entire catalog. Defaults to `false`.
105
+ */
106
+ readonly catalog: pulumi.Output<boolean | undefined>;
107
+ readonly clusterId: pulumi.Output<string>;
108
+ /**
109
+ * Name of the database. Has default value of `default`.
110
+ */
111
+ readonly database: pulumi.Output<string | undefined>;
112
+ readonly privilegeAssignments: pulumi.Output<outputs.SqlPermissionsPrivilegeAssignment[] | undefined>;
113
+ /**
114
+ * Name of the table. Can be combined with `database`.
115
+ */
116
+ readonly table: pulumi.Output<string | undefined>;
117
+ /**
118
+ * Name of the view. Can be combined with `database`.
119
+ */
120
+ readonly view: pulumi.Output<string | undefined>;
121
+ /**
122
+ * Create a SqlPermissions resource with the given unique name, arguments, and options.
123
+ *
124
+ * @param name The _unique_ name of the resource.
125
+ * @param args The arguments to use to populate this resource's properties.
126
+ * @param opts A bag of options that control this resource's behavior.
127
+ */
128
+ constructor(name: string, args?: SqlPermissionsArgs, opts?: pulumi.CustomResourceOptions);
129
+ }
130
+ /**
131
+ * Input properties used for looking up and filtering SqlPermissions resources.
132
+ */
133
+ export interface SqlPermissionsState {
134
+ /**
135
+ * If this access control for using anonymous function. Defaults to `false`.
136
+ */
137
+ anonymousFunction?: pulumi.Input<boolean>;
138
+ /**
139
+ * If this access control for reading any file. Defaults to `false`.
140
+ */
141
+ anyFile?: pulumi.Input<boolean>;
142
+ /**
143
+ * If this access control for the entire catalog. Defaults to `false`.
144
+ */
145
+ catalog?: pulumi.Input<boolean>;
146
+ clusterId?: pulumi.Input<string>;
147
+ /**
148
+ * Name of the database. Has default value of `default`.
149
+ */
150
+ database?: pulumi.Input<string>;
151
+ privilegeAssignments?: pulumi.Input<pulumi.Input<inputs.SqlPermissionsPrivilegeAssignment>[]>;
152
+ /**
153
+ * Name of the table. Can be combined with `database`.
154
+ */
155
+ table?: pulumi.Input<string>;
156
+ /**
157
+ * Name of the view. Can be combined with `database`.
158
+ */
159
+ view?: pulumi.Input<string>;
160
+ }
161
+ /**
162
+ * The set of arguments for constructing a SqlPermissions resource.
163
+ */
164
+ export interface SqlPermissionsArgs {
165
+ /**
166
+ * If this access control for using anonymous function. Defaults to `false`.
167
+ */
168
+ anonymousFunction?: pulumi.Input<boolean>;
169
+ /**
170
+ * If this access control for reading any file. Defaults to `false`.
171
+ */
172
+ anyFile?: pulumi.Input<boolean>;
173
+ /**
174
+ * If this access control for the entire catalog. Defaults to `false`.
175
+ */
176
+ catalog?: pulumi.Input<boolean>;
177
+ clusterId?: pulumi.Input<string>;
178
+ /**
179
+ * Name of the database. Has default value of `default`.
180
+ */
181
+ database?: pulumi.Input<string>;
182
+ privilegeAssignments?: pulumi.Input<pulumi.Input<inputs.SqlPermissionsPrivilegeAssignment>[]>;
183
+ /**
184
+ * Name of the table. Can be combined with `database`.
185
+ */
186
+ table?: pulumi.Input<string>;
187
+ /**
188
+ * Name of the view. Can be combined with `database`.
189
+ */
190
+ view?: pulumi.Input<string>;
191
+ }
@@ -0,0 +1,139 @@
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.SqlPermissions = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * > **Note** Please switch to databricks.Grants with Unity Catalog to manage data access, which provides better and faster way for managing data security. `databricks.Grants` resource *doesn't require a technical cluster to perform operations*. `databricks.SqlPermissions` will be removed, once Unity Catalog is Generally Available.
10
+ *
11
+ * This resource manages 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). In order to enable Table Access control, you have to login to the workspace as administrator, go to `Admin Console`, pick `Access Control` tab, click on `Enable` button in `Table Access Control` section, and click `Confirm`. The security guarantees of table access control **will only be effective if cluster access control is also turned on**. Please make sure that no users can create clusters in your workspace and all databricks.Cluster have approximately the following configuration:
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as databricks from "@pulumi/databricks";
16
+ *
17
+ * // ...
18
+ * const clusterWithTableAccessControl = new databricks.Cluster("clusterWithTableAccessControl", {sparkConf: {
19
+ * "spark.databricks.acl.dfAclsEnabled": "true",
20
+ * "spark.databricks.repl.allowedLanguages": "python,sql",
21
+ * }});
22
+ * ```
23
+ *
24
+ * It could be combined with creation of High-Concurrency and Single-Node clusters - in this case it should have corresponding `customTags` and `spark.databricks.cluster.profile` in Spark configuration as described in documentation for `databricks.Cluster` resource.
25
+ *
26
+ * The created cluster could be referred to by providing its ID as `clusterId` property.
27
+ *
28
+ * ```typescript
29
+ * import * as pulumi from "@pulumi/pulumi";
30
+ * import * as databricks from "@pulumi/databricks";
31
+ *
32
+ * const fooTable = new databricks.SqlPermissions("fooTable", {clusterId: databricks_cluster.cluster_name.id});
33
+ * //...
34
+ * ```
35
+ *
36
+ * ## Example Usage
37
+ *
38
+ * The following resource definition will enforce access control on a table by executing the following SQL queries on a special auto-terminating cluster it would create for this operation:
39
+ *
40
+ * * ``` SHOW GRANT ON TABLE `default`.`foo` ```
41
+ * * ```REVOKE ALL PRIVILEGES ON TABLE `default`.`foo` FROM ... every group and user that has access to it ...```
42
+ * * ``` GRANT MODIFY, SELECT ON TABLE `default`.`foo` TO `serge@example.com` ```
43
+ * * ``` GRANT SELECT ON TABLE `default`.`foo` TO `special group` ```
44
+ *
45
+ * ```typescript
46
+ * import * as pulumi from "@pulumi/pulumi";
47
+ * import * as databricks from "@pulumi/databricks";
48
+ *
49
+ * const fooTable = new databricks.SqlPermissions("foo_table", {
50
+ * privilegeAssignments: [
51
+ * {
52
+ * principal: "serge@example.com",
53
+ * privileges: [
54
+ * "SELECT",
55
+ * "MODIFY",
56
+ * ],
57
+ * },
58
+ * {
59
+ * principal: "special group",
60
+ * privileges: ["SELECT"],
61
+ * },
62
+ * ],
63
+ * table: "foo",
64
+ * });
65
+ * ```
66
+ * ## Related Resources
67
+ *
68
+ * The following resources are often used in the same context:
69
+ *
70
+ * * End to end workspace management guide.
71
+ * * databricks.Group to manage [groups in Databricks Workspace](https://docs.databricks.com/administration-guide/users-groups/groups.html) or [Account Console](https://accounts.cloud.databricks.com/) (for AWS deployments).
72
+ * * databricks.Grants to manage data access in Unity Catalog.
73
+ * * databricks.Permissions to manage [access control](https://docs.databricks.com/security/access-control/index.html) in Databricks workspace.
74
+ * * databricks.User to [manage users](https://docs.databricks.com/administration-guide/users-groups/users.html), that could be added to databricks.Group within the workspace.
75
+ *
76
+ * ## Import
77
+ *
78
+ * The resource can be imported using a synthetic identifier. Examples of valid synthetic identifiers are* `table/default.foo` - table `foo` in a `default` database. Database is always mandatory. * `view/bar.foo` - view `foo` in `bar` database. * `database/bar` - `bar` database. * `catalog/` - entire catalog. `/` suffix is mandatory. * `any file/` - direct access to any file. `/` suffix is mandatory. * `anonymous function/` - anonymous function. `/` suffix is mandatory. bash
79
+ *
80
+ * ```sh
81
+ * $ pulumi import databricks:index/sqlPermissions:SqlPermissions foo /<object-type>/<object-name>
82
+ * ```
83
+ */
84
+ class SqlPermissions extends pulumi.CustomResource {
85
+ constructor(name, argsOrState, opts) {
86
+ let resourceInputs = {};
87
+ opts = opts || {};
88
+ if (opts.id) {
89
+ const state = argsOrState;
90
+ resourceInputs["anonymousFunction"] = state ? state.anonymousFunction : undefined;
91
+ resourceInputs["anyFile"] = state ? state.anyFile : undefined;
92
+ resourceInputs["catalog"] = state ? state.catalog : undefined;
93
+ resourceInputs["clusterId"] = state ? state.clusterId : undefined;
94
+ resourceInputs["database"] = state ? state.database : undefined;
95
+ resourceInputs["privilegeAssignments"] = state ? state.privilegeAssignments : undefined;
96
+ resourceInputs["table"] = state ? state.table : undefined;
97
+ resourceInputs["view"] = state ? state.view : undefined;
98
+ }
99
+ else {
100
+ const args = argsOrState;
101
+ resourceInputs["anonymousFunction"] = args ? args.anonymousFunction : undefined;
102
+ resourceInputs["anyFile"] = args ? args.anyFile : undefined;
103
+ resourceInputs["catalog"] = args ? args.catalog : undefined;
104
+ resourceInputs["clusterId"] = args ? args.clusterId : undefined;
105
+ resourceInputs["database"] = args ? args.database : undefined;
106
+ resourceInputs["privilegeAssignments"] = args ? args.privilegeAssignments : undefined;
107
+ resourceInputs["table"] = args ? args.table : undefined;
108
+ resourceInputs["view"] = args ? args.view : undefined;
109
+ }
110
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
111
+ super(SqlPermissions.__pulumiType, name, resourceInputs, opts);
112
+ }
113
+ /**
114
+ * Get an existing SqlPermissions resource's state with the given name, ID, and optional extra
115
+ * properties used to qualify the lookup.
116
+ *
117
+ * @param name The _unique_ name of the resulting resource.
118
+ * @param id The _unique_ provider ID of the resource to lookup.
119
+ * @param state Any extra arguments used during the lookup.
120
+ * @param opts Optional settings to control the behavior of the CustomResource.
121
+ */
122
+ static get(name, id, state, opts) {
123
+ return new SqlPermissions(name, state, Object.assign(Object.assign({}, opts), { id: id }));
124
+ }
125
+ /**
126
+ * Returns true if the given object is an instance of SqlPermissions. This is designed to work even
127
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
128
+ */
129
+ static isInstance(obj) {
130
+ if (obj === undefined || obj === null) {
131
+ return false;
132
+ }
133
+ return obj['__pulumiType'] === SqlPermissions.__pulumiType;
134
+ }
135
+ }
136
+ exports.SqlPermissions = SqlPermissions;
137
+ /** @internal */
138
+ SqlPermissions.__pulumiType = 'databricks:index/sqlPermissions:SqlPermissions';
139
+ //# sourceMappingURL=sqlPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlPermissions.js","sourceRoot":"","sources":["../sqlPermissions.ts"],"names":[],"mappings":"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"}
package/sqlQuery.d.ts ADDED
@@ -0,0 +1,131 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { input as inputs, output as outputs } from "./types";
3
+ /**
4
+ * To manage [SQLA resources](https://docs.databricks.com/sql/get-started/concepts.html) you must have `databricksSqlAccess` on your databricks.Group or databricks_user.
5
+ *
6
+ * **Note:** documentation for this resource is a work in progress.
7
+ *
8
+ * A query may have one or more visualizations.
9
+ *
10
+ * ## Example Usage
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as databricks from "@pulumi/databricks";
15
+ *
16
+ * const q1 = new databricks.SqlQuery("q1", {
17
+ * dataSourceId: databricks_sql_endpoint.example.data_source_id,
18
+ * query: "SELECT {{ p1 }} AS p1, 2 as p2",
19
+ * runAsRole: "viewer",
20
+ * schedule: {
21
+ * continuous: {
22
+ * intervalSeconds: 5 * 60,
23
+ * },
24
+ * },
25
+ * parameters: [{
26
+ * name: "p1",
27
+ * title: "Title for p1",
28
+ * text: {
29
+ * value: "default",
30
+ * },
31
+ * }],
32
+ * tags: [
33
+ * "t1",
34
+ * "t2",
35
+ * ],
36
+ * });
37
+ * ```
38
+ *
39
+ * Example permission to share query with all users:
40
+ *
41
+ * ```typescript
42
+ * import * as pulumi from "@pulumi/pulumi";
43
+ * import * as databricks from "@pulumi/databricks";
44
+ *
45
+ * const q1 = new databricks.Permissions("q1", {
46
+ * sqlQueryId: databricks_sql_query.q1.id,
47
+ * accessControls: [
48
+ * {
49
+ * groupName: data.databricks_group.users.display_name,
50
+ * permissionLevel: "CAN_RUN",
51
+ * },
52
+ * {
53
+ * groupName: data.databricks_group.team.display_name,
54
+ * permissionLevel: "CAN_EDIT",
55
+ * },
56
+ * ],
57
+ * });
58
+ * ```
59
+ * ## Related Resources
60
+ *
61
+ * The following resources are often used in the same context:
62
+ *
63
+ * * End to end workspace management guide.
64
+ * * databricks.SqlDashboard to manage Databricks SQL [Dashboards](https://docs.databricks.com/sql/user/dashboards/index.html).
65
+ * * databricks.SqlEndpoint to manage Databricks SQL [Endpoints](https://docs.databricks.com/sql/admin/sql-endpoints.html).
66
+ * * 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.
67
+ * * 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).
68
+ *
69
+ * ## Import
70
+ *
71
+ * -> **Note** Importing this resource is not currently supported.
72
+ */
73
+ export declare class SqlQuery extends pulumi.CustomResource {
74
+ /**
75
+ * Get an existing SqlQuery resource's state with the given name, ID, and optional extra
76
+ * properties used to qualify the lookup.
77
+ *
78
+ * @param name The _unique_ name of the resulting resource.
79
+ * @param id The _unique_ provider ID of the resource to lookup.
80
+ * @param state Any extra arguments used during the lookup.
81
+ * @param opts Optional settings to control the behavior of the CustomResource.
82
+ */
83
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SqlQueryState, opts?: pulumi.CustomResourceOptions): SqlQuery;
84
+ /**
85
+ * Returns true if the given object is an instance of SqlQuery. This is designed to work even
86
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
87
+ */
88
+ static isInstance(obj: any): obj is SqlQuery;
89
+ readonly dataSourceId: pulumi.Output<string>;
90
+ readonly description: pulumi.Output<string | undefined>;
91
+ readonly name: pulumi.Output<string>;
92
+ readonly parameters: pulumi.Output<outputs.SqlQueryParameter[] | undefined>;
93
+ readonly query: pulumi.Output<string>;
94
+ readonly runAsRole: pulumi.Output<string | undefined>;
95
+ readonly schedule: pulumi.Output<outputs.SqlQuerySchedule | undefined>;
96
+ readonly tags: pulumi.Output<string[] | undefined>;
97
+ /**
98
+ * Create a SqlQuery 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: SqlQueryArgs, opts?: pulumi.CustomResourceOptions);
105
+ }
106
+ /**
107
+ * Input properties used for looking up and filtering SqlQuery resources.
108
+ */
109
+ export interface SqlQueryState {
110
+ dataSourceId?: pulumi.Input<string>;
111
+ description?: pulumi.Input<string>;
112
+ name?: pulumi.Input<string>;
113
+ parameters?: pulumi.Input<pulumi.Input<inputs.SqlQueryParameter>[]>;
114
+ query?: pulumi.Input<string>;
115
+ runAsRole?: pulumi.Input<string>;
116
+ schedule?: pulumi.Input<inputs.SqlQuerySchedule>;
117
+ tags?: pulumi.Input<pulumi.Input<string>[]>;
118
+ }
119
+ /**
120
+ * The set of arguments for constructing a SqlQuery resource.
121
+ */
122
+ export interface SqlQueryArgs {
123
+ dataSourceId: pulumi.Input<string>;
124
+ description?: pulumi.Input<string>;
125
+ name?: pulumi.Input<string>;
126
+ parameters?: pulumi.Input<pulumi.Input<inputs.SqlQueryParameter>[]>;
127
+ query: pulumi.Input<string>;
128
+ runAsRole?: pulumi.Input<string>;
129
+ schedule?: pulumi.Input<inputs.SqlQuerySchedule>;
130
+ tags?: pulumi.Input<pulumi.Input<string>[]>;
131
+ }