All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.github.inputs.TeamState Maven / Gradle / Ivy

// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.github.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class TeamState extends com.pulumi.resources.ResourceArgs {

    public static final TeamState Empty = new TeamState();

    /**
     * Adds a default maintainer to the team. Defaults to `false` and adds the creating user to the team when `true`.
     * 
     */
    @Import(name="createDefaultMaintainer")
    private @Nullable Output createDefaultMaintainer;

    /**
     * @return Adds a default maintainer to the team. Defaults to `false` and adds the creating user to the team when `true`.
     * 
     */
    public Optional> createDefaultMaintainer() {
        return Optional.ofNullable(this.createDefaultMaintainer);
    }

    /**
     * A description of the team.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return A description of the team.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    @Import(name="etag")
    private @Nullable Output etag;

    public Optional> etag() {
        return Optional.ofNullable(this.etag);
    }

    /**
     * The LDAP Distinguished Name of the group where membership will be synchronized. Only available in GitHub Enterprise Server.
     * 
     */
    @Import(name="ldapDn")
    private @Nullable Output ldapDn;

    /**
     * @return The LDAP Distinguished Name of the group where membership will be synchronized. Only available in GitHub Enterprise Server.
     * 
     */
    public Optional> ldapDn() {
        return Optional.ofNullable(this.ldapDn);
    }

    @Import(name="membersCount")
    private @Nullable Output membersCount;

    public Optional> membersCount() {
        return Optional.ofNullable(this.membersCount);
    }

    /**
     * The name of the team.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the team.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The Node ID of the created team.
     * 
     */
    @Import(name="nodeId")
    private @Nullable Output nodeId;

    /**
     * @return The Node ID of the created team.
     * 
     */
    public Optional> nodeId() {
        return Optional.ofNullable(this.nodeId);
    }

    /**
     * The ID or slug of the parent team, if this is a nested team.
     * 
     */
    @Import(name="parentTeamId")
    private @Nullable Output parentTeamId;

    /**
     * @return The ID or slug of the parent team, if this is a nested team.
     * 
     */
    public Optional> parentTeamId() {
        return Optional.ofNullable(this.parentTeamId);
    }

    /**
     * The level of privacy for the team. Must be one of `secret` or `closed`.
     * Defaults to `secret`.
     * 
     */
    @Import(name="privacy")
    private @Nullable Output privacy;

    /**
     * @return The level of privacy for the team. Must be one of `secret` or `closed`.
     * Defaults to `secret`.
     * 
     */
    public Optional> privacy() {
        return Optional.ofNullable(this.privacy);
    }

    /**
     * The slug of the created team, which may or may not differ from `name`,
     * depending on whether `name` contains "URL-unsafe" characters.
     * Useful when referencing the team in [`github.BranchProtection`](https://www.terraform.io/docs/providers/github/r/branch_protection.html).
     * 
     */
    @Import(name="slug")
    private @Nullable Output slug;

    /**
     * @return The slug of the created team, which may or may not differ from `name`,
     * depending on whether `name` contains "URL-unsafe" characters.
     * Useful when referencing the team in [`github.BranchProtection`](https://www.terraform.io/docs/providers/github/r/branch_protection.html).
     * 
     */
    public Optional> slug() {
        return Optional.ofNullable(this.slug);
    }

    private TeamState() {}

    private TeamState(TeamState $) {
        this.createDefaultMaintainer = $.createDefaultMaintainer;
        this.description = $.description;
        this.etag = $.etag;
        this.ldapDn = $.ldapDn;
        this.membersCount = $.membersCount;
        this.name = $.name;
        this.nodeId = $.nodeId;
        this.parentTeamId = $.parentTeamId;
        this.privacy = $.privacy;
        this.slug = $.slug;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(TeamState defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private TeamState $;

        public Builder() {
            $ = new TeamState();
        }

        public Builder(TeamState defaults) {
            $ = new TeamState(Objects.requireNonNull(defaults));
        }

        /**
         * @param createDefaultMaintainer Adds a default maintainer to the team. Defaults to `false` and adds the creating user to the team when `true`.
         * 
         * @return builder
         * 
         */
        public Builder createDefaultMaintainer(@Nullable Output createDefaultMaintainer) {
            $.createDefaultMaintainer = createDefaultMaintainer;
            return this;
        }

        /**
         * @param createDefaultMaintainer Adds a default maintainer to the team. Defaults to `false` and adds the creating user to the team when `true`.
         * 
         * @return builder
         * 
         */
        public Builder createDefaultMaintainer(Boolean createDefaultMaintainer) {
            return createDefaultMaintainer(Output.of(createDefaultMaintainer));
        }

        /**
         * @param description A description of the team.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description A description of the team.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        public Builder etag(@Nullable Output etag) {
            $.etag = etag;
            return this;
        }

        public Builder etag(String etag) {
            return etag(Output.of(etag));
        }

        /**
         * @param ldapDn The LDAP Distinguished Name of the group where membership will be synchronized. Only available in GitHub Enterprise Server.
         * 
         * @return builder
         * 
         */
        public Builder ldapDn(@Nullable Output ldapDn) {
            $.ldapDn = ldapDn;
            return this;
        }

        /**
         * @param ldapDn The LDAP Distinguished Name of the group where membership will be synchronized. Only available in GitHub Enterprise Server.
         * 
         * @return builder
         * 
         */
        public Builder ldapDn(String ldapDn) {
            return ldapDn(Output.of(ldapDn));
        }

        public Builder membersCount(@Nullable Output membersCount) {
            $.membersCount = membersCount;
            return this;
        }

        public Builder membersCount(Integer membersCount) {
            return membersCount(Output.of(membersCount));
        }

        /**
         * @param name The name of the team.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the team.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param nodeId The Node ID of the created team.
         * 
         * @return builder
         * 
         */
        public Builder nodeId(@Nullable Output nodeId) {
            $.nodeId = nodeId;
            return this;
        }

        /**
         * @param nodeId The Node ID of the created team.
         * 
         * @return builder
         * 
         */
        public Builder nodeId(String nodeId) {
            return nodeId(Output.of(nodeId));
        }

        /**
         * @param parentTeamId The ID or slug of the parent team, if this is a nested team.
         * 
         * @return builder
         * 
         */
        public Builder parentTeamId(@Nullable Output parentTeamId) {
            $.parentTeamId = parentTeamId;
            return this;
        }

        /**
         * @param parentTeamId The ID or slug of the parent team, if this is a nested team.
         * 
         * @return builder
         * 
         */
        public Builder parentTeamId(String parentTeamId) {
            return parentTeamId(Output.of(parentTeamId));
        }

        /**
         * @param privacy The level of privacy for the team. Must be one of `secret` or `closed`.
         * Defaults to `secret`.
         * 
         * @return builder
         * 
         */
        public Builder privacy(@Nullable Output privacy) {
            $.privacy = privacy;
            return this;
        }

        /**
         * @param privacy The level of privacy for the team. Must be one of `secret` or `closed`.
         * Defaults to `secret`.
         * 
         * @return builder
         * 
         */
        public Builder privacy(String privacy) {
            return privacy(Output.of(privacy));
        }

        /**
         * @param slug The slug of the created team, which may or may not differ from `name`,
         * depending on whether `name` contains "URL-unsafe" characters.
         * Useful when referencing the team in [`github.BranchProtection`](https://www.terraform.io/docs/providers/github/r/branch_protection.html).
         * 
         * @return builder
         * 
         */
        public Builder slug(@Nullable Output slug) {
            $.slug = slug;
            return this;
        }

        /**
         * @param slug The slug of the created team, which may or may not differ from `name`,
         * depending on whether `name` contains "URL-unsafe" characters.
         * Useful when referencing the team in [`github.BranchProtection`](https://www.terraform.io/docs/providers/github/r/branch_protection.html).
         * 
         * @return builder
         * 
         */
        public Builder slug(String slug) {
            return slug(Output.of(slug));
        }

        public TeamState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy