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

commonMain.aws.sdk.kotlin.services.xray.serde.TraceSummaryDocumentDeserializer.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.xray.serde

import aws.sdk.kotlin.services.xray.model.AvailabilityZoneDetail
import aws.sdk.kotlin.services.xray.model.ErrorRootCause
import aws.sdk.kotlin.services.xray.model.FaultRootCause
import aws.sdk.kotlin.services.xray.model.InstanceIdDetail
import aws.sdk.kotlin.services.xray.model.ResourceArnDetail
import aws.sdk.kotlin.services.xray.model.ResponseTimeRootCause
import aws.sdk.kotlin.services.xray.model.ServiceId
import aws.sdk.kotlin.services.xray.model.TraceSummary
import aws.sdk.kotlin.services.xray.model.TraceUser
import aws.sdk.kotlin.services.xray.model.ValueWithServiceIds
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 deserializeTraceSummaryDocument(deserializer: Deserializer): TraceSummary {
    val builder = TraceSummary.Builder()
    val ANNOTATIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Map, JsonSerialName("Annotations"))
    val ANNOTATIONS_C0_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List)
    val AVAILABILITYZONES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("AvailabilityZones"))
    val DURATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("Duration"))
    val ENTRYPOINT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("EntryPoint"))
    val ERRORROOTCAUSES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("ErrorRootCauses"))
    val FAULTROOTCAUSES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("FaultRootCauses"))
    val HASERROR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("HasError"))
    val HASFAULT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("HasFault"))
    val HASTHROTTLE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("HasThrottle"))
    val HTTP_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("Http"))
    val ID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("Id"))
    val INSTANCEIDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("InstanceIds"))
    val ISPARTIAL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("IsPartial"))
    val MATCHEDEVENTTIME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Timestamp, JsonSerialName("MatchedEventTime"))
    val RESOURCEARNS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("ResourceARNs"))
    val RESPONSETIME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("ResponseTime"))
    val RESPONSETIMEROOTCAUSES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("ResponseTimeRootCauses"))
    val REVISION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("Revision"))
    val SERVICEIDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("ServiceIds"))
    val STARTTIME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Timestamp, JsonSerialName("StartTime"))
    val USERS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("Users"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        field(ANNOTATIONS_DESCRIPTOR)
        field(AVAILABILITYZONES_DESCRIPTOR)
        field(DURATION_DESCRIPTOR)
        field(ENTRYPOINT_DESCRIPTOR)
        field(ERRORROOTCAUSES_DESCRIPTOR)
        field(FAULTROOTCAUSES_DESCRIPTOR)
        field(HASERROR_DESCRIPTOR)
        field(HASFAULT_DESCRIPTOR)
        field(HASTHROTTLE_DESCRIPTOR)
        field(HTTP_DESCRIPTOR)
        field(ID_DESCRIPTOR)
        field(INSTANCEIDS_DESCRIPTOR)
        field(ISPARTIAL_DESCRIPTOR)
        field(MATCHEDEVENTTIME_DESCRIPTOR)
        field(RESOURCEARNS_DESCRIPTOR)
        field(RESPONSETIME_DESCRIPTOR)
        field(RESPONSETIMEROOTCAUSES_DESCRIPTOR)
        field(REVISION_DESCRIPTOR)
        field(SERVICEIDS_DESCRIPTOR)
        field(STARTTIME_DESCRIPTOR)
        field(USERS_DESCRIPTOR)
    }

    deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
        loop@while (true) {
            when (findNextFieldIndex()) {
                ANNOTATIONS_DESCRIPTOR.index -> builder.annotations =
                    deserializer.deserializeMap(ANNOTATIONS_DESCRIPTOR) {
                        val map0 = mutableMapOf>()
                        while (hasNextEntry()) {
                            val k0 = key()
                            val v0 =
                                if (nextHasValue()) {
                                    deserializer.deserializeList(ANNOTATIONS_C0_DESCRIPTOR) {
                                        val col1 = mutableListOf()
                                        while (hasNextElement()) {
                                            val el1 = if (nextHasValue()) { deserializeValueWithServiceIdsDocument(deserializer) } else { deserializeNull(); continue }
                                            col1.add(el1)
                                        }
                                        col1
                                    }
                                } else { deserializeNull(); continue }

                            map0[k0] = v0
                        }
                        map0
                    }
                AVAILABILITYZONES_DESCRIPTOR.index -> builder.availabilityZones =
                    deserializer.deserializeList(AVAILABILITYZONES_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeAvailabilityZoneDetailDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                DURATION_DESCRIPTOR.index -> builder.duration = deserializeDouble()
                ENTRYPOINT_DESCRIPTOR.index -> builder.entryPoint = deserializeServiceIdDocument(deserializer)
                ERRORROOTCAUSES_DESCRIPTOR.index -> builder.errorRootCauses =
                    deserializer.deserializeList(ERRORROOTCAUSES_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeErrorRootCauseDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                FAULTROOTCAUSES_DESCRIPTOR.index -> builder.faultRootCauses =
                    deserializer.deserializeList(FAULTROOTCAUSES_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeFaultRootCauseDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                HASERROR_DESCRIPTOR.index -> builder.hasError = deserializeBoolean()
                HASFAULT_DESCRIPTOR.index -> builder.hasFault = deserializeBoolean()
                HASTHROTTLE_DESCRIPTOR.index -> builder.hasThrottle = deserializeBoolean()
                HTTP_DESCRIPTOR.index -> builder.http = deserializeHttpDocument(deserializer)
                ID_DESCRIPTOR.index -> builder.id = deserializeString()
                INSTANCEIDS_DESCRIPTOR.index -> builder.instanceIds =
                    deserializer.deserializeList(INSTANCEIDS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeInstanceIdDetailDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                ISPARTIAL_DESCRIPTOR.index -> builder.isPartial = deserializeBoolean()
                MATCHEDEVENTTIME_DESCRIPTOR.index -> builder.matchedEventTime = deserializeString().let { Instant.fromEpochSeconds(it) }
                RESOURCEARNS_DESCRIPTOR.index -> builder.resourceArns =
                    deserializer.deserializeList(RESOURCEARNS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeResourceArnDetailDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                RESPONSETIME_DESCRIPTOR.index -> builder.responseTime = deserializeDouble()
                RESPONSETIMEROOTCAUSES_DESCRIPTOR.index -> builder.responseTimeRootCauses =
                    deserializer.deserializeList(RESPONSETIMEROOTCAUSES_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeResponseTimeRootCauseDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                REVISION_DESCRIPTOR.index -> builder.revision = deserializeInt()
                SERVICEIDS_DESCRIPTOR.index -> builder.serviceIds =
                    deserializer.deserializeList(SERVICEIDS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeServiceIdDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                STARTTIME_DESCRIPTOR.index -> builder.startTime = deserializeString().let { Instant.fromEpochSeconds(it) }
                USERS_DESCRIPTOR.index -> builder.users =
                    deserializer.deserializeList(USERS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeTraceUserDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                null -> break@loop
                else -> skipValue()
            }
        }
    }
    builder.correctErrors()
    return builder.build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy