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

commonMain.aws.sdk.kotlin.services.elasticloadbalancingv2.serde.RuleConditionDocumentDeserializer.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.elasticloadbalancingv2.serde

import aws.sdk.kotlin.services.elasticloadbalancingv2.model.RuleCondition
import aws.smithy.kotlin.runtime.serde.getOrDeserializeErr
import aws.smithy.kotlin.runtime.serde.xml.XmlTagReader
import aws.smithy.kotlin.runtime.serde.xml.tryData

internal fun deserializeRuleConditionDocument(reader: XmlTagReader): RuleCondition {
    val builder = RuleCondition.Builder()

    loop@while (true) {
        val curr = reader.nextTag() ?: break@loop
        when (curr.tagName) {
            // Field com.amazonaws.elasticloadbalancingv2#RuleCondition$Field
            "Field" -> builder.field = curr.tryData()
                .getOrDeserializeErr { "expected (string: `com.amazonaws.elasticloadbalancingv2#ConditionFieldName`)" }
            // Values com.amazonaws.elasticloadbalancingv2#RuleCondition$Values
            "Values" -> builder.values = deserializeListOfStringShape(curr)
            // HostHeaderConfig com.amazonaws.elasticloadbalancingv2#RuleCondition$HostHeaderConfig
            "HostHeaderConfig" -> builder.hostHeaderConfig = deserializeHostHeaderConditionConfigDocument(curr)
            // PathPatternConfig com.amazonaws.elasticloadbalancingv2#RuleCondition$PathPatternConfig
            "PathPatternConfig" -> builder.pathPatternConfig = deserializePathPatternConditionConfigDocument(curr)
            // HttpHeaderConfig com.amazonaws.elasticloadbalancingv2#RuleCondition$HttpHeaderConfig
            "HttpHeaderConfig" -> builder.httpHeaderConfig = deserializeHttpHeaderConditionConfigDocument(curr)
            // QueryStringConfig com.amazonaws.elasticloadbalancingv2#RuleCondition$QueryStringConfig
            "QueryStringConfig" -> builder.queryStringConfig = deserializeQueryStringConditionConfigDocument(curr)
            // HttpRequestMethodConfig com.amazonaws.elasticloadbalancingv2#RuleCondition$HttpRequestMethodConfig
            "HttpRequestMethodConfig" -> builder.httpRequestMethodConfig = deserializeHttpRequestMethodConditionConfigDocument(curr)
            // SourceIpConfig com.amazonaws.elasticloadbalancingv2#RuleCondition$SourceIpConfig
            "SourceIpConfig" -> builder.sourceIpConfig = deserializeSourceIpConditionConfigDocument(curr)
            else -> {}
        }
        curr.drop()
    }
    builder.correctErrors()
    return builder.build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy