@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
package/directory.js ADDED
@@ -0,0 +1,65 @@
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.Directory = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * ## Import
10
+ *
11
+ * The resource directory can be imported using directory path bash
12
+ *
13
+ * ```sh
14
+ * $ pulumi import databricks:index/directory:Directory this /path/to/directory
15
+ * ```
16
+ */
17
+ class Directory extends pulumi.CustomResource {
18
+ constructor(name, argsOrState, opts) {
19
+ let resourceInputs = {};
20
+ opts = opts || {};
21
+ if (opts.id) {
22
+ const state = argsOrState;
23
+ resourceInputs["deleteRecursive"] = state ? state.deleteRecursive : undefined;
24
+ resourceInputs["objectId"] = state ? state.objectId : undefined;
25
+ resourceInputs["path"] = state ? state.path : undefined;
26
+ }
27
+ else {
28
+ const args = argsOrState;
29
+ if ((!args || args.path === undefined) && !opts.urn) {
30
+ throw new Error("Missing required property 'path'");
31
+ }
32
+ resourceInputs["deleteRecursive"] = args ? args.deleteRecursive : undefined;
33
+ resourceInputs["objectId"] = args ? args.objectId : undefined;
34
+ resourceInputs["path"] = args ? args.path : undefined;
35
+ }
36
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
37
+ super(Directory.__pulumiType, name, resourceInputs, opts);
38
+ }
39
+ /**
40
+ * Get an existing Directory resource's state with the given name, ID, and optional extra
41
+ * properties used to qualify the lookup.
42
+ *
43
+ * @param name The _unique_ name of the resulting resource.
44
+ * @param id The _unique_ provider ID of the resource to lookup.
45
+ * @param state Any extra arguments used during the lookup.
46
+ * @param opts Optional settings to control the behavior of the CustomResource.
47
+ */
48
+ static get(name, id, state, opts) {
49
+ return new Directory(name, state, Object.assign(Object.assign({}, opts), { id: id }));
50
+ }
51
+ /**
52
+ * Returns true if the given object is an instance of Directory. This is designed to work even
53
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
54
+ */
55
+ static isInstance(obj) {
56
+ if (obj === undefined || obj === null) {
57
+ return false;
58
+ }
59
+ return obj['__pulumiType'] === Directory.__pulumiType;
60
+ }
61
+ }
62
+ exports.Directory = Directory;
63
+ /** @internal */
64
+ Directory.__pulumiType = 'databricks:index/directory:Directory';
65
+ //# sourceMappingURL=directory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directory.js","sourceRoot":"","sources":["../directory.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;GAQG;AACH,MAAa,SAAU,SAAQ,MAAM,CAAC,cAAc;IA8ChD,YAAY,IAAY,EAAE,WAA4C,EAAE,IAAmC;QACvG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAyC,CAAC;YACxD,cAAc,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3D;aAAM;YACH,MAAM,IAAI,GAAG,WAAwC,CAAC;YACtD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,cAAc,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,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,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAhED;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAsB,EAAE,IAAmC;QACpH,OAAO,IAAI,SAAS,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAChE,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,SAAS,CAAC,YAAY,CAAC;IAC1D,CAAC;;AA1BL,8BAkEC;AApDG,gBAAgB;AACO,sBAAY,GAAG,sCAAsC,CAAC"}
@@ -0,0 +1,114 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * > **Private Preview** This feature is in [Private Preview](https://docs.databricks.com/release-notes/release-types.html). Contact your Databricks representative to request access.
4
+ *
5
+ * To work with external tables, Unity Catalog introduces two new objects to access and work with external cloud storage:
6
+ * - databricks.StorageCredential represent authentication methods to access cloud storage (e.g. an IAM role for Amazon S3 or a service principal for Azure Storage). Storage credentials are access-controlled to determine which users can use the credential.
7
+ * - `databricks.ExternalLocation` are objects that combine a cloud storage path with a Storage Credential that can be used to access the location.
8
+ *
9
+ * ## Import
10
+ *
11
+ * This resource can be imported by namebash
12
+ *
13
+ * ```sh
14
+ * $ pulumi import databricks:index/externalLocation:ExternalLocation this <name>
15
+ * ```
16
+ */
17
+ export declare class ExternalLocation extends pulumi.CustomResource {
18
+ /**
19
+ * Get an existing ExternalLocation resource's state with the given name, ID, and optional extra
20
+ * properties used to qualify the lookup.
21
+ *
22
+ * @param name The _unique_ name of the resulting resource.
23
+ * @param id The _unique_ provider ID of the resource to lookup.
24
+ * @param state Any extra arguments used during the lookup.
25
+ * @param opts Optional settings to control the behavior of the CustomResource.
26
+ */
27
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ExternalLocationState, opts?: pulumi.CustomResourceOptions): ExternalLocation;
28
+ /**
29
+ * Returns true if the given object is an instance of ExternalLocation. This is designed to work even
30
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
31
+ */
32
+ static isInstance(obj: any): obj is ExternalLocation;
33
+ /**
34
+ * User-supplied free-form text.
35
+ */
36
+ readonly comment: pulumi.Output<string | undefined>;
37
+ /**
38
+ * Name of the databricks.StorageCredential to use with this External Location.
39
+ */
40
+ readonly credentialName: pulumi.Output<string>;
41
+ readonly metastoreId: pulumi.Output<string>;
42
+ /**
43
+ * Name of External Location, which must be unique within the databricks_metastore. Change forces creation of a new resource.
44
+ */
45
+ readonly name: pulumi.Output<string>;
46
+ /**
47
+ * Username/groupname of External Location owner. Currently this field can only be changed after the resource is created.
48
+ */
49
+ readonly owner: pulumi.Output<string>;
50
+ /**
51
+ * Path URL in cloud storage, of the form: `s3://[bucket-host]/[bucket-dir]` (AWS), `abfss://[user]@[host]/[path]` (Azure).
52
+ */
53
+ readonly url: pulumi.Output<string>;
54
+ /**
55
+ * Create a ExternalLocation resource with the given unique name, arguments, and options.
56
+ *
57
+ * @param name The _unique_ name of the resource.
58
+ * @param args The arguments to use to populate this resource's properties.
59
+ * @param opts A bag of options that control this resource's behavior.
60
+ */
61
+ constructor(name: string, args: ExternalLocationArgs, opts?: pulumi.CustomResourceOptions);
62
+ }
63
+ /**
64
+ * Input properties used for looking up and filtering ExternalLocation resources.
65
+ */
66
+ export interface ExternalLocationState {
67
+ /**
68
+ * User-supplied free-form text.
69
+ */
70
+ comment?: pulumi.Input<string>;
71
+ /**
72
+ * Name of the databricks.StorageCredential to use with this External Location.
73
+ */
74
+ credentialName?: pulumi.Input<string>;
75
+ metastoreId?: pulumi.Input<string>;
76
+ /**
77
+ * Name of External Location, which must be unique within the databricks_metastore. Change forces creation of a new resource.
78
+ */
79
+ name?: pulumi.Input<string>;
80
+ /**
81
+ * Username/groupname of External Location owner. Currently this field can only be changed after the resource is created.
82
+ */
83
+ owner?: pulumi.Input<string>;
84
+ /**
85
+ * Path URL in cloud storage, of the form: `s3://[bucket-host]/[bucket-dir]` (AWS), `abfss://[user]@[host]/[path]` (Azure).
86
+ */
87
+ url?: pulumi.Input<string>;
88
+ }
89
+ /**
90
+ * The set of arguments for constructing a ExternalLocation resource.
91
+ */
92
+ export interface ExternalLocationArgs {
93
+ /**
94
+ * User-supplied free-form text.
95
+ */
96
+ comment?: pulumi.Input<string>;
97
+ /**
98
+ * Name of the databricks.StorageCredential to use with this External Location.
99
+ */
100
+ credentialName: pulumi.Input<string>;
101
+ metastoreId?: pulumi.Input<string>;
102
+ /**
103
+ * Name of External Location, which must be unique within the databricks_metastore. Change forces creation of a new resource.
104
+ */
105
+ name?: pulumi.Input<string>;
106
+ /**
107
+ * Username/groupname of External Location owner. Currently this field can only be changed after the resource is created.
108
+ */
109
+ owner?: pulumi.Input<string>;
110
+ /**
111
+ * Path URL in cloud storage, of the form: `s3://[bucket-host]/[bucket-dir]` (AWS), `abfss://[user]@[host]/[path]` (Azure).
112
+ */
113
+ url: pulumi.Input<string>;
114
+ }
@@ -0,0 +1,80 @@
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.ExternalLocation = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * > **Private Preview** This feature is in [Private Preview](https://docs.databricks.com/release-notes/release-types.html). Contact your Databricks representative to request access.
10
+ *
11
+ * To work with external tables, Unity Catalog introduces two new objects to access and work with external cloud storage:
12
+ * - databricks.StorageCredential represent authentication methods to access cloud storage (e.g. an IAM role for Amazon S3 or a service principal for Azure Storage). Storage credentials are access-controlled to determine which users can use the credential.
13
+ * - `databricks.ExternalLocation` are objects that combine a cloud storage path with a Storage Credential that can be used to access the location.
14
+ *
15
+ * ## Import
16
+ *
17
+ * This resource can be imported by namebash
18
+ *
19
+ * ```sh
20
+ * $ pulumi import databricks:index/externalLocation:ExternalLocation this <name>
21
+ * ```
22
+ */
23
+ class ExternalLocation extends pulumi.CustomResource {
24
+ constructor(name, argsOrState, opts) {
25
+ let resourceInputs = {};
26
+ opts = opts || {};
27
+ if (opts.id) {
28
+ const state = argsOrState;
29
+ resourceInputs["comment"] = state ? state.comment : undefined;
30
+ resourceInputs["credentialName"] = state ? state.credentialName : undefined;
31
+ resourceInputs["metastoreId"] = state ? state.metastoreId : undefined;
32
+ resourceInputs["name"] = state ? state.name : undefined;
33
+ resourceInputs["owner"] = state ? state.owner : undefined;
34
+ resourceInputs["url"] = state ? state.url : undefined;
35
+ }
36
+ else {
37
+ const args = argsOrState;
38
+ if ((!args || args.credentialName === undefined) && !opts.urn) {
39
+ throw new Error("Missing required property 'credentialName'");
40
+ }
41
+ if ((!args || args.url === undefined) && !opts.urn) {
42
+ throw new Error("Missing required property 'url'");
43
+ }
44
+ resourceInputs["comment"] = args ? args.comment : undefined;
45
+ resourceInputs["credentialName"] = args ? args.credentialName : undefined;
46
+ resourceInputs["metastoreId"] = args ? args.metastoreId : undefined;
47
+ resourceInputs["name"] = args ? args.name : undefined;
48
+ resourceInputs["owner"] = args ? args.owner : undefined;
49
+ resourceInputs["url"] = args ? args.url : undefined;
50
+ }
51
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
52
+ super(ExternalLocation.__pulumiType, name, resourceInputs, opts);
53
+ }
54
+ /**
55
+ * Get an existing ExternalLocation resource's state with the given name, ID, and optional extra
56
+ * properties used to qualify the lookup.
57
+ *
58
+ * @param name The _unique_ name of the resulting resource.
59
+ * @param id The _unique_ provider ID of the resource to lookup.
60
+ * @param state Any extra arguments used during the lookup.
61
+ * @param opts Optional settings to control the behavior of the CustomResource.
62
+ */
63
+ static get(name, id, state, opts) {
64
+ return new ExternalLocation(name, state, Object.assign(Object.assign({}, opts), { id: id }));
65
+ }
66
+ /**
67
+ * Returns true if the given object is an instance of ExternalLocation. This is designed to work even
68
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
69
+ */
70
+ static isInstance(obj) {
71
+ if (obj === undefined || obj === null) {
72
+ return false;
73
+ }
74
+ return obj['__pulumiType'] === ExternalLocation.__pulumiType;
75
+ }
76
+ }
77
+ exports.ExternalLocation = ExternalLocation;
78
+ /** @internal */
79
+ ExternalLocation.__pulumiType = 'databricks:index/externalLocation:ExternalLocation';
80
+ //# sourceMappingURL=externalLocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"externalLocation.js","sourceRoot":"","sources":["../externalLocation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ export declare function getAwsAssumeRolePolicy(args: GetAwsAssumeRolePolicyArgs, opts?: pulumi.InvokeOptions): Promise<GetAwsAssumeRolePolicyResult>;
3
+ /**
4
+ * A collection of arguments for invoking getAwsAssumeRolePolicy.
5
+ */
6
+ export interface GetAwsAssumeRolePolicyArgs {
7
+ databricksAccountId?: string;
8
+ /**
9
+ * Account Id that could be found in the bottom left corner of [Accounts Console](https://accounts.cloud.databricks.com/).
10
+ */
11
+ externalId: string;
12
+ /**
13
+ * Either or not this assume role policy should be created for usage log delivery. Defaults to false.
14
+ */
15
+ forLogDelivery?: boolean;
16
+ }
17
+ /**
18
+ * A collection of values returned by getAwsAssumeRolePolicy.
19
+ */
20
+ export interface GetAwsAssumeRolePolicyResult {
21
+ readonly databricksAccountId?: string;
22
+ readonly externalId: string;
23
+ readonly forLogDelivery?: boolean;
24
+ /**
25
+ * The provider-assigned unique ID for this managed resource.
26
+ */
27
+ readonly id: string;
28
+ /**
29
+ * AWS IAM Policy JSON document
30
+ */
31
+ readonly json: string;
32
+ }
33
+ export declare function getAwsAssumeRolePolicyOutput(args: GetAwsAssumeRolePolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetAwsAssumeRolePolicyResult>;
34
+ /**
35
+ * A collection of arguments for invoking getAwsAssumeRolePolicy.
36
+ */
37
+ export interface GetAwsAssumeRolePolicyOutputArgs {
38
+ databricksAccountId?: pulumi.Input<string>;
39
+ /**
40
+ * Account Id that could be found in the bottom left corner of [Accounts Console](https://accounts.cloud.databricks.com/).
41
+ */
42
+ externalId: pulumi.Input<string>;
43
+ /**
44
+ * Either or not this assume role policy should be created for usage log delivery. Defaults to false.
45
+ */
46
+ forLogDelivery?: pulumi.Input<boolean>;
47
+ }
@@ -0,0 +1,24 @@
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.getAwsAssumeRolePolicyOutput = exports.getAwsAssumeRolePolicy = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ function getAwsAssumeRolePolicy(args, opts) {
9
+ if (!opts) {
10
+ opts = {};
11
+ }
12
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
13
+ return pulumi.runtime.invoke("databricks:index/getAwsAssumeRolePolicy:getAwsAssumeRolePolicy", {
14
+ "databricksAccountId": args.databricksAccountId,
15
+ "externalId": args.externalId,
16
+ "forLogDelivery": args.forLogDelivery,
17
+ }, opts);
18
+ }
19
+ exports.getAwsAssumeRolePolicy = getAwsAssumeRolePolicy;
20
+ function getAwsAssumeRolePolicyOutput(args, opts) {
21
+ return pulumi.output(args).apply(a => getAwsAssumeRolePolicy(a, opts));
22
+ }
23
+ exports.getAwsAssumeRolePolicyOutput = getAwsAssumeRolePolicyOutput;
24
+ //# sourceMappingURL=getAwsAssumeRolePolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAwsAssumeRolePolicy.js","sourceRoot":"","sources":["../getAwsAssumeRolePolicy.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC,SAAgB,sBAAsB,CAAC,IAAgC,EAAE,IAA2B;IAChG,IAAI,CAAC,IAAI,EAAE;QACP,IAAI,GAAG,EAAE,CAAA;KACZ;IAED,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gEAAgE,EAAE;QAC3F,qBAAqB,EAAE,IAAI,CAAC,mBAAmB;QAC/C,YAAY,EAAE,IAAI,CAAC,UAAU;QAC7B,gBAAgB,EAAE,IAAI,CAAC,cAAc;KACxC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAXD,wDAWC;AAkCD,SAAgB,4BAA4B,CAAC,IAAsC,EAAE,IAA2B;IAC5G,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAC1E,CAAC;AAFD,oEAEC"}
@@ -0,0 +1,59 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * This datasource configures a simple access policy for AWS S3 buckets, so that Databricks can access data in it.
4
+ *
5
+ * ## Related Resources
6
+ *
7
+ * The following resources are used in the same context:
8
+ *
9
+ * * Provisioning AWS Databricks E2 with a Hub & Spoke firewall for data exfiltration protection guide
10
+ * * End to end workspace management guide
11
+ * * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
12
+ * * 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`.
13
+ */
14
+ export declare function getAwsBucketPolicy(args: GetAwsBucketPolicyArgs, opts?: pulumi.InvokeOptions): Promise<GetAwsBucketPolicyResult>;
15
+ /**
16
+ * A collection of arguments for invoking getAwsBucketPolicy.
17
+ */
18
+ export interface GetAwsBucketPolicyArgs {
19
+ /**
20
+ * AWS S3 Bucket name for which to generate the policy document.
21
+ */
22
+ bucket: string;
23
+ databricksAccountId?: string;
24
+ /**
25
+ * Data access role that can have full access for this bucket
26
+ */
27
+ fullAccessRole?: string;
28
+ }
29
+ /**
30
+ * A collection of values returned by getAwsBucketPolicy.
31
+ */
32
+ export interface GetAwsBucketPolicyResult {
33
+ readonly bucket: string;
34
+ readonly databricksAccountId?: string;
35
+ readonly fullAccessRole?: string;
36
+ /**
37
+ * The provider-assigned unique ID for this managed resource.
38
+ */
39
+ readonly id: string;
40
+ /**
41
+ * (Read-only) AWS IAM Policy JSON document to grant Databricks full access to bucket.
42
+ */
43
+ readonly json: string;
44
+ }
45
+ export declare function getAwsBucketPolicyOutput(args: GetAwsBucketPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetAwsBucketPolicyResult>;
46
+ /**
47
+ * A collection of arguments for invoking getAwsBucketPolicy.
48
+ */
49
+ export interface GetAwsBucketPolicyOutputArgs {
50
+ /**
51
+ * AWS S3 Bucket name for which to generate the policy document.
52
+ */
53
+ bucket: pulumi.Input<string>;
54
+ databricksAccountId?: pulumi.Input<string>;
55
+ /**
56
+ * Data access role that can have full access for this bucket
57
+ */
58
+ fullAccessRole?: pulumi.Input<string>;
59
+ }
@@ -0,0 +1,36 @@
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.getAwsBucketPolicyOutput = exports.getAwsBucketPolicy = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * This datasource configures a simple access policy for AWS S3 buckets, so that Databricks can access data in it.
10
+ *
11
+ * ## Related Resources
12
+ *
13
+ * The following resources are used in the same context:
14
+ *
15
+ * * Provisioning AWS Databricks E2 with a Hub & Spoke firewall for data exfiltration protection guide
16
+ * * End to end workspace management guide
17
+ * * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
18
+ * * 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`.
19
+ */
20
+ function getAwsBucketPolicy(args, opts) {
21
+ if (!opts) {
22
+ opts = {};
23
+ }
24
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
25
+ return pulumi.runtime.invoke("databricks:index/getAwsBucketPolicy:getAwsBucketPolicy", {
26
+ "bucket": args.bucket,
27
+ "databricksAccountId": args.databricksAccountId,
28
+ "fullAccessRole": args.fullAccessRole,
29
+ }, opts);
30
+ }
31
+ exports.getAwsBucketPolicy = getAwsBucketPolicy;
32
+ function getAwsBucketPolicyOutput(args, opts) {
33
+ return pulumi.output(args).apply(a => getAwsBucketPolicy(a, opts));
34
+ }
35
+ exports.getAwsBucketPolicyOutput = getAwsBucketPolicyOutput;
36
+ //# sourceMappingURL=getAwsBucketPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAwsBucketPolicy.js","sourceRoot":"","sources":["../getAwsBucketPolicy.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;GAWG;AACH,SAAgB,kBAAkB,CAAC,IAA4B,EAAE,IAA2B;IACxF,IAAI,CAAC,IAAI,EAAE;QACP,IAAI,GAAG,EAAE,CAAA;KACZ;IAED,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,wDAAwD,EAAE;QACnF,QAAQ,EAAE,IAAI,CAAC,MAAM;QACrB,qBAAqB,EAAE,IAAI,CAAC,mBAAmB;QAC/C,gBAAgB,EAAE,IAAI,CAAC,cAAc;KACxC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAXD,gDAWC;AAkCD,SAAgB,wBAAwB,CAAC,IAAkC,EAAE,IAA2B;IACpG,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AACtE,CAAC;AAFD,4DAEC"}
@@ -0,0 +1,59 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * > **Note** This resource has an evolving API, which may change in future versions of the provider. Please always consult [latest documentation](https://docs.databricks.com/administration-guide/account-api/iam-role.html#language-Your%C2%A0VPC,%C2%A0default) in case of any questions.
4
+ *
5
+ * This data source constructs necessary AWS cross-account policy for you, which is based on [official documentation](https://docs.databricks.com/administration-guide/account-api/iam-role.html#language-Your%C2%A0VPC,%C2%A0default).
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * For more detailed usage please see databricks.getAwsAssumeRolePolicy or databricks.AwsS3Mount pages.
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as databricks from "@pulumi/databricks";
14
+ *
15
+ * const thisAwsCrossAccountPolicy = pulumi.output(databricks.getAwsCrossAccountPolicy());
16
+ * ```
17
+ * ## Related Resources
18
+ *
19
+ * The following resources are used in the same context:
20
+ *
21
+ * * Provisioning AWS Databricks E2 with a Hub & Spoke firewall for data exfiltration protection guide
22
+ * * databricks.getAwsAssumeRolePolicy data to construct the necessary AWS STS assume role policy.
23
+ * * databricks.getAwsBucketPolicy data to configure a simple access policy for AWS S3 buckets, so that Databricks can access data in it.
24
+ * * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
25
+ */
26
+ export declare function getAwsCrossAccountPolicy(args?: GetAwsCrossAccountPolicyArgs, opts?: pulumi.InvokeOptions): Promise<GetAwsCrossAccountPolicyResult>;
27
+ /**
28
+ * A collection of arguments for invoking getAwsCrossAccountPolicy.
29
+ */
30
+ export interface GetAwsCrossAccountPolicyArgs {
31
+ /**
32
+ * List of Data IAM role ARNs that are explicitly granted `iam:PassRole` action.
33
+ */
34
+ passRoles?: string[];
35
+ }
36
+ /**
37
+ * A collection of values returned by getAwsCrossAccountPolicy.
38
+ */
39
+ export interface GetAwsCrossAccountPolicyResult {
40
+ /**
41
+ * The provider-assigned unique ID for this managed resource.
42
+ */
43
+ readonly id: string;
44
+ /**
45
+ * AWS IAM Policy JSON document
46
+ */
47
+ readonly json: string;
48
+ readonly passRoles?: string[];
49
+ }
50
+ export declare function getAwsCrossAccountPolicyOutput(args?: GetAwsCrossAccountPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetAwsCrossAccountPolicyResult>;
51
+ /**
52
+ * A collection of arguments for invoking getAwsCrossAccountPolicy.
53
+ */
54
+ export interface GetAwsCrossAccountPolicyOutputArgs {
55
+ /**
56
+ * List of Data IAM role ARNs that are explicitly granted `iam:PassRole` action.
57
+ */
58
+ passRoles?: pulumi.Input<pulumi.Input<string>[]>;
59
+ }
@@ -0,0 +1,47 @@
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.getAwsCrossAccountPolicyOutput = exports.getAwsCrossAccountPolicy = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * > **Note** This resource has an evolving API, which may change in future versions of the provider. Please always consult [latest documentation](https://docs.databricks.com/administration-guide/account-api/iam-role.html#language-Your%C2%A0VPC,%C2%A0default) in case of any questions.
10
+ *
11
+ * This data source constructs necessary AWS cross-account policy for you, which is based on [official documentation](https://docs.databricks.com/administration-guide/account-api/iam-role.html#language-Your%C2%A0VPC,%C2%A0default).
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * For more detailed usage please see databricks.getAwsAssumeRolePolicy or databricks.AwsS3Mount pages.
16
+ *
17
+ * ```typescript
18
+ * import * as pulumi from "@pulumi/pulumi";
19
+ * import * as databricks from "@pulumi/databricks";
20
+ *
21
+ * const thisAwsCrossAccountPolicy = pulumi.output(databricks.getAwsCrossAccountPolicy());
22
+ * ```
23
+ * ## Related Resources
24
+ *
25
+ * The following resources are used in the same context:
26
+ *
27
+ * * Provisioning AWS Databricks E2 with a Hub & Spoke firewall for data exfiltration protection guide
28
+ * * databricks.getAwsAssumeRolePolicy data to construct the necessary AWS STS assume role policy.
29
+ * * databricks.getAwsBucketPolicy data to configure a simple access policy for AWS S3 buckets, so that Databricks can access data in it.
30
+ * * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
31
+ */
32
+ function getAwsCrossAccountPolicy(args, opts) {
33
+ args = args || {};
34
+ if (!opts) {
35
+ opts = {};
36
+ }
37
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
38
+ return pulumi.runtime.invoke("databricks:index/getAwsCrossAccountPolicy:getAwsCrossAccountPolicy", {
39
+ "passRoles": args.passRoles,
40
+ }, opts);
41
+ }
42
+ exports.getAwsCrossAccountPolicy = getAwsCrossAccountPolicy;
43
+ function getAwsCrossAccountPolicyOutput(args, opts) {
44
+ return pulumi.output(args).apply(a => getAwsCrossAccountPolicy(a, opts));
45
+ }
46
+ exports.getAwsCrossAccountPolicyOutput = getAwsCrossAccountPolicyOutput;
47
+ //# sourceMappingURL=getAwsCrossAccountPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAwsCrossAccountPolicy.js","sourceRoot":"","sources":["../getAwsCrossAccountPolicy.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,wBAAwB,CAAC,IAAmC,EAAE,IAA2B;IACrG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,CAAC,IAAI,EAAE;QACP,IAAI,GAAG,EAAE,CAAA;KACZ;IAED,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,oEAAoE,EAAE;QAC/F,WAAW,EAAE,IAAI,CAAC,SAAS;KAC9B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAVD,4DAUC;AA2BD,SAAgB,8BAA8B,CAAC,IAAyC,EAAE,IAA2B;IACjH,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAC5E,CAAC;AAFD,wEAEC"}
@@ -0,0 +1,54 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * ## Example Usage
4
+ *
5
+ * Listing all catalogs:
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as databricks from "@pulumi/databricks";
10
+ *
11
+ * const all = databricks.getCatalogs({});
12
+ * export const allCatalogs = all;
13
+ * ```
14
+ * ## Related Resources
15
+ *
16
+ * The following resources are used in the same context:
17
+ *
18
+ * * databricks.Table to manage tables within Unity Catalog.
19
+ * * databricks.Schema to manage schemas within Unity Catalog.
20
+ * * databricks.Catalog to manage catalogs within Unity Catalog.
21
+ */
22
+ export declare function getCatalogs(args?: GetCatalogsArgs, opts?: pulumi.InvokeOptions): Promise<GetCatalogsResult>;
23
+ /**
24
+ * A collection of arguments for invoking getCatalogs.
25
+ */
26
+ export interface GetCatalogsArgs {
27
+ /**
28
+ * set of databricks.Catalog names
29
+ */
30
+ ids?: string[];
31
+ }
32
+ /**
33
+ * A collection of values returned by getCatalogs.
34
+ */
35
+ export interface GetCatalogsResult {
36
+ /**
37
+ * The provider-assigned unique ID for this managed resource.
38
+ */
39
+ readonly id: string;
40
+ /**
41
+ * set of databricks.Catalog names
42
+ */
43
+ readonly ids: string[];
44
+ }
45
+ export declare function getCatalogsOutput(args?: GetCatalogsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetCatalogsResult>;
46
+ /**
47
+ * A collection of arguments for invoking getCatalogs.
48
+ */
49
+ export interface GetCatalogsOutputArgs {
50
+ /**
51
+ * set of databricks.Catalog names
52
+ */
53
+ ids?: pulumi.Input<pulumi.Input<string>[]>;
54
+ }
package/getCatalogs.js ADDED
@@ -0,0 +1,43 @@
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.getCatalogsOutput = exports.getCatalogs = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * ## Example Usage
10
+ *
11
+ * Listing all catalogs:
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as databricks from "@pulumi/databricks";
16
+ *
17
+ * const all = databricks.getCatalogs({});
18
+ * export const allCatalogs = all;
19
+ * ```
20
+ * ## Related Resources
21
+ *
22
+ * The following resources are used in the same context:
23
+ *
24
+ * * databricks.Table to manage tables within Unity Catalog.
25
+ * * databricks.Schema to manage schemas within Unity Catalog.
26
+ * * databricks.Catalog to manage catalogs within Unity Catalog.
27
+ */
28
+ function getCatalogs(args, opts) {
29
+ args = args || {};
30
+ if (!opts) {
31
+ opts = {};
32
+ }
33
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
34
+ return pulumi.runtime.invoke("databricks:index/getCatalogs:getCatalogs", {
35
+ "ids": args.ids,
36
+ }, opts);
37
+ }
38
+ exports.getCatalogs = getCatalogs;
39
+ function getCatalogsOutput(args, opts) {
40
+ return pulumi.output(args).apply(a => getCatalogs(a, opts));
41
+ }
42
+ exports.getCatalogsOutput = getCatalogsOutput;
43
+ //# sourceMappingURL=getCatalogs.js.map