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

commonMain.aws.sdk.kotlin.services.kendra.serde.GitHubConfigurationDocumentDeserializer.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.kendra.serde

import aws.sdk.kotlin.services.kendra.model.DataSourceToIndexFieldMapping
import aws.sdk.kotlin.services.kendra.model.GitHubConfiguration
import aws.sdk.kotlin.services.kendra.model.Type
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.mutableListOf

internal fun deserializeGitHubConfigurationDocument(deserializer: Deserializer): GitHubConfiguration {
    val builder = GitHubConfiguration.Builder()
    val EXCLUSIONFILENAMEPATTERNS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("ExclusionFileNamePatterns"))
    val EXCLUSIONFILETYPEPATTERNS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("ExclusionFileTypePatterns"))
    val EXCLUSIONFOLDERNAMEPATTERNS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("ExclusionFolderNamePatterns"))
    val GITHUBCOMMITCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("GitHubCommitConfigurationFieldMappings"))
    val GITHUBDOCUMENTCRAWLPROPERTIES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("GitHubDocumentCrawlProperties"))
    val GITHUBISSUEATTACHMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("GitHubIssueAttachmentConfigurationFieldMappings"))
    val GITHUBISSUECOMMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("GitHubIssueCommentConfigurationFieldMappings"))
    val GITHUBISSUEDOCUMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("GitHubIssueDocumentConfigurationFieldMappings"))
    val GITHUBPULLREQUESTCOMMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("GitHubPullRequestCommentConfigurationFieldMappings"))
    val GITHUBPULLREQUESTDOCUMENTATTACHMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("GitHubPullRequestDocumentAttachmentConfigurationFieldMappings"))
    val GITHUBPULLREQUESTDOCUMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("GitHubPullRequestDocumentConfigurationFieldMappings"))
    val GITHUBREPOSITORYCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("GitHubRepositoryConfigurationFieldMappings"))
    val INCLUSIONFILENAMEPATTERNS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("InclusionFileNamePatterns"))
    val INCLUSIONFILETYPEPATTERNS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("InclusionFileTypePatterns"))
    val INCLUSIONFOLDERNAMEPATTERNS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("InclusionFolderNamePatterns"))
    val ONPREMISECONFIGURATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("OnPremiseConfiguration"))
    val REPOSITORYFILTER_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("RepositoryFilter"))
    val SAASCONFIGURATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("SaaSConfiguration"))
    val SECRETARN_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("SecretArn"))
    val TYPE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("Type"))
    val USECHANGELOG_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("UseChangeLog"))
    val VPCCONFIGURATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("VpcConfiguration"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        field(EXCLUSIONFILENAMEPATTERNS_DESCRIPTOR)
        field(EXCLUSIONFILETYPEPATTERNS_DESCRIPTOR)
        field(EXCLUSIONFOLDERNAMEPATTERNS_DESCRIPTOR)
        field(GITHUBCOMMITCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR)
        field(GITHUBDOCUMENTCRAWLPROPERTIES_DESCRIPTOR)
        field(GITHUBISSUEATTACHMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR)
        field(GITHUBISSUECOMMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR)
        field(GITHUBISSUEDOCUMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR)
        field(GITHUBPULLREQUESTCOMMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR)
        field(GITHUBPULLREQUESTDOCUMENTATTACHMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR)
        field(GITHUBPULLREQUESTDOCUMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR)
        field(GITHUBREPOSITORYCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR)
        field(INCLUSIONFILENAMEPATTERNS_DESCRIPTOR)
        field(INCLUSIONFILETYPEPATTERNS_DESCRIPTOR)
        field(INCLUSIONFOLDERNAMEPATTERNS_DESCRIPTOR)
        field(ONPREMISECONFIGURATION_DESCRIPTOR)
        field(REPOSITORYFILTER_DESCRIPTOR)
        field(SAASCONFIGURATION_DESCRIPTOR)
        field(SECRETARN_DESCRIPTOR)
        field(TYPE_DESCRIPTOR)
        field(USECHANGELOG_DESCRIPTOR)
        field(VPCCONFIGURATION_DESCRIPTOR)
    }

    deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
        loop@while (true) {
            when (findNextFieldIndex()) {
                EXCLUSIONFILENAMEPATTERNS_DESCRIPTOR.index -> builder.exclusionFileNamePatterns =
                    deserializer.deserializeList(EXCLUSIONFILENAMEPATTERNS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                EXCLUSIONFILETYPEPATTERNS_DESCRIPTOR.index -> builder.exclusionFileTypePatterns =
                    deserializer.deserializeList(EXCLUSIONFILETYPEPATTERNS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                EXCLUSIONFOLDERNAMEPATTERNS_DESCRIPTOR.index -> builder.exclusionFolderNamePatterns =
                    deserializer.deserializeList(EXCLUSIONFOLDERNAMEPATTERNS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                GITHUBCOMMITCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR.index -> builder.gitHubCommitConfigurationFieldMappings =
                    deserializer.deserializeList(GITHUBCOMMITCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeDataSourceToIndexFieldMappingDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                GITHUBDOCUMENTCRAWLPROPERTIES_DESCRIPTOR.index -> builder.gitHubDocumentCrawlProperties = deserializeGitHubDocumentCrawlPropertiesDocument(deserializer)
                GITHUBISSUEATTACHMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR.index -> builder.gitHubIssueAttachmentConfigurationFieldMappings =
                    deserializer.deserializeList(GITHUBISSUEATTACHMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeDataSourceToIndexFieldMappingDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                GITHUBISSUECOMMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR.index -> builder.gitHubIssueCommentConfigurationFieldMappings =
                    deserializer.deserializeList(GITHUBISSUECOMMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeDataSourceToIndexFieldMappingDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                GITHUBISSUEDOCUMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR.index -> builder.gitHubIssueDocumentConfigurationFieldMappings =
                    deserializer.deserializeList(GITHUBISSUEDOCUMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeDataSourceToIndexFieldMappingDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                GITHUBPULLREQUESTCOMMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR.index -> builder.gitHubPullRequestCommentConfigurationFieldMappings =
                    deserializer.deserializeList(GITHUBPULLREQUESTCOMMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeDataSourceToIndexFieldMappingDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                GITHUBPULLREQUESTDOCUMENTATTACHMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR.index -> builder.gitHubPullRequestDocumentAttachmentConfigurationFieldMappings =
                    deserializer.deserializeList(GITHUBPULLREQUESTDOCUMENTATTACHMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeDataSourceToIndexFieldMappingDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                GITHUBPULLREQUESTDOCUMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR.index -> builder.gitHubPullRequestDocumentConfigurationFieldMappings =
                    deserializer.deserializeList(GITHUBPULLREQUESTDOCUMENTCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeDataSourceToIndexFieldMappingDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                GITHUBREPOSITORYCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR.index -> builder.gitHubRepositoryConfigurationFieldMappings =
                    deserializer.deserializeList(GITHUBREPOSITORYCONFIGURATIONFIELDMAPPINGS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeDataSourceToIndexFieldMappingDocument(deserializer) } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                INCLUSIONFILENAMEPATTERNS_DESCRIPTOR.index -> builder.inclusionFileNamePatterns =
                    deserializer.deserializeList(INCLUSIONFILENAMEPATTERNS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                INCLUSIONFILETYPEPATTERNS_DESCRIPTOR.index -> builder.inclusionFileTypePatterns =
                    deserializer.deserializeList(INCLUSIONFILETYPEPATTERNS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                INCLUSIONFOLDERNAMEPATTERNS_DESCRIPTOR.index -> builder.inclusionFolderNamePatterns =
                    deserializer.deserializeList(INCLUSIONFOLDERNAMEPATTERNS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                ONPREMISECONFIGURATION_DESCRIPTOR.index -> builder.onPremiseConfiguration = deserializeOnPremiseConfigurationDocument(deserializer)
                REPOSITORYFILTER_DESCRIPTOR.index -> builder.repositoryFilter =
                    deserializer.deserializeList(REPOSITORYFILTER_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                SAASCONFIGURATION_DESCRIPTOR.index -> builder.saaSConfiguration = deserializeSaaSConfigurationDocument(deserializer)
                SECRETARN_DESCRIPTOR.index -> builder.secretArn = deserializeString()
                TYPE_DESCRIPTOR.index -> builder.type = deserializeString().let { Type.fromValue(it) }
                USECHANGELOG_DESCRIPTOR.index -> builder.useChangeLog = deserializeBoolean()
                VPCCONFIGURATION_DESCRIPTOR.index -> builder.vpcConfiguration = deserializeDataSourceVpcConfigurationDocument(deserializer)
                null -> break@loop
                else -> skipValue()
            }
        }
    }
    builder.correctErrors()
    return builder.build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy