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

commonMain.aws.sdk.kotlin.services.cloudfront.serde.DistributionConfigDocumentDeserializer.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.cloudfront.serde

import aws.sdk.kotlin.services.cloudfront.model.DistributionConfig
import aws.sdk.kotlin.services.cloudfront.model.HttpVersion
import aws.sdk.kotlin.services.cloudfront.model.PriceClass
import aws.smithy.kotlin.runtime.serde.getOrDeserializeErr
import aws.smithy.kotlin.runtime.serde.parse
import aws.smithy.kotlin.runtime.serde.parseBoolean
import aws.smithy.kotlin.runtime.serde.xml.XmlTagReader
import aws.smithy.kotlin.runtime.serde.xml.tryData

internal fun deserializeDistributionConfigDocument(reader: XmlTagReader): DistributionConfig {
    val builder = DistributionConfig.Builder()

    loop@while (true) {
        val curr = reader.nextTag() ?: break@loop
        when (curr.tagName) {
            // CallerReference com.amazonaws.cloudfront#DistributionConfig$CallerReference
            "CallerReference" -> builder.callerReference = curr.tryData()
                .getOrDeserializeErr { "expected (string: `com.amazonaws.cloudfront#string`)" }
            // Aliases com.amazonaws.cloudfront#DistributionConfig$Aliases
            "Aliases" -> builder.aliases = deserializeAliasesDocument(curr)
            // DefaultRootObject com.amazonaws.cloudfront#DistributionConfig$DefaultRootObject
            "DefaultRootObject" -> builder.defaultRootObject = curr.tryData()
                .getOrDeserializeErr { "expected (string: `com.amazonaws.cloudfront#string`)" }
            // Origins com.amazonaws.cloudfront#DistributionConfig$Origins
            "Origins" -> builder.origins = deserializeOriginsDocument(curr)
            // OriginGroups com.amazonaws.cloudfront#DistributionConfig$OriginGroups
            "OriginGroups" -> builder.originGroups = deserializeOriginGroupsDocument(curr)
            // DefaultCacheBehavior com.amazonaws.cloudfront#DistributionConfig$DefaultCacheBehavior
            "DefaultCacheBehavior" -> builder.defaultCacheBehavior = deserializeDefaultCacheBehaviorDocument(curr)
            // CacheBehaviors com.amazonaws.cloudfront#DistributionConfig$CacheBehaviors
            "CacheBehaviors" -> builder.cacheBehaviors = deserializeCacheBehaviorsDocument(curr)
            // CustomErrorResponses com.amazonaws.cloudfront#DistributionConfig$CustomErrorResponses
            "CustomErrorResponses" -> builder.customErrorResponses = deserializeCustomErrorResponsesDocument(curr)
            // Comment com.amazonaws.cloudfront#DistributionConfig$Comment
            "Comment" -> builder.comment = curr.tryData()
                .getOrDeserializeErr { "expected (string: `com.amazonaws.cloudfront#CommentType`)" }
            // Logging com.amazonaws.cloudfront#DistributionConfig$Logging
            "Logging" -> builder.logging = deserializeLoggingConfigDocument(curr)
            // PriceClass com.amazonaws.cloudfront#DistributionConfig$PriceClass
            "PriceClass" -> builder.priceClass = curr.tryData()
                .parse { PriceClass.fromValue(it) }
                .getOrDeserializeErr { "expected (enum: `com.amazonaws.cloudfront#PriceClass`)" }
            // Enabled com.amazonaws.cloudfront#DistributionConfig$Enabled
            "Enabled" -> builder.enabled = curr.tryData()
                .parseBoolean()
                .getOrDeserializeErr { "expected (boolean: `com.amazonaws.cloudfront#boolean`)" }
            // ViewerCertificate com.amazonaws.cloudfront#DistributionConfig$ViewerCertificate
            "ViewerCertificate" -> builder.viewerCertificate = deserializeViewerCertificateDocument(curr)
            // Restrictions com.amazonaws.cloudfront#DistributionConfig$Restrictions
            "Restrictions" -> builder.restrictions = deserializeRestrictionsDocument(curr)
            // WebACLId com.amazonaws.cloudfront#DistributionConfig$WebACLId
            "WebACLId" -> builder.webAclId = curr.tryData()
                .getOrDeserializeErr { "expected (string: `com.amazonaws.cloudfront#string`)" }
            // HttpVersion com.amazonaws.cloudfront#DistributionConfig$HttpVersion
            "HttpVersion" -> builder.httpVersion = curr.tryData()
                .parse { HttpVersion.fromValue(it) }
                .getOrDeserializeErr { "expected (enum: `com.amazonaws.cloudfront#HttpVersion`)" }
            // IsIPV6Enabled com.amazonaws.cloudfront#DistributionConfig$IsIPV6Enabled
            "IsIPV6Enabled" -> builder.isIpv6Enabled = curr.tryData()
                .parseBoolean()
                .getOrDeserializeErr { "expected (boolean: `com.amazonaws.cloudfront#boolean`)" }
            // ContinuousDeploymentPolicyId com.amazonaws.cloudfront#DistributionConfig$ContinuousDeploymentPolicyId
            "ContinuousDeploymentPolicyId" -> builder.continuousDeploymentPolicyId = curr.tryData()
                .getOrDeserializeErr { "expected (string: `com.amazonaws.cloudfront#string`)" }
            // Staging com.amazonaws.cloudfront#DistributionConfig$Staging
            "Staging" -> builder.staging = curr.tryData()
                .parseBoolean()
                .getOrDeserializeErr { "expected (boolean: `com.amazonaws.cloudfront#boolean`)" }
            else -> {}
        }
        curr.drop()
    }
    builder.correctErrors()
    return builder.build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy