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

com.pulumi.azurenative.machinelearningservices.inputs.LabelingJobArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.azurenative.machinelearningservices.inputs;

import com.pulumi.azurenative.machinelearningservices.inputs.AmlTokenArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.JobServiceArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.LabelCategoryArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.LabelingDataConfigurationArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.LabelingJobImagePropertiesArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.LabelingJobInstructionsArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.LabelingJobTextPropertiesArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.MLAssistConfigurationDisabledArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.MLAssistConfigurationEnabledArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.ManagedIdentityArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.NotificationSettingArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.SecretConfigurationArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.UserIdentityArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Object;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Labeling job definition
 * 
 */
public final class LabelingJobArgs extends com.pulumi.resources.ResourceArgs {

    public static final LabelingJobArgs Empty = new LabelingJobArgs();

    /**
     * ARM resource ID of the component resource.
     * 
     */
    @Import(name="componentId")
    private @Nullable Output componentId;

    /**
     * @return ARM resource ID of the component resource.
     * 
     */
    public Optional> componentId() {
        return Optional.ofNullable(this.componentId);
    }

    /**
     * ARM resource ID of the compute resource.
     * 
     */
    @Import(name="computeId")
    private @Nullable Output computeId;

    /**
     * @return ARM resource ID of the compute resource.
     * 
     */
    public Optional> computeId() {
        return Optional.ofNullable(this.computeId);
    }

    /**
     * Configuration of data used in the job.
     * 
     */
    @Import(name="dataConfiguration")
    private @Nullable Output dataConfiguration;

    /**
     * @return Configuration of data used in the job.
     * 
     */
    public Optional> dataConfiguration() {
        return Optional.ofNullable(this.dataConfiguration);
    }

    /**
     * The asset description text.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The asset description text.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Display name of job.
     * 
     */
    @Import(name="displayName")
    private @Nullable Output displayName;

    /**
     * @return Display name of job.
     * 
     */
    public Optional> displayName() {
        return Optional.ofNullable(this.displayName);
    }

    /**
     * The name of the experiment the job belongs to. If not set, the job is placed in the "Default" experiment.
     * 
     */
    @Import(name="experimentName")
    private @Nullable Output experimentName;

    /**
     * @return The name of the experiment the job belongs to. If not set, the job is placed in the "Default" experiment.
     * 
     */
    public Optional> experimentName() {
        return Optional.ofNullable(this.experimentName);
    }

    /**
     * Identity configuration. If set, this should be one of AmlToken, ManagedIdentity, UserIdentity or null.
     * Defaults to AmlToken if null.
     * 
     */
    @Import(name="identity")
    private @Nullable Output identity;

    /**
     * @return Identity configuration. If set, this should be one of AmlToken, ManagedIdentity, UserIdentity or null.
     * Defaults to AmlToken if null.
     * 
     */
    public Optional> identity() {
        return Optional.ofNullable(this.identity);
    }

    /**
     * Is the asset archived?
     * 
     */
    @Import(name="isArchived")
    private @Nullable Output isArchived;

    /**
     * @return Is the asset archived?
     * 
     */
    public Optional> isArchived() {
        return Optional.ofNullable(this.isArchived);
    }

    /**
     * Labeling instructions of the job.
     * 
     */
    @Import(name="jobInstructions")
    private @Nullable Output jobInstructions;

    /**
     * @return Labeling instructions of the job.
     * 
     */
    public Optional> jobInstructions() {
        return Optional.ofNullable(this.jobInstructions);
    }

    /**
     * Enum to determine the type of job.
     * Expected value is 'Labeling'.
     * 
     */
    @Import(name="jobType", required=true)
    private Output jobType;

    /**
     * @return Enum to determine the type of job.
     * Expected value is 'Labeling'.
     * 
     */
    public Output jobType() {
        return this.jobType;
    }

    /**
     * Label categories of the job.
     * 
     */
    @Import(name="labelCategories")
    private @Nullable Output> labelCategories;

    /**
     * @return Label categories of the job.
     * 
     */
    public Optional>> labelCategories() {
        return Optional.ofNullable(this.labelCategories);
    }

    /**
     * Media type specific properties in the job.
     * 
     */
    @Import(name="labelingJobMediaProperties")
    private @Nullable Output> labelingJobMediaProperties;

    /**
     * @return Media type specific properties in the job.
     * 
     */
    public Optional>> labelingJobMediaProperties() {
        return Optional.ofNullable(this.labelingJobMediaProperties);
    }

    /**
     * Configuration of MLAssist feature in the job.
     * 
     */
    @Import(name="mlAssistConfiguration")
    private @Nullable Output> mlAssistConfiguration;

    /**
     * @return Configuration of MLAssist feature in the job.
     * 
     */
    public Optional>> mlAssistConfiguration() {
        return Optional.ofNullable(this.mlAssistConfiguration);
    }

    /**
     * Notification setting for the job
     * 
     */
    @Import(name="notificationSetting")
    private @Nullable Output notificationSetting;

    /**
     * @return Notification setting for the job
     * 
     */
    public Optional> notificationSetting() {
        return Optional.ofNullable(this.notificationSetting);
    }

    /**
     * The asset property dictionary.
     * 
     */
    @Import(name="properties")
    private @Nullable Output> properties;

    /**
     * @return The asset property dictionary.
     * 
     */
    public Optional>> properties() {
        return Optional.ofNullable(this.properties);
    }

    /**
     * Configuration for secrets to be made available during runtime.
     * 
     */
    @Import(name="secretsConfiguration")
    private @Nullable Output> secretsConfiguration;

    /**
     * @return Configuration for secrets to be made available during runtime.
     * 
     */
    public Optional>> secretsConfiguration() {
        return Optional.ofNullable(this.secretsConfiguration);
    }

    /**
     * List of JobEndpoints.
     * For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
     * 
     */
    @Import(name="services")
    private @Nullable Output> services;

    /**
     * @return List of JobEndpoints.
     * For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
     * 
     */
    public Optional>> services() {
        return Optional.ofNullable(this.services);
    }

    /**
     * Tag dictionary. Tags can be added, removed, and updated.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Tag dictionary. Tags can be added, removed, and updated.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private LabelingJobArgs() {}

    private LabelingJobArgs(LabelingJobArgs $) {
        this.componentId = $.componentId;
        this.computeId = $.computeId;
        this.dataConfiguration = $.dataConfiguration;
        this.description = $.description;
        this.displayName = $.displayName;
        this.experimentName = $.experimentName;
        this.identity = $.identity;
        this.isArchived = $.isArchived;
        this.jobInstructions = $.jobInstructions;
        this.jobType = $.jobType;
        this.labelCategories = $.labelCategories;
        this.labelingJobMediaProperties = $.labelingJobMediaProperties;
        this.mlAssistConfiguration = $.mlAssistConfiguration;
        this.notificationSetting = $.notificationSetting;
        this.properties = $.properties;
        this.secretsConfiguration = $.secretsConfiguration;
        this.services = $.services;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private LabelingJobArgs $;

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

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

        /**
         * @param componentId ARM resource ID of the component resource.
         * 
         * @return builder
         * 
         */
        public Builder componentId(@Nullable Output componentId) {
            $.componentId = componentId;
            return this;
        }

        /**
         * @param componentId ARM resource ID of the component resource.
         * 
         * @return builder
         * 
         */
        public Builder componentId(String componentId) {
            return componentId(Output.of(componentId));
        }

        /**
         * @param computeId ARM resource ID of the compute resource.
         * 
         * @return builder
         * 
         */
        public Builder computeId(@Nullable Output computeId) {
            $.computeId = computeId;
            return this;
        }

        /**
         * @param computeId ARM resource ID of the compute resource.
         * 
         * @return builder
         * 
         */
        public Builder computeId(String computeId) {
            return computeId(Output.of(computeId));
        }

        /**
         * @param dataConfiguration Configuration of data used in the job.
         * 
         * @return builder
         * 
         */
        public Builder dataConfiguration(@Nullable Output dataConfiguration) {
            $.dataConfiguration = dataConfiguration;
            return this;
        }

        /**
         * @param dataConfiguration Configuration of data used in the job.
         * 
         * @return builder
         * 
         */
        public Builder dataConfiguration(LabelingDataConfigurationArgs dataConfiguration) {
            return dataConfiguration(Output.of(dataConfiguration));
        }

        /**
         * @param description The asset description text.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The asset description text.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param displayName Display name of job.
         * 
         * @return builder
         * 
         */
        public Builder displayName(@Nullable Output displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName Display name of job.
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param experimentName The name of the experiment the job belongs to. If not set, the job is placed in the "Default" experiment.
         * 
         * @return builder
         * 
         */
        public Builder experimentName(@Nullable Output experimentName) {
            $.experimentName = experimentName;
            return this;
        }

        /**
         * @param experimentName The name of the experiment the job belongs to. If not set, the job is placed in the "Default" experiment.
         * 
         * @return builder
         * 
         */
        public Builder experimentName(String experimentName) {
            return experimentName(Output.of(experimentName));
        }

        /**
         * @param identity Identity configuration. If set, this should be one of AmlToken, ManagedIdentity, UserIdentity or null.
         * Defaults to AmlToken if null.
         * 
         * @return builder
         * 
         */
        public Builder identity(@Nullable Output identity) {
            $.identity = identity;
            return this;
        }

        /**
         * @param identity Identity configuration. If set, this should be one of AmlToken, ManagedIdentity, UserIdentity or null.
         * Defaults to AmlToken if null.
         * 
         * @return builder
         * 
         */
        public Builder identity(Object identity) {
            return identity(Output.of(identity));
        }

        /**
         * @param isArchived Is the asset archived?
         * 
         * @return builder
         * 
         */
        public Builder isArchived(@Nullable Output isArchived) {
            $.isArchived = isArchived;
            return this;
        }

        /**
         * @param isArchived Is the asset archived?
         * 
         * @return builder
         * 
         */
        public Builder isArchived(Boolean isArchived) {
            return isArchived(Output.of(isArchived));
        }

        /**
         * @param jobInstructions Labeling instructions of the job.
         * 
         * @return builder
         * 
         */
        public Builder jobInstructions(@Nullable Output jobInstructions) {
            $.jobInstructions = jobInstructions;
            return this;
        }

        /**
         * @param jobInstructions Labeling instructions of the job.
         * 
         * @return builder
         * 
         */
        public Builder jobInstructions(LabelingJobInstructionsArgs jobInstructions) {
            return jobInstructions(Output.of(jobInstructions));
        }

        /**
         * @param jobType Enum to determine the type of job.
         * Expected value is 'Labeling'.
         * 
         * @return builder
         * 
         */
        public Builder jobType(Output jobType) {
            $.jobType = jobType;
            return this;
        }

        /**
         * @param jobType Enum to determine the type of job.
         * Expected value is 'Labeling'.
         * 
         * @return builder
         * 
         */
        public Builder jobType(String jobType) {
            return jobType(Output.of(jobType));
        }

        /**
         * @param labelCategories Label categories of the job.
         * 
         * @return builder
         * 
         */
        public Builder labelCategories(@Nullable Output> labelCategories) {
            $.labelCategories = labelCategories;
            return this;
        }

        /**
         * @param labelCategories Label categories of the job.
         * 
         * @return builder
         * 
         */
        public Builder labelCategories(Map labelCategories) {
            return labelCategories(Output.of(labelCategories));
        }

        /**
         * @param labelingJobMediaProperties Media type specific properties in the job.
         * 
         * @return builder
         * 
         */
        public Builder labelingJobMediaProperties(@Nullable Output> labelingJobMediaProperties) {
            $.labelingJobMediaProperties = labelingJobMediaProperties;
            return this;
        }

        /**
         * @param labelingJobMediaProperties Media type specific properties in the job.
         * 
         * @return builder
         * 
         */
        public Builder labelingJobMediaProperties(Either labelingJobMediaProperties) {
            return labelingJobMediaProperties(Output.of(labelingJobMediaProperties));
        }

        /**
         * @param labelingJobMediaProperties Media type specific properties in the job.
         * 
         * @return builder
         * 
         */
        public Builder labelingJobMediaProperties(LabelingJobImagePropertiesArgs labelingJobMediaProperties) {
            return labelingJobMediaProperties(Either.ofLeft(labelingJobMediaProperties));
        }

        /**
         * @param labelingJobMediaProperties Media type specific properties in the job.
         * 
         * @return builder
         * 
         */
        public Builder labelingJobMediaProperties(LabelingJobTextPropertiesArgs labelingJobMediaProperties) {
            return labelingJobMediaProperties(Either.ofRight(labelingJobMediaProperties));
        }

        /**
         * @param mlAssistConfiguration Configuration of MLAssist feature in the job.
         * 
         * @return builder
         * 
         */
        public Builder mlAssistConfiguration(@Nullable Output> mlAssistConfiguration) {
            $.mlAssistConfiguration = mlAssistConfiguration;
            return this;
        }

        /**
         * @param mlAssistConfiguration Configuration of MLAssist feature in the job.
         * 
         * @return builder
         * 
         */
        public Builder mlAssistConfiguration(Either mlAssistConfiguration) {
            return mlAssistConfiguration(Output.of(mlAssistConfiguration));
        }

        /**
         * @param mlAssistConfiguration Configuration of MLAssist feature in the job.
         * 
         * @return builder
         * 
         */
        public Builder mlAssistConfiguration(MLAssistConfigurationDisabledArgs mlAssistConfiguration) {
            return mlAssistConfiguration(Either.ofLeft(mlAssistConfiguration));
        }

        /**
         * @param mlAssistConfiguration Configuration of MLAssist feature in the job.
         * 
         * @return builder
         * 
         */
        public Builder mlAssistConfiguration(MLAssistConfigurationEnabledArgs mlAssistConfiguration) {
            return mlAssistConfiguration(Either.ofRight(mlAssistConfiguration));
        }

        /**
         * @param notificationSetting Notification setting for the job
         * 
         * @return builder
         * 
         */
        public Builder notificationSetting(@Nullable Output notificationSetting) {
            $.notificationSetting = notificationSetting;
            return this;
        }

        /**
         * @param notificationSetting Notification setting for the job
         * 
         * @return builder
         * 
         */
        public Builder notificationSetting(NotificationSettingArgs notificationSetting) {
            return notificationSetting(Output.of(notificationSetting));
        }

        /**
         * @param properties The asset property dictionary.
         * 
         * @return builder
         * 
         */
        public Builder properties(@Nullable Output> properties) {
            $.properties = properties;
            return this;
        }

        /**
         * @param properties The asset property dictionary.
         * 
         * @return builder
         * 
         */
        public Builder properties(Map properties) {
            return properties(Output.of(properties));
        }

        /**
         * @param secretsConfiguration Configuration for secrets to be made available during runtime.
         * 
         * @return builder
         * 
         */
        public Builder secretsConfiguration(@Nullable Output> secretsConfiguration) {
            $.secretsConfiguration = secretsConfiguration;
            return this;
        }

        /**
         * @param secretsConfiguration Configuration for secrets to be made available during runtime.
         * 
         * @return builder
         * 
         */
        public Builder secretsConfiguration(Map secretsConfiguration) {
            return secretsConfiguration(Output.of(secretsConfiguration));
        }

        /**
         * @param services List of JobEndpoints.
         * For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
         * 
         * @return builder
         * 
         */
        public Builder services(@Nullable Output> services) {
            $.services = services;
            return this;
        }

        /**
         * @param services List of JobEndpoints.
         * For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
         * 
         * @return builder
         * 
         */
        public Builder services(Map services) {
            return services(Output.of(services));
        }

        /**
         * @param tags Tag dictionary. Tags can be added, removed, and updated.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Tag dictionary. Tags can be added, removed, and updated.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public LabelingJobArgs build() {
            $.experimentName = Codegen.stringProp("experimentName").output().arg($.experimentName).def("Default").getNullable();
            $.isArchived = Codegen.booleanProp("isArchived").output().arg($.isArchived).def(false).getNullable();
            $.jobType = Codegen.stringProp("jobType").output().arg($.jobType).require();
            return $;
        }
    }

}