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

com.pulumi.azure.containerservice.outputs.GetKubernetesClusterAgentPoolProfileUpgradeSetting Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure.containerservice.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;

@CustomType
public final class GetKubernetesClusterAgentPoolProfileUpgradeSetting {
    /**
     * @return The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails.
     * 
     */
    private Integer drainTimeoutInMinutes;
    /**
     * @return The maximum number or percentage of nodes that will be added to the Node Pool size during an upgrade.
     * 
     */
    private String maxSurge;
    /**
     * @return The amount of time in minutes to wait after draining a node and before reimaging it and moving on to next node.
     * 
     */
    private Integer nodeSoakDurationInMinutes;

    private GetKubernetesClusterAgentPoolProfileUpgradeSetting() {}
    /**
     * @return The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails.
     * 
     */
    public Integer drainTimeoutInMinutes() {
        return this.drainTimeoutInMinutes;
    }
    /**
     * @return The maximum number or percentage of nodes that will be added to the Node Pool size during an upgrade.
     * 
     */
    public String maxSurge() {
        return this.maxSurge;
    }
    /**
     * @return The amount of time in minutes to wait after draining a node and before reimaging it and moving on to next node.
     * 
     */
    public Integer nodeSoakDurationInMinutes() {
        return this.nodeSoakDurationInMinutes;
    }

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

    public static Builder builder(GetKubernetesClusterAgentPoolProfileUpgradeSetting defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private Integer drainTimeoutInMinutes;
        private String maxSurge;
        private Integer nodeSoakDurationInMinutes;
        public Builder() {}
        public Builder(GetKubernetesClusterAgentPoolProfileUpgradeSetting defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.drainTimeoutInMinutes = defaults.drainTimeoutInMinutes;
    	      this.maxSurge = defaults.maxSurge;
    	      this.nodeSoakDurationInMinutes = defaults.nodeSoakDurationInMinutes;
        }

        @CustomType.Setter
        public Builder drainTimeoutInMinutes(Integer drainTimeoutInMinutes) {
            if (drainTimeoutInMinutes == null) {
              throw new MissingRequiredPropertyException("GetKubernetesClusterAgentPoolProfileUpgradeSetting", "drainTimeoutInMinutes");
            }
            this.drainTimeoutInMinutes = drainTimeoutInMinutes;
            return this;
        }
        @CustomType.Setter
        public Builder maxSurge(String maxSurge) {
            if (maxSurge == null) {
              throw new MissingRequiredPropertyException("GetKubernetesClusterAgentPoolProfileUpgradeSetting", "maxSurge");
            }
            this.maxSurge = maxSurge;
            return this;
        }
        @CustomType.Setter
        public Builder nodeSoakDurationInMinutes(Integer nodeSoakDurationInMinutes) {
            if (nodeSoakDurationInMinutes == null) {
              throw new MissingRequiredPropertyException("GetKubernetesClusterAgentPoolProfileUpgradeSetting", "nodeSoakDurationInMinutes");
            }
            this.nodeSoakDurationInMinutes = nodeSoakDurationInMinutes;
            return this;
        }
        public GetKubernetesClusterAgentPoolProfileUpgradeSetting build() {
            final var _resultValue = new GetKubernetesClusterAgentPoolProfileUpgradeSetting();
            _resultValue.drainTimeoutInMinutes = drainTimeoutInMinutes;
            _resultValue.maxSurge = maxSurge;
            _resultValue.nodeSoakDurationInMinutes = nodeSoakDurationInMinutes;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy