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

com.pulumi.awsnative.gamelift.kotlin.inputs.FleetTargetConfigurationArgs.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: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.gamelift.kotlin.inputs

import com.pulumi.awsnative.gamelift.inputs.FleetTargetConfigurationArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Double
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Settings for a target-based scaling policy. A target-based policy tracks a particular fleet metric specifies a target value for the metric. As player usage changes, the policy triggers Amazon GameLift to adjust capacity so that the metric returns to the target value. The target configuration specifies settings as needed for the target based policy, including the target value.
 * @property targetValue Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).
 */
public data class FleetTargetConfigurationArgs(
    public val targetValue: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.gamelift.inputs.FleetTargetConfigurationArgs =
        com.pulumi.awsnative.gamelift.inputs.FleetTargetConfigurationArgs.builder()
            .targetValue(targetValue.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [FleetTargetConfigurationArgs].
 */
@PulumiTagMarker
public class FleetTargetConfigurationArgsBuilder internal constructor() {
    private var targetValue: Output? = null

    /**
     * @param value Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).
     */
    @JvmName("trbhhcarerxnqkne")
    public suspend fun targetValue(`value`: Output) {
        this.targetValue = value
    }

    /**
     * @param value Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).
     */
    @JvmName("xfhoyhbgumsiskse")
    public suspend fun targetValue(`value`: Double) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.targetValue = mapped
    }

    internal fun build(): FleetTargetConfigurationArgs = FleetTargetConfigurationArgs(
        targetValue = targetValue ?: throw PulumiNullFieldException("targetValue"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy