Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.gamelift.kotlin.MatchmakingConfigurationArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.gamelift.kotlin
import com.pulumi.aws.gamelift.MatchmakingConfigurationArgs.builder
import com.pulumi.aws.gamelift.kotlin.inputs.MatchmakingConfigurationGamePropertyArgs
import com.pulumi.aws.gamelift.kotlin.inputs.MatchmakingConfigurationGamePropertyArgsBuilder
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.Deprecated
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Provides a GameLift Alias resource.
* ## Import
* GameLift Matchmaking Configurations can be imported using the ID, e.g.,
* ```sh
* $ pulumi import aws:gamelift/matchmakingConfiguration:MatchmakingConfiguration example
* ```
* @property acceptanceRequired Specifies if the match that was created with this configuration must be accepted by matched players.
* @property acceptanceTimeoutSeconds The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required.
* @property additionalPlayerCount The number of player slots in a match to keep open for future players.
* @property backfillMode The method used to backfill game sessions that are created with this matchmaking configuration.
* @property customEventData Information to be added to all events related to this matchmaking configuration.
* @property description A human-readable description of the matchmaking configuration.
* @property flexMatchMode Indicates whether this matchmaking configuration is being used with GameLift hosting or as a standalone matchmaking solution.
* @property gameProperties One or more custom game properties. See below.
* @property gameSessionData A set of custom game session properties.
* @property gameSessionQueueArns The ARNs of the GameLift game session queue resources.
* @property name Name of the matchmaking configuration
* @property notificationTarget An SNS topic ARN that is set up to receive matchmaking notifications.
* @property requestTimeoutSeconds The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out.
* @property ruleSetName A rule set names for the matchmaking rule set to use with this configuration.
* @property tags Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
public data class MatchmakingConfigurationArgs
@Deprecated(
message = """
This resource will be removed in the next major version. Consider using
https://www.pulumi.com/registry/packages/aws-native/api-docs/gamelift/matchmakingconfiguration/
instead
""",
)
constructor(
public val acceptanceRequired: Output? = null,
public val acceptanceTimeoutSeconds: Output? = null,
public val additionalPlayerCount: Output? = null,
public val backfillMode: Output? = null,
public val customEventData: Output? = null,
public val description: Output? = null,
public val flexMatchMode: Output? = null,
public val gameProperties: Output>? = null,
public val gameSessionData: Output? = null,
public val gameSessionQueueArns: Output>? = null,
public val name: Output? = null,
public val notificationTarget: Output? = null,
public val requestTimeoutSeconds: Output? = null,
public val ruleSetName: Output? = null,
public val tags: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.aws.gamelift.MatchmakingConfigurationArgs =
com.pulumi.aws.gamelift.MatchmakingConfigurationArgs.builder()
.acceptanceRequired(acceptanceRequired?.applyValue({ args0 -> args0 }))
.acceptanceTimeoutSeconds(acceptanceTimeoutSeconds?.applyValue({ args0 -> args0 }))
.additionalPlayerCount(additionalPlayerCount?.applyValue({ args0 -> args0 }))
.backfillMode(backfillMode?.applyValue({ args0 -> args0 }))
.customEventData(customEventData?.applyValue({ args0 -> args0 }))
.description(description?.applyValue({ args0 -> args0 }))
.flexMatchMode(flexMatchMode?.applyValue({ args0 -> args0 }))
.gameProperties(
gameProperties?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.gameSessionData(gameSessionData?.applyValue({ args0 -> args0 }))
.gameSessionQueueArns(gameSessionQueueArns?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.name(name?.applyValue({ args0 -> args0 }))
.notificationTarget(notificationTarget?.applyValue({ args0 -> args0 }))
.requestTimeoutSeconds(requestTimeoutSeconds?.applyValue({ args0 -> args0 }))
.ruleSetName(ruleSetName?.applyValue({ args0 -> args0 }))
.tags(
tags?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
).build()
}
/**
* Builder for [MatchmakingConfigurationArgs].
*/
@PulumiTagMarker
@Deprecated(
message = """
This resource will be removed in the next major version. Consider using
https://www.pulumi.com/registry/packages/aws-native/api-docs/gamelift/matchmakingconfiguration/
instead
""",
)
public class MatchmakingConfigurationArgsBuilder internal constructor() {
private var acceptanceRequired: Output? = null
private var acceptanceTimeoutSeconds: Output? = null
private var additionalPlayerCount: Output? = null
private var backfillMode: Output? = null
private var customEventData: Output? = null
private var description: Output? = null
private var flexMatchMode: Output? = null
private var gameProperties: Output>? = null
private var gameSessionData: Output? = null
private var gameSessionQueueArns: Output>? = null
private var name: Output? = null
private var notificationTarget: Output? = null
private var requestTimeoutSeconds: Output? = null
private var ruleSetName: Output? = null
private var tags: Output>? = null
/**
* @param value Specifies if the match that was created with this configuration must be accepted by matched players.
*/
@JvmName("gydaecdsjdkxxway")
public suspend fun acceptanceRequired(`value`: Output) {
this.acceptanceRequired = value
}
/**
* @param value The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required.
*/
@JvmName("vipawrthoxuqmlkh")
public suspend fun acceptanceTimeoutSeconds(`value`: Output) {
this.acceptanceTimeoutSeconds = value
}
/**
* @param value The number of player slots in a match to keep open for future players.
*/
@JvmName("sfdtwxrmjwoupihl")
public suspend fun additionalPlayerCount(`value`: Output) {
this.additionalPlayerCount = value
}
/**
* @param value The method used to backfill game sessions that are created with this matchmaking configuration.
*/
@JvmName("tyouvwhasyacpnms")
public suspend fun backfillMode(`value`: Output) {
this.backfillMode = value
}
/**
* @param value Information to be added to all events related to this matchmaking configuration.
*/
@JvmName("mmkbrkprjylhylgy")
public suspend fun customEventData(`value`: Output) {
this.customEventData = value
}
/**
* @param value A human-readable description of the matchmaking configuration.
*/
@JvmName("ctjkipijuehyfbdc")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value Indicates whether this matchmaking configuration is being used with GameLift hosting or as a standalone matchmaking solution.
*/
@JvmName("xaobveybjxupavsh")
public suspend fun flexMatchMode(`value`: Output) {
this.flexMatchMode = value
}
/**
* @param value One or more custom game properties. See below.
*/
@JvmName("rqewwtxffduhylxs")
public suspend fun gameProperties(`value`: Output>) {
this.gameProperties = value
}
@JvmName("bfthxalrrcsiutxh")
public suspend fun gameProperties(vararg values: Output) {
this.gameProperties = Output.all(values.asList())
}
/**
* @param values One or more custom game properties. See below.
*/
@JvmName("raxsgdpxvmcrrkhq")
public suspend fun gameProperties(values: List>) {
this.gameProperties = Output.all(values)
}
/**
* @param value A set of custom game session properties.
*/
@JvmName("egieqfkdkinvngrb")
public suspend fun gameSessionData(`value`: Output) {
this.gameSessionData = value
}
/**
* @param value The ARNs of the GameLift game session queue resources.
*/
@JvmName("oobyftpfjtajqdxp")
public suspend fun gameSessionQueueArns(`value`: Output>) {
this.gameSessionQueueArns = value
}
@JvmName("ruktyeymwctvhium")
public suspend fun gameSessionQueueArns(vararg values: Output) {
this.gameSessionQueueArns = Output.all(values.asList())
}
/**
* @param values The ARNs of the GameLift game session queue resources.
*/
@JvmName("hgfjayyfbggpsjli")
public suspend fun gameSessionQueueArns(values: List>) {
this.gameSessionQueueArns = Output.all(values)
}
/**
* @param value Name of the matchmaking configuration
*/
@JvmName("fpwrvkuqellmnbkj")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value An SNS topic ARN that is set up to receive matchmaking notifications.
*/
@JvmName("sxyfkekwvhirtmup")
public suspend fun notificationTarget(`value`: Output) {
this.notificationTarget = value
}
/**
* @param value The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out.
*/
@JvmName("atxhxwmhvvjlaqyy")
public suspend fun requestTimeoutSeconds(`value`: Output) {
this.requestTimeoutSeconds = value
}
/**
* @param value A rule set names for the matchmaking rule set to use with this configuration.
*/
@JvmName("dccvafhqpgguqpur")
public suspend fun ruleSetName(`value`: Output) {
this.ruleSetName = value
}
/**
* @param value Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
@JvmName("ociidyqayhlbtfrq")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
/**
* @param value Specifies if the match that was created with this configuration must be accepted by matched players.
*/
@JvmName("bhbdfmlahrwkjtyl")
public suspend fun acceptanceRequired(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.acceptanceRequired = mapped
}
/**
* @param value The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required.
*/
@JvmName("pjdopfevfedexnjd")
public suspend fun acceptanceTimeoutSeconds(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.acceptanceTimeoutSeconds = mapped
}
/**
* @param value The number of player slots in a match to keep open for future players.
*/
@JvmName("whltdfekwfcjscie")
public suspend fun additionalPlayerCount(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.additionalPlayerCount = mapped
}
/**
* @param value The method used to backfill game sessions that are created with this matchmaking configuration.
*/
@JvmName("fsusiuoqxenjurkf")
public suspend fun backfillMode(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.backfillMode = mapped
}
/**
* @param value Information to be added to all events related to this matchmaking configuration.
*/
@JvmName("kkvbovadiaawlefu")
public suspend fun customEventData(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.customEventData = mapped
}
/**
* @param value A human-readable description of the matchmaking configuration.
*/
@JvmName("kkvhlilxwictrfhl")
public suspend fun description(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.description = mapped
}
/**
* @param value Indicates whether this matchmaking configuration is being used with GameLift hosting or as a standalone matchmaking solution.
*/
@JvmName("higxyorunydqleyw")
public suspend fun flexMatchMode(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.flexMatchMode = mapped
}
/**
* @param value One or more custom game properties. See below.
*/
@JvmName("iyartjoyedbaknxr")
public suspend fun gameProperties(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.gameProperties = mapped
}
/**
* @param argument One or more custom game properties. See below.
*/
@JvmName("byejncicxgulbtrl")
public suspend fun gameProperties(argument: List Unit>) {
val toBeMapped = argument.toList().map {
MatchmakingConfigurationGamePropertyArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.gameProperties = mapped
}
/**
* @param argument One or more custom game properties. See below.
*/
@JvmName("qpebqmbggohuybhg")
public suspend fun gameProperties(vararg argument: suspend MatchmakingConfigurationGamePropertyArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
MatchmakingConfigurationGamePropertyArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.gameProperties = mapped
}
/**
* @param argument One or more custom game properties. See below.
*/
@JvmName("dxuwsorbvdpuavld")
public suspend fun gameProperties(argument: suspend MatchmakingConfigurationGamePropertyArgsBuilder.() -> Unit) {
val toBeMapped = listOf(
MatchmakingConfigurationGamePropertyArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.gameProperties = mapped
}
/**
* @param values One or more custom game properties. See below.
*/
@JvmName("xockcmjixcnekigc")
public suspend fun gameProperties(vararg values: MatchmakingConfigurationGamePropertyArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.gameProperties = mapped
}
/**
* @param value A set of custom game session properties.
*/
@JvmName("etofnmagcwhcfufv")
public suspend fun gameSessionData(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.gameSessionData = mapped
}
/**
* @param value The ARNs of the GameLift game session queue resources.
*/
@JvmName("ojmocvyuuovtpjsq")
public suspend fun gameSessionQueueArns(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.gameSessionQueueArns = mapped
}
/**
* @param values The ARNs of the GameLift game session queue resources.
*/
@JvmName("dnirolhnjqqsavge")
public suspend fun gameSessionQueueArns(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.gameSessionQueueArns = mapped
}
/**
* @param value Name of the matchmaking configuration
*/
@JvmName("htglxctmeidikftm")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value An SNS topic ARN that is set up to receive matchmaking notifications.
*/
@JvmName("ufmrdogladsjkbso")
public suspend fun notificationTarget(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.notificationTarget = mapped
}
/**
* @param value The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out.
*/
@JvmName("ijeheiethktlpwmk")
public suspend fun requestTimeoutSeconds(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.requestTimeoutSeconds = mapped
}
/**
* @param value A rule set names for the matchmaking rule set to use with this configuration.
*/
@JvmName("nsbihpwdybxfckvy")
public suspend fun ruleSetName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.ruleSetName = mapped
}
/**
* @param value Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
@JvmName("ugyxpmymwulhwrhi")
public suspend fun tags(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param values Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
@JvmName("wandaufxmstmdial")
public fun tags(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tags = mapped
}
internal fun build(): MatchmakingConfigurationArgs = MatchmakingConfigurationArgs(
acceptanceRequired = acceptanceRequired,
acceptanceTimeoutSeconds = acceptanceTimeoutSeconds,
additionalPlayerCount = additionalPlayerCount,
backfillMode = backfillMode,
customEventData = customEventData,
description = description,
flexMatchMode = flexMatchMode,
gameProperties = gameProperties,
gameSessionData = gameSessionData,
gameSessionQueueArns = gameSessionQueueArns,
name = name,
notificationTarget = notificationTarget,
requestTimeoutSeconds = requestTimeoutSeconds,
ruleSetName = ruleSetName,
tags = tags,
)
}