commonMain.aws.sdk.kotlin.services.finspace.transform.AutoScalingConfigurationDocumentDeserializer.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of finspace-jvm Show documentation
Show all versions of finspace-jvm Show documentation
The AWS SDK for Kotlin client for finspace
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.finspace.transform
import aws.sdk.kotlin.services.finspace.model.AutoScalingConfiguration
import aws.sdk.kotlin.services.finspace.model.AutoScalingMetric
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 deserializeAutoScalingConfigurationDocument(deserializer: Deserializer): AutoScalingConfiguration {
val builder = AutoScalingConfiguration.Builder()
val AUTOSCALINGMETRIC_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("autoScalingMetric"))
val MAXNODECOUNT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("maxNodeCount"))
val METRICTARGET_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("metricTarget"))
val MINNODECOUNT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("minNodeCount"))
val SCALEINCOOLDOWNSECONDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("scaleInCooldownSeconds"))
val SCALEOUTCOOLDOWNSECONDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("scaleOutCooldownSeconds"))
val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
field(AUTOSCALINGMETRIC_DESCRIPTOR)
field(MAXNODECOUNT_DESCRIPTOR)
field(METRICTARGET_DESCRIPTOR)
field(MINNODECOUNT_DESCRIPTOR)
field(SCALEINCOOLDOWNSECONDS_DESCRIPTOR)
field(SCALEOUTCOOLDOWNSECONDS_DESCRIPTOR)
}
deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
loop@while (true) {
when (findNextFieldIndex()) {
AUTOSCALINGMETRIC_DESCRIPTOR.index -> builder.autoScalingMetric = deserializeString().let { AutoScalingMetric.fromValue(it) }
MAXNODECOUNT_DESCRIPTOR.index -> builder.maxNodeCount = deserializeInt()
METRICTARGET_DESCRIPTOR.index -> builder.metricTarget = deserializeDouble()
MINNODECOUNT_DESCRIPTOR.index -> builder.minNodeCount = deserializeInt()
SCALEINCOOLDOWNSECONDS_DESCRIPTOR.index -> builder.scaleInCooldownSeconds = deserializeDouble()
SCALEOUTCOOLDOWNSECONDS_DESCRIPTOR.index -> builder.scaleOutCooldownSeconds = deserializeDouble()
null -> break@loop
else -> skipValue()
}
}
}
return builder.build()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy