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

commonMain.aws.sdk.kotlin.services.fsx.serde.OntapVolumeConfigurationDocumentDeserializer.kt Maven / Gradle / Ivy

There is a newer version: 1.3.34
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.fsx.serde

import aws.sdk.kotlin.services.fsx.model.FlexCacheEndpointType
import aws.sdk.kotlin.services.fsx.model.OntapVolumeConfiguration
import aws.sdk.kotlin.services.fsx.model.OntapVolumeType
import aws.sdk.kotlin.services.fsx.model.SecurityStyle
import aws.sdk.kotlin.services.fsx.model.VolumeStyle
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 deserializeOntapVolumeConfigurationDocument(deserializer: Deserializer): OntapVolumeConfiguration {
    val builder = OntapVolumeConfiguration.Builder()
    val AGGREGATECONFIGURATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("AggregateConfiguration"))
    val COPYTAGSTOBACKUPS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("CopyTagsToBackups"))
    val FLEXCACHEENDPOINTTYPE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("FlexCacheEndpointType"))
    val JUNCTIONPATH_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("JunctionPath"))
    val ONTAPVOLUMETYPE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("OntapVolumeType"))
    val SECURITYSTYLE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("SecurityStyle"))
    val SIZEINBYTES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Long, JsonSerialName("SizeInBytes"))
    val SIZEINMEGABYTES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("SizeInMegabytes"))
    val SNAPLOCKCONFIGURATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("SnaplockConfiguration"))
    val SNAPSHOTPOLICY_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("SnapshotPolicy"))
    val STORAGEEFFICIENCYENABLED_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("StorageEfficiencyEnabled"))
    val STORAGEVIRTUALMACHINEID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("StorageVirtualMachineId"))
    val STORAGEVIRTUALMACHINEROOT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("StorageVirtualMachineRoot"))
    val TIERINGPOLICY_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("TieringPolicy"))
    val UUID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("UUID"))
    val VOLUMESTYLE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("VolumeStyle"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        field(AGGREGATECONFIGURATION_DESCRIPTOR)
        field(COPYTAGSTOBACKUPS_DESCRIPTOR)
        field(FLEXCACHEENDPOINTTYPE_DESCRIPTOR)
        field(JUNCTIONPATH_DESCRIPTOR)
        field(ONTAPVOLUMETYPE_DESCRIPTOR)
        field(SECURITYSTYLE_DESCRIPTOR)
        field(SIZEINBYTES_DESCRIPTOR)
        field(SIZEINMEGABYTES_DESCRIPTOR)
        field(SNAPLOCKCONFIGURATION_DESCRIPTOR)
        field(SNAPSHOTPOLICY_DESCRIPTOR)
        field(STORAGEEFFICIENCYENABLED_DESCRIPTOR)
        field(STORAGEVIRTUALMACHINEID_DESCRIPTOR)
        field(STORAGEVIRTUALMACHINEROOT_DESCRIPTOR)
        field(TIERINGPOLICY_DESCRIPTOR)
        field(UUID_DESCRIPTOR)
        field(VOLUMESTYLE_DESCRIPTOR)
    }

    deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
        loop@while (true) {
            when (findNextFieldIndex()) {
                AGGREGATECONFIGURATION_DESCRIPTOR.index -> builder.aggregateConfiguration = deserializeAggregateConfigurationDocument(deserializer)
                COPYTAGSTOBACKUPS_DESCRIPTOR.index -> builder.copyTagsToBackups = deserializeBoolean()
                FLEXCACHEENDPOINTTYPE_DESCRIPTOR.index -> builder.flexCacheEndpointType = deserializeString().let { FlexCacheEndpointType.fromValue(it) }
                JUNCTIONPATH_DESCRIPTOR.index -> builder.junctionPath = deserializeString()
                ONTAPVOLUMETYPE_DESCRIPTOR.index -> builder.ontapVolumeType = deserializeString().let { OntapVolumeType.fromValue(it) }
                SECURITYSTYLE_DESCRIPTOR.index -> builder.securityStyle = deserializeString().let { SecurityStyle.fromValue(it) }
                SIZEINBYTES_DESCRIPTOR.index -> builder.sizeInBytes = deserializeLong()
                SIZEINMEGABYTES_DESCRIPTOR.index -> builder.sizeInMegabytes = deserializeInt()
                SNAPLOCKCONFIGURATION_DESCRIPTOR.index -> builder.snaplockConfiguration = deserializeSnaplockConfigurationDocument(deserializer)
                SNAPSHOTPOLICY_DESCRIPTOR.index -> builder.snapshotPolicy = deserializeString()
                STORAGEEFFICIENCYENABLED_DESCRIPTOR.index -> builder.storageEfficiencyEnabled = deserializeBoolean()
                STORAGEVIRTUALMACHINEID_DESCRIPTOR.index -> builder.storageVirtualMachineId = deserializeString()
                STORAGEVIRTUALMACHINEROOT_DESCRIPTOR.index -> builder.storageVirtualMachineRoot = deserializeBoolean()
                TIERINGPOLICY_DESCRIPTOR.index -> builder.tieringPolicy = deserializeTieringPolicyDocument(deserializer)
                UUID_DESCRIPTOR.index -> builder.uuid = deserializeString()
                VOLUMESTYLE_DESCRIPTOR.index -> builder.volumeStyle = deserializeString().let { VolumeStyle.fromValue(it) }
                null -> break@loop
                else -> skipValue()
            }
        }
    }
    builder.correctErrors()
    return builder.build()
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy