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

com.pulumi.googlenative.container.v1beta1.inputs.StandardRolloutPolicyArgs 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.googlenative.container.v1beta1.inputs;

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


/**
 * Standard rollout policy is the default policy for blue-green.
 * 
 */
public final class StandardRolloutPolicyArgs extends com.pulumi.resources.ResourceArgs {

    public static final StandardRolloutPolicyArgs Empty = new StandardRolloutPolicyArgs();

    /**
     * Number of blue nodes to drain in a batch.
     * 
     */
    @Import(name="batchNodeCount")
    private @Nullable Output batchNodeCount;

    /**
     * @return Number of blue nodes to drain in a batch.
     * 
     */
    public Optional> batchNodeCount() {
        return Optional.ofNullable(this.batchNodeCount);
    }

    /**
     * Percentage of the blue pool nodes to drain in a batch. The range of this field should be (0.0, 1.0].
     * 
     */
    @Import(name="batchPercentage")
    private @Nullable Output batchPercentage;

    /**
     * @return Percentage of the blue pool nodes to drain in a batch. The range of this field should be (0.0, 1.0].
     * 
     */
    public Optional> batchPercentage() {
        return Optional.ofNullable(this.batchPercentage);
    }

    /**
     * Soak time after each batch gets drained. Default to zero.
     * 
     */
    @Import(name="batchSoakDuration")
    private @Nullable Output batchSoakDuration;

    /**
     * @return Soak time after each batch gets drained. Default to zero.
     * 
     */
    public Optional> batchSoakDuration() {
        return Optional.ofNullable(this.batchSoakDuration);
    }

    private StandardRolloutPolicyArgs() {}

    private StandardRolloutPolicyArgs(StandardRolloutPolicyArgs $) {
        this.batchNodeCount = $.batchNodeCount;
        this.batchPercentage = $.batchPercentage;
        this.batchSoakDuration = $.batchSoakDuration;
    }

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

    public static final class Builder {
        private StandardRolloutPolicyArgs $;

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

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

        /**
         * @param batchNodeCount Number of blue nodes to drain in a batch.
         * 
         * @return builder
         * 
         */
        public Builder batchNodeCount(@Nullable Output batchNodeCount) {
            $.batchNodeCount = batchNodeCount;
            return this;
        }

        /**
         * @param batchNodeCount Number of blue nodes to drain in a batch.
         * 
         * @return builder
         * 
         */
        public Builder batchNodeCount(Integer batchNodeCount) {
            return batchNodeCount(Output.of(batchNodeCount));
        }

        /**
         * @param batchPercentage Percentage of the blue pool nodes to drain in a batch. The range of this field should be (0.0, 1.0].
         * 
         * @return builder
         * 
         */
        public Builder batchPercentage(@Nullable Output batchPercentage) {
            $.batchPercentage = batchPercentage;
            return this;
        }

        /**
         * @param batchPercentage Percentage of the blue pool nodes to drain in a batch. The range of this field should be (0.0, 1.0].
         * 
         * @return builder
         * 
         */
        public Builder batchPercentage(Double batchPercentage) {
            return batchPercentage(Output.of(batchPercentage));
        }

        /**
         * @param batchSoakDuration Soak time after each batch gets drained. Default to zero.
         * 
         * @return builder
         * 
         */
        public Builder batchSoakDuration(@Nullable Output batchSoakDuration) {
            $.batchSoakDuration = batchSoakDuration;
            return this;
        }

        /**
         * @param batchSoakDuration Soak time after each batch gets drained. Default to zero.
         * 
         * @return builder
         * 
         */
        public Builder batchSoakDuration(String batchSoakDuration) {
            return batchSoakDuration(Output.of(batchSoakDuration));
        }

        public StandardRolloutPolicyArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy