import * as pulumi from "@pulumi/pulumi";
/**
 * > **Note** If you have a fully automated setup with workspaces created by databricks.MwsWorkspaces or azurerm_databricks_workspace, please make sure to add dependsOn attribute in order to prevent _default auth: cannot configure default credentials_ errors.
 *
 * Retrieves information about databricks.Group members, entitlements and instance profiles.
 *
 * ## Example Usage
 *
 * Adding user to administrative group
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as databricks from "@pulumi/databricks";
 *
 * const admins = databricks.getGroup({
 *     displayName: "admins",
 * });
 * const me = new databricks.User("me", {userName: "me@example.com"});
 * const myMemberA = new databricks.GroupMember("my_member_a", {
 *     groupId: admins.then(admins => admins.id),
 *     memberId: me.id,
 * });
 * ```
 *
 * ## Related Resources
 *
 * The following resources are used in the same context:
 *
 * * End to end workspace management guide
 * * databricks.Cluster to create [Databricks Clusters](https://docs.databricks.com/clusters/index.html).
 * * databricks.Directory to manage directories in [Databricks Workpace](https://docs.databricks.com/workspace/workspace-objects.html).
 * * 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.
 * * databricks.User to [manage users](https://docs.databricks.com/administration-guide/users-groups/users.html), that could be added to databricks.Group within the workspace.
 */
export declare function getGroup(args: GetGroupArgs, opts?: pulumi.InvokeOptions): Promise<GetGroupResult>;
/**
 * A collection of arguments for invoking getGroup.
 */
export interface GetGroupArgs {
    /**
     * identifier for use in databricks_access_control_rule_set, e.g. `groups/Some Group`.
     */
    aclPrincipalId?: string;
    /**
     * True if group members can create clusters
     */
    allowClusterCreate?: boolean;
    /**
     * True if group members can create instance pools
     */
    allowInstancePoolCreate?: boolean;
    /**
     * Set of databricks.Group identifiers, that can be modified with databricks.GroupMember resource.
     */
    childGroups?: string[];
    databricksSqlAccess?: boolean;
    /**
     * Display name of the group. The group must exist before this resource can be planned.
     */
    displayName: string;
    /**
     * ID of the group in an external identity provider.
     */
    externalId?: string;
    /**
     * Set of group identifiers, that can be modified with databricks.GroupMember resource.
     */
    groups?: string[];
    /**
     * Set of instance profile ARNs, that can be modified by databricks.GroupInstanceProfile resource.
     */
    instanceProfiles?: string[];
    /**
     * @deprecated Please use `users`, `servicePrincipals`, and `childGroups` instead
     */
    members?: string[];
    /**
     * Collect information for all nested groups. *Defaults to true.*
     */
    recursive?: boolean;
    /**
     * Set of databricks.ServicePrincipal identifiers, that can be modified with databricks.GroupMember resource.
     */
    servicePrincipals?: string[];
    /**
     * Set of databricks.User identifiers, that can be modified with databricks.GroupMember resource.
     */
    users?: string[];
    workspaceAccess?: boolean;
}
/**
 * A collection of values returned by getGroup.
 */
export interface GetGroupResult {
    /**
     * identifier for use in databricks_access_control_rule_set, e.g. `groups/Some Group`.
     */
    readonly aclPrincipalId: string;
    /**
     * True if group members can create clusters
     */
    readonly allowClusterCreate?: boolean;
    /**
     * True if group members can create instance pools
     */
    readonly allowInstancePoolCreate?: boolean;
    /**
     * Set of databricks.Group identifiers, that can be modified with databricks.GroupMember resource.
     */
    readonly childGroups: string[];
    readonly databricksSqlAccess?: boolean;
    readonly displayName: string;
    /**
     * ID of the group in an external identity provider.
     */
    readonly externalId: string;
    /**
     * Set of group identifiers, that can be modified with databricks.GroupMember resource.
     */
    readonly groups: string[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Set of instance profile ARNs, that can be modified by databricks.GroupInstanceProfile resource.
     */
    readonly instanceProfiles: string[];
    /**
     * @deprecated Please use `users`, `servicePrincipals`, and `childGroups` instead
     */
    readonly members: string[];
    readonly recursive?: boolean;
    /**
     * Set of databricks.ServicePrincipal identifiers, that can be modified with databricks.GroupMember resource.
     */
    readonly servicePrincipals: string[];
    /**
     * Set of databricks.User identifiers, that can be modified with databricks.GroupMember resource.
     */
    readonly users: string[];
    readonly workspaceAccess?: boolean;
}
/**
 * > **Note** If you have a fully automated setup with workspaces created by databricks.MwsWorkspaces or azurerm_databricks_workspace, please make sure to add dependsOn attribute in order to prevent _default auth: cannot configure default credentials_ errors.
 *
 * Retrieves information about databricks.Group members, entitlements and instance profiles.
 *
 * ## Example Usage
 *
 * Adding user to administrative group
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as databricks from "@pulumi/databricks";
 *
 * const admins = databricks.getGroup({
 *     displayName: "admins",
 * });
 * const me = new databricks.User("me", {userName: "me@example.com"});
 * const myMemberA = new databricks.GroupMember("my_member_a", {
 *     groupId: admins.then(admins => admins.id),
 *     memberId: me.id,
 * });
 * ```
 *
 * ## Related Resources
 *
 * The following resources are used in the same context:
 *
 * * End to end workspace management guide
 * * databricks.Cluster to create [Databricks Clusters](https://docs.databricks.com/clusters/index.html).
 * * databricks.Directory to manage directories in [Databricks Workpace](https://docs.databricks.com/workspace/workspace-objects.html).
 * * 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.
 * * databricks.User to [manage users](https://docs.databricks.com/administration-guide/users-groups/users.html), that could be added to databricks.Group within the workspace.
 */
export declare function getGroupOutput(args: GetGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetGroupResult>;
/**
 * A collection of arguments for invoking getGroup.
 */
export interface GetGroupOutputArgs {
    /**
     * identifier for use in databricks_access_control_rule_set, e.g. `groups/Some Group`.
     */
    aclPrincipalId?: pulumi.Input<string>;
    /**
     * True if group members can create clusters
     */
    allowClusterCreate?: pulumi.Input<boolean>;
    /**
     * True if group members can create instance pools
     */
    allowInstancePoolCreate?: pulumi.Input<boolean>;
    /**
     * Set of databricks.Group identifiers, that can be modified with databricks.GroupMember resource.
     */
    childGroups?: pulumi.Input<pulumi.Input<string>[]>;
    databricksSqlAccess?: pulumi.Input<boolean>;
    /**
     * Display name of the group. The group must exist before this resource can be planned.
     */
    displayName: pulumi.Input<string>;
    /**
     * ID of the group in an external identity provider.
     */
    externalId?: pulumi.Input<string>;
    /**
     * Set of group identifiers, that can be modified with databricks.GroupMember resource.
     */
    groups?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Set of instance profile ARNs, that can be modified by databricks.GroupInstanceProfile resource.
     */
    instanceProfiles?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * @deprecated Please use `users`, `servicePrincipals`, and `childGroups` instead
     */
    members?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Collect information for all nested groups. *Defaults to true.*
     */
    recursive?: pulumi.Input<boolean>;
    /**
     * Set of databricks.ServicePrincipal identifiers, that can be modified with databricks.GroupMember resource.
     */
    servicePrincipals?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Set of databricks.User identifiers, that can be modified with databricks.GroupMember resource.
     */
    users?: pulumi.Input<pulumi.Input<string>[]>;
    workspaceAccess?: pulumi.Input<boolean>;
}
