com.pulumi.googlenative.container.v1beta1.kotlin.inputs.ClusterAutoscalingArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.googlenative.container.v1beta1.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.container.v1beta1.inputs.ClusterAutoscalingArgs.builder
import com.pulumi.googlenative.container.v1beta1.kotlin.enums.ClusterAutoscalingAutoscalingProfile
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* ClusterAutoscaling contains global, per-cluster information required by Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs.
* @property autoprovisioningLocations The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes can be created by NAP.
* @property autoprovisioningNodePoolDefaults AutoprovisioningNodePoolDefaults contains defaults for a node pool created by NAP.
* @property autoscalingProfile Defines autoscaling behaviour.
* @property enableNodeAutoprovisioning Enables automatic node pool creation and deletion.
* @property resourceLimits Contains global constraints regarding minimum and maximum amount of resources in the cluster.
*/
public data class ClusterAutoscalingArgs(
public val autoprovisioningLocations: Output>? = null,
public val autoprovisioningNodePoolDefaults: Output? = null,
public val autoscalingProfile: Output? = null,
public val enableNodeAutoprovisioning: Output? = null,
public val resourceLimits: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.googlenative.container.v1beta1.inputs.ClusterAutoscalingArgs =
com.pulumi.googlenative.container.v1beta1.inputs.ClusterAutoscalingArgs.builder()
.autoprovisioningLocations(
autoprovisioningLocations?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
)
.autoprovisioningNodePoolDefaults(
autoprovisioningNodePoolDefaults?.applyValue({ args0 ->
args0.let({ args0 -> args0.toJava() })
}),
)
.autoscalingProfile(
autoscalingProfile?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.enableNodeAutoprovisioning(enableNodeAutoprovisioning?.applyValue({ args0 -> args0 }))
.resourceLimits(
resourceLimits?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [ClusterAutoscalingArgs].
*/
@PulumiTagMarker
public class ClusterAutoscalingArgsBuilder internal constructor() {
private var autoprovisioningLocations: Output>? = null
private var autoprovisioningNodePoolDefaults: Output? = null
private var autoscalingProfile: Output? = null
private var enableNodeAutoprovisioning: Output? = null
private var resourceLimits: Output>? = null
/**
* @param value The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes can be created by NAP.
*/
@JvmName("xkjkexijdsrhwewh")
public suspend fun autoprovisioningLocations(`value`: Output>) {
this.autoprovisioningLocations = value
}
@JvmName("kuoowlavevjbkoul")
public suspend fun autoprovisioningLocations(vararg values: Output) {
this.autoprovisioningLocations = Output.all(values.asList())
}
/**
* @param values The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes can be created by NAP.
*/
@JvmName("yhmtkcqobsiwdcwe")
public suspend fun autoprovisioningLocations(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy