
com.pulumi.gcp.vmwareengine.kotlin.inputs.ClusterAutoscalingSettingsAutoscalingPolicyArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.vmwareengine.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.vmwareengine.inputs.ClusterAutoscalingSettingsAutoscalingPolicyArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property autoscalePolicyId The identifier for this object. Format specified above.
* @property consumedMemoryThresholds Utilization thresholds pertaining to amount of consumed memory.
* Structure is documented below.
* @property cpuThresholds Utilization thresholds pertaining to CPU utilization.
* Structure is documented below.
* @property nodeTypeId The canonical identifier of the node type to add or remove.
* @property scaleOutSize Number of nodes to add to a cluster during a scale-out operation.
* Must be divisible by 2 for stretched clusters.
* @property storageThresholds Utilization thresholds pertaining to amount of consumed storage.
* Structure is documented below.
*/
public data class ClusterAutoscalingSettingsAutoscalingPolicyArgs(
public val autoscalePolicyId: Output,
public val consumedMemoryThresholds: Output? = null,
public val cpuThresholds: Output? =
null,
public val nodeTypeId: Output,
public val scaleOutSize: Output,
public val storageThresholds: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.vmwareengine.inputs.ClusterAutoscalingSettingsAutoscalingPolicyArgs =
com.pulumi.gcp.vmwareengine.inputs.ClusterAutoscalingSettingsAutoscalingPolicyArgs.builder()
.autoscalePolicyId(autoscalePolicyId.applyValue({ args0 -> args0 }))
.consumedMemoryThresholds(
consumedMemoryThresholds?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.cpuThresholds(cpuThresholds?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.nodeTypeId(nodeTypeId.applyValue({ args0 -> args0 }))
.scaleOutSize(scaleOutSize.applyValue({ args0 -> args0 }))
.storageThresholds(
storageThresholds?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [ClusterAutoscalingSettingsAutoscalingPolicyArgs].
*/
@PulumiTagMarker
public class ClusterAutoscalingSettingsAutoscalingPolicyArgsBuilder internal constructor() {
private var autoscalePolicyId: Output? = null
private var consumedMemoryThresholds:
Output? = null
private var cpuThresholds: Output? =
null
private var nodeTypeId: Output? = null
private var scaleOutSize: Output? = null
private var storageThresholds:
Output? = null
/**
* @param value The identifier for this object. Format specified above.
*/
@JvmName("vlpgbknkehaxydui")
public suspend fun autoscalePolicyId(`value`: Output) {
this.autoscalePolicyId = value
}
/**
* @param value Utilization thresholds pertaining to amount of consumed memory.
* Structure is documented below.
*/
@JvmName("qghqtmnpftdiemcb")
public suspend fun consumedMemoryThresholds(`value`: Output) {
this.consumedMemoryThresholds = value
}
/**
* @param value Utilization thresholds pertaining to CPU utilization.
* Structure is documented below.
*/
@JvmName("kxhagggcwhmgetuy")
public suspend fun cpuThresholds(`value`: Output) {
this.cpuThresholds = value
}
/**
* @param value The canonical identifier of the node type to add or remove.
*/
@JvmName("jsacxoekjskvjcvg")
public suspend fun nodeTypeId(`value`: Output) {
this.nodeTypeId = value
}
/**
* @param value Number of nodes to add to a cluster during a scale-out operation.
* Must be divisible by 2 for stretched clusters.
*/
@JvmName("qbntexrpdxlwfido")
public suspend fun scaleOutSize(`value`: Output) {
this.scaleOutSize = value
}
/**
* @param value Utilization thresholds pertaining to amount of consumed storage.
* Structure is documented below.
*/
@JvmName("uemaqqoaodkcofjl")
public suspend fun storageThresholds(`value`: Output) {
this.storageThresholds = value
}
/**
* @param value The identifier for this object. Format specified above.
*/
@JvmName("deomuiebmwkjkxdi")
public suspend fun autoscalePolicyId(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.autoscalePolicyId = mapped
}
/**
* @param value Utilization thresholds pertaining to amount of consumed memory.
* Structure is documented below.
*/
@JvmName("ipxctjpplpdngpvb")
public suspend fun consumedMemoryThresholds(`value`: ClusterAutoscalingSettingsAutoscalingPolicyConsumedMemoryThresholdsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.consumedMemoryThresholds = mapped
}
/**
* @param argument Utilization thresholds pertaining to amount of consumed memory.
* Structure is documented below.
*/
@JvmName("lnhpouukeykvndit")
public suspend fun consumedMemoryThresholds(argument: suspend ClusterAutoscalingSettingsAutoscalingPolicyConsumedMemoryThresholdsArgsBuilder.() -> Unit) {
val toBeMapped =
ClusterAutoscalingSettingsAutoscalingPolicyConsumedMemoryThresholdsArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.consumedMemoryThresholds = mapped
}
/**
* @param value Utilization thresholds pertaining to CPU utilization.
* Structure is documented below.
*/
@JvmName("kreeoqhjqaoepiwd")
public suspend fun cpuThresholds(`value`: ClusterAutoscalingSettingsAutoscalingPolicyCpuThresholdsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.cpuThresholds = mapped
}
/**
* @param argument Utilization thresholds pertaining to CPU utilization.
* Structure is documented below.
*/
@JvmName("gopdbpcbipvvxqtt")
public suspend fun cpuThresholds(argument: suspend ClusterAutoscalingSettingsAutoscalingPolicyCpuThresholdsArgsBuilder.() -> Unit) {
val toBeMapped =
ClusterAutoscalingSettingsAutoscalingPolicyCpuThresholdsArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.cpuThresholds = mapped
}
/**
* @param value The canonical identifier of the node type to add or remove.
*/
@JvmName("hxvjnkvqfitvgako")
public suspend fun nodeTypeId(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.nodeTypeId = mapped
}
/**
* @param value Number of nodes to add to a cluster during a scale-out operation.
* Must be divisible by 2 for stretched clusters.
*/
@JvmName("fpvpcdbqiryhlslp")
public suspend fun scaleOutSize(`value`: Int) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.scaleOutSize = mapped
}
/**
* @param value Utilization thresholds pertaining to amount of consumed storage.
* Structure is documented below.
*/
@JvmName("ocjkrfpcimoisrar")
public suspend fun storageThresholds(`value`: ClusterAutoscalingSettingsAutoscalingPolicyStorageThresholdsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.storageThresholds = mapped
}
/**
* @param argument Utilization thresholds pertaining to amount of consumed storage.
* Structure is documented below.
*/
@JvmName("sfocbkkamaewvcpn")
public suspend fun storageThresholds(argument: suspend ClusterAutoscalingSettingsAutoscalingPolicyStorageThresholdsArgsBuilder.() -> Unit) {
val toBeMapped =
ClusterAutoscalingSettingsAutoscalingPolicyStorageThresholdsArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.storageThresholds = mapped
}
internal fun build(): ClusterAutoscalingSettingsAutoscalingPolicyArgs =
ClusterAutoscalingSettingsAutoscalingPolicyArgs(
autoscalePolicyId = autoscalePolicyId ?: throw PulumiNullFieldException("autoscalePolicyId"),
consumedMemoryThresholds = consumedMemoryThresholds,
cpuThresholds = cpuThresholds,
nodeTypeId = nodeTypeId ?: throw PulumiNullFieldException("nodeTypeId"),
scaleOutSize = scaleOutSize ?: throw PulumiNullFieldException("scaleOutSize"),
storageThresholds = storageThresholds,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy