UNPKG

@pulumi/databricks

Version:

A Pulumi package for creating and managing databricks cloud resources.

126 lines 5.92 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.getServicePrincipalsOutput = exports.getServicePrincipals = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("./utilities"); /** * Retrieves `applicationIds` of all databricks.ServicePrincipal based on their `displayName` * * > This data source can be used with an account or workspace-level provider. * * ## Example Usage * * Adding all service principals of which display name contains `my-spn` to admin group * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as databricks from "@pulumi/databricks"; * import * as std from "@pulumi/std"; * * export = async () => { * const admins = await databricks.getGroup({ * displayName: "admins", * }); * const spns = await databricks.getServicePrincipals({ * displayNameContains: "my-spn", * }); * const spn = .reduce((__obj, [__key, __value]) => ({ ...__obj, [__key]: await databricks.getServicePrincipal({ * applicationId: __value, * }) })); * const myMemberSpn: databricks.GroupMember[] = []; * for (const range of std.toset({ * input: spns.applicationIds, * }).result.map((v, k) => ({key: k, value: v}))) { * myMemberSpn.push(new databricks.GroupMember(`my_member_spn-${range.key}`, { * groupId: admins.id, * memberId: spn[range.value].spId, * })); * } * } * ``` * * ## Related Resources * * The following resources are used in the same context: * * - End to end workspace management guide. * - databricks.getCurrentUser data to retrieve information about databricks.User or databricks_service_principal, that is calling Databricks REST API. * - 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. * - databricks.Group data to retrieve information about databricks.Group members, entitlements and instance profiles. * - databricks.GroupInstanceProfile to attach databricks.InstanceProfile (AWS) to databricks_group. * - databricks.GroupMember to attach users and groups as group members. * - databricks.Permissions to manage [access control](https://docs.databricks.com/security/access-control/index.html) in Databricks workspace. * - databricksService principal to manage service principals */ function getServicePrincipals(args, opts) { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("databricks:index/getServicePrincipals:getServicePrincipals", { "applicationIds": args.applicationIds, "displayNameContains": args.displayNameContains, "servicePrincipals": args.servicePrincipals, }, opts); } exports.getServicePrincipals = getServicePrincipals; /** * Retrieves `applicationIds` of all databricks.ServicePrincipal based on their `displayName` * * > This data source can be used with an account or workspace-level provider. * * ## Example Usage * * Adding all service principals of which display name contains `my-spn` to admin group * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as databricks from "@pulumi/databricks"; * import * as std from "@pulumi/std"; * * export = async () => { * const admins = await databricks.getGroup({ * displayName: "admins", * }); * const spns = await databricks.getServicePrincipals({ * displayNameContains: "my-spn", * }); * const spn = .reduce((__obj, [__key, __value]) => ({ ...__obj, [__key]: await databricks.getServicePrincipal({ * applicationId: __value, * }) })); * const myMemberSpn: databricks.GroupMember[] = []; * for (const range of std.toset({ * input: spns.applicationIds, * }).result.map((v, k) => ({key: k, value: v}))) { * myMemberSpn.push(new databricks.GroupMember(`my_member_spn-${range.key}`, { * groupId: admins.id, * memberId: spn[range.value].spId, * })); * } * } * ``` * * ## Related Resources * * The following resources are used in the same context: * * - End to end workspace management guide. * - databricks.getCurrentUser data to retrieve information about databricks.User or databricks_service_principal, that is calling Databricks REST API. * - 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. * - databricks.Group data to retrieve information about databricks.Group members, entitlements and instance profiles. * - databricks.GroupInstanceProfile to attach databricks.InstanceProfile (AWS) to databricks_group. * - databricks.GroupMember to attach users and groups as group members. * - databricks.Permissions to manage [access control](https://docs.databricks.com/security/access-control/index.html) in Databricks workspace. * - databricksService principal to manage service principals */ function getServicePrincipalsOutput(args, opts) { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("databricks:index/getServicePrincipals:getServicePrincipals", { "applicationIds": args.applicationIds, "displayNameContains": args.displayNameContains, "servicePrincipals": args.servicePrincipals, }, opts); } exports.getServicePrincipalsOutput = getServicePrincipalsOutput; //# sourceMappingURL=getServicePrincipals.js.map