commonMain.aws.sdk.kotlin.services.servicequotas.serde.RequestedServiceQuotaChangeDocumentDeserializer.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of servicequotas-jvm Show documentation
Show all versions of servicequotas-jvm Show documentation
The AWS SDK for Kotlin client for Service Quotas
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.servicequotas.serde
import aws.sdk.kotlin.services.servicequotas.model.AppliedLevelEnum
import aws.sdk.kotlin.services.servicequotas.model.RequestStatus
import aws.sdk.kotlin.services.servicequotas.model.RequestedServiceQuotaChange
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 aws.smithy.kotlin.runtime.time.Instant
import aws.smithy.kotlin.runtime.time.TimestampFormat
internal fun deserializeRequestedServiceQuotaChangeDocument(deserializer: Deserializer): RequestedServiceQuotaChange {
val builder = RequestedServiceQuotaChange.Builder()
val CASEID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("CaseId"))
val CREATED_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Timestamp, JsonSerialName("Created"))
val DESIREDVALUE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("DesiredValue"))
val GLOBALQUOTA_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("GlobalQuota"))
val ID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("Id"))
val LASTUPDATED_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Timestamp, JsonSerialName("LastUpdated"))
val QUOTAARN_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("QuotaArn"))
val QUOTACODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("QuotaCode"))
val QUOTACONTEXT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("QuotaContext"))
val QUOTANAME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("QuotaName"))
val QUOTAREQUESTEDATLEVEL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("QuotaRequestedAtLevel"))
val REQUESTER_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("Requester"))
val SERVICECODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("ServiceCode"))
val SERVICENAME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("ServiceName"))
val STATUS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("Status"))
val UNIT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("Unit"))
val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
field(CASEID_DESCRIPTOR)
field(CREATED_DESCRIPTOR)
field(DESIREDVALUE_DESCRIPTOR)
field(GLOBALQUOTA_DESCRIPTOR)
field(ID_DESCRIPTOR)
field(LASTUPDATED_DESCRIPTOR)
field(QUOTAARN_DESCRIPTOR)
field(QUOTACODE_DESCRIPTOR)
field(QUOTACONTEXT_DESCRIPTOR)
field(QUOTANAME_DESCRIPTOR)
field(QUOTAREQUESTEDATLEVEL_DESCRIPTOR)
field(REQUESTER_DESCRIPTOR)
field(SERVICECODE_DESCRIPTOR)
field(SERVICENAME_DESCRIPTOR)
field(STATUS_DESCRIPTOR)
field(UNIT_DESCRIPTOR)
}
deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
loop@while (true) {
when (findNextFieldIndex()) {
CASEID_DESCRIPTOR.index -> builder.caseId = deserializeString()
CREATED_DESCRIPTOR.index -> builder.created = deserializeInstant(TimestampFormat.EPOCH_SECONDS)
DESIREDVALUE_DESCRIPTOR.index -> builder.desiredValue = deserializeDouble()
GLOBALQUOTA_DESCRIPTOR.index -> builder.globalQuota = deserializeBoolean()
ID_DESCRIPTOR.index -> builder.id = deserializeString()
LASTUPDATED_DESCRIPTOR.index -> builder.lastUpdated = deserializeInstant(TimestampFormat.EPOCH_SECONDS)
QUOTAARN_DESCRIPTOR.index -> builder.quotaArn = deserializeString()
QUOTACODE_DESCRIPTOR.index -> builder.quotaCode = deserializeString()
QUOTACONTEXT_DESCRIPTOR.index -> builder.quotaContext = deserializeQuotaContextInfoDocument(deserializer)
QUOTANAME_DESCRIPTOR.index -> builder.quotaName = deserializeString()
QUOTAREQUESTEDATLEVEL_DESCRIPTOR.index -> builder.quotaRequestedAtLevel = deserializeString().let { AppliedLevelEnum.fromValue(it) }
REQUESTER_DESCRIPTOR.index -> builder.requester = deserializeString()
SERVICECODE_DESCRIPTOR.index -> builder.serviceCode = deserializeString()
SERVICENAME_DESCRIPTOR.index -> builder.serviceName = deserializeString()
STATUS_DESCRIPTOR.index -> builder.status = deserializeString().let { RequestStatus.fromValue(it) }
UNIT_DESCRIPTOR.index -> builder.unit = deserializeString()
null -> break@loop
else -> skipValue()
}
}
}
builder.correctErrors()
return builder.build()
}