@pulumi/databricks 0.0.1-alpha.1648473134
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +303 -0
- package/awsS3Mount.d.ts +50 -0
- package/awsS3Mount.js +63 -0
- package/awsS3Mount.js.map +1 -0
- package/azureAdlsGen1Mount.d.ts +65 -0
- package/azureAdlsGen1Mount.js +85 -0
- package/azureAdlsGen1Mount.js.map +1 -0
- package/azureAdlsGen2Mount.d.ts +68 -0
- package/azureAdlsGen2Mount.js +93 -0
- package/azureAdlsGen2Mount.js.map +1 -0
- package/azureBlobMount.d.ts +62 -0
- package/azureBlobMount.js +83 -0
- package/azureBlobMount.js.map +1 -0
- package/catalog.d.ts +124 -0
- package/catalog.js +88 -0
- package/catalog.js.map +1 -0
- package/cluster.d.ts +332 -0
- package/cluster.js +121 -0
- package/cluster.js.map +1 -0
- package/clusterPolicy.d.ts +112 -0
- package/clusterPolicy.js +97 -0
- package/clusterPolicy.js.map +1 -0
- package/config/index.d.ts +1 -0
- package/config/index.js +21 -0
- package/config/index.js.map +1 -0
- package/config/vars.d.ts +20 -0
- package/config/vars.js +127 -0
- package/config/vars.js.map +1 -0
- package/dbfsFile.d.ts +91 -0
- package/dbfsFile.js +71 -0
- package/dbfsFile.js.map +1 -0
- package/directory.d.ts +72 -0
- package/directory.js +65 -0
- package/directory.js.map +1 -0
- package/externalLocation.d.ts +114 -0
- package/externalLocation.js +80 -0
- package/externalLocation.js.map +1 -0
- package/getAwsAssumeRolePolicy.d.ts +47 -0
- package/getAwsAssumeRolePolicy.js +24 -0
- package/getAwsAssumeRolePolicy.js.map +1 -0
- package/getAwsBucketPolicy.d.ts +59 -0
- package/getAwsBucketPolicy.js +36 -0
- package/getAwsBucketPolicy.js.map +1 -0
- package/getAwsCrossAccountPolicy.d.ts +59 -0
- package/getAwsCrossAccountPolicy.js +47 -0
- package/getAwsCrossAccountPolicy.js.map +1 -0
- package/getCatalogs.d.ts +54 -0
- package/getCatalogs.js +43 -0
- package/getCatalogs.js.map +1 -0
- package/getClusters.d.ts +69 -0
- package/getClusters.js +57 -0
- package/getClusters.js.map +1 -0
- package/getCurrentUser.d.ts +39 -0
- package/getCurrentUser.js +38 -0
- package/getCurrentUser.js.map +1 -0
- package/getDbfsFile.d.ts +69 -0
- package/getDbfsFile.js +44 -0
- package/getDbfsFile.js.map +1 -0
- package/getDbfsFilePaths.d.ts +68 -0
- package/getDbfsFilePaths.js +46 -0
- package/getDbfsFilePaths.js.map +1 -0
- package/getGroup.d.ts +166 -0
- package/getGroup.js +46 -0
- package/getGroup.js.map +1 -0
- package/getJobs.d.ts +47 -0
- package/getJobs.js +30 -0
- package/getJobs.js.map +1 -0
- package/getNodeType.d.ts +173 -0
- package/getNodeType.js +71 -0
- package/getNodeType.js.map +1 -0
- package/getNotebook.d.ts +93 -0
- package/getNotebook.js +39 -0
- package/getNotebook.js.map +1 -0
- package/getNotebookPaths.d.ts +58 -0
- package/getNotebookPaths.js +36 -0
- package/getNotebookPaths.js.map +1 -0
- package/getSchemas.d.ts +65 -0
- package/getSchemas.js +45 -0
- package/getSchemas.js.map +1 -0
- package/getSparkVersion.d.ts +150 -0
- package/getSparkVersion.js +70 -0
- package/getSparkVersion.js.map +1 -0
- package/getTables.d.ts +75 -0
- package/getTables.js +47 -0
- package/getTables.js.map +1 -0
- package/getUser.d.ts +78 -0
- package/getUser.js +39 -0
- package/getUser.js.map +1 -0
- package/getZones.d.ts +29 -0
- package/getZones.js +26 -0
- package/getZones.js.map +1 -0
- package/gitCredential.d.ts +48 -0
- package/gitCredential.js +64 -0
- package/gitCredential.js.map +1 -0
- package/globalInitScript.d.ts +99 -0
- package/globalInitScript.js +68 -0
- package/globalInitScript.js.map +1 -0
- package/grants.d.ts +58 -0
- package/grants.js +64 -0
- package/grants.js.map +1 -0
- package/group.d.ts +131 -0
- package/group.js +83 -0
- package/group.js.map +1 -0
- package/groupInstanceProfile.d.ts +96 -0
- package/groupInstanceProfile.js +93 -0
- package/groupInstanceProfile.js.map +1 -0
- package/index.d.ts +81 -0
- package/index.js +362 -0
- package/index.js.map +1 -0
- package/instancePool.d.ts +166 -0
- package/instancePool.js +93 -0
- package/instancePool.js.map +1 -0
- package/instanceProfile.d.ts +180 -0
- package/instanceProfile.js +161 -0
- package/instanceProfile.js.map +1 -0
- package/ipAccessList.d.ts +128 -0
- package/ipAccessList.js +108 -0
- package/ipAccessList.js.map +1 -0
- package/job.d.ts +228 -0
- package/job.js +102 -0
- package/job.js.map +1 -0
- package/library.d.ts +183 -0
- package/library.js +189 -0
- package/library.js.map +1 -0
- package/metastore.d.ts +102 -0
- package/metastore.js +75 -0
- package/metastore.js.map +1 -0
- package/metastoreAssignment.d.ts +94 -0
- package/metastoreAssignment.js +81 -0
- package/metastoreAssignment.js.map +1 -0
- package/metastoreDataAccess.d.ts +85 -0
- package/metastoreDataAccess.js +73 -0
- package/metastoreDataAccess.js.map +1 -0
- package/mlflowExperiment.d.ts +122 -0
- package/mlflowExperiment.js +99 -0
- package/mlflowExperiment.js.map +1 -0
- package/mlflowModel.d.ts +131 -0
- package/mlflowModel.js +107 -0
- package/mlflowModel.js.map +1 -0
- package/mlflowWebhook.d.ts +129 -0
- package/mlflowWebhook.js +100 -0
- package/mlflowWebhook.js.map +1 -0
- package/mount.d.ts +89 -0
- package/mount.js +76 -0
- package/mount.js.map +1 -0
- package/mwsCredentials.d.ts +137 -0
- package/mwsCredentials.js +115 -0
- package/mwsCredentials.js.map +1 -0
- package/mwsCustomerManagedKeys.d.ts +257 -0
- package/mwsCustomerManagedKeys.js +226 -0
- package/mwsCustomerManagedKeys.js.map +1 -0
- package/mwsLogDelivery.d.ts +219 -0
- package/mwsLogDelivery.js +144 -0
- package/mwsLogDelivery.js.map +1 -0
- package/mwsNetworks.d.ts +129 -0
- package/mwsNetworks.js +89 -0
- package/mwsNetworks.js.map +1 -0
- package/mwsPrivateAccessSettings.d.ts +137 -0
- package/mwsPrivateAccessSettings.js +74 -0
- package/mwsPrivateAccessSettings.js.map +1 -0
- package/mwsStorageConfigurations.d.ts +122 -0
- package/mwsStorageConfigurations.js +106 -0
- package/mwsStorageConfigurations.js.map +1 -0
- package/mwsVpcEndpoint.d.ts +122 -0
- package/mwsVpcEndpoint.js +79 -0
- package/mwsVpcEndpoint.js.map +1 -0
- package/mwsWorkspaces.d.ts +222 -0
- package/mwsWorkspaces.js +106 -0
- package/mwsWorkspaces.js.map +1 -0
- package/notebook.d.ts +128 -0
- package/notebook.js +77 -0
- package/notebook.js.map +1 -0
- package/oboToken.d.ts +98 -0
- package/oboToken.js +82 -0
- package/oboToken.js.map +1 -0
- package/package.json +28 -0
- package/package.json.bak +28 -0
- package/package.json.dev +28 -0
- package/permissions.d.ts +211 -0
- package/permissions.js +97 -0
- package/permissions.js.map +1 -0
- package/pipeline.d.ts +200 -0
- package/pipeline.js +134 -0
- package/pipeline.js.map +1 -0
- package/provider.d.ts +61 -0
- package/provider.js +64 -0
- package/provider.js.map +1 -0
- package/repo.d.ts +117 -0
- package/repo.js +71 -0
- package/repo.js.map +1 -0
- package/schema.d.ts +149 -0
- package/schema.js +106 -0
- package/schema.js.map +1 -0
- package/scripts/install-pulumi-plugin.js +21 -0
- package/secret.d.ts +115 -0
- package/secret.js +99 -0
- package/secret.js.map +1 -0
- package/secretAcl.d.ts +115 -0
- package/secretAcl.js +105 -0
- package/secretAcl.js.map +1 -0
- package/secretScope.d.ts +85 -0
- package/secretScope.js +64 -0
- package/secretScope.js.map +1 -0
- package/servicePrincipal.d.ts +142 -0
- package/servicePrincipal.js +83 -0
- package/servicePrincipal.js.map +1 -0
- package/sqlDashboard.d.ts +90 -0
- package/sqlDashboard.js +99 -0
- package/sqlDashboard.js.map +1 -0
- package/sqlEndpoint.d.ts +249 -0
- package/sqlEndpoint.js +128 -0
- package/sqlEndpoint.js.map +1 -0
- package/sqlGlobalConfig.d.ts +157 -0
- package/sqlGlobalConfig.js +115 -0
- package/sqlGlobalConfig.js.map +1 -0
- package/sqlPermissions.d.ts +191 -0
- package/sqlPermissions.js +139 -0
- package/sqlPermissions.js.map +1 -0
- package/sqlQuery.d.ts +131 -0
- package/sqlQuery.js +139 -0
- package/sqlQuery.js.map +1 -0
- package/sqlVisualization.d.ts +105 -0
- package/sqlVisualization.js +119 -0
- package/sqlVisualization.js.map +1 -0
- package/sqlWidget.d.ts +109 -0
- package/sqlWidget.js +114 -0
- package/sqlWidget.js.map +1 -0
- package/storageCredential.d.ts +122 -0
- package/storageCredential.js +118 -0
- package/storageCredential.js.map +1 -0
- package/table.d.ts +249 -0
- package/table.js +157 -0
- package/table.js.map +1 -0
- package/token.d.ts +102 -0
- package/token.js +84 -0
- package/token.js.map +1 -0
- package/types/index.d.ts +3 -0
- package/types/index.js +11 -0
- package/types/index.js.map +1 -0
- package/types/input.d.ts +1209 -0
- package/types/input.js +5 -0
- package/types/input.js.map +1 -0
- package/types/output.d.ts +1222 -0
- package/types/output.js +5 -0
- package/types/output.js.map +1 -0
- package/user.d.ts +149 -0
- package/user.js +91 -0
- package/user.js.map +1 -0
- package/userInstanceProfile.d.ts +93 -0
- package/userInstanceProfile.js +90 -0
- package/userInstanceProfile.js.map +1 -0
- package/userRole.d.ts +106 -0
- package/userRole.js +103 -0
- package/userRole.js.map +1 -0
- package/utilities.d.ts +4 -0
- package/utilities.js +57 -0
- package/utilities.js.map +1 -0
- package/workspaceConf.d.ts +76 -0
- package/workspaceConf.js +71 -0
- package/workspaceConf.js.map +1 -0
package/secretAcl.js
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.SecretAcl = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("./utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Create or overwrite the ACL associated with the given principal (user or group) on the specified databricks_secret_scope. Please consult [Secrets User Guide](https://docs.databricks.com/security/secrets/index.html#secrets-user-guide) for more details.
|
|
10
|
+
*
|
|
11
|
+
* ## Example Usage
|
|
12
|
+
*
|
|
13
|
+
* This way, data scientists can read the Publishing API key that is synchronized from example, Azure Key Vault.
|
|
14
|
+
*
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
17
|
+
* import * as databricks from "@pulumi/databricks";
|
|
18
|
+
*
|
|
19
|
+
* const ds = new databricks.Group("ds", {displayName: "data-scientists"});
|
|
20
|
+
* const app = new databricks.SecretScope("app", {});
|
|
21
|
+
* const mySecretAcl = new databricks.SecretAcl("mySecretAcl", {
|
|
22
|
+
* principal: ds.displayName,
|
|
23
|
+
* permission: "READ",
|
|
24
|
+
* scope: app.name,
|
|
25
|
+
* });
|
|
26
|
+
* const publishingApi = new databricks.Secret("publishingApi", {
|
|
27
|
+
* key: "publishing_api",
|
|
28
|
+
* stringValue: data.azurerm_key_vault_secret.example.value,
|
|
29
|
+
* scope: app.name,
|
|
30
|
+
* });
|
|
31
|
+
* ```
|
|
32
|
+
* ## Related Resources
|
|
33
|
+
*
|
|
34
|
+
* The following resources are often used in the same context:
|
|
35
|
+
*
|
|
36
|
+
* * End to end workspace management guide.
|
|
37
|
+
* * databricks.Notebook to manage [Databricks Notebooks](https://docs.databricks.com/notebooks/index.html).
|
|
38
|
+
* * databricks.Permissions to manage [access control](https://docs.databricks.com/security/access-control/index.html) in Databricks workspace.
|
|
39
|
+
* * databricks.Repo to manage [Databricks Repos](https://docs.databricks.com/repos.html).
|
|
40
|
+
* * databricks.Secret to manage [secrets](https://docs.databricks.com/security/secrets/index.html#secrets-user-guide) in Databricks workspace.
|
|
41
|
+
* * databricks.SecretScope to create [secret scopes](https://docs.databricks.com/security/secrets/index.html#secrets-user-guide) in Databricks workspace.
|
|
42
|
+
*
|
|
43
|
+
* ## Import
|
|
44
|
+
*
|
|
45
|
+
* The resource secret acl can be imported using `scopeName|||principalName` combination. bash
|
|
46
|
+
*
|
|
47
|
+
* ```sh
|
|
48
|
+
* $ pulumi import databricks:index/secretAcl:SecretAcl object `scopeName|||principalName`
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
class SecretAcl extends pulumi.CustomResource {
|
|
52
|
+
constructor(name, argsOrState, opts) {
|
|
53
|
+
let resourceInputs = {};
|
|
54
|
+
opts = opts || {};
|
|
55
|
+
if (opts.id) {
|
|
56
|
+
const state = argsOrState;
|
|
57
|
+
resourceInputs["permission"] = state ? state.permission : undefined;
|
|
58
|
+
resourceInputs["principal"] = state ? state.principal : undefined;
|
|
59
|
+
resourceInputs["scope"] = state ? state.scope : undefined;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
const args = argsOrState;
|
|
63
|
+
if ((!args || args.permission === undefined) && !opts.urn) {
|
|
64
|
+
throw new Error("Missing required property 'permission'");
|
|
65
|
+
}
|
|
66
|
+
if ((!args || args.principal === undefined) && !opts.urn) {
|
|
67
|
+
throw new Error("Missing required property 'principal'");
|
|
68
|
+
}
|
|
69
|
+
if ((!args || args.scope === undefined) && !opts.urn) {
|
|
70
|
+
throw new Error("Missing required property 'scope'");
|
|
71
|
+
}
|
|
72
|
+
resourceInputs["permission"] = args ? args.permission : undefined;
|
|
73
|
+
resourceInputs["principal"] = args ? args.principal : undefined;
|
|
74
|
+
resourceInputs["scope"] = args ? args.scope : undefined;
|
|
75
|
+
}
|
|
76
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
77
|
+
super(SecretAcl.__pulumiType, name, resourceInputs, opts);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get an existing SecretAcl resource's state with the given name, ID, and optional extra
|
|
81
|
+
* properties used to qualify the lookup.
|
|
82
|
+
*
|
|
83
|
+
* @param name The _unique_ name of the resulting resource.
|
|
84
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
85
|
+
* @param state Any extra arguments used during the lookup.
|
|
86
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
87
|
+
*/
|
|
88
|
+
static get(name, id, state, opts) {
|
|
89
|
+
return new SecretAcl(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Returns true if the given object is an instance of SecretAcl. This is designed to work even
|
|
93
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
94
|
+
*/
|
|
95
|
+
static isInstance(obj) {
|
|
96
|
+
if (obj === undefined || obj === null) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
return obj['__pulumiType'] === SecretAcl.__pulumiType;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.SecretAcl = SecretAcl;
|
|
103
|
+
/** @internal */
|
|
104
|
+
SecretAcl.__pulumiType = 'databricks:index/secretAcl:SecretAcl';
|
|
105
|
+
//# sourceMappingURL=secretAcl.js.map
|
package/secretAcl.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secretAcl.js","sourceRoot":"","sources":["../secretAcl.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAa,SAAU,SAAQ,MAAM,CAAC,cAAc;IAiDhD,YAAY,IAAY,EAAE,WAA4C,EAAE,IAAmC;QACvG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAyC,CAAC;YACxD,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;SAC7D;aAAM;YACH,MAAM,IAAI,GAAG,WAAwC,CAAC;YACtD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC7D;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;YACD,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3D;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAzED;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAsB,EAAE,IAAmC;QACpH,OAAO,IAAI,SAAS,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAChE,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,SAAS,CAAC,YAAY,CAAC;IAC1D,CAAC;;AA1BL,8BA2EC;AA7DG,gBAAgB;AACO,sBAAY,GAAG,sCAAsC,CAAC"}
|
package/secretScope.d.ts
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import { input as inputs, output as outputs } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* ## Import
|
|
5
|
+
*
|
|
6
|
+
* The secret resource scope can be imported using the scope name. `initial_manage_principal` state won't be imported, because the underlying API doesn't include it in the response. bash
|
|
7
|
+
*
|
|
8
|
+
* ```sh
|
|
9
|
+
* $ pulumi import databricks:index/secretScope:SecretScope object <scopeName>
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export declare class SecretScope extends pulumi.CustomResource {
|
|
13
|
+
/**
|
|
14
|
+
* Get an existing SecretScope resource's state with the given name, ID, and optional extra
|
|
15
|
+
* properties used to qualify the lookup.
|
|
16
|
+
*
|
|
17
|
+
* @param name The _unique_ name of the resulting resource.
|
|
18
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
19
|
+
* @param state Any extra arguments used during the lookup.
|
|
20
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
21
|
+
*/
|
|
22
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SecretScopeState, opts?: pulumi.CustomResourceOptions): SecretScope;
|
|
23
|
+
/**
|
|
24
|
+
* Returns true if the given object is an instance of SecretScope. This is designed to work even
|
|
25
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
26
|
+
*/
|
|
27
|
+
static isInstance(obj: any): obj is SecretScope;
|
|
28
|
+
/**
|
|
29
|
+
* Either `DATABRICKS` or `AZURE_KEYVAULT`
|
|
30
|
+
*/
|
|
31
|
+
readonly backendType: pulumi.Output<string>;
|
|
32
|
+
/**
|
|
33
|
+
* The principal with the only possible value `users` that is initially granted `MANAGE` permission to the created scope. If it's omitted, then the databricks.SecretAcl with `MANAGE` permission applied to the scope is assigned to the API request issuer's user identity (see [documentation](https://docs.databricks.com/dev-tools/api/latest/secrets.html#create-secret-scope)). This part of the state cannot be imported.
|
|
34
|
+
*/
|
|
35
|
+
readonly initialManagePrincipal: pulumi.Output<string | undefined>;
|
|
36
|
+
readonly keyvaultMetadata: pulumi.Output<outputs.SecretScopeKeyvaultMetadata | undefined>;
|
|
37
|
+
/**
|
|
38
|
+
* Scope name requested by the user. Must be unique within a workspace. Must consist of alphanumeric characters, dashes, underscores, and periods, and may not exceed 128 characters.
|
|
39
|
+
*/
|
|
40
|
+
readonly name: pulumi.Output<string>;
|
|
41
|
+
/**
|
|
42
|
+
* Create a SecretScope resource with the given unique name, arguments, and options.
|
|
43
|
+
*
|
|
44
|
+
* @param name The _unique_ name of the resource.
|
|
45
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
46
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
47
|
+
*/
|
|
48
|
+
constructor(name: string, args?: SecretScopeArgs, opts?: pulumi.CustomResourceOptions);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Input properties used for looking up and filtering SecretScope resources.
|
|
52
|
+
*/
|
|
53
|
+
export interface SecretScopeState {
|
|
54
|
+
/**
|
|
55
|
+
* Either `DATABRICKS` or `AZURE_KEYVAULT`
|
|
56
|
+
*/
|
|
57
|
+
backendType?: pulumi.Input<string>;
|
|
58
|
+
/**
|
|
59
|
+
* The principal with the only possible value `users` that is initially granted `MANAGE` permission to the created scope. If it's omitted, then the databricks.SecretAcl with `MANAGE` permission applied to the scope is assigned to the API request issuer's user identity (see [documentation](https://docs.databricks.com/dev-tools/api/latest/secrets.html#create-secret-scope)). This part of the state cannot be imported.
|
|
60
|
+
*/
|
|
61
|
+
initialManagePrincipal?: pulumi.Input<string>;
|
|
62
|
+
keyvaultMetadata?: pulumi.Input<inputs.SecretScopeKeyvaultMetadata>;
|
|
63
|
+
/**
|
|
64
|
+
* Scope name requested by the user. Must be unique within a workspace. Must consist of alphanumeric characters, dashes, underscores, and periods, and may not exceed 128 characters.
|
|
65
|
+
*/
|
|
66
|
+
name?: pulumi.Input<string>;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The set of arguments for constructing a SecretScope resource.
|
|
70
|
+
*/
|
|
71
|
+
export interface SecretScopeArgs {
|
|
72
|
+
/**
|
|
73
|
+
* Either `DATABRICKS` or `AZURE_KEYVAULT`
|
|
74
|
+
*/
|
|
75
|
+
backendType?: pulumi.Input<string>;
|
|
76
|
+
/**
|
|
77
|
+
* The principal with the only possible value `users` that is initially granted `MANAGE` permission to the created scope. If it's omitted, then the databricks.SecretAcl with `MANAGE` permission applied to the scope is assigned to the API request issuer's user identity (see [documentation](https://docs.databricks.com/dev-tools/api/latest/secrets.html#create-secret-scope)). This part of the state cannot be imported.
|
|
78
|
+
*/
|
|
79
|
+
initialManagePrincipal?: pulumi.Input<string>;
|
|
80
|
+
keyvaultMetadata?: pulumi.Input<inputs.SecretScopeKeyvaultMetadata>;
|
|
81
|
+
/**
|
|
82
|
+
* Scope name requested by the user. Must be unique within a workspace. Must consist of alphanumeric characters, dashes, underscores, and periods, and may not exceed 128 characters.
|
|
83
|
+
*/
|
|
84
|
+
name?: pulumi.Input<string>;
|
|
85
|
+
}
|
package/secretScope.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.SecretScope = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("./utilities");
|
|
8
|
+
/**
|
|
9
|
+
* ## Import
|
|
10
|
+
*
|
|
11
|
+
* The secret resource scope can be imported using the scope name. `initial_manage_principal` state won't be imported, because the underlying API doesn't include it in the response. bash
|
|
12
|
+
*
|
|
13
|
+
* ```sh
|
|
14
|
+
* $ pulumi import databricks:index/secretScope:SecretScope object <scopeName>
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
class SecretScope extends pulumi.CustomResource {
|
|
18
|
+
constructor(name, argsOrState, opts) {
|
|
19
|
+
let resourceInputs = {};
|
|
20
|
+
opts = opts || {};
|
|
21
|
+
if (opts.id) {
|
|
22
|
+
const state = argsOrState;
|
|
23
|
+
resourceInputs["backendType"] = state ? state.backendType : undefined;
|
|
24
|
+
resourceInputs["initialManagePrincipal"] = state ? state.initialManagePrincipal : undefined;
|
|
25
|
+
resourceInputs["keyvaultMetadata"] = state ? state.keyvaultMetadata : undefined;
|
|
26
|
+
resourceInputs["name"] = state ? state.name : undefined;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
const args = argsOrState;
|
|
30
|
+
resourceInputs["backendType"] = args ? args.backendType : undefined;
|
|
31
|
+
resourceInputs["initialManagePrincipal"] = args ? args.initialManagePrincipal : undefined;
|
|
32
|
+
resourceInputs["keyvaultMetadata"] = args ? args.keyvaultMetadata : undefined;
|
|
33
|
+
resourceInputs["name"] = args ? args.name : undefined;
|
|
34
|
+
}
|
|
35
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
36
|
+
super(SecretScope.__pulumiType, name, resourceInputs, opts);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Get an existing SecretScope resource's state with the given name, ID, and optional extra
|
|
40
|
+
* properties used to qualify the lookup.
|
|
41
|
+
*
|
|
42
|
+
* @param name The _unique_ name of the resulting resource.
|
|
43
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
44
|
+
* @param state Any extra arguments used during the lookup.
|
|
45
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
46
|
+
*/
|
|
47
|
+
static get(name, id, state, opts) {
|
|
48
|
+
return new SecretScope(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Returns true if the given object is an instance of SecretScope. This is designed to work even
|
|
52
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
53
|
+
*/
|
|
54
|
+
static isInstance(obj) {
|
|
55
|
+
if (obj === undefined || obj === null) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
return obj['__pulumiType'] === SecretScope.__pulumiType;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.SecretScope = SecretScope;
|
|
62
|
+
/** @internal */
|
|
63
|
+
SecretScope.__pulumiType = 'databricks:index/secretScope:SecretScope';
|
|
64
|
+
//# sourceMappingURL=secretScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secretScope.js","sourceRoot":"","sources":["../secretScope.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,yCAAyC;AAEzC;;;;;;;;GAQG;AACH,MAAa,WAAY,SAAQ,MAAM,CAAC,cAAc;IAkDlD,YAAY,IAAY,EAAE,WAAgD,EAAE,IAAmC;QAC3G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA2C,CAAC;YAC1D,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,cAAc,CAAC,wBAAwB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5F,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3D;aAAM;YACH,MAAM,IAAI,GAAG,WAA0C,CAAC;YACxD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SACzD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAnED;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAwB,EAAE,IAAmC;QACtH,OAAO,IAAI,WAAW,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAClE,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,WAAW,CAAC,YAAY,CAAC;IAC5D,CAAC;;AA1BL,kCAqEC;AAvDG,gBAAgB;AACO,wBAAY,GAAG,0CAA0C,CAAC"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
/**
|
|
3
|
+
* Directly manage [Service Principals](https://docs.databricks.com/administration-guide/users-groups/service-principals.html) that could be added to databricks.Group within workspace.
|
|
4
|
+
*
|
|
5
|
+
* ## Related Resources
|
|
6
|
+
*
|
|
7
|
+
* The following resources are often used in the same context:
|
|
8
|
+
*
|
|
9
|
+
* * End to end workspace management guide.
|
|
10
|
+
* * databricks.Group to manage [groups in Databricks Workspace](https://docs.databricks.com/administration-guide/users-groups/groups.html) or [Account Console](https://accounts.cloud.databricks.com/) (for AWS deployments).
|
|
11
|
+
* * databricks.Group data to retrieve information about databricks.Group members, entitlements and instance profiles.
|
|
12
|
+
* * databricksGroupMember to attach users and groups as group members.
|
|
13
|
+
* * databricks.Permissions to manage [access control](https://docs.databricks.com/security/access-control/index.html) in Databricks workspace.
|
|
14
|
+
* * databricks.SqlPermissions to manage data object access control lists in Databricks workspaces for things like tables, views, databases, and [more](https://docs.databricks.
|
|
15
|
+
*
|
|
16
|
+
* ## Import
|
|
17
|
+
*
|
|
18
|
+
* The resource scim service principal can be imported using idbash
|
|
19
|
+
*
|
|
20
|
+
* ```sh
|
|
21
|
+
* $ pulumi import databricks:index/servicePrincipal:ServicePrincipal me <service-principal-id>
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare class ServicePrincipal extends pulumi.CustomResource {
|
|
25
|
+
/**
|
|
26
|
+
* Get an existing ServicePrincipal resource's state with the given name, ID, and optional extra
|
|
27
|
+
* properties used to qualify the lookup.
|
|
28
|
+
*
|
|
29
|
+
* @param name The _unique_ name of the resulting resource.
|
|
30
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
31
|
+
* @param state Any extra arguments used during the lookup.
|
|
32
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
33
|
+
*/
|
|
34
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ServicePrincipalState, opts?: pulumi.CustomResourceOptions): ServicePrincipal;
|
|
35
|
+
/**
|
|
36
|
+
* Returns true if the given object is an instance of ServicePrincipal. This is designed to work even
|
|
37
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
38
|
+
*/
|
|
39
|
+
static isInstance(obj: any): obj is ServicePrincipal;
|
|
40
|
+
/**
|
|
41
|
+
* Either service principal is active or not. True by default, but can be set to false in case of service principal deactivation with preserving service principal assets.
|
|
42
|
+
*/
|
|
43
|
+
readonly active: pulumi.Output<boolean | undefined>;
|
|
44
|
+
/**
|
|
45
|
+
* Allow the service principal to have cluster create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and `clusterId` argument. Everyone without `allowClusterCreate` argument set, but with permission to use Cluster Policy would be able to create clusters, but within the boundaries of that specific policy.
|
|
46
|
+
*/
|
|
47
|
+
readonly allowClusterCreate: pulumi.Output<boolean | undefined>;
|
|
48
|
+
/**
|
|
49
|
+
* Allow the service principal to have instance pool create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and instancePoolId argument.
|
|
50
|
+
*/
|
|
51
|
+
readonly allowInstancePoolCreate: pulumi.Output<boolean | undefined>;
|
|
52
|
+
/**
|
|
53
|
+
* This is the application id of the given service principal and will be their form of access and identity. On other clouds than Azure this value is auto-generated.
|
|
54
|
+
*/
|
|
55
|
+
readonly applicationId: pulumi.Output<string>;
|
|
56
|
+
/**
|
|
57
|
+
* This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql) feature through databricks_sql_endpoint.
|
|
58
|
+
*/
|
|
59
|
+
readonly databricksSqlAccess: pulumi.Output<boolean | undefined>;
|
|
60
|
+
/**
|
|
61
|
+
* This is an alias for the service principal and can be the full name of the service principal.
|
|
62
|
+
*/
|
|
63
|
+
readonly displayName: pulumi.Output<string>;
|
|
64
|
+
/**
|
|
65
|
+
* This is a field to allow the group to have access to Databricks Workspace.
|
|
66
|
+
*/
|
|
67
|
+
readonly workspaceAccess: pulumi.Output<boolean | undefined>;
|
|
68
|
+
/**
|
|
69
|
+
* Create a ServicePrincipal resource with the given unique name, arguments, and options.
|
|
70
|
+
*
|
|
71
|
+
* @param name The _unique_ name of the resource.
|
|
72
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
73
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
74
|
+
*/
|
|
75
|
+
constructor(name: string, args?: ServicePrincipalArgs, opts?: pulumi.CustomResourceOptions);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Input properties used for looking up and filtering ServicePrincipal resources.
|
|
79
|
+
*/
|
|
80
|
+
export interface ServicePrincipalState {
|
|
81
|
+
/**
|
|
82
|
+
* Either service principal is active or not. True by default, but can be set to false in case of service principal deactivation with preserving service principal assets.
|
|
83
|
+
*/
|
|
84
|
+
active?: pulumi.Input<boolean>;
|
|
85
|
+
/**
|
|
86
|
+
* Allow the service principal to have cluster create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and `clusterId` argument. Everyone without `allowClusterCreate` argument set, but with permission to use Cluster Policy would be able to create clusters, but within the boundaries of that specific policy.
|
|
87
|
+
*/
|
|
88
|
+
allowClusterCreate?: pulumi.Input<boolean>;
|
|
89
|
+
/**
|
|
90
|
+
* Allow the service principal to have instance pool create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and instancePoolId argument.
|
|
91
|
+
*/
|
|
92
|
+
allowInstancePoolCreate?: pulumi.Input<boolean>;
|
|
93
|
+
/**
|
|
94
|
+
* This is the application id of the given service principal and will be their form of access and identity. On other clouds than Azure this value is auto-generated.
|
|
95
|
+
*/
|
|
96
|
+
applicationId?: pulumi.Input<string>;
|
|
97
|
+
/**
|
|
98
|
+
* This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql) feature through databricks_sql_endpoint.
|
|
99
|
+
*/
|
|
100
|
+
databricksSqlAccess?: pulumi.Input<boolean>;
|
|
101
|
+
/**
|
|
102
|
+
* This is an alias for the service principal and can be the full name of the service principal.
|
|
103
|
+
*/
|
|
104
|
+
displayName?: pulumi.Input<string>;
|
|
105
|
+
/**
|
|
106
|
+
* This is a field to allow the group to have access to Databricks Workspace.
|
|
107
|
+
*/
|
|
108
|
+
workspaceAccess?: pulumi.Input<boolean>;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* The set of arguments for constructing a ServicePrincipal resource.
|
|
112
|
+
*/
|
|
113
|
+
export interface ServicePrincipalArgs {
|
|
114
|
+
/**
|
|
115
|
+
* Either service principal is active or not. True by default, but can be set to false in case of service principal deactivation with preserving service principal assets.
|
|
116
|
+
*/
|
|
117
|
+
active?: pulumi.Input<boolean>;
|
|
118
|
+
/**
|
|
119
|
+
* Allow the service principal to have cluster create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and `clusterId` argument. Everyone without `allowClusterCreate` argument set, but with permission to use Cluster Policy would be able to create clusters, but within the boundaries of that specific policy.
|
|
120
|
+
*/
|
|
121
|
+
allowClusterCreate?: pulumi.Input<boolean>;
|
|
122
|
+
/**
|
|
123
|
+
* Allow the service principal to have instance pool create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and instancePoolId argument.
|
|
124
|
+
*/
|
|
125
|
+
allowInstancePoolCreate?: pulumi.Input<boolean>;
|
|
126
|
+
/**
|
|
127
|
+
* This is the application id of the given service principal and will be their form of access and identity. On other clouds than Azure this value is auto-generated.
|
|
128
|
+
*/
|
|
129
|
+
applicationId?: pulumi.Input<string>;
|
|
130
|
+
/**
|
|
131
|
+
* This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql) feature through databricks_sql_endpoint.
|
|
132
|
+
*/
|
|
133
|
+
databricksSqlAccess?: pulumi.Input<boolean>;
|
|
134
|
+
/**
|
|
135
|
+
* This is an alias for the service principal and can be the full name of the service principal.
|
|
136
|
+
*/
|
|
137
|
+
displayName?: pulumi.Input<string>;
|
|
138
|
+
/**
|
|
139
|
+
* This is a field to allow the group to have access to Databricks Workspace.
|
|
140
|
+
*/
|
|
141
|
+
workspaceAccess?: pulumi.Input<boolean>;
|
|
142
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.ServicePrincipal = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("./utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Directly manage [Service Principals](https://docs.databricks.com/administration-guide/users-groups/service-principals.html) that could be added to databricks.Group within workspace.
|
|
10
|
+
*
|
|
11
|
+
* ## Related Resources
|
|
12
|
+
*
|
|
13
|
+
* The following resources are often used in the same context:
|
|
14
|
+
*
|
|
15
|
+
* * End to end workspace management guide.
|
|
16
|
+
* * databricks.Group to manage [groups in Databricks Workspace](https://docs.databricks.com/administration-guide/users-groups/groups.html) or [Account Console](https://accounts.cloud.databricks.com/) (for AWS deployments).
|
|
17
|
+
* * databricks.Group data to retrieve information about databricks.Group members, entitlements and instance profiles.
|
|
18
|
+
* * databricksGroupMember to attach users and groups as group members.
|
|
19
|
+
* * databricks.Permissions to manage [access control](https://docs.databricks.com/security/access-control/index.html) in Databricks workspace.
|
|
20
|
+
* * databricks.SqlPermissions to manage data object access control lists in Databricks workspaces for things like tables, views, databases, and [more](https://docs.databricks.
|
|
21
|
+
*
|
|
22
|
+
* ## Import
|
|
23
|
+
*
|
|
24
|
+
* The resource scim service principal can be imported using idbash
|
|
25
|
+
*
|
|
26
|
+
* ```sh
|
|
27
|
+
* $ pulumi import databricks:index/servicePrincipal:ServicePrincipal me <service-principal-id>
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
class ServicePrincipal extends pulumi.CustomResource {
|
|
31
|
+
constructor(name, argsOrState, opts) {
|
|
32
|
+
let resourceInputs = {};
|
|
33
|
+
opts = opts || {};
|
|
34
|
+
if (opts.id) {
|
|
35
|
+
const state = argsOrState;
|
|
36
|
+
resourceInputs["active"] = state ? state.active : undefined;
|
|
37
|
+
resourceInputs["allowClusterCreate"] = state ? state.allowClusterCreate : undefined;
|
|
38
|
+
resourceInputs["allowInstancePoolCreate"] = state ? state.allowInstancePoolCreate : undefined;
|
|
39
|
+
resourceInputs["applicationId"] = state ? state.applicationId : undefined;
|
|
40
|
+
resourceInputs["databricksSqlAccess"] = state ? state.databricksSqlAccess : undefined;
|
|
41
|
+
resourceInputs["displayName"] = state ? state.displayName : undefined;
|
|
42
|
+
resourceInputs["workspaceAccess"] = state ? state.workspaceAccess : undefined;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
const args = argsOrState;
|
|
46
|
+
resourceInputs["active"] = args ? args.active : undefined;
|
|
47
|
+
resourceInputs["allowClusterCreate"] = args ? args.allowClusterCreate : undefined;
|
|
48
|
+
resourceInputs["allowInstancePoolCreate"] = args ? args.allowInstancePoolCreate : undefined;
|
|
49
|
+
resourceInputs["applicationId"] = args ? args.applicationId : undefined;
|
|
50
|
+
resourceInputs["databricksSqlAccess"] = args ? args.databricksSqlAccess : undefined;
|
|
51
|
+
resourceInputs["displayName"] = args ? args.displayName : undefined;
|
|
52
|
+
resourceInputs["workspaceAccess"] = args ? args.workspaceAccess : undefined;
|
|
53
|
+
}
|
|
54
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
55
|
+
super(ServicePrincipal.__pulumiType, name, resourceInputs, opts);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get an existing ServicePrincipal resource's state with the given name, ID, and optional extra
|
|
59
|
+
* properties used to qualify the lookup.
|
|
60
|
+
*
|
|
61
|
+
* @param name The _unique_ name of the resulting resource.
|
|
62
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
63
|
+
* @param state Any extra arguments used during the lookup.
|
|
64
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
65
|
+
*/
|
|
66
|
+
static get(name, id, state, opts) {
|
|
67
|
+
return new ServicePrincipal(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Returns true if the given object is an instance of ServicePrincipal. This is designed to work even
|
|
71
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
72
|
+
*/
|
|
73
|
+
static isInstance(obj) {
|
|
74
|
+
if (obj === undefined || obj === null) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return obj['__pulumiType'] === ServicePrincipal.__pulumiType;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.ServicePrincipal = ServicePrincipal;
|
|
81
|
+
/** @internal */
|
|
82
|
+
ServicePrincipal.__pulumiType = 'databricks:index/servicePrincipal:ServicePrincipal';
|
|
83
|
+
//# sourceMappingURL=servicePrincipal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"servicePrincipal.js","sourceRoot":"","sources":["../servicePrincipal.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,gBAAiB,SAAQ,MAAM,CAAC,cAAc;IAiEvD,YAAY,IAAY,EAAE,WAA0D,EAAE,IAAmC;QACrH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAgD,CAAC;YAC/D,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,cAAc,CAAC,yBAAyB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,qBAAqB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,cAAc,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;SACjF;aAAM;YACH,MAAM,IAAI,GAAG,WAA+C,CAAC;YAC7D,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,cAAc,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5F,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/E;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAxFD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA6B,EAAE,IAAmC;QAC3H,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACvE,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,gBAAgB,CAAC,YAAY,CAAC;IACjE,CAAC;;AA1BL,4CA0FC;AA5EG,gBAAgB;AACO,6BAAY,GAAG,oDAAoD,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
/**
|
|
3
|
+
* This resource is used to manage [Databricks SQL Dashboards](https://docs.databricks.com/sql/user/dashboards/index.html). To manage [SQLA resources](https://docs.databricks.com/sql/get-started/concepts.html) you must have `databricksSqlAccess` on your databricks.Group or databricks_user.
|
|
4
|
+
*
|
|
5
|
+
* **Note:** documentation for this resource is a work in progress.
|
|
6
|
+
*
|
|
7
|
+
* A dashboard may have one or more widgets.
|
|
8
|
+
*
|
|
9
|
+
* ## Example Usage
|
|
10
|
+
*
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
13
|
+
* import * as databricks from "@pulumi/databricks";
|
|
14
|
+
*
|
|
15
|
+
* const d1 = new databricks.SqlDashboard("d1", {
|
|
16
|
+
* tags: [
|
|
17
|
+
* "some-tag",
|
|
18
|
+
* "another-tag",
|
|
19
|
+
* ],
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* Example permission to share dashboard with all users:
|
|
24
|
+
*
|
|
25
|
+
* ```typescript
|
|
26
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
27
|
+
* import * as databricks from "@pulumi/databricks";
|
|
28
|
+
*
|
|
29
|
+
* const d1 = new databricks.Permissions("d1", {
|
|
30
|
+
* sqlDashboardId: databricks_sql_dashboard.d1.id,
|
|
31
|
+
* accessControls: [{
|
|
32
|
+
* groupName: data.databricks_group.users.display_name,
|
|
33
|
+
* permissionLevel: "CAN_RUN",
|
|
34
|
+
* }],
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
* ## Related Resources
|
|
38
|
+
*
|
|
39
|
+
* The following resources are often used in the same context:
|
|
40
|
+
*
|
|
41
|
+
* * End to end workspace management guide.
|
|
42
|
+
* * databricks.SqlEndpoint to manage Databricks SQL [Endpoints](https://docs.databricks.com/sql/admin/sql-endpoints.html).
|
|
43
|
+
* * databricks.SqlGlobalConfig to configure the security policy, databricks_instance_profile, and [data access properties](https://docs.databricks.com/sql/admin/data-access-configuration.html) for all databricks.SqlEndpoint of workspace.
|
|
44
|
+
* * databricks.SqlPermissions to manage data object access control lists in Databricks workspaces for things like tables, views, databases, and [more](https://docs.databricks.com/security/access-control/table-acls/object-privileges.html).
|
|
45
|
+
*
|
|
46
|
+
* ## Import
|
|
47
|
+
*
|
|
48
|
+
* -> **Note** Importing this resource is not currently supported.
|
|
49
|
+
*/
|
|
50
|
+
export declare class SqlDashboard extends pulumi.CustomResource {
|
|
51
|
+
/**
|
|
52
|
+
* Get an existing SqlDashboard resource's state with the given name, ID, and optional extra
|
|
53
|
+
* properties used to qualify the lookup.
|
|
54
|
+
*
|
|
55
|
+
* @param name The _unique_ name of the resulting resource.
|
|
56
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
57
|
+
* @param state Any extra arguments used during the lookup.
|
|
58
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
59
|
+
*/
|
|
60
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SqlDashboardState, opts?: pulumi.CustomResourceOptions): SqlDashboard;
|
|
61
|
+
/**
|
|
62
|
+
* Returns true if the given object is an instance of SqlDashboard. This is designed to work even
|
|
63
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
64
|
+
*/
|
|
65
|
+
static isInstance(obj: any): obj is SqlDashboard;
|
|
66
|
+
readonly name: pulumi.Output<string>;
|
|
67
|
+
readonly tags: pulumi.Output<string[] | undefined>;
|
|
68
|
+
/**
|
|
69
|
+
* Create a SqlDashboard resource with the given unique name, arguments, and options.
|
|
70
|
+
*
|
|
71
|
+
* @param name The _unique_ name of the resource.
|
|
72
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
73
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
74
|
+
*/
|
|
75
|
+
constructor(name: string, args?: SqlDashboardArgs, opts?: pulumi.CustomResourceOptions);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Input properties used for looking up and filtering SqlDashboard resources.
|
|
79
|
+
*/
|
|
80
|
+
export interface SqlDashboardState {
|
|
81
|
+
name?: pulumi.Input<string>;
|
|
82
|
+
tags?: pulumi.Input<pulumi.Input<string>[]>;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The set of arguments for constructing a SqlDashboard resource.
|
|
86
|
+
*/
|
|
87
|
+
export interface SqlDashboardArgs {
|
|
88
|
+
name?: pulumi.Input<string>;
|
|
89
|
+
tags?: pulumi.Input<pulumi.Input<string>[]>;
|
|
90
|
+
}
|