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

commonMain.aws.sdk.kotlin.services.mediaconvert.serde.JobTemplateSettingsDocumentSerializer.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.mediaconvert.serde

import aws.sdk.kotlin.services.mediaconvert.model.JobTemplateSettings
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 serializeJobTemplateSettingsDocument(serializer: Serializer, input: JobTemplateSettings) {
    val ADAVAILOFFSET_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("adAvailOffset"))
    val AVAILBLANKING_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("availBlanking"))
    val COLORCONVERSION3DLUTSETTINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("colorConversion3DLUTSettings"))
    val ESAM_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("esam"))
    val EXTENDEDDATASERVICES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("extendedDataServices"))
    val FOLLOWSOURCE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("followSource"))
    val INPUTS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("inputs"))
    val KANTARWATERMARK_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("kantarWatermark"))
    val MOTIONIMAGEINSERTER_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("motionImageInserter"))
    val NIELSENCONFIGURATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("nielsenConfiguration"))
    val NIELSENNONLINEARWATERMARK_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("nielsenNonLinearWatermark"))
    val OUTPUTGROUPS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("outputGroups"))
    val TIMECODECONFIG_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("timecodeConfig"))
    val TIMEDMETADATAINSERTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("timedMetadataInsertion"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        field(ADAVAILOFFSET_DESCRIPTOR)
        field(AVAILBLANKING_DESCRIPTOR)
        field(COLORCONVERSION3DLUTSETTINGS_DESCRIPTOR)
        field(ESAM_DESCRIPTOR)
        field(EXTENDEDDATASERVICES_DESCRIPTOR)
        field(FOLLOWSOURCE_DESCRIPTOR)
        field(INPUTS_DESCRIPTOR)
        field(KANTARWATERMARK_DESCRIPTOR)
        field(MOTIONIMAGEINSERTER_DESCRIPTOR)
        field(NIELSENCONFIGURATION_DESCRIPTOR)
        field(NIELSENNONLINEARWATERMARK_DESCRIPTOR)
        field(OUTPUTGROUPS_DESCRIPTOR)
        field(TIMECODECONFIG_DESCRIPTOR)
        field(TIMEDMETADATAINSERTION_DESCRIPTOR)
    }

    serializer.serializeStruct(OBJ_DESCRIPTOR) {
        input.adAvailOffset?.let { field(ADAVAILOFFSET_DESCRIPTOR, it) }
        input.availBlanking?.let { field(AVAILBLANKING_DESCRIPTOR, it, ::serializeAvailBlankingDocument) }
        if (input.colorConversion3DlutSettings != null) {
            listField(COLORCONVERSION3DLUTSETTINGS_DESCRIPTOR) {
                for (el0 in input.colorConversion3DlutSettings) {
                    serializeSdkSerializable(asSdkSerializable(el0, ::serializeColorConversion3DlutSettingDocument))
                }
            }
        }
        input.esam?.let { field(ESAM_DESCRIPTOR, it, ::serializeEsamSettingsDocument) }
        input.extendedDataServices?.let { field(EXTENDEDDATASERVICES_DESCRIPTOR, it, ::serializeExtendedDataServicesDocument) }
        input.followSource?.let { field(FOLLOWSOURCE_DESCRIPTOR, it) }
        if (input.inputs != null) {
            listField(INPUTS_DESCRIPTOR) {
                for (el0 in input.inputs) {
                    serializeSdkSerializable(asSdkSerializable(el0, ::serializeInputTemplateDocument))
                }
            }
        }
        input.kantarWatermark?.let { field(KANTARWATERMARK_DESCRIPTOR, it, ::serializeKantarWatermarkSettingsDocument) }
        input.motionImageInserter?.let { field(MOTIONIMAGEINSERTER_DESCRIPTOR, it, ::serializeMotionImageInserterDocument) }
        input.nielsenConfiguration?.let { field(NIELSENCONFIGURATION_DESCRIPTOR, it, ::serializeNielsenConfigurationDocument) }
        input.nielsenNonLinearWatermark?.let { field(NIELSENNONLINEARWATERMARK_DESCRIPTOR, it, ::serializeNielsenNonLinearWatermarkSettingsDocument) }
        if (input.outputGroups != null) {
            listField(OUTPUTGROUPS_DESCRIPTOR) {
                for (el0 in input.outputGroups) {
                    serializeSdkSerializable(asSdkSerializable(el0, ::serializeOutputGroupDocument))
                }
            }
        }
        input.timecodeConfig?.let { field(TIMECODECONFIG_DESCRIPTOR, it, ::serializeTimecodeConfigDocument) }
        input.timedMetadataInsertion?.let { field(TIMEDMETADATAINSERTION_DESCRIPTOR, it, ::serializeTimedMetadataInsertionDocument) }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy