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

com.pulumi.azurenative.machinelearningservices.inputs.ManagedOnlineDeploymentArgs 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.azurenative.machinelearningservices.inputs;

import com.pulumi.azurenative.machinelearningservices.enums.EgressPublicNetworkAccessType;
import com.pulumi.azurenative.machinelearningservices.inputs.CodeConfigurationArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.DefaultScaleSettingsArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.OnlineRequestSettingsArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.ProbeSettingsArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.TargetUtilizationScaleSettingsArgs;
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.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Properties specific to a ManagedOnlineDeployment.
 * 
 */
public final class ManagedOnlineDeploymentArgs extends com.pulumi.resources.ResourceArgs {

    public static final ManagedOnlineDeploymentArgs Empty = new ManagedOnlineDeploymentArgs();

    /**
     * If true, enables Application Insights logging.
     * 
     */
    @Import(name="appInsightsEnabled")
    private @Nullable Output appInsightsEnabled;

    /**
     * @return If true, enables Application Insights logging.
     * 
     */
    public Optional> appInsightsEnabled() {
        return Optional.ofNullable(this.appInsightsEnabled);
    }

    /**
     * Code configuration for the endpoint deployment.
     * 
     */
    @Import(name="codeConfiguration")
    private @Nullable Output codeConfiguration;

    /**
     * @return Code configuration for the endpoint deployment.
     * 
     */
    public Optional> codeConfiguration() {
        return Optional.ofNullable(this.codeConfiguration);
    }

    /**
     * Description of the endpoint deployment.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Description of the endpoint deployment.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * If Enabled, allow egress public network access. If Disabled, this will create secure egress. Default: Enabled.
     * 
     */
    @Import(name="egressPublicNetworkAccess")
    private @Nullable Output> egressPublicNetworkAccess;

    /**
     * @return If Enabled, allow egress public network access. If Disabled, this will create secure egress. Default: Enabled.
     * 
     */
    public Optional>> egressPublicNetworkAccess() {
        return Optional.ofNullable(this.egressPublicNetworkAccess);
    }

    /**
     * Enum to determine endpoint compute type.
     * Expected value is 'Managed'.
     * 
     */
    @Import(name="endpointComputeType", required=true)
    private Output endpointComputeType;

    /**
     * @return Enum to determine endpoint compute type.
     * Expected value is 'Managed'.
     * 
     */
    public Output endpointComputeType() {
        return this.endpointComputeType;
    }

    /**
     * ARM resource ID or AssetId of the environment specification for the endpoint deployment.
     * 
     */
    @Import(name="environmentId")
    private @Nullable Output environmentId;

    /**
     * @return ARM resource ID or AssetId of the environment specification for the endpoint deployment.
     * 
     */
    public Optional> environmentId() {
        return Optional.ofNullable(this.environmentId);
    }

    /**
     * Environment variables configuration for the deployment.
     * 
     */
    @Import(name="environmentVariables")
    private @Nullable Output> environmentVariables;

    /**
     * @return Environment variables configuration for the deployment.
     * 
     */
    public Optional>> environmentVariables() {
        return Optional.ofNullable(this.environmentVariables);
    }

    /**
     * Compute instance type.
     * 
     */
    @Import(name="instanceType")
    private @Nullable Output instanceType;

    /**
     * @return Compute instance type.
     * 
     */
    public Optional> instanceType() {
        return Optional.ofNullable(this.instanceType);
    }

    /**
     * Liveness probe monitors the health of the container regularly.
     * 
     */
    @Import(name="livenessProbe")
    private @Nullable Output livenessProbe;

    /**
     * @return Liveness probe monitors the health of the container regularly.
     * 
     */
    public Optional> livenessProbe() {
        return Optional.ofNullable(this.livenessProbe);
    }

    /**
     * The URI path to the model.
     * 
     */
    @Import(name="model")
    private @Nullable Output model;

    /**
     * @return The URI path to the model.
     * 
     */
    public Optional> model() {
        return Optional.ofNullable(this.model);
    }

    /**
     * The path to mount the model in custom container.
     * 
     */
    @Import(name="modelMountPath")
    private @Nullable Output modelMountPath;

    /**
     * @return The path to mount the model in custom container.
     * 
     */
    public Optional> modelMountPath() {
        return Optional.ofNullable(this.modelMountPath);
    }

    /**
     * Property dictionary. Properties can be added, but not removed or altered.
     * 
     */
    @Import(name="properties")
    private @Nullable Output> properties;

    /**
     * @return Property dictionary. Properties can be added, but not removed or altered.
     * 
     */
    public Optional>> properties() {
        return Optional.ofNullable(this.properties);
    }

    /**
     * Readiness probe validates if the container is ready to serve traffic. The properties and defaults are the same as liveness probe.
     * 
     */
    @Import(name="readinessProbe")
    private @Nullable Output readinessProbe;

    /**
     * @return Readiness probe validates if the container is ready to serve traffic. The properties and defaults are the same as liveness probe.
     * 
     */
    public Optional> readinessProbe() {
        return Optional.ofNullable(this.readinessProbe);
    }

    /**
     * Request settings for the deployment.
     * 
     */
    @Import(name="requestSettings")
    private @Nullable Output requestSettings;

    /**
     * @return Request settings for the deployment.
     * 
     */
    public Optional> requestSettings() {
        return Optional.ofNullable(this.requestSettings);
    }

    /**
     * Scale settings for the deployment.
     * If it is null or not provided,
     * it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
     * and to DefaultScaleSettings for ManagedOnlineDeployment.
     * 
     */
    @Import(name="scaleSettings")
    private @Nullable Output> scaleSettings;

    /**
     * @return Scale settings for the deployment.
     * If it is null or not provided,
     * it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
     * and to DefaultScaleSettings for ManagedOnlineDeployment.
     * 
     */
    public Optional>> scaleSettings() {
        return Optional.ofNullable(this.scaleSettings);
    }

    private ManagedOnlineDeploymentArgs() {}

    private ManagedOnlineDeploymentArgs(ManagedOnlineDeploymentArgs $) {
        this.appInsightsEnabled = $.appInsightsEnabled;
        this.codeConfiguration = $.codeConfiguration;
        this.description = $.description;
        this.egressPublicNetworkAccess = $.egressPublicNetworkAccess;
        this.endpointComputeType = $.endpointComputeType;
        this.environmentId = $.environmentId;
        this.environmentVariables = $.environmentVariables;
        this.instanceType = $.instanceType;
        this.livenessProbe = $.livenessProbe;
        this.model = $.model;
        this.modelMountPath = $.modelMountPath;
        this.properties = $.properties;
        this.readinessProbe = $.readinessProbe;
        this.requestSettings = $.requestSettings;
        this.scaleSettings = $.scaleSettings;
    }

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

    public static final class Builder {
        private ManagedOnlineDeploymentArgs $;

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

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

        /**
         * @param appInsightsEnabled If true, enables Application Insights logging.
         * 
         * @return builder
         * 
         */
        public Builder appInsightsEnabled(@Nullable Output appInsightsEnabled) {
            $.appInsightsEnabled = appInsightsEnabled;
            return this;
        }

        /**
         * @param appInsightsEnabled If true, enables Application Insights logging.
         * 
         * @return builder
         * 
         */
        public Builder appInsightsEnabled(Boolean appInsightsEnabled) {
            return appInsightsEnabled(Output.of(appInsightsEnabled));
        }

        /**
         * @param codeConfiguration Code configuration for the endpoint deployment.
         * 
         * @return builder
         * 
         */
        public Builder codeConfiguration(@Nullable Output codeConfiguration) {
            $.codeConfiguration = codeConfiguration;
            return this;
        }

        /**
         * @param codeConfiguration Code configuration for the endpoint deployment.
         * 
         * @return builder
         * 
         */
        public Builder codeConfiguration(CodeConfigurationArgs codeConfiguration) {
            return codeConfiguration(Output.of(codeConfiguration));
        }

        /**
         * @param description Description of the endpoint deployment.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Description of the endpoint deployment.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param egressPublicNetworkAccess If Enabled, allow egress public network access. If Disabled, this will create secure egress. Default: Enabled.
         * 
         * @return builder
         * 
         */
        public Builder egressPublicNetworkAccess(@Nullable Output> egressPublicNetworkAccess) {
            $.egressPublicNetworkAccess = egressPublicNetworkAccess;
            return this;
        }

        /**
         * @param egressPublicNetworkAccess If Enabled, allow egress public network access. If Disabled, this will create secure egress. Default: Enabled.
         * 
         * @return builder
         * 
         */
        public Builder egressPublicNetworkAccess(Either egressPublicNetworkAccess) {
            return egressPublicNetworkAccess(Output.of(egressPublicNetworkAccess));
        }

        /**
         * @param egressPublicNetworkAccess If Enabled, allow egress public network access. If Disabled, this will create secure egress. Default: Enabled.
         * 
         * @return builder
         * 
         */
        public Builder egressPublicNetworkAccess(String egressPublicNetworkAccess) {
            return egressPublicNetworkAccess(Either.ofLeft(egressPublicNetworkAccess));
        }

        /**
         * @param egressPublicNetworkAccess If Enabled, allow egress public network access. If Disabled, this will create secure egress. Default: Enabled.
         * 
         * @return builder
         * 
         */
        public Builder egressPublicNetworkAccess(EgressPublicNetworkAccessType egressPublicNetworkAccess) {
            return egressPublicNetworkAccess(Either.ofRight(egressPublicNetworkAccess));
        }

        /**
         * @param endpointComputeType Enum to determine endpoint compute type.
         * Expected value is 'Managed'.
         * 
         * @return builder
         * 
         */
        public Builder endpointComputeType(Output endpointComputeType) {
            $.endpointComputeType = endpointComputeType;
            return this;
        }

        /**
         * @param endpointComputeType Enum to determine endpoint compute type.
         * Expected value is 'Managed'.
         * 
         * @return builder
         * 
         */
        public Builder endpointComputeType(String endpointComputeType) {
            return endpointComputeType(Output.of(endpointComputeType));
        }

        /**
         * @param environmentId ARM resource ID or AssetId of the environment specification for the endpoint deployment.
         * 
         * @return builder
         * 
         */
        public Builder environmentId(@Nullable Output environmentId) {
            $.environmentId = environmentId;
            return this;
        }

        /**
         * @param environmentId ARM resource ID or AssetId of the environment specification for the endpoint deployment.
         * 
         * @return builder
         * 
         */
        public Builder environmentId(String environmentId) {
            return environmentId(Output.of(environmentId));
        }

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

        /**
         * @param environmentVariables Environment variables configuration for the deployment.
         * 
         * @return builder
         * 
         */
        public Builder environmentVariables(Map environmentVariables) {
            return environmentVariables(Output.of(environmentVariables));
        }

        /**
         * @param instanceType Compute instance type.
         * 
         * @return builder
         * 
         */
        public Builder instanceType(@Nullable Output instanceType) {
            $.instanceType = instanceType;
            return this;
        }

        /**
         * @param instanceType Compute instance type.
         * 
         * @return builder
         * 
         */
        public Builder instanceType(String instanceType) {
            return instanceType(Output.of(instanceType));
        }

        /**
         * @param livenessProbe Liveness probe monitors the health of the container regularly.
         * 
         * @return builder
         * 
         */
        public Builder livenessProbe(@Nullable Output livenessProbe) {
            $.livenessProbe = livenessProbe;
            return this;
        }

        /**
         * @param livenessProbe Liveness probe monitors the health of the container regularly.
         * 
         * @return builder
         * 
         */
        public Builder livenessProbe(ProbeSettingsArgs livenessProbe) {
            return livenessProbe(Output.of(livenessProbe));
        }

        /**
         * @param model The URI path to the model.
         * 
         * @return builder
         * 
         */
        public Builder model(@Nullable Output model) {
            $.model = model;
            return this;
        }

        /**
         * @param model The URI path to the model.
         * 
         * @return builder
         * 
         */
        public Builder model(String model) {
            return model(Output.of(model));
        }

        /**
         * @param modelMountPath The path to mount the model in custom container.
         * 
         * @return builder
         * 
         */
        public Builder modelMountPath(@Nullable Output modelMountPath) {
            $.modelMountPath = modelMountPath;
            return this;
        }

        /**
         * @param modelMountPath The path to mount the model in custom container.
         * 
         * @return builder
         * 
         */
        public Builder modelMountPath(String modelMountPath) {
            return modelMountPath(Output.of(modelMountPath));
        }

        /**
         * @param properties Property dictionary. Properties can be added, but not removed or altered.
         * 
         * @return builder
         * 
         */
        public Builder properties(@Nullable Output> properties) {
            $.properties = properties;
            return this;
        }

        /**
         * @param properties Property dictionary. Properties can be added, but not removed or altered.
         * 
         * @return builder
         * 
         */
        public Builder properties(Map properties) {
            return properties(Output.of(properties));
        }

        /**
         * @param readinessProbe Readiness probe validates if the container is ready to serve traffic. The properties and defaults are the same as liveness probe.
         * 
         * @return builder
         * 
         */
        public Builder readinessProbe(@Nullable Output readinessProbe) {
            $.readinessProbe = readinessProbe;
            return this;
        }

        /**
         * @param readinessProbe Readiness probe validates if the container is ready to serve traffic. The properties and defaults are the same as liveness probe.
         * 
         * @return builder
         * 
         */
        public Builder readinessProbe(ProbeSettingsArgs readinessProbe) {
            return readinessProbe(Output.of(readinessProbe));
        }

        /**
         * @param requestSettings Request settings for the deployment.
         * 
         * @return builder
         * 
         */
        public Builder requestSettings(@Nullable Output requestSettings) {
            $.requestSettings = requestSettings;
            return this;
        }

        /**
         * @param requestSettings Request settings for the deployment.
         * 
         * @return builder
         * 
         */
        public Builder requestSettings(OnlineRequestSettingsArgs requestSettings) {
            return requestSettings(Output.of(requestSettings));
        }

        /**
         * @param scaleSettings Scale settings for the deployment.
         * If it is null or not provided,
         * it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
         * and to DefaultScaleSettings for ManagedOnlineDeployment.
         * 
         * @return builder
         * 
         */
        public Builder scaleSettings(@Nullable Output> scaleSettings) {
            $.scaleSettings = scaleSettings;
            return this;
        }

        /**
         * @param scaleSettings Scale settings for the deployment.
         * If it is null or not provided,
         * it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
         * and to DefaultScaleSettings for ManagedOnlineDeployment.
         * 
         * @return builder
         * 
         */
        public Builder scaleSettings(Either scaleSettings) {
            return scaleSettings(Output.of(scaleSettings));
        }

        /**
         * @param scaleSettings Scale settings for the deployment.
         * If it is null or not provided,
         * it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
         * and to DefaultScaleSettings for ManagedOnlineDeployment.
         * 
         * @return builder
         * 
         */
        public Builder scaleSettings(DefaultScaleSettingsArgs scaleSettings) {
            return scaleSettings(Either.ofLeft(scaleSettings));
        }

        /**
         * @param scaleSettings Scale settings for the deployment.
         * If it is null or not provided,
         * it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
         * and to DefaultScaleSettings for ManagedOnlineDeployment.
         * 
         * @return builder
         * 
         */
        public Builder scaleSettings(TargetUtilizationScaleSettingsArgs scaleSettings) {
            return scaleSettings(Either.ofRight(scaleSettings));
        }

        public ManagedOnlineDeploymentArgs build() {
            $.appInsightsEnabled = Codegen.booleanProp("appInsightsEnabled").output().arg($.appInsightsEnabled).def(false).getNullable();
            $.egressPublicNetworkAccess = Codegen.stringProp("egressPublicNetworkAccess").left(EgressPublicNetworkAccessType.class).output().arg($.egressPublicNetworkAccess).def("Enabled").getNullable();
            $.endpointComputeType = Codegen.stringProp("endpointComputeType").output().arg($.endpointComputeType).require();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy