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

commonMain.aws.sdk.kotlin.services.medialive.transform.HlsGroupSettingsDocumentSerializer.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.HlsGroupSettings
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 serializeHlsGroupSettingsDocument(serializer: Serializer, input: HlsGroupSettings) {
    val ADMARKERS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("adMarkers"))
    val BASEURLCONTENT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("baseUrlContent"))
    val BASEURLCONTENT1_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("baseUrlContent1"))
    val BASEURLMANIFEST_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("baseUrlManifest"))
    val BASEURLMANIFEST1_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("baseUrlManifest1"))
    val CAPTIONLANGUAGEMAPPINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("captionLanguageMappings"))
    val CAPTIONLANGUAGESETTING_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("captionLanguageSetting"))
    val CLIENTCACHE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("clientCache"))
    val CODECSPECIFICATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("codecSpecification"))
    val CONSTANTIV_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("constantIv"))
    val DESTINATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("destination"))
    val DIRECTORYSTRUCTURE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("directoryStructure"))
    val DISCONTINUITYTAGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("discontinuityTags"))
    val ENCRYPTIONTYPE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("encryptionType"))
    val HLSCDNSETTINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("hlsCdnSettings"))
    val HLSID3SEGMENTTAGGING_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("hlsId3SegmentTagging"))
    val IFRAMEONLYPLAYLISTS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("iFrameOnlyPlaylists"))
    val INCOMPLETESEGMENTBEHAVIOR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("incompleteSegmentBehavior"))
    val INDEXNSEGMENTS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("indexNSegments"))
    val INPUTLOSSACTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("inputLossAction"))
    val IVINMANIFEST_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("ivInManifest"))
    val IVSOURCE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("ivSource"))
    val KEEPSEGMENTS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("keepSegments"))
    val KEYFORMAT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("keyFormat"))
    val KEYFORMATVERSIONS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("keyFormatVersions"))
    val KEYPROVIDERSETTINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("keyProviderSettings"))
    val MANIFESTCOMPRESSION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("manifestCompression"))
    val MANIFESTDURATIONFORMAT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("manifestDurationFormat"))
    val MINSEGMENTLENGTH_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("minSegmentLength"))
    val MODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("mode"))
    val OUTPUTSELECTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("outputSelection"))
    val PROGRAMDATETIME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("programDateTime"))
    val PROGRAMDATETIMECLOCK_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("programDateTimeClock"))
    val PROGRAMDATETIMEPERIOD_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("programDateTimePeriod"))
    val REDUNDANTMANIFEST_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("redundantManifest"))
    val SEGMENTLENGTH_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("segmentLength"))
    val SEGMENTATIONMODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("segmentationMode"))
    val SEGMENTSPERSUBDIRECTORY_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("segmentsPerSubdirectory"))
    val STREAMINFRESOLUTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("streamInfResolution"))
    val TIMEDMETADATAID3FRAME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("timedMetadataId3Frame"))
    val TIMEDMETADATAID3PERIOD_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("timedMetadataId3Period"))
    val TIMESTAMPDELTAMILLISECONDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("timestampDeltaMilliseconds"))
    val TSFILEMODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("tsFileMode"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        field(ADMARKERS_DESCRIPTOR)
        field(BASEURLCONTENT_DESCRIPTOR)
        field(BASEURLCONTENT1_DESCRIPTOR)
        field(BASEURLMANIFEST_DESCRIPTOR)
        field(BASEURLMANIFEST1_DESCRIPTOR)
        field(CAPTIONLANGUAGEMAPPINGS_DESCRIPTOR)
        field(CAPTIONLANGUAGESETTING_DESCRIPTOR)
        field(CLIENTCACHE_DESCRIPTOR)
        field(CODECSPECIFICATION_DESCRIPTOR)
        field(CONSTANTIV_DESCRIPTOR)
        field(DESTINATION_DESCRIPTOR)
        field(DIRECTORYSTRUCTURE_DESCRIPTOR)
        field(DISCONTINUITYTAGS_DESCRIPTOR)
        field(ENCRYPTIONTYPE_DESCRIPTOR)
        field(HLSCDNSETTINGS_DESCRIPTOR)
        field(HLSID3SEGMENTTAGGING_DESCRIPTOR)
        field(IFRAMEONLYPLAYLISTS_DESCRIPTOR)
        field(INCOMPLETESEGMENTBEHAVIOR_DESCRIPTOR)
        field(INDEXNSEGMENTS_DESCRIPTOR)
        field(INPUTLOSSACTION_DESCRIPTOR)
        field(IVINMANIFEST_DESCRIPTOR)
        field(IVSOURCE_DESCRIPTOR)
        field(KEEPSEGMENTS_DESCRIPTOR)
        field(KEYFORMAT_DESCRIPTOR)
        field(KEYFORMATVERSIONS_DESCRIPTOR)
        field(KEYPROVIDERSETTINGS_DESCRIPTOR)
        field(MANIFESTCOMPRESSION_DESCRIPTOR)
        field(MANIFESTDURATIONFORMAT_DESCRIPTOR)
        field(MINSEGMENTLENGTH_DESCRIPTOR)
        field(MODE_DESCRIPTOR)
        field(OUTPUTSELECTION_DESCRIPTOR)
        field(PROGRAMDATETIME_DESCRIPTOR)
        field(PROGRAMDATETIMECLOCK_DESCRIPTOR)
        field(PROGRAMDATETIMEPERIOD_DESCRIPTOR)
        field(REDUNDANTMANIFEST_DESCRIPTOR)
        field(SEGMENTLENGTH_DESCRIPTOR)
        field(SEGMENTATIONMODE_DESCRIPTOR)
        field(SEGMENTSPERSUBDIRECTORY_DESCRIPTOR)
        field(STREAMINFRESOLUTION_DESCRIPTOR)
        field(TIMEDMETADATAID3FRAME_DESCRIPTOR)
        field(TIMEDMETADATAID3PERIOD_DESCRIPTOR)
        field(TIMESTAMPDELTAMILLISECONDS_DESCRIPTOR)
        field(TSFILEMODE_DESCRIPTOR)
    }

    serializer.serializeStruct(OBJ_DESCRIPTOR) {
        if (input.adMarkers != null) {
            listField(ADMARKERS_DESCRIPTOR) {
                for (el0 in input.adMarkers) {
                    serializeString(el0.value)
                }
            }
        }
        input.baseUrlContent?.let { field(BASEURLCONTENT_DESCRIPTOR, it) }
        input.baseUrlContent1?.let { field(BASEURLCONTENT1_DESCRIPTOR, it) }
        input.baseUrlManifest?.let { field(BASEURLMANIFEST_DESCRIPTOR, it) }
        input.baseUrlManifest1?.let { field(BASEURLMANIFEST1_DESCRIPTOR, it) }
        if (input.captionLanguageMappings != null) {
            listField(CAPTIONLANGUAGEMAPPINGS_DESCRIPTOR) {
                for (el0 in input.captionLanguageMappings) {
                    serializeSdkSerializable(asSdkSerializable(el0, ::serializeCaptionLanguageMappingDocument))
                }
            }
        }
        input.captionLanguageSetting?.let { field(CAPTIONLANGUAGESETTING_DESCRIPTOR, it.value) }
        input.clientCache?.let { field(CLIENTCACHE_DESCRIPTOR, it.value) }
        input.codecSpecification?.let { field(CODECSPECIFICATION_DESCRIPTOR, it.value) }
        input.constantIv?.let { field(CONSTANTIV_DESCRIPTOR, it) }
        input.destination?.let { field(DESTINATION_DESCRIPTOR, it, ::serializeOutputLocationRefDocument) }
        input.directoryStructure?.let { field(DIRECTORYSTRUCTURE_DESCRIPTOR, it.value) }
        input.discontinuityTags?.let { field(DISCONTINUITYTAGS_DESCRIPTOR, it.value) }
        input.encryptionType?.let { field(ENCRYPTIONTYPE_DESCRIPTOR, it.value) }
        input.hlsCdnSettings?.let { field(HLSCDNSETTINGS_DESCRIPTOR, it, ::serializeHlsCdnSettingsDocument) }
        input.hlsId3SegmentTagging?.let { field(HLSID3SEGMENTTAGGING_DESCRIPTOR, it.value) }
        input.iFrameOnlyPlaylists?.let { field(IFRAMEONLYPLAYLISTS_DESCRIPTOR, it.value) }
        input.incompleteSegmentBehavior?.let { field(INCOMPLETESEGMENTBEHAVIOR_DESCRIPTOR, it.value) }
        if (input.indexNSegments != 0) field(INDEXNSEGMENTS_DESCRIPTOR, input.indexNSegments)
        input.inputLossAction?.let { field(INPUTLOSSACTION_DESCRIPTOR, it.value) }
        input.ivInManifest?.let { field(IVINMANIFEST_DESCRIPTOR, it.value) }
        input.ivSource?.let { field(IVSOURCE_DESCRIPTOR, it.value) }
        if (input.keepSegments != 0) field(KEEPSEGMENTS_DESCRIPTOR, input.keepSegments)
        input.keyFormat?.let { field(KEYFORMAT_DESCRIPTOR, it) }
        input.keyFormatVersions?.let { field(KEYFORMATVERSIONS_DESCRIPTOR, it) }
        input.keyProviderSettings?.let { field(KEYPROVIDERSETTINGS_DESCRIPTOR, it, ::serializeKeyProviderSettingsDocument) }
        input.manifestCompression?.let { field(MANIFESTCOMPRESSION_DESCRIPTOR, it.value) }
        input.manifestDurationFormat?.let { field(MANIFESTDURATIONFORMAT_DESCRIPTOR, it.value) }
        if (input.minSegmentLength != 0) field(MINSEGMENTLENGTH_DESCRIPTOR, input.minSegmentLength)
        input.mode?.let { field(MODE_DESCRIPTOR, it.value) }
        input.outputSelection?.let { field(OUTPUTSELECTION_DESCRIPTOR, it.value) }
        input.programDateTime?.let { field(PROGRAMDATETIME_DESCRIPTOR, it.value) }
        input.programDateTimeClock?.let { field(PROGRAMDATETIMECLOCK_DESCRIPTOR, it.value) }
        if (input.programDateTimePeriod != 0) field(PROGRAMDATETIMEPERIOD_DESCRIPTOR, input.programDateTimePeriod)
        input.redundantManifest?.let { field(REDUNDANTMANIFEST_DESCRIPTOR, it.value) }
        if (input.segmentLength != 0) field(SEGMENTLENGTH_DESCRIPTOR, input.segmentLength)
        input.segmentationMode?.let { field(SEGMENTATIONMODE_DESCRIPTOR, it.value) }
        if (input.segmentsPerSubdirectory != 0) field(SEGMENTSPERSUBDIRECTORY_DESCRIPTOR, input.segmentsPerSubdirectory)
        input.streamInfResolution?.let { field(STREAMINFRESOLUTION_DESCRIPTOR, it.value) }
        input.timedMetadataId3Frame?.let { field(TIMEDMETADATAID3FRAME_DESCRIPTOR, it.value) }
        if (input.timedMetadataId3Period != 0) field(TIMEDMETADATAID3PERIOD_DESCRIPTOR, input.timedMetadataId3Period)
        if (input.timestampDeltaMilliseconds != 0) field(TIMESTAMPDELTAMILLISECONDS_DESCRIPTOR, input.timestampDeltaMilliseconds)
        input.tsFileMode?.let { field(TSFILEMODE_DESCRIPTOR, it.value) }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy