UNPKG

@pulumi/github

Version:

A Pulumi package for creating and managing github cloud resources.

106 lines 4.05 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.TeamMembers = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("./utilities"); /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as github from "@pulumi/github"; * * // Add a user to the organization * const membershipForSomeUser = new github.Membership("membership_for_some_user", { * username: "SomeUser", * role: "member", * }); * const membershipForAnotherUser = new github.Membership("membership_for_another_user", { * username: "AnotherUser", * role: "member", * }); * const someTeam = new github.Team("some_team", { * name: "SomeTeam", * description: "Some cool team", * }); * const someTeamMembers = new github.TeamMembers("some_team_members", { * teamId: someTeam.id, * members: [ * { * username: "SomeUser", * role: "maintainer", * }, * { * username: "AnotherUser", * role: "member", * }, * ], * }); * ``` * * ## Import * * ~> **Note** Although the team id or team slug can be used it is recommended to use the team id. Using the team slug will result in terraform doing conversions between the team slug and team id. This will cause team members associations to the team to be destroyed and recreated on import. * * GitHub Team Membership can be imported using the team ID team id or team slug, e.g. * * ```sh * $ pulumi import github:index/teamMembers:TeamMembers some_team 1234567 * ``` * * ```sh * $ pulumi import github:index/teamMembers:TeamMembers some_team Administrators * ``` */ class TeamMembers extends pulumi.CustomResource { /** * Get an existing TeamMembers 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, id, state, opts) { return new TeamMembers(name, state, Object.assign(Object.assign({}, opts), { id: id })); } /** * Returns true if the given object is an instance of TeamMembers. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj) { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === TeamMembers.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["members"] = state ? state.members : undefined; resourceInputs["teamId"] = state ? state.teamId : undefined; } else { const args = argsOrState; if ((!args || args.members === undefined) && !opts.urn) { throw new Error("Missing required property 'members'"); } if ((!args || args.teamId === undefined) && !opts.urn) { throw new Error("Missing required property 'teamId'"); } resourceInputs["members"] = args ? args.members : undefined; resourceInputs["teamId"] = args ? args.teamId : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(TeamMembers.__pulumiType, name, resourceInputs, opts); } } exports.TeamMembers = TeamMembers; /** @internal */ TeamMembers.__pulumiType = 'github:index/teamMembers:TeamMembers'; //# sourceMappingURL=teamMembers.js.map