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

com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointHlsManifest.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.11.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.mediapackage.kotlin.outputs

import com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointAdsOnDeliveryRestrictions
import com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointHlsManifestAdMarkers
import com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointHlsManifestAdTriggersItem
import com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointHlsManifestPlaylistType
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 * A HTTP Live Streaming (HLS) manifest configuration.
 * @property adMarkers This setting controls how ad markers are included in the packaged OriginEndpoint. "NONE" will omit all SCTE-35 ad markers from the output. "PASSTHROUGH" causes the manifest to contain a copy of the SCTE-35 ad markers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest. "SCTE35_ENHANCED" generates ad markers and blackout tags based on SCTE-35 messages in the input source. "DATERANGE" inserts EXT-X-DATERANGE tags to signal ad and program transition events in HLS and CMAF manifests. For this option, you must set a programDateTimeIntervalSeconds value that is greater than 0.
 * @property adTriggers A list of SCTE-35 message types that are treated as ad markers in the output.  If empty, no ad markers are output.  Specify multiple items to create ad markers for all of the included message types.
 * @property adsOnDeliveryRestrictions The flags on SCTE-35 segmentation descriptors that have to be present for AWS Elemental MediaPackage to insert ad markers in the output manifest. For information about SCTE-35 in AWS Elemental MediaPackage , see [SCTE-35 Message Options in AWS Elemental MediaPackage](https://docs.aws.amazon.com/mediapackage/latest/ug/scte.html) .
 * @property id The ID of the manifest. The ID must be unique within the OriginEndpoint and it cannot be changed after it is created.
 * @property includeIframeOnlyStream When enabled, an I-Frame only stream will be included in the output.
 * @property manifestName An optional short string appended to the end of the OriginEndpoint URL. If not specified, defaults to the manifestName for the OriginEndpoint.
 * @property playlistType The HTTP Live Streaming (HLS) playlist type. When either "EVENT" or "VOD" is specified, a corresponding EXT-X-PLAYLIST-TYPE entry will be included in the media playlist.
 * @property playlistWindowSeconds Time window (in seconds) contained in each parent manifest.
 * @property programDateTimeIntervalSeconds The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag inserted into manifests. Additionally, when an interval is specified ID3Timed Metadata messages will be generated every 5 seconds using the ingest time of the content. If the interval is not specified, or set to 0, then no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no ID3Timed Metadata messages will be generated. Note that irrespective of this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input, it will be passed through to HLS output.
 * @property url The URL of the packaged OriginEndpoint for consumption.
 */
public data class OriginEndpointHlsManifest(
    public val adMarkers: OriginEndpointHlsManifestAdMarkers? = null,
    public val adTriggers: List? = null,
    public val adsOnDeliveryRestrictions: OriginEndpointAdsOnDeliveryRestrictions? = null,
    public val id: String,
    public val includeIframeOnlyStream: Boolean? = null,
    public val manifestName: String? = null,
    public val playlistType: OriginEndpointHlsManifestPlaylistType? = null,
    public val playlistWindowSeconds: Int? = null,
    public val programDateTimeIntervalSeconds: Int? = null,
    public val url: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.mediapackage.outputs.OriginEndpointHlsManifest): OriginEndpointHlsManifest = OriginEndpointHlsManifest(
            adMarkers = javaType.adMarkers().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointHlsManifestAdMarkers.Companion.toKotlin(args0)
                })
            }).orElse(null),
            adTriggers = javaType.adTriggers().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointHlsManifestAdTriggersItem.Companion.toKotlin(args0)
                })
            }),
            adsOnDeliveryRestrictions = javaType.adsOnDeliveryRestrictions().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointAdsOnDeliveryRestrictions.Companion.toKotlin(args0)
                })
            }).orElse(null),
            id = javaType.id(),
            includeIframeOnlyStream = javaType.includeIframeOnlyStream().map({ args0 -> args0 }).orElse(null),
            manifestName = javaType.manifestName().map({ args0 -> args0 }).orElse(null),
            playlistType = javaType.playlistType().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointHlsManifestPlaylistType.Companion.toKotlin(args0)
                })
            }).orElse(null),
            playlistWindowSeconds = javaType.playlistWindowSeconds().map({ args0 -> args0 }).orElse(null),
            programDateTimeIntervalSeconds = javaType.programDateTimeIntervalSeconds().map({ args0 ->
                args0
            }).orElse(null),
            url = javaType.url().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy