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

com.pulumi.gitlab.inputs.ProjectIssueState Maven / Gradle / Ivy

There is a newer version: 8.7.0-alpha.1732772606
Show newest version
// *** 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.gitlab.inputs;

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


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

    public static final ProjectIssueState Empty = new ProjectIssueState();

    /**
     * The IDs of the users to assign the issue to.
     * 
     */
    @Import(name="assigneeIds")
    private @Nullable Output> assigneeIds;

    /**
     * @return The IDs of the users to assign the issue to.
     * 
     */
    public Optional>> assigneeIds() {
        return Optional.ofNullable(this.assigneeIds);
    }

    /**
     * The ID of the author of the issue. Use `gitlab.User` data source to get more information about the user.
     * 
     */
    @Import(name="authorId")
    private @Nullable Output authorId;

    /**
     * @return The ID of the author of the issue. Use `gitlab.User` data source to get more information about the user.
     * 
     */
    public Optional> authorId() {
        return Optional.ofNullable(this.authorId);
    }

    /**
     * When the issue was closed. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z.
     * 
     */
    @Import(name="closedAt")
    private @Nullable Output closedAt;

    /**
     * @return When the issue was closed. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z.
     * 
     */
    public Optional> closedAt() {
        return Optional.ofNullable(this.closedAt);
    }

    /**
     * The ID of the user that closed the issue. Use `gitlab.User` data source to get more information about the user.
     * 
     */
    @Import(name="closedByUserId")
    private @Nullable Output closedByUserId;

    /**
     * @return The ID of the user that closed the issue. Use `gitlab.User` data source to get more information about the user.
     * 
     */
    public Optional> closedByUserId() {
        return Optional.ofNullable(this.closedByUserId);
    }

    /**
     * Set an issue to be confidential.
     * 
     */
    @Import(name="confidential")
    private @Nullable Output confidential;

    /**
     * @return Set an issue to be confidential.
     * 
     */
    public Optional> confidential() {
        return Optional.ofNullable(this.confidential);
    }

    /**
     * When the issue was created. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. Requires administrator or project/group owner rights.
     * 
     */
    @Import(name="createdAt")
    private @Nullable Output createdAt;

    /**
     * @return When the issue was created. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. Requires administrator or project/group owner rights.
     * 
     */
    public Optional> createdAt() {
        return Optional.ofNullable(this.createdAt);
    }

    /**
     * Whether the issue is deleted instead of closed during destroy.
     * 
     */
    @Import(name="deleteOnDestroy")
    private @Nullable Output deleteOnDestroy;

    /**
     * @return Whether the issue is deleted instead of closed during destroy.
     * 
     */
    public Optional> deleteOnDestroy() {
        return Optional.ofNullable(this.deleteOnDestroy);
    }

    /**
     * The description of an issue. Limited to 1,048,576 characters.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description of an issue. Limited to 1,048,576 characters.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Whether the issue is locked for discussions or not.
     * 
     */
    @Import(name="discussionLocked")
    private @Nullable Output discussionLocked;

    /**
     * @return Whether the issue is locked for discussions or not.
     * 
     */
    public Optional> discussionLocked() {
        return Optional.ofNullable(this.discussionLocked);
    }

    /**
     * The ID of a discussion to resolve. This fills out the issue with a default description and mark the discussion as resolved. Use in combination with merge*request*to*resolve*discussions_of.
     * 
     */
    @Import(name="discussionToResolve")
    private @Nullable Output discussionToResolve;

    /**
     * @return The ID of a discussion to resolve. This fills out the issue with a default description and mark the discussion as resolved. Use in combination with merge*request*to*resolve*discussions_of.
     * 
     */
    public Optional> discussionToResolve() {
        return Optional.ofNullable(this.discussionToResolve);
    }

    /**
     * The number of downvotes the issue has received.
     * 
     */
    @Import(name="downvotes")
    private @Nullable Output downvotes;

    /**
     * @return The number of downvotes the issue has received.
     * 
     */
    public Optional> downvotes() {
        return Optional.ofNullable(this.downvotes);
    }

    /**
     * The due date. Date time string in the format YYYY-MM-DD, for example 2016-03-11.
     * 
     */
    @Import(name="dueDate")
    private @Nullable Output dueDate;

    /**
     * @return The due date. Date time string in the format YYYY-MM-DD, for example 2016-03-11.
     * 
     */
    public Optional> dueDate() {
        return Optional.ofNullable(this.dueDate);
    }

    /**
     * ID of the epic to add the issue to. Valid values are greater than or equal to 0.
     * 
     */
    @Import(name="epicId")
    private @Nullable Output epicId;

    /**
     * @return ID of the epic to add the issue to. Valid values are greater than or equal to 0.
     * 
     */
    public Optional> epicId() {
        return Optional.ofNullable(this.epicId);
    }

    /**
     * The ID of the epic issue.
     * 
     */
    @Import(name="epicIssueId")
    private @Nullable Output epicIssueId;

    /**
     * @return The ID of the epic issue.
     * 
     */
    public Optional> epicIssueId() {
        return Optional.ofNullable(this.epicIssueId);
    }

    /**
     * The external ID of the issue.
     * 
     */
    @Import(name="externalId")
    private @Nullable Output externalId;

    /**
     * @return The external ID of the issue.
     * 
     */
    public Optional> externalId() {
        return Optional.ofNullable(this.externalId);
    }

    /**
     * The human-readable time estimate of the issue.
     * 
     */
    @Import(name="humanTimeEstimate")
    private @Nullable Output humanTimeEstimate;

    /**
     * @return The human-readable time estimate of the issue.
     * 
     */
    public Optional> humanTimeEstimate() {
        return Optional.ofNullable(this.humanTimeEstimate);
    }

    /**
     * The human-readable total time spent of the issue.
     * 
     */
    @Import(name="humanTotalTimeSpent")
    private @Nullable Output humanTotalTimeSpent;

    /**
     * @return The human-readable total time spent of the issue.
     * 
     */
    public Optional> humanTotalTimeSpent() {
        return Optional.ofNullable(this.humanTotalTimeSpent);
    }

    /**
     * The internal ID of the project's issue.
     * 
     */
    @Import(name="iid")
    private @Nullable Output iid;

    /**
     * @return The internal ID of the project's issue.
     * 
     */
    public Optional> iid() {
        return Optional.ofNullable(this.iid);
    }

    /**
     * The instance-wide ID of the issue.
     * 
     */
    @Import(name="issueId")
    private @Nullable Output issueId;

    /**
     * @return The instance-wide ID of the issue.
     * 
     */
    public Optional> issueId() {
        return Optional.ofNullable(this.issueId);
    }

    /**
     * The ID of the issue link.
     * 
     */
    @Import(name="issueLinkId")
    private @Nullable Output issueLinkId;

    /**
     * @return The ID of the issue link.
     * 
     */
    public Optional> issueLinkId() {
        return Optional.ofNullable(this.issueLinkId);
    }

    /**
     * The type of issue. Valid values are: `issue`, `incident`, `test_case`.
     * 
     */
    @Import(name="issueType")
    private @Nullable Output issueType;

    /**
     * @return The type of issue. Valid values are: `issue`, `incident`, `test_case`.
     * 
     */
    public Optional> issueType() {
        return Optional.ofNullable(this.issueType);
    }

    /**
     * The labels of an issue.
     * 
     */
    @Import(name="labels")
    private @Nullable Output> labels;

    /**
     * @return The labels of an issue.
     * 
     */
    public Optional>> labels() {
        return Optional.ofNullable(this.labels);
    }

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

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

    /**
     * The IID of a merge request in which to resolve all issues. This fills out the issue with a default description and mark all discussions as resolved. When passing a description or title, these values take precedence over the default values.
     * 
     */
    @Import(name="mergeRequestToResolveDiscussionsOf")
    private @Nullable Output mergeRequestToResolveDiscussionsOf;

    /**
     * @return The IID of a merge request in which to resolve all issues. This fills out the issue with a default description and mark all discussions as resolved. When passing a description or title, these values take precedence over the default values.
     * 
     */
    public Optional> mergeRequestToResolveDiscussionsOf() {
        return Optional.ofNullable(this.mergeRequestToResolveDiscussionsOf);
    }

    /**
     * The number of merge requests associated with the issue.
     * 
     */
    @Import(name="mergeRequestsCount")
    private @Nullable Output mergeRequestsCount;

    /**
     * @return The number of merge requests associated with the issue.
     * 
     */
    public Optional> mergeRequestsCount() {
        return Optional.ofNullable(this.mergeRequestsCount);
    }

    /**
     * The global ID of a milestone to assign issue. To find the milestone_id associated with a milestone, view an issue with the milestone assigned and use the API to retrieve the issue's details.
     * 
     */
    @Import(name="milestoneId")
    private @Nullable Output milestoneId;

    /**
     * @return The global ID of a milestone to assign issue. To find the milestone_id associated with a milestone, view an issue with the milestone assigned and use the API to retrieve the issue's details.
     * 
     */
    public Optional> milestoneId() {
        return Optional.ofNullable(this.milestoneId);
    }

    /**
     * The ID of the issue that was moved to.
     * 
     */
    @Import(name="movedToId")
    private @Nullable Output movedToId;

    /**
     * @return The ID of the issue that was moved to.
     * 
     */
    public Optional> movedToId() {
        return Optional.ofNullable(this.movedToId);
    }

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

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

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

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

    /**
     * The state of the issue. Valid values are: `opened`, `closed`.
     * 
     */
    @Import(name="state")
    private @Nullable Output state;

    /**
     * @return The state of the issue. Valid values are: `opened`, `closed`.
     * 
     */
    public Optional> state() {
        return Optional.ofNullable(this.state);
    }

    /**
     * Whether the authenticated user is subscribed to the issue or not.
     * 
     */
    @Import(name="subscribed")
    private @Nullable Output subscribed;

    /**
     * @return Whether the authenticated user is subscribed to the issue or not.
     * 
     */
    public Optional> subscribed() {
        return Optional.ofNullable(this.subscribed);
    }

    /**
     * The task completion status. It's always a one element list.
     * 
     */
    @Import(name="taskCompletionStatuses")
    private @Nullable Output> taskCompletionStatuses;

    /**
     * @return The task completion status. It's always a one element list.
     * 
     */
    public Optional>> taskCompletionStatuses() {
        return Optional.ofNullable(this.taskCompletionStatuses);
    }

    /**
     * The time estimate of the issue.
     * 
     */
    @Import(name="timeEstimate")
    private @Nullable Output timeEstimate;

    /**
     * @return The time estimate of the issue.
     * 
     */
    public Optional> timeEstimate() {
        return Optional.ofNullable(this.timeEstimate);
    }

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

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

    /**
     * The total time spent of the issue.
     * 
     */
    @Import(name="totalTimeSpent")
    private @Nullable Output totalTimeSpent;

    /**
     * @return The total time spent of the issue.
     * 
     */
    public Optional> totalTimeSpent() {
        return Optional.ofNullable(this.totalTimeSpent);
    }

    /**
     * When the issue was updated. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z.
     * 
     */
    @Import(name="updatedAt")
    private @Nullable Output updatedAt;

    /**
     * @return When the issue was updated. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z.
     * 
     */
    public Optional> updatedAt() {
        return Optional.ofNullable(this.updatedAt);
    }

    /**
     * The number of upvotes the issue has received.
     * 
     */
    @Import(name="upvotes")
    private @Nullable Output upvotes;

    /**
     * @return The number of upvotes the issue has received.
     * 
     */
    public Optional> upvotes() {
        return Optional.ofNullable(this.upvotes);
    }

    /**
     * The number of user notes on the issue.
     * 
     */
    @Import(name="userNotesCount")
    private @Nullable Output userNotesCount;

    /**
     * @return The number of user notes on the issue.
     * 
     */
    public Optional> userNotesCount() {
        return Optional.ofNullable(this.userNotesCount);
    }

    /**
     * The web URL of the issue.
     * 
     */
    @Import(name="webUrl")
    private @Nullable Output webUrl;

    /**
     * @return The web URL of the issue.
     * 
     */
    public Optional> webUrl() {
        return Optional.ofNullable(this.webUrl);
    }

    /**
     * The weight of the issue. Valid values are greater than or equal to 0.
     * 
     */
    @Import(name="weight")
    private @Nullable Output weight;

    /**
     * @return The weight of the issue. Valid values are greater than or equal to 0.
     * 
     */
    public Optional> weight() {
        return Optional.ofNullable(this.weight);
    }

    private ProjectIssueState() {}

    private ProjectIssueState(ProjectIssueState $) {
        this.assigneeIds = $.assigneeIds;
        this.authorId = $.authorId;
        this.closedAt = $.closedAt;
        this.closedByUserId = $.closedByUserId;
        this.confidential = $.confidential;
        this.createdAt = $.createdAt;
        this.deleteOnDestroy = $.deleteOnDestroy;
        this.description = $.description;
        this.discussionLocked = $.discussionLocked;
        this.discussionToResolve = $.discussionToResolve;
        this.downvotes = $.downvotes;
        this.dueDate = $.dueDate;
        this.epicId = $.epicId;
        this.epicIssueId = $.epicIssueId;
        this.externalId = $.externalId;
        this.humanTimeEstimate = $.humanTimeEstimate;
        this.humanTotalTimeSpent = $.humanTotalTimeSpent;
        this.iid = $.iid;
        this.issueId = $.issueId;
        this.issueLinkId = $.issueLinkId;
        this.issueType = $.issueType;
        this.labels = $.labels;
        this.links = $.links;
        this.mergeRequestToResolveDiscussionsOf = $.mergeRequestToResolveDiscussionsOf;
        this.mergeRequestsCount = $.mergeRequestsCount;
        this.milestoneId = $.milestoneId;
        this.movedToId = $.movedToId;
        this.project = $.project;
        this.references = $.references;
        this.state = $.state;
        this.subscribed = $.subscribed;
        this.taskCompletionStatuses = $.taskCompletionStatuses;
        this.timeEstimate = $.timeEstimate;
        this.title = $.title;
        this.totalTimeSpent = $.totalTimeSpent;
        this.updatedAt = $.updatedAt;
        this.upvotes = $.upvotes;
        this.userNotesCount = $.userNotesCount;
        this.webUrl = $.webUrl;
        this.weight = $.weight;
    }

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

    public static final class Builder {
        private ProjectIssueState $;

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

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

        /**
         * @param assigneeIds The IDs of the users to assign the issue to.
         * 
         * @return builder
         * 
         */
        public Builder assigneeIds(@Nullable Output> assigneeIds) {
            $.assigneeIds = assigneeIds;
            return this;
        }

        /**
         * @param assigneeIds The IDs of the users to assign the issue to.
         * 
         * @return builder
         * 
         */
        public Builder assigneeIds(List assigneeIds) {
            return assigneeIds(Output.of(assigneeIds));
        }

        /**
         * @param assigneeIds The IDs of the users to assign the issue to.
         * 
         * @return builder
         * 
         */
        public Builder assigneeIds(Integer... assigneeIds) {
            return assigneeIds(List.of(assigneeIds));
        }

        /**
         * @param authorId The ID of the author of the issue. Use `gitlab.User` data source to get more information about the user.
         * 
         * @return builder
         * 
         */
        public Builder authorId(@Nullable Output authorId) {
            $.authorId = authorId;
            return this;
        }

        /**
         * @param authorId The ID of the author of the issue. Use `gitlab.User` data source to get more information about the user.
         * 
         * @return builder
         * 
         */
        public Builder authorId(Integer authorId) {
            return authorId(Output.of(authorId));
        }

        /**
         * @param closedAt When the issue was closed. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z.
         * 
         * @return builder
         * 
         */
        public Builder closedAt(@Nullable Output closedAt) {
            $.closedAt = closedAt;
            return this;
        }

        /**
         * @param closedAt When the issue was closed. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z.
         * 
         * @return builder
         * 
         */
        public Builder closedAt(String closedAt) {
            return closedAt(Output.of(closedAt));
        }

        /**
         * @param closedByUserId The ID of the user that closed the issue. Use `gitlab.User` data source to get more information about the user.
         * 
         * @return builder
         * 
         */
        public Builder closedByUserId(@Nullable Output closedByUserId) {
            $.closedByUserId = closedByUserId;
            return this;
        }

        /**
         * @param closedByUserId The ID of the user that closed the issue. Use `gitlab.User` data source to get more information about the user.
         * 
         * @return builder
         * 
         */
        public Builder closedByUserId(Integer closedByUserId) {
            return closedByUserId(Output.of(closedByUserId));
        }

        /**
         * @param confidential Set an issue to be confidential.
         * 
         * @return builder
         * 
         */
        public Builder confidential(@Nullable Output confidential) {
            $.confidential = confidential;
            return this;
        }

        /**
         * @param confidential Set an issue to be confidential.
         * 
         * @return builder
         * 
         */
        public Builder confidential(Boolean confidential) {
            return confidential(Output.of(confidential));
        }

        /**
         * @param createdAt When the issue was created. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. Requires administrator or project/group owner rights.
         * 
         * @return builder
         * 
         */
        public Builder createdAt(@Nullable Output createdAt) {
            $.createdAt = createdAt;
            return this;
        }

        /**
         * @param createdAt When the issue was created. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. Requires administrator or project/group owner rights.
         * 
         * @return builder
         * 
         */
        public Builder createdAt(String createdAt) {
            return createdAt(Output.of(createdAt));
        }

        /**
         * @param deleteOnDestroy Whether the issue is deleted instead of closed during destroy.
         * 
         * @return builder
         * 
         */
        public Builder deleteOnDestroy(@Nullable Output deleteOnDestroy) {
            $.deleteOnDestroy = deleteOnDestroy;
            return this;
        }

        /**
         * @param deleteOnDestroy Whether the issue is deleted instead of closed during destroy.
         * 
         * @return builder
         * 
         */
        public Builder deleteOnDestroy(Boolean deleteOnDestroy) {
            return deleteOnDestroy(Output.of(deleteOnDestroy));
        }

        /**
         * @param description The description of an issue. Limited to 1,048,576 characters.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The description of an issue. Limited to 1,048,576 characters.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param discussionLocked Whether the issue is locked for discussions or not.
         * 
         * @return builder
         * 
         */
        public Builder discussionLocked(@Nullable Output discussionLocked) {
            $.discussionLocked = discussionLocked;
            return this;
        }

        /**
         * @param discussionLocked Whether the issue is locked for discussions or not.
         * 
         * @return builder
         * 
         */
        public Builder discussionLocked(Boolean discussionLocked) {
            return discussionLocked(Output.of(discussionLocked));
        }

        /**
         * @param discussionToResolve The ID of a discussion to resolve. This fills out the issue with a default description and mark the discussion as resolved. Use in combination with merge*request*to*resolve*discussions_of.
         * 
         * @return builder
         * 
         */
        public Builder discussionToResolve(@Nullable Output discussionToResolve) {
            $.discussionToResolve = discussionToResolve;
            return this;
        }

        /**
         * @param discussionToResolve The ID of a discussion to resolve. This fills out the issue with a default description and mark the discussion as resolved. Use in combination with merge*request*to*resolve*discussions_of.
         * 
         * @return builder
         * 
         */
        public Builder discussionToResolve(String discussionToResolve) {
            return discussionToResolve(Output.of(discussionToResolve));
        }

        /**
         * @param downvotes The number of downvotes the issue has received.
         * 
         * @return builder
         * 
         */
        public Builder downvotes(@Nullable Output downvotes) {
            $.downvotes = downvotes;
            return this;
        }

        /**
         * @param downvotes The number of downvotes the issue has received.
         * 
         * @return builder
         * 
         */
        public Builder downvotes(Integer downvotes) {
            return downvotes(Output.of(downvotes));
        }

        /**
         * @param dueDate The due date. Date time string in the format YYYY-MM-DD, for example 2016-03-11.
         * 
         * @return builder
         * 
         */
        public Builder dueDate(@Nullable Output dueDate) {
            $.dueDate = dueDate;
            return this;
        }

        /**
         * @param dueDate The due date. Date time string in the format YYYY-MM-DD, for example 2016-03-11.
         * 
         * @return builder
         * 
         */
        public Builder dueDate(String dueDate) {
            return dueDate(Output.of(dueDate));
        }

        /**
         * @param epicId ID of the epic to add the issue to. Valid values are greater than or equal to 0.
         * 
         * @return builder
         * 
         */
        public Builder epicId(@Nullable Output epicId) {
            $.epicId = epicId;
            return this;
        }

        /**
         * @param epicId ID of the epic to add the issue to. Valid values are greater than or equal to 0.
         * 
         * @return builder
         * 
         */
        public Builder epicId(Integer epicId) {
            return epicId(Output.of(epicId));
        }

        /**
         * @param epicIssueId The ID of the epic issue.
         * 
         * @return builder
         * 
         */
        public Builder epicIssueId(@Nullable Output epicIssueId) {
            $.epicIssueId = epicIssueId;
            return this;
        }

        /**
         * @param epicIssueId The ID of the epic issue.
         * 
         * @return builder
         * 
         */
        public Builder epicIssueId(Integer epicIssueId) {
            return epicIssueId(Output.of(epicIssueId));
        }

        /**
         * @param externalId The external ID of the issue.
         * 
         * @return builder
         * 
         */
        public Builder externalId(@Nullable Output externalId) {
            $.externalId = externalId;
            return this;
        }

        /**
         * @param externalId The external ID of the issue.
         * 
         * @return builder
         * 
         */
        public Builder externalId(String externalId) {
            return externalId(Output.of(externalId));
        }

        /**
         * @param humanTimeEstimate The human-readable time estimate of the issue.
         * 
         * @return builder
         * 
         */
        public Builder humanTimeEstimate(@Nullable Output humanTimeEstimate) {
            $.humanTimeEstimate = humanTimeEstimate;
            return this;
        }

        /**
         * @param humanTimeEstimate The human-readable time estimate of the issue.
         * 
         * @return builder
         * 
         */
        public Builder humanTimeEstimate(String humanTimeEstimate) {
            return humanTimeEstimate(Output.of(humanTimeEstimate));
        }

        /**
         * @param humanTotalTimeSpent The human-readable total time spent of the issue.
         * 
         * @return builder
         * 
         */
        public Builder humanTotalTimeSpent(@Nullable Output humanTotalTimeSpent) {
            $.humanTotalTimeSpent = humanTotalTimeSpent;
            return this;
        }

        /**
         * @param humanTotalTimeSpent The human-readable total time spent of the issue.
         * 
         * @return builder
         * 
         */
        public Builder humanTotalTimeSpent(String humanTotalTimeSpent) {
            return humanTotalTimeSpent(Output.of(humanTotalTimeSpent));
        }

        /**
         * @param iid The internal ID of the project's issue.
         * 
         * @return builder
         * 
         */
        public Builder iid(@Nullable Output iid) {
            $.iid = iid;
            return this;
        }

        /**
         * @param iid The internal ID of the project's issue.
         * 
         * @return builder
         * 
         */
        public Builder iid(Integer iid) {
            return iid(Output.of(iid));
        }

        /**
         * @param issueId The instance-wide ID of the issue.
         * 
         * @return builder
         * 
         */
        public Builder issueId(@Nullable Output issueId) {
            $.issueId = issueId;
            return this;
        }

        /**
         * @param issueId The instance-wide ID of the issue.
         * 
         * @return builder
         * 
         */
        public Builder issueId(Integer issueId) {
            return issueId(Output.of(issueId));
        }

        /**
         * @param issueLinkId The ID of the issue link.
         * 
         * @return builder
         * 
         */
        public Builder issueLinkId(@Nullable Output issueLinkId) {
            $.issueLinkId = issueLinkId;
            return this;
        }

        /**
         * @param issueLinkId The ID of the issue link.
         * 
         * @return builder
         * 
         */
        public Builder issueLinkId(Integer issueLinkId) {
            return issueLinkId(Output.of(issueLinkId));
        }

        /**
         * @param issueType The type of issue. Valid values are: `issue`, `incident`, `test_case`.
         * 
         * @return builder
         * 
         */
        public Builder issueType(@Nullable Output issueType) {
            $.issueType = issueType;
            return this;
        }

        /**
         * @param issueType The type of issue. Valid values are: `issue`, `incident`, `test_case`.
         * 
         * @return builder
         * 
         */
        public Builder issueType(String issueType) {
            return issueType(Output.of(issueType));
        }

        /**
         * @param labels The labels of an issue.
         * 
         * @return builder
         * 
         */
        public Builder labels(@Nullable Output> labels) {
            $.labels = labels;
            return this;
        }

        /**
         * @param labels The labels of an issue.
         * 
         * @return builder
         * 
         */
        public Builder labels(List labels) {
            return labels(Output.of(labels));
        }

        /**
         * @param labels The labels of an issue.
         * 
         * @return builder
         * 
         */
        public Builder labels(String... labels) {
            return labels(List.of(labels));
        }

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

        /**
         * @param links The links of the issue.
         * 
         * @return builder
         * 
         */
        public Builder links(Map links) {
            return links(Output.of(links));
        }

        /**
         * @param mergeRequestToResolveDiscussionsOf The IID of a merge request in which to resolve all issues. This fills out the issue with a default description and mark all discussions as resolved. When passing a description or title, these values take precedence over the default values.
         * 
         * @return builder
         * 
         */
        public Builder mergeRequestToResolveDiscussionsOf(@Nullable Output mergeRequestToResolveDiscussionsOf) {
            $.mergeRequestToResolveDiscussionsOf = mergeRequestToResolveDiscussionsOf;
            return this;
        }

        /**
         * @param mergeRequestToResolveDiscussionsOf The IID of a merge request in which to resolve all issues. This fills out the issue with a default description and mark all discussions as resolved. When passing a description or title, these values take precedence over the default values.
         * 
         * @return builder
         * 
         */
        public Builder mergeRequestToResolveDiscussionsOf(Integer mergeRequestToResolveDiscussionsOf) {
            return mergeRequestToResolveDiscussionsOf(Output.of(mergeRequestToResolveDiscussionsOf));
        }

        /**
         * @param mergeRequestsCount The number of merge requests associated with the issue.
         * 
         * @return builder
         * 
         */
        public Builder mergeRequestsCount(@Nullable Output mergeRequestsCount) {
            $.mergeRequestsCount = mergeRequestsCount;
            return this;
        }

        /**
         * @param mergeRequestsCount The number of merge requests associated with the issue.
         * 
         * @return builder
         * 
         */
        public Builder mergeRequestsCount(Integer mergeRequestsCount) {
            return mergeRequestsCount(Output.of(mergeRequestsCount));
        }

        /**
         * @param milestoneId The global ID of a milestone to assign issue. To find the milestone_id associated with a milestone, view an issue with the milestone assigned and use the API to retrieve the issue's details.
         * 
         * @return builder
         * 
         */
        public Builder milestoneId(@Nullable Output milestoneId) {
            $.milestoneId = milestoneId;
            return this;
        }

        /**
         * @param milestoneId The global ID of a milestone to assign issue. To find the milestone_id associated with a milestone, view an issue with the milestone assigned and use the API to retrieve the issue's details.
         * 
         * @return builder
         * 
         */
        public Builder milestoneId(Integer milestoneId) {
            return milestoneId(Output.of(milestoneId));
        }

        /**
         * @param movedToId The ID of the issue that was moved to.
         * 
         * @return builder
         * 
         */
        public Builder movedToId(@Nullable Output movedToId) {
            $.movedToId = movedToId;
            return this;
        }

        /**
         * @param movedToId The ID of the issue that was moved to.
         * 
         * @return builder
         * 
         */
        public Builder movedToId(Integer movedToId) {
            return movedToId(Output.of(movedToId));
        }

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

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

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

        /**
         * @param references The references of the issue.
         * 
         * @return builder
         * 
         */
        public Builder references(Map references) {
            return references(Output.of(references));
        }

        /**
         * @param state The state of the issue. Valid values are: `opened`, `closed`.
         * 
         * @return builder
         * 
         */
        public Builder state(@Nullable Output state) {
            $.state = state;
            return this;
        }

        /**
         * @param state The state of the issue. Valid values are: `opened`, `closed`.
         * 
         * @return builder
         * 
         */
        public Builder state(String state) {
            return state(Output.of(state));
        }

        /**
         * @param subscribed Whether the authenticated user is subscribed to the issue or not.
         * 
         * @return builder
         * 
         */
        public Builder subscribed(@Nullable Output subscribed) {
            $.subscribed = subscribed;
            return this;
        }

        /**
         * @param subscribed Whether the authenticated user is subscribed to the issue or not.
         * 
         * @return builder
         * 
         */
        public Builder subscribed(Boolean subscribed) {
            return subscribed(Output.of(subscribed));
        }

        /**
         * @param taskCompletionStatuses The task completion status. It's always a one element list.
         * 
         * @return builder
         * 
         */
        public Builder taskCompletionStatuses(@Nullable Output> taskCompletionStatuses) {
            $.taskCompletionStatuses = taskCompletionStatuses;
            return this;
        }

        /**
         * @param taskCompletionStatuses The task completion status. It's always a one element list.
         * 
         * @return builder
         * 
         */
        public Builder taskCompletionStatuses(List taskCompletionStatuses) {
            return taskCompletionStatuses(Output.of(taskCompletionStatuses));
        }

        /**
         * @param taskCompletionStatuses The task completion status. It's always a one element list.
         * 
         * @return builder
         * 
         */
        public Builder taskCompletionStatuses(ProjectIssueTaskCompletionStatusArgs... taskCompletionStatuses) {
            return taskCompletionStatuses(List.of(taskCompletionStatuses));
        }

        /**
         * @param timeEstimate The time estimate of the issue.
         * 
         * @return builder
         * 
         */
        public Builder timeEstimate(@Nullable Output timeEstimate) {
            $.timeEstimate = timeEstimate;
            return this;
        }

        /**
         * @param timeEstimate The time estimate of the issue.
         * 
         * @return builder
         * 
         */
        public Builder timeEstimate(Integer timeEstimate) {
            return timeEstimate(Output.of(timeEstimate));
        }

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

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

        /**
         * @param totalTimeSpent The total time spent of the issue.
         * 
         * @return builder
         * 
         */
        public Builder totalTimeSpent(@Nullable Output totalTimeSpent) {
            $.totalTimeSpent = totalTimeSpent;
            return this;
        }

        /**
         * @param totalTimeSpent The total time spent of the issue.
         * 
         * @return builder
         * 
         */
        public Builder totalTimeSpent(Integer totalTimeSpent) {
            return totalTimeSpent(Output.of(totalTimeSpent));
        }

        /**
         * @param updatedAt When the issue was updated. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z.
         * 
         * @return builder
         * 
         */
        public Builder updatedAt(@Nullable Output updatedAt) {
            $.updatedAt = updatedAt;
            return this;
        }

        /**
         * @param updatedAt When the issue was updated. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z.
         * 
         * @return builder
         * 
         */
        public Builder updatedAt(String updatedAt) {
            return updatedAt(Output.of(updatedAt));
        }

        /**
         * @param upvotes The number of upvotes the issue has received.
         * 
         * @return builder
         * 
         */
        public Builder upvotes(@Nullable Output upvotes) {
            $.upvotes = upvotes;
            return this;
        }

        /**
         * @param upvotes The number of upvotes the issue has received.
         * 
         * @return builder
         * 
         */
        public Builder upvotes(Integer upvotes) {
            return upvotes(Output.of(upvotes));
        }

        /**
         * @param userNotesCount The number of user notes on the issue.
         * 
         * @return builder
         * 
         */
        public Builder userNotesCount(@Nullable Output userNotesCount) {
            $.userNotesCount = userNotesCount;
            return this;
        }

        /**
         * @param userNotesCount The number of user notes on the issue.
         * 
         * @return builder
         * 
         */
        public Builder userNotesCount(Integer userNotesCount) {
            return userNotesCount(Output.of(userNotesCount));
        }

        /**
         * @param webUrl The web URL of the issue.
         * 
         * @return builder
         * 
         */
        public Builder webUrl(@Nullable Output webUrl) {
            $.webUrl = webUrl;
            return this;
        }

        /**
         * @param webUrl The web URL of the issue.
         * 
         * @return builder
         * 
         */
        public Builder webUrl(String webUrl) {
            return webUrl(Output.of(webUrl));
        }

        /**
         * @param weight The weight of the issue. Valid values are greater than or equal to 0.
         * 
         * @return builder
         * 
         */
        public Builder weight(@Nullable Output weight) {
            $.weight = weight;
            return this;
        }

        /**
         * @param weight The weight of the issue. Valid values are greater than or equal to 0.
         * 
         * @return builder
         * 
         */
        public Builder weight(Integer weight) {
            return weight(Output.of(weight));
        }

        public ProjectIssueState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy