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

com.pulumi.awsnative.gamelift.kotlin.inputs.GameSessionQueuePriorityConfigurationArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

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

import com.pulumi.awsnative.gamelift.inputs.GameSessionQueuePriorityConfigurationArgs.builder
import com.pulumi.awsnative.gamelift.kotlin.enums.GameSessionQueuePriorityOrderItem
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property locationOrder The prioritization order to use for fleet locations, when the `PriorityOrder` property includes `LOCATION` . Locations are identified by AWS Region codes such as `us-west-2` . Each location can only be listed once.
 * @property priorityOrder The recommended sequence to use when prioritizing where to place new game sessions. Each type can only be listed once.
 * - `LATENCY` -- FleetIQ prioritizes locations where the average player latency (provided in each game session request) is lowest.
 * - `COST` -- FleetIQ prioritizes destinations with the lowest current hosting costs. Cost is evaluated based on the location, instance type, and fleet type (Spot or On-Demand) for each destination in the queue.
 * - `DESTINATION` -- FleetIQ prioritizes based on the order that destinations are listed in the queue configuration.
 * - `LOCATION` -- FleetIQ prioritizes based on the provided order of locations, as defined in `LocationOrder` .
 */
public data class GameSessionQueuePriorityConfigurationArgs(
    public val locationOrder: Output>? = null,
    public val priorityOrder: Output>? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.gamelift.inputs.GameSessionQueuePriorityConfigurationArgs =
        com.pulumi.awsnative.gamelift.inputs.GameSessionQueuePriorityConfigurationArgs.builder()
            .locationOrder(locationOrder?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .priorityOrder(
                priorityOrder?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

/**
 * Builder for [GameSessionQueuePriorityConfigurationArgs].
 */
@PulumiTagMarker
public class GameSessionQueuePriorityConfigurationArgsBuilder internal constructor() {
    private var locationOrder: Output>? = null

    private var priorityOrder: Output>? = null

    /**
     * @param value The prioritization order to use for fleet locations, when the `PriorityOrder` property includes `LOCATION` . Locations are identified by AWS Region codes such as `us-west-2` . Each location can only be listed once.
     */
    @JvmName("mrqluugmwnidhyid")
    public suspend fun locationOrder(`value`: Output>) {
        this.locationOrder = value
    }

    @JvmName("iuisuyfqywglxkim")
    public suspend fun locationOrder(vararg values: Output) {
        this.locationOrder = Output.all(values.asList())
    }

    /**
     * @param values The prioritization order to use for fleet locations, when the `PriorityOrder` property includes `LOCATION` . Locations are identified by AWS Region codes such as `us-west-2` . Each location can only be listed once.
     */
    @JvmName("wdvjfeupbntyasqy")
    public suspend fun locationOrder(values: List>) {
        this.locationOrder = Output.all(values)
    }

    /**
     * @param value The recommended sequence to use when prioritizing where to place new game sessions. Each type can only be listed once.
     * - `LATENCY` -- FleetIQ prioritizes locations where the average player latency (provided in each game session request) is lowest.
     * - `COST` -- FleetIQ prioritizes destinations with the lowest current hosting costs. Cost is evaluated based on the location, instance type, and fleet type (Spot or On-Demand) for each destination in the queue.
     * - `DESTINATION` -- FleetIQ prioritizes based on the order that destinations are listed in the queue configuration.
     * - `LOCATION` -- FleetIQ prioritizes based on the provided order of locations, as defined in `LocationOrder` .
     */
    @JvmName("enisoimupdncgvrs")
    public suspend fun priorityOrder(`value`: Output>) {
        this.priorityOrder = value
    }

    @JvmName("kcaetldmjhbjjcyo")
    public suspend fun priorityOrder(vararg values: Output) {
        this.priorityOrder = Output.all(values.asList())
    }

    /**
     * @param values The recommended sequence to use when prioritizing where to place new game sessions. Each type can only be listed once.
     * - `LATENCY` -- FleetIQ prioritizes locations where the average player latency (provided in each game session request) is lowest.
     * - `COST` -- FleetIQ prioritizes destinations with the lowest current hosting costs. Cost is evaluated based on the location, instance type, and fleet type (Spot or On-Demand) for each destination in the queue.
     * - `DESTINATION` -- FleetIQ prioritizes based on the order that destinations are listed in the queue configuration.
     * - `LOCATION` -- FleetIQ prioritizes based on the provided order of locations, as defined in `LocationOrder` .
     */
    @JvmName("cyuwtsetodbhlyjh")
    public suspend fun priorityOrder(values: List>) {
        this.priorityOrder = Output.all(values)
    }

    /**
     * @param value The prioritization order to use for fleet locations, when the `PriorityOrder` property includes `LOCATION` . Locations are identified by AWS Region codes such as `us-west-2` . Each location can only be listed once.
     */
    @JvmName("xdehrcqxclmuljkp")
    public suspend fun locationOrder(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.locationOrder = mapped
    }

    /**
     * @param values The prioritization order to use for fleet locations, when the `PriorityOrder` property includes `LOCATION` . Locations are identified by AWS Region codes such as `us-west-2` . Each location can only be listed once.
     */
    @JvmName("roxlxunjcbxujvgu")
    public suspend fun locationOrder(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.locationOrder = mapped
    }

    /**
     * @param value The recommended sequence to use when prioritizing where to place new game sessions. Each type can only be listed once.
     * - `LATENCY` -- FleetIQ prioritizes locations where the average player latency (provided in each game session request) is lowest.
     * - `COST` -- FleetIQ prioritizes destinations with the lowest current hosting costs. Cost is evaluated based on the location, instance type, and fleet type (Spot or On-Demand) for each destination in the queue.
     * - `DESTINATION` -- FleetIQ prioritizes based on the order that destinations are listed in the queue configuration.
     * - `LOCATION` -- FleetIQ prioritizes based on the provided order of locations, as defined in `LocationOrder` .
     */
    @JvmName("vdyrlpyxxvpgadfe")
    public suspend fun priorityOrder(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.priorityOrder = mapped
    }

    /**
     * @param values The recommended sequence to use when prioritizing where to place new game sessions. Each type can only be listed once.
     * - `LATENCY` -- FleetIQ prioritizes locations where the average player latency (provided in each game session request) is lowest.
     * - `COST` -- FleetIQ prioritizes destinations with the lowest current hosting costs. Cost is evaluated based on the location, instance type, and fleet type (Spot or On-Demand) for each destination in the queue.
     * - `DESTINATION` -- FleetIQ prioritizes based on the order that destinations are listed in the queue configuration.
     * - `LOCATION` -- FleetIQ prioritizes based on the provided order of locations, as defined in `LocationOrder` .
     */
    @JvmName("rxqrwnnaqtunrcrl")
    public suspend fun priorityOrder(vararg values: GameSessionQueuePriorityOrderItem) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.priorityOrder = mapped
    }

    internal fun build(): GameSessionQueuePriorityConfigurationArgs =
        GameSessionQueuePriorityConfigurationArgs(
            locationOrder = locationOrder,
            priorityOrder = priorityOrder,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy