
commonMain.aws.sdk.kotlin.services.kms.serde.KeyMetadataDocumentDeserializer.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.kms.serde
import aws.sdk.kotlin.services.kms.model.CustomerMasterKeySpec
import aws.sdk.kotlin.services.kms.model.EncryptionAlgorithmSpec
import aws.sdk.kotlin.services.kms.model.ExpirationModelType
import aws.sdk.kotlin.services.kms.model.KeyManagerType
import aws.sdk.kotlin.services.kms.model.KeyMetadata
import aws.sdk.kotlin.services.kms.model.KeySpec
import aws.sdk.kotlin.services.kms.model.KeyState
import aws.sdk.kotlin.services.kms.model.KeyUsageType
import aws.sdk.kotlin.services.kms.model.MacAlgorithmSpec
import aws.sdk.kotlin.services.kms.model.OriginType
import aws.sdk.kotlin.services.kms.model.SigningAlgorithmSpec
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 kotlin.collections.mutableListOf
internal fun deserializeKeyMetadataDocument(deserializer: Deserializer): KeyMetadata {
val builder = KeyMetadata.Builder()
val AWSACCOUNTID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("AWSAccountId"))
val ARN_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("Arn"))
val CLOUDHSMCLUSTERID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("CloudHsmClusterId"))
val CREATIONDATE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Timestamp, JsonSerialName("CreationDate"))
val CUSTOMKEYSTOREID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("CustomKeyStoreId"))
val CUSTOMERMASTERKEYSPEC_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("CustomerMasterKeySpec"))
val DELETIONDATE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Timestamp, JsonSerialName("DeletionDate"))
val DESCRIPTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("Description"))
val ENABLED_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("Enabled"))
val ENCRYPTIONALGORITHMS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("EncryptionAlgorithms"))
val EXPIRATIONMODEL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("ExpirationModel"))
val KEYID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("KeyId"))
val KEYMANAGER_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("KeyManager"))
val KEYSPEC_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("KeySpec"))
val KEYSTATE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("KeyState"))
val KEYUSAGE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("KeyUsage"))
val MACALGORITHMS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("MacAlgorithms"))
val MULTIREGION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("MultiRegion"))
val MULTIREGIONCONFIGURATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("MultiRegionConfiguration"))
val ORIGIN_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("Origin"))
val PENDINGDELETIONWINDOWINDAYS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("PendingDeletionWindowInDays"))
val SIGNINGALGORITHMS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("SigningAlgorithms"))
val VALIDTO_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Timestamp, JsonSerialName("ValidTo"))
val XKSKEYCONFIGURATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("XksKeyConfiguration"))
val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
field(AWSACCOUNTID_DESCRIPTOR)
field(ARN_DESCRIPTOR)
field(CLOUDHSMCLUSTERID_DESCRIPTOR)
field(CREATIONDATE_DESCRIPTOR)
field(CUSTOMKEYSTOREID_DESCRIPTOR)
field(CUSTOMERMASTERKEYSPEC_DESCRIPTOR)
field(DELETIONDATE_DESCRIPTOR)
field(DESCRIPTION_DESCRIPTOR)
field(ENABLED_DESCRIPTOR)
field(ENCRYPTIONALGORITHMS_DESCRIPTOR)
field(EXPIRATIONMODEL_DESCRIPTOR)
field(KEYID_DESCRIPTOR)
field(KEYMANAGER_DESCRIPTOR)
field(KEYSPEC_DESCRIPTOR)
field(KEYSTATE_DESCRIPTOR)
field(KEYUSAGE_DESCRIPTOR)
field(MACALGORITHMS_DESCRIPTOR)
field(MULTIREGION_DESCRIPTOR)
field(MULTIREGIONCONFIGURATION_DESCRIPTOR)
field(ORIGIN_DESCRIPTOR)
field(PENDINGDELETIONWINDOWINDAYS_DESCRIPTOR)
field(SIGNINGALGORITHMS_DESCRIPTOR)
field(VALIDTO_DESCRIPTOR)
field(XKSKEYCONFIGURATION_DESCRIPTOR)
}
deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
loop@while (true) {
when (findNextFieldIndex()) {
AWSACCOUNTID_DESCRIPTOR.index -> builder.awsAccountId = deserializeString()
ARN_DESCRIPTOR.index -> builder.arn = deserializeString()
CLOUDHSMCLUSTERID_DESCRIPTOR.index -> builder.cloudHsmClusterId = deserializeString()
CREATIONDATE_DESCRIPTOR.index -> builder.creationDate = deserializeString().let { Instant.fromEpochSeconds(it) }
CUSTOMKEYSTOREID_DESCRIPTOR.index -> builder.customKeyStoreId = deserializeString()
CUSTOMERMASTERKEYSPEC_DESCRIPTOR.index -> builder.customerMasterKeySpec = deserializeString().let { CustomerMasterKeySpec.fromValue(it) }
DELETIONDATE_DESCRIPTOR.index -> builder.deletionDate = deserializeString().let { Instant.fromEpochSeconds(it) }
DESCRIPTION_DESCRIPTOR.index -> builder.description = deserializeString()
ENABLED_DESCRIPTOR.index -> builder.enabled = deserializeBoolean()
ENCRYPTIONALGORITHMS_DESCRIPTOR.index -> builder.encryptionAlgorithms =
deserializer.deserializeList(ENCRYPTIONALGORITHMS_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeString().let { EncryptionAlgorithmSpec.fromValue(it) } } else { deserializeNull(); continue }
col0.add(el0)
}
col0
}
EXPIRATIONMODEL_DESCRIPTOR.index -> builder.expirationModel = deserializeString().let { ExpirationModelType.fromValue(it) }
KEYID_DESCRIPTOR.index -> builder.keyId = deserializeString()
KEYMANAGER_DESCRIPTOR.index -> builder.keyManager = deserializeString().let { KeyManagerType.fromValue(it) }
KEYSPEC_DESCRIPTOR.index -> builder.keySpec = deserializeString().let { KeySpec.fromValue(it) }
KEYSTATE_DESCRIPTOR.index -> builder.keyState = deserializeString().let { KeyState.fromValue(it) }
KEYUSAGE_DESCRIPTOR.index -> builder.keyUsage = deserializeString().let { KeyUsageType.fromValue(it) }
MACALGORITHMS_DESCRIPTOR.index -> builder.macAlgorithms =
deserializer.deserializeList(MACALGORITHMS_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeString().let { MacAlgorithmSpec.fromValue(it) } } else { deserializeNull(); continue }
col0.add(el0)
}
col0
}
MULTIREGION_DESCRIPTOR.index -> builder.multiRegion = deserializeBoolean()
MULTIREGIONCONFIGURATION_DESCRIPTOR.index -> builder.multiRegionConfiguration = deserializeMultiRegionConfigurationDocument(deserializer)
ORIGIN_DESCRIPTOR.index -> builder.origin = deserializeString().let { OriginType.fromValue(it) }
PENDINGDELETIONWINDOWINDAYS_DESCRIPTOR.index -> builder.pendingDeletionWindowInDays = deserializeInt()
SIGNINGALGORITHMS_DESCRIPTOR.index -> builder.signingAlgorithms =
deserializer.deserializeList(SIGNINGALGORITHMS_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeString().let { SigningAlgorithmSpec.fromValue(it) } } else { deserializeNull(); continue }
col0.add(el0)
}
col0
}
VALIDTO_DESCRIPTOR.index -> builder.validTo = deserializeString().let { Instant.fromEpochSeconds(it) }
XKSKEYCONFIGURATION_DESCRIPTOR.index -> builder.xksKeyConfiguration = deserializeXksKeyConfigurationTypeDocument(deserializer)
null -> break@loop
else -> skipValue()
}
}
}
builder.correctErrors()
return builder.build()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy