import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * This resource manages the team settings (in particular the request review delegation settings) within the organization * * Creating this resource will alter the team Code Review settings. * * The team must both belong to the same organization configured in the provider on GitHub. * * > **Note**: This resource relies on the v4 GraphQl GitHub API. If this API is not available, or the Stone Crop schema preview is not available, then this resource will not work as intended. * * ## Example Usage * * ### Notify without delegation * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as github from "@pulumi/github"; * * const someTeam = new github.Team("some_team", { * name: "SomeTeam", * description: "Some cool team", * }); * const codeReviewSettings = new github.TeamSettings("code_review_settings", { * teamId: someTeam.id, * notify: true, * }); * ``` * * ### Notify with delegation * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as github from "@pulumi/github"; * * const someTeam = new github.Team("some_team", { * name: "SomeTeam", * description: "Some cool team", * }); * const codeReviewSettings = new github.TeamSettings("code_review_settings", { * teamId: someTeam.id, * notify: true, * reviewRequestDelegation: { * algorithm: "ROUND_ROBIN", * memberCount: 1, * }, * }); * ``` * * ## Import * * GitHub Teams can be imported using the GitHub team ID, or the team slug e.g. * * or, */ export declare class TeamSettings extends pulumi.CustomResource { /** * Get an existing TeamSettings 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?: TeamSettingsState, opts?: pulumi.CustomResourceOptions): TeamSettings; /** * Returns true if the given object is an instance of TeamSettings. 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 TeamSettings; /** * Whether to notify the entire team when at least one member is also assigned to the pull request. Can be set independently of `reviewRequestDelegation`. Default value is `false`. */ readonly notify: pulumi.Output; /** * The settings for delegating code reviews to individuals on behalf of the team. If this block is present, even without any fields, then review request delegation will be enabled for the team. See GitHub Review Request Delegation below for details. See [GitHub's documentation](https://docs.github.com/en/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team#configuring-team-notifications) for more configuration details. */ readonly reviewRequestDelegation: pulumi.Output; /** * The GitHub team id or the GitHub team slug */ readonly teamId: pulumi.Output; /** * The slug of the Team. */ readonly teamSlug: pulumi.Output; /** * The unique node ID of the Team on GitHub. Corresponds to the ID of the `github.TeamSettings` resource. */ readonly teamUid: pulumi.Output; /** * Create a TeamSettings 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: TeamSettingsArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering TeamSettings resources. */ export interface TeamSettingsState { /** * Whether to notify the entire team when at least one member is also assigned to the pull request. Can be set independently of `reviewRequestDelegation`. Default value is `false`. */ notify?: pulumi.Input; /** * The settings for delegating code reviews to individuals on behalf of the team. If this block is present, even without any fields, then review request delegation will be enabled for the team. See GitHub Review Request Delegation below for details. See [GitHub's documentation](https://docs.github.com/en/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team#configuring-team-notifications) for more configuration details. */ reviewRequestDelegation?: pulumi.Input; /** * The GitHub team id or the GitHub team slug */ teamId?: pulumi.Input; /** * The slug of the Team. */ teamSlug?: pulumi.Input; /** * The unique node ID of the Team on GitHub. Corresponds to the ID of the `github.TeamSettings` resource. */ teamUid?: pulumi.Input; } /** * The set of arguments for constructing a TeamSettings resource. */ export interface TeamSettingsArgs { /** * Whether to notify the entire team when at least one member is also assigned to the pull request. Can be set independently of `reviewRequestDelegation`. Default value is `false`. */ notify?: pulumi.Input; /** * The settings for delegating code reviews to individuals on behalf of the team. If this block is present, even without any fields, then review request delegation will be enabled for the team. See GitHub Review Request Delegation below for details. See [GitHub's documentation](https://docs.github.com/en/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team#configuring-team-notifications) for more configuration details. */ reviewRequestDelegation?: pulumi.Input; /** * The GitHub team id or the GitHub team slug */ teamId: pulumi.Input; } //# sourceMappingURL=teamSettings.d.ts.map