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

com.pulumi.gcp.dataproc.kotlin.outputs.AutoscalingPolicyBasicAlgorithmYarnConfig.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: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.dataproc.kotlin.outputs

import kotlin.Double
import kotlin.String
import kotlin.Suppress

/**
 *
 * @property gracefulDecommissionTimeout Timeout for YARN graceful decommissioning of Node Managers. Specifies the
 * duration to wait for jobs to complete before forcefully removing workers
 * (and potentially interrupting jobs). Only applicable to downscaling operations.
 * Bounds: [0s, 1d].
 * @property scaleDownFactor Fraction of average pending memory in the last cooldown period for which to
 * remove workers. A scale-down factor of 1 will result in scaling down so that there
 * is no available memory remaining after the update (more aggressive scaling).
 * A scale-down factor of 0 disables removing workers, which can be beneficial for
 * autoscaling a single job.
 * Bounds: [0.0, 1.0].
 * @property scaleDownMinWorkerFraction Minimum scale-down threshold as a fraction of total cluster size before scaling occurs.
 * For example, in a 20-worker cluster, a threshold of 0.1 means the autoscaler must
 * recommend at least a 2 worker scale-down for the cluster to scale. A threshold of 0
 * means the autoscaler will scale down on any recommended change.
 * Bounds: [0.0, 1.0]. Default: 0.0.
 * @property scaleUpFactor Fraction of average pending memory in the last cooldown period for which to
 * add workers. A scale-up factor of 1.0 will result in scaling up so that there
 * is no pending memory remaining after the update (more aggressive scaling).
 * A scale-up factor closer to 0 will result in a smaller magnitude of scaling up
 * (less aggressive scaling).
 * Bounds: [0.0, 1.0].
 * @property scaleUpMinWorkerFraction Minimum scale-up threshold as a fraction of total cluster size before scaling
 * occurs. For example, in a 20-worker cluster, a threshold of 0.1 means the autoscaler
 * must recommend at least a 2-worker scale-up for the cluster to scale. A threshold of
 * 0 means the autoscaler will scale up on any recommended change.
 * Bounds: [0.0, 1.0]. Default: 0.0.
 */
public data class AutoscalingPolicyBasicAlgorithmYarnConfig(
    public val gracefulDecommissionTimeout: String,
    public val scaleDownFactor: Double,
    public val scaleDownMinWorkerFraction: Double? = null,
    public val scaleUpFactor: Double,
    public val scaleUpMinWorkerFraction: Double? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.dataproc.outputs.AutoscalingPolicyBasicAlgorithmYarnConfig): AutoscalingPolicyBasicAlgorithmYarnConfig = AutoscalingPolicyBasicAlgorithmYarnConfig(
            gracefulDecommissionTimeout = javaType.gracefulDecommissionTimeout(),
            scaleDownFactor = javaType.scaleDownFactor(),
            scaleDownMinWorkerFraction = javaType.scaleDownMinWorkerFraction().map({ args0 ->
                args0
            }).orElse(null),
            scaleUpFactor = javaType.scaleUpFactor(),
            scaleUpMinWorkerFraction = javaType.scaleUpMinWorkerFraction().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy