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

com.pulumi.azurenative.machinelearningservices.inputs.SweepJobArgs 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.BanditPolicyArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.BayesianSamplingAlgorithmArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.CustomModelJobInputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.CustomModelJobOutputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.GridSamplingAlgorithmArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.JobServiceArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.LiteralJobInputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.MLFlowModelJobInputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.MLFlowModelJobOutputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.MLTableJobInputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.MLTableJobOutputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.ManagedIdentityArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.MedianStoppingPolicyArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.ObjectiveArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.RandomSamplingAlgorithmArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.SweepJobLimitsArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.TrialComponentArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.TritonModelJobInputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.TritonModelJobOutputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.TruncationSelectionPolicyArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.UriFileJobInputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.UriFileJobOutputArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.UriFolderJobInputArgs;
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;


/**
 * Sweep job definition.
 * 
 */
public final class SweepJobArgs extends com.pulumi.resources.ResourceArgs {

    public static final SweepJobArgs Empty = new SweepJobArgs();

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

    /**
     * Early termination policies enable canceling poor-performing runs before they complete
     * 
     */
    @Import(name="earlyTermination")
    private @Nullable Output earlyTermination;

    /**
     * @return Early termination policies enable canceling poor-performing runs before they complete
     * 
     */
    public Optional> earlyTermination() {
        return Optional.ofNullable(this.earlyTermination);
    }

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

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

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

    /**
     * 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 'Sweep'.
     * 
     */
    @Import(name="jobType", required=true)
    private Output jobType;

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

    /**
     * Sweep Job limit.
     * 
     */
    @Import(name="limits")
    private @Nullable Output limits;

    /**
     * @return Sweep Job limit.
     * 
     */
    public Optional> limits() {
        return Optional.ofNullable(this.limits);
    }

    /**
     * [Required] Optimization objective.
     * 
     */
    @Import(name="objective", required=true)
    private Output objective;

    /**
     * @return [Required] Optimization objective.
     * 
     */
    public Output objective() {
        return this.objective;
    }

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

    /**
     * [Required] The hyperparameter sampling algorithm
     * 
     */
    @Import(name="samplingAlgorithm", required=true)
    private Output samplingAlgorithm;

    /**
     * @return [Required] The hyperparameter sampling algorithm
     * 
     */
    public Output samplingAlgorithm() {
        return this.samplingAlgorithm;
    }

    /**
     * [Required] A dictionary containing each parameter and its distribution. The dictionary key is the name of the parameter
     * 
     */
    @Import(name="searchSpace", required=true)
    private Output searchSpace;

    /**
     * @return [Required] A dictionary containing each parameter and its distribution. The dictionary key is the name of the parameter
     * 
     */
    public Output searchSpace() {
        return this.searchSpace;
    }

    /**
     * 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] Trial component definition.
     * 
     */
    @Import(name="trial", required=true)
    private Output trial;

    /**
     * @return [Required] Trial component definition.
     * 
     */
    public Output trial() {
        return this.trial;
    }

    private SweepJobArgs() {}

    private SweepJobArgs(SweepJobArgs $) {
        this.componentId = $.componentId;
        this.computeId = $.computeId;
        this.description = $.description;
        this.displayName = $.displayName;
        this.earlyTermination = $.earlyTermination;
        this.experimentName = $.experimentName;
        this.identity = $.identity;
        this.inputs = $.inputs;
        this.isArchived = $.isArchived;
        this.jobType = $.jobType;
        this.limits = $.limits;
        this.objective = $.objective;
        this.outputs = $.outputs;
        this.properties = $.properties;
        this.samplingAlgorithm = $.samplingAlgorithm;
        this.searchSpace = $.searchSpace;
        this.services = $.services;
        this.tags = $.tags;
        this.trial = $.trial;
    }

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

    public static final class Builder {
        private SweepJobArgs $;

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

        public Builder(SweepJobArgs defaults) {
            $ = new SweepJobArgs(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 earlyTermination Early termination policies enable canceling poor-performing runs before they complete
         * 
         * @return builder
         * 
         */
        public Builder earlyTermination(@Nullable Output earlyTermination) {
            $.earlyTermination = earlyTermination;
            return this;
        }

        /**
         * @param earlyTermination Early termination policies enable canceling poor-performing runs before they complete
         * 
         * @return builder
         * 
         */
        public Builder earlyTermination(Object earlyTermination) {
            return earlyTermination(Output.of(earlyTermination));
        }

        /**
         * @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 inputs Mapping of input data bindings used in the job.
         * 
         * @return builder
         * 
         */
        public Builder inputs(@Nullable Output> inputs) {
            $.inputs = inputs;
            return this;
        }

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

        /**
         * @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 'Sweep'.
         * 
         * @return builder
         * 
         */
        public Builder jobType(Output jobType) {
            $.jobType = jobType;
            return this;
        }

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

        /**
         * @param limits Sweep Job limit.
         * 
         * @return builder
         * 
         */
        public Builder limits(@Nullable Output limits) {
            $.limits = limits;
            return this;
        }

        /**
         * @param limits Sweep Job limit.
         * 
         * @return builder
         * 
         */
        public Builder limits(SweepJobLimitsArgs limits) {
            return limits(Output.of(limits));
        }

        /**
         * @param objective [Required] Optimization objective.
         * 
         * @return builder
         * 
         */
        public Builder objective(Output objective) {
            $.objective = objective;
            return this;
        }

        /**
         * @param objective [Required] Optimization objective.
         * 
         * @return builder
         * 
         */
        public Builder objective(ObjectiveArgs objective) {
            return objective(Output.of(objective));
        }

        /**
         * @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 samplingAlgorithm [Required] The hyperparameter sampling algorithm
         * 
         * @return builder
         * 
         */
        public Builder samplingAlgorithm(Output samplingAlgorithm) {
            $.samplingAlgorithm = samplingAlgorithm;
            return this;
        }

        /**
         * @param samplingAlgorithm [Required] The hyperparameter sampling algorithm
         * 
         * @return builder
         * 
         */
        public Builder samplingAlgorithm(Object samplingAlgorithm) {
            return samplingAlgorithm(Output.of(samplingAlgorithm));
        }

        /**
         * @param searchSpace [Required] A dictionary containing each parameter and its distribution. The dictionary key is the name of the parameter
         * 
         * @return builder
         * 
         */
        public Builder searchSpace(Output searchSpace) {
            $.searchSpace = searchSpace;
            return this;
        }

        /**
         * @param searchSpace [Required] A dictionary containing each parameter and its distribution. The dictionary key is the name of the parameter
         * 
         * @return builder
         * 
         */
        public Builder searchSpace(Object searchSpace) {
            return searchSpace(Output.of(searchSpace));
        }

        /**
         * @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 trial [Required] Trial component definition.
         * 
         * @return builder
         * 
         */
        public Builder trial(Output trial) {
            $.trial = trial;
            return this;
        }

        /**
         * @param trial [Required] Trial component definition.
         * 
         * @return builder
         * 
         */
        public Builder trial(TrialComponentArgs trial) {
            return trial(Output.of(trial));
        }

        public SweepJobArgs 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 ($.objective == null) {
                throw new MissingRequiredPropertyException("SweepJobArgs", "objective");
            }
            if ($.samplingAlgorithm == null) {
                throw new MissingRequiredPropertyException("SweepJobArgs", "samplingAlgorithm");
            }
            if ($.searchSpace == null) {
                throw new MissingRequiredPropertyException("SweepJobArgs", "searchSpace");
            }
            if ($.trial == null) {
                throw new MissingRequiredPropertyException("SweepJobArgs", "trial");
            }
            return $;
        }
    }

}