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

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

There is a newer version: 2.89.2
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.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * scale settings for AML Compute
 * 
 */
public final class ScaleSettingsArgs extends com.pulumi.resources.ResourceArgs {

    public static final ScaleSettingsArgs Empty = new ScaleSettingsArgs();

    /**
     * Max number of nodes to use
     * 
     */
    @Import(name="maxNodeCount", required=true)
    private Output maxNodeCount;

    /**
     * @return Max number of nodes to use
     * 
     */
    public Output maxNodeCount() {
        return this.maxNodeCount;
    }

    /**
     * Min number of nodes to use
     * 
     */
    @Import(name="minNodeCount")
    private @Nullable Output minNodeCount;

    /**
     * @return Min number of nodes to use
     * 
     */
    public Optional> minNodeCount() {
        return Optional.ofNullable(this.minNodeCount);
    }

    /**
     * Node Idle Time before scaling down amlCompute. This string needs to be in the RFC Format.
     * 
     */
    @Import(name="nodeIdleTimeBeforeScaleDown")
    private @Nullable Output nodeIdleTimeBeforeScaleDown;

    /**
     * @return Node Idle Time before scaling down amlCompute. This string needs to be in the RFC Format.
     * 
     */
    public Optional> nodeIdleTimeBeforeScaleDown() {
        return Optional.ofNullable(this.nodeIdleTimeBeforeScaleDown);
    }

    private ScaleSettingsArgs() {}

    private ScaleSettingsArgs(ScaleSettingsArgs $) {
        this.maxNodeCount = $.maxNodeCount;
        this.minNodeCount = $.minNodeCount;
        this.nodeIdleTimeBeforeScaleDown = $.nodeIdleTimeBeforeScaleDown;
    }

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

    public static final class Builder {
        private ScaleSettingsArgs $;

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

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

        /**
         * @param maxNodeCount Max number of nodes to use
         * 
         * @return builder
         * 
         */
        public Builder maxNodeCount(Output maxNodeCount) {
            $.maxNodeCount = maxNodeCount;
            return this;
        }

        /**
         * @param maxNodeCount Max number of nodes to use
         * 
         * @return builder
         * 
         */
        public Builder maxNodeCount(Integer maxNodeCount) {
            return maxNodeCount(Output.of(maxNodeCount));
        }

        /**
         * @param minNodeCount Min number of nodes to use
         * 
         * @return builder
         * 
         */
        public Builder minNodeCount(@Nullable Output minNodeCount) {
            $.minNodeCount = minNodeCount;
            return this;
        }

        /**
         * @param minNodeCount Min number of nodes to use
         * 
         * @return builder
         * 
         */
        public Builder minNodeCount(Integer minNodeCount) {
            return minNodeCount(Output.of(minNodeCount));
        }

        /**
         * @param nodeIdleTimeBeforeScaleDown Node Idle Time before scaling down amlCompute. This string needs to be in the RFC Format.
         * 
         * @return builder
         * 
         */
        public Builder nodeIdleTimeBeforeScaleDown(@Nullable Output nodeIdleTimeBeforeScaleDown) {
            $.nodeIdleTimeBeforeScaleDown = nodeIdleTimeBeforeScaleDown;
            return this;
        }

        /**
         * @param nodeIdleTimeBeforeScaleDown Node Idle Time before scaling down amlCompute. This string needs to be in the RFC Format.
         * 
         * @return builder
         * 
         */
        public Builder nodeIdleTimeBeforeScaleDown(String nodeIdleTimeBeforeScaleDown) {
            return nodeIdleTimeBeforeScaleDown(Output.of(nodeIdleTimeBeforeScaleDown));
        }

        public ScaleSettingsArgs build() {
            if ($.maxNodeCount == null) {
                throw new MissingRequiredPropertyException("ScaleSettingsArgs", "maxNodeCount");
            }
            $.minNodeCount = Codegen.integerProp("minNodeCount").output().arg($.minNodeCount).def(0).getNullable();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy