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

commonMain.aws.sdk.kotlin.services.medialive.transform.EncoderSettingsDocumentSerializer.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.medialive.transform

import aws.sdk.kotlin.services.medialive.model.EncoderSettings
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 serializeEncoderSettingsDocument(serializer: Serializer, input: EncoderSettings) {
    val AUDIODESCRIPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("audioDescriptions"))
    val AVAILBLANKING_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("availBlanking"))
    val AVAILCONFIGURATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("availConfiguration"))
    val BLACKOUTSLATE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("blackoutSlate"))
    val CAPTIONDESCRIPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("captionDescriptions"))
    val FEATUREACTIVATIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("featureActivations"))
    val GLOBALCONFIGURATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("globalConfiguration"))
    val MOTIONGRAPHICSCONFIGURATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("motionGraphicsConfiguration"))
    val NIELSENCONFIGURATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("nielsenConfiguration"))
    val OUTPUTGROUPS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("outputGroups"))
    val TIMECODECONFIG_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("timecodeConfig"))
    val VIDEODESCRIPTIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("videoDescriptions"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        field(AUDIODESCRIPTIONS_DESCRIPTOR)
        field(AVAILBLANKING_DESCRIPTOR)
        field(AVAILCONFIGURATION_DESCRIPTOR)
        field(BLACKOUTSLATE_DESCRIPTOR)
        field(CAPTIONDESCRIPTIONS_DESCRIPTOR)
        field(FEATUREACTIVATIONS_DESCRIPTOR)
        field(GLOBALCONFIGURATION_DESCRIPTOR)
        field(MOTIONGRAPHICSCONFIGURATION_DESCRIPTOR)
        field(NIELSENCONFIGURATION_DESCRIPTOR)
        field(OUTPUTGROUPS_DESCRIPTOR)
        field(TIMECODECONFIG_DESCRIPTOR)
        field(VIDEODESCRIPTIONS_DESCRIPTOR)
    }

    serializer.serializeStruct(OBJ_DESCRIPTOR) {
        if (input.audioDescriptions != null) {
            listField(AUDIODESCRIPTIONS_DESCRIPTOR) {
                for (el0 in input.audioDescriptions) {
                    serializeSdkSerializable(asSdkSerializable(el0, ::serializeAudioDescriptionDocument))
                }
            }
        }
        input.availBlanking?.let { field(AVAILBLANKING_DESCRIPTOR, it, ::serializeAvailBlankingDocument) }
        input.availConfiguration?.let { field(AVAILCONFIGURATION_DESCRIPTOR, it, ::serializeAvailConfigurationDocument) }
        input.blackoutSlate?.let { field(BLACKOUTSLATE_DESCRIPTOR, it, ::serializeBlackoutSlateDocument) }
        if (input.captionDescriptions != null) {
            listField(CAPTIONDESCRIPTIONS_DESCRIPTOR) {
                for (el0 in input.captionDescriptions) {
                    serializeSdkSerializable(asSdkSerializable(el0, ::serializeCaptionDescriptionDocument))
                }
            }
        }
        input.featureActivations?.let { field(FEATUREACTIVATIONS_DESCRIPTOR, it, ::serializeFeatureActivationsDocument) }
        input.globalConfiguration?.let { field(GLOBALCONFIGURATION_DESCRIPTOR, it, ::serializeGlobalConfigurationDocument) }
        input.motionGraphicsConfiguration?.let { field(MOTIONGRAPHICSCONFIGURATION_DESCRIPTOR, it, ::serializeMotionGraphicsConfigurationDocument) }
        input.nielsenConfiguration?.let { field(NIELSENCONFIGURATION_DESCRIPTOR, it, ::serializeNielsenConfigurationDocument) }
        if (input.outputGroups != null) {
            listField(OUTPUTGROUPS_DESCRIPTOR) {
                for (el0 in input.outputGroups) {
                    serializeSdkSerializable(asSdkSerializable(el0, ::serializeOutputGroupDocument))
                }
            }
        }
        input.timecodeConfig?.let { field(TIMECODECONFIG_DESCRIPTOR, it, ::serializeTimecodeConfigDocument) }
        if (input.videoDescriptions != null) {
            listField(VIDEODESCRIPTIONS_DESCRIPTOR) {
                for (el0 in input.videoDescriptions) {
                    serializeSdkSerializable(asSdkSerializable(el0, ::serializeVideoDescriptionDocument))
                }
            }
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy