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

com.pulumi.gcp.vertex.kotlin.inputs.AiFeatureOnlineStoreBigtableAutoScalingArgs.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.vertex.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreBigtableAutoScalingArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Int
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property cpuUtilizationTarget A percentage of the cluster's CPU capacity. Can be from 10% to 80%. When a cluster's CPU utilization exceeds the target that you have set, Bigtable immediately adds nodes to the cluster. When CPU utilization is substantially lower than the target, Bigtable removes nodes. If not set will default to 50%.
 * @property maxNodeCount The maximum number of nodes to scale up to. Must be greater than or equal to minNodeCount, and less than or equal to 10 times of 'minNodeCount'.
 * @property minNodeCount The minimum number of nodes to scale down to. Must be greater than or equal to 1.
 */
public data class AiFeatureOnlineStoreBigtableAutoScalingArgs(
    public val cpuUtilizationTarget: Output? = null,
    public val maxNodeCount: Output,
    public val minNodeCount: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreBigtableAutoScalingArgs =
        com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreBigtableAutoScalingArgs.builder()
            .cpuUtilizationTarget(cpuUtilizationTarget?.applyValue({ args0 -> args0 }))
            .maxNodeCount(maxNodeCount.applyValue({ args0 -> args0 }))
            .minNodeCount(minNodeCount.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [AiFeatureOnlineStoreBigtableAutoScalingArgs].
 */
@PulumiTagMarker
public class AiFeatureOnlineStoreBigtableAutoScalingArgsBuilder internal constructor() {
    private var cpuUtilizationTarget: Output? = null

    private var maxNodeCount: Output? = null

    private var minNodeCount: Output? = null

    /**
     * @param value A percentage of the cluster's CPU capacity. Can be from 10% to 80%. When a cluster's CPU utilization exceeds the target that you have set, Bigtable immediately adds nodes to the cluster. When CPU utilization is substantially lower than the target, Bigtable removes nodes. If not set will default to 50%.
     */
    @JvmName("aiccgqivdvjuhxix")
    public suspend fun cpuUtilizationTarget(`value`: Output) {
        this.cpuUtilizationTarget = value
    }

    /**
     * @param value The maximum number of nodes to scale up to. Must be greater than or equal to minNodeCount, and less than or equal to 10 times of 'minNodeCount'.
     */
    @JvmName("vnwxoroekptamcug")
    public suspend fun maxNodeCount(`value`: Output) {
        this.maxNodeCount = value
    }

    /**
     * @param value The minimum number of nodes to scale down to. Must be greater than or equal to 1.
     */
    @JvmName("fasillerpgkndybg")
    public suspend fun minNodeCount(`value`: Output) {
        this.minNodeCount = value
    }

    /**
     * @param value A percentage of the cluster's CPU capacity. Can be from 10% to 80%. When a cluster's CPU utilization exceeds the target that you have set, Bigtable immediately adds nodes to the cluster. When CPU utilization is substantially lower than the target, Bigtable removes nodes. If not set will default to 50%.
     */
    @JvmName("uxucxhborsqeamrx")
    public suspend fun cpuUtilizationTarget(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cpuUtilizationTarget = mapped
    }

    /**
     * @param value The maximum number of nodes to scale up to. Must be greater than or equal to minNodeCount, and less than or equal to 10 times of 'minNodeCount'.
     */
    @JvmName("tevgxhepdxfqaevp")
    public suspend fun maxNodeCount(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.maxNodeCount = mapped
    }

    /**
     * @param value The minimum number of nodes to scale down to. Must be greater than or equal to 1.
     */
    @JvmName("rwnxbunvjeeskknd")
    public suspend fun minNodeCount(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.minNodeCount = mapped
    }

    internal fun build(): AiFeatureOnlineStoreBigtableAutoScalingArgs =
        AiFeatureOnlineStoreBigtableAutoScalingArgs(
            cpuUtilizationTarget = cpuUtilizationTarget,
            maxNodeCount = maxNodeCount ?: throw PulumiNullFieldException("maxNodeCount"),
            minNodeCount = minNodeCount ?: throw PulumiNullFieldException("minNodeCount"),
        )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy