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

commonMain.aws.sdk.kotlin.services.ssm.serde.StepExecutionDocumentDeserializer.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.ssm.serde

import aws.sdk.kotlin.services.ssm.model.AlarmStateInformation
import aws.sdk.kotlin.services.ssm.model.AutomationExecutionStatus
import aws.sdk.kotlin.services.ssm.model.StepExecution
import aws.sdk.kotlin.services.ssm.model.Target
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 aws.smithy.kotlin.runtime.time.TimestampFormat
import kotlin.collections.mutableListOf
import kotlin.collections.mutableMapOf

internal fun deserializeStepExecutionDocument(deserializer: Deserializer): StepExecution {
    val builder = StepExecution.Builder()
    val ACTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("Action"))
    val EXECUTIONENDTIME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Timestamp, JsonSerialName("ExecutionEndTime"))
    val EXECUTIONSTARTTIME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Timestamp, JsonSerialName("ExecutionStartTime"))
    val FAILUREDETAILS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("FailureDetails"))
    val FAILUREMESSAGE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("FailureMessage"))
    val INPUTS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Map, JsonSerialName("Inputs"))
    val ISCRITICAL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("IsCritical"))
    val ISEND_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("IsEnd"))
    val MAXATTEMPTS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("MaxAttempts"))
    val NEXTSTEP_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("NextStep"))
    val ONFAILURE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("OnFailure"))
    val OUTPUTS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Map, JsonSerialName("Outputs"))
    val OUTPUTS_C0_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List)
    val OVERRIDDENPARAMETERS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Map, JsonSerialName("OverriddenParameters"))
    val OVERRIDDENPARAMETERS_C0_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List)
    val PARENTSTEPDETAILS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("ParentStepDetails"))
    val RESPONSE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("Response"))
    val RESPONSECODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("ResponseCode"))
    val STEPEXECUTIONID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("StepExecutionId"))
    val STEPNAME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("StepName"))
    val STEPSTATUS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("StepStatus"))
    val TARGETLOCATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("TargetLocation"))
    val TARGETS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("Targets"))
    val TIMEOUTSECONDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Long, JsonSerialName("TimeoutSeconds"))
    val TRIGGEREDALARMS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("TriggeredAlarms"))
    val VALIDNEXTSTEPS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("ValidNextSteps"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        field(ACTION_DESCRIPTOR)
        field(EXECUTIONENDTIME_DESCRIPTOR)
        field(EXECUTIONSTARTTIME_DESCRIPTOR)
        field(FAILUREDETAILS_DESCRIPTOR)
        field(FAILUREMESSAGE_DESCRIPTOR)
        field(INPUTS_DESCRIPTOR)
        field(ISCRITICAL_DESCRIPTOR)
        field(ISEND_DESCRIPTOR)
        field(MAXATTEMPTS_DESCRIPTOR)
        field(NEXTSTEP_DESCRIPTOR)
        field(ONFAILURE_DESCRIPTOR)
        field(OUTPUTS_DESCRIPTOR)
        field(OVERRIDDENPARAMETERS_DESCRIPTOR)
        field(PARENTSTEPDETAILS_DESCRIPTOR)
        field(RESPONSE_DESCRIPTOR)
        field(RESPONSECODE_DESCRIPTOR)
        field(STEPEXECUTIONID_DESCRIPTOR)
        field(STEPNAME_DESCRIPTOR)
        field(STEPSTATUS_DESCRIPTOR)
        field(TARGETLOCATION_DESCRIPTOR)
        field(TARGETS_DESCRIPTOR)
        field(TIMEOUTSECONDS_DESCRIPTOR)
        field(TRIGGEREDALARMS_DESCRIPTOR)
        field(VALIDNEXTSTEPS_DESCRIPTOR)
    }

    deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
        loop@while (true) {
            when (findNextFieldIndex()) {
                ACTION_DESCRIPTOR.index -> builder.action = deserializeString()
                EXECUTIONENDTIME_DESCRIPTOR.index -> builder.executionEndTime = deserializeInstant(TimestampFormat.EPOCH_SECONDS)
                EXECUTIONSTARTTIME_DESCRIPTOR.index -> builder.executionStartTime = deserializeInstant(TimestampFormat.EPOCH_SECONDS)
                FAILUREDETAILS_DESCRIPTOR.index -> builder.failureDetails = deserializeFailureDetailsDocument(deserializer)
                FAILUREMESSAGE_DESCRIPTOR.index -> builder.failureMessage = deserializeString()
                INPUTS_DESCRIPTOR.index -> builder.inputs =
                    deserializer.deserializeMap(INPUTS_DESCRIPTOR) {
                        val map0 = mutableMapOf()
                        while (hasNextEntry()) {
                            val k0 = key()
                            val v0 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
                            map0[k0] = v0
                        }
                        map0
                    }
                ISCRITICAL_DESCRIPTOR.index -> builder.isCritical = deserializeBoolean()
                ISEND_DESCRIPTOR.index -> builder.isEnd = deserializeBoolean()
                MAXATTEMPTS_DESCRIPTOR.index -> builder.maxAttempts = deserializeInt()
                NEXTSTEP_DESCRIPTOR.index -> builder.nextStep = deserializeString()
                ONFAILURE_DESCRIPTOR.index -> builder.onFailure = deserializeString()
                OUTPUTS_DESCRIPTOR.index -> builder.outputs =
                    deserializer.deserializeMap(OUTPUTS_DESCRIPTOR) {
                        val map0 = mutableMapOf>()
                        while (hasNextEntry()) {
                            val k0 = key()
                            val v0 =
                                if (nextHasValue()) {
                                    deserializer.deserializeList(OUTPUTS_C0_DESCRIPTOR) {
                                        val col1 = mutableListOf()
                                        while (hasNextElement()) {
                                            val el1 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
                                            col1.add(el1)
                                        }
                                        col1
                                    }
                                } else { deserializeNull(); continue }

                            map0[k0] = v0
                        }
                        map0
                    }
                OVERRIDDENPARAMETERS_DESCRIPTOR.index -> builder.overriddenParameters =
                    deserializer.deserializeMap(OVERRIDDENPARAMETERS_DESCRIPTOR) {
                        val map0 = mutableMapOf>()
                        while (hasNextEntry()) {
                            val k0 = key()
                            val v0 =
                                if (nextHasValue()) {
                                    deserializer.deserializeList(OVERRIDDENPARAMETERS_C0_DESCRIPTOR) {
                                        val col1 = mutableListOf()
                                        while (hasNextElement()) {
                                            val el1 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
                                            col1.add(el1)
                                        }
                                        col1
                                    }
                                } else { deserializeNull(); continue }

                            map0[k0] = v0
                        }
                        map0
                    }
                PARENTSTEPDETAILS_DESCRIPTOR.index -> builder.parentStepDetails = deserializeParentStepDetailsDocument(deserializer)
                RESPONSE_DESCRIPTOR.index -> builder.response = deserializeString()
                RESPONSECODE_DESCRIPTOR.index -> builder.responseCode = deserializeString()
                STEPEXECUTIONID_DESCRIPTOR.index -> builder.stepExecutionId = deserializeString()
                STEPNAME_DESCRIPTOR.index -> builder.stepName = deserializeString()
                STEPSTATUS_DESCRIPTOR.index -> builder.stepStatus = deserializeString().let { AutomationExecutionStatus.fromValue(it) }
                TARGETLOCATION_DESCRIPTOR.index -> builder.targetLocation = deserializeTargetLocationDocument(deserializer)
                TARGETS_DESCRIPTOR.index -> builder.targets =
                    deserializer.deserializeList(TARGETS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeTargetDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                TIMEOUTSECONDS_DESCRIPTOR.index -> builder.timeoutSeconds = deserializeLong()
                TRIGGEREDALARMS_DESCRIPTOR.index -> builder.triggeredAlarms =
                    deserializer.deserializeList(TRIGGEREDALARMS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeAlarmStateInformationDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                VALIDNEXTSTEPS_DESCRIPTOR.index -> builder.validNextSteps =
                    deserializer.deserializeList(VALIDNEXTSTEPS_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