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

com.pulumi.github.ProjectCardArgs Maven / Gradle / Ivy

There is a newer version: 6.3.0
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.github;

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


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

    public static final ProjectCardArgs Empty = new ProjectCardArgs();

    /**
     * The ID of the card.
     * 
     */
    @Import(name="columnId", required=true)
    private Output columnId;

    /**
     * @return The ID of the card.
     * 
     */
    public Output columnId() {
        return this.columnId;
    }

    /**
     * `github_issue.issue_id`.
     * 
     */
    @Import(name="contentId")
    private @Nullable Output contentId;

    /**
     * @return `github_issue.issue_id`.
     * 
     */
    public Optional> contentId() {
        return Optional.ofNullable(this.contentId);
    }

    /**
     * Must be either `Issue` or `PullRequest`
     * 
     * **Remarks:** You must either set the `note` attribute or both `content_id` and `content_type`.
     * See note example or issue example for more information.
     * 
     */
    @Import(name="contentType")
    private @Nullable Output contentType;

    /**
     * @return Must be either `Issue` or `PullRequest`
     * 
     * **Remarks:** You must either set the `note` attribute or both `content_id` and `content_type`.
     * See note example or issue example for more information.
     * 
     */
    public Optional> contentType() {
        return Optional.ofNullable(this.contentType);
    }

    /**
     * The note contents of the card. Markdown supported.
     * 
     */
    @Import(name="note")
    private @Nullable Output note;

    /**
     * @return The note contents of the card. Markdown supported.
     * 
     */
    public Optional> note() {
        return Optional.ofNullable(this.note);
    }

    private ProjectCardArgs() {}

    private ProjectCardArgs(ProjectCardArgs $) {
        this.columnId = $.columnId;
        this.contentId = $.contentId;
        this.contentType = $.contentType;
        this.note = $.note;
    }

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

    public static final class Builder {
        private ProjectCardArgs $;

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

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

        /**
         * @param columnId The ID of the card.
         * 
         * @return builder
         * 
         */
        public Builder columnId(Output columnId) {
            $.columnId = columnId;
            return this;
        }

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

        /**
         * @param contentId `github_issue.issue_id`.
         * 
         * @return builder
         * 
         */
        public Builder contentId(@Nullable Output contentId) {
            $.contentId = contentId;
            return this;
        }

        /**
         * @param contentId `github_issue.issue_id`.
         * 
         * @return builder
         * 
         */
        public Builder contentId(Integer contentId) {
            return contentId(Output.of(contentId));
        }

        /**
         * @param contentType Must be either `Issue` or `PullRequest`
         * 
         * **Remarks:** You must either set the `note` attribute or both `content_id` and `content_type`.
         * See note example or issue example for more information.
         * 
         * @return builder
         * 
         */
        public Builder contentType(@Nullable Output contentType) {
            $.contentType = contentType;
            return this;
        }

        /**
         * @param contentType Must be either `Issue` or `PullRequest`
         * 
         * **Remarks:** You must either set the `note` attribute or both `content_id` and `content_type`.
         * See note example or issue example for more information.
         * 
         * @return builder
         * 
         */
        public Builder contentType(String contentType) {
            return contentType(Output.of(contentType));
        }

        /**
         * @param note The note contents of the card. Markdown supported.
         * 
         * @return builder
         * 
         */
        public Builder note(@Nullable Output note) {
            $.note = note;
            return this;
        }

        /**
         * @param note The note contents of the card. Markdown supported.
         * 
         * @return builder
         * 
         */
        public Builder note(String note) {
            return note(Output.of(note));
        }

        public ProjectCardArgs build() {
            if ($.columnId == null) {
                throw new MissingRequiredPropertyException("ProjectCardArgs", "columnId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy