@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,122 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { input as inputs, output as outputs } from "./types";
3
+ /**
4
+ * > **Private Preview** This feature is in [Private Preview](https://docs.databricks.com/release-notes/release-types.html). Contact your Databricks representative to request access.
5
+ *
6
+ * To work with external tables, Unity Catalog introduces two new objects to access and work with external cloud storage:
7
+ * - `databricks.StorageCredential` represents 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.
8
+ * - databricks.ExternalLocation are objects that combine a cloud storage path with a Storage Credential that can be used to access the location.
9
+ *
10
+ * ## Example Usage
11
+ *
12
+ * For AWS
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as databricks from "@pulumi/databricks";
17
+ *
18
+ * const external = new databricks.StorageCredential("external", {
19
+ * awsIamRole: {
20
+ * roleArn: aws_iam_role.external_data_access.arn,
21
+ * },
22
+ * comment: "Managed by TF",
23
+ * });
24
+ * const externalCreds = new databricks.Grants("externalCreds", {
25
+ * storageCredential: external.id,
26
+ * grants: [{
27
+ * principal: "Data Engineers",
28
+ * privileges: ["CREATE TABLE"],
29
+ * }],
30
+ * });
31
+ * ```
32
+ *
33
+ * For Azure
34
+ *
35
+ * ```typescript
36
+ * import * as pulumi from "@pulumi/pulumi";
37
+ * import * as databricks from "@pulumi/databricks";
38
+ *
39
+ * const external = new databricks.StorageCredential("external", {
40
+ * azureServicePrincipal: {
41
+ * directoryId: _var.tenant_id,
42
+ * applicationId: azuread_application.ext_cred.application_id,
43
+ * clientSecret: azuread_application_password.ext_cred.value,
44
+ * },
45
+ * comment: "Managed by TF",
46
+ * });
47
+ * const externalCreds = new databricks.Grants("externalCreds", {
48
+ * storageCredential: external.id,
49
+ * grants: [{
50
+ * principal: "Data Engineers",
51
+ * privileges: ["CREATE TABLE"],
52
+ * }],
53
+ * });
54
+ * ```
55
+ *
56
+ * ## Import
57
+ *
58
+ * This resource can be imported by namebash
59
+ *
60
+ * ```sh
61
+ * $ pulumi import databricks:index/storageCredential:StorageCredential this <name>
62
+ * ```
63
+ */
64
+ export declare class StorageCredential extends pulumi.CustomResource {
65
+ /**
66
+ * Get an existing StorageCredential resource's state with the given name, ID, and optional extra
67
+ * properties used to qualify the lookup.
68
+ *
69
+ * @param name The _unique_ name of the resulting resource.
70
+ * @param id The _unique_ provider ID of the resource to lookup.
71
+ * @param state Any extra arguments used during the lookup.
72
+ * @param opts Optional settings to control the behavior of the CustomResource.
73
+ */
74
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: StorageCredentialState, opts?: pulumi.CustomResourceOptions): StorageCredential;
75
+ /**
76
+ * Returns true if the given object is an instance of StorageCredential. This is designed to work even
77
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
78
+ */
79
+ static isInstance(obj: any): obj is StorageCredential;
80
+ readonly awsIamRole: pulumi.Output<outputs.StorageCredentialAwsIamRole | undefined>;
81
+ readonly azureServicePrincipal: pulumi.Output<outputs.StorageCredentialAzureServicePrincipal | undefined>;
82
+ readonly comment: pulumi.Output<string | undefined>;
83
+ readonly metastoreId: pulumi.Output<string>;
84
+ /**
85
+ * Name of Storage Credentials, which must be unique within the databricks_metastore. Change forces creation of a new resource.
86
+ */
87
+ readonly name: pulumi.Output<string>;
88
+ /**
89
+ * Create a StorageCredential resource with the given unique name, arguments, and options.
90
+ *
91
+ * @param name The _unique_ name of the resource.
92
+ * @param args The arguments to use to populate this resource's properties.
93
+ * @param opts A bag of options that control this resource's behavior.
94
+ */
95
+ constructor(name: string, args?: StorageCredentialArgs, opts?: pulumi.CustomResourceOptions);
96
+ }
97
+ /**
98
+ * Input properties used for looking up and filtering StorageCredential resources.
99
+ */
100
+ export interface StorageCredentialState {
101
+ awsIamRole?: pulumi.Input<inputs.StorageCredentialAwsIamRole>;
102
+ azureServicePrincipal?: pulumi.Input<inputs.StorageCredentialAzureServicePrincipal>;
103
+ comment?: pulumi.Input<string>;
104
+ metastoreId?: pulumi.Input<string>;
105
+ /**
106
+ * Name of Storage Credentials, which must be unique within the databricks_metastore. Change forces creation of a new resource.
107
+ */
108
+ name?: pulumi.Input<string>;
109
+ }
110
+ /**
111
+ * The set of arguments for constructing a StorageCredential resource.
112
+ */
113
+ export interface StorageCredentialArgs {
114
+ awsIamRole?: pulumi.Input<inputs.StorageCredentialAwsIamRole>;
115
+ azureServicePrincipal?: pulumi.Input<inputs.StorageCredentialAzureServicePrincipal>;
116
+ comment?: pulumi.Input<string>;
117
+ metastoreId?: pulumi.Input<string>;
118
+ /**
119
+ * Name of Storage Credentials, which must be unique within the databricks_metastore. Change forces creation of a new resource.
120
+ */
121
+ name?: pulumi.Input<string>;
122
+ }
@@ -0,0 +1,118 @@
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.StorageCredential = 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` represents 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
+ * ## Example Usage
16
+ *
17
+ * For AWS
18
+ *
19
+ * ```typescript
20
+ * import * as pulumi from "@pulumi/pulumi";
21
+ * import * as databricks from "@pulumi/databricks";
22
+ *
23
+ * const external = new databricks.StorageCredential("external", {
24
+ * awsIamRole: {
25
+ * roleArn: aws_iam_role.external_data_access.arn,
26
+ * },
27
+ * comment: "Managed by TF",
28
+ * });
29
+ * const externalCreds = new databricks.Grants("externalCreds", {
30
+ * storageCredential: external.id,
31
+ * grants: [{
32
+ * principal: "Data Engineers",
33
+ * privileges: ["CREATE TABLE"],
34
+ * }],
35
+ * });
36
+ * ```
37
+ *
38
+ * For Azure
39
+ *
40
+ * ```typescript
41
+ * import * as pulumi from "@pulumi/pulumi";
42
+ * import * as databricks from "@pulumi/databricks";
43
+ *
44
+ * const external = new databricks.StorageCredential("external", {
45
+ * azureServicePrincipal: {
46
+ * directoryId: _var.tenant_id,
47
+ * applicationId: azuread_application.ext_cred.application_id,
48
+ * clientSecret: azuread_application_password.ext_cred.value,
49
+ * },
50
+ * comment: "Managed by TF",
51
+ * });
52
+ * const externalCreds = new databricks.Grants("externalCreds", {
53
+ * storageCredential: external.id,
54
+ * grants: [{
55
+ * principal: "Data Engineers",
56
+ * privileges: ["CREATE TABLE"],
57
+ * }],
58
+ * });
59
+ * ```
60
+ *
61
+ * ## Import
62
+ *
63
+ * This resource can be imported by namebash
64
+ *
65
+ * ```sh
66
+ * $ pulumi import databricks:index/storageCredential:StorageCredential this <name>
67
+ * ```
68
+ */
69
+ class StorageCredential extends pulumi.CustomResource {
70
+ constructor(name, argsOrState, opts) {
71
+ let resourceInputs = {};
72
+ opts = opts || {};
73
+ if (opts.id) {
74
+ const state = argsOrState;
75
+ resourceInputs["awsIamRole"] = state ? state.awsIamRole : undefined;
76
+ resourceInputs["azureServicePrincipal"] = state ? state.azureServicePrincipal : undefined;
77
+ resourceInputs["comment"] = state ? state.comment : undefined;
78
+ resourceInputs["metastoreId"] = state ? state.metastoreId : undefined;
79
+ resourceInputs["name"] = state ? state.name : undefined;
80
+ }
81
+ else {
82
+ const args = argsOrState;
83
+ resourceInputs["awsIamRole"] = args ? args.awsIamRole : undefined;
84
+ resourceInputs["azureServicePrincipal"] = args ? args.azureServicePrincipal : undefined;
85
+ resourceInputs["comment"] = args ? args.comment : undefined;
86
+ resourceInputs["metastoreId"] = args ? args.metastoreId : undefined;
87
+ resourceInputs["name"] = args ? args.name : undefined;
88
+ }
89
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
90
+ super(StorageCredential.__pulumiType, name, resourceInputs, opts);
91
+ }
92
+ /**
93
+ * Get an existing StorageCredential resource's state with the given name, ID, and optional extra
94
+ * properties used to qualify the lookup.
95
+ *
96
+ * @param name The _unique_ name of the resulting resource.
97
+ * @param id The _unique_ provider ID of the resource to lookup.
98
+ * @param state Any extra arguments used during the lookup.
99
+ * @param opts Optional settings to control the behavior of the CustomResource.
100
+ */
101
+ static get(name, id, state, opts) {
102
+ return new StorageCredential(name, state, Object.assign(Object.assign({}, opts), { id: id }));
103
+ }
104
+ /**
105
+ * Returns true if the given object is an instance of StorageCredential. This is designed to work even
106
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
107
+ */
108
+ static isInstance(obj) {
109
+ if (obj === undefined || obj === null) {
110
+ return false;
111
+ }
112
+ return obj['__pulumiType'] === StorageCredential.__pulumiType;
113
+ }
114
+ }
115
+ exports.StorageCredential = StorageCredential;
116
+ /** @internal */
117
+ StorageCredential.__pulumiType = 'databricks:index/storageCredential:StorageCredential';
118
+ //# sourceMappingURL=storageCredential.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageCredential.js","sourceRoot":"","sources":["../storageCredential.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAa,iBAAkB,SAAQ,MAAM,CAAC,cAAc;IA6CxD,YAAY,IAAY,EAAE,WAA4D,EAAE,IAAmC;QACvH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAiD,CAAC;YAChE,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,uBAAuB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3D;aAAM;YACH,MAAM,IAAI,GAAG,WAAgD,CAAC;YAC9D,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;YACxF,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,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,iBAAiB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAhED;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA8B,EAAE,IAAmC;QAC5H,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACxE,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,iBAAiB,CAAC,YAAY,CAAC;IAClE,CAAC;;AA1BL,8CAkEC;AApDG,gBAAgB;AACO,8BAAY,GAAG,sDAAsD,CAAC"}
package/table.d.ts ADDED
@@ -0,0 +1,249 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { input as inputs, output as outputs } from "./types";
3
+ /**
4
+ * > **Private Preview** This feature is in [Private Preview](https://docs.databricks.com/release-notes/release-types.html). Contact your Databricks representative to request access.
5
+ *
6
+ * Within a metastore, Unity Catalog provides a 3-level namespace for organizing data: Catalogs, databases (also called schemas), and tables / views.
7
+ *
8
+ * > **Note** This resource has an evolving API, which will change in the upcoming versions of the provider in order to simplify user experience.
9
+ *
10
+ * A `databricks.Table` is contained within databricks_schema.
11
+ *
12
+ * ## Example Usage
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as databricks from "@pulumi/databricks";
17
+ *
18
+ * const sandbox = new databricks.Catalog("sandbox", {
19
+ * metastoreId: databricks_metastore["this"].id,
20
+ * comment: "this catalog is managed by terraform",
21
+ * properties: {
22
+ * purpose: "testing",
23
+ * },
24
+ * });
25
+ * const things = new databricks.Schema("things", {
26
+ * catalogName: sandbox.id,
27
+ * comment: "this database is managed by terraform",
28
+ * properties: {
29
+ * kind: "various",
30
+ * },
31
+ * });
32
+ * const thing = new databricks.Table("thing", {
33
+ * catalogName: sandbox.id,
34
+ * schemaName: things.name,
35
+ * tableType: "MANAGED",
36
+ * dataSourceFormat: "DELTA",
37
+ * columns: [
38
+ * {
39
+ * name: "id",
40
+ * position: 0,
41
+ * typeName: "INT",
42
+ * typeText: "int",
43
+ * typeJson: "{\"name\":\"id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}}",
44
+ * },
45
+ * {
46
+ * name: "name",
47
+ * position: 1,
48
+ * typeName: "STRING",
49
+ * typeText: "varchar(64)",
50
+ * typeJson: "{\"name\":\"name\",\"type\":\"varchar(64)\",\"nullable\":true,\"metadata\":{}}",
51
+ * },
52
+ * ],
53
+ * comment: "this table is managed by terraform",
54
+ * }, {
55
+ * provider: databricks.workspace,
56
+ * });
57
+ * ```
58
+ * ## Related Resources
59
+ *
60
+ * The following resources are used in the same context:
61
+ *
62
+ * * databricks.Table data to list tables within Unity Catalog.
63
+ * * databricks.Schema data to list schemas within Unity Catalog.
64
+ * * databricks.Catalog data to list catalogs within Unity Catalog.
65
+ *
66
+ * ## Import
67
+ *
68
+ * This resource can be imported by full name*`catalog`.`schema`.`table`*bash
69
+ *
70
+ * ```sh
71
+ * $ pulumi import databricks:index/table:Table this <full-name>
72
+ * ```
73
+ */
74
+ export declare class Table extends pulumi.CustomResource {
75
+ /**
76
+ * Get an existing Table resource's state with the given name, ID, and optional extra
77
+ * properties used to qualify the lookup.
78
+ *
79
+ * @param name The _unique_ name of the resulting resource.
80
+ * @param id The _unique_ provider ID of the resource to lookup.
81
+ * @param state Any extra arguments used during the lookup.
82
+ * @param opts Optional settings to control the behavior of the CustomResource.
83
+ */
84
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TableState, opts?: pulumi.CustomResourceOptions): Table;
85
+ /**
86
+ * Returns true if the given object is an instance of Table. 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: any): obj is Table;
90
+ /**
91
+ * Name of parent catalog
92
+ */
93
+ readonly catalogName: pulumi.Output<string>;
94
+ readonly columns: pulumi.Output<outputs.TableColumn[]>;
95
+ /**
96
+ * User-supplied free-form text.
97
+ */
98
+ readonly comment: pulumi.Output<string | undefined>;
99
+ /**
100
+ * External tables are supported in multiple data source formats. The string constants identifying these formats are `DELTA`, `CSV`, `JSON`, `AVRO`, `PARQUET`, `ORC`, `TEXT`
101
+ */
102
+ readonly dataSourceFormat: pulumi.Output<string>;
103
+ /**
104
+ * User-visible name of column
105
+ */
106
+ readonly name: pulumi.Output<string>;
107
+ /**
108
+ * Username/groupname of Table owner. Currently this field can only be changed after the resource is created.
109
+ */
110
+ readonly owner: pulumi.Output<string>;
111
+ /**
112
+ * Extensible Table properties.
113
+ */
114
+ readonly properties: pulumi.Output<{
115
+ [key: string]: any;
116
+ } | undefined>;
117
+ /**
118
+ * Name of parent Schema relative to parent Catalog
119
+ */
120
+ readonly schemaName: pulumi.Output<string>;
121
+ /**
122
+ * For EXTERNAL Tables only: the name of storage credential to use. This cannot be updated
123
+ */
124
+ readonly storageCredentialName: pulumi.Output<string | undefined>;
125
+ /**
126
+ * URL of storage location for Table data (required for EXTERNAL Tables. For Managed Tables, if the path is provided it needs to be a Staging Table path that has been generated through the Staging Table API, otherwise should be empty)
127
+ */
128
+ readonly storageLocation: pulumi.Output<string | undefined>;
129
+ /**
130
+ * Distinguishes a view vs. managed/external Table. `MANAGED`, `EXTERNAL` or `VIEW`
131
+ */
132
+ readonly tableType: pulumi.Output<string>;
133
+ /**
134
+ * SQL text defining the view (for `tableType == "VIEW"`)
135
+ */
136
+ readonly viewDefinition: pulumi.Output<string | undefined>;
137
+ /**
138
+ * Create a Table resource with the given unique name, arguments, and options.
139
+ *
140
+ * @param name The _unique_ name of the resource.
141
+ * @param args The arguments to use to populate this resource's properties.
142
+ * @param opts A bag of options that control this resource's behavior.
143
+ */
144
+ constructor(name: string, args: TableArgs, opts?: pulumi.CustomResourceOptions);
145
+ }
146
+ /**
147
+ * Input properties used for looking up and filtering Table resources.
148
+ */
149
+ export interface TableState {
150
+ /**
151
+ * Name of parent catalog
152
+ */
153
+ catalogName?: pulumi.Input<string>;
154
+ columns?: pulumi.Input<pulumi.Input<inputs.TableColumn>[]>;
155
+ /**
156
+ * User-supplied free-form text.
157
+ */
158
+ comment?: pulumi.Input<string>;
159
+ /**
160
+ * External tables are supported in multiple data source formats. The string constants identifying these formats are `DELTA`, `CSV`, `JSON`, `AVRO`, `PARQUET`, `ORC`, `TEXT`
161
+ */
162
+ dataSourceFormat?: pulumi.Input<string>;
163
+ /**
164
+ * User-visible name of column
165
+ */
166
+ name?: pulumi.Input<string>;
167
+ /**
168
+ * Username/groupname of Table owner. Currently this field can only be changed after the resource is created.
169
+ */
170
+ owner?: pulumi.Input<string>;
171
+ /**
172
+ * Extensible Table properties.
173
+ */
174
+ properties?: pulumi.Input<{
175
+ [key: string]: any;
176
+ }>;
177
+ /**
178
+ * Name of parent Schema relative to parent Catalog
179
+ */
180
+ schemaName?: pulumi.Input<string>;
181
+ /**
182
+ * For EXTERNAL Tables only: the name of storage credential to use. This cannot be updated
183
+ */
184
+ storageCredentialName?: pulumi.Input<string>;
185
+ /**
186
+ * URL of storage location for Table data (required for EXTERNAL Tables. For Managed Tables, if the path is provided it needs to be a Staging Table path that has been generated through the Staging Table API, otherwise should be empty)
187
+ */
188
+ storageLocation?: pulumi.Input<string>;
189
+ /**
190
+ * Distinguishes a view vs. managed/external Table. `MANAGED`, `EXTERNAL` or `VIEW`
191
+ */
192
+ tableType?: pulumi.Input<string>;
193
+ /**
194
+ * SQL text defining the view (for `tableType == "VIEW"`)
195
+ */
196
+ viewDefinition?: pulumi.Input<string>;
197
+ }
198
+ /**
199
+ * The set of arguments for constructing a Table resource.
200
+ */
201
+ export interface TableArgs {
202
+ /**
203
+ * Name of parent catalog
204
+ */
205
+ catalogName: pulumi.Input<string>;
206
+ columns: pulumi.Input<pulumi.Input<inputs.TableColumn>[]>;
207
+ /**
208
+ * User-supplied free-form text.
209
+ */
210
+ comment?: pulumi.Input<string>;
211
+ /**
212
+ * External tables are supported in multiple data source formats. The string constants identifying these formats are `DELTA`, `CSV`, `JSON`, `AVRO`, `PARQUET`, `ORC`, `TEXT`
213
+ */
214
+ dataSourceFormat: pulumi.Input<string>;
215
+ /**
216
+ * User-visible name of column
217
+ */
218
+ name?: pulumi.Input<string>;
219
+ /**
220
+ * Username/groupname of Table owner. Currently this field can only be changed after the resource is created.
221
+ */
222
+ owner?: pulumi.Input<string>;
223
+ /**
224
+ * Extensible Table properties.
225
+ */
226
+ properties?: pulumi.Input<{
227
+ [key: string]: any;
228
+ }>;
229
+ /**
230
+ * Name of parent Schema relative to parent Catalog
231
+ */
232
+ schemaName: pulumi.Input<string>;
233
+ /**
234
+ * For EXTERNAL Tables only: the name of storage credential to use. This cannot be updated
235
+ */
236
+ storageCredentialName?: pulumi.Input<string>;
237
+ /**
238
+ * URL of storage location for Table data (required for EXTERNAL Tables. For Managed Tables, if the path is provided it needs to be a Staging Table path that has been generated through the Staging Table API, otherwise should be empty)
239
+ */
240
+ storageLocation?: pulumi.Input<string>;
241
+ /**
242
+ * Distinguishes a view vs. managed/external Table. `MANAGED`, `EXTERNAL` or `VIEW`
243
+ */
244
+ tableType: pulumi.Input<string>;
245
+ /**
246
+ * SQL text defining the view (for `tableType == "VIEW"`)
247
+ */
248
+ viewDefinition?: pulumi.Input<string>;
249
+ }
package/table.js ADDED
@@ -0,0 +1,157 @@
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.Table = 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
+ * Within a metastore, Unity Catalog provides a 3-level namespace for organizing data: Catalogs, databases (also called schemas), and tables / views.
12
+ *
13
+ * > **Note** This resource has an evolving API, which will change in the upcoming versions of the provider in order to simplify user experience.
14
+ *
15
+ * A `databricks.Table` is contained within databricks_schema.
16
+ *
17
+ * ## Example Usage
18
+ *
19
+ * ```typescript
20
+ * import * as pulumi from "@pulumi/pulumi";
21
+ * import * as databricks from "@pulumi/databricks";
22
+ *
23
+ * const sandbox = new databricks.Catalog("sandbox", {
24
+ * metastoreId: databricks_metastore["this"].id,
25
+ * comment: "this catalog is managed by terraform",
26
+ * properties: {
27
+ * purpose: "testing",
28
+ * },
29
+ * });
30
+ * const things = new databricks.Schema("things", {
31
+ * catalogName: sandbox.id,
32
+ * comment: "this database is managed by terraform",
33
+ * properties: {
34
+ * kind: "various",
35
+ * },
36
+ * });
37
+ * const thing = new databricks.Table("thing", {
38
+ * catalogName: sandbox.id,
39
+ * schemaName: things.name,
40
+ * tableType: "MANAGED",
41
+ * dataSourceFormat: "DELTA",
42
+ * columns: [
43
+ * {
44
+ * name: "id",
45
+ * position: 0,
46
+ * typeName: "INT",
47
+ * typeText: "int",
48
+ * typeJson: "{\"name\":\"id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}}",
49
+ * },
50
+ * {
51
+ * name: "name",
52
+ * position: 1,
53
+ * typeName: "STRING",
54
+ * typeText: "varchar(64)",
55
+ * typeJson: "{\"name\":\"name\",\"type\":\"varchar(64)\",\"nullable\":true,\"metadata\":{}}",
56
+ * },
57
+ * ],
58
+ * comment: "this table is managed by terraform",
59
+ * }, {
60
+ * provider: databricks.workspace,
61
+ * });
62
+ * ```
63
+ * ## Related Resources
64
+ *
65
+ * The following resources are used in the same context:
66
+ *
67
+ * * databricks.Table data to list tables within Unity Catalog.
68
+ * * databricks.Schema data to list schemas within Unity Catalog.
69
+ * * databricks.Catalog data to list catalogs within Unity Catalog.
70
+ *
71
+ * ## Import
72
+ *
73
+ * This resource can be imported by full name*`catalog`.`schema`.`table`*bash
74
+ *
75
+ * ```sh
76
+ * $ pulumi import databricks:index/table:Table this <full-name>
77
+ * ```
78
+ */
79
+ class Table extends pulumi.CustomResource {
80
+ constructor(name, argsOrState, opts) {
81
+ let resourceInputs = {};
82
+ opts = opts || {};
83
+ if (opts.id) {
84
+ const state = argsOrState;
85
+ resourceInputs["catalogName"] = state ? state.catalogName : undefined;
86
+ resourceInputs["columns"] = state ? state.columns : undefined;
87
+ resourceInputs["comment"] = state ? state.comment : undefined;
88
+ resourceInputs["dataSourceFormat"] = state ? state.dataSourceFormat : undefined;
89
+ resourceInputs["name"] = state ? state.name : undefined;
90
+ resourceInputs["owner"] = state ? state.owner : undefined;
91
+ resourceInputs["properties"] = state ? state.properties : undefined;
92
+ resourceInputs["schemaName"] = state ? state.schemaName : undefined;
93
+ resourceInputs["storageCredentialName"] = state ? state.storageCredentialName : undefined;
94
+ resourceInputs["storageLocation"] = state ? state.storageLocation : undefined;
95
+ resourceInputs["tableType"] = state ? state.tableType : undefined;
96
+ resourceInputs["viewDefinition"] = state ? state.viewDefinition : undefined;
97
+ }
98
+ else {
99
+ const args = argsOrState;
100
+ if ((!args || args.catalogName === undefined) && !opts.urn) {
101
+ throw new Error("Missing required property 'catalogName'");
102
+ }
103
+ if ((!args || args.columns === undefined) && !opts.urn) {
104
+ throw new Error("Missing required property 'columns'");
105
+ }
106
+ if ((!args || args.dataSourceFormat === undefined) && !opts.urn) {
107
+ throw new Error("Missing required property 'dataSourceFormat'");
108
+ }
109
+ if ((!args || args.schemaName === undefined) && !opts.urn) {
110
+ throw new Error("Missing required property 'schemaName'");
111
+ }
112
+ if ((!args || args.tableType === undefined) && !opts.urn) {
113
+ throw new Error("Missing required property 'tableType'");
114
+ }
115
+ resourceInputs["catalogName"] = args ? args.catalogName : undefined;
116
+ resourceInputs["columns"] = args ? args.columns : undefined;
117
+ resourceInputs["comment"] = args ? args.comment : undefined;
118
+ resourceInputs["dataSourceFormat"] = args ? args.dataSourceFormat : undefined;
119
+ resourceInputs["name"] = args ? args.name : undefined;
120
+ resourceInputs["owner"] = args ? args.owner : undefined;
121
+ resourceInputs["properties"] = args ? args.properties : undefined;
122
+ resourceInputs["schemaName"] = args ? args.schemaName : undefined;
123
+ resourceInputs["storageCredentialName"] = args ? args.storageCredentialName : undefined;
124
+ resourceInputs["storageLocation"] = args ? args.storageLocation : undefined;
125
+ resourceInputs["tableType"] = args ? args.tableType : undefined;
126
+ resourceInputs["viewDefinition"] = args ? args.viewDefinition : undefined;
127
+ }
128
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
129
+ super(Table.__pulumiType, name, resourceInputs, opts);
130
+ }
131
+ /**
132
+ * Get an existing Table resource's state with the given name, ID, and optional extra
133
+ * properties used to qualify the lookup.
134
+ *
135
+ * @param name The _unique_ name of the resulting resource.
136
+ * @param id The _unique_ provider ID of the resource to lookup.
137
+ * @param state Any extra arguments used during the lookup.
138
+ * @param opts Optional settings to control the behavior of the CustomResource.
139
+ */
140
+ static get(name, id, state, opts) {
141
+ return new Table(name, state, Object.assign(Object.assign({}, opts), { id: id }));
142
+ }
143
+ /**
144
+ * Returns true if the given object is an instance of Table. This is designed to work even
145
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
146
+ */
147
+ static isInstance(obj) {
148
+ if (obj === undefined || obj === null) {
149
+ return false;
150
+ }
151
+ return obj['__pulumiType'] === Table.__pulumiType;
152
+ }
153
+ }
154
+ exports.Table = Table;
155
+ /** @internal */
156
+ Table.__pulumiType = 'databricks:index/table:Table';
157
+ //# sourceMappingURL=table.js.map
package/table.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../table.ts"],"names":[],"mappings":"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"}