@pulumi/databricks 1.105.0 → 1.106.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 (196) hide show
  1. package/accountIamDirectGroupMemberV2.d.ts +118 -0
  2. package/accountIamDirectGroupMemberV2.d.ts.map +1 -0
  3. package/accountIamDirectGroupMemberV2.js +110 -0
  4. package/accountIamDirectGroupMemberV2.js.map +1 -0
  5. package/accountIamGroupV2.d.ts +99 -0
  6. package/accountIamGroupV2.d.ts.map +1 -0
  7. package/accountIamGroupV2.js +100 -0
  8. package/accountIamGroupV2.js.map +1 -0
  9. package/accountIamServicePrincipalV2.d.ts +129 -0
  10. package/accountIamServicePrincipalV2.d.ts.map +1 -0
  11. package/accountIamServicePrincipalV2.js +113 -0
  12. package/accountIamServicePrincipalV2.js.map +1 -0
  13. package/accountIamUserV2.d.ts +123 -0
  14. package/accountIamUserV2.d.ts.map +1 -0
  15. package/accountIamUserV2.js +120 -0
  16. package/accountIamUserV2.js.map +1 -0
  17. package/accountIamWorkspaceAssignmentV2.d.ts +136 -0
  18. package/accountIamWorkspaceAssignmentV2.d.ts.map +1 -0
  19. package/accountIamWorkspaceAssignmentV2.js +113 -0
  20. package/accountIamWorkspaceAssignmentV2.js.map +1 -0
  21. package/aiGatewayMcpService.d.ts +6 -19
  22. package/aiGatewayMcpService.d.ts.map +1 -1
  23. package/aiGatewayMcpService.js +0 -2
  24. package/aiGatewayMcpService.js.map +1 -1
  25. package/aiGatewayModelProviderService.d.ts +6 -19
  26. package/aiGatewayModelProviderService.d.ts.map +1 -1
  27. package/aiGatewayModelProviderService.js +0 -2
  28. package/aiGatewayModelProviderService.js.map +1 -1
  29. package/aiGatewayModelService.d.ts +6 -19
  30. package/aiGatewayModelService.d.ts.map +1 -1
  31. package/aiGatewayModelService.js +0 -2
  32. package/aiGatewayModelService.js.map +1 -1
  33. package/app.d.ts +20 -0
  34. package/app.d.ts.map +1 -1
  35. package/app.js +8 -0
  36. package/app.js.map +1 -1
  37. package/budget.d.ts +89 -5
  38. package/budget.d.ts.map +1 -1
  39. package/budget.js +80 -5
  40. package/budget.js.map +1 -1
  41. package/dataClassificationCatalogConfig.d.ts +1 -1
  42. package/dataClassificationCatalogConfig.js +1 -1
  43. package/getAccountIamDirectGroupMemberV2.d.ts +105 -0
  44. package/getAccountIamDirectGroupMemberV2.d.ts.map +1 -0
  45. package/getAccountIamDirectGroupMemberV2.js +93 -0
  46. package/getAccountIamDirectGroupMemberV2.js.map +1 -0
  47. package/getAccountIamDirectGroupMembersV2.d.ts +88 -0
  48. package/getAccountIamDirectGroupMembersV2.d.ts.map +1 -0
  49. package/getAccountIamDirectGroupMembersV2.js +91 -0
  50. package/getAccountIamDirectGroupMembersV2.js.map +1 -0
  51. package/getAccountIamGroupV2.d.ts +87 -0
  52. package/getAccountIamGroupV2.d.ts.map +1 -0
  53. package/getAccountIamGroupV2.js +89 -0
  54. package/getAccountIamGroupV2.js.map +1 -0
  55. package/getAccountIamGroupsV2.d.ts +79 -0
  56. package/getAccountIamGroupsV2.d.ts.map +1 -0
  57. package/getAccountIamGroupsV2.js +89 -0
  58. package/getAccountIamGroupsV2.js.map +1 -0
  59. package/getAccountIamServicePrincipalV2.d.ts +96 -0
  60. package/getAccountIamServicePrincipalV2.d.ts.map +1 -0
  61. package/getAccountIamServicePrincipalV2.js +89 -0
  62. package/getAccountIamServicePrincipalV2.js.map +1 -0
  63. package/getAccountIamServicePrincipalsV2.d.ts +79 -0
  64. package/getAccountIamServicePrincipalsV2.d.ts.map +1 -0
  65. package/getAccountIamServicePrincipalsV2.js +89 -0
  66. package/getAccountIamServicePrincipalsV2.js.map +1 -0
  67. package/getAccountIamUserV2.d.ts +96 -0
  68. package/getAccountIamUserV2.d.ts.map +1 -0
  69. package/getAccountIamUserV2.js +89 -0
  70. package/getAccountIamUserV2.js.map +1 -0
  71. package/getAccountIamUsersV2.d.ts +79 -0
  72. package/getAccountIamUsersV2.d.ts.map +1 -0
  73. package/getAccountIamUsersV2.js +89 -0
  74. package/getAccountIamUsersV2.js.map +1 -0
  75. package/getAccountIamWorkspaceAssignmentV2.d.ts +109 -0
  76. package/getAccountIamWorkspaceAssignmentV2.d.ts.map +1 -0
  77. package/getAccountIamWorkspaceAssignmentV2.js +93 -0
  78. package/getAccountIamWorkspaceAssignmentV2.js.map +1 -0
  79. package/getAccountIamWorkspaceAssignmentsV2.d.ts +56 -0
  80. package/getAccountIamWorkspaceAssignmentsV2.d.ts.map +1 -0
  81. package/getAccountIamWorkspaceAssignmentsV2.js +61 -0
  82. package/getAccountIamWorkspaceAssignmentsV2.js.map +1 -0
  83. package/getAiGatewayMcpService.d.ts +2 -6
  84. package/getAiGatewayMcpService.d.ts.map +1 -1
  85. package/getAiGatewayMcpService.js.map +1 -1
  86. package/getAiGatewayMcpServices.d.ts +10 -17
  87. package/getAiGatewayMcpServices.d.ts.map +1 -1
  88. package/getAiGatewayMcpServices.js +0 -2
  89. package/getAiGatewayMcpServices.js.map +1 -1
  90. package/getAiGatewayModelProviderService.d.ts +0 -5
  91. package/getAiGatewayModelProviderService.d.ts.map +1 -1
  92. package/getAiGatewayModelProviderService.js.map +1 -1
  93. package/getAiGatewayModelProviderServices.d.ts +10 -17
  94. package/getAiGatewayModelProviderServices.d.ts.map +1 -1
  95. package/getAiGatewayModelProviderServices.js +0 -2
  96. package/getAiGatewayModelProviderServices.js.map +1 -1
  97. package/getAiGatewayModelService.d.ts +0 -5
  98. package/getAiGatewayModelService.d.ts.map +1 -1
  99. package/getAiGatewayModelService.js.map +1 -1
  100. package/getAiGatewayModelServices.d.ts +10 -17
  101. package/getAiGatewayModelServices.d.ts.map +1 -1
  102. package/getAiGatewayModelServices.js +0 -2
  103. package/getAiGatewayModelServices.js.map +1 -1
  104. package/getDataClassificationCatalogConfig.d.ts +2 -2
  105. package/getDataClassificationCatalogConfig.js +2 -2
  106. package/getPolicyInfo.d.ts +0 -1
  107. package/getPolicyInfo.d.ts.map +1 -1
  108. package/getPolicyInfo.js.map +1 -1
  109. package/getWorkspaceIamDirectGroupMemberV2.d.ts +118 -0
  110. package/getWorkspaceIamDirectGroupMemberV2.d.ts.map +1 -0
  111. package/getWorkspaceIamDirectGroupMemberV2.js +97 -0
  112. package/getWorkspaceIamDirectGroupMemberV2.js.map +1 -0
  113. package/getWorkspaceIamDirectGroupMembersV2.d.ts +98 -0
  114. package/getWorkspaceIamDirectGroupMembersV2.d.ts.map +1 -0
  115. package/getWorkspaceIamDirectGroupMembersV2.js +93 -0
  116. package/getWorkspaceIamDirectGroupMembersV2.js.map +1 -0
  117. package/getWorkspaceIamGroupV2.d.ts +98 -0
  118. package/getWorkspaceIamGroupV2.d.ts.map +1 -0
  119. package/getWorkspaceIamGroupV2.js +91 -0
  120. package/getWorkspaceIamGroupV2.js.map +1 -0
  121. package/getWorkspaceIamGroupsV2.d.ts +89 -0
  122. package/getWorkspaceIamGroupsV2.d.ts.map +1 -0
  123. package/getWorkspaceIamGroupsV2.js +91 -0
  124. package/getWorkspaceIamGroupsV2.js.map +1 -0
  125. package/getWorkspaceIamServicePrincipalV2.d.ts +107 -0
  126. package/getWorkspaceIamServicePrincipalV2.d.ts.map +1 -0
  127. package/getWorkspaceIamServicePrincipalV2.js +91 -0
  128. package/getWorkspaceIamServicePrincipalV2.js.map +1 -0
  129. package/getWorkspaceIamServicePrincipalsV2.d.ts +89 -0
  130. package/getWorkspaceIamServicePrincipalsV2.d.ts.map +1 -0
  131. package/getWorkspaceIamServicePrincipalsV2.js +91 -0
  132. package/getWorkspaceIamServicePrincipalsV2.js.map +1 -0
  133. package/getWorkspaceIamUserV2.d.ts +106 -0
  134. package/getWorkspaceIamUserV2.d.ts.map +1 -0
  135. package/getWorkspaceIamUserV2.js +91 -0
  136. package/getWorkspaceIamUserV2.js.map +1 -0
  137. package/getWorkspaceIamUsersV2.d.ts +89 -0
  138. package/getWorkspaceIamUsersV2.d.ts.map +1 -0
  139. package/getWorkspaceIamUsersV2.js +91 -0
  140. package/getWorkspaceIamUsersV2.js.map +1 -0
  141. package/getWorkspaceIamWorkspaceAssignmentV2.d.ts +112 -0
  142. package/getWorkspaceIamWorkspaceAssignmentV2.d.ts.map +1 -0
  143. package/getWorkspaceIamWorkspaceAssignmentV2.js +93 -0
  144. package/getWorkspaceIamWorkspaceAssignmentV2.js.map +1 -0
  145. package/getWorkspaceIamWorkspaceAssignmentsV2.d.ts +54 -0
  146. package/getWorkspaceIamWorkspaceAssignmentsV2.d.ts.map +1 -0
  147. package/getWorkspaceIamWorkspaceAssignmentsV2.js +63 -0
  148. package/getWorkspaceIamWorkspaceAssignmentsV2.js.map +1 -0
  149. package/getWorkspaceIamWorkspaceIdentityDetailV2.d.ts +68 -0
  150. package/getWorkspaceIamWorkspaceIdentityDetailV2.d.ts.map +1 -0
  151. package/getWorkspaceIamWorkspaceIdentityDetailV2.js +61 -0
  152. package/getWorkspaceIamWorkspaceIdentityDetailV2.js.map +1 -0
  153. package/index.d.ts +96 -0
  154. package/index.d.ts.map +1 -1
  155. package/index.js +129 -10
  156. package/index.js.map +1 -1
  157. package/job.d.ts +3 -0
  158. package/job.d.ts.map +1 -1
  159. package/job.js +2 -0
  160. package/job.js.map +1 -1
  161. package/mwsWorkspaces.d.ts +3 -3
  162. package/package.json +2 -2
  163. package/policyInfo.d.ts +0 -3
  164. package/policyInfo.d.ts.map +1 -1
  165. package/policyInfo.js.map +1 -1
  166. package/secretUc.d.ts.map +1 -1
  167. package/secretUc.js +3 -1
  168. package/secretUc.js.map +1 -1
  169. package/types/input.d.ts +388 -29
  170. package/types/input.d.ts.map +1 -1
  171. package/types/output.d.ts +888 -82
  172. package/types/output.d.ts.map +1 -1
  173. package/workspaceIamDirectGroupMemberV2.d.ts +133 -0
  174. package/workspaceIamDirectGroupMemberV2.d.ts.map +1 -0
  175. package/workspaceIamDirectGroupMemberV2.js +113 -0
  176. package/workspaceIamDirectGroupMemberV2.js.map +1 -0
  177. package/workspaceIamGroupV2.d.ts +113 -0
  178. package/workspaceIamGroupV2.d.ts.map +1 -0
  179. package/workspaceIamGroupV2.js +102 -0
  180. package/workspaceIamGroupV2.js.map +1 -0
  181. package/workspaceIamServicePrincipalV2.d.ts +143 -0
  182. package/workspaceIamServicePrincipalV2.d.ts.map +1 -0
  183. package/workspaceIamServicePrincipalV2.js +115 -0
  184. package/workspaceIamServicePrincipalV2.js.map +1 -0
  185. package/workspaceIamUserV2.d.ts +135 -0
  186. package/workspaceIamUserV2.d.ts.map +1 -0
  187. package/workspaceIamUserV2.js +122 -0
  188. package/workspaceIamUserV2.js.map +1 -0
  189. package/workspaceIamWorkspaceAssignmentV2.d.ts +150 -0
  190. package/workspaceIamWorkspaceAssignmentV2.d.ts.map +1 -0
  191. package/workspaceIamWorkspaceAssignmentV2.js +115 -0
  192. package/workspaceIamWorkspaceAssignmentV2.js.map +1 -0
  193. package/workspaceIamWorkspaceIdentityDetailV2.d.ts +117 -0
  194. package/workspaceIamWorkspaceIdentityDetailV2.d.ts.map +1 -0
  195. package/workspaceIamWorkspaceIdentityDetailV2.js +110 -0
  196. package/workspaceIamWorkspaceIdentityDetailV2.js.map +1 -0
package/budget.d.ts CHANGED
@@ -53,19 +53,50 @@ import * as outputs from "./types/output";
53
53
  * });
54
54
  * ```
55
55
  *
56
- * ### Budgets for Genie
56
+ * ### Budgets for AI Gateway Resources
57
57
  *
58
- * Starting July 6, 2026, Genie products move to a pay-as-you-go pricing model with a per-user free monthly allowance. Account admins can begin [configuring budgets and cost controls](https://docs.databricks.com/aws/en/genie/budgets). For details, see [what's coming](https://docs.databricks.com/aws/en/release-notes/whats-coming#genie-paygo-pricing).
58
+ * Budgets can also be scoped to track only spend through Unity AI Gateway endpoints by setting `resourceType` to `BUDGET_RESOURCE_TYPE_UNITY_AI_GATEWAY`.
59
+ *
60
+ * This includes Databricks products that may use Unity AI Gateway endpoints, such as Databricks Genie.
61
+ *
62
+ * ### AI Gateway Budget for all endpoints
63
+ *
64
+ * Create a shared budget tracking all costs for Unity AI Gateway endpoints, and send an email when the budget threshold is exceeded.
65
+ *
66
+ * ```typescript
67
+ * import * as pulumi from "@pulumi/pulumi";
68
+ * import * as databricks from "@pulumi/databricks";
69
+ *
70
+ * const aiGatewaySharedBudget = new databricks.Budget("ai_gateway_shared_budget", {
71
+ * displayName: "aigw-shared-budget",
72
+ * resourceType: "BUDGET_RESOURCE_TYPE_UNITY_AI_GATEWAY",
73
+ * alertConfigurations: [{
74
+ * quantityThreshold: "10000",
75
+ * quantityType: "LIST_PRICE_DOLLARS_USD",
76
+ * triggerType: "CUMULATIVE_SPENDING_EXCEEDED",
77
+ * timePeriod: "MONTH",
78
+ * scopeType: "ALERT_CONFIGURATION_SCOPE_TYPE_SHARED",
79
+ * actionConfigurations: [{
80
+ * actionType: "EMAIL_NOTIFICATION",
81
+ * target: "abc@gmail.com",
82
+ * }],
83
+ * }],
84
+ * });
85
+ * ```
86
+ *
87
+ * ### Shared Genie budget
88
+ *
89
+ * Genie budgets use the Unity AI Gateway resource type and the `databricks-product: genie` tag. Do not add other resource tags to a Genie budget.
90
+ *
91
+ * A shared Genie budget for all users. Spend is tracked in aggregate.
59
92
  *
60
93
  * ```typescript
61
94
  * import * as pulumi from "@pulumi/pulumi";
62
95
  * import * as databricks from "@pulumi/databricks";
63
96
  *
64
- * // Create a Budget with resource tags matching the Genie AI Gateway resource.
65
- * // Prerequisite: Enable AI Gateway Budget (Public Preview)
66
- * // https://docs.databricks.com/aws/en/genie/budgets#requirements
67
97
  * const genieSharedBudget = new databricks.Budget("genie_shared_budget", {
68
98
  * displayName: "genie-shared-budget",
99
+ * resourceType: "BUDGET_RESOURCE_TYPE_UNITY_AI_GATEWAY",
69
100
  * filter: {
70
101
  * tags: [{
71
102
  * key: "databricks-product",
@@ -80,6 +111,7 @@ import * as outputs from "./types/output";
80
111
  * quantityType: "LIST_PRICE_DOLLARS_USD",
81
112
  * triggerType: "CUMULATIVE_SPENDING_EXCEEDED",
82
113
  * timePeriod: "MONTH",
114
+ * scopeType: "ALERT_CONFIGURATION_SCOPE_TYPE_SHARED",
83
115
  * actionConfigurations: [{
84
116
  * actionType: "EMAIL_NOTIFICATION",
85
117
  * target: "abc@gmail.com",
@@ -88,6 +120,49 @@ import * as outputs from "./types/output";
88
120
  * });
89
121
  * ```
90
122
  *
123
+ * ### Per-user budget overrides with block usage
124
+ *
125
+ * A per-user threshold applies to each user in the budget's scope. Use `principalOverrides` to override the threshold for specific users, groups, or service principals. `BLOCK_USAGE` prevents further requests through Unity AI Gateway when the threshold is reached.
126
+ *
127
+ * ```typescript
128
+ * import * as pulumi from "@pulumi/pulumi";
129
+ * import * as databricks from "@pulumi/databricks";
130
+ *
131
+ * // Find a group we want to apply
132
+ * const genie_power_users = databricks.getGroup({
133
+ * displayName: "genie-power-users",
134
+ * });
135
+ * // Create a budget for Genie of $100 per user, and override
136
+ * // the threshold to $300 per user for the genie-power-users group.
137
+ * const geniePerUserBudget = new databricks.Budget("genie_per_user_budget", {
138
+ * displayName: "genie-tier-1-budget",
139
+ * resourceType: "BUDGET_RESOURCE_TYPE_UNITY_AI_GATEWAY",
140
+ * filter: {
141
+ * tags: [{
142
+ * key: "databricks-product",
143
+ * value: {
144
+ * operator: "IN",
145
+ * values: ["genie"],
146
+ * },
147
+ * }],
148
+ * },
149
+ * alertConfigurations: [{
150
+ * quantityThreshold: "100",
151
+ * quantityType: "LIST_PRICE_DOLLARS_USD",
152
+ * triggerType: "CUMULATIVE_SPENDING_EXCEEDED",
153
+ * timePeriod: "MONTH",
154
+ * scopeType: "ALERT_CONFIGURATION_SCOPE_TYPE_PER_USER",
155
+ * principalOverrides: [{
156
+ * principalId: genie_power_usersDatabricksGroup.id,
157
+ * overrideThreshold: "300",
158
+ * }],
159
+ * actionConfigurations: [{
160
+ * actionType: "BLOCK_USAGE",
161
+ * }],
162
+ * }],
163
+ * });
164
+ * ```
165
+ *
91
166
  * ## Related Resources
92
167
  *
93
168
  * The following resources are used in the context:
@@ -125,6 +200,9 @@ export declare class Budget extends pulumi.CustomResource {
125
200
  */
126
201
  readonly displayName: pulumi.Output<string | undefined>;
127
202
  readonly filter: pulumi.Output<outputs.BudgetFilter | undefined>;
203
+ /**
204
+ * The resource scope for this budget. Determines whether the budget tracks all resources or a specific resource. (Enum: `BUDGET_RESOURCE_TYPE_ALL_RESOURCES`, `BUDGET_RESOURCE_TYPE_UNITY_AI_GATEWAY`)
205
+ */
128
206
  readonly resourceType: pulumi.Output<string>;
129
207
  readonly updateTime: pulumi.Output<number>;
130
208
  /**
@@ -155,6 +233,9 @@ export interface BudgetState {
155
233
  */
156
234
  displayName?: pulumi.Input<string | undefined>;
157
235
  filter?: pulumi.Input<inputs.BudgetFilter | undefined>;
236
+ /**
237
+ * The resource scope for this budget. Determines whether the budget tracks all resources or a specific resource. (Enum: `BUDGET_RESOURCE_TYPE_ALL_RESOURCES`, `BUDGET_RESOURCE_TYPE_UNITY_AI_GATEWAY`)
238
+ */
158
239
  resourceType?: pulumi.Input<string | undefined>;
159
240
  updateTime?: pulumi.Input<number | undefined>;
160
241
  }
@@ -177,6 +258,9 @@ export interface BudgetArgs {
177
258
  */
178
259
  displayName?: pulumi.Input<string | undefined>;
179
260
  filter?: pulumi.Input<inputs.BudgetFilter | undefined>;
261
+ /**
262
+ * The resource scope for this budget. Determines whether the budget tracks all resources or a specific resource. (Enum: `BUDGET_RESOURCE_TYPE_ALL_RESOURCES`, `BUDGET_RESOURCE_TYPE_UNITY_AI_GATEWAY`)
263
+ */
180
264
  resourceType?: pulumi.Input<string | undefined>;
181
265
  updateTime?: pulumi.Input<number | undefined>;
182
266
  }
package/budget.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../budget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../budget.ts"],"names":[],"mappings":"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"}
package/budget.js CHANGED
@@ -80,19 +80,50 @@ const utilities = __importStar(require("./utilities"));
80
80
  * });
81
81
  * ```
82
82
  *
83
- * ### Budgets for Genie
83
+ * ### Budgets for AI Gateway Resources
84
84
  *
85
- * Starting July 6, 2026, Genie products move to a pay-as-you-go pricing model with a per-user free monthly allowance. Account admins can begin [configuring budgets and cost controls](https://docs.databricks.com/aws/en/genie/budgets). For details, see [what's coming](https://docs.databricks.com/aws/en/release-notes/whats-coming#genie-paygo-pricing).
85
+ * Budgets can also be scoped to track only spend through Unity AI Gateway endpoints by setting `resourceType` to `BUDGET_RESOURCE_TYPE_UNITY_AI_GATEWAY`.
86
+ *
87
+ * This includes Databricks products that may use Unity AI Gateway endpoints, such as Databricks Genie.
88
+ *
89
+ * ### AI Gateway Budget for all endpoints
90
+ *
91
+ * Create a shared budget tracking all costs for Unity AI Gateway endpoints, and send an email when the budget threshold is exceeded.
92
+ *
93
+ * ```typescript
94
+ * import * as pulumi from "@pulumi/pulumi";
95
+ * import * as databricks from "@pulumi/databricks";
96
+ *
97
+ * const aiGatewaySharedBudget = new databricks.Budget("ai_gateway_shared_budget", {
98
+ * displayName: "aigw-shared-budget",
99
+ * resourceType: "BUDGET_RESOURCE_TYPE_UNITY_AI_GATEWAY",
100
+ * alertConfigurations: [{
101
+ * quantityThreshold: "10000",
102
+ * quantityType: "LIST_PRICE_DOLLARS_USD",
103
+ * triggerType: "CUMULATIVE_SPENDING_EXCEEDED",
104
+ * timePeriod: "MONTH",
105
+ * scopeType: "ALERT_CONFIGURATION_SCOPE_TYPE_SHARED",
106
+ * actionConfigurations: [{
107
+ * actionType: "EMAIL_NOTIFICATION",
108
+ * target: "abc@gmail.com",
109
+ * }],
110
+ * }],
111
+ * });
112
+ * ```
113
+ *
114
+ * ### Shared Genie budget
115
+ *
116
+ * Genie budgets use the Unity AI Gateway resource type and the `databricks-product: genie` tag. Do not add other resource tags to a Genie budget.
117
+ *
118
+ * A shared Genie budget for all users. Spend is tracked in aggregate.
86
119
  *
87
120
  * ```typescript
88
121
  * import * as pulumi from "@pulumi/pulumi";
89
122
  * import * as databricks from "@pulumi/databricks";
90
123
  *
91
- * // Create a Budget with resource tags matching the Genie AI Gateway resource.
92
- * // Prerequisite: Enable AI Gateway Budget (Public Preview)
93
- * // https://docs.databricks.com/aws/en/genie/budgets#requirements
94
124
  * const genieSharedBudget = new databricks.Budget("genie_shared_budget", {
95
125
  * displayName: "genie-shared-budget",
126
+ * resourceType: "BUDGET_RESOURCE_TYPE_UNITY_AI_GATEWAY",
96
127
  * filter: {
97
128
  * tags: [{
98
129
  * key: "databricks-product",
@@ -107,6 +138,7 @@ const utilities = __importStar(require("./utilities"));
107
138
  * quantityType: "LIST_PRICE_DOLLARS_USD",
108
139
  * triggerType: "CUMULATIVE_SPENDING_EXCEEDED",
109
140
  * timePeriod: "MONTH",
141
+ * scopeType: "ALERT_CONFIGURATION_SCOPE_TYPE_SHARED",
110
142
  * actionConfigurations: [{
111
143
  * actionType: "EMAIL_NOTIFICATION",
112
144
  * target: "abc@gmail.com",
@@ -115,6 +147,49 @@ const utilities = __importStar(require("./utilities"));
115
147
  * });
116
148
  * ```
117
149
  *
150
+ * ### Per-user budget overrides with block usage
151
+ *
152
+ * A per-user threshold applies to each user in the budget's scope. Use `principalOverrides` to override the threshold for specific users, groups, or service principals. `BLOCK_USAGE` prevents further requests through Unity AI Gateway when the threshold is reached.
153
+ *
154
+ * ```typescript
155
+ * import * as pulumi from "@pulumi/pulumi";
156
+ * import * as databricks from "@pulumi/databricks";
157
+ *
158
+ * // Find a group we want to apply
159
+ * const genie_power_users = databricks.getGroup({
160
+ * displayName: "genie-power-users",
161
+ * });
162
+ * // Create a budget for Genie of $100 per user, and override
163
+ * // the threshold to $300 per user for the genie-power-users group.
164
+ * const geniePerUserBudget = new databricks.Budget("genie_per_user_budget", {
165
+ * displayName: "genie-tier-1-budget",
166
+ * resourceType: "BUDGET_RESOURCE_TYPE_UNITY_AI_GATEWAY",
167
+ * filter: {
168
+ * tags: [{
169
+ * key: "databricks-product",
170
+ * value: {
171
+ * operator: "IN",
172
+ * values: ["genie"],
173
+ * },
174
+ * }],
175
+ * },
176
+ * alertConfigurations: [{
177
+ * quantityThreshold: "100",
178
+ * quantityType: "LIST_PRICE_DOLLARS_USD",
179
+ * triggerType: "CUMULATIVE_SPENDING_EXCEEDED",
180
+ * timePeriod: "MONTH",
181
+ * scopeType: "ALERT_CONFIGURATION_SCOPE_TYPE_PER_USER",
182
+ * principalOverrides: [{
183
+ * principalId: genie_power_usersDatabricksGroup.id,
184
+ * overrideThreshold: "300",
185
+ * }],
186
+ * actionConfigurations: [{
187
+ * actionType: "BLOCK_USAGE",
188
+ * }],
189
+ * }],
190
+ * });
191
+ * ```
192
+ *
118
193
  * ## Related Resources
119
194
  *
120
195
  * The following resources are used in the context:
package/budget.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"budget.js","sourceRoot":"","sources":["../budget.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AAGzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4FG;AACH,MAAa,MAAO,SAAQ,MAAM,CAAC,cAAc;IAC7C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAmB,EAAE,IAAmC;QACjH,OAAO,IAAI,MAAM,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,gCAAgC,CAAC;IAEvE;;;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,MAAM,CAAC,YAAY,CAAC;IACvD,CAAC;IA4BD,YAAY,IAAY,EAAE,WAAsC,EAAE,IAAmC;QACjG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAsC,CAAC;YACrD,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,qBAAqB,CAAC,GAAG,KAAK,EAAE,mBAAmB,CAAC;YACnE,cAAc,CAAC,uBAAuB,CAAC,GAAG,KAAK,EAAE,qBAAqB,CAAC;YACvE,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC;YACrD,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;SACpD;aAAM;YACH,MAAM,IAAI,GAAG,WAAqC,CAAC;YACnD,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,qBAAqB,CAAC,GAAG,IAAI,EAAE,mBAAmB,CAAC;YAClE,cAAc,CAAC,uBAAuB,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC;YACtE,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC;YACpD,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;SACnD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;;AAhFL,wBAiFC"}
1
+ {"version":3,"file":"budget.js","sourceRoot":"","sources":["../budget.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AAGzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuKG;AACH,MAAa,MAAO,SAAQ,MAAM,CAAC,cAAc;IAC7C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAmB,EAAE,IAAmC;QACjH,OAAO,IAAI,MAAM,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,gCAAgC,CAAC;IAEvE;;;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,MAAM,CAAC,YAAY,CAAC;IACvD,CAAC;IA+BD,YAAY,IAAY,EAAE,WAAsC,EAAE,IAAmC;QACjG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAsC,CAAC;YACrD,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,qBAAqB,CAAC,GAAG,KAAK,EAAE,mBAAmB,CAAC;YACnE,cAAc,CAAC,uBAAuB,CAAC,GAAG,KAAK,EAAE,qBAAqB,CAAC;YACvE,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC;YACrD,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;SACpD;aAAM;YACH,MAAM,IAAI,GAAG,WAAqC,CAAC;YACnD,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,qBAAqB,CAAC,GAAG,IAAI,EAAE,mBAAmB,CAAC;YAClE,cAAc,CAAC,uBAAuB,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC;YACtE,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC;YACpD,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;SACnD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;;AAnFL,wBAoFC"}
@@ -2,7 +2,7 @@ import * as pulumi from "@pulumi/pulumi";
2
2
  import * as inputs from "./types/input";
3
3
  import * as outputs from "./types/output";
4
4
  /**
5
- * [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
5
+ * [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types)
6
6
  *
7
7
  * [API Documentation](https://docs.databricks.com/api/workspace/dataclassification)
8
8
  *
@@ -29,7 +29,7 @@ exports.DataClassificationCatalogConfig = void 0;
29
29
  const pulumi = __importStar(require("@pulumi/pulumi"));
30
30
  const utilities = __importStar(require("./utilities"));
31
31
  /**
32
- * [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
32
+ * [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types)
33
33
  *
34
34
  * [API Documentation](https://docs.databricks.com/api/workspace/dataclassification)
35
35
  *
@@ -0,0 +1,105 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * [![Private Preview](https://img.shields.io/badge/Release_Stage-Private_Preview-blueviolet)](https://docs.databricks.com/aws/en/release-notes/release-types)
4
+ *
5
+ * [API Documentation](https://docs.databricks.com/api/account/iamv2)
6
+ *
7
+ * Reads a single direct group membership in an account, identified by group and principal ID.
8
+ *
9
+ * ## Example Usage
10
+ *
11
+ * Example usage:
12
+ *
13
+ * Look up a single direct group member by group and principal ID.
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as databricks from "@pulumi/databricks";
18
+ *
19
+ * const _this = databricks.getAccountIamDirectGroupMemberV2({
20
+ * groupId: 123456789,
21
+ * principalId: "987654321",
22
+ * });
23
+ * ```
24
+ */
25
+ export declare function getAccountIamDirectGroupMemberV2(args: GetAccountIamDirectGroupMemberV2Args, opts?: pulumi.InvokeOptions): Promise<GetAccountIamDirectGroupMemberV2Result>;
26
+ /**
27
+ * A collection of arguments for invoking getAccountIamDirectGroupMemberV2.
28
+ */
29
+ export interface GetAccountIamDirectGroupMemberV2Args {
30
+ /**
31
+ * The internal ID of the group this member belongs to
32
+ */
33
+ groupId: number;
34
+ /**
35
+ * Internal ID of the principal in Databricks
36
+ */
37
+ principalId: string;
38
+ }
39
+ /**
40
+ * A collection of values returned by getAccountIamDirectGroupMemberV2.
41
+ */
42
+ export interface GetAccountIamDirectGroupMemberV2Result {
43
+ /**
44
+ * (string) - Display name of the principal
45
+ */
46
+ readonly displayName: string;
47
+ /**
48
+ * (string) - The external ID of the principal in Databricks
49
+ */
50
+ readonly externalId: string;
51
+ /**
52
+ * (integer) - The internal ID of the group this member belongs to
53
+ */
54
+ readonly groupId: number;
55
+ /**
56
+ * (string) - The source of group membership (internal or from identity provider). Possible values are: `IDENTITY_PROVIDER`, `INTERNAL`
57
+ */
58
+ readonly membershipSource: string;
59
+ /**
60
+ * (integer) - Internal ID of the principal in Databricks
61
+ */
62
+ readonly principalId: string;
63
+ /**
64
+ * (string) - The type of the principal (user/service principal/group). Possible values are: `GROUP`, `SERVICE_PRINCIPAL`, `USER`
65
+ */
66
+ readonly principalType: string;
67
+ }
68
+ /**
69
+ * [![Private Preview](https://img.shields.io/badge/Release_Stage-Private_Preview-blueviolet)](https://docs.databricks.com/aws/en/release-notes/release-types)
70
+ *
71
+ * [API Documentation](https://docs.databricks.com/api/account/iamv2)
72
+ *
73
+ * Reads a single direct group membership in an account, identified by group and principal ID.
74
+ *
75
+ * ## Example Usage
76
+ *
77
+ * Example usage:
78
+ *
79
+ * Look up a single direct group member by group and principal ID.
80
+ *
81
+ * ```typescript
82
+ * import * as pulumi from "@pulumi/pulumi";
83
+ * import * as databricks from "@pulumi/databricks";
84
+ *
85
+ * const _this = databricks.getAccountIamDirectGroupMemberV2({
86
+ * groupId: 123456789,
87
+ * principalId: "987654321",
88
+ * });
89
+ * ```
90
+ */
91
+ export declare function getAccountIamDirectGroupMemberV2Output(args: GetAccountIamDirectGroupMemberV2OutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetAccountIamDirectGroupMemberV2Result>;
92
+ /**
93
+ * A collection of arguments for invoking getAccountIamDirectGroupMemberV2.
94
+ */
95
+ export interface GetAccountIamDirectGroupMemberV2OutputArgs {
96
+ /**
97
+ * The internal ID of the group this member belongs to
98
+ */
99
+ groupId: pulumi.Input<number>;
100
+ /**
101
+ * Internal ID of the principal in Databricks
102
+ */
103
+ principalId: pulumi.Input<string>;
104
+ }
105
+ //# sourceMappingURL=getAccountIamDirectGroupMemberV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAccountIamDirectGroupMemberV2.d.ts","sourceRoot":"","sources":["../getAccountIamDirectGroupMemberV2.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,oCAAoC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAMzK;AAED;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACjD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,sCAAsC;IACnD;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAClC;AACD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,0CAA0C,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAMjM;AAED;;GAEG;AACH,MAAM,WAAW,0CAA0C;IACvD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CACrC"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.getAccountIamDirectGroupMemberV2Output = exports.getAccountIamDirectGroupMemberV2 = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ /**
32
+ * [![Private Preview](https://img.shields.io/badge/Release_Stage-Private_Preview-blueviolet)](https://docs.databricks.com/aws/en/release-notes/release-types)
33
+ *
34
+ * [API Documentation](https://docs.databricks.com/api/account/iamv2)
35
+ *
36
+ * Reads a single direct group membership in an account, identified by group and principal ID.
37
+ *
38
+ * ## Example Usage
39
+ *
40
+ * Example usage:
41
+ *
42
+ * Look up a single direct group member by group and principal ID.
43
+ *
44
+ * ```typescript
45
+ * import * as pulumi from "@pulumi/pulumi";
46
+ * import * as databricks from "@pulumi/databricks";
47
+ *
48
+ * const _this = databricks.getAccountIamDirectGroupMemberV2({
49
+ * groupId: 123456789,
50
+ * principalId: "987654321",
51
+ * });
52
+ * ```
53
+ */
54
+ function getAccountIamDirectGroupMemberV2(args, opts) {
55
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
56
+ return pulumi.runtime.invoke("databricks:index/getAccountIamDirectGroupMemberV2:getAccountIamDirectGroupMemberV2", {
57
+ "groupId": args.groupId,
58
+ "principalId": args.principalId,
59
+ }, opts);
60
+ }
61
+ exports.getAccountIamDirectGroupMemberV2 = getAccountIamDirectGroupMemberV2;
62
+ /**
63
+ * [![Private Preview](https://img.shields.io/badge/Release_Stage-Private_Preview-blueviolet)](https://docs.databricks.com/aws/en/release-notes/release-types)
64
+ *
65
+ * [API Documentation](https://docs.databricks.com/api/account/iamv2)
66
+ *
67
+ * Reads a single direct group membership in an account, identified by group and principal ID.
68
+ *
69
+ * ## Example Usage
70
+ *
71
+ * Example usage:
72
+ *
73
+ * Look up a single direct group member by group and principal ID.
74
+ *
75
+ * ```typescript
76
+ * import * as pulumi from "@pulumi/pulumi";
77
+ * import * as databricks from "@pulumi/databricks";
78
+ *
79
+ * const _this = databricks.getAccountIamDirectGroupMemberV2({
80
+ * groupId: 123456789,
81
+ * principalId: "987654321",
82
+ * });
83
+ * ```
84
+ */
85
+ function getAccountIamDirectGroupMemberV2Output(args, opts) {
86
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
87
+ return pulumi.runtime.invokeOutput("databricks:index/getAccountIamDirectGroupMemberV2:getAccountIamDirectGroupMemberV2", {
88
+ "groupId": args.groupId,
89
+ "principalId": args.principalId,
90
+ }, opts);
91
+ }
92
+ exports.getAccountIamDirectGroupMemberV2Output = getAccountIamDirectGroupMemberV2Output;
93
+ //# sourceMappingURL=getAccountIamDirectGroupMemberV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAccountIamDirectGroupMemberV2.js","sourceRoot":"","sources":["../getAccountIamDirectGroupMemberV2.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAgB,gCAAgC,CAAC,IAA0C,EAAE,IAA2B;IACpH,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,oFAAoF,EAAE;QAC/G,SAAS,EAAE,IAAI,CAAC,OAAO;QACvB,aAAa,EAAE,IAAI,CAAC,WAAW;KAClC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,4EAMC;AA6CD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAgB,sCAAsC,CAAC,IAAgD,EAAE,IAAiC;IACtI,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,oFAAoF,EAAE;QACrH,SAAS,EAAE,IAAI,CAAC,OAAO;QACvB,aAAa,EAAE,IAAI,CAAC,WAAW;KAClC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,wFAMC"}
@@ -0,0 +1,88 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as outputs from "./types/output";
3
+ /**
4
+ * [![Private Preview](https://img.shields.io/badge/Release_Stage-Private_Preview-blueviolet)](https://docs.databricks.com/aws/en/release-notes/release-types)
5
+ *
6
+ * [API Documentation](https://docs.databricks.com/api/account/iamv2)
7
+ *
8
+ * Lists the direct members of an account group.
9
+ *
10
+ * ## Example Usage
11
+ *
12
+ * Example usage:
13
+ *
14
+ * List all direct members of a group.
15
+ *
16
+ * ```typescript
17
+ * import * as pulumi from "@pulumi/pulumi";
18
+ * import * as databricks from "@pulumi/databricks";
19
+ *
20
+ * const _this = databricks.getAccountIamDirectGroupMembersV2({
21
+ * groupId: 123456789,
22
+ * });
23
+ * ```
24
+ */
25
+ export declare function getAccountIamDirectGroupMembersV2(args: GetAccountIamDirectGroupMembersV2Args, opts?: pulumi.InvokeOptions): Promise<GetAccountIamDirectGroupMembersV2Result>;
26
+ /**
27
+ * A collection of arguments for invoking getAccountIamDirectGroupMembersV2.
28
+ */
29
+ export interface GetAccountIamDirectGroupMembersV2Args {
30
+ /**
31
+ * Required. Internal ID of the group in Databricks whose direct members are being listed
32
+ */
33
+ groupId: number;
34
+ /**
35
+ * The maximum number of members to return. The service may return fewer than this value.
36
+ * If not provided, defaults to 1000 (also the maximum allowed)
37
+ */
38
+ pageSize?: number;
39
+ }
40
+ /**
41
+ * A collection of values returned by getAccountIamDirectGroupMembersV2.
42
+ */
43
+ export interface GetAccountIamDirectGroupMembersV2Result {
44
+ readonly directGroupMembers: outputs.GetAccountIamDirectGroupMembersV2DirectGroupMember[];
45
+ /**
46
+ * (integer) - The internal ID of the group this member belongs to
47
+ */
48
+ readonly groupId: number;
49
+ readonly pageSize?: number;
50
+ }
51
+ /**
52
+ * [![Private Preview](https://img.shields.io/badge/Release_Stage-Private_Preview-blueviolet)](https://docs.databricks.com/aws/en/release-notes/release-types)
53
+ *
54
+ * [API Documentation](https://docs.databricks.com/api/account/iamv2)
55
+ *
56
+ * Lists the direct members of an account group.
57
+ *
58
+ * ## Example Usage
59
+ *
60
+ * Example usage:
61
+ *
62
+ * List all direct members of a group.
63
+ *
64
+ * ```typescript
65
+ * import * as pulumi from "@pulumi/pulumi";
66
+ * import * as databricks from "@pulumi/databricks";
67
+ *
68
+ * const _this = databricks.getAccountIamDirectGroupMembersV2({
69
+ * groupId: 123456789,
70
+ * });
71
+ * ```
72
+ */
73
+ export declare function getAccountIamDirectGroupMembersV2Output(args: GetAccountIamDirectGroupMembersV2OutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetAccountIamDirectGroupMembersV2Result>;
74
+ /**
75
+ * A collection of arguments for invoking getAccountIamDirectGroupMembersV2.
76
+ */
77
+ export interface GetAccountIamDirectGroupMembersV2OutputArgs {
78
+ /**
79
+ * Required. Internal ID of the group in Databricks whose direct members are being listed
80
+ */
81
+ groupId: pulumi.Input<number>;
82
+ /**
83
+ * The maximum number of members to return. The service may return fewer than this value.
84
+ * If not provided, defaults to 1000 (also the maximum allowed)
85
+ */
86
+ pageSize?: pulumi.Input<number | undefined>;
87
+ }
88
+ //# sourceMappingURL=getAccountIamDirectGroupMembersV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAccountIamDirectGroupMembersV2.d.ts","sourceRoot":"","sources":["../getAccountIamDirectGroupMembersV2.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAG1C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,qCAAqC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAM5K;AAED;;GAEG;AACH,MAAM,WAAW,qCAAqC;IAClD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,uCAAuC;IACpD,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,kDAAkD,EAAE,CAAC;IAC1F;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC9B;AACD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,uCAAuC,CAAC,IAAI,EAAE,2CAA2C,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAMpM;AAED;;GAEG;AACH,MAAM,WAAW,2CAA2C;IACxD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC/C"}