commonMain.aws.sdk.kotlin.services.snowdevicemanagement.transform.CommandDocumentSerializer.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of snowdevicemanagement Show documentation
Show all versions of snowdevicemanagement Show documentation
The AWS Kotlin client for Snow Device Management
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.snowdevicemanagement.transform
import aws.sdk.kotlin.services.snowdevicemanagement.model.Command
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.SerializationException
import aws.smithy.kotlin.runtime.serde.Serializer
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
internal fun serializeCommandDocument(serializer: Serializer, input: Command) {
val REBOOT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("reboot"))
val UNLOCK_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("unlock"))
val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
field(REBOOT_DESCRIPTOR)
field(UNLOCK_DESCRIPTOR)
}
serializer.serializeStruct(OBJ_DESCRIPTOR) {
when (input) {
is Command.Unlock -> field(UNLOCK_DESCRIPTOR, input.value, ::serializeUnlockDocument)
is Command.Reboot -> field(REBOOT_DESCRIPTOR, input.value, ::serializeRebootDocument)
is Command.SdkUnknown -> throw SerializationException("Cannot serialize SdkUnknown")
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy