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

aws.sdk.kotlin.services.pinpoint.transform.PushNotificationTemplateRequestDocumentSerializer.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.pinpoint.transform

import aws.sdk.kotlin.services.pinpoint.model.PushNotificationTemplateRequest
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.Serializer
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 serializePushNotificationTemplateRequestDocument(serializer: Serializer, input: PushNotificationTemplateRequest) {
    val ADM_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("ADM"))
    val APNS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("APNS"))
    val BAIDU_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("Baidu"))
    val DEFAULT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("Default"))
    val DEFAULTSUBSTITUTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("DefaultSubstitutions"))
    val GCM_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("GCM"))
    val RECOMMENDERID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("RecommenderId"))
    val TEMPLATEDESCRIPTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("TemplateDescription"))
    val TAGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Map, JsonSerialName("tags"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        field(ADM_DESCRIPTOR)
        field(APNS_DESCRIPTOR)
        field(BAIDU_DESCRIPTOR)
        field(DEFAULT_DESCRIPTOR)
        field(DEFAULTSUBSTITUTIONS_DESCRIPTOR)
        field(GCM_DESCRIPTOR)
        field(RECOMMENDERID_DESCRIPTOR)
        field(TEMPLATEDESCRIPTION_DESCRIPTOR)
        field(TAGS_DESCRIPTOR)
    }

    serializer.serializeStruct(OBJ_DESCRIPTOR) {
        input.adm?.let { field(ADM_DESCRIPTOR, it, ::serializeAndroidPushNotificationTemplateDocument) }
        input.apns?.let { field(APNS_DESCRIPTOR, it, ::serializeApnsPushNotificationTemplateDocument) }
        input.baidu?.let { field(BAIDU_DESCRIPTOR, it, ::serializeAndroidPushNotificationTemplateDocument) }
        input.default?.let { field(DEFAULT_DESCRIPTOR, it, ::serializeDefaultPushNotificationTemplateDocument) }
        input.defaultSubstitutions?.let { field(DEFAULTSUBSTITUTIONS_DESCRIPTOR, it) }
        input.gcm?.let { field(GCM_DESCRIPTOR, it, ::serializeAndroidPushNotificationTemplateDocument) }
        input.recommenderId?.let { field(RECOMMENDERID_DESCRIPTOR, it) }
        if (input.tags != null) {
            mapField(TAGS_DESCRIPTOR) {
                input.tags.forEach { (key, value) -> entry(key, value) }
            }
        }
        input.templateDescription?.let { field(TEMPLATEDESCRIPTION_DESCRIPTOR, it) }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy