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

com.pulumi.azure.containerservice.kotlin.outputs.KubernetesClusterDefaultNodePoolUpgradeSettings.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 6.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.containerservice.kotlin.outputs

import kotlin.Int
import kotlin.String
import kotlin.Suppress

/**
 *
 * @property drainTimeoutInMinutes The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors pod disruption budgets for upgrades. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
 * @property maxSurge The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
 * > **Note:** If a percentage is provided, the number of surge nodes is calculated from the `node_count` value on the current cluster. Node surge can allow a cluster to have more nodes than `max_count` during an upgrade. Ensure that your cluster has enough [IP space](https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade) during an upgrade.
 * @property nodeSoakDurationInMinutes The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`.
 */
public data class KubernetesClusterDefaultNodePoolUpgradeSettings(
    public val drainTimeoutInMinutes: Int? = null,
    public val maxSurge: String,
    public val nodeSoakDurationInMinutes: Int? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.containerservice.outputs.KubernetesClusterDefaultNodePoolUpgradeSettings): KubernetesClusterDefaultNodePoolUpgradeSettings =
            KubernetesClusterDefaultNodePoolUpgradeSettings(
                drainTimeoutInMinutes = javaType.drainTimeoutInMinutes().map({ args0 -> args0 }).orElse(null),
                maxSurge = javaType.maxSurge(),
                nodeSoakDurationInMinutes = javaType.nodeSoakDurationInMinutes().map({ args0 ->
                    args0
                }).orElse(null),
            )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy