@pulumi/databricks 1.22.0-alpha.1693027524 → 1.22.0

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 (61) hide show
  1. package/accessControlRuleSet.d.ts +125 -1
  2. package/accessControlRuleSet.js +119 -1
  3. package/accessControlRuleSet.js.map +1 -1
  4. package/catalog.d.ts +12 -0
  5. package/catalog.js +2 -0
  6. package/catalog.js.map +1 -1
  7. package/connection.d.ts +163 -0
  8. package/connection.js +108 -0
  9. package/connection.js.map +1 -0
  10. package/externalLocation.d.ts +44 -6
  11. package/externalLocation.js +6 -0
  12. package/externalLocation.js.map +1 -1
  13. package/getCurrentUser.d.ts +2 -0
  14. package/getCurrentUser.js +1 -0
  15. package/getCurrentUser.js.map +1 -1
  16. package/getGroup.d.ts +12 -0
  17. package/getGroup.js +1 -0
  18. package/getGroup.js.map +1 -1
  19. package/getServicePrincipal.d.ts +12 -0
  20. package/getServicePrincipal.js +1 -0
  21. package/getServicePrincipal.js.map +1 -1
  22. package/getUser.d.ts +4 -0
  23. package/getUser.js.map +1 -1
  24. package/grants.d.ts +3 -0
  25. package/grants.js +2 -0
  26. package/grants.js.map +1 -1
  27. package/index.d.ts +3 -0
  28. package/index.js +8 -3
  29. package/index.js.map +1 -1
  30. package/metastore.d.ts +15 -3
  31. package/metastore.js +4 -3
  32. package/metastore.js.map +1 -1
  33. package/metastoreAssignment.d.ts +1 -0
  34. package/metastoreAssignment.js +1 -0
  35. package/metastoreAssignment.js.map +1 -1
  36. package/mlflowModel.d.ts +3 -6
  37. package/mlflowModel.js +0 -2
  38. package/mlflowModel.js.map +1 -1
  39. package/mwsCustomerManagedKeys.d.ts +49 -3
  40. package/mwsCustomerManagedKeys.js +37 -0
  41. package/mwsCustomerManagedKeys.js.map +1 -1
  42. package/mwsWorkspaces.d.ts +9 -0
  43. package/mwsWorkspaces.js.map +1 -1
  44. package/package.json +2 -2
  45. package/share.d.ts +12 -0
  46. package/share.js +2 -0
  47. package/share.js.map +1 -1
  48. package/sqlAlert.d.ts +6 -0
  49. package/sqlAlert.js +4 -0
  50. package/sqlAlert.js.map +1 -1
  51. package/sqlDashboard.d.ts +6 -0
  52. package/sqlDashboard.js +4 -0
  53. package/sqlDashboard.js.map +1 -1
  54. package/sqlQuery.d.ts +6 -0
  55. package/sqlQuery.js +4 -0
  56. package/sqlQuery.js.map +1 -1
  57. package/storageCredential.d.ts +3 -0
  58. package/storageCredential.js +2 -0
  59. package/storageCredential.js.map +1 -1
  60. package/types/input.d.ts +36 -14
  61. package/types/output.d.ts +34 -12
@@ -4,10 +4,128 @@ import * as outputs from "./types/output";
4
4
  /**
5
5
  * This resource allows you to manage access rules on Databricks account level resources. For convenience we allow accessing this resource through the Databricks account and workspace.
6
6
  *
7
- * > **Note** Currently, we only support managing access rules on service principal resources through `databricks.AccessControlRuleSet`.
7
+ * > **Note** Currently, we only support managing access rules on service principal, group and account resources through `databricks.AccessControlRuleSet`.
8
8
  *
9
9
  * > **Warning** `databricks.AccessControlRuleSet` cannot be used to manage access rules for resources supported by databricks_permissions. Refer to its documentation for more information.
10
10
  *
11
+ * ## Service principal rule set usage
12
+ *
13
+ * Through a Databricks workspace:
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as databricks from "@pulumi/databricks";
18
+ *
19
+ * const accountId = "00000000-0000-0000-0000-000000000000";
20
+ * const ds = databricks.getGroup({
21
+ * displayName: "Data Science",
22
+ * });
23
+ * const automationSp = new databricks.ServicePrincipal("automationSp", {displayName: "SP_FOR_AUTOMATION"});
24
+ * const automationSpRuleSet = new databricks.AccessControlRuleSet("automationSpRuleSet", {grantRules: [{
25
+ * principals: [ds.then(ds => ds.aclPrincipalId)],
26
+ * role: "roles/servicePrincipal.user",
27
+ * }]});
28
+ * ```
29
+ *
30
+ * Through AWS Databricks account:
31
+ *
32
+ * ```typescript
33
+ * import * as pulumi from "@pulumi/pulumi";
34
+ * import * as databricks from "@pulumi/databricks";
35
+ *
36
+ * const accountId = "00000000-0000-0000-0000-000000000000";
37
+ * // account level group creation
38
+ * const ds = new databricks.Group("ds", {});
39
+ * const automationSp = new databricks.ServicePrincipal("automationSp", {displayName: "SP_FOR_AUTOMATION"});
40
+ * const automationSpRuleSet = new databricks.AccessControlRuleSet("automationSpRuleSet", {grantRules: [{
41
+ * principals: [ds.aclPrincipalId],
42
+ * role: "roles/servicePrincipal.user",
43
+ * }]});
44
+ * ```
45
+ *
46
+ * Through Azure Databricks account:
47
+ *
48
+ * ```typescript
49
+ * import * as pulumi from "@pulumi/pulumi";
50
+ * import * as databricks from "@pulumi/databricks";
51
+ *
52
+ * const accountId = "00000000-0000-0000-0000-000000000000";
53
+ * // account level group creation
54
+ * const ds = new databricks.Group("ds", {});
55
+ * const automationSp = new databricks.ServicePrincipal("automationSp", {
56
+ * applicationId: "00000000-0000-0000-0000-000000000000",
57
+ * displayName: "SP_FOR_AUTOMATION",
58
+ * });
59
+ * const automationSpRuleSet = new databricks.AccessControlRuleSet("automationSpRuleSet", {grantRules: [{
60
+ * principals: [ds.aclPrincipalId],
61
+ * role: "roles/servicePrincipal.user",
62
+ * }]});
63
+ * ```
64
+ *
65
+ * Through GCP Databricks account:
66
+ *
67
+ * ```typescript
68
+ * import * as pulumi from "@pulumi/pulumi";
69
+ * import * as databricks from "@pulumi/databricks";
70
+ *
71
+ * const accountId = "00000000-0000-0000-0000-000000000000";
72
+ * // account level group creation
73
+ * const ds = new databricks.Group("ds", {});
74
+ * const automationSp = new databricks.ServicePrincipal("automationSp", {displayName: "SP_FOR_AUTOMATION"});
75
+ * const automationSpRuleSet = new databricks.AccessControlRuleSet("automationSpRuleSet", {grantRules: [{
76
+ * principals: [ds.aclPrincipalId],
77
+ * role: "roles/servicePrincipal.user",
78
+ * }]});
79
+ * ```
80
+ *
81
+ * ## Group rule set usage
82
+ *
83
+ * Refer to the appropriate provider configuration as shown in the examples for service principal rule set.
84
+ *
85
+ * ```typescript
86
+ * import * as pulumi from "@pulumi/pulumi";
87
+ * import * as databricks from "@pulumi/databricks";
88
+ *
89
+ * const accountId = "00000000-0000-0000-0000-000000000000";
90
+ * const ds = databricks.getGroup({
91
+ * displayName: "Data Science",
92
+ * });
93
+ * const john = databricks.getUser({
94
+ * userName: "john.doe@example.com",
95
+ * });
96
+ * const dsGroupRuleSet = new databricks.AccessControlRuleSet("dsGroupRuleSet", {grantRules: [{
97
+ * principals: [john.then(john => john.aclPrincipalId)],
98
+ * role: "roles/group.manager",
99
+ * }]});
100
+ * ```
101
+ *
102
+ * ## Account rule set usage
103
+ *
104
+ * Refer to the appropriate provider configuration as shown in the examples for service principal rule set.
105
+ *
106
+ * ```typescript
107
+ * import * as pulumi from "@pulumi/pulumi";
108
+ * import * as databricks from "@pulumi/databricks";
109
+ *
110
+ * const accountId = "00000000-0000-0000-0000-000000000000";
111
+ * const ds = databricks.getGroup({
112
+ * displayName: "Data Science",
113
+ * });
114
+ * const john = databricks.getUser({
115
+ * userName: "john.doe@example.com",
116
+ * });
117
+ * const accountRuleSet = new databricks.AccessControlRuleSet("accountRuleSet", {grantRules: [
118
+ * {
119
+ * principals: [john.then(john => john.aclPrincipalId)],
120
+ * role: "roles/group.manager",
121
+ * },
122
+ * {
123
+ * principals: [data.databricks_user.ds.acl_principal_id],
124
+ * role: "roles/servicePrincipal.manager",
125
+ * },
126
+ * ]});
127
+ * ```
128
+ *
11
129
  * ## Related Resources
12
130
  *
13
131
  * The following resources are often used in the same context:
@@ -42,6 +160,8 @@ export declare class AccessControlRuleSet extends pulumi.CustomResource {
42
160
  /**
43
161
  * Unique identifier of a rule set. The name determines the resource to which the rule set applies. Currently, only default rule sets are supported. The following rule set formats are supported:
44
162
  * * `accounts/{account_id}/servicePrincipals/{service_principal_application_id}/ruleSets/default`
163
+ * * `accounts/{account_id}/groups/{group_id}/ruleSets/default`
164
+ * * `accounts/{account_id}/ruleSets/default`
45
165
  */
46
166
  readonly name: pulumi.Output<string>;
47
167
  /**
@@ -67,6 +187,8 @@ export interface AccessControlRuleSetState {
67
187
  /**
68
188
  * Unique identifier of a rule set. The name determines the resource to which the rule set applies. Currently, only default rule sets are supported. The following rule set formats are supported:
69
189
  * * `accounts/{account_id}/servicePrincipals/{service_principal_application_id}/ruleSets/default`
190
+ * * `accounts/{account_id}/groups/{group_id}/ruleSets/default`
191
+ * * `accounts/{account_id}/ruleSets/default`
70
192
  */
71
193
  name?: pulumi.Input<string>;
72
194
  }
@@ -83,6 +205,8 @@ export interface AccessControlRuleSetArgs {
83
205
  /**
84
206
  * Unique identifier of a rule set. The name determines the resource to which the rule set applies. Currently, only default rule sets are supported. The following rule set formats are supported:
85
207
  * * `accounts/{account_id}/servicePrincipals/{service_principal_application_id}/ruleSets/default`
208
+ * * `accounts/{account_id}/groups/{group_id}/ruleSets/default`
209
+ * * `accounts/{account_id}/ruleSets/default`
86
210
  */
87
211
  name?: pulumi.Input<string>;
88
212
  }
@@ -8,10 +8,128 @@ const utilities = require("./utilities");
8
8
  /**
9
9
  * This resource allows you to manage access rules on Databricks account level resources. For convenience we allow accessing this resource through the Databricks account and workspace.
10
10
  *
11
- * > **Note** Currently, we only support managing access rules on service principal resources through `databricks.AccessControlRuleSet`.
11
+ * > **Note** Currently, we only support managing access rules on service principal, group and account resources through `databricks.AccessControlRuleSet`.
12
12
  *
13
13
  * > **Warning** `databricks.AccessControlRuleSet` cannot be used to manage access rules for resources supported by databricks_permissions. Refer to its documentation for more information.
14
14
  *
15
+ * ## Service principal rule set usage
16
+ *
17
+ * Through a Databricks workspace:
18
+ *
19
+ * ```typescript
20
+ * import * as pulumi from "@pulumi/pulumi";
21
+ * import * as databricks from "@pulumi/databricks";
22
+ *
23
+ * const accountId = "00000000-0000-0000-0000-000000000000";
24
+ * const ds = databricks.getGroup({
25
+ * displayName: "Data Science",
26
+ * });
27
+ * const automationSp = new databricks.ServicePrincipal("automationSp", {displayName: "SP_FOR_AUTOMATION"});
28
+ * const automationSpRuleSet = new databricks.AccessControlRuleSet("automationSpRuleSet", {grantRules: [{
29
+ * principals: [ds.then(ds => ds.aclPrincipalId)],
30
+ * role: "roles/servicePrincipal.user",
31
+ * }]});
32
+ * ```
33
+ *
34
+ * Through AWS Databricks account:
35
+ *
36
+ * ```typescript
37
+ * import * as pulumi from "@pulumi/pulumi";
38
+ * import * as databricks from "@pulumi/databricks";
39
+ *
40
+ * const accountId = "00000000-0000-0000-0000-000000000000";
41
+ * // account level group creation
42
+ * const ds = new databricks.Group("ds", {});
43
+ * const automationSp = new databricks.ServicePrincipal("automationSp", {displayName: "SP_FOR_AUTOMATION"});
44
+ * const automationSpRuleSet = new databricks.AccessControlRuleSet("automationSpRuleSet", {grantRules: [{
45
+ * principals: [ds.aclPrincipalId],
46
+ * role: "roles/servicePrincipal.user",
47
+ * }]});
48
+ * ```
49
+ *
50
+ * Through Azure Databricks account:
51
+ *
52
+ * ```typescript
53
+ * import * as pulumi from "@pulumi/pulumi";
54
+ * import * as databricks from "@pulumi/databricks";
55
+ *
56
+ * const accountId = "00000000-0000-0000-0000-000000000000";
57
+ * // account level group creation
58
+ * const ds = new databricks.Group("ds", {});
59
+ * const automationSp = new databricks.ServicePrincipal("automationSp", {
60
+ * applicationId: "00000000-0000-0000-0000-000000000000",
61
+ * displayName: "SP_FOR_AUTOMATION",
62
+ * });
63
+ * const automationSpRuleSet = new databricks.AccessControlRuleSet("automationSpRuleSet", {grantRules: [{
64
+ * principals: [ds.aclPrincipalId],
65
+ * role: "roles/servicePrincipal.user",
66
+ * }]});
67
+ * ```
68
+ *
69
+ * Through GCP Databricks account:
70
+ *
71
+ * ```typescript
72
+ * import * as pulumi from "@pulumi/pulumi";
73
+ * import * as databricks from "@pulumi/databricks";
74
+ *
75
+ * const accountId = "00000000-0000-0000-0000-000000000000";
76
+ * // account level group creation
77
+ * const ds = new databricks.Group("ds", {});
78
+ * const automationSp = new databricks.ServicePrincipal("automationSp", {displayName: "SP_FOR_AUTOMATION"});
79
+ * const automationSpRuleSet = new databricks.AccessControlRuleSet("automationSpRuleSet", {grantRules: [{
80
+ * principals: [ds.aclPrincipalId],
81
+ * role: "roles/servicePrincipal.user",
82
+ * }]});
83
+ * ```
84
+ *
85
+ * ## Group rule set usage
86
+ *
87
+ * Refer to the appropriate provider configuration as shown in the examples for service principal rule set.
88
+ *
89
+ * ```typescript
90
+ * import * as pulumi from "@pulumi/pulumi";
91
+ * import * as databricks from "@pulumi/databricks";
92
+ *
93
+ * const accountId = "00000000-0000-0000-0000-000000000000";
94
+ * const ds = databricks.getGroup({
95
+ * displayName: "Data Science",
96
+ * });
97
+ * const john = databricks.getUser({
98
+ * userName: "john.doe@example.com",
99
+ * });
100
+ * const dsGroupRuleSet = new databricks.AccessControlRuleSet("dsGroupRuleSet", {grantRules: [{
101
+ * principals: [john.then(john => john.aclPrincipalId)],
102
+ * role: "roles/group.manager",
103
+ * }]});
104
+ * ```
105
+ *
106
+ * ## Account rule set usage
107
+ *
108
+ * Refer to the appropriate provider configuration as shown in the examples for service principal rule set.
109
+ *
110
+ * ```typescript
111
+ * import * as pulumi from "@pulumi/pulumi";
112
+ * import * as databricks from "@pulumi/databricks";
113
+ *
114
+ * const accountId = "00000000-0000-0000-0000-000000000000";
115
+ * const ds = databricks.getGroup({
116
+ * displayName: "Data Science",
117
+ * });
118
+ * const john = databricks.getUser({
119
+ * userName: "john.doe@example.com",
120
+ * });
121
+ * const accountRuleSet = new databricks.AccessControlRuleSet("accountRuleSet", {grantRules: [
122
+ * {
123
+ * principals: [john.then(john => john.aclPrincipalId)],
124
+ * role: "roles/group.manager",
125
+ * },
126
+ * {
127
+ * principals: [data.databricks_user.ds.acl_principal_id],
128
+ * role: "roles/servicePrincipal.manager",
129
+ * },
130
+ * ]});
131
+ * ```
132
+ *
15
133
  * ## Related Resources
16
134
  *
17
135
  * The following resources are often used in the same context:
@@ -1 +1 @@
1
- {"version":3,"file":"accessControlRuleSet.js","sourceRoot":"","sources":["../accessControlRuleSet.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;GAcG;AACH,MAAa,oBAAqB,SAAQ,MAAM,CAAC,cAAc;IAC3D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAiC,EAAE,IAAmC;QAC/H,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC3E,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,oBAAoB,CAAC,YAAY,CAAC;IACrE,CAAC;IAuBD,YAAY,IAAY,EAAE,WAAkE,EAAE,IAAmC;QAC7H,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAoD,CAAC;YACnE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3D;aAAM;YACH,MAAM,IAAI,GAAG,WAAmD,CAAC;YACjE,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC9C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;;AAjEL,oDAkEC;AApDG,gBAAgB;AACO,iCAAY,GAAG,4DAA4D,CAAC"}
1
+ {"version":3,"file":"accessControlRuleSet.js","sourceRoot":"","sources":["../accessControlRuleSet.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoIG;AACH,MAAa,oBAAqB,SAAQ,MAAM,CAAC,cAAc;IAC3D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAiC,EAAE,IAAmC;QAC/H,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC3E,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,oBAAoB,CAAC,YAAY,CAAC;IACrE,CAAC;IAyBD,YAAY,IAAY,EAAE,WAAkE,EAAE,IAAmC;QAC7H,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAoD,CAAC;YACnE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3D;aAAM;YACH,MAAM,IAAI,GAAG,WAAmD,CAAC;YACjE,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC9C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;;AAnEL,oDAoEC;AAtDG,gBAAgB;AACO,iCAAY,GAAG,4DAA4D,CAAC"}
package/catalog.d.ts CHANGED
@@ -50,6 +50,10 @@ export declare class Catalog extends pulumi.CustomResource {
50
50
  * User-supplied free-form text.
51
51
  */
52
52
  readonly comment: pulumi.Output<string | undefined>;
53
+ /**
54
+ * For Foreign Catalogs: the name of the connection to an external data source. Changes forces creation of a new resource.
55
+ */
56
+ readonly connectionName: pulumi.Output<string | undefined>;
53
57
  /**
54
58
  * Delete catalog regardless of its contents.
55
59
  */
@@ -102,6 +106,10 @@ export interface CatalogState {
102
106
  * User-supplied free-form text.
103
107
  */
104
108
  comment?: pulumi.Input<string>;
109
+ /**
110
+ * For Foreign Catalogs: the name of the connection to an external data source. Changes forces creation of a new resource.
111
+ */
112
+ connectionName?: pulumi.Input<string>;
105
113
  /**
106
114
  * Delete catalog regardless of its contents.
107
115
  */
@@ -146,6 +154,10 @@ export interface CatalogArgs {
146
154
  * User-supplied free-form text.
147
155
  */
148
156
  comment?: pulumi.Input<string>;
157
+ /**
158
+ * For Foreign Catalogs: the name of the connection to an external data source. Changes forces creation of a new resource.
159
+ */
160
+ connectionName?: pulumi.Input<string>;
149
161
  /**
150
162
  * Delete catalog regardless of its contents.
151
163
  */
package/catalog.js CHANGED
@@ -65,6 +65,7 @@ class Catalog extends pulumi.CustomResource {
65
65
  if (opts.id) {
66
66
  const state = argsOrState;
67
67
  resourceInputs["comment"] = state ? state.comment : undefined;
68
+ resourceInputs["connectionName"] = state ? state.connectionName : undefined;
68
69
  resourceInputs["forceDestroy"] = state ? state.forceDestroy : undefined;
69
70
  resourceInputs["isolationMode"] = state ? state.isolationMode : undefined;
70
71
  resourceInputs["metastoreId"] = state ? state.metastoreId : undefined;
@@ -78,6 +79,7 @@ class Catalog extends pulumi.CustomResource {
78
79
  else {
79
80
  const args = argsOrState;
80
81
  resourceInputs["comment"] = args ? args.comment : undefined;
82
+ resourceInputs["connectionName"] = args ? args.connectionName : undefined;
81
83
  resourceInputs["forceDestroy"] = args ? args.forceDestroy : undefined;
82
84
  resourceInputs["isolationMode"] = args ? args.isolationMode : undefined;
83
85
  resourceInputs["metastoreId"] = args ? args.metastoreId : undefined;
package/catalog.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,163 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Lakehouse Federation is the query federation platform for Databricks. Databricks uses Unity Catalog to manage query federation. To make a dataset available for read-only querying using Lakehouse Federation, you create the following:
4
+ *
5
+ * - A connection, a securable object in Unity Catalog that specifies a path and credentials for accessing an external database system.
6
+ * - A foreign catalog
7
+ *
8
+ * This resource manages connections in Unity Catalog
9
+ *
10
+ * ## Example Usage
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as databricks from "@pulumi/databricks";
15
+ *
16
+ * const mysql = new databricks.Connection("mysql", {
17
+ * comment: "this is a connection to mysql db",
18
+ * connectionType: "MYSQL",
19
+ * options: {
20
+ * host: "test.mysql.database.azure.com",
21
+ * password: "password",
22
+ * port: "3306",
23
+ * user: "user",
24
+ * },
25
+ * properties: {
26
+ * purpose: "testing",
27
+ * },
28
+ * });
29
+ * ```
30
+ *
31
+ * ## Import
32
+ *
33
+ * This resource can be imported by `name` bash
34
+ *
35
+ * ```sh
36
+ * $ pulumi import databricks:index/connection:Connection this <connection_name>
37
+ * ```
38
+ */
39
+ export declare class Connection extends pulumi.CustomResource {
40
+ /**
41
+ * Get an existing Connection resource's state with the given name, ID, and optional extra
42
+ * properties used to qualify the lookup.
43
+ *
44
+ * @param name The _unique_ name of the resulting resource.
45
+ * @param id The _unique_ provider ID of the resource to lookup.
46
+ * @param state Any extra arguments used during the lookup.
47
+ * @param opts Optional settings to control the behavior of the CustomResource.
48
+ */
49
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ConnectionState, opts?: pulumi.CustomResourceOptions): Connection;
50
+ /**
51
+ * Returns true if the given object is an instance of Connection. This is designed to work even
52
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
53
+ */
54
+ static isInstance(obj: any): obj is Connection;
55
+ /**
56
+ * Free-form text.
57
+ */
58
+ readonly comment: pulumi.Output<string | undefined>;
59
+ /**
60
+ * Connection type. `MYSQL` `POSTGRESQL` `SNOWFLAKE` `REDSHIFT` `SQLDW` `SQLSERVER` or `DATABRICKS` are supported. [Up-to-date list of connection type supported](https://docs.databricks.com/query-federation/index.html#supported-data-sources)
61
+ */
62
+ readonly connectionType: pulumi.Output<string>;
63
+ readonly metastoreId: pulumi.Output<string>;
64
+ /**
65
+ * Name of the Connection.
66
+ */
67
+ readonly name: pulumi.Output<string>;
68
+ /**
69
+ * The key value of options required by the connection, e.g. `host`, `port`, `user` and `password`.
70
+ */
71
+ readonly options: pulumi.Output<{
72
+ [key: string]: any;
73
+ }>;
74
+ /**
75
+ * Name of the connection owner.
76
+ */
77
+ readonly owner: pulumi.Output<string | undefined>;
78
+ /**
79
+ * Free-form connection properties.
80
+ */
81
+ readonly properties: pulumi.Output<{
82
+ [key: string]: any;
83
+ } | undefined>;
84
+ readonly readOnly: pulumi.Output<boolean>;
85
+ /**
86
+ * Create a Connection resource with the given unique name, arguments, and options.
87
+ *
88
+ * @param name The _unique_ name of the resource.
89
+ * @param args The arguments to use to populate this resource's properties.
90
+ * @param opts A bag of options that control this resource's behavior.
91
+ */
92
+ constructor(name: string, args: ConnectionArgs, opts?: pulumi.CustomResourceOptions);
93
+ }
94
+ /**
95
+ * Input properties used for looking up and filtering Connection resources.
96
+ */
97
+ export interface ConnectionState {
98
+ /**
99
+ * Free-form text.
100
+ */
101
+ comment?: pulumi.Input<string>;
102
+ /**
103
+ * Connection type. `MYSQL` `POSTGRESQL` `SNOWFLAKE` `REDSHIFT` `SQLDW` `SQLSERVER` or `DATABRICKS` are supported. [Up-to-date list of connection type supported](https://docs.databricks.com/query-federation/index.html#supported-data-sources)
104
+ */
105
+ connectionType?: pulumi.Input<string>;
106
+ metastoreId?: pulumi.Input<string>;
107
+ /**
108
+ * Name of the Connection.
109
+ */
110
+ name?: pulumi.Input<string>;
111
+ /**
112
+ * The key value of options required by the connection, e.g. `host`, `port`, `user` and `password`.
113
+ */
114
+ options?: pulumi.Input<{
115
+ [key: string]: any;
116
+ }>;
117
+ /**
118
+ * Name of the connection owner.
119
+ */
120
+ owner?: pulumi.Input<string>;
121
+ /**
122
+ * Free-form connection properties.
123
+ */
124
+ properties?: pulumi.Input<{
125
+ [key: string]: any;
126
+ }>;
127
+ readOnly?: pulumi.Input<boolean>;
128
+ }
129
+ /**
130
+ * The set of arguments for constructing a Connection resource.
131
+ */
132
+ export interface ConnectionArgs {
133
+ /**
134
+ * Free-form text.
135
+ */
136
+ comment?: pulumi.Input<string>;
137
+ /**
138
+ * Connection type. `MYSQL` `POSTGRESQL` `SNOWFLAKE` `REDSHIFT` `SQLDW` `SQLSERVER` or `DATABRICKS` are supported. [Up-to-date list of connection type supported](https://docs.databricks.com/query-federation/index.html#supported-data-sources)
139
+ */
140
+ connectionType: pulumi.Input<string>;
141
+ metastoreId?: pulumi.Input<string>;
142
+ /**
143
+ * Name of the Connection.
144
+ */
145
+ name?: pulumi.Input<string>;
146
+ /**
147
+ * The key value of options required by the connection, e.g. `host`, `port`, `user` and `password`.
148
+ */
149
+ options: pulumi.Input<{
150
+ [key: string]: any;
151
+ }>;
152
+ /**
153
+ * Name of the connection owner.
154
+ */
155
+ owner?: pulumi.Input<string>;
156
+ /**
157
+ * Free-form connection properties.
158
+ */
159
+ properties?: pulumi.Input<{
160
+ [key: string]: any;
161
+ }>;
162
+ readOnly?: pulumi.Input<boolean>;
163
+ }
package/connection.js ADDED
@@ -0,0 +1,108 @@
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.Connection = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Lakehouse Federation is the query federation platform for Databricks. Databricks uses Unity Catalog to manage query federation. To make a dataset available for read-only querying using Lakehouse Federation, you create the following:
10
+ *
11
+ * - A connection, a securable object in Unity Catalog that specifies a path and credentials for accessing an external database system.
12
+ * - A foreign catalog
13
+ *
14
+ * This resource manages connections in Unity Catalog
15
+ *
16
+ * ## Example Usage
17
+ *
18
+ * ```typescript
19
+ * import * as pulumi from "@pulumi/pulumi";
20
+ * import * as databricks from "@pulumi/databricks";
21
+ *
22
+ * const mysql = new databricks.Connection("mysql", {
23
+ * comment: "this is a connection to mysql db",
24
+ * connectionType: "MYSQL",
25
+ * options: {
26
+ * host: "test.mysql.database.azure.com",
27
+ * password: "password",
28
+ * port: "3306",
29
+ * user: "user",
30
+ * },
31
+ * properties: {
32
+ * purpose: "testing",
33
+ * },
34
+ * });
35
+ * ```
36
+ *
37
+ * ## Import
38
+ *
39
+ * This resource can be imported by `name` bash
40
+ *
41
+ * ```sh
42
+ * $ pulumi import databricks:index/connection:Connection this <connection_name>
43
+ * ```
44
+ */
45
+ class Connection extends pulumi.CustomResource {
46
+ /**
47
+ * Get an existing Connection resource's state with the given name, ID, and optional extra
48
+ * properties used to qualify the lookup.
49
+ *
50
+ * @param name The _unique_ name of the resulting resource.
51
+ * @param id The _unique_ provider ID of the resource to lookup.
52
+ * @param state Any extra arguments used during the lookup.
53
+ * @param opts Optional settings to control the behavior of the CustomResource.
54
+ */
55
+ static get(name, id, state, opts) {
56
+ return new Connection(name, state, Object.assign(Object.assign({}, opts), { id: id }));
57
+ }
58
+ /**
59
+ * Returns true if the given object is an instance of Connection. This is designed to work even
60
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
61
+ */
62
+ static isInstance(obj) {
63
+ if (obj === undefined || obj === null) {
64
+ return false;
65
+ }
66
+ return obj['__pulumiType'] === Connection.__pulumiType;
67
+ }
68
+ constructor(name, argsOrState, opts) {
69
+ let resourceInputs = {};
70
+ opts = opts || {};
71
+ if (opts.id) {
72
+ const state = argsOrState;
73
+ resourceInputs["comment"] = state ? state.comment : undefined;
74
+ resourceInputs["connectionType"] = state ? state.connectionType : undefined;
75
+ resourceInputs["metastoreId"] = state ? state.metastoreId : undefined;
76
+ resourceInputs["name"] = state ? state.name : undefined;
77
+ resourceInputs["options"] = state ? state.options : undefined;
78
+ resourceInputs["owner"] = state ? state.owner : undefined;
79
+ resourceInputs["properties"] = state ? state.properties : undefined;
80
+ resourceInputs["readOnly"] = state ? state.readOnly : undefined;
81
+ }
82
+ else {
83
+ const args = argsOrState;
84
+ if ((!args || args.connectionType === undefined) && !opts.urn) {
85
+ throw new Error("Missing required property 'connectionType'");
86
+ }
87
+ if ((!args || args.options === undefined) && !opts.urn) {
88
+ throw new Error("Missing required property 'options'");
89
+ }
90
+ resourceInputs["comment"] = args ? args.comment : undefined;
91
+ resourceInputs["connectionType"] = args ? args.connectionType : undefined;
92
+ resourceInputs["metastoreId"] = args ? args.metastoreId : undefined;
93
+ resourceInputs["name"] = args ? args.name : undefined;
94
+ resourceInputs["options"] = (args === null || args === void 0 ? void 0 : args.options) ? pulumi.secret(args.options) : undefined;
95
+ resourceInputs["owner"] = args ? args.owner : undefined;
96
+ resourceInputs["properties"] = args ? args.properties : undefined;
97
+ resourceInputs["readOnly"] = args ? args.readOnly : undefined;
98
+ }
99
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
100
+ const secretOpts = { additionalSecretOutputs: ["options"] };
101
+ opts = pulumi.mergeOptions(opts, secretOpts);
102
+ super(Connection.__pulumiType, name, resourceInputs, opts);
103
+ }
104
+ }
105
+ exports.Connection = Connection;
106
+ /** @internal */
107
+ Connection.__pulumiType = 'databricks:index/connection:Connection';
108
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../connection.ts"],"names":[],"mappings":"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"}