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

commonMain.aws.sdk.kotlin.services.fms.transform.RemediationActionDocumentDeserializer.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.fms.transform

import aws.sdk.kotlin.services.fms.model.RemediationAction
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

internal fun deserializeRemediationActionDocument(deserializer: Deserializer): RemediationAction {
    val builder = RemediationAction.Builder()
    val DESCRIPTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("Description"))
    val EC2ASSOCIATEROUTETABLEACTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("EC2AssociateRouteTableAction"))
    val EC2COPYROUTETABLEACTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("EC2CopyRouteTableAction"))
    val EC2CREATEROUTEACTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("EC2CreateRouteAction"))
    val EC2CREATEROUTETABLEACTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("EC2CreateRouteTableAction"))
    val EC2DELETEROUTEACTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("EC2DeleteRouteAction"))
    val EC2REPLACEROUTEACTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("EC2ReplaceRouteAction"))
    val EC2REPLACEROUTETABLEASSOCIATIONACTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("EC2ReplaceRouteTableAssociationAction"))
    val FMSPOLICYUPDATEFIREWALLCREATIONCONFIGACTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("FMSPolicyUpdateFirewallCreationConfigAction"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        field(DESCRIPTION_DESCRIPTOR)
        field(EC2ASSOCIATEROUTETABLEACTION_DESCRIPTOR)
        field(EC2COPYROUTETABLEACTION_DESCRIPTOR)
        field(EC2CREATEROUTEACTION_DESCRIPTOR)
        field(EC2CREATEROUTETABLEACTION_DESCRIPTOR)
        field(EC2DELETEROUTEACTION_DESCRIPTOR)
        field(EC2REPLACEROUTEACTION_DESCRIPTOR)
        field(EC2REPLACEROUTETABLEASSOCIATIONACTION_DESCRIPTOR)
        field(FMSPOLICYUPDATEFIREWALLCREATIONCONFIGACTION_DESCRIPTOR)
    }

    deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
        loop@while (true) {
            when (findNextFieldIndex()) {
                DESCRIPTION_DESCRIPTOR.index -> builder.description = deserializeString()
                EC2ASSOCIATEROUTETABLEACTION_DESCRIPTOR.index -> builder.ec2AssociateRouteTableAction = deserializeEc2AssociateRouteTableActionDocument(deserializer)
                EC2COPYROUTETABLEACTION_DESCRIPTOR.index -> builder.ec2CopyRouteTableAction = deserializeEc2CopyRouteTableActionDocument(deserializer)
                EC2CREATEROUTEACTION_DESCRIPTOR.index -> builder.ec2CreateRouteAction = deserializeEc2CreateRouteActionDocument(deserializer)
                EC2CREATEROUTETABLEACTION_DESCRIPTOR.index -> builder.ec2CreateRouteTableAction = deserializeEc2CreateRouteTableActionDocument(deserializer)
                EC2DELETEROUTEACTION_DESCRIPTOR.index -> builder.ec2DeleteRouteAction = deserializeEc2DeleteRouteActionDocument(deserializer)
                EC2REPLACEROUTEACTION_DESCRIPTOR.index -> builder.ec2ReplaceRouteAction = deserializeEc2ReplaceRouteActionDocument(deserializer)
                EC2REPLACEROUTETABLEASSOCIATIONACTION_DESCRIPTOR.index -> builder.ec2ReplaceRouteTableAssociationAction = deserializeEc2ReplaceRouteTableAssociationActionDocument(deserializer)
                FMSPOLICYUPDATEFIREWALLCREATIONCONFIGACTION_DESCRIPTOR.index -> builder.fmsPolicyUpdateFirewallCreationConfigAction = deserializeFmsPolicyUpdateFirewallCreationConfigActionDocument(deserializer)
                null -> break@loop
                else -> skipValue()
            }
        }
    }
    return builder.build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy