commonMain.aws.sdk.kotlin.services.fsx.serde.OpenZfsVolumeConfigurationDocumentDeserializer.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of fsx-jvm Show documentation
Show all versions of fsx-jvm Show documentation
The AWS SDK for Kotlin client for FSx
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.fsx.serde
import aws.sdk.kotlin.services.fsx.model.OpenZfsCopyStrategy
import aws.sdk.kotlin.services.fsx.model.OpenZfsDataCompressionType
import aws.sdk.kotlin.services.fsx.model.OpenZfsNfsExport
import aws.sdk.kotlin.services.fsx.model.OpenZfsUserOrGroupQuota
import aws.sdk.kotlin.services.fsx.model.OpenZfsVolumeConfiguration
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 deserializeOpenZfsVolumeConfigurationDocument(deserializer: Deserializer): OpenZfsVolumeConfiguration {
val builder = OpenZfsVolumeConfiguration.Builder()
val COPYSTRATEGY_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("CopyStrategy"))
val COPYTAGSTOSNAPSHOTS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("CopyTagsToSnapshots"))
val DATACOMPRESSIONTYPE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("DataCompressionType"))
val DELETECLONEDVOLUMES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("DeleteClonedVolumes"))
val DELETEINTERMEDIATEDATA_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("DeleteIntermediateData"))
val DELETEINTERMEDIATESNAPHOTS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("DeleteIntermediateSnaphots"))
val DESTINATIONSNAPSHOT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("DestinationSnapshot"))
val NFSEXPORTS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("NfsExports"))
val ORIGINSNAPSHOT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("OriginSnapshot"))
val PARENTVOLUMEID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("ParentVolumeId"))
val READONLY_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("ReadOnly"))
val RECORDSIZEKIB_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("RecordSizeKiB"))
val RESTORETOSNAPSHOT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("RestoreToSnapshot"))
val SOURCESNAPSHOTARN_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("SourceSnapshotARN"))
val STORAGECAPACITYQUOTAGIB_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("StorageCapacityQuotaGiB"))
val STORAGECAPACITYRESERVATIONGIB_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("StorageCapacityReservationGiB"))
val USERANDGROUPQUOTAS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("UserAndGroupQuotas"))
val VOLUMEPATH_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("VolumePath"))
val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
field(COPYSTRATEGY_DESCRIPTOR)
field(COPYTAGSTOSNAPSHOTS_DESCRIPTOR)
field(DATACOMPRESSIONTYPE_DESCRIPTOR)
field(DELETECLONEDVOLUMES_DESCRIPTOR)
field(DELETEINTERMEDIATEDATA_DESCRIPTOR)
field(DELETEINTERMEDIATESNAPHOTS_DESCRIPTOR)
field(DESTINATIONSNAPSHOT_DESCRIPTOR)
field(NFSEXPORTS_DESCRIPTOR)
field(ORIGINSNAPSHOT_DESCRIPTOR)
field(PARENTVOLUMEID_DESCRIPTOR)
field(READONLY_DESCRIPTOR)
field(RECORDSIZEKIB_DESCRIPTOR)
field(RESTORETOSNAPSHOT_DESCRIPTOR)
field(SOURCESNAPSHOTARN_DESCRIPTOR)
field(STORAGECAPACITYQUOTAGIB_DESCRIPTOR)
field(STORAGECAPACITYRESERVATIONGIB_DESCRIPTOR)
field(USERANDGROUPQUOTAS_DESCRIPTOR)
field(VOLUMEPATH_DESCRIPTOR)
}
deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
loop@while (true) {
when (findNextFieldIndex()) {
COPYSTRATEGY_DESCRIPTOR.index -> builder.copyStrategy = deserializeString().let { OpenZfsCopyStrategy.fromValue(it) }
COPYTAGSTOSNAPSHOTS_DESCRIPTOR.index -> builder.copyTagsToSnapshots = deserializeBoolean()
DATACOMPRESSIONTYPE_DESCRIPTOR.index -> builder.dataCompressionType = deserializeString().let { OpenZfsDataCompressionType.fromValue(it) }
DELETECLONEDVOLUMES_DESCRIPTOR.index -> builder.deleteClonedVolumes = deserializeBoolean()
DELETEINTERMEDIATEDATA_DESCRIPTOR.index -> builder.deleteIntermediateData = deserializeBoolean()
DELETEINTERMEDIATESNAPHOTS_DESCRIPTOR.index -> builder.deleteIntermediateSnaphots = deserializeBoolean()
DESTINATIONSNAPSHOT_DESCRIPTOR.index -> builder.destinationSnapshot = deserializeString()
NFSEXPORTS_DESCRIPTOR.index -> builder.nfsExports =
deserializer.deserializeList(NFSEXPORTS_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeOpenZfsNfsExportDocument(deserializer) } else { deserializeNull(); continue }
col0.add(el0)
}
col0
}
ORIGINSNAPSHOT_DESCRIPTOR.index -> builder.originSnapshot = deserializeOpenZfsOriginSnapshotConfigurationDocument(deserializer)
PARENTVOLUMEID_DESCRIPTOR.index -> builder.parentVolumeId = deserializeString()
READONLY_DESCRIPTOR.index -> builder.readOnly = deserializeBoolean()
RECORDSIZEKIB_DESCRIPTOR.index -> builder.recordSizeKib = deserializeInt()
RESTORETOSNAPSHOT_DESCRIPTOR.index -> builder.restoreToSnapshot = deserializeString()
SOURCESNAPSHOTARN_DESCRIPTOR.index -> builder.sourceSnapshotArn = deserializeString()
STORAGECAPACITYQUOTAGIB_DESCRIPTOR.index -> builder.storageCapacityQuotaGib = deserializeInt()
STORAGECAPACITYRESERVATIONGIB_DESCRIPTOR.index -> builder.storageCapacityReservationGib = deserializeInt()
USERANDGROUPQUOTAS_DESCRIPTOR.index -> builder.userAndGroupQuotas =
deserializer.deserializeList(USERANDGROUPQUOTAS_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeOpenZfsUserOrGroupQuotaDocument(deserializer) } else { deserializeNull(); continue }
col0.add(el0)
}
col0
}
VOLUMEPATH_DESCRIPTOR.index -> builder.volumePath = deserializeString()
null -> break@loop
else -> skipValue()
}
}
}
builder.correctErrors()
return builder.build()
}