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

com.pulumi.azurenative.machinelearningservices.inputs.AutoMLJobArgs 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.ClassificationArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.CustomModelJobOutputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.ForecastingArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.ImageClassificationArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.ImageClassificationMultilabelArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.ImageInstanceSegmentationArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.ImageObjectDetectionArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.JobResourceConfigurationArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.JobServiceArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.MLFlowModelJobOutputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.MLTableJobOutputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.ManagedIdentityArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.RegressionArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.TextClassificationArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.TextClassificationMultilabelArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.TextNerArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.TritonModelJobOutputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.UriFileJobOutputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.UriFolderJobOutputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.UserIdentityArgs;
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;


/**
 * AutoMLJob class.
 * Use this class for executing AutoML tasks like Classification/Regression etc.
 * See TaskType enum for all the tasks supported.
 * 
 */
public final class AutoMLJobArgs extends com.pulumi.resources.ResourceArgs {

    public static final AutoMLJobArgs Empty = new AutoMLJobArgs();

    /**
     * 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);
    }

    /**
     * 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 ARM resource ID of the Environment specification for the job.
     * This is optional value to provide, if not provided, AutoML will default this to Production AutoML curated environment version when running the job.
     * 
     */
    @Import(name="environmentId")
    private @Nullable Output environmentId;

    /**
     * @return The ARM resource ID of the Environment specification for the job.
     * This is optional value to provide, if not provided, AutoML will default this to Production AutoML curated environment version when running the job.
     * 
     */
    public Optional> environmentId() {
        return Optional.ofNullable(this.environmentId);
    }

    /**
     * Environment variables included in the job.
     * 
     */
    @Import(name="environmentVariables")
    private @Nullable Output> environmentVariables;

    /**
     * @return Environment variables included in the job.
     * 
     */
    public Optional>> environmentVariables() {
        return Optional.ofNullable(this.environmentVariables);
    }

    /**
     * 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);
    }

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

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

    /**
     * Mapping of output data bindings used in the job.
     * 
     */
    @Import(name="outputs")
    private @Nullable Output> outputs;

    /**
     * @return Mapping of output data bindings used in the job.
     * 
     */
    public Optional>> outputs() {
        return Optional.ofNullable(this.outputs);
    }

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

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

    /**
     * Compute Resource configuration for the job.
     * 
     */
    @Import(name="resources")
    private @Nullable Output resources;

    /**
     * @return Compute Resource configuration for the job.
     * 
     */
    public Optional> resources() {
        return Optional.ofNullable(this.resources);
    }

    /**
     * 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);
    }

    /**
     * [Required] This represents scenario which can be one of Tables/NLP/Image
     * 
     */
    @Import(name="taskDetails", required=true)
    private Output taskDetails;

    /**
     * @return [Required] This represents scenario which can be one of Tables/NLP/Image
     * 
     */
    public Output taskDetails() {
        return this.taskDetails;
    }

    private AutoMLJobArgs() {}

    private AutoMLJobArgs(AutoMLJobArgs $) {
        this.componentId = $.componentId;
        this.computeId = $.computeId;
        this.description = $.description;
        this.displayName = $.displayName;
        this.environmentId = $.environmentId;
        this.environmentVariables = $.environmentVariables;
        this.experimentName = $.experimentName;
        this.identity = $.identity;
        this.isArchived = $.isArchived;
        this.jobType = $.jobType;
        this.outputs = $.outputs;
        this.properties = $.properties;
        this.resources = $.resources;
        this.services = $.services;
        this.tags = $.tags;
        this.taskDetails = $.taskDetails;
    }

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

    public static final class Builder {
        private AutoMLJobArgs $;

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

        public Builder(AutoMLJobArgs defaults) {
            $ = new AutoMLJobArgs(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 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 environmentId The ARM resource ID of the Environment specification for the job.
         * This is optional value to provide, if not provided, AutoML will default this to Production AutoML curated environment version when running the job.
         * 
         * @return builder
         * 
         */
        public Builder environmentId(@Nullable Output environmentId) {
            $.environmentId = environmentId;
            return this;
        }

        /**
         * @param environmentId The ARM resource ID of the Environment specification for the job.
         * This is optional value to provide, if not provided, AutoML will default this to Production AutoML curated environment version when running the job.
         * 
         * @return builder
         * 
         */
        public Builder environmentId(String environmentId) {
            return environmentId(Output.of(environmentId));
        }

        /**
         * @param environmentVariables Environment variables included in the job.
         * 
         * @return builder
         * 
         */
        public Builder environmentVariables(@Nullable Output> environmentVariables) {
            $.environmentVariables = environmentVariables;
            return this;
        }

        /**
         * @param environmentVariables Environment variables included in the job.
         * 
         * @return builder
         * 
         */
        public Builder environmentVariables(Map environmentVariables) {
            return environmentVariables(Output.of(environmentVariables));
        }

        /**
         * @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 jobType Enum to determine the type of job.
         * Expected value is 'AutoML'.
         * 
         * @return builder
         * 
         */
        public Builder jobType(Output jobType) {
            $.jobType = jobType;
            return this;
        }

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

        /**
         * @param outputs Mapping of output data bindings used in the job.
         * 
         * @return builder
         * 
         */
        public Builder outputs(@Nullable Output> outputs) {
            $.outputs = outputs;
            return this;
        }

        /**
         * @param outputs Mapping of output data bindings used in the job.
         * 
         * @return builder
         * 
         */
        public Builder outputs(Map outputs) {
            return outputs(Output.of(outputs));
        }

        /**
         * @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 resources Compute Resource configuration for the job.
         * 
         * @return builder
         * 
         */
        public Builder resources(@Nullable Output resources) {
            $.resources = resources;
            return this;
        }

        /**
         * @param resources Compute Resource configuration for the job.
         * 
         * @return builder
         * 
         */
        public Builder resources(JobResourceConfigurationArgs resources) {
            return resources(Output.of(resources));
        }

        /**
         * @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));
        }

        /**
         * @param taskDetails [Required] This represents scenario which can be one of Tables/NLP/Image
         * 
         * @return builder
         * 
         */
        public Builder taskDetails(Output taskDetails) {
            $.taskDetails = taskDetails;
            return this;
        }

        /**
         * @param taskDetails [Required] This represents scenario which can be one of Tables/NLP/Image
         * 
         * @return builder
         * 
         */
        public Builder taskDetails(Object taskDetails) {
            return taskDetails(Output.of(taskDetails));
        }

        public AutoMLJobArgs 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();
            if ($.taskDetails == null) {
                throw new MissingRequiredPropertyException("AutoMLJobArgs", "taskDetails");
            }
            return $;
        }
    }

}