@pulumi/databricks 1.77.0 → 1.78.0-alpha.1762486781

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 (101) hide show
  1. package/accountFederationPolicy.d.ts +13 -0
  2. package/accountFederationPolicy.js +13 -0
  3. package/accountFederationPolicy.js.map +1 -1
  4. package/accountNetworkPolicy.d.ts +26 -0
  5. package/accountNetworkPolicy.js +26 -0
  6. package/accountNetworkPolicy.js.map +1 -1
  7. package/alertV2.d.ts +37 -0
  8. package/alertV2.js +37 -0
  9. package/alertV2.js.map +1 -1
  10. package/app.d.ts +33 -0
  11. package/app.js +33 -0
  12. package/app.js.map +1 -1
  13. package/appsSettingsCustomTemplate.d.ts +34 -0
  14. package/appsSettingsCustomTemplate.js +34 -0
  15. package/appsSettingsCustomTemplate.js.map +1 -1
  16. package/catalog.d.ts +3 -3
  17. package/clusterPolicy.d.ts +63 -0
  18. package/clusterPolicy.js +63 -0
  19. package/clusterPolicy.js.map +1 -1
  20. package/config/vars.d.ts +2 -0
  21. package/config/vars.js +12 -0
  22. package/config/vars.js.map +1 -1
  23. package/databaseSyncedDatabaseTable.d.ts +113 -0
  24. package/databaseSyncedDatabaseTable.js +113 -0
  25. package/databaseSyncedDatabaseTable.js.map +1 -1
  26. package/externalLocation.d.ts +75 -3
  27. package/externalLocation.js +72 -0
  28. package/externalLocation.js.map +1 -1
  29. package/file.d.ts +1 -1
  30. package/file.js +1 -1
  31. package/getAwsAssumeRolePolicy.d.ts +10 -10
  32. package/getAwsAssumeRolePolicy.js +10 -10
  33. package/getAwsBucketPolicy.d.ts +12 -12
  34. package/getAwsBucketPolicy.js +12 -12
  35. package/getAwsUnityCatalogAssumeRolePolicy.d.ts +10 -10
  36. package/getAwsUnityCatalogAssumeRolePolicy.js +10 -10
  37. package/getAwsUnityCatalogPolicy.d.ts +10 -10
  38. package/getAwsUnityCatalogPolicy.js +10 -10
  39. package/getCluster.d.ts +62 -0
  40. package/getCluster.js +62 -0
  41. package/getCluster.js.map +1 -1
  42. package/getCurrentConfig.d.ts +4 -4
  43. package/getCurrentConfig.js +4 -4
  44. package/getMetastore.d.ts +4 -4
  45. package/getMetastore.js +4 -4
  46. package/getNotebook.d.ts +11 -0
  47. package/getNotebook.js +2 -0
  48. package/getNotebook.js.map +1 -1
  49. package/getServicePrincipals.d.ts +88 -0
  50. package/getServicePrincipals.js +88 -0
  51. package/getServicePrincipals.js.map +1 -1
  52. package/instanceProfile.d.ts +0 -107
  53. package/instanceProfile.js +0 -107
  54. package/instanceProfile.js.map +1 -1
  55. package/metastore.d.ts +46 -3
  56. package/metastore.js +43 -0
  57. package/metastore.js.map +1 -1
  58. package/metastoreDataAccess.d.ts +28 -0
  59. package/metastoreDataAccess.js +28 -0
  60. package/metastoreDataAccess.js.map +1 -1
  61. package/mlflowWebhook.d.ts +2 -2
  62. package/mlflowWebhook.js +2 -2
  63. package/mwsCredentials.d.ts +4 -4
  64. package/mwsCredentials.js +4 -4
  65. package/mwsCustomerManagedKeys.d.ts +0 -152
  66. package/mwsCustomerManagedKeys.js +0 -152
  67. package/mwsCustomerManagedKeys.js.map +1 -1
  68. package/mwsLogDelivery.d.ts +90 -0
  69. package/mwsLogDelivery.js +90 -0
  70. package/mwsLogDelivery.js.map +1 -1
  71. package/mwsStorageConfigurations.d.ts +5 -5
  72. package/mwsStorageConfigurations.js +5 -5
  73. package/mwsVpcEndpoint.d.ts +5 -5
  74. package/mwsVpcEndpoint.js +5 -5
  75. package/mwsWorkspaces.d.ts +24 -21
  76. package/mwsWorkspaces.js +20 -18
  77. package/mwsWorkspaces.js.map +1 -1
  78. package/notebook.d.ts +14 -0
  79. package/notebook.js +2 -0
  80. package/notebook.js.map +1 -1
  81. package/package.json +2 -2
  82. package/permissionAssignment.d.ts +14 -0
  83. package/permissionAssignment.js +2 -0
  84. package/permissionAssignment.js.map +1 -1
  85. package/permissions.d.ts +3 -3
  86. package/permissions.js +3 -3
  87. package/provider.d.ts +3 -0
  88. package/provider.js +2 -0
  89. package/provider.js.map +1 -1
  90. package/recipient.d.ts +41 -0
  91. package/recipient.js +41 -0
  92. package/recipient.js.map +1 -1
  93. package/registeredModel.d.ts +3 -3
  94. package/schema.d.ts +3 -3
  95. package/servicePrincipalFederationPolicy.d.ts +15 -0
  96. package/servicePrincipalFederationPolicy.js +15 -0
  97. package/servicePrincipalFederationPolicy.js.map +1 -1
  98. package/sqlTable.d.ts +3 -3
  99. package/types/input.d.ts +30 -42
  100. package/types/output.d.ts +24 -42
  101. package/volume.d.ts +3 -3
@@ -3,6 +3,50 @@ import * as pulumi from "@pulumi/pulumi";
3
3
  * Retrieves `applicationIds` of all databricks.ServicePrincipal based on their `displayName`
4
4
  *
5
5
  * > This data source can be used with an account or workspace-level provider.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * Adding all service principals of which display name contains `my-spn` to admin group
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as databricks from "@pulumi/databricks";
14
+ * import * as std from "@pulumi/std";
15
+ *
16
+ * export = async () => {
17
+ * const admins = await databricks.getGroup({
18
+ * displayName: "admins",
19
+ * });
20
+ * const spns = await databricks.getServicePrincipals({
21
+ * displayNameContains: "my-spn",
22
+ * });
23
+ * const spn = .reduce((__obj, [__key, __value]) => ({ ...__obj, [__key]: await databricks.getServicePrincipal({
24
+ * applicationId: __value,
25
+ * }) }));
26
+ * const myMemberSpn: databricks.GroupMember[] = [];
27
+ * for (const range of std.toset({
28
+ * input: spns.applicationIds,
29
+ * }).result.map((v, k) => ({key: k, value: v}))) {
30
+ * myMemberSpn.push(new databricks.GroupMember(`my_member_spn-${range.key}`, {
31
+ * groupId: admins.id,
32
+ * memberId: spn[range.value].spId,
33
+ * }));
34
+ * }
35
+ * }
36
+ * ```
37
+ *
38
+ * ## Related Resources
39
+ *
40
+ * The following resources are used in the same context:
41
+ *
42
+ * - End to end workspace management guide.
43
+ * - databricks.getCurrentUser data to retrieve information about databricks.User or databricks_service_principal, that is calling Databricks REST API.
44
+ * - databricks.Group to manage [Account-level](https://docs.databricks.com/aws/en/admin/users-groups/groups) or [Workspace-level](https://docs.databricks.com/aws/en/admin/users-groups/workspace-local-groups) groups.
45
+ * - databricks.Group data to retrieve information about databricks.Group members, entitlements and instance profiles.
46
+ * - databricks.GroupInstanceProfile to attach databricks.InstanceProfile (AWS) to databricks_group.
47
+ * - databricks.GroupMember to attach users and groups as group members.
48
+ * - databricks.Permissions to manage [access control](https://docs.databricks.com/security/access-control/index.html) in Databricks workspace.
49
+ * - databricksService principal to manage service principals
6
50
  */
7
51
  export declare function getServicePrincipals(args?: GetServicePrincipalsArgs, opts?: pulumi.InvokeOptions): Promise<GetServicePrincipalsResult>;
8
52
  /**
@@ -36,6 +80,50 @@ export interface GetServicePrincipalsResult {
36
80
  * Retrieves `applicationIds` of all databricks.ServicePrincipal based on their `displayName`
37
81
  *
38
82
  * > This data source can be used with an account or workspace-level provider.
83
+ *
84
+ * ## Example Usage
85
+ *
86
+ * Adding all service principals of which display name contains `my-spn` to admin group
87
+ *
88
+ * ```typescript
89
+ * import * as pulumi from "@pulumi/pulumi";
90
+ * import * as databricks from "@pulumi/databricks";
91
+ * import * as std from "@pulumi/std";
92
+ *
93
+ * export = async () => {
94
+ * const admins = await databricks.getGroup({
95
+ * displayName: "admins",
96
+ * });
97
+ * const spns = await databricks.getServicePrincipals({
98
+ * displayNameContains: "my-spn",
99
+ * });
100
+ * const spn = .reduce((__obj, [__key, __value]) => ({ ...__obj, [__key]: await databricks.getServicePrincipal({
101
+ * applicationId: __value,
102
+ * }) }));
103
+ * const myMemberSpn: databricks.GroupMember[] = [];
104
+ * for (const range of std.toset({
105
+ * input: spns.applicationIds,
106
+ * }).result.map((v, k) => ({key: k, value: v}))) {
107
+ * myMemberSpn.push(new databricks.GroupMember(`my_member_spn-${range.key}`, {
108
+ * groupId: admins.id,
109
+ * memberId: spn[range.value].spId,
110
+ * }));
111
+ * }
112
+ * }
113
+ * ```
114
+ *
115
+ * ## Related Resources
116
+ *
117
+ * The following resources are used in the same context:
118
+ *
119
+ * - End to end workspace management guide.
120
+ * - databricks.getCurrentUser data to retrieve information about databricks.User or databricks_service_principal, that is calling Databricks REST API.
121
+ * - databricks.Group to manage [Account-level](https://docs.databricks.com/aws/en/admin/users-groups/groups) or [Workspace-level](https://docs.databricks.com/aws/en/admin/users-groups/workspace-local-groups) groups.
122
+ * - databricks.Group data to retrieve information about databricks.Group members, entitlements and instance profiles.
123
+ * - databricks.GroupInstanceProfile to attach databricks.InstanceProfile (AWS) to databricks_group.
124
+ * - databricks.GroupMember to attach users and groups as group members.
125
+ * - databricks.Permissions to manage [access control](https://docs.databricks.com/security/access-control/index.html) in Databricks workspace.
126
+ * - databricksService principal to manage service principals
39
127
  */
40
128
  export declare function getServicePrincipalsOutput(args?: GetServicePrincipalsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetServicePrincipalsResult>;
41
129
  /**
@@ -9,6 +9,50 @@ const utilities = require("./utilities");
9
9
  * Retrieves `applicationIds` of all databricks.ServicePrincipal based on their `displayName`
10
10
  *
11
11
  * > This data source can be used with an account or workspace-level provider.
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * Adding all service principals of which display name contains `my-spn` to admin group
16
+ *
17
+ * ```typescript
18
+ * import * as pulumi from "@pulumi/pulumi";
19
+ * import * as databricks from "@pulumi/databricks";
20
+ * import * as std from "@pulumi/std";
21
+ *
22
+ * export = async () => {
23
+ * const admins = await databricks.getGroup({
24
+ * displayName: "admins",
25
+ * });
26
+ * const spns = await databricks.getServicePrincipals({
27
+ * displayNameContains: "my-spn",
28
+ * });
29
+ * const spn = .reduce((__obj, [__key, __value]) => ({ ...__obj, [__key]: await databricks.getServicePrincipal({
30
+ * applicationId: __value,
31
+ * }) }));
32
+ * const myMemberSpn: databricks.GroupMember[] = [];
33
+ * for (const range of std.toset({
34
+ * input: spns.applicationIds,
35
+ * }).result.map((v, k) => ({key: k, value: v}))) {
36
+ * myMemberSpn.push(new databricks.GroupMember(`my_member_spn-${range.key}`, {
37
+ * groupId: admins.id,
38
+ * memberId: spn[range.value].spId,
39
+ * }));
40
+ * }
41
+ * }
42
+ * ```
43
+ *
44
+ * ## Related Resources
45
+ *
46
+ * The following resources are used in the same context:
47
+ *
48
+ * - End to end workspace management guide.
49
+ * - databricks.getCurrentUser data to retrieve information about databricks.User or databricks_service_principal, that is calling Databricks REST API.
50
+ * - databricks.Group to manage [Account-level](https://docs.databricks.com/aws/en/admin/users-groups/groups) or [Workspace-level](https://docs.databricks.com/aws/en/admin/users-groups/workspace-local-groups) groups.
51
+ * - databricks.Group data to retrieve information about databricks.Group members, entitlements and instance profiles.
52
+ * - databricks.GroupInstanceProfile to attach databricks.InstanceProfile (AWS) to databricks_group.
53
+ * - databricks.GroupMember to attach users and groups as group members.
54
+ * - databricks.Permissions to manage [access control](https://docs.databricks.com/security/access-control/index.html) in Databricks workspace.
55
+ * - databricksService principal to manage service principals
12
56
  */
13
57
  function getServicePrincipals(args, opts) {
14
58
  args = args || {};
@@ -23,6 +67,50 @@ exports.getServicePrincipals = getServicePrincipals;
23
67
  * Retrieves `applicationIds` of all databricks.ServicePrincipal based on their `displayName`
24
68
  *
25
69
  * > This data source can be used with an account or workspace-level provider.
70
+ *
71
+ * ## Example Usage
72
+ *
73
+ * Adding all service principals of which display name contains `my-spn` to admin group
74
+ *
75
+ * ```typescript
76
+ * import * as pulumi from "@pulumi/pulumi";
77
+ * import * as databricks from "@pulumi/databricks";
78
+ * import * as std from "@pulumi/std";
79
+ *
80
+ * export = async () => {
81
+ * const admins = await databricks.getGroup({
82
+ * displayName: "admins",
83
+ * });
84
+ * const spns = await databricks.getServicePrincipals({
85
+ * displayNameContains: "my-spn",
86
+ * });
87
+ * const spn = .reduce((__obj, [__key, __value]) => ({ ...__obj, [__key]: await databricks.getServicePrincipal({
88
+ * applicationId: __value,
89
+ * }) }));
90
+ * const myMemberSpn: databricks.GroupMember[] = [];
91
+ * for (const range of std.toset({
92
+ * input: spns.applicationIds,
93
+ * }).result.map((v, k) => ({key: k, value: v}))) {
94
+ * myMemberSpn.push(new databricks.GroupMember(`my_member_spn-${range.key}`, {
95
+ * groupId: admins.id,
96
+ * memberId: spn[range.value].spId,
97
+ * }));
98
+ * }
99
+ * }
100
+ * ```
101
+ *
102
+ * ## Related Resources
103
+ *
104
+ * The following resources are used in the same context:
105
+ *
106
+ * - End to end workspace management guide.
107
+ * - databricks.getCurrentUser data to retrieve information about databricks.User or databricks_service_principal, that is calling Databricks REST API.
108
+ * - databricks.Group to manage [Account-level](https://docs.databricks.com/aws/en/admin/users-groups/groups) or [Workspace-level](https://docs.databricks.com/aws/en/admin/users-groups/workspace-local-groups) groups.
109
+ * - databricks.Group data to retrieve information about databricks.Group members, entitlements and instance profiles.
110
+ * - databricks.GroupInstanceProfile to attach databricks.InstanceProfile (AWS) to databricks_group.
111
+ * - databricks.GroupMember to attach users and groups as group members.
112
+ * - databricks.Permissions to manage [access control](https://docs.databricks.com/security/access-control/index.html) in Databricks workspace.
113
+ * - databricksService principal to manage service principals
26
114
  */
27
115
  function getServicePrincipalsOutput(args, opts) {
28
116
  args = args || {};
@@ -1 +1 @@
1
- {"version":3,"file":"getServicePrincipals.js","sourceRoot":"","sources":["../getServicePrincipals.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,IAA+B,EAAE,IAA2B;IAC7F,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,4DAA4D,EAAE;QACvF,gBAAgB,EAAE,IAAI,CAAC,cAAc;QACrC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB;KAClD,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,oDAOC;AA8BD;;;;GAIG;AACH,SAAgB,0BAA0B,CAAC,IAAqC,EAAE,IAAiC;IAC/G,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,4DAA4D,EAAE;QAC7F,gBAAgB,EAAE,IAAI,CAAC,cAAc;QACrC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB;KAClD,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,gEAOC"}
1
+ {"version":3,"file":"getServicePrincipals.js","sourceRoot":"","sources":["../getServicePrincipals.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,SAAgB,oBAAoB,CAAC,IAA+B,EAAE,IAA2B;IAC7F,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,4DAA4D,EAAE;QACvF,gBAAgB,EAAE,IAAI,CAAC,cAAc;QACrC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB;KAClD,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,oDAOC;AA8BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,SAAgB,0BAA0B,CAAC,IAAqC,EAAE,IAAiC;IAC/G,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,4DAA4D,EAAE;QAC7F,gBAAgB,EAAE,IAAI,CAAC,cAAc;QACrC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB;KAClD,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,gEAOC"}
@@ -6,73 +6,6 @@ import * as pulumi from "@pulumi/pulumi";
6
6
  *
7
7
  * > Please switch to databricks.StorageCredential with Unity Catalog to manage storage credentials, which provides a better and faster way for managing credential security.
8
8
  *
9
- * ```typescript
10
- * import * as pulumi from "@pulumi/pulumi";
11
- * import * as aws from "@pulumi/aws";
12
- * import * as databricks from "@pulumi/databricks";
13
- *
14
- * const config = new pulumi.Config();
15
- * // Role that you've specified on https://accounts.cloud.databricks.com/#aws
16
- * const crossaccountRoleName = config.require("crossaccountRoleName");
17
- * const assumeRoleForEc2 = aws.iam.getPolicyDocument({
18
- * statements: [{
19
- * effect: "Allow",
20
- * actions: ["sts:AssumeRole"],
21
- * principals: [{
22
- * identifiers: ["ec2.amazonaws.com"],
23
- * type: "Service",
24
- * }],
25
- * }],
26
- * });
27
- * const roleForS3Access = new aws.iam.Role("role_for_s3_access", {
28
- * name: "shared-ec2-role-for-s3",
29
- * description: "Role for shared access",
30
- * assumeRolePolicy: assumeRoleForEc2.then(assumeRoleForEc2 => assumeRoleForEc2.json),
31
- * });
32
- * const passRoleForS3Access = aws.iam.getPolicyDocumentOutput({
33
- * statements: [{
34
- * effect: "Allow",
35
- * actions: ["iam:PassRole"],
36
- * resources: [roleForS3Access.arn],
37
- * }],
38
- * });
39
- * const passRoleForS3AccessPolicy = new aws.iam.Policy("pass_role_for_s3_access", {
40
- * name: "shared-pass-role-for-s3-access",
41
- * path: "/",
42
- * policy: passRoleForS3Access.apply(passRoleForS3Access => passRoleForS3Access.json),
43
- * });
44
- * const crossAccount = new aws.iam.RolePolicyAttachment("cross_account", {
45
- * policyArn: passRoleForS3AccessPolicy.arn,
46
- * role: crossaccountRoleName,
47
- * });
48
- * const shared = new aws.iam.InstanceProfile("shared", {
49
- * name: "shared-instance-profile",
50
- * role: roleForS3Access.name,
51
- * });
52
- * const sharedInstanceProfile = new databricks.InstanceProfile("shared", {instanceProfileArn: shared.arn});
53
- * const latest = databricks.getSparkVersion({});
54
- * const smallest = databricks.getNodeType({
55
- * localDisk: true,
56
- * });
57
- * const _this = new databricks.Cluster("this", {
58
- * clusterName: "Shared Autoscaling",
59
- * sparkVersion: latest.then(latest => latest.id),
60
- * nodeTypeId: smallest.then(smallest => smallest.id),
61
- * autoterminationMinutes: 20,
62
- * autoscale: {
63
- * minWorkers: 1,
64
- * maxWorkers: 50,
65
- * },
66
- * awsAttributes: {
67
- * instanceProfileArn: sharedInstanceProfile.id,
68
- * availability: "SPOT",
69
- * zoneId: "us-east-1",
70
- * firstOnDemand: 1,
71
- * spotBidPricePercent: 100,
72
- * },
73
- * });
74
- * ```
75
- *
76
9
  * ## Usage with Cluster Policies
77
10
  *
78
11
  * It is advised to keep all common configurations in Cluster Policies to maintain control of the environments launched, so `databricks.Cluster` above could be replaced with `databricks.ClusterPolicy`:
@@ -110,46 +43,6 @@ import * as pulumi from "@pulumi/pulumi";
110
43
  * });
111
44
  * ```
112
45
  *
113
- * ## Usage with Databricks SQL serverless
114
- *
115
- * When the instance profile ARN and its associated IAM role ARN don't match and the instance profile is intended for use with Databricks SQL serverless, the `iamRoleArn` parameter can be specified.
116
- *
117
- * ```typescript
118
- * import * as pulumi from "@pulumi/pulumi";
119
- * import * as aws from "@pulumi/aws";
120
- * import * as databricks from "@pulumi/databricks";
121
- *
122
- * const sqlServerlessAssumeRole = aws.iam.getPolicyDocument({
123
- * statements: [{
124
- * actions: ["sts:AssumeRole"],
125
- * principals: [{
126
- * type: "AWS",
127
- * identifiers: ["arn:aws:iam::790110701330:role/serverless-customer-resource-role"],
128
- * }],
129
- * conditions: [{
130
- * test: "StringEquals",
131
- * variable: "sts:ExternalID",
132
- * values: [
133
- * "databricks-serverless-<YOUR_WORKSPACE_ID1>",
134
- * "databricks-serverless-<YOUR_WORKSPACE_ID2>",
135
- * ],
136
- * }],
137
- * }],
138
- * });
139
- * const _this = new aws.iam.Role("this", {
140
- * name: "my-databricks-sql-serverless-role",
141
- * assumeRolePolicy: sqlServerlessAssumeRole.then(sqlServerlessAssumeRole => sqlServerlessAssumeRole.json),
142
- * });
143
- * const thisInstanceProfile = new aws.iam.InstanceProfile("this", {
144
- * name: "my-databricks-sql-serverless-instance-profile",
145
- * role: _this.name,
146
- * });
147
- * const thisInstanceProfile2 = new databricks.InstanceProfile("this", {
148
- * instanceProfileArn: thisInstanceProfile.arn,
149
- * iamRoleArn: _this.arn,
150
- * });
151
- * ```
152
- *
153
46
  * ## Import
154
47
  *
155
48
  * The resource instance profile can be imported using the ARN of it
@@ -12,73 +12,6 @@ const utilities = require("./utilities");
12
12
  *
13
13
  * > Please switch to databricks.StorageCredential with Unity Catalog to manage storage credentials, which provides a better and faster way for managing credential security.
14
14
  *
15
- * ```typescript
16
- * import * as pulumi from "@pulumi/pulumi";
17
- * import * as aws from "@pulumi/aws";
18
- * import * as databricks from "@pulumi/databricks";
19
- *
20
- * const config = new pulumi.Config();
21
- * // Role that you've specified on https://accounts.cloud.databricks.com/#aws
22
- * const crossaccountRoleName = config.require("crossaccountRoleName");
23
- * const assumeRoleForEc2 = aws.iam.getPolicyDocument({
24
- * statements: [{
25
- * effect: "Allow",
26
- * actions: ["sts:AssumeRole"],
27
- * principals: [{
28
- * identifiers: ["ec2.amazonaws.com"],
29
- * type: "Service",
30
- * }],
31
- * }],
32
- * });
33
- * const roleForS3Access = new aws.iam.Role("role_for_s3_access", {
34
- * name: "shared-ec2-role-for-s3",
35
- * description: "Role for shared access",
36
- * assumeRolePolicy: assumeRoleForEc2.then(assumeRoleForEc2 => assumeRoleForEc2.json),
37
- * });
38
- * const passRoleForS3Access = aws.iam.getPolicyDocumentOutput({
39
- * statements: [{
40
- * effect: "Allow",
41
- * actions: ["iam:PassRole"],
42
- * resources: [roleForS3Access.arn],
43
- * }],
44
- * });
45
- * const passRoleForS3AccessPolicy = new aws.iam.Policy("pass_role_for_s3_access", {
46
- * name: "shared-pass-role-for-s3-access",
47
- * path: "/",
48
- * policy: passRoleForS3Access.apply(passRoleForS3Access => passRoleForS3Access.json),
49
- * });
50
- * const crossAccount = new aws.iam.RolePolicyAttachment("cross_account", {
51
- * policyArn: passRoleForS3AccessPolicy.arn,
52
- * role: crossaccountRoleName,
53
- * });
54
- * const shared = new aws.iam.InstanceProfile("shared", {
55
- * name: "shared-instance-profile",
56
- * role: roleForS3Access.name,
57
- * });
58
- * const sharedInstanceProfile = new databricks.InstanceProfile("shared", {instanceProfileArn: shared.arn});
59
- * const latest = databricks.getSparkVersion({});
60
- * const smallest = databricks.getNodeType({
61
- * localDisk: true,
62
- * });
63
- * const _this = new databricks.Cluster("this", {
64
- * clusterName: "Shared Autoscaling",
65
- * sparkVersion: latest.then(latest => latest.id),
66
- * nodeTypeId: smallest.then(smallest => smallest.id),
67
- * autoterminationMinutes: 20,
68
- * autoscale: {
69
- * minWorkers: 1,
70
- * maxWorkers: 50,
71
- * },
72
- * awsAttributes: {
73
- * instanceProfileArn: sharedInstanceProfile.id,
74
- * availability: "SPOT",
75
- * zoneId: "us-east-1",
76
- * firstOnDemand: 1,
77
- * spotBidPricePercent: 100,
78
- * },
79
- * });
80
- * ```
81
- *
82
15
  * ## Usage with Cluster Policies
83
16
  *
84
17
  * It is advised to keep all common configurations in Cluster Policies to maintain control of the environments launched, so `databricks.Cluster` above could be replaced with `databricks.ClusterPolicy`:
@@ -116,46 +49,6 @@ const utilities = require("./utilities");
116
49
  * });
117
50
  * ```
118
51
  *
119
- * ## Usage with Databricks SQL serverless
120
- *
121
- * When the instance profile ARN and its associated IAM role ARN don't match and the instance profile is intended for use with Databricks SQL serverless, the `iamRoleArn` parameter can be specified.
122
- *
123
- * ```typescript
124
- * import * as pulumi from "@pulumi/pulumi";
125
- * import * as aws from "@pulumi/aws";
126
- * import * as databricks from "@pulumi/databricks";
127
- *
128
- * const sqlServerlessAssumeRole = aws.iam.getPolicyDocument({
129
- * statements: [{
130
- * actions: ["sts:AssumeRole"],
131
- * principals: [{
132
- * type: "AWS",
133
- * identifiers: ["arn:aws:iam::790110701330:role/serverless-customer-resource-role"],
134
- * }],
135
- * conditions: [{
136
- * test: "StringEquals",
137
- * variable: "sts:ExternalID",
138
- * values: [
139
- * "databricks-serverless-<YOUR_WORKSPACE_ID1>",
140
- * "databricks-serverless-<YOUR_WORKSPACE_ID2>",
141
- * ],
142
- * }],
143
- * }],
144
- * });
145
- * const _this = new aws.iam.Role("this", {
146
- * name: "my-databricks-sql-serverless-role",
147
- * assumeRolePolicy: sqlServerlessAssumeRole.then(sqlServerlessAssumeRole => sqlServerlessAssumeRole.json),
148
- * });
149
- * const thisInstanceProfile = new aws.iam.InstanceProfile("this", {
150
- * name: "my-databricks-sql-serverless-instance-profile",
151
- * role: _this.name,
152
- * });
153
- * const thisInstanceProfile2 = new databricks.InstanceProfile("this", {
154
- * instanceProfileArn: thisInstanceProfile.arn,
155
- * iamRoleArn: _this.arn,
156
- * });
157
- * ```
158
- *
159
52
  * ## Import
160
53
  *
161
54
  * The resource instance profile can be imported using the ARN of it
@@ -1 +1 @@
1
- {"version":3,"file":"instanceProfile.js","sourceRoot":"","sources":["../instanceProfile.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4KG;AACH,MAAa,eAAgB,SAAQ,MAAM,CAAC,cAAc;IACtD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA4B,EAAE,IAAmC;QAC1H,OAAO,IAAI,eAAe,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,eAAe,CAAC,YAAY,CAAC;IAChE,CAAC;IA2BD,YAAY,IAAY,EAAE,WAAwD,EAAE,IAAmC;QACnH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA+C,CAAC;YAC9D,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,oBAAoB,CAAC,GAAG,KAAK,EAAE,kBAAkB,CAAC;YACjE,cAAc,CAAC,uBAAuB,CAAC,GAAG,KAAK,EAAE,qBAAqB,CAAC;YACvE,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;SAC5D;aAAM;YACH,MAAM,IAAI,GAAG,WAA8C,CAAC;YAC5D,IAAI,IAAI,EAAE,kBAAkB,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;aACrE;YACD,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,oBAAoB,CAAC,GAAG,IAAI,EAAE,kBAAkB,CAAC;YAChE,cAAc,CAAC,uBAAuB,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC;YACtE,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;SAC3D;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;;AA1EL,0CA2EC;AA7DG,gBAAgB;AACO,4BAAY,GAAG,kDAAkD,CAAC"}
1
+ {"version":3,"file":"instanceProfile.js","sourceRoot":"","sources":["../instanceProfile.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,MAAa,eAAgB,SAAQ,MAAM,CAAC,cAAc;IACtD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA4B,EAAE,IAAmC;QAC1H,OAAO,IAAI,eAAe,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,eAAe,CAAC,YAAY,CAAC;IAChE,CAAC;IA2BD,YAAY,IAAY,EAAE,WAAwD,EAAE,IAAmC;QACnH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA+C,CAAC;YAC9D,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,oBAAoB,CAAC,GAAG,KAAK,EAAE,kBAAkB,CAAC;YACjE,cAAc,CAAC,uBAAuB,CAAC,GAAG,KAAK,EAAE,qBAAqB,CAAC;YACvE,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;SAC5D;aAAM;YACH,MAAM,IAAI,GAAG,WAA8C,CAAC;YAC5D,IAAI,IAAI,EAAE,kBAAkB,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;aACrE;YACD,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,oBAAoB,CAAC,GAAG,IAAI,EAAE,kBAAkB,CAAC;YAChE,cAAc,CAAC,uBAAuB,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC;YACtE,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;SAC3D;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;;AA1EL,0CA2EC;AA7DG,gBAAgB;AACO,4BAAY,GAAG,kDAAkD,CAAC"}
package/metastore.d.ts CHANGED
@@ -31,6 +31,49 @@ import * as pulumi from "@pulumi/pulumi";
31
31
  *
32
32
  * For Azure
33
33
  *
34
+ * ```typescript
35
+ * import * as pulumi from "@pulumi/pulumi";
36
+ * import * as databricks from "@pulumi/databricks";
37
+ * import * as std from "@pulumi/std";
38
+ *
39
+ * const _this = new databricks.Metastore("this", {
40
+ * name: "primary",
41
+ * storageRoot: std.format({
42
+ * input: "abfss://%s@%s.dfs.core.windows.net/",
43
+ * args: [
44
+ * unityCatalog.name,
45
+ * unityCatalogAzurermStorageAccount.name,
46
+ * ],
47
+ * }).then(invoke => invoke.result),
48
+ * owner: "uc admins",
49
+ * region: "eastus",
50
+ * forceDestroy: true,
51
+ * });
52
+ * const thisMetastoreAssignment = new databricks.MetastoreAssignment("this", {
53
+ * metastoreId: _this.id,
54
+ * workspaceId: workspaceId,
55
+ * });
56
+ * ```
57
+ *
58
+ * For GCP
59
+ *
60
+ * ```typescript
61
+ * import * as pulumi from "@pulumi/pulumi";
62
+ * import * as databricks from "@pulumi/databricks";
63
+ *
64
+ * const _this = new databricks.Metastore("this", {
65
+ * name: "primary",
66
+ * storageRoot: `gs://${unityMetastore.name}`,
67
+ * owner: "uc admins",
68
+ * region: us_east1,
69
+ * forceDestroy: true,
70
+ * });
71
+ * const thisMetastoreAssignment = new databricks.MetastoreAssignment("this", {
72
+ * metastoreId: _this.id,
73
+ * workspaceId: workspaceId,
74
+ * });
75
+ * ```
76
+ *
34
77
  * ## Import
35
78
  *
36
79
  * This resource can be imported by ID:
@@ -104,7 +147,7 @@ export declare class Metastore extends pulumi.CustomResource {
104
147
  */
105
148
  readonly region: pulumi.Output<string>;
106
149
  /**
107
- * Path on cloud storage account, where managed `databricks.Table` are stored. Change forces creation of a new resource. If no `storageRoot` is defined for the metastore, each catalog must have a `storageRoot` defined.
150
+ * Path on cloud storage account, where managed `databricks.Table` are stored. If the URL contains special characters, such as space, `&`, etc., they should be percent-encoded (space > `%20`, etc.). Change forces creation of a new resource. If no `storageRoot` is defined for the metastore, each catalog must have a `storageRoot` defined.
108
151
  */
109
152
  readonly storageRoot: pulumi.Output<string | undefined>;
110
153
  readonly storageRootCredentialId: pulumi.Output<string | undefined>;
@@ -158,7 +201,7 @@ export interface MetastoreState {
158
201
  */
159
202
  region?: pulumi.Input<string>;
160
203
  /**
161
- * Path on cloud storage account, where managed `databricks.Table` are stored. Change forces creation of a new resource. If no `storageRoot` is defined for the metastore, each catalog must have a `storageRoot` defined.
204
+ * Path on cloud storage account, where managed `databricks.Table` are stored. If the URL contains special characters, such as space, `&`, etc., they should be percent-encoded (space > `%20`, etc.). Change forces creation of a new resource. If no `storageRoot` is defined for the metastore, each catalog must have a `storageRoot` defined.
162
205
  */
163
206
  storageRoot?: pulumi.Input<string>;
164
207
  storageRootCredentialId?: pulumi.Input<string>;
@@ -204,7 +247,7 @@ export interface MetastoreArgs {
204
247
  */
205
248
  region?: pulumi.Input<string>;
206
249
  /**
207
- * Path on cloud storage account, where managed `databricks.Table` are stored. Change forces creation of a new resource. If no `storageRoot` is defined for the metastore, each catalog must have a `storageRoot` defined.
250
+ * Path on cloud storage account, where managed `databricks.Table` are stored. If the URL contains special characters, such as space, `&`, etc., they should be percent-encoded (space > `%20`, etc.). Change forces creation of a new resource. If no `storageRoot` is defined for the metastore, each catalog must have a `storageRoot` defined.
208
251
  */
209
252
  storageRoot?: pulumi.Input<string>;
210
253
  storageRootCredentialId?: pulumi.Input<string>;
package/metastore.js CHANGED
@@ -37,6 +37,49 @@ const utilities = require("./utilities");
37
37
  *
38
38
  * For Azure
39
39
  *
40
+ * ```typescript
41
+ * import * as pulumi from "@pulumi/pulumi";
42
+ * import * as databricks from "@pulumi/databricks";
43
+ * import * as std from "@pulumi/std";
44
+ *
45
+ * const _this = new databricks.Metastore("this", {
46
+ * name: "primary",
47
+ * storageRoot: std.format({
48
+ * input: "abfss://%s@%s.dfs.core.windows.net/",
49
+ * args: [
50
+ * unityCatalog.name,
51
+ * unityCatalogAzurermStorageAccount.name,
52
+ * ],
53
+ * }).then(invoke => invoke.result),
54
+ * owner: "uc admins",
55
+ * region: "eastus",
56
+ * forceDestroy: true,
57
+ * });
58
+ * const thisMetastoreAssignment = new databricks.MetastoreAssignment("this", {
59
+ * metastoreId: _this.id,
60
+ * workspaceId: workspaceId,
61
+ * });
62
+ * ```
63
+ *
64
+ * For GCP
65
+ *
66
+ * ```typescript
67
+ * import * as pulumi from "@pulumi/pulumi";
68
+ * import * as databricks from "@pulumi/databricks";
69
+ *
70
+ * const _this = new databricks.Metastore("this", {
71
+ * name: "primary",
72
+ * storageRoot: `gs://${unityMetastore.name}`,
73
+ * owner: "uc admins",
74
+ * region: us_east1,
75
+ * forceDestroy: true,
76
+ * });
77
+ * const thisMetastoreAssignment = new databricks.MetastoreAssignment("this", {
78
+ * metastoreId: _this.id,
79
+ * workspaceId: workspaceId,
80
+ * });
81
+ * ```
82
+ *
40
83
  * ## Import
41
84
  *
42
85
  * This resource can be imported by ID:
package/metastore.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"metastore.js","sourceRoot":"","sources":["../metastore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metastore.js","sourceRoot":"","sources":["../metastore.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,34 @@ import * as outputs from "./types/output";
33
33
  *
34
34
  * For Azure using managed identity as credential (recommended)
35
35
  *
36
+ * ```typescript
37
+ * import * as pulumi from "@pulumi/pulumi";
38
+ * import * as databricks from "@pulumi/databricks";
39
+ * import * as std from "@pulumi/std";
40
+ *
41
+ * const _this = new databricks.Metastore("this", {
42
+ * name: "primary",
43
+ * storageRoot: std.format({
44
+ * input: "abfss://%s@%s.dfs.core.windows.net/",
45
+ * args: [
46
+ * unityCatalog.name,
47
+ * unityCatalogAzurermStorageAccount.name,
48
+ * ],
49
+ * }).then(invoke => invoke.result),
50
+ * owner: "uc admins",
51
+ * region: "eastus",
52
+ * forceDestroy: true,
53
+ * });
54
+ * const thisMetastoreDataAccess = new databricks.MetastoreDataAccess("this", {
55
+ * metastoreId: _this.id,
56
+ * name: "mi_dac",
57
+ * azureManagedIdentity: {
58
+ * accessConnectorId: accessConnectorId,
59
+ * },
60
+ * isDefault: true,
61
+ * });
62
+ * ```
63
+ *
36
64
  * ## Import
37
65
  *
38
66
  * This resource can be imported by combination of metastore id and the data access name.