
commonMain.aws.sdk.kotlin.services.gamelift.serde.GameServerDocumentDeserializer.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.gamelift.serde
import aws.sdk.kotlin.services.gamelift.model.GameServer
import aws.sdk.kotlin.services.gamelift.model.GameServerClaimStatus
import aws.sdk.kotlin.services.gamelift.model.GameServerUtilizationStatus
import aws.smithy.kotlin.runtime.serde.Deserializer
import aws.smithy.kotlin.runtime.serde.SdkFieldDescriptor
import aws.smithy.kotlin.runtime.serde.SdkObjectDescriptor
import aws.smithy.kotlin.runtime.serde.SerialKind
import aws.smithy.kotlin.runtime.serde.asSdkSerializable
import aws.smithy.kotlin.runtime.serde.deserializeList
import aws.smithy.kotlin.runtime.serde.deserializeMap
import aws.smithy.kotlin.runtime.serde.deserializeStruct
import aws.smithy.kotlin.runtime.serde.field
import aws.smithy.kotlin.runtime.serde.json.JsonDeserializer
import aws.smithy.kotlin.runtime.serde.json.JsonSerialName
import aws.smithy.kotlin.runtime.serde.serializeList
import aws.smithy.kotlin.runtime.serde.serializeMap
import aws.smithy.kotlin.runtime.serde.serializeStruct
import aws.smithy.kotlin.runtime.time.Instant
internal fun deserializeGameServerDocument(deserializer: Deserializer): GameServer {
val builder = GameServer.Builder()
val CLAIMSTATUS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("ClaimStatus"))
val CONNECTIONINFO_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("ConnectionInfo"))
val GAMESERVERDATA_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("GameServerData"))
val GAMESERVERGROUPARN_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("GameServerGroupArn"))
val GAMESERVERGROUPNAME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("GameServerGroupName"))
val GAMESERVERID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("GameServerId"))
val INSTANCEID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("InstanceId"))
val LASTCLAIMTIME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Timestamp, JsonSerialName("LastClaimTime"))
val LASTHEALTHCHECKTIME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Timestamp, JsonSerialName("LastHealthCheckTime"))
val REGISTRATIONTIME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Timestamp, JsonSerialName("RegistrationTime"))
val UTILIZATIONSTATUS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("UtilizationStatus"))
val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
field(CLAIMSTATUS_DESCRIPTOR)
field(CONNECTIONINFO_DESCRIPTOR)
field(GAMESERVERDATA_DESCRIPTOR)
field(GAMESERVERGROUPARN_DESCRIPTOR)
field(GAMESERVERGROUPNAME_DESCRIPTOR)
field(GAMESERVERID_DESCRIPTOR)
field(INSTANCEID_DESCRIPTOR)
field(LASTCLAIMTIME_DESCRIPTOR)
field(LASTHEALTHCHECKTIME_DESCRIPTOR)
field(REGISTRATIONTIME_DESCRIPTOR)
field(UTILIZATIONSTATUS_DESCRIPTOR)
}
deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
loop@while (true) {
when (findNextFieldIndex()) {
CLAIMSTATUS_DESCRIPTOR.index -> builder.claimStatus = deserializeString().let { GameServerClaimStatus.fromValue(it) }
CONNECTIONINFO_DESCRIPTOR.index -> builder.connectionInfo = deserializeString()
GAMESERVERDATA_DESCRIPTOR.index -> builder.gameServerData = deserializeString()
GAMESERVERGROUPARN_DESCRIPTOR.index -> builder.gameServerGroupArn = deserializeString()
GAMESERVERGROUPNAME_DESCRIPTOR.index -> builder.gameServerGroupName = deserializeString()
GAMESERVERID_DESCRIPTOR.index -> builder.gameServerId = deserializeString()
INSTANCEID_DESCRIPTOR.index -> builder.instanceId = deserializeString()
LASTCLAIMTIME_DESCRIPTOR.index -> builder.lastClaimTime = deserializeString().let { Instant.fromEpochSeconds(it) }
LASTHEALTHCHECKTIME_DESCRIPTOR.index -> builder.lastHealthCheckTime = deserializeString().let { Instant.fromEpochSeconds(it) }
REGISTRATIONTIME_DESCRIPTOR.index -> builder.registrationTime = deserializeString().let { Instant.fromEpochSeconds(it) }
UTILIZATIONSTATUS_DESCRIPTOR.index -> builder.utilizationStatus = deserializeString().let { GameServerUtilizationStatus.fromValue(it) }
null -> break@loop
else -> skipValue()
}
}
}
builder.correctErrors()
return builder.build()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy