@pulumi/databricks 1.32.0-alpha.1706827626 → 1.32.0-alpha.1707285262

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.
package/mount.d.ts CHANGED
@@ -2,6 +2,244 @@ 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
+ * This resource will mount your cloud storage
6
+ * * `gs` - to [mount Google Cloud Storage](https://docs.gcp.databricks.com/data/data-sources/google/gcs.html)
7
+ * * `abfs` - to [mount ADLS Gen2](https://docs.microsoft.com/en-us/azure/databricks/data/data-sources/azure/adls-gen2/) using Azure Blob Filesystem (ABFS) driver
8
+ * * `adl` - to [mount ADLS Gen1](https://docs.microsoft.com/en-us/azure/databricks/data/data-sources/azure/azure-datalake) using Azure Data Lake (ADL) driver
9
+ * * `wasb` - to [mount Azure Blob Storage](https://docs.microsoft.com/en-us/azure/databricks/data/data-sources/azure/azure-storage) using Windows Azure Storage Blob (WASB) driver
10
+ *
11
+ * 1. Use generic arguments - you have a responsibility for providing all necessary parameters that are required to mount specific storage. This is most flexible option
12
+ *
13
+ * ## Common arguments
14
+ *
15
+ * * `clusterId` - (Optional, String) Cluster to use for mounting. If no cluster is specified, a new cluster will be created and will mount the bucket for all of the clusters in this workspace. If the cluster is not running - it's going to be started, so be aware to set auto-termination rules on it.
16
+ * * `name` - (Optional, String) Name, under which mount will be accessible in `dbfs:/mnt/<MOUNT_NAME>`. If not specified, provider will try to infer it from depending on the resource type:
17
+ * * `bucketName` for AWS S3 and Google Cloud Storage
18
+ * * `containerName` for ADLS Gen2 and Azure Blob Storage
19
+ * * `storageResourceName` for ADLS Gen1
20
+ * * `uri` - (Optional, String) the URI for accessing specific storage (`s3a://....`, `abfss://....`, `gs://....`, etc.)
21
+ * * `extraConfigs` - (Optional, String map) configuration parameters that are necessary for mounting of specific storage
22
+ * * `resourceId` - (Optional, String) resource ID for a given storage account. Could be used to fill defaults, such as storage account & container names on Azure.
23
+ * * `encryptionType` - (Optional, String) encryption type. Currently used only for [AWS S3 mounts](https://docs.databricks.com/data/data-sources/aws/amazon-s3.html#encrypt-data-in-s3-buckets)
24
+ *
25
+ * ### Example mounting ADLS Gen2 using uri and extraConfigs
26
+ *
27
+ * ```typescript
28
+ * import * as pulumi from "@pulumi/pulumi";
29
+ * import * as databricks from "@pulumi/databricks";
30
+ *
31
+ * const tenantId = "00000000-1111-2222-3333-444444444444";
32
+ * const clientId = "55555555-6666-7777-8888-999999999999";
33
+ * const secretScope = "some-kv";
34
+ * const secretKey = "some-sp-secret";
35
+ * const container = "test";
36
+ * const storageAcc = "lrs";
37
+ * const _this = new databricks.Mount("this", {
38
+ * uri: `abfss://${container}@${storageAcc}.dfs.core.windows.net`,
39
+ * extraConfigs: {
40
+ * "fs.azure.account.auth.type": "OAuth",
41
+ * "fs.azure.account.oauth.provider.type": "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider",
42
+ * "fs.azure.account.oauth2.client.id": clientId,
43
+ * "fs.azure.account.oauth2.client.secret": `{{secrets/${secretScope}/${secretKey}}}`,
44
+ * "fs.azure.account.oauth2.client.endpoint": `https://login.microsoftonline.com/${tenantId}/oauth2/token`,
45
+ * "fs.azure.createRemoteFileSystemDuringInitialization": "false",
46
+ * },
47
+ * });
48
+ * ```
49
+ *
50
+ * ## s3 block
51
+ *
52
+ * This block allows specifying parameters for mounting of the ADLS Gen2. The following arguments are required inside the `s3` block:
53
+ *
54
+ * * `instanceProfile` - (Optional) (String) ARN of registered instance profile for data access. If it's not specified, then the `clusterId` should be provided, and the cluster should have an instance profile attached to it. If both `clusterId` & `instanceProfile` are specified, then `clusterId` takes precedence.
55
+ * * `bucketName` - (Required) (String) S3 bucket name to be mounted.
56
+ *
57
+ * ### Example of mounting S3
58
+ *
59
+ * ```typescript
60
+ * import * as pulumi from "@pulumi/pulumi";
61
+ * import * as databricks from "@pulumi/databricks";
62
+ *
63
+ * // now you can do `%fs ls /mnt/experiments` in notebooks
64
+ * const _this = new databricks.Mount("this", {s3: {
65
+ * instanceProfile: databricks_instance_profile.ds.id,
66
+ * bucketName: aws_s3_bucket["this"].bucket,
67
+ * }});
68
+ * ```
69
+ *
70
+ * ## abfs block
71
+ *
72
+ * This block allows specifying parameters for mounting of the ADLS Gen2. The following arguments are required inside the `abfs` block:
73
+ *
74
+ * * `clientId` - (Required) (String) This is the clientId (Application Object ID) for the enterprise application for the service principal.
75
+ * * `tenantId` - (Optional) (String) This is your azure directory tenant id. It is required for creating the mount. (Could be omitted if Azure authentication is used, and we can extract `tenantId` from it).
76
+ * * `clientSecretKey` - (Required) (String) This is the secret key in which your service principal/enterprise app client secret will be stored.
77
+ * * `clientSecretScope` - (Required) (String) This is the secret scope in which your service principal/enterprise app client secret will be stored.
78
+ * * `containerName` - (Required) (String) ADLS gen2 container name. (Could be omitted if `resourceId` is provided)
79
+ * * `storageAccountName` - (Required) (String) The name of the storage resource in which the data is. (Could be omitted if `resourceId` is provided)
80
+ * * `directory` - (Computed) (String) This is optional if you don't want to add an additional directory that you wish to mount. This must start with a "/".
81
+ * * `initializeFileSystem` - (Required) (Bool) either or not initialize FS for the first use
82
+ *
83
+ * ### Creating mount for ADLS Gen2 using abfs block
84
+ *
85
+ * In this example, we're using Azure authentication, so we can omit some parameters (`tenantId`, `storageAccountName`, and `containerName`) that will be detected automatically.
86
+ *
87
+ * ```typescript
88
+ * import * as pulumi from "@pulumi/pulumi";
89
+ * import * as azurerm from "@pulumi/azurerm";
90
+ * import * as databricks from "@pulumi/databricks";
91
+ *
92
+ * const terraform = new databricks.SecretScope("terraform", {initialManagePrincipal: "users"});
93
+ * const servicePrincipalKey = new databricks.Secret("servicePrincipalKey", {
94
+ * key: "service_principal_key",
95
+ * stringValue: _var.ARM_CLIENT_SECRET,
96
+ * scope: terraform.name,
97
+ * });
98
+ * const thisazurerm_storage_account = new azurerm.index.Azurerm_storage_account("thisazurerm_storage_account", {
99
+ * name: `${_var.prefix}datalake`,
100
+ * resourceGroupName: _var.resource_group_name,
101
+ * location: _var.resource_group_location,
102
+ * accountTier: "Standard",
103
+ * accountReplicationType: "GRS",
104
+ * accountKind: "StorageV2",
105
+ * isHnsEnabled: true,
106
+ * });
107
+ * const thisazurerm_role_assignment = new azurerm.index.Azurerm_role_assignment("thisazurerm_role_assignment", {
108
+ * scope: thisazurerm_storage_account.id,
109
+ * roleDefinitionName: "Storage Blob Data Contributor",
110
+ * principalId: data.azurerm_client_config.current.object_id,
111
+ * });
112
+ * const thisazurerm_storage_container = new azurerm.index.Azurerm_storage_container("thisazurerm_storage_container", {
113
+ * name: "marketing",
114
+ * storageAccountName: thisazurerm_storage_account.name,
115
+ * containerAccessType: "private",
116
+ * });
117
+ * const marketing = new databricks.Mount("marketing", {
118
+ * resourceId: thisazurerm_storage_container.resourceManagerId,
119
+ * abfs: {
120
+ * clientId: data.azurerm_client_config.current.client_id,
121
+ * clientSecretScope: terraform.name,
122
+ * clientSecretKey: servicePrincipalKey.key,
123
+ * initializeFileSystem: true,
124
+ * },
125
+ * });
126
+ * ```
127
+ *
128
+ * ## gs block
129
+ *
130
+ * This block allows specifying parameters for mounting of the Google Cloud Storage. The following arguments are required inside the `gs` block:
131
+ *
132
+ * * `serviceAccount` - (Optional) (String) email of registered [Google Service Account](https://docs.gcp.databricks.com/data/data-sources/google/gcs.html#step-1-set-up-google-cloud-service-account-using-google-cloud-console) for data access. If it's not specified, then the `clusterId` should be provided, and the cluster should have a Google service account attached to it.
133
+ * * `bucketName` - (Required) (String) GCS bucket name to be mounted.
134
+ *
135
+ * ### Example mounting Google Cloud Storage
136
+ *
137
+ * ```typescript
138
+ * import * as pulumi from "@pulumi/pulumi";
139
+ * import * as databricks from "@pulumi/databricks";
140
+ *
141
+ * const thisGs = new databricks.Mount("thisGs", {gs: {
142
+ * bucketName: "mybucket",
143
+ * serviceAccount: "acc@company.iam.gserviceaccount.com",
144
+ * }});
145
+ * ```
146
+ *
147
+ * ## adl block
148
+ *
149
+ * This block allows specifying parameters for mounting of the ADLS Gen1. The following arguments are required inside the `adl` block:
150
+ *
151
+ * * `clientId` - (Required) (String) This is the clientId for the enterprise application for the service principal.
152
+ * * `tenantId` - (Optional) (String) This is your azure directory tenant id. It is required for creating the mount. (Could be omitted if Azure authentication is used, and we can extract `tenantId` from it)
153
+ * * `clientSecretKey` - (Required) (String) This is the secret key in which your service principal/enterprise app client secret will be stored.
154
+ * * `clientSecretScope` - (Required) (String) This is the secret scope in which your service principal/enterprise app client secret will be stored.
155
+ *
156
+ * * `storageResourceName` - (Required) (String) The name of the storage resource in which the data is for ADLS gen 1. This is what you are trying to mount. (Could be omitted if `resourceId` is provided)
157
+ * * `sparkConfPrefix` - (Optional) (String) This is the spark configuration prefix for adls gen 1 mount. The options are `fs.adl`, `dfs.adls`. Use `fs.adl` for runtime 6.0 and above for the clusters. Otherwise use `dfs.adls`. The default value is: `fs.adl`.
158
+ * * `directory` - (Computed) (String) This is optional if you don't want to add an additional directory that you wish to mount. This must start with a "/".
159
+ *
160
+ * ### Example mounting ADLS Gen1
161
+ *
162
+ * ```typescript
163
+ * import * as pulumi from "@pulumi/pulumi";
164
+ * import * as databricks from "@pulumi/databricks";
165
+ *
166
+ * const mount = new databricks.Mount("mount", {adl: {
167
+ * storageResourceName: "{env.TEST_STORAGE_ACCOUNT_NAME}",
168
+ * tenantId: data.azurerm_client_config.current.tenant_id,
169
+ * clientId: data.azurerm_client_config.current.client_id,
170
+ * clientSecretScope: databricks_secret_scope.terraform.name,
171
+ * clientSecretKey: databricks_secret.service_principal_key.key,
172
+ * sparkConfPrefix: "fs.adl",
173
+ * }});
174
+ * ```
175
+ *
176
+ * ## wasb block
177
+ *
178
+ * This block allows specifying parameters for mounting of the Azure Blob Storage. The following arguments are required inside the `wasb` block:
179
+ *
180
+ * * `authType` - (Required) (String) This is the auth type for blob storage. This can either be SAS tokens (`SAS`) or account access keys (`ACCESS_KEY`).
181
+ * * `tokenSecretScope` - (Required) (String) This is the secret scope in which your auth type token is stored.
182
+ * * `tokenSecretKey` - (Required) (String) This is the secret key in which your auth type token is stored.
183
+ * * `containerName` - (Required) (String) The container in which the data is. This is what you are trying to mount. (Could be omitted if `resourceId` is provided)
184
+ * * `storageAccountName` - (Required) (String) The name of the storage resource in which the data is. (Could be omitted if `resourceId` is provided)
185
+ * * `directory` - (Computed) (String) This is optional if you don't want to add an additional directory that you wish to mount. This must start with a "/".
186
+ *
187
+ * ### Example mounting Azure Blob Storage
188
+ *
189
+ * ```typescript
190
+ * import * as pulumi from "@pulumi/pulumi";
191
+ * import * as azurerm from "@pulumi/azurerm";
192
+ * import * as databricks from "@pulumi/databricks";
193
+ *
194
+ * const blobaccount = new azurerm.index.Azurerm_storage_account("blobaccount", {
195
+ * name: `${_var.prefix}blob`,
196
+ * resourceGroupName: _var.resource_group_name,
197
+ * location: _var.resource_group_location,
198
+ * accountTier: "Standard",
199
+ * accountReplicationType: "LRS",
200
+ * accountKind: "StorageV2",
201
+ * });
202
+ * const marketingazurerm_storage_container = new azurerm.index.Azurerm_storage_container("marketingazurerm_storage_container", {
203
+ * name: "marketing",
204
+ * storageAccountName: blobaccount.name,
205
+ * containerAccessType: "private",
206
+ * });
207
+ * const terraform = new databricks.SecretScope("terraform", {initialManagePrincipal: "users"});
208
+ * const storageKey = new databricks.Secret("storageKey", {
209
+ * key: "blob_storage_key",
210
+ * stringValue: blobaccount.primaryAccessKey,
211
+ * scope: terraform.name,
212
+ * });
213
+ * const marketingMount = new databricks.Mount("marketingMount", {wasb: {
214
+ * containerName: marketingazurerm_storage_container.name,
215
+ * storageAccountName: blobaccount.name,
216
+ * authType: "ACCESS_KEY",
217
+ * tokenSecretScope: terraform.name,
218
+ * tokenSecretKey: storageKey.key,
219
+ * }});
220
+ * ```
221
+ *
222
+ * ## Migration from other mount resources
223
+ *
224
+ * Migration from the specific mount resource is straightforward:
225
+ *
226
+ * * rename `mountName` to `name`
227
+ * * wrap storage-specific settings (`containerName`, ...) into corresponding block (`adl`, `abfs`, `s3`, `wasbs`)
228
+ * * for S3 mounts, rename `s3BucketName` to `bucketName`
229
+ *
230
+ * ## Related Resources
231
+ *
232
+ * The following resources are often used in the same context:
233
+ *
234
+ * * End to end workspace management guide.
235
+ * * databricks.getAwsBucketPolicy data to configure a simple access policy for AWS S3 buckets, so that Databricks can access data in it.
236
+ * * databricks.Cluster to create [Databricks Clusters](https://docs.databricks.com/clusters/index.html).
237
+ * * databricks.DbfsFile data to get file content from [Databricks File System (DBFS)](https://docs.databricks.com/data/databricks-file-system.html).
238
+ * * databricks.getDbfsFilePaths data to get list of file names from get file content from [Databricks File System (DBFS)](https://docs.databricks.com/data/databricks-file-system.html).
239
+ * * databricks.DbfsFile to manage relatively small files on [Databricks File System (DBFS)](https://docs.databricks.com/data/databricks-file-system.html).
240
+ * * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
241
+ * * databricks.Library to install a [library](https://docs.databricks.com/libraries/index.html) on databricks_cluster.
242
+ *
5
243
  * ## Import
6
244
  *
7
245
  * -> **Note** Importing this resource is not currently supported.
package/mount.js CHANGED
@@ -6,6 +6,244 @@ exports.Mount = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("./utilities");
8
8
  /**
9
+ * This resource will mount your cloud storage
10
+ * * `gs` - to [mount Google Cloud Storage](https://docs.gcp.databricks.com/data/data-sources/google/gcs.html)
11
+ * * `abfs` - to [mount ADLS Gen2](https://docs.microsoft.com/en-us/azure/databricks/data/data-sources/azure/adls-gen2/) using Azure Blob Filesystem (ABFS) driver
12
+ * * `adl` - to [mount ADLS Gen1](https://docs.microsoft.com/en-us/azure/databricks/data/data-sources/azure/azure-datalake) using Azure Data Lake (ADL) driver
13
+ * * `wasb` - to [mount Azure Blob Storage](https://docs.microsoft.com/en-us/azure/databricks/data/data-sources/azure/azure-storage) using Windows Azure Storage Blob (WASB) driver
14
+ *
15
+ * 1. Use generic arguments - you have a responsibility for providing all necessary parameters that are required to mount specific storage. This is most flexible option
16
+ *
17
+ * ## Common arguments
18
+ *
19
+ * * `clusterId` - (Optional, String) Cluster to use for mounting. If no cluster is specified, a new cluster will be created and will mount the bucket for all of the clusters in this workspace. If the cluster is not running - it's going to be started, so be aware to set auto-termination rules on it.
20
+ * * `name` - (Optional, String) Name, under which mount will be accessible in `dbfs:/mnt/<MOUNT_NAME>`. If not specified, provider will try to infer it from depending on the resource type:
21
+ * * `bucketName` for AWS S3 and Google Cloud Storage
22
+ * * `containerName` for ADLS Gen2 and Azure Blob Storage
23
+ * * `storageResourceName` for ADLS Gen1
24
+ * * `uri` - (Optional, String) the URI for accessing specific storage (`s3a://....`, `abfss://....`, `gs://....`, etc.)
25
+ * * `extraConfigs` - (Optional, String map) configuration parameters that are necessary for mounting of specific storage
26
+ * * `resourceId` - (Optional, String) resource ID for a given storage account. Could be used to fill defaults, such as storage account & container names on Azure.
27
+ * * `encryptionType` - (Optional, String) encryption type. Currently used only for [AWS S3 mounts](https://docs.databricks.com/data/data-sources/aws/amazon-s3.html#encrypt-data-in-s3-buckets)
28
+ *
29
+ * ### Example mounting ADLS Gen2 using uri and extraConfigs
30
+ *
31
+ * ```typescript
32
+ * import * as pulumi from "@pulumi/pulumi";
33
+ * import * as databricks from "@pulumi/databricks";
34
+ *
35
+ * const tenantId = "00000000-1111-2222-3333-444444444444";
36
+ * const clientId = "55555555-6666-7777-8888-999999999999";
37
+ * const secretScope = "some-kv";
38
+ * const secretKey = "some-sp-secret";
39
+ * const container = "test";
40
+ * const storageAcc = "lrs";
41
+ * const _this = new databricks.Mount("this", {
42
+ * uri: `abfss://${container}@${storageAcc}.dfs.core.windows.net`,
43
+ * extraConfigs: {
44
+ * "fs.azure.account.auth.type": "OAuth",
45
+ * "fs.azure.account.oauth.provider.type": "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider",
46
+ * "fs.azure.account.oauth2.client.id": clientId,
47
+ * "fs.azure.account.oauth2.client.secret": `{{secrets/${secretScope}/${secretKey}}}`,
48
+ * "fs.azure.account.oauth2.client.endpoint": `https://login.microsoftonline.com/${tenantId}/oauth2/token`,
49
+ * "fs.azure.createRemoteFileSystemDuringInitialization": "false",
50
+ * },
51
+ * });
52
+ * ```
53
+ *
54
+ * ## s3 block
55
+ *
56
+ * This block allows specifying parameters for mounting of the ADLS Gen2. The following arguments are required inside the `s3` block:
57
+ *
58
+ * * `instanceProfile` - (Optional) (String) ARN of registered instance profile for data access. If it's not specified, then the `clusterId` should be provided, and the cluster should have an instance profile attached to it. If both `clusterId` & `instanceProfile` are specified, then `clusterId` takes precedence.
59
+ * * `bucketName` - (Required) (String) S3 bucket name to be mounted.
60
+ *
61
+ * ### Example of mounting S3
62
+ *
63
+ * ```typescript
64
+ * import * as pulumi from "@pulumi/pulumi";
65
+ * import * as databricks from "@pulumi/databricks";
66
+ *
67
+ * // now you can do `%fs ls /mnt/experiments` in notebooks
68
+ * const _this = new databricks.Mount("this", {s3: {
69
+ * instanceProfile: databricks_instance_profile.ds.id,
70
+ * bucketName: aws_s3_bucket["this"].bucket,
71
+ * }});
72
+ * ```
73
+ *
74
+ * ## abfs block
75
+ *
76
+ * This block allows specifying parameters for mounting of the ADLS Gen2. The following arguments are required inside the `abfs` block:
77
+ *
78
+ * * `clientId` - (Required) (String) This is the clientId (Application Object ID) for the enterprise application for the service principal.
79
+ * * `tenantId` - (Optional) (String) This is your azure directory tenant id. It is required for creating the mount. (Could be omitted if Azure authentication is used, and we can extract `tenantId` from it).
80
+ * * `clientSecretKey` - (Required) (String) This is the secret key in which your service principal/enterprise app client secret will be stored.
81
+ * * `clientSecretScope` - (Required) (String) This is the secret scope in which your service principal/enterprise app client secret will be stored.
82
+ * * `containerName` - (Required) (String) ADLS gen2 container name. (Could be omitted if `resourceId` is provided)
83
+ * * `storageAccountName` - (Required) (String) The name of the storage resource in which the data is. (Could be omitted if `resourceId` is provided)
84
+ * * `directory` - (Computed) (String) This is optional if you don't want to add an additional directory that you wish to mount. This must start with a "/".
85
+ * * `initializeFileSystem` - (Required) (Bool) either or not initialize FS for the first use
86
+ *
87
+ * ### Creating mount for ADLS Gen2 using abfs block
88
+ *
89
+ * In this example, we're using Azure authentication, so we can omit some parameters (`tenantId`, `storageAccountName`, and `containerName`) that will be detected automatically.
90
+ *
91
+ * ```typescript
92
+ * import * as pulumi from "@pulumi/pulumi";
93
+ * import * as azurerm from "@pulumi/azurerm";
94
+ * import * as databricks from "@pulumi/databricks";
95
+ *
96
+ * const terraform = new databricks.SecretScope("terraform", {initialManagePrincipal: "users"});
97
+ * const servicePrincipalKey = new databricks.Secret("servicePrincipalKey", {
98
+ * key: "service_principal_key",
99
+ * stringValue: _var.ARM_CLIENT_SECRET,
100
+ * scope: terraform.name,
101
+ * });
102
+ * const thisazurerm_storage_account = new azurerm.index.Azurerm_storage_account("thisazurerm_storage_account", {
103
+ * name: `${_var.prefix}datalake`,
104
+ * resourceGroupName: _var.resource_group_name,
105
+ * location: _var.resource_group_location,
106
+ * accountTier: "Standard",
107
+ * accountReplicationType: "GRS",
108
+ * accountKind: "StorageV2",
109
+ * isHnsEnabled: true,
110
+ * });
111
+ * const thisazurerm_role_assignment = new azurerm.index.Azurerm_role_assignment("thisazurerm_role_assignment", {
112
+ * scope: thisazurerm_storage_account.id,
113
+ * roleDefinitionName: "Storage Blob Data Contributor",
114
+ * principalId: data.azurerm_client_config.current.object_id,
115
+ * });
116
+ * const thisazurerm_storage_container = new azurerm.index.Azurerm_storage_container("thisazurerm_storage_container", {
117
+ * name: "marketing",
118
+ * storageAccountName: thisazurerm_storage_account.name,
119
+ * containerAccessType: "private",
120
+ * });
121
+ * const marketing = new databricks.Mount("marketing", {
122
+ * resourceId: thisazurerm_storage_container.resourceManagerId,
123
+ * abfs: {
124
+ * clientId: data.azurerm_client_config.current.client_id,
125
+ * clientSecretScope: terraform.name,
126
+ * clientSecretKey: servicePrincipalKey.key,
127
+ * initializeFileSystem: true,
128
+ * },
129
+ * });
130
+ * ```
131
+ *
132
+ * ## gs block
133
+ *
134
+ * This block allows specifying parameters for mounting of the Google Cloud Storage. The following arguments are required inside the `gs` block:
135
+ *
136
+ * * `serviceAccount` - (Optional) (String) email of registered [Google Service Account](https://docs.gcp.databricks.com/data/data-sources/google/gcs.html#step-1-set-up-google-cloud-service-account-using-google-cloud-console) for data access. If it's not specified, then the `clusterId` should be provided, and the cluster should have a Google service account attached to it.
137
+ * * `bucketName` - (Required) (String) GCS bucket name to be mounted.
138
+ *
139
+ * ### Example mounting Google Cloud Storage
140
+ *
141
+ * ```typescript
142
+ * import * as pulumi from "@pulumi/pulumi";
143
+ * import * as databricks from "@pulumi/databricks";
144
+ *
145
+ * const thisGs = new databricks.Mount("thisGs", {gs: {
146
+ * bucketName: "mybucket",
147
+ * serviceAccount: "acc@company.iam.gserviceaccount.com",
148
+ * }});
149
+ * ```
150
+ *
151
+ * ## adl block
152
+ *
153
+ * This block allows specifying parameters for mounting of the ADLS Gen1. The following arguments are required inside the `adl` block:
154
+ *
155
+ * * `clientId` - (Required) (String) This is the clientId for the enterprise application for the service principal.
156
+ * * `tenantId` - (Optional) (String) This is your azure directory tenant id. It is required for creating the mount. (Could be omitted if Azure authentication is used, and we can extract `tenantId` from it)
157
+ * * `clientSecretKey` - (Required) (String) This is the secret key in which your service principal/enterprise app client secret will be stored.
158
+ * * `clientSecretScope` - (Required) (String) This is the secret scope in which your service principal/enterprise app client secret will be stored.
159
+ *
160
+ * * `storageResourceName` - (Required) (String) The name of the storage resource in which the data is for ADLS gen 1. This is what you are trying to mount. (Could be omitted if `resourceId` is provided)
161
+ * * `sparkConfPrefix` - (Optional) (String) This is the spark configuration prefix for adls gen 1 mount. The options are `fs.adl`, `dfs.adls`. Use `fs.adl` for runtime 6.0 and above for the clusters. Otherwise use `dfs.adls`. The default value is: `fs.adl`.
162
+ * * `directory` - (Computed) (String) This is optional if you don't want to add an additional directory that you wish to mount. This must start with a "/".
163
+ *
164
+ * ### Example mounting ADLS Gen1
165
+ *
166
+ * ```typescript
167
+ * import * as pulumi from "@pulumi/pulumi";
168
+ * import * as databricks from "@pulumi/databricks";
169
+ *
170
+ * const mount = new databricks.Mount("mount", {adl: {
171
+ * storageResourceName: "{env.TEST_STORAGE_ACCOUNT_NAME}",
172
+ * tenantId: data.azurerm_client_config.current.tenant_id,
173
+ * clientId: data.azurerm_client_config.current.client_id,
174
+ * clientSecretScope: databricks_secret_scope.terraform.name,
175
+ * clientSecretKey: databricks_secret.service_principal_key.key,
176
+ * sparkConfPrefix: "fs.adl",
177
+ * }});
178
+ * ```
179
+ *
180
+ * ## wasb block
181
+ *
182
+ * This block allows specifying parameters for mounting of the Azure Blob Storage. The following arguments are required inside the `wasb` block:
183
+ *
184
+ * * `authType` - (Required) (String) This is the auth type for blob storage. This can either be SAS tokens (`SAS`) or account access keys (`ACCESS_KEY`).
185
+ * * `tokenSecretScope` - (Required) (String) This is the secret scope in which your auth type token is stored.
186
+ * * `tokenSecretKey` - (Required) (String) This is the secret key in which your auth type token is stored.
187
+ * * `containerName` - (Required) (String) The container in which the data is. This is what you are trying to mount. (Could be omitted if `resourceId` is provided)
188
+ * * `storageAccountName` - (Required) (String) The name of the storage resource in which the data is. (Could be omitted if `resourceId` is provided)
189
+ * * `directory` - (Computed) (String) This is optional if you don't want to add an additional directory that you wish to mount. This must start with a "/".
190
+ *
191
+ * ### Example mounting Azure Blob Storage
192
+ *
193
+ * ```typescript
194
+ * import * as pulumi from "@pulumi/pulumi";
195
+ * import * as azurerm from "@pulumi/azurerm";
196
+ * import * as databricks from "@pulumi/databricks";
197
+ *
198
+ * const blobaccount = new azurerm.index.Azurerm_storage_account("blobaccount", {
199
+ * name: `${_var.prefix}blob`,
200
+ * resourceGroupName: _var.resource_group_name,
201
+ * location: _var.resource_group_location,
202
+ * accountTier: "Standard",
203
+ * accountReplicationType: "LRS",
204
+ * accountKind: "StorageV2",
205
+ * });
206
+ * const marketingazurerm_storage_container = new azurerm.index.Azurerm_storage_container("marketingazurerm_storage_container", {
207
+ * name: "marketing",
208
+ * storageAccountName: blobaccount.name,
209
+ * containerAccessType: "private",
210
+ * });
211
+ * const terraform = new databricks.SecretScope("terraform", {initialManagePrincipal: "users"});
212
+ * const storageKey = new databricks.Secret("storageKey", {
213
+ * key: "blob_storage_key",
214
+ * stringValue: blobaccount.primaryAccessKey,
215
+ * scope: terraform.name,
216
+ * });
217
+ * const marketingMount = new databricks.Mount("marketingMount", {wasb: {
218
+ * containerName: marketingazurerm_storage_container.name,
219
+ * storageAccountName: blobaccount.name,
220
+ * authType: "ACCESS_KEY",
221
+ * tokenSecretScope: terraform.name,
222
+ * tokenSecretKey: storageKey.key,
223
+ * }});
224
+ * ```
225
+ *
226
+ * ## Migration from other mount resources
227
+ *
228
+ * Migration from the specific mount resource is straightforward:
229
+ *
230
+ * * rename `mountName` to `name`
231
+ * * wrap storage-specific settings (`containerName`, ...) into corresponding block (`adl`, `abfs`, `s3`, `wasbs`)
232
+ * * for S3 mounts, rename `s3BucketName` to `bucketName`
233
+ *
234
+ * ## Related Resources
235
+ *
236
+ * The following resources are often used in the same context:
237
+ *
238
+ * * End to end workspace management guide.
239
+ * * databricks.getAwsBucketPolicy data to configure a simple access policy for AWS S3 buckets, so that Databricks can access data in it.
240
+ * * databricks.Cluster to create [Databricks Clusters](https://docs.databricks.com/clusters/index.html).
241
+ * * databricks.DbfsFile data to get file content from [Databricks File System (DBFS)](https://docs.databricks.com/data/databricks-file-system.html).
242
+ * * databricks.getDbfsFilePaths data to get list of file names from get file content from [Databricks File System (DBFS)](https://docs.databricks.com/data/databricks-file-system.html).
243
+ * * databricks.DbfsFile to manage relatively small files on [Databricks File System (DBFS)](https://docs.databricks.com/data/databricks-file-system.html).
244
+ * * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
245
+ * * databricks.Library to install a [library](https://docs.databricks.com/libraries/index.html) on databricks_cluster.
246
+ *
9
247
  * ## Import
10
248
  *
11
249
  * -> **Note** Importing this resource is not currently supported.
package/mount.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mount.js","sourceRoot":"","sources":["../mount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mount.js","sourceRoot":"","sources":["../mount.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,13 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  /**
3
- * ## Example Usage
3
+ * > **Note** Initialize provider with `alias = "mws"`, `host = "https://accounts.cloud.databricks.com"` and use `provider = databricks.mws`
4
4
  *
5
- * ```typescript
6
- * import * as pulumi from "@pulumi/pulumi";
7
- * import * as aws from "@pulumi/aws";
8
- * import * as databricks from "@pulumi/databricks";
5
+ * This resource to configure the cross-account role for creation of new workspaces within AWS.
6
+ *
7
+ * Please follow this complete runnable example Account Id that could be found in the top right corner of [Accounts Console](https://accounts.cloud.databricks.com/)
8
+ * * `credentialsName` - (Required) name of credentials to register
9
+ * * `roleArn` - (Required) ARN of cross-account role
9
10
  *
10
- * const config = new pulumi.Config();
11
- * const databricksAccountId = config.requireObject("databricksAccountId");
12
- * const thisAwsAssumeRolePolicy = databricks.getAwsAssumeRolePolicy({
13
- * externalId: databricksAccountId,
14
- * });
15
- * const crossAccountRole = new aws.iam.Role("crossAccountRole", {
16
- * assumeRolePolicy: thisAwsAssumeRolePolicy.then(thisAwsAssumeRolePolicy => thisAwsAssumeRolePolicy.json),
17
- * tags: _var.tags,
18
- * });
19
- * const thisAwsCrossAccountPolicy = databricks.getAwsCrossAccountPolicy({});
20
- * const thisRolePolicy = new aws.iam.RolePolicy("thisRolePolicy", {
21
- * role: crossAccountRole.id,
22
- * policy: thisAwsCrossAccountPolicy.then(thisAwsCrossAccountPolicy => thisAwsCrossAccountPolicy.json),
23
- * });
24
- * const thisMwsCredentials = new databricks.MwsCredentials("thisMwsCredentials", {
25
- * accountId: databricksAccountId,
26
- * credentialsName: `${local.prefix}-creds`,
27
- * roleArn: crossAccountRole.arn,
28
- * }, {
29
- * provider: databricks.mws,
30
- * });
31
- * ```
32
11
  * ## Related Resources
33
12
  *
34
13
  * The following resources are used in the same context:
@@ -65,8 +44,6 @@ export declare class MwsCredentials extends pulumi.CustomResource {
65
44
  */
66
45
  static isInstance(obj: any): obj is MwsCredentials;
67
46
  /**
68
- * Account Id that could be found in the top right corner of [Accounts Console](https://accounts.cloud.databricks.com/)
69
- *
70
47
  * @deprecated `account_id` should be set as part of the Databricks Config, not in the resource.
71
48
  */
72
49
  readonly accountId: pulumi.Output<string | undefined>;
@@ -78,14 +55,8 @@ export declare class MwsCredentials extends pulumi.CustomResource {
78
55
  * (String) identifier of credentials
79
56
  */
80
57
  readonly credentialsId: pulumi.Output<string>;
81
- /**
82
- * name of credentials to register
83
- */
84
58
  readonly credentialsName: pulumi.Output<string>;
85
59
  readonly externalId: pulumi.Output<string>;
86
- /**
87
- * ARN of cross-account role
88
- */
89
60
  readonly roleArn: pulumi.Output<string>;
90
61
  /**
91
62
  * Create a MwsCredentials resource with the given unique name, arguments, and options.
@@ -101,8 +72,6 @@ export declare class MwsCredentials extends pulumi.CustomResource {
101
72
  */
102
73
  export interface MwsCredentialsState {
103
74
  /**
104
- * Account Id that could be found in the top right corner of [Accounts Console](https://accounts.cloud.databricks.com/)
105
- *
106
75
  * @deprecated `account_id` should be set as part of the Databricks Config, not in the resource.
107
76
  */
108
77
  accountId?: pulumi.Input<string>;
@@ -114,14 +83,8 @@ export interface MwsCredentialsState {
114
83
  * (String) identifier of credentials
115
84
  */
116
85
  credentialsId?: pulumi.Input<string>;
117
- /**
118
- * name of credentials to register
119
- */
120
86
  credentialsName?: pulumi.Input<string>;
121
87
  externalId?: pulumi.Input<string>;
122
- /**
123
- * ARN of cross-account role
124
- */
125
88
  roleArn?: pulumi.Input<string>;
126
89
  }
127
90
  /**
@@ -129,8 +92,6 @@ export interface MwsCredentialsState {
129
92
  */
130
93
  export interface MwsCredentialsArgs {
131
94
  /**
132
- * Account Id that could be found in the top right corner of [Accounts Console](https://accounts.cloud.databricks.com/)
133
- *
134
95
  * @deprecated `account_id` should be set as part of the Databricks Config, not in the resource.
135
96
  */
136
97
  accountId?: pulumi.Input<string>;
@@ -142,13 +103,7 @@ export interface MwsCredentialsArgs {
142
103
  * (String) identifier of credentials
143
104
  */
144
105
  credentialsId?: pulumi.Input<string>;
145
- /**
146
- * name of credentials to register
147
- */
148
106
  credentialsName: pulumi.Input<string>;
149
107
  externalId?: pulumi.Input<string>;
150
- /**
151
- * ARN of cross-account role
152
- */
153
108
  roleArn: pulumi.Input<string>;
154
109
  }
package/mwsCredentials.js CHANGED
@@ -6,35 +6,14 @@ exports.MwsCredentials = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("./utilities");
8
8
  /**
9
- * ## Example Usage
9
+ * > **Note** Initialize provider with `alias = "mws"`, `host = "https://accounts.cloud.databricks.com"` and use `provider = databricks.mws`
10
10
  *
11
- * ```typescript
12
- * import * as pulumi from "@pulumi/pulumi";
13
- * import * as aws from "@pulumi/aws";
14
- * import * as databricks from "@pulumi/databricks";
11
+ * This resource to configure the cross-account role for creation of new workspaces within AWS.
12
+ *
13
+ * Please follow this complete runnable example Account Id that could be found in the top right corner of [Accounts Console](https://accounts.cloud.databricks.com/)
14
+ * * `credentialsName` - (Required) name of credentials to register
15
+ * * `roleArn` - (Required) ARN of cross-account role
15
16
  *
16
- * const config = new pulumi.Config();
17
- * const databricksAccountId = config.requireObject("databricksAccountId");
18
- * const thisAwsAssumeRolePolicy = databricks.getAwsAssumeRolePolicy({
19
- * externalId: databricksAccountId,
20
- * });
21
- * const crossAccountRole = new aws.iam.Role("crossAccountRole", {
22
- * assumeRolePolicy: thisAwsAssumeRolePolicy.then(thisAwsAssumeRolePolicy => thisAwsAssumeRolePolicy.json),
23
- * tags: _var.tags,
24
- * });
25
- * const thisAwsCrossAccountPolicy = databricks.getAwsCrossAccountPolicy({});
26
- * const thisRolePolicy = new aws.iam.RolePolicy("thisRolePolicy", {
27
- * role: crossAccountRole.id,
28
- * policy: thisAwsCrossAccountPolicy.then(thisAwsCrossAccountPolicy => thisAwsCrossAccountPolicy.json),
29
- * });
30
- * const thisMwsCredentials = new databricks.MwsCredentials("thisMwsCredentials", {
31
- * accountId: databricksAccountId,
32
- * credentialsName: `${local.prefix}-creds`,
33
- * roleArn: crossAccountRole.arn,
34
- * }, {
35
- * provider: databricks.mws,
36
- * });
37
- * ```
38
17
  * ## Related Resources
39
18
  *
40
19
  * The following resources are used in the same context: