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

com.pulumi.awsnative.mediatailor.kotlin.outputs.GetPlaybackConfigurationResult.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.mediatailor.kotlin.outputs

import com.pulumi.awsnative.kotlin.outputs.Tag
import kotlin.Any
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map

/**
 *
 * @property adDecisionServerUrl The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25,000 characters.
 * @property availSuppression The configuration for avail suppression, also known as ad suppression. For more information about ad suppression, see Ad Suppression (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
 * @property bumper The configuration for bumpers. Bumpers are short audio or video clips that play at the start or before the end of an ad break. To learn more about bumpers, see Bumpers (https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html).
 * @property cdnConfiguration The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.
 * @property configurationAliases The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.
 * @property dashConfiguration The configuration for DASH content.
 * @property hlsConfiguration The configuration for HLS content.
 * @property livePreRollConfiguration The configuration for pre-roll ad insertion.
 * @property manifestProcessingRules The configuration for manifest processing rules. Manifest processing rules enable customization of the personalized manifests created by MediaTailor.
 * @property personalizationThresholdSeconds Defines the maximum duration of underfilled ad time (in seconds) allowed in an ad break. If the duration of underfilled ad time exceeds the personalization threshold, then the personalization of the ad break is abandoned and the underlying content is shown. This feature applies to ad replacement in live and VOD streams, rather than ad insertion, because it relies on an underlying content stream. For more information about ad break behavior, including ad replacement and insertion, see Ad Behavior in AWS Elemental MediaTailor (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
 * @property playbackConfigurationArn The Amazon Resource Name (ARN) for the playback configuration.
 * @property playbackEndpointPrefix The URL that the player accesses to get a manifest from MediaTailor. This session will use server-side reporting.
 * @property sessionInitializationEndpointPrefix The URL that the player uses to initialize a session that uses client-side reporting.
 * @property slateAdUrl The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.
 * @property tags The tags to assign to the playback configuration.
 * @property transcodeProfileName The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.
 * @property videoContentSourceUrl The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 characters.
 */
public data class GetPlaybackConfigurationResult(
    public val adDecisionServerUrl: String? = null,
    public val availSuppression: PlaybackConfigurationAvailSuppression? = null,
    public val bumper: PlaybackConfigurationBumper? = null,
    public val cdnConfiguration: PlaybackConfigurationCdnConfiguration? = null,
    public val configurationAliases: Map? = null,
    public val dashConfiguration: PlaybackConfigurationDashConfiguration? = null,
    public val hlsConfiguration: PlaybackConfigurationHlsConfiguration? = null,
    public val livePreRollConfiguration: PlaybackConfigurationLivePreRollConfiguration? = null,
    public val manifestProcessingRules: PlaybackConfigurationManifestProcessingRules? = null,
    public val personalizationThresholdSeconds: Int? = null,
    public val playbackConfigurationArn: String? = null,
    public val playbackEndpointPrefix: String? = null,
    public val sessionInitializationEndpointPrefix: String? = null,
    public val slateAdUrl: String? = null,
    public val tags: List? = null,
    public val transcodeProfileName: String? = null,
    public val videoContentSourceUrl: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.mediatailor.outputs.GetPlaybackConfigurationResult): GetPlaybackConfigurationResult = GetPlaybackConfigurationResult(
            adDecisionServerUrl = javaType.adDecisionServerUrl().map({ args0 -> args0 }).orElse(null),
            availSuppression = javaType.availSuppression().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.mediatailor.kotlin.outputs.PlaybackConfigurationAvailSuppression.Companion.toKotlin(args0)
                })
            }).orElse(null),
            bumper = javaType.bumper().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.mediatailor.kotlin.outputs.PlaybackConfigurationBumper.Companion.toKotlin(args0)
                })
            }).orElse(null),
            cdnConfiguration = javaType.cdnConfiguration().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.mediatailor.kotlin.outputs.PlaybackConfigurationCdnConfiguration.Companion.toKotlin(args0)
                })
            }).orElse(null),
            configurationAliases = javaType.configurationAliases().map({ args0 ->
                args0.key.to(args0.value)
            }).toMap(),
            dashConfiguration = javaType.dashConfiguration().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.mediatailor.kotlin.outputs.PlaybackConfigurationDashConfiguration.Companion.toKotlin(args0)
                })
            }).orElse(null),
            hlsConfiguration = javaType.hlsConfiguration().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.mediatailor.kotlin.outputs.PlaybackConfigurationHlsConfiguration.Companion.toKotlin(args0)
                })
            }).orElse(null),
            livePreRollConfiguration = javaType.livePreRollConfiguration().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.mediatailor.kotlin.outputs.PlaybackConfigurationLivePreRollConfiguration.Companion.toKotlin(args0)
                })
            }).orElse(null),
            manifestProcessingRules = javaType.manifestProcessingRules().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.mediatailor.kotlin.outputs.PlaybackConfigurationManifestProcessingRules.Companion.toKotlin(args0)
                })
            }).orElse(null),
            personalizationThresholdSeconds = javaType.personalizationThresholdSeconds().map({ args0 ->
                args0
            }).orElse(null),
            playbackConfigurationArn = javaType.playbackConfigurationArn().map({ args0 -> args0 }).orElse(null),
            playbackEndpointPrefix = javaType.playbackEndpointPrefix().map({ args0 -> args0 }).orElse(null),
            sessionInitializationEndpointPrefix = javaType.sessionInitializationEndpointPrefix().map({ args0 ->
                args0
            }).orElse(null),
            slateAdUrl = javaType.slateAdUrl().map({ args0 -> args0 }).orElse(null),
            tags = javaType.tags().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.kotlin.outputs.Tag.Companion.toKotlin(args0)
                })
            }),
            transcodeProfileName = javaType.transcodeProfileName().map({ args0 -> args0 }).orElse(null),
            videoContentSourceUrl = javaType.videoContentSourceUrl().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy