import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * * [Official documentation](https://grafana.com/docs/grafana/latest/administration/team-management/) * * [HTTP API](https://grafana.com/docs/grafana/latest/developers/http_api/team/) * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as grafana from "@lbrlabs/pulumi-grafana"; * * const test_team = new grafana.Team("test-team", { * email: "teamemail@example.com", * members: ["viewer-01@example.com"], * }); * ``` * * ## Import * * ```sh * $ pulumi import grafana:index/team:Team team_name {{team_id}} # To use the default provider org * ``` * * ```sh * $ pulumi import grafana:index/team:Team team_name {{org_id}}:{{team_id}} # When "org_id" is set on the resource * ``` */ export declare class Team extends pulumi.CustomResource { /** * Get an existing Team resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: TeamState, opts?: pulumi.CustomResourceOptions): Team; /** * Returns true if the given object is an instance of Team. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Team; /** * An email address for the team. */ readonly email: pulumi.Output; /** * Ignores team members that have been added to team by [Team * Sync](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-team-sync/). Team Sync can be * provisioned using [grafana_team_external_group * resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/team_external_group). */ readonly ignoreExternallySyncedMembers: pulumi.Output; /** * A set of email addresses corresponding to users who should be given membership to the team. Note: users specified here * must already exist in Grafana. */ readonly members: pulumi.Output; /** * The display name for the Grafana team created. */ readonly name: pulumi.Output; /** * The Organization ID. If not set, the Org ID defined in the provider block will be used. */ readonly orgId: pulumi.Output; readonly preferences: pulumi.Output; /** * The team id assigned to this team by Grafana. */ readonly teamId: pulumi.Output; /** * Sync external auth provider groups with this Grafana team. Only available in Grafana Enterprise. * [Official * documentation](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-team-sync/) * [HTTP * API](https://grafana.com/docs/grafana/latest/developers/http_api/team_sync/) */ readonly teamSync: pulumi.Output; /** * Create a Team resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args?: TeamArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Team resources. */ export interface TeamState { /** * An email address for the team. */ email?: pulumi.Input; /** * Ignores team members that have been added to team by [Team * Sync](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-team-sync/). Team Sync can be * provisioned using [grafana_team_external_group * resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/team_external_group). */ ignoreExternallySyncedMembers?: pulumi.Input; /** * A set of email addresses corresponding to users who should be given membership to the team. Note: users specified here * must already exist in Grafana. */ members?: pulumi.Input[]>; /** * The display name for the Grafana team created. */ name?: pulumi.Input; /** * The Organization ID. If not set, the Org ID defined in the provider block will be used. */ orgId?: pulumi.Input; preferences?: pulumi.Input; /** * The team id assigned to this team by Grafana. */ teamId?: pulumi.Input; /** * Sync external auth provider groups with this Grafana team. Only available in Grafana Enterprise. * [Official * documentation](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-team-sync/) * [HTTP * API](https://grafana.com/docs/grafana/latest/developers/http_api/team_sync/) */ teamSync?: pulumi.Input; } /** * The set of arguments for constructing a Team resource. */ export interface TeamArgs { /** * An email address for the team. */ email?: pulumi.Input; /** * Ignores team members that have been added to team by [Team * Sync](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-team-sync/). Team Sync can be * provisioned using [grafana_team_external_group * resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/team_external_group). */ ignoreExternallySyncedMembers?: pulumi.Input; /** * A set of email addresses corresponding to users who should be given membership to the team. Note: users specified here * must already exist in Grafana. */ members?: pulumi.Input[]>; /** * The display name for the Grafana team created. */ name?: pulumi.Input; /** * The Organization ID. If not set, the Org ID defined in the provider block will be used. */ orgId?: pulumi.Input; preferences?: pulumi.Input; /** * Sync external auth provider groups with this Grafana team. Only available in Grafana Enterprise. * [Official * documentation](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-team-sync/) * [HTTP * API](https://grafana.com/docs/grafana/latest/developers/http_api/team_sync/) */ teamSync?: pulumi.Input; }