
commonMain.aws.sdk.kotlin.services.iot.serde.OtaUpdateInfoDocumentDeserializer.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.iot.serde
import aws.sdk.kotlin.services.iot.model.OtaUpdateFile
import aws.sdk.kotlin.services.iot.model.OtaUpdateInfo
import aws.sdk.kotlin.services.iot.model.OtaUpdateStatus
import aws.sdk.kotlin.services.iot.model.Protocol
import aws.sdk.kotlin.services.iot.model.TargetSelection
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
import kotlin.collections.mutableListOf
import kotlin.collections.mutableMapOf
internal fun deserializeOtaUpdateInfoDocument(deserializer: Deserializer): OtaUpdateInfo {
val builder = OtaUpdateInfo.Builder()
val ADDITIONALPARAMETERS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Map, JsonSerialName("additionalParameters"))
val AWSIOTJOBARN_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("awsIotJobArn"))
val AWSIOTJOBID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("awsIotJobId"))
val AWSJOBEXECUTIONSROLLOUTCONFIG_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("awsJobExecutionsRolloutConfig"))
val AWSJOBPRESIGNEDURLCONFIG_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("awsJobPresignedUrlConfig"))
val CREATIONDATE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Timestamp, JsonSerialName("creationDate"))
val DESCRIPTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("description"))
val ERRORINFO_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("errorInfo"))
val LASTMODIFIEDDATE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Timestamp, JsonSerialName("lastModifiedDate"))
val OTAUPDATEARN_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("otaUpdateArn"))
val OTAUPDATEFILES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("otaUpdateFiles"))
val OTAUPDATEID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("otaUpdateId"))
val OTAUPDATESTATUS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("otaUpdateStatus"))
val PROTOCOLS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("protocols"))
val TARGETSELECTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("targetSelection"))
val TARGETS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("targets"))
val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
field(ADDITIONALPARAMETERS_DESCRIPTOR)
field(AWSIOTJOBARN_DESCRIPTOR)
field(AWSIOTJOBID_DESCRIPTOR)
field(AWSJOBEXECUTIONSROLLOUTCONFIG_DESCRIPTOR)
field(AWSJOBPRESIGNEDURLCONFIG_DESCRIPTOR)
field(CREATIONDATE_DESCRIPTOR)
field(DESCRIPTION_DESCRIPTOR)
field(ERRORINFO_DESCRIPTOR)
field(LASTMODIFIEDDATE_DESCRIPTOR)
field(OTAUPDATEARN_DESCRIPTOR)
field(OTAUPDATEFILES_DESCRIPTOR)
field(OTAUPDATEID_DESCRIPTOR)
field(OTAUPDATESTATUS_DESCRIPTOR)
field(PROTOCOLS_DESCRIPTOR)
field(TARGETSELECTION_DESCRIPTOR)
field(TARGETS_DESCRIPTOR)
}
deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
loop@while (true) {
when (findNextFieldIndex()) {
ADDITIONALPARAMETERS_DESCRIPTOR.index -> builder.additionalParameters =
deserializer.deserializeMap(ADDITIONALPARAMETERS_DESCRIPTOR) {
val map0 = mutableMapOf()
while (hasNextEntry()) {
val k0 = key()
val v0 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
map0[k0] = v0
}
map0
}
AWSIOTJOBARN_DESCRIPTOR.index -> builder.awsIotJobArn = deserializeString()
AWSIOTJOBID_DESCRIPTOR.index -> builder.awsIotJobId = deserializeString()
AWSJOBEXECUTIONSROLLOUTCONFIG_DESCRIPTOR.index -> builder.awsJobExecutionsRolloutConfig = deserializeAwsJobExecutionsRolloutConfigDocument(deserializer)
AWSJOBPRESIGNEDURLCONFIG_DESCRIPTOR.index -> builder.awsJobPresignedUrlConfig = deserializeAwsJobPresignedUrlConfigDocument(deserializer)
CREATIONDATE_DESCRIPTOR.index -> builder.creationDate = deserializeString().let { Instant.fromEpochSeconds(it) }
DESCRIPTION_DESCRIPTOR.index -> builder.description = deserializeString()
ERRORINFO_DESCRIPTOR.index -> builder.errorInfo = deserializeErrorInfoDocument(deserializer)
LASTMODIFIEDDATE_DESCRIPTOR.index -> builder.lastModifiedDate = deserializeString().let { Instant.fromEpochSeconds(it) }
OTAUPDATEARN_DESCRIPTOR.index -> builder.otaUpdateArn = deserializeString()
OTAUPDATEFILES_DESCRIPTOR.index -> builder.otaUpdateFiles =
deserializer.deserializeList(OTAUPDATEFILES_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeOtaUpdateFileDocument(deserializer) } else { deserializeNull(); continue }
col0.add(el0)
}
col0
}
OTAUPDATEID_DESCRIPTOR.index -> builder.otaUpdateId = deserializeString()
OTAUPDATESTATUS_DESCRIPTOR.index -> builder.otaUpdateStatus = deserializeString().let { OtaUpdateStatus.fromValue(it) }
PROTOCOLS_DESCRIPTOR.index -> builder.protocols =
deserializer.deserializeList(PROTOCOLS_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeString().let { Protocol.fromValue(it) } } else { deserializeNull(); continue }
col0.add(el0)
}
col0
}
TARGETSELECTION_DESCRIPTOR.index -> builder.targetSelection = deserializeString().let { TargetSelection.fromValue(it) }
TARGETS_DESCRIPTOR.index -> builder.targets =
deserializer.deserializeList(TARGETS_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
col0.add(el0)
}
col0
}
null -> break@loop
else -> skipValue()
}
}
}
builder.correctErrors()
return builder.build()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy