com.pulumi.alicloud.sae.kotlin.inputs.ApplicationScalingRuleScalingRuleMetricArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-alicloud-kotlin Show documentation
Show all versions of pulumi-alicloud-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.alicloud.sae.kotlin.inputs
import com.pulumi.alicloud.sae.inputs.ApplicationScalingRuleScalingRuleMetricArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property maxReplicas Maximum number of instances applied.
* @property metrics Indicator rule configuration. See `metrics` below.
* @property minReplicas Minimum number of instances applied.
* @property scaleDownRules Apply shrink rules. See `scale_down_rules` below.
* @property scaleUpRules Apply expansion rules. See `scale_up_rules` below.
*/
public data class ApplicationScalingRuleScalingRuleMetricArgs(
public val maxReplicas: Output? = null,
public val metrics: Output>? = null,
public val minReplicas: Output? = null,
public val scaleDownRules: Output? =
null,
public val scaleUpRules: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.alicloud.sae.inputs.ApplicationScalingRuleScalingRuleMetricArgs = com.pulumi.alicloud.sae.inputs.ApplicationScalingRuleScalingRuleMetricArgs.builder()
.maxReplicas(maxReplicas?.applyValue({ args0 -> args0 }))
.metrics(
metrics?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.minReplicas(minReplicas?.applyValue({ args0 -> args0 }))
.scaleDownRules(scaleDownRules?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.scaleUpRules(scaleUpRules?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [ApplicationScalingRuleScalingRuleMetricArgs].
*/
@PulumiTagMarker
public class ApplicationScalingRuleScalingRuleMetricArgsBuilder internal constructor() {
private var maxReplicas: Output? = null
private var metrics: Output>? = null
private var minReplicas: Output? = null
private var scaleDownRules: Output? =
null
private var scaleUpRules: Output? = null
/**
* @param value Maximum number of instances applied.
*/
@JvmName("xomsfjuawmnlphei")
public suspend fun maxReplicas(`value`: Output) {
this.maxReplicas = value
}
/**
* @param value Indicator rule configuration. See `metrics` below.
*/
@JvmName("wffvbydtlisrkkuk")
public suspend fun metrics(`value`: Output>) {
this.metrics = value
}
@JvmName("jchyavceciyuxfym")
public suspend fun metrics(vararg values: Output) {
this.metrics = Output.all(values.asList())
}
/**
* @param values Indicator rule configuration. See `metrics` below.
*/
@JvmName("mgmqrofybbipmqiq")
public suspend fun metrics(values: List