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

com.pulumi.spotinst.azure.inputs.OceanNpVirtualNodeGroupUpdatePolicyRollConfigArgs Maven / Gradle / Ivy

The 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.spotinst.azure.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class OceanNpVirtualNodeGroupUpdatePolicyRollConfigArgs extends com.pulumi.resources.ResourceArgs {

    public static final OceanNpVirtualNodeGroupUpdatePolicyRollConfigArgs Empty = new OceanNpVirtualNodeGroupUpdatePolicyRollConfigArgs();

    /**
     * Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
     * 
     */
    @Import(name="batchMinHealthyPercentage")
    private @Nullable Output batchMinHealthyPercentage;

    /**
     * @return Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
     * 
     */
    public Optional> batchMinHealthyPercentage() {
        return Optional.ofNullable(this.batchMinHealthyPercentage);
    }

    /**
     * Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
     * 
     */
    @Import(name="batchSizePercentage")
    private @Nullable Output batchSizePercentage;

    /**
     * @return Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
     * 
     */
    public Optional> batchSizePercentage() {
        return Optional.ofNullable(this.batchSizePercentage);
    }

    /**
     * Add a comment description for the roll. The comment is limited to 256 chars and optional.
     * 
     */
    @Import(name="comment")
    private @Nullable Output comment;

    /**
     * @return Add a comment description for the roll. The comment is limited to 256 chars and optional.
     * 
     */
    public Optional> comment() {
        return Optional.ofNullable(this.comment);
    }

    /**
     * List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
     * 
     */
    @Import(name="nodeNames")
    private @Nullable Output> nodeNames;

    /**
     * @return List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
     * 
     */
    public Optional>> nodeNames() {
        return Optional.ofNullable(this.nodeNames);
    }

    /**
     * List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
     * 
     */
    @Import(name="nodePoolNames")
    private @Nullable Output> nodePoolNames;

    /**
     * @return List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
     * 
     */
    public Optional>> nodePoolNames() {
        return Optional.ofNullable(this.nodePoolNames);
    }

    /**
     * During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
     * 
     */
    @Import(name="respectPdb")
    private @Nullable Output respectPdb;

    /**
     * @return During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
     * 
     */
    public Optional> respectPdb() {
        return Optional.ofNullable(this.respectPdb);
    }

    /**
     * During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
     * 
     */
    @Import(name="respectRestrictScaleDown")
    private @Nullable Output respectRestrictScaleDown;

    /**
     * @return During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
     * 
     */
    public Optional> respectRestrictScaleDown() {
        return Optional.ofNullable(this.respectRestrictScaleDown);
    }

    /**
     * List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
     * 
     */
    @Import(name="vngIds")
    private @Nullable Output> vngIds;

    /**
     * @return List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
     * 
     */
    public Optional>> vngIds() {
        return Optional.ofNullable(this.vngIds);
    }

    private OceanNpVirtualNodeGroupUpdatePolicyRollConfigArgs() {}

    private OceanNpVirtualNodeGroupUpdatePolicyRollConfigArgs(OceanNpVirtualNodeGroupUpdatePolicyRollConfigArgs $) {
        this.batchMinHealthyPercentage = $.batchMinHealthyPercentage;
        this.batchSizePercentage = $.batchSizePercentage;
        this.comment = $.comment;
        this.nodeNames = $.nodeNames;
        this.nodePoolNames = $.nodePoolNames;
        this.respectPdb = $.respectPdb;
        this.respectRestrictScaleDown = $.respectRestrictScaleDown;
        this.vngIds = $.vngIds;
    }

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

    public static final class Builder {
        private OceanNpVirtualNodeGroupUpdatePolicyRollConfigArgs $;

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

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

        /**
         * @param batchMinHealthyPercentage Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
         * 
         * @return builder
         * 
         */
        public Builder batchMinHealthyPercentage(@Nullable Output batchMinHealthyPercentage) {
            $.batchMinHealthyPercentage = batchMinHealthyPercentage;
            return this;
        }

        /**
         * @param batchMinHealthyPercentage Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
         * 
         * @return builder
         * 
         */
        public Builder batchMinHealthyPercentage(Integer batchMinHealthyPercentage) {
            return batchMinHealthyPercentage(Output.of(batchMinHealthyPercentage));
        }

        /**
         * @param batchSizePercentage Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
         * 
         * @return builder
         * 
         */
        public Builder batchSizePercentage(@Nullable Output batchSizePercentage) {
            $.batchSizePercentage = batchSizePercentage;
            return this;
        }

        /**
         * @param batchSizePercentage Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
         * 
         * @return builder
         * 
         */
        public Builder batchSizePercentage(Integer batchSizePercentage) {
            return batchSizePercentage(Output.of(batchSizePercentage));
        }

        /**
         * @param comment Add a comment description for the roll. The comment is limited to 256 chars and optional.
         * 
         * @return builder
         * 
         */
        public Builder comment(@Nullable Output comment) {
            $.comment = comment;
            return this;
        }

        /**
         * @param comment Add a comment description for the roll. The comment is limited to 256 chars and optional.
         * 
         * @return builder
         * 
         */
        public Builder comment(String comment) {
            return comment(Output.of(comment));
        }

        /**
         * @param nodeNames List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
         * 
         * @return builder
         * 
         */
        public Builder nodeNames(@Nullable Output> nodeNames) {
            $.nodeNames = nodeNames;
            return this;
        }

        /**
         * @param nodeNames List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
         * 
         * @return builder
         * 
         */
        public Builder nodeNames(List nodeNames) {
            return nodeNames(Output.of(nodeNames));
        }

        /**
         * @param nodeNames List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
         * 
         * @return builder
         * 
         */
        public Builder nodeNames(String... nodeNames) {
            return nodeNames(List.of(nodeNames));
        }

        /**
         * @param nodePoolNames List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
         * 
         * @return builder
         * 
         */
        public Builder nodePoolNames(@Nullable Output> nodePoolNames) {
            $.nodePoolNames = nodePoolNames;
            return this;
        }

        /**
         * @param nodePoolNames List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
         * 
         * @return builder
         * 
         */
        public Builder nodePoolNames(List nodePoolNames) {
            return nodePoolNames(Output.of(nodePoolNames));
        }

        /**
         * @param nodePoolNames List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
         * 
         * @return builder
         * 
         */
        public Builder nodePoolNames(String... nodePoolNames) {
            return nodePoolNames(List.of(nodePoolNames));
        }

        /**
         * @param respectPdb During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
         * 
         * @return builder
         * 
         */
        public Builder respectPdb(@Nullable Output respectPdb) {
            $.respectPdb = respectPdb;
            return this;
        }

        /**
         * @param respectPdb During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
         * 
         * @return builder
         * 
         */
        public Builder respectPdb(Boolean respectPdb) {
            return respectPdb(Output.of(respectPdb));
        }

        /**
         * @param respectRestrictScaleDown During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
         * 
         * @return builder
         * 
         */
        public Builder respectRestrictScaleDown(@Nullable Output respectRestrictScaleDown) {
            $.respectRestrictScaleDown = respectRestrictScaleDown;
            return this;
        }

        /**
         * @param respectRestrictScaleDown During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
         * 
         * @return builder
         * 
         */
        public Builder respectRestrictScaleDown(Boolean respectRestrictScaleDown) {
            return respectRestrictScaleDown(Output.of(respectRestrictScaleDown));
        }

        /**
         * @param vngIds List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
         * 
         * @return builder
         * 
         */
        public Builder vngIds(@Nullable Output> vngIds) {
            $.vngIds = vngIds;
            return this;
        }

        /**
         * @param vngIds List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
         * 
         * @return builder
         * 
         */
        public Builder vngIds(List vngIds) {
            return vngIds(Output.of(vngIds));
        }

        /**
         * @param vngIds List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
         * 
         * @return builder
         * 
         */
        public Builder vngIds(String... vngIds) {
            return vngIds(List.of(vngIds));
        }

        public OceanNpVirtualNodeGroupUpdatePolicyRollConfigArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy