commonMain.aws.sdk.kotlin.services.gamelift.model.TargetConfiguration.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.gamelift.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* 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.
*/
public class TargetConfiguration private constructor(builder: Builder) {
/**
* 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 val targetValue: kotlin.Double? = builder.targetValue
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.gamelift.model.TargetConfiguration = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("TargetConfiguration(")
append("targetValue=$targetValue")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = targetValue?.hashCode() ?: 0
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as TargetConfiguration
if (!(targetValue?.equals(other.targetValue) ?: (other.targetValue == null))) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.gamelift.model.TargetConfiguration = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* 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 var targetValue: kotlin.Double? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.gamelift.model.TargetConfiguration) : this() {
this.targetValue = x.targetValue
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.gamelift.model.TargetConfiguration = TargetConfiguration(this)
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy