![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.awsnative.cassandra.kotlin.inputs.TableAutoScalingSettingArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.cassandra.kotlin.inputs
import com.pulumi.awsnative.cassandra.inputs.TableAutoScalingSettingArgs.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.Boolean
import kotlin.Int
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* Represents configuration for auto scaling.
* @property autoScalingDisabled This optional parameter enables auto scaling for the table if set to `false` .
* @property maximumUnits Manage costs by specifying the maximum amount of throughput to provision. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).
* @property minimumUnits The minimum level of throughput the table should always be ready to support. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).
* @property scalingPolicy Amazon Keyspaces supports the `target tracking` auto scaling policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's ratio of consumed to provisioned capacity stays at or near the target value that you specify. You define the target value as a percentage between 20 and 90.
*/
public data class TableAutoScalingSettingArgs(
public val autoScalingDisabled: Output? = null,
public val maximumUnits: Output? = null,
public val minimumUnits: Output? = null,
public val scalingPolicy: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.cassandra.inputs.TableAutoScalingSettingArgs =
com.pulumi.awsnative.cassandra.inputs.TableAutoScalingSettingArgs.builder()
.autoScalingDisabled(autoScalingDisabled?.applyValue({ args0 -> args0 }))
.maximumUnits(maximumUnits?.applyValue({ args0 -> args0 }))
.minimumUnits(minimumUnits?.applyValue({ args0 -> args0 }))
.scalingPolicy(scalingPolicy?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [TableAutoScalingSettingArgs].
*/
@PulumiTagMarker
public class TableAutoScalingSettingArgsBuilder internal constructor() {
private var autoScalingDisabled: Output? = null
private var maximumUnits: Output? = null
private var minimumUnits: Output? = null
private var scalingPolicy: Output? = null
/**
* @param value This optional parameter enables auto scaling for the table if set to `false` .
*/
@JvmName("pgffxpjyinrutlgx")
public suspend fun autoScalingDisabled(`value`: Output) {
this.autoScalingDisabled = value
}
/**
* @param value Manage costs by specifying the maximum amount of throughput to provision. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).
*/
@JvmName("fguxssdkohebmrpf")
public suspend fun maximumUnits(`value`: Output) {
this.maximumUnits = value
}
/**
* @param value The minimum level of throughput the table should always be ready to support. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).
*/
@JvmName("uljypmnpjcippacb")
public suspend fun minimumUnits(`value`: Output) {
this.minimumUnits = value
}
/**
* @param value Amazon Keyspaces supports the `target tracking` auto scaling policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's ratio of consumed to provisioned capacity stays at or near the target value that you specify. You define the target value as a percentage between 20 and 90.
*/
@JvmName("krfqmmslftjurmrr")
public suspend fun scalingPolicy(`value`: Output) {
this.scalingPolicy = value
}
/**
* @param value This optional parameter enables auto scaling for the table if set to `false` .
*/
@JvmName("udtkkmggdkytkrlo")
public suspend fun autoScalingDisabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.autoScalingDisabled = mapped
}
/**
* @param value Manage costs by specifying the maximum amount of throughput to provision. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).
*/
@JvmName("fbokveykparifxqu")
public suspend fun maximumUnits(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.maximumUnits = mapped
}
/**
* @param value The minimum level of throughput the table should always be ready to support. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).
*/
@JvmName("tsxwfafkptcgwxdv")
public suspend fun minimumUnits(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.minimumUnits = mapped
}
/**
* @param value Amazon Keyspaces supports the `target tracking` auto scaling policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's ratio of consumed to provisioned capacity stays at or near the target value that you specify. You define the target value as a percentage between 20 and 90.
*/
@JvmName("pckewwdccdeayfax")
public suspend fun scalingPolicy(`value`: TableScalingPolicyArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.scalingPolicy = mapped
}
/**
* @param argument Amazon Keyspaces supports the `target tracking` auto scaling policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's ratio of consumed to provisioned capacity stays at or near the target value that you specify. You define the target value as a percentage between 20 and 90.
*/
@JvmName("hsncaauatshimwlk")
public suspend fun scalingPolicy(argument: suspend TableScalingPolicyArgsBuilder.() -> Unit) {
val toBeMapped = TableScalingPolicyArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.scalingPolicy = mapped
}
internal fun build(): TableAutoScalingSettingArgs = TableAutoScalingSettingArgs(
autoScalingDisabled = autoScalingDisabled,
maximumUnits = maximumUnits,
minimumUnits = minimumUnits,
scalingPolicy = scalingPolicy,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy