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

commonMain.aws.sdk.kotlin.services.opensearch.serde.DomainStatusDocumentDeserializer.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.opensearch.serde

import aws.sdk.kotlin.services.opensearch.model.DomainStatus
import aws.sdk.kotlin.services.opensearch.model.IpAddressType
import aws.sdk.kotlin.services.opensearch.model.LogPublishingOption
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 kotlin.collections.mutableMapOf

internal fun deserializeDomainStatusDocument(deserializer: Deserializer): DomainStatus {
    val builder = DomainStatus.Builder()
    val ARN_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("ARN"))
    val ACCESSPOLICIES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("AccessPolicies"))
    val ADVANCEDOPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Map, JsonSerialName("AdvancedOptions"))
    val ADVANCEDSECURITYOPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("AdvancedSecurityOptions"))
    val AUTOTUNEOPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("AutoTuneOptions"))
    val CHANGEPROGRESSDETAILS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("ChangeProgressDetails"))
    val CLUSTERCONFIG_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("ClusterConfig"))
    val COGNITOOPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("CognitoOptions"))
    val CREATED_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("Created"))
    val DELETED_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("Deleted"))
    val DOMAINENDPOINTOPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("DomainEndpointOptions"))
    val DOMAINID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("DomainId"))
    val DOMAINNAME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("DomainName"))
    val EBSOPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("EBSOptions"))
    val ENCRYPTIONATRESTOPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("EncryptionAtRestOptions"))
    val ENDPOINT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("Endpoint"))
    val ENDPOINTV2_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("EndpointV2"))
    val ENDPOINTS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Map, JsonSerialName("Endpoints"))
    val ENGINEVERSION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("EngineVersion"))
    val IPADDRESSTYPE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("IPAddressType"))
    val LOGPUBLISHINGOPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Map, JsonSerialName("LogPublishingOptions"))
    val NODETONODEENCRYPTIONOPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("NodeToNodeEncryptionOptions"))
    val OFFPEAKWINDOWOPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("OffPeakWindowOptions"))
    val PROCESSING_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("Processing"))
    val SERVICESOFTWAREOPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("ServiceSoftwareOptions"))
    val SNAPSHOTOPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("SnapshotOptions"))
    val SOFTWAREUPDATEOPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("SoftwareUpdateOptions"))
    val UPGRADEPROCESSING_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("UpgradeProcessing"))
    val VPCOPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("VPCOptions"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        field(ARN_DESCRIPTOR)
        field(ACCESSPOLICIES_DESCRIPTOR)
        field(ADVANCEDOPTIONS_DESCRIPTOR)
        field(ADVANCEDSECURITYOPTIONS_DESCRIPTOR)
        field(AUTOTUNEOPTIONS_DESCRIPTOR)
        field(CHANGEPROGRESSDETAILS_DESCRIPTOR)
        field(CLUSTERCONFIG_DESCRIPTOR)
        field(COGNITOOPTIONS_DESCRIPTOR)
        field(CREATED_DESCRIPTOR)
        field(DELETED_DESCRIPTOR)
        field(DOMAINENDPOINTOPTIONS_DESCRIPTOR)
        field(DOMAINID_DESCRIPTOR)
        field(DOMAINNAME_DESCRIPTOR)
        field(EBSOPTIONS_DESCRIPTOR)
        field(ENCRYPTIONATRESTOPTIONS_DESCRIPTOR)
        field(ENDPOINT_DESCRIPTOR)
        field(ENDPOINTV2_DESCRIPTOR)
        field(ENDPOINTS_DESCRIPTOR)
        field(ENGINEVERSION_DESCRIPTOR)
        field(IPADDRESSTYPE_DESCRIPTOR)
        field(LOGPUBLISHINGOPTIONS_DESCRIPTOR)
        field(NODETONODEENCRYPTIONOPTIONS_DESCRIPTOR)
        field(OFFPEAKWINDOWOPTIONS_DESCRIPTOR)
        field(PROCESSING_DESCRIPTOR)
        field(SERVICESOFTWAREOPTIONS_DESCRIPTOR)
        field(SNAPSHOTOPTIONS_DESCRIPTOR)
        field(SOFTWAREUPDATEOPTIONS_DESCRIPTOR)
        field(UPGRADEPROCESSING_DESCRIPTOR)
        field(VPCOPTIONS_DESCRIPTOR)
    }

    deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
        loop@while (true) {
            when (findNextFieldIndex()) {
                ARN_DESCRIPTOR.index -> builder.arn = deserializeString()
                ACCESSPOLICIES_DESCRIPTOR.index -> builder.accessPolicies = deserializeString()
                ADVANCEDOPTIONS_DESCRIPTOR.index -> builder.advancedOptions =
                    deserializer.deserializeMap(ADVANCEDOPTIONS_DESCRIPTOR) {
                        val map0 = mutableMapOf()
                        while (hasNextEntry()) {
                            val k0 = key()
                            val v0 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
                            map0[k0] = v0
                        }
                        map0
                    }
                ADVANCEDSECURITYOPTIONS_DESCRIPTOR.index -> builder.advancedSecurityOptions = deserializeAdvancedSecurityOptionsDocument(deserializer)
                AUTOTUNEOPTIONS_DESCRIPTOR.index -> builder.autoTuneOptions = deserializeAutoTuneOptionsOutputDocument(deserializer)
                CHANGEPROGRESSDETAILS_DESCRIPTOR.index -> builder.changeProgressDetails = deserializeChangeProgressDetailsDocument(deserializer)
                CLUSTERCONFIG_DESCRIPTOR.index -> builder.clusterConfig = deserializeClusterConfigDocument(deserializer)
                COGNITOOPTIONS_DESCRIPTOR.index -> builder.cognitoOptions = deserializeCognitoOptionsDocument(deserializer)
                CREATED_DESCRIPTOR.index -> builder.created = deserializeBoolean()
                DELETED_DESCRIPTOR.index -> builder.deleted = deserializeBoolean()
                DOMAINENDPOINTOPTIONS_DESCRIPTOR.index -> builder.domainEndpointOptions = deserializeDomainEndpointOptionsDocument(deserializer)
                DOMAINID_DESCRIPTOR.index -> builder.domainId = deserializeString()
                DOMAINNAME_DESCRIPTOR.index -> builder.domainName = deserializeString()
                EBSOPTIONS_DESCRIPTOR.index -> builder.ebsOptions = deserializeEbsOptionsDocument(deserializer)
                ENCRYPTIONATRESTOPTIONS_DESCRIPTOR.index -> builder.encryptionAtRestOptions = deserializeEncryptionAtRestOptionsDocument(deserializer)
                ENDPOINT_DESCRIPTOR.index -> builder.endpoint = deserializeString()
                ENDPOINTV2_DESCRIPTOR.index -> builder.endpointV2 = deserializeString()
                ENDPOINTS_DESCRIPTOR.index -> builder.endpoints =
                    deserializer.deserializeMap(ENDPOINTS_DESCRIPTOR) {
                        val map0 = mutableMapOf()
                        while (hasNextEntry()) {
                            val k0 = key()
                            val v0 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
                            map0[k0] = v0
                        }
                        map0
                    }
                ENGINEVERSION_DESCRIPTOR.index -> builder.engineVersion = deserializeString()
                IPADDRESSTYPE_DESCRIPTOR.index -> builder.ipAddressType = deserializeString().let { IpAddressType.fromValue(it) }
                LOGPUBLISHINGOPTIONS_DESCRIPTOR.index -> builder.logPublishingOptions =
                    deserializer.deserializeMap(LOGPUBLISHINGOPTIONS_DESCRIPTOR) {
                        val map0 = mutableMapOf()
                        while (hasNextEntry()) {
                            val k0 = key()
                            val v0 = if (nextHasValue()) { deserializeLogPublishingOptionDocument(deserializer) } else { deserializeNull(); continue }
                            map0[k0] = v0
                        }
                        map0
                    }
                NODETONODEENCRYPTIONOPTIONS_DESCRIPTOR.index -> builder.nodeToNodeEncryptionOptions = deserializeNodeToNodeEncryptionOptionsDocument(deserializer)
                OFFPEAKWINDOWOPTIONS_DESCRIPTOR.index -> builder.offPeakWindowOptions = deserializeOffPeakWindowOptionsDocument(deserializer)
                PROCESSING_DESCRIPTOR.index -> builder.processing = deserializeBoolean()
                SERVICESOFTWAREOPTIONS_DESCRIPTOR.index -> builder.serviceSoftwareOptions = deserializeServiceSoftwareOptionsDocument(deserializer)
                SNAPSHOTOPTIONS_DESCRIPTOR.index -> builder.snapshotOptions = deserializeSnapshotOptionsDocument(deserializer)
                SOFTWAREUPDATEOPTIONS_DESCRIPTOR.index -> builder.softwareUpdateOptions = deserializeSoftwareUpdateOptionsDocument(deserializer)
                UPGRADEPROCESSING_DESCRIPTOR.index -> builder.upgradeProcessing = deserializeBoolean()
                VPCOPTIONS_DESCRIPTOR.index -> builder.vpcOptions = deserializeVpcDerivedInfoDocument(deserializer)
                null -> break@loop
                else -> skipValue()
            }
        }
    }
    builder.correctErrors()
    return builder.build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy