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

com.pulumi.googlenative.datalabeling.v1beta1.inputs.GoogleCloudDatalabelingV1beta1HumanAnnotationConfigArgs 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.googlenative.datalabeling.v1beta1.inputs;

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


/**
 * Configuration for how human labeling task should be done.
 * 
 */
public final class GoogleCloudDatalabelingV1beta1HumanAnnotationConfigArgs extends com.pulumi.resources.ResourceArgs {

    public static final GoogleCloudDatalabelingV1beta1HumanAnnotationConfigArgs Empty = new GoogleCloudDatalabelingV1beta1HumanAnnotationConfigArgs();

    /**
     * Optional. A human-readable description for AnnotatedDataset. The description can be up to 10000 characters long.
     * 
     */
    @Import(name="annotatedDatasetDescription")
    private @Nullable Output annotatedDatasetDescription;

    /**
     * @return Optional. A human-readable description for AnnotatedDataset. The description can be up to 10000 characters long.
     * 
     */
    public Optional> annotatedDatasetDescription() {
        return Optional.ofNullable(this.annotatedDatasetDescription);
    }

    /**
     * A human-readable name for AnnotatedDataset defined by users. Maximum of 64 characters .
     * 
     */
    @Import(name="annotatedDatasetDisplayName", required=true)
    private Output annotatedDatasetDisplayName;

    /**
     * @return A human-readable name for AnnotatedDataset defined by users. Maximum of 64 characters .
     * 
     */
    public Output annotatedDatasetDisplayName() {
        return this.annotatedDatasetDisplayName;
    }

    /**
     * Optional. If you want your own labeling contributors to manage and work on this labeling request, you can set these contributors here. We will give them access to the question types in crowdcompute. Note that these emails must be registered in crowdcompute worker UI: https://crowd-compute.appspot.com/
     * 
     */
    @Import(name="contributorEmails")
    private @Nullable Output> contributorEmails;

    /**
     * @return Optional. If you want your own labeling contributors to manage and work on this labeling request, you can set these contributors here. We will give them access to the question types in crowdcompute. Note that these emails must be registered in crowdcompute worker UI: https://crowd-compute.appspot.com/
     * 
     */
    public Optional>> contributorEmails() {
        return Optional.ofNullable(this.contributorEmails);
    }

    /**
     * Instruction resource name.
     * 
     */
    @Import(name="instruction", required=true)
    private Output instruction;

    /**
     * @return Instruction resource name.
     * 
     */
    public Output instruction() {
        return this.instruction;
    }

    /**
     * Optional. A human-readable label used to logically group labeling tasks. This string must match the regular expression `[a-zA-Z\\d_-]{0,128}`.
     * 
     */
    @Import(name="labelGroup")
    private @Nullable Output labelGroup;

    /**
     * @return Optional. A human-readable label used to logically group labeling tasks. This string must match the regular expression `[a-zA-Z\\d_-]{0,128}`.
     * 
     */
    public Optional> labelGroup() {
        return Optional.ofNullable(this.labelGroup);
    }

    /**
     * Optional. The Language of this question, as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Default value is en-US. Only need to set this when task is language related. For example, French text classification.
     * 
     */
    @Import(name="languageCode")
    private @Nullable Output languageCode;

    /**
     * @return Optional. The Language of this question, as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Default value is en-US. Only need to set this when task is language related. For example, French text classification.
     * 
     */
    public Optional> languageCode() {
        return Optional.ofNullable(this.languageCode);
    }

    /**
     * Optional. Maximum duration for contributors to answer a question. Maximum is 3600 seconds. Default is 3600 seconds.
     * 
     */
    @Import(name="questionDuration")
    private @Nullable Output questionDuration;

    /**
     * @return Optional. Maximum duration for contributors to answer a question. Maximum is 3600 seconds. Default is 3600 seconds.
     * 
     */
    public Optional> questionDuration() {
        return Optional.ofNullable(this.questionDuration);
    }

    /**
     * Optional. Replication of questions. Each question will be sent to up to this number of contributors to label. Aggregated answers will be returned. Default is set to 1. For image related labeling, valid values are 1, 3, 5.
     * 
     */
    @Import(name="replicaCount")
    private @Nullable Output replicaCount;

    /**
     * @return Optional. Replication of questions. Each question will be sent to up to this number of contributors to label. Aggregated answers will be returned. Default is set to 1. For image related labeling, valid values are 1, 3, 5.
     * 
     */
    public Optional> replicaCount() {
        return Optional.ofNullable(this.replicaCount);
    }

    /**
     * Email of the user who started the labeling task and should be notified by email. If empty no notification will be sent.
     * 
     */
    @Import(name="userEmailAddress")
    private @Nullable Output userEmailAddress;

    /**
     * @return Email of the user who started the labeling task and should be notified by email. If empty no notification will be sent.
     * 
     */
    public Optional> userEmailAddress() {
        return Optional.ofNullable(this.userEmailAddress);
    }

    private GoogleCloudDatalabelingV1beta1HumanAnnotationConfigArgs() {}

    private GoogleCloudDatalabelingV1beta1HumanAnnotationConfigArgs(GoogleCloudDatalabelingV1beta1HumanAnnotationConfigArgs $) {
        this.annotatedDatasetDescription = $.annotatedDatasetDescription;
        this.annotatedDatasetDisplayName = $.annotatedDatasetDisplayName;
        this.contributorEmails = $.contributorEmails;
        this.instruction = $.instruction;
        this.labelGroup = $.labelGroup;
        this.languageCode = $.languageCode;
        this.questionDuration = $.questionDuration;
        this.replicaCount = $.replicaCount;
        this.userEmailAddress = $.userEmailAddress;
    }

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

    public static final class Builder {
        private GoogleCloudDatalabelingV1beta1HumanAnnotationConfigArgs $;

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

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

        /**
         * @param annotatedDatasetDescription Optional. A human-readable description for AnnotatedDataset. The description can be up to 10000 characters long.
         * 
         * @return builder
         * 
         */
        public Builder annotatedDatasetDescription(@Nullable Output annotatedDatasetDescription) {
            $.annotatedDatasetDescription = annotatedDatasetDescription;
            return this;
        }

        /**
         * @param annotatedDatasetDescription Optional. A human-readable description for AnnotatedDataset. The description can be up to 10000 characters long.
         * 
         * @return builder
         * 
         */
        public Builder annotatedDatasetDescription(String annotatedDatasetDescription) {
            return annotatedDatasetDescription(Output.of(annotatedDatasetDescription));
        }

        /**
         * @param annotatedDatasetDisplayName A human-readable name for AnnotatedDataset defined by users. Maximum of 64 characters .
         * 
         * @return builder
         * 
         */
        public Builder annotatedDatasetDisplayName(Output annotatedDatasetDisplayName) {
            $.annotatedDatasetDisplayName = annotatedDatasetDisplayName;
            return this;
        }

        /**
         * @param annotatedDatasetDisplayName A human-readable name for AnnotatedDataset defined by users. Maximum of 64 characters .
         * 
         * @return builder
         * 
         */
        public Builder annotatedDatasetDisplayName(String annotatedDatasetDisplayName) {
            return annotatedDatasetDisplayName(Output.of(annotatedDatasetDisplayName));
        }

        /**
         * @param contributorEmails Optional. If you want your own labeling contributors to manage and work on this labeling request, you can set these contributors here. We will give them access to the question types in crowdcompute. Note that these emails must be registered in crowdcompute worker UI: https://crowd-compute.appspot.com/
         * 
         * @return builder
         * 
         */
        public Builder contributorEmails(@Nullable Output> contributorEmails) {
            $.contributorEmails = contributorEmails;
            return this;
        }

        /**
         * @param contributorEmails Optional. If you want your own labeling contributors to manage and work on this labeling request, you can set these contributors here. We will give them access to the question types in crowdcompute. Note that these emails must be registered in crowdcompute worker UI: https://crowd-compute.appspot.com/
         * 
         * @return builder
         * 
         */
        public Builder contributorEmails(List contributorEmails) {
            return contributorEmails(Output.of(contributorEmails));
        }

        /**
         * @param contributorEmails Optional. If you want your own labeling contributors to manage and work on this labeling request, you can set these contributors here. We will give them access to the question types in crowdcompute. Note that these emails must be registered in crowdcompute worker UI: https://crowd-compute.appspot.com/
         * 
         * @return builder
         * 
         */
        public Builder contributorEmails(String... contributorEmails) {
            return contributorEmails(List.of(contributorEmails));
        }

        /**
         * @param instruction Instruction resource name.
         * 
         * @return builder
         * 
         */
        public Builder instruction(Output instruction) {
            $.instruction = instruction;
            return this;
        }

        /**
         * @param instruction Instruction resource name.
         * 
         * @return builder
         * 
         */
        public Builder instruction(String instruction) {
            return instruction(Output.of(instruction));
        }

        /**
         * @param labelGroup Optional. A human-readable label used to logically group labeling tasks. This string must match the regular expression `[a-zA-Z\\d_-]{0,128}`.
         * 
         * @return builder
         * 
         */
        public Builder labelGroup(@Nullable Output labelGroup) {
            $.labelGroup = labelGroup;
            return this;
        }

        /**
         * @param labelGroup Optional. A human-readable label used to logically group labeling tasks. This string must match the regular expression `[a-zA-Z\\d_-]{0,128}`.
         * 
         * @return builder
         * 
         */
        public Builder labelGroup(String labelGroup) {
            return labelGroup(Output.of(labelGroup));
        }

        /**
         * @param languageCode Optional. The Language of this question, as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Default value is en-US. Only need to set this when task is language related. For example, French text classification.
         * 
         * @return builder
         * 
         */
        public Builder languageCode(@Nullable Output languageCode) {
            $.languageCode = languageCode;
            return this;
        }

        /**
         * @param languageCode Optional. The Language of this question, as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Default value is en-US. Only need to set this when task is language related. For example, French text classification.
         * 
         * @return builder
         * 
         */
        public Builder languageCode(String languageCode) {
            return languageCode(Output.of(languageCode));
        }

        /**
         * @param questionDuration Optional. Maximum duration for contributors to answer a question. Maximum is 3600 seconds. Default is 3600 seconds.
         * 
         * @return builder
         * 
         */
        public Builder questionDuration(@Nullable Output questionDuration) {
            $.questionDuration = questionDuration;
            return this;
        }

        /**
         * @param questionDuration Optional. Maximum duration for contributors to answer a question. Maximum is 3600 seconds. Default is 3600 seconds.
         * 
         * @return builder
         * 
         */
        public Builder questionDuration(String questionDuration) {
            return questionDuration(Output.of(questionDuration));
        }

        /**
         * @param replicaCount Optional. Replication of questions. Each question will be sent to up to this number of contributors to label. Aggregated answers will be returned. Default is set to 1. For image related labeling, valid values are 1, 3, 5.
         * 
         * @return builder
         * 
         */
        public Builder replicaCount(@Nullable Output replicaCount) {
            $.replicaCount = replicaCount;
            return this;
        }

        /**
         * @param replicaCount Optional. Replication of questions. Each question will be sent to up to this number of contributors to label. Aggregated answers will be returned. Default is set to 1. For image related labeling, valid values are 1, 3, 5.
         * 
         * @return builder
         * 
         */
        public Builder replicaCount(Integer replicaCount) {
            return replicaCount(Output.of(replicaCount));
        }

        /**
         * @param userEmailAddress Email of the user who started the labeling task and should be notified by email. If empty no notification will be sent.
         * 
         * @return builder
         * 
         */
        public Builder userEmailAddress(@Nullable Output userEmailAddress) {
            $.userEmailAddress = userEmailAddress;
            return this;
        }

        /**
         * @param userEmailAddress Email of the user who started the labeling task and should be notified by email. If empty no notification will be sent.
         * 
         * @return builder
         * 
         */
        public Builder userEmailAddress(String userEmailAddress) {
            return userEmailAddress(Output.of(userEmailAddress));
        }

        public GoogleCloudDatalabelingV1beta1HumanAnnotationConfigArgs build() {
            $.annotatedDatasetDisplayName = Objects.requireNonNull($.annotatedDatasetDisplayName, "expected parameter 'annotatedDatasetDisplayName' to be non-null");
            $.instruction = Objects.requireNonNull($.instruction, "expected parameter 'instruction' to be non-null");
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy